@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--navy-900:#0f2349;--navy-800:#1b3a6b;--navy-700:#1e4080;--navy-600:#2952a3;--navy-100:#dce8f8;--navy-50:#eef4fd;--gold-500:#e8a020;--gold-400:#f0b030;--gold-100:#fef3d0;--gold-50:#fffbeb;--slate-950:#0d1117;--slate-900:#161c27;--slate-800:#1e2535;--slate-700:#28344a;--slate-600:#3a4a62;--slate-400:#6b7c99;--slate-300:#9aaabf;--slate-200:#c8d4e4;--slate-100:#e4eaf4;--slate-50:#f5f8fc;--white:#fff;--success:#16a34a;--success-bg:#f0fdf4;--warning:#d97706;--warning-bg:#fffbeb;--danger:#dc2626;--danger-bg:#fef2f2;--info:#2563eb;--info-bg:#eff6ff;--shadow-xs:0 1px 2px #0f23490f;--shadow-sm:0 2px 6px #0f234914, 0 1px 2px #0f23490a;--shadow-md:0 4px 16px #0f23491a, 0 2px 4px #0f23490f;--shadow-lg:0 8px 32px #0f234924, 0 4px 8px #0f234914;--shadow-xl:0 16px 48px #0f23492e, 0 6px 12px #0f23491a;--shadow-inset:inset 0 1px 0 #ffffff0f, inset 0 -1px 0 #00000014;--font:"Inter", "SF Pro Display", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Courier New", monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--sidebar-w:240px;--header-h:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:14px}body{font-family:var(--font);background:var(--slate-50);color:var(--slate-900);line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--slate-200);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--slate-300)}:focus-visible{outline:2px solid var(--navy-700);outline-offset:2px}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--slate-900);z-index:100;border-right:1px solid var(--slate-800);flex-direction:column;min-height:100vh;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{border-bottom:1px solid var(--slate-800);align-items:center;gap:10px;padding:24px 20px 20px;display:flex}.sidebar-logo-mark{background:var(--navy-800);border:1px solid var(--navy-700);border-radius:var(--radius-md);width:36px;height:36px;box-shadow:var(--shadow-md);justify-content:center;align-items:center;display:flex}.sidebar-logo-mark img{object-fit:contain;filter:brightness(0)invert();width:24px;height:24px}.sidebar-logo-text .name{color:var(--white);letter-spacing:.2px;font-size:13px;font-weight:700}.sidebar-logo-text .sub{color:var(--slate-400);text-transform:uppercase;letter-spacing:1px;margin-top:1px;font-size:10px}.sidebar-nav{flex:1;padding:12px 10px;overflow-y:auto}.nav-section-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--slate-600);padding:12px 10px 6px;font-size:10px;font-weight:600}.nav-item{border-radius:var(--radius-md);color:var(--slate-300);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;margin-bottom:2px;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--slate-800);color:var(--white)}.nav-item.active{background:var(--navy-800);color:var(--white);box-shadow:var(--shadow-sm)}.nav-item.active .nav-icon{color:var(--gold-400)}.nav-icon{width:16px;height:16px;color:inherit;flex-shrink:0}.nav-badge{background:var(--gold-500);color:var(--slate-900);border-radius:var(--radius-full);text-align:center;min-width:18px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}.sidebar-footer{border-top:1px solid var(--slate-800);padding:12px 10px 16px}.sidebar-user{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;padding:8px 10px;display:flex}.sidebar-user:hover{background:var(--slate-800)}.user-avatar{border-radius:var(--radius-full);background:var(--navy-800);border:1px solid var(--navy-700);width:32px;height:32px;color:var(--white);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.user-info .user-name{color:var(--white);font-size:12px;font-weight:600}.user-info .user-role{color:var(--slate-400);text-transform:uppercase;letter-spacing:.8px;font-size:10px}.logout-btn{cursor:pointer;color:var(--slate-400);border-radius:var(--radius-sm);background:0 0;border:none;margin-left:auto;padding:4px;font-size:16px;transition:color .15s}.logout-btn:hover{color:var(--danger)}.main-content{margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-height:100vh;display:flex}.page-header{background:var(--white);border-bottom:1px solid var(--slate-100);height:var(--header-h);z-index:50;box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:sticky;top:0}.page-title{color:var(--slate-900);font-size:18px;font-weight:700}.page-subtitle{color:var(--slate-400);margin-top:1px;font-size:12px}.page-body{flex:1;padding:28px 32px}.card{background:var(--white);border:1px solid var(--slate-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{border-bottom:1px solid var(--slate-100);justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.card-title{color:var(--slate-900);letter-spacing:.1px;font-size:13px;font-weight:700}.card-body{padding:20px 22px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--white);border:1px solid var(--slate-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 22px;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--navy-800);border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.stat-card.gold:before{background:var(--gold-500)}.stat-card.success:before{background:var(--success)}.stat-card.danger:before{background:var(--danger)}.stat-label{text-transform:uppercase;letter-spacing:1px;color:var(--slate-400);margin-bottom:8px;font-size:10px;font-weight:600}.stat-value{color:var(--slate-900);letter-spacing:-.5px;font-size:28px;font-weight:800;line-height:1}.stat-sub{color:var(--slate-400);margin-top:6px;font-size:11px}.table-wrap{border-radius:var(--radius-lg);border:1px solid var(--slate-100);box-shadow:var(--shadow-sm);overflow-x:auto}table.data-table{border-collapse:collapse;background:var(--white);width:100%}table.data-table thead tr{background:var(--slate-50);border-bottom:1px solid var(--slate-100)}table.data-table thead th{text-transform:uppercase;letter-spacing:.8px;color:var(--slate-400);text-align:left;white-space:nowrap;padding:11px 16px;font-size:10px;font-weight:700}table.data-table tbody tr{border-bottom:1px solid var(--slate-50);transition:background .1s}table.data-table tbody tr:last-child{border-bottom:none}table.data-table tbody tr:hover{background:var(--navy-50)}table.data-table tbody td{color:var(--slate-700);padding:13px 16px;font-size:13px}table.data-table tbody td.bold{color:var(--slate-900);font-weight:600}table.data-table tbody td.mono{font-family:var(--font-mono);font-size:12px}table.data-table tbody td.muted{color:var(--slate-400);font-size:12px}.badge{border-radius:var(--radius-full);letter-spacing:.3px;white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-navy{background:var(--navy-50);color:var(--navy-800);border:1px solid var(--navy-100)}.badge-gold{background:var(--gold-50);color:#92400e;border:1px solid var(--gold-100)}.badge-green{background:var(--success-bg);color:var(--success);border:1px solid #bbf7d0}.badge-red{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca}.badge-slate{background:var(--slate-100);color:var(--slate-600);border:1px solid var(--slate-200)}.badge-amber{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--navy-800);color:var(--white);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--navy-700);box-shadow:var(--shadow-md)}.btn-gold{background:var(--gold-500);color:var(--slate-900);box-shadow:var(--shadow-sm)}.btn-gold:hover:not(:disabled){background:var(--gold-400)}.btn-outline{background:var(--white);color:var(--slate-700);border:1px solid var(--slate-200);box-shadow:var(--shadow-xs)}.btn-outline:hover:not(:disabled){background:var(--slate-50);border-color:var(--slate-300)}.btn-ghost{color:var(--slate-500);background:0 0;padding:6px 10px}.btn-ghost:hover:not(:disabled){background:var(--slate-100);color:var(--slate-700)}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-sm{padding:5px 11px;font-size:12px}.btn-lg{padding:11px 22px;font-size:14px}.form-group{margin-bottom:18px}.form-label{text-transform:uppercase;letter-spacing:.8px;color:var(--slate-500);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.form-label .required{color:var(--danger);margin-left:2px}.form-input,.form-select,.form-textarea{background:var(--white);border:1px solid var(--slate-200);border-radius:var(--radius-md);width:100%;color:var(--slate-900);font-size:13px;font-family:var(--font);padding:9px 13px;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--navy-700);outline:none;box-shadow:0 0 0 3px #1b3a6b1f}.form-input::placeholder{color:var(--slate-300)}.form-error{background:var(--danger-bg);border-radius:var(--radius-md);color:var(--danger);border:1px solid #fecaca;align-items:center;gap:6px;margin-top:4px;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.text-muted{color:var(--slate-400)}.text-sm{font-size:12px}.font-mono{font-family:var(--font-mono)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty-state{text-align:center;color:var(--slate-400);padding:48px 32px}.empty-state .icon{opacity:.4;margin-bottom:12px;font-size:36px}.empty-state .title{color:var(--slate-500);margin-bottom:4px;font-size:14px;font-weight:600}.empty-state .desc{font-size:12px}.loading-row td{text-align:center;color:var(--slate-400);font-size:13px;padding:32px!important}