:root{--color-primary-50: #E1F5EE;--color-primary-100: #B3E4D0;--color-primary-200: #7ECDB3;--color-primary-300: #4AB394;--color-primary-400: #1F9273;--color-primary-500: #0E6B55;--color-primary-600: #085041;--color-primary-700: #063A2F;--color-primary-800: #042520;--color-primary-900: #021510;--color-primary: #085041;--color-primary-hover: #063A2F;--color-slate-50: #F8FAFB;--color-slate-100: #F1F4F6;--color-slate-200: #E3E9ED;--color-slate-300: #C8D2D9;--color-slate-400: #9EADB8;--color-slate-500: #6B7E8C;--color-slate-600: #4A5D6B;--color-slate-700: #2E3E4A;--color-slate-800: #1C2830;--color-slate-900: #0D151B;--color-success: #085041;--color-success-bg: #E1F5EE;--color-success-mid:#4AB394;--color-warning: #B45309;--color-warning-bg: #FAEEDA;--color-warning-mid:#EF9F27;--color-danger: #B91C1C;--color-danger-bg: #FCEBEB;--color-danger-mid: #E24B4A;--color-info: #1D4ED8;--color-info-bg: #E6F1FB;--color-info-mid: #3B82F6;--bg-primary: #FFFFFF;--bg-secondary: #F8FAFB;--bg-tertiary: #F1F4F6;--text-primary: #0D151B;--text-secondary: #4A5D6B;--text-tertiary: #9EADB8;--border-primary: #E3E9ED;--border-subtle: #F1F4F6;--sidebar-bg: #0A1F18;--sidebar-text: rgba(255,255,255,.65);--sidebar-text-active: #FFFFFF;--sidebar-item-active: rgba(255,255,255,.1);--sidebar-item-hover: rgba(255,255,255,.06);--sidebar-section-text: rgba(255,255,255,.3);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 16px;--radius-full: 9999px;--font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--dur-instant: 0ms;--dur-fast: .12s;--dur-standard: .2s;--dur-gentle: .3s;--dur-slow: .5s;--ease-out: ease-out;--ease-in-out: ease-in-out;--ease-standard: cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--shadow-xl: 0 16px 48px rgba(0,0,0,.16)}@media(prefers-color-scheme:dark){:root{--color-primary: #4AB394;--color-primary-hover: #7ECDB3;--color-danger: #E24B4A;--color-warning: #EF9F27;--bg-primary: #0D151B;--bg-secondary: #1C2830;--bg-tertiary: #2E3E4A;--text-primary: #F1F4F6;--text-secondary: #9EADB8;--text-tertiary: #6B7E8C;--border-primary: #2E3E4A;--border-subtle: #1C2830;--sidebar-bg: #050E0A;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 32px rgba(0,0,0,.5);--shadow-xl: 0 16px 48px rgba(0,0,0,.6)}}[data-theme=dark]{--color-primary: #4AB394;--color-primary-hover: #7ECDB3;--color-danger: #E24B4A;--color-warning: #EF9F27;--bg-primary: #0D151B;--bg-secondary: #1C2830;--bg-tertiary: #2E3E4A;--text-primary: #F1F4F6;--text-secondary: #9EADB8;--text-tertiary: #6B7E8C;--border-primary: #2E3E4A;--border-subtle: #1C2830;--sidebar-bg: #050E0A}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font-family:var(--font-sans);font-size:14px}button{cursor:pointer;border:none;background:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes vt-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.vt-skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:vt-shimmer 1.5s infinite;border-radius:var(--radius-md)}.auth-layout{display:flex;min-height:100vh}.auth-brand-panel{display:none;flex-direction:column;justify-content:space-between;width:42%;min-width:360px;max-width:520px;background:var(--sidebar-bg);padding:48px}.auth-form-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background-color:#f8fafb;background-image:radial-gradient(circle at 20% 20%,rgba(74,179,148,.07) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(8,80,65,.05) 0%,transparent 50%)}.auth-mobile-logo{display:none;align-items:center;gap:10px;margin-bottom:20px}.auth-form-inner{width:100%;max-width:420px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:16px;padding:32px;box-shadow:0 1px 3px #0000000f,0 4px 16px #0850410d}@media(min-width:768px){.auth-brand-panel{display:flex}}@media(max-width:767px){.auth-mobile-logo{display:flex}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;height:36px;border-radius:var(--radius-md);font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast),opacity var(--dur-fast);border:1.5px solid transparent;line-height:1}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn i{font-size:15px}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);text-decoration:none;color:#fff}.btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-primary)}.btn-secondary:hover{background:var(--bg-secondary);text-decoration:none}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{background:var(--bg-secondary);color:var(--text-primary);text-decoration:none}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-bg)}.btn-danger:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger);text-decoration:none}.btn-sm{height:30px;padding:0 12px;font-size:13px}.btn-sm i{font-size:13px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-header__left{display:flex;align-items:center;gap:10px;flex:1;min-width:0;flex-wrap:wrap}.page-title{font-size:22px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0;line-height:1.2;white-space:nowrap}.page-header__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.page-header__menu-btn{display:none;align-items:center;justify-content:center;padding:6px;background:none;border:none;cursor:pointer;color:var(--text-primary);margin-right:4px}@media(max-width:767px){.page-header__menu-btn{display:flex}}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:.04em;white-space:nowrap;line-height:1.4}.badge i{font-size:11px}.badge--success{background:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(74,179,148,.25)}.badge--warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid rgba(239,159,39,.25)}.badge--danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid rgba(226,75,74,.25)}.badge--info{background:var(--color-info-bg);color:var(--color-info);border:1px solid rgba(59,130,246,.25)}.badge--neutral{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}.card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:0 1px 3px #0000000d,0 4px 12px #0850410a}.card--flat{padding:0;overflow:hidden}.card--section{margin-bottom:20px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-title{font-size:18px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;margin:0}.stats-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.stat-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:16px 20px;display:flex;align-items:center;gap:14px;flex:1;min-width:130px;box-shadow:0 1px 3px #0000000d}.stat-card__icon{width:38px;height:38px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card__icon i{font-size:18px}.stat-card__icon--neutral{background:var(--bg-tertiary);color:var(--text-secondary)}.stat-card__icon--success{background:var(--color-success-bg);color:var(--color-success)}.stat-card__icon--warning{background:var(--color-warning-bg);color:var(--color-warning)}.stat-card__icon--danger{background:var(--color-danger-bg);color:var(--color-danger)}.stat-card__icon--info{background:var(--color-info-bg);color:var(--color-info)}.stat-card__body{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-card__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary)}.stat-card__value{font-size:26px;font-weight:600;color:var(--text-primary);line-height:1.1}.stat-card--highlight .stat-card__value{color:var(--color-primary)}.stat-card--clickable{cursor:pointer;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);outline:none}.stat-card--clickable:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.stat-card--clickable:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px #08504126}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:20px}.filter-bar__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.filter-bar__select,.filter-bar__input{height:36px;padding:0 10px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-family:var(--font-sans);outline:none;transition:border-color var(--dur-fast)}.filter-bar__select:focus,.filter-bar__input:focus{border-color:var(--color-primary)}.filter-bar__input--wide{min-width:180px}.filter-bar__reset{height:36px;padding:0 14px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:13px;font-family:var(--font-sans);cursor:pointer;transition:background var(--dur-fast)}.filter-bar__reset:hover{background:var(--bg-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px 24px;text-align:center}.empty-state__icon{font-size:48px;color:var(--text-tertiary);margin-bottom:16px;line-height:1}.empty-state__title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.empty-state__body{font-size:14px;color:var(--text-secondary);margin:0 0 24px;max-width:320px;line-height:1.5}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);white-space:nowrap;position:sticky;top:0;z-index:1}.data-table td{padding:12px 16px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--bg-secondary)}.form-field{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.form-input,.form-select,.form-textarea{width:100%;height:40px;padding:0 12px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0850411a}.form-textarea{height:auto;padding:10px 12px;resize:vertical}.form-hint{font-size:12px;color:var(--text-tertiary);margin-top:4px}.form-error{font-size:12px;color:var(--color-danger);margin-top:4px}
