:root{--color-primary: #ea580c;--color-primary-hover: #c2410c;--color-primary-active: #9a3412;--color-primary-50: #fff7ed;--color-primary-100: #ffedd5;--color-primary-200: #fed7aa;--color-primary-300: #fdba74;--color-primary-500: #f97316;--color-primary-600: #ea580c;--color-primary-700: #c2410c;--color-primary-800: #9a3412;--color-success: #10b981;--color-success-50: #ecfdf5;--color-success-200: #a7f3d0;--color-warning: #f59e0b;--color-warning-50: #fffbeb;--color-warning-200: #fde68a;--color-error: #ef4444;--color-error-50: #fef2f2;--color-error-200: #fecaca;--color-info: #3b82f6;--color-info-50: #eff6ff;--color-info-200: #bfdbfe;--color-background: #f8fafc;--color-surface: #ffffff;--color-text: #1f2937;--color-text-secondary: #6b7280;--color-text-light: #9ca3af;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-sidebar-bg: #ffffff;--color-sidebar-hover: #fff7ed;--color-sidebar-active: rgba(234, 88, 12, .08);--color-sidebar-text: #64748b;--color-sidebar-text-active: #ea580c;--color-sidebar-border: #f1f5f9;--font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 6px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 15px rgba(0,0,0,.08), 0 4px 6px rgba(0,0,0,.04);--transition-fast: .15s ease;--transition-normal: .25s ease;--header-height: 64px;--sidebar-width: 250px;--sidebar-collapsed: 68px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-background);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}input,select,textarea,button{font-family:inherit;font-size:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-sidebar-bg);border-right:1px solid var(--color-sidebar-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:200;transition:width var(--transition-normal)}.sidebar-logo{height:var(--header-height);display:flex;align-items:center;padding:0 var(--space-5);border-bottom:1px solid var(--color-sidebar-border);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary);gap:var(--space-2);white-space:nowrap;overflow:hidden}.sidebar-logo svg{flex-shrink:0;width:28px;height:28px}.sidebar-nav{flex:1;padding:var(--space-3) var(--space-2);overflow-y:auto}.sidebar-section{margin-bottom:var(--space-4)}.sidebar-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) var(--space-3);margin-bottom:var(--space-1)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-sidebar-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;border:none;background:none;width:100%;text-align:left}.nav-item:hover{background:var(--color-sidebar-hover);color:var(--color-primary)}.nav-item.active{background:var(--color-sidebar-active);color:var(--color-sidebar-text-active);font-weight:var(--font-weight-semibold)}.nav-item svg{width:20px;height:20px;flex-shrink:0}.main-area{flex:1;margin-left:var(--sidebar-width);transition:margin-left var(--transition-normal)}.header{height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);position:sticky;top:0;z-index:100}.header-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.content{padding:var(--space-6)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.card-body{padding:var(--space-5)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;align-items:flex-start;gap:var(--space-4)}.stat-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.orange{background:var(--color-primary-50);color:var(--color-primary)}.stat-icon.green{background:var(--color-success-50);color:var(--color-success)}.stat-icon.red{background:var(--color-error-50);color:var(--color-error)}.stat-icon.blue{background:var(--color-info-50);color:var(--color-info)}.stat-icon.yellow{background:var(--color-warning-50);color:var(--color-warning)}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1.2}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:2px}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;white-space:nowrap}.btn-primary{border-color:var(--color-primary-200);background:transparent;color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-50);border-color:var(--color-primary-300)}.btn-success{border-color:var(--color-success-200);background:transparent;color:var(--color-success)}.btn-success:hover{background:var(--color-success-50)}.btn-danger{border-color:var(--color-error-200);background:transparent;color:var(--color-error)}.btn-danger:hover{background:var(--color-error-50)}.btn-info{border-color:var(--color-info-200);background:transparent;color:var(--color-info)}.btn-info:hover{background:var(--color-info-50)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}.btn-filled{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-filled:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-background)}td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm)}tr:hover td{background:var(--color-primary-50)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.badge-success{background:var(--color-success-50);color:var(--color-success);border:1px solid var(--color-success-200)}.badge-warning{background:var(--color-warning-50);color:var(--color-warning);border:1px solid var(--color-warning-200)}.badge-danger{background:var(--color-error-50);color:var(--color-error);border:1px solid var(--color-error-200)}.badge-info{background:var(--color-info-50);color:var(--color-info);border:1px solid var(--color-info-200)}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-1)}.form-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast);outline:none}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #ea580c1a}.form-input::placeholder{color:var(--color-text-light)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;padding-right:32px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:400;animation:fadeIn .15s ease}.modal{background:var(--color-surface);border-radius:var(--radius-xl);width:90%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:scaleIn .2s ease}.modal-header{padding:var(--space-5);border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.modal-body{padding:var(--space-5)}.modal-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end;gap:var(--space-3)}.copy-field{display:flex;gap:var(--space-2);align-items:center}.copy-field input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:Courier New,monospace;font-size:var(--font-size-xs);background:var(--color-background)}.token-display{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);font-family:Courier New,monospace;font-size:var(--font-size-xs);word-break:break-all;max-height:120px;overflow-y:auto;-webkit-user-select:all;user-select:all}.toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.search-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);min-width:260px;outline:none}.search-input:focus{border-color:var(--color-primary)}.filter-chips{display:flex;gap:var(--space-2)}.chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.chip:hover{border-color:var(--color-primary-200);color:var(--color-primary)}.chip.active{background:var(--color-primary-50);border-color:var(--color-primary-200);color:var(--color-primary)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-5)}.pagination button{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-fast)}.pagination button:hover{border-color:var(--color-primary);color:var(--color-primary)}.pagination button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination button:disabled{opacity:.4;cursor:default}.empty-state{text-align:center;padding:var(--space-8);color:var(--color-text-secondary)}.empty-state svg{width:48px;height:48px;margin-bottom:var(--space-3);opacity:.3}.empty-state p{font-size:var(--font-size-sm)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-background)}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);width:100%;max-width:400px;box-shadow:var(--shadow-md)}.login-logo{text-align:center;margin-bottom:var(--space-6);color:var(--color-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.login-error{background:var(--color-error-50);border:1px solid var(--color-error-200);color:var(--color-error);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-4);margin-bottom:var(--space-6)}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:600;display:flex;flex-direction:column;gap:var(--space-2)}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-md);animation:slideLeft .2s ease;min-width:280px}.toast-success{background:var(--color-success);color:#fff}.toast-error{background:var(--color-error);color:#fff}.toast-info{background:var(--color-info);color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideLeft{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.sidebar{display:none}.main-area{margin-left:0}.stats-grid{grid-template-columns:1fr 1fr}.charts-grid,.form-row{grid-template-columns:1fr}}
