.toast-container[data-v-192a282b]{flex-direction:column;pointer-events:none;position:fixed;right:var(--space-5);top:var(--space-5);z-index:2000}.toast-container[data-v-192a282b],.toast-item[data-v-192a282b]{display:flex;gap:var(--space-3)}.toast-item[data-v-192a282b]{align-items:center;background:var(--color-bg-card);border-left:4px solid;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);cursor:pointer;font-size:var(--font-size-md);max-width:420px;min-width:280px;padding:12px 16px;pointer-events:auto}.toast-success[data-v-192a282b]{border-color:var(--color-success)}.toast-error[data-v-192a282b]{border-color:var(--color-error)}.toast-warning[data-v-192a282b]{border-color:var(--color-warning)}.toast-info[data-v-192a282b]{border-color:var(--color-info)}.toast-icon[data-v-192a282b]{flex-shrink:0}.toast-success .toast-icon[data-v-192a282b]{color:var(--color-success)}.toast-error .toast-icon[data-v-192a282b]{color:var(--color-error)}.toast-warning .toast-icon[data-v-192a282b]{color:var(--color-warning)}.toast-info .toast-icon[data-v-192a282b]{color:var(--color-info)}.toast-message[data-v-192a282b]{color:var(--color-text)}.toast-enter-active[data-v-192a282b],.toast-leave-active[data-v-192a282b]{transition:all .3s ease}.toast-enter-from[data-v-192a282b],.toast-leave-to[data-v-192a282b]{opacity:0;transform:translate(100%)}.app-loading{align-items:center;background:#f5f6fa;background:var(--color-bg,#f5f6fa);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh}.app-loading-spinner{animation:app-spin .8s linear infinite;border:3px solid #e8e8e8;border-radius:50%;border-top-color:#f60;height:36px;width:36px}@keyframes app-spin{to{transform:rotate(1turn)}}.app-loading-text{color:#666;font-size:14px}:root{--color-primary:#f60;--color-primary-light:#ff8533;--color-primary-dark:#e65c00;--color-primary-bg:#fff3e0;--color-primary-border:#ffd6a8;--color-white:#fff;--color-bg:#f5f6fa;--color-bg-card:#fff;--color-bg-hover:#fafbfc;--color-bg-muted:#f0f2f5;--color-border:#e8e8e8;--color-border-light:#f0f0f0;--color-border-dark:#d0d0d0;--color-text:#1a1a2e;--color-text-secondary:#666;--color-text-light:#999;--color-text-muted:#bbb;--color-text-inverse:#fff;--color-success:#10b981;--color-success-bg:#ecfdf5;--color-warning:#f59e0b;--color-warning-bg:#fffbeb;--color-error:#ef4444;--color-error-bg:#fef2f2;--color-info:#3b82f6;--color-info-bg:#eff6ff;--font-family:-apple-system,BlinkMacSystemFont,"Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono","Fira Code","Consolas",monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-md:13px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:24px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-sm:1.3;--line-height-base:1.5;--line-height-lg:1.8;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 2px 8px rgba(0,0,0,.08);--shadow-lg:0 4px 16px rgba(0,0,0,.1);--shadow-xl:0 8px 32px rgba(0,0,0,.12);--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--header-height:48px;--sidebar-width:150px;--sidebar-collapsed-width:60px;--sidebar-max-width:350px;--sidebar-resize-handle-width:4px;--bottom-nav-height:56px;--content-padding:var(--space-5);--scrollbar-width:6px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}img{display:block;height:auto;max-width:100%}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0;width:100%}button{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;outline:none}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--font-size-md);outline:none;padding:6px 10px;transition:border-color var(--transition-fast);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-bg)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-light)}input::placeholder,textarea::placeholder{color:var(--color-text-light)}::-webkit-scrollbar{height:var(--scrollbar-width);width:var(--scrollbar-width)}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}.scroll-container{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}::-moz-selection{background:var(--color-primary-bg);color:var(--color-primary-dark)}::selection{background:var(--color-primary-bg);color:var(--color-primary-dark)}@media (hover:none) and (pointer:coarse){.clickable,a,button,input,select,textarea{touch-action:manipulation}.action-btn,.btn,.nav-item,.page-btn,button:not(.expand-toggle-btn){min-height:20px}}@supports (padding-top:env(safe-area-inset-top)){.app-header{padding-top:env(safe-area-inset-top)}}.perm-disabled{opacity:.5;pointer-events:none}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.p-0{padding:0}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-2{padding-bottom:var(--space-2);padding-top:var(--space-2)}.py-3{padding-bottom:var(--space-3);padding-top:var(--space-3)}.m-0{margin:0}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.ml-auto{margin-left:auto}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:var(--font-size-md)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-light{color:var(--color-text-light)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-center{text-align:center}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bg-primary{background:var(--color-primary-bg)}.bg-white{background:var(--color-white)}.bg-success{background:var(--color-success-bg)}.bg-error{background:var(--color-error-bg)}.hidden{display:none}.block{display:block}.w-full{width:100%}.h-full{height:100%}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.cursor-pointer{cursor:pointer}body.modal-open{overflow:hidden}.btn{align-items:center;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);gap:6px;justify-content:center;padding:8px 20px;transition:all var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-secondary{background:var(--color-bg-muted);border-color:var(--color-border);color:var(--color-text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-muted)}.btn-sm{font-size:var(--font-size-sm);padding:5px 12px}.btn-lg{font-size:var(--font-size-base);padding:10px 24px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.form-input{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-md);padding:8px 12px;transition:border-color var(--transition-fast);width:100%}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-bg)}.form-input::-moz-placeholder{color:var(--color-text-light)}.form-input::placeholder{color:var(--color-text-light)}textarea.form-input{min-height:80px;resize:vertical}.data-table td .tag{border-radius:var(--radius-sm);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:2px 8px}.tag-primary{background:var(--color-primary-bg);color:var(--color-primary)}.tag-success{background:var(--color-success-bg);color:var(--color-success)}.tag-warning{background:var(--color-warning-bg);color:var(--color-warning)}.tag-error{background:var(--color-error-bg);color:var(--color-error)}.status-dot{border-radius:50%;display:inline-block;height:6px;margin-right:6px;width:6px}.status-dot.active{background:var(--color-success)}.status-dot.inactive{background:var(--color-text-muted)}.status-dot.pending{background:var(--color-warning)}@media (max-width:768px){.status-bar{padding-bottom:62px;padding-bottom:calc(6px + var(--bottom-nav-height, 56px))}}
