:root{--bg-main:#0b0f17;--bg-app:#0b0f17;--bg-surface:#161f2e;--bg-card:#161f2e;--bg-elevated:#1e293b;--bg-hover:#243247;--border-subtle:#1e293b;--border-default:#243247;--border-focus:#38bdf8;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"Roboto Mono","SFMono-Regular",Consolas,monospace;--brand-primary:#0284c7;--brand-accent:#38bdf8;--brand-glow:rgba(56,189,248,0.15);--success:#10b981;--success-bg:rgba(16,185,129,0.1);--success-border:rgba(16,185,129,0.25);--warning:#f59e0b;--warning-bg:rgba(245,158,11,0.1);--warning-border:rgba(245,158,11,0.25);--danger:#f43f5e;--danger-bg:rgba(244,63,94,0.1);--danger-border:rgba(244,63,94,0.25);--info:#38bdf8;--info-bg:rgba(56,189,248,0.1);--info-border:rgba(56,189,248,0.25);--glass-bg:rgba(22,31,46,0.85);--glass-border:rgba(36,50,71,0.8);--glass-blur:blur(12px);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}.input-field,input:not([type=checkbox]):not([type=radio]),select,textarea{font-family:inherit;background-color:#0f172a;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:8px 12px;font-size:13px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.input-field:focus,input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px rgba(56,189,248,.15)}input::placeholder,textarea::placeholder{color:var(--text-muted)}select option{background-color:#0f172a;color:#f8fafc}.font-mono{font-family:var(--font-mono)}.glass-panel{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.card{background-color:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:24px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin,.spin{animation:spin 1s linear infinite}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background-color:rgba(5,8,15,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:16px;animation:modalOverlayFadeIn .22s cubic-bezier(.16,1,.3,1) forwards}.modal-dialog{width:100%;background-color:#141c2b;border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 25px 60px -15px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.06),0 0 30px rgba(2,132,199,.08);padding:24px;position:relative;animation:modalSlideUp .28s cubic-bezier(.16,1,.3,1) forwards;max-height:calc(100vh - 40px);display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;border-bottom:1px solid var(--border-default);padding-bottom:14px}.modal-body{overflow-y:auto;padding-right:4px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:18px;margin-top:18px;border-top:1px solid var(--border-default)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;border-radius:8px;transition:all .18s cubic-bezier(.16,1,.3,1);cursor:pointer;outline:none;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#0284c7,#0369a1);color:#ffffff;border:none;padding:10px 20px;box-shadow:0 4px 14px rgba(2,132,199,.35)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0369a1,#0284c7);box-shadow:0 6px 18px rgba(2,132,199,.45);transform:translateY(-1px)}.btn-secondary{background:#1e293b;border:1px solid var(--border-default);color:var(--text-secondary);padding:10px 18px}.btn-secondary:hover:not(:disabled){background:#243247;color:var(--text-primary);border-color:rgba(255,255,255,.15)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#ffffff;border:none;padding:10px 20px;box-shadow:0 4px 14px rgba(16,185,129,.35)}.btn-success:hover:not(:disabled){box-shadow:0 6px 18px rgba(16,185,129,.45);transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#ffffff;border:none;padding:10px 20px;box-shadow:0 4px 14px rgba(244,63,94,.35)}.btn-danger:hover:not(:disabled){box-shadow:0 6px 18px rgba(244,63,94,.45);transform:translateY(-1px)}.app-shell-sidebar{width:260px;min-width:260px;height:100vh;position:fixed;top:0;left:0;bottom:0;background-color:#090d16;border-right:1px solid #1a2333;display:flex;flex-direction:column;z-index:90;overflow-y:auto;transition:transform .28s cubic-bezier(.16,1,.3,1)}.app-shell-main{flex:1 1;margin-left:260px;min-width:0;display:flex;flex-direction:column;background-color:var(--bg-app);min-height:100vh;transition:margin-left .28s ease}.app-shell-header{height:64px;background-color:rgba(11,15,23,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #1a2333;position:-webkit-sticky;position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:16px}.app-shell-content{flex:1 1;padding:32px 24px;max-width:1400px;width:100%;margin:0 auto}.app-shell-backdrop,.mobile-nav-close,.mobile-nav-toggle{display:none}.responsive-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;flex-wrap:wrap;gap:16px}.responsive-page-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.login-card{width:100%;max-width:440px;padding:36px;border-radius:16px;position:relative;z-index:1;box-shadow:var(--shadow-card)}@media (max-width:480px){.login-card{padding:24px 18px!important}}@media (max-width:1023px){.app-shell-sidebar{transform:translateX(-100%);box-shadow:0 0 40px rgba(0,0,0,.8);z-index:100}.app-shell-sidebar.mobile-open{transform:translateX(0)}.app-shell-backdrop.active{display:block;position:fixed;inset:0;background:rgba(4,7,14,.75);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:95;animation:modalOverlayFadeIn .2s ease forwards}.app-shell-main{margin-left:0!important}.app-shell-header{padding:0 16px;height:60px}.mobile-nav-toggle{width:38px;height:38px;background:rgba(255,255,255,.05);color:var(--text-primary);flex-shrink:0}.mobile-nav-close,.mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border-default);cursor:pointer}.mobile-nav-close{width:32px;height:32px;background:rgba(255,255,255,.06);color:var(--text-muted)}.app-shell-content{padding:20px 14px}}@media (max-width:640px){.app-shell-content{padding:16px 10px}.responsive-page-header{flex-direction:column;align-items:stretch;gap:14px}.responsive-page-header-actions{width:100%;flex-direction:column;align-items:stretch}.responsive-page-header-actions>*{width:100%!important;justify-content:center}.app-shell-header-subtitle,.header-badge-text{display:none}.modal-overlay{padding:12px}.modal-dialog{padding:18px 14px;border-radius:12px}.modal-footer{flex-direction:column-reverse;align-items:stretch;gap:8px}.modal-footer>*{width:100%!important}}.accordion-toggle-btn{background:transparent!important;background-color:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important}.accordion-toggle-btn:active,.accordion-toggle-btn:focus,.accordion-toggle-btn:focus-visible,.accordion-toggle-btn:hover{background:transparent!important;background-color:transparent!important;border:none!important;outline:none!important;box-shadow:none!important}