@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Inter:wght@400;500;600&display=swap";.sidebar{flex-direction:column;width:280px;height:calc(100vh - 32px);margin:16px;display:flex}.sidebar-header{align-items:center;gap:16px;padding:32px 24px;display:flex}.logo-icon{justify-content:center;align-items:center;width:48px;height:48px;display:flex}.sidebar-header h2{letter-spacing:.5px;color:var(--brand-blue);font-size:1.25rem}.sidebar-nav{flex-direction:column;flex:1;gap:8px;padding:0 16px;display:flex}.nav-link{color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:.95rem;font-weight:600;display:flex}.nav-link:hover{color:var(--brand-blue);background:var(--bg-base)}.nav-link.active{color:var(--brand-blue);border-left:4px solid var(--brand-yellow);background:#ffd10026;border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-link.active svg{color:var(--brand-yellow-hover)}.sidebar-footer{border-top:1px solid var(--border-light);padding:24px 16px}.logout-btn:hover{color:var(--danger);background:#ef44441a}.main-content{flex-direction:column;flex:1;height:100vh;padding:16px 16px 16px 0;display:flex;overflow:hidden}.top-header{justify-content:space-between;align-items:center;height:72px;margin-bottom:16px;padding:0 24px;display:flex}.user-profile{color:var(--brand-blue);align-items:center;gap:12px;font-weight:600;display:flex}.avatar{background:var(--brand-blue);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-weight:600;display:flex}.content-area{flex:1;padding-right:8px;overflow-y:auto}.content-area::-webkit-scrollbar{width:6px}.content-area::-webkit-scrollbar-track{background:0 0}.content-area::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:10px}.content-area::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.login-container{background:radial-gradient(circle at center, var(--bg-surface) 0%, #e2e8f0 100%);justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";pointer-events:none;background:radial-gradient(circle,#1c408f14 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;right:-200px}.login-card{z-index:1;width:100%;max-width:420px;padding:48px 40px;position:relative}.login-header{text-align:center;margin-bottom:32px}.logo-icon-large{justify-content:center;align-items:center;width:90px;height:90px;margin:0 auto 20px;display:flex}.login-header h1{color:var(--brand-blue);margin-bottom:8px;font-size:2rem}.login-header p{color:var(--text-secondary);font-size:.95rem}.login-form{flex-direction:column;gap:20px;display:flex}.w-full{width:100%;padding:14px;font-size:1rem}.mt-4{margin-top:16px}.dashboard-page{padding:8px}.page-header{margin-bottom:24px}.page-header h1{margin-bottom:4px;font-size:2rem}.page-header p{color:var(--text-secondary)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px;display:grid}.stat-card{transition:transform var(--transition-fast);align-items:flex-start;gap:16px;padding:24px;display:flex;position:relative}.stat-card:hover{transform:translateY(-2px)}.stat-icon{width:48px;height:48px;color:var(--accent-blue);background:#3b82f61a;border-radius:12px;justify-content:center;align-items:center;display:flex}.stat-info h3{margin-bottom:4px;font-size:1.5rem}.stat-info p{color:var(--text-secondary);font-size:.85rem}.stat-trend{position:absolute;top:24px;right:24px}.grid-2{grid-template-columns:2fr 1fr;gap:20px;display:grid}.p-6{padding:24px}.mb-4{margin-bottom:16px}.text-lg{font-size:1.125rem}.placeholder-box{border:1px dashed var(--border-light);height:250px;color:var(--text-muted);background:#ffffff03;border-radius:8px;justify-content:center;align-items:center;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:12px;flex-direction:column;width:100%;max-width:500px;max-height:90vh;display:flex;box-shadow:0 20px 40px #0000001a}.modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{color:var(--text-main);margin:0;font-family:Outfit,sans-serif;font-size:1.25rem}.modal-body{padding:24px;overflow-y:auto}.form-group{margin-bottom:16px}.form-group label{color:var(--text-main);margin-bottom:6px;font-size:.9rem;font-weight:500;display:block}.modal-footer{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}:root{--bg-base:#f8fafc;--bg-surface:#ffffffbf;--bg-surface-hover:#ffffffe6;--border-light:#fff9;--border-glow:#1d3a8a33;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--brand-blue:#1c408f;--brand-blue-hover:#153170;--brand-yellow:#ffd100;--brand-yellow-hover:#e6bc00;--danger:#ef4444;--success:#10b981;--font-display:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 25px -5px #1c408f14, 0 8px 10px -6px #1c408f0a;--shadow-glow:0 4px 20px #ffd1004d;--ease-spring:cubic-bezier(.25, 1.5, .5, 1);--transition-fast:.15s ease;--transition-normal:.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0 0,#1c408f14 0,#0000 50%),radial-gradient(at 100% 0,#ffd1001a 0,#0000 50%),radial-gradient(at 100% 100%,#1c408f0d 0,#0000 50%);background-attachment:fixed;min-height:100vh;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--brand-blue);font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none}.app-container{height:100vh;display:flex;overflow:hidden}.glass-panel{background:var(--bg-surface);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-light);transition:all var(--transition-fast);border-radius:16px;box-shadow:0 8px 32px #1f26870d}.glass-panel:hover{box-shadow:var(--shadow-lg)}.btn{font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--brand-blue);color:#fff;box-shadow:0 4px 12px #1c408f33}.btn-primary:hover{background:var(--brand-blue-hover);transform:translateY(-1px);box-shadow:0 6px 16px #1c408f4d}.btn-secondary{color:var(--brand-blue);border:1px solid var(--border-light);background:#f1f5f9}.btn-secondary:hover{background:#e2e8f0;border-color:#cbd5e1}.input-field{border:1px solid var(--border-light);width:100%;color:var(--text-primary);font-family:var(--font-body);transition:all var(--transition-fast);background:#ffffffe6;border-radius:10px;padding:12px 16px;font-size:.95rem;box-shadow:0 2px 5px #00000005}.input-field:focus{border-color:var(--brand-blue);outline:none;box-shadow:0 0 0 3px #1c408f1a}.badge{letter-spacing:.5px;text-transform:uppercase;border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-yellow{color:#b29200;background:#ffd10033}.badge-blue{color:var(--brand-blue);background:#1c408f1a}.table-wrapper{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border-light);padding:16px;font-size:.8rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-light);color:var(--text-secondary);padding:16px;font-size:.95rem}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--bg-surface-hover)}.data-table td.strong{color:var(--text-primary);font-weight:600}@keyframes fadeUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fadeUp .5s var(--ease-spring) forwards}.brand-logo{object-fit:contain;width:100%;height:100%}
