:root{--primary:#00236f;--primary-light:#003494;--primary-dark:#001650;--secondary:#006a61;--secondary-light:#008578;--accent:#06b6d4;--accent-light:#22d3ee;--danger:#ef4444;--warning:#f59e0b;--success:#10b981;--bg:#f0f4ff;--bg-card:#fff;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--border-light:#f1f5f9;--shadow-sm:0 1px 3px #00236f14;--shadow-md:0 4px 12px #00236f1f;--shadow-lg:0 8px 32px #00236f29;--shadow-xl:0 20px 60px #00236f33;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--ease-out:cubic-bezier(.25, .46, .45, .94);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--sidebar-width:260px;--header-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes loginFloat{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-20px)rotate(1deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}#root{height:100vh;overflow:hidden}.app-layout{height:100vh;display:flex;overflow:hidden}.main-content{min-width:0;margin-left:var(--sidebar-width);transition:margin-left .3s var(--ease-drawer);flex-direction:column;flex:1;display:flex;overflow:hidden}.main-content.sidebar-collapsed{margin-left:72px}.page-area{flex:1;padding:28px;overflow-y:auto}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);padding:24px}.table-wrapper{border-radius:var(--radius-md);border:1px solid var(--border);overflow-x:auto}table{border-collapse:collapse;width:100%}th{background:var(--bg);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border-light);color:var(--text-primary);padding:14px 16px;font-size:14px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg)}.badge{border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-green{color:#166534;background:#dcfce7}.badge-blue{color:#1e40af;background:#dbeafe}.badge-yellow{color:#854d0e;background:#fef9c3}.badge-red{color:#991b1b;background:#fee2e2}.badge-gray{color:var(--text-secondary);background:#f1f5f9}.badge-cyan{color:#164e63;background:#cffafe}.badge-purple{color:#5b21b6;background:#ede9fe}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all .2s var(--ease-out);white-space:nowrap;border:none;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-light);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--secondary);color:#fff}.btn-secondary:hover:not(:disabled){background:var(--secondary-light);box-shadow:var(--shadow-md)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg);color:var(--text-primary)}.btn-outline{color:var(--primary);border:1.5px solid var(--primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--primary);color:#fff}.btn-sm{padding:6px 12px;font-size:13px}.btn-icon{border-radius:var(--radius-sm);padding:8px}.input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);background:var(--bg-card);outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00236f1a}.input::placeholder{color:var(--text-muted)}.input-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.input-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.skeleton{background:linear-gradient(90deg, var(--border-light) 25%, var(--border) 50%, var(--border-light) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:fadeIn .2s var(--ease-out);background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:90vh;animation:scaleIn .25s var(--ease-out);overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;padding:24px 28px 0;display:flex}.modal-body{padding:20px 28px 28px}.modal-footer{border-top:1px solid var(--border-light);justify-content:flex-end;gap:12px;margin-top:20px;padding-top:20px;display:flex}.search-bar{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 16px;transition:border-color .2s;display:flex}.search-bar:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #00236f1a}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:14px}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.empty-state-icon{background:var(--bg);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.spinner{border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}.spinner-sm{border-width:2px;width:16px;height:16px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-title{color:var(--text-primary);font-size:22px;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:2px;font-size:14px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.sidebar{width:var(--sidebar-width);background:var(--primary);z-index:100;height:100vh;transition:width .3s var(--ease-drawer), transform .3s var(--ease-drawer);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar.collapsed{width:72px}.sidebar-logo{border-bottom:1px solid #ffffff1a;flex-shrink:0;align-items:center;gap:12px;padding:20px 16px;display:flex}.sidebar-nav{flex:1;padding:12px 8px;overflow-y:auto}.sidebar-nav-item{border-radius:var(--radius-sm);color:#ffffffb3;cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:11px 12px;font-size:14px;font-weight:500;transition:all .2s;display:flex;overflow:hidden}.sidebar-nav-item:hover{color:#fff;background:#ffffff14}.sidebar-nav-item.active{color:#fff;background:#ffffff26}.sidebar-nav-item .nav-label{flex:1}.sidebar-footer{border-top:1px solid #ffffff1a;flex-shrink:0;padding:12px 8px}.sidebar-overlay{z-index:99;background:#00000080;display:none;position:fixed;inset:0}.sidebar-overlay.visible{display:block}.app-header{height:var(--header-height);background:var(--bg-card);border-bottom:1px solid var(--border);z-index:50;flex-shrink:0;align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}.alert-error{color:#991b1b;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:8px;padding:12px 16px;font-size:14px;display:flex}.stagger-1{animation:staggerFadeIn .4s var(--ease-out) 50ms both}.stagger-2{animation:staggerFadeIn .4s var(--ease-out) .1s both}.stagger-3{animation:staggerFadeIn .4s var(--ease-out) .15s both}.stagger-4{animation:staggerFadeIn .4s var(--ease-out) .2s both}.stagger-5{animation:staggerFadeIn .4s var(--ease-out) .25s both}@media (width<=1024px){:root{--sidebar-width:240px}}@media (width<=768px){.sidebar{z-index:200;transform:translate(-100%);width:var(--sidebar-width)!important}.sidebar.mobile-open{transform:translate(0)}.main-content{margin-left:0!important}.page-area{padding:16px}.stats-grid{grid-template-columns:repeat(2,1fr)}.page-header{flex-direction:column;align-items:flex-start}.modal-box{border-radius:var(--radius-lg)}table{font-size:13px}th,td{padding:10px 12px}.form-grid{grid-template-columns:1fr}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}}
