:root{--primary:#1b4fd8;--primary-dark:#1640b0;--primary-light:#e8effe;--sidebar-w:248px;--sidebar-collapsed-w:68px;--sidebar-bg:#0f172a;--sidebar-hover:#ffffff12;--sidebar-active:#1b4fd859;--sidebar-border:#ffffff12;--text-dark:#1a202c;--text-mid:#4a5568;--text-light:#718096;--bg-white:#fff;--bg-page:#f4f6fb;--border:#e2e8f0;--radius:12px;--topbar-h:68px;--transition:.22s ease}html,.dashboard-shell{-webkit-font-smoothing:antialiased;height:100%;font-family:DM Sans,sans-serif;overflow-x:hidden}.dashboard-shell{background:var(--bg-page);color:var(--text-dark)}.dashboard-shell a{color:inherit;text-decoration:none}.dashboard-shell .app-shell{min-height:100vh;display:flex}.dashboard-shell .sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);z-index:50;transition:width var(--transition);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto}.dashboard-shell .sidebar::-webkit-scrollbar{width:0}.dashboard-shell .sidebar.collapsed{width:var(--sidebar-collapsed-w)}.dashboard-shell .sidebar.collapsed .nav-label,.dashboard-shell .sidebar.collapsed .sidebar-role,.dashboard-shell .sidebar.collapsed .nav-section-label,.dashboard-shell .sidebar.collapsed .sidebar-user-info{opacity:0;white-space:nowrap;pointer-events:none;width:0;overflow:hidden}.dashboard-shell .sidebar.collapsed .nav-item{justify-content:center;padding:11px 0}.dashboard-shell .sidebar.collapsed .btn-logout{justify-content:center;padding:10px 0}.dashboard-shell .sidebar.collapsed .sidebar-user{justify-content:center}.dashboard-shell .sidebar.collapsed .sidebar-footer{align-items:center}.dashboard-shell .sidebar-logo{border-bottom:1px solid var(--sidebar-border);transition:padding var(--transition);flex-shrink:0;align-items:center;gap:10px;padding:18px 14px 16px;display:flex}.dashboard-shell .sidebar.collapsed .sidebar-logo{justify-content:center;padding:18px 0 16px}.dashboard-shell .sidebar-logo-icon{flex-shrink:0;justify-content:center;align-items:center;width:44px;height:36px;display:flex}.dashboard-shell .sidebar-logo-icon img{object-fit:contain;width:100%;height:100%}.dashboard-shell .sidebar-logo-text{min-width:0;transition:opacity var(--transition), max-width var(--transition);flex:1;overflow:hidden}.dashboard-shell .logo-title{color:#fff;white-space:nowrap;font-size:.88rem;font-weight:600;line-height:1.2;display:block}.dashboard-shell .logo-sub{color:#fff6;white-space:nowrap;font-size:.7rem;display:block}.dashboard-shell .sidebar.collapsed .sidebar-logo-text{display:none}.dashboard-shell .sidebar-toggle-btn{top:22px;left:calc(var(--sidebar-w) - 13px);z-index:60;cursor:pointer;color:#fff9;width:26px;height:26px;transition:left var(--transition), background .15s, color .15s, border-color .15s;background:#1e293b;border:1.5px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;box-shadow:0 2px 8px #00000059}.dashboard-shell .sidebar-toggle-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.dashboard-shell .sidebar-toggle-btn.collapsed{left:calc(var(--sidebar-collapsed-w) - 13px)}.dashboard-shell .sidebar-role{transition:opacity var(--transition);flex-shrink:0;padding:8px 14px 4px}.dashboard-shell .role-badge{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:100px;align-items:center;padding:3px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.dashboard-shell .role-superadmin{color:#c4b5fd;background:#8b5cf633}.dashboard-shell .role-audit{color:#93c5fd;background:#1b4fd840}.dashboard-shell .role-employee{color:#6ee7b7;background:#10b98133}.dashboard-shell .sidebar-nav{flex-direction:column;flex:1;gap:1px;padding:4px 10px 8px;display:flex}.dashboard-shell .nav-section-label{letter-spacing:.09em;text-transform:uppercase;color:#ffffff38;white-space:nowrap;transition:opacity var(--transition);padding:10px 8px 3px;font-size:.65rem;font-weight:700;overflow:hidden}.dashboard-shell .nav-item{color:#ffffff8c;white-space:nowrap;transition:background .15s, color .15s, padding var(--transition), justify-content var(--transition);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:.87rem;font-weight:400;display:flex;position:relative}.dashboard-shell button.nav-item{appearance:none;width:100%;font-family:inherit;font-size:.87rem;line-height:inherit;text-align:left;background:0 0;border:0;margin:0}.dashboard-shell .nav-item:hover{background:var(--sidebar-hover);color:#fffffff2}.dashboard-shell button.nav-item:disabled{opacity:.65;cursor:progress}.dashboard-shell .nav-item.active{background:var(--sidebar-active);color:#fff;font-weight:500}.dashboard-shell .nav-icon{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.dashboard-shell .nav-item.active .nav-icon{color:#93c5fd}.dashboard-shell .nav-label{transition:opacity var(--transition), width var(--transition), max-width var(--transition);white-space:nowrap;overflow:hidden}.dashboard-shell .sidebar-footer{border-top:1px solid var(--sidebar-border);transition:padding var(--transition);flex-direction:column;flex-shrink:0;gap:8px;padding:12px;display:flex}.dashboard-shell .sidebar-user{transition:justify-content var(--transition);align-items:center;gap:9px;padding:4px 2px;display:flex}.dashboard-shell .sidebar-avatar{background:var(--primary);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.78rem;font-weight:700;display:flex;overflow:hidden}.dashboard-shell .sidebar-avatar img,.dashboard-shell .account-avatar img{object-fit:cover;width:100%;height:100%;display:block}.dashboard-shell .sidebar-user-info{min-width:0;transition:opacity var(--transition), width var(--transition);flex:1}.dashboard-shell .sidebar-user-name{color:#ffffffd9;white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.8rem;font-weight:500;display:block;overflow:hidden}.dashboard-shell .sidebar-user-email{color:#ffffff4d;white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.69rem;display:block;overflow:hidden}.dashboard-shell .btn-logout{color:#fff6;cursor:pointer;width:100%;transition:background .15s, color .15s, padding var(--transition), justify-content var(--transition);white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:8px 10px;font-family:DM Sans,sans-serif;font-size:.84rem;display:flex}.dashboard-shell .btn-logout:hover{color:#fca5a5;background:#ef444426}.dashboard-shell .nav-tooltip{color:#f1f5f9;white-space:nowrap;pointer-events:none;z-index:9999;opacity:0;background:#1e293b;border-radius:7px;padding:6px 12px;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500;transition:opacity .14s,transform .14s;position:fixed;transform:translate(-4px)translateY(-50%);box-shadow:0 4px 12px #0000004d}.dashboard-shell .nav-tooltip:before{content:"";border:5px solid #0000;border-right-color:#1e293b;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.dashboard-shell .nav-tooltip.visible{opacity:1;transform:translate(0)translateY(-50%)}.dashboard-shell .main-area{margin-left:var(--sidebar-w);min-height:100vh;transition:margin-left var(--transition);flex-direction:column;flex:1;max-width:100%;display:flex;overflow-x:hidden}.dashboard-shell .main-area.expanded{margin-left:var(--sidebar-collapsed-w)}.dashboard-shell .topbar{height:var(--topbar-h);background:var(--bg-white);border-bottom:1px solid var(--border);z-index:40;align-items:center;gap:16px;padding:0 32px;display:flex;position:sticky;top:0}.dashboard-shell .topbar-left{flex:1;min-width:0;overflow:hidden}.dashboard-shell .topbar-title{color:var(--text-dark);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-family:DM Serif Display,serif;font-size:1.3rem;line-height:1.2;overflow:hidden}.dashboard-shell .topbar-sub{color:var(--text-light);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:.82rem;overflow:hidden}.dashboard-shell .topbar-right{align-items:center;gap:12px;display:flex}.dashboard-shell .topbar-date{color:var(--text-light);background:var(--bg-page);border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;display:flex}.dashboard-shell .mobile-menu-btn{cursor:pointer;color:var(--text-mid);background:0 0;border:none;border-radius:8px;padding:6px;display:none}.dashboard-shell .page-content{box-sizing:border-box;flex-direction:column;flex:1;gap:clamp(16px,1.8vw,24px);min-width:0;max-width:100%;padding:clamp(14px,2.2vw,28px) clamp(14px,2.5vw,32px);display:flex;overflow-x:hidden}.dashboard-shell .stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:clamp(12px,1.4vw,18px);display:grid}.dashboard-shell .stats-grid--section{margin-bottom:clamp(16px,2vw,24px)}.dashboard-shell .stat-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:stretch;gap:clamp(10px,1vw,14px);min-width:0;padding:clamp(14px,1.6vw,22px) clamp(16px,1.8vw,24px);transition:box-shadow .18s,transform .15s;display:flex}@media (hover:hover) and (pointer:fine){.dashboard-shell .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000012}}.dashboard-shell .stat-info{flex:1;min-width:0}.dashboard-shell .stat-icon{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:clamp(38px,3.4vw,46px);height:clamp(38px,3.4vw,46px);display:flex}.dashboard-shell .stat-icon--blue{background:var(--tint-blue-bg);color:var(--primary)}.dashboard-shell .stat-icon--green{background:var(--tint-green-bg);color:var(--tint-green-fg)}.dashboard-shell .stat-icon--amber{background:var(--tint-amber-bg);color:var(--tint-amber-fg)}.dashboard-shell .stat-icon--image{background:0 0;border-radius:0}.dashboard-shell .stat-icon--image img{object-fit:contain;width:100%;height:100%;display:block}.dashboard-shell .stat-icon--red{color:var(--tint-red-fg);background:#fde8e8}.dashboard-shell .stat-icon--purple{background:var(--tint-purple-bg);color:var(--tint-purple-fg)}.dashboard-shell .stat-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;overflow-wrap:anywhere;margin-bottom:4px;font-size:clamp(.68rem,.62rem + .2vw,.75rem);font-weight:400;line-height:1.3;display:block}.dashboard-shell .stat-value{color:var(--text-dark);overflow-wrap:anywhere;font-family:DM Serif Display,serif;font-size:clamp(1.45rem,1.1rem + 1.1vw,1.9rem);line-height:1;display:block}.dashboard-shell .dash-hero{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg,#1b4fd8 0%,#12328f 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:clamp(16px,2.4vw,32px);padding:clamp(18px,2.2vw,28px) clamp(18px,2.4vw,32px);display:flex}:root[data-theme=dark] .dashboard-shell .dash-hero{background:linear-gradient(135deg,#1e3a6b 0%,#131d33 100%)}.dashboard-shell .dash-hero-identity{align-items:center;gap:clamp(12px,1.4vw,18px);min-width:0;display:flex}.dashboard-shell .hero-avatar{color:#fff;background:#ffffff29;border:1px solid #ffffff47;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:clamp(48px,4.4vw,60px);height:clamp(48px,4.4vw,60px);font-size:1.15rem;font-weight:700;display:flex;overflow:hidden}.dashboard-shell .hero-avatar img{object-fit:cover;width:100%;height:100%;display:block}.dashboard-shell .hero-who{min-width:0}.dashboard-shell .hero-greeting{letter-spacing:.04em;text-transform:uppercase;color:#ffffffd1;font-size:.8rem;display:block}.dashboard-shell .hero-name{letter-spacing:-.01em;color:#fff;overflow-wrap:anywhere;margin:2px 0 8px;font-family:DM Serif Display,serif;font-size:clamp(1.3rem,1rem + 1.1vw,1.75rem);font-weight:400;line-height:1.15}.dashboard-shell .hero-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.dashboard-shell .hero-badge{letter-spacing:.06em;text-transform:uppercase;color:#12328f;background:#ffffffeb;border-radius:100px;align-items:center;padding:4px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.dashboard-shell .hero-chip{color:#fffffff0;background:#ffffff24;border:1px solid #ffffff38;border-radius:100px;align-items:center;padding:4px 10px;font-size:.74rem;display:inline-flex}.dashboard-shell .hero-figures{flex-wrap:wrap;align-items:stretch;gap:clamp(14px,2vw,28px);display:flex}.dashboard-shell .hero-figure{border-left:1px solid #ffffff3d;min-width:96px;padding-left:clamp(14px,2vw,28px)}.dashboard-shell .hero-figure:first-child{border-left:none;padding-left:0}.dashboard-shell .hero-figure-value{color:#fff;font-variant-numeric:tabular-nums;font-family:DM Serif Display,serif;font-size:clamp(1.6rem,1.1rem + 1.8vw,2.4rem);line-height:1.05;display:block}.dashboard-shell .hero-figure-label{letter-spacing:.04em;text-transform:uppercase;color:#ffffffd1;margin-top:4px;font-size:.74rem;display:block}.dashboard-shell .kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:clamp(12px,1.4vw,18px);display:grid}.dashboard-shell .stat-card-top{align-items:center;gap:clamp(12px,1.2vw,16px);min-width:0;display:flex}.dashboard-shell .stat-meter{background:var(--surface-3);border-radius:100px;height:6px;overflow:hidden}.dashboard-shell .stat-meter-fill{border-radius:100px;height:100%;transition:width .35s;display:block}.dashboard-shell .stat-meter-fill--blue{background:var(--primary)}.dashboard-shell .stat-meter-fill--green{background:var(--tint-green-fg)}.dashboard-shell .stat-meter-fill--amber{background:var(--tint-amber-fg)}.dashboard-shell .stat-meter-fill--red{background:var(--tint-red-fg)}.dashboard-shell .stat-meter-fill--purple{background:var(--tint-purple-fg)}.dashboard-shell .stat-caption{color:var(--text-light);font-size:.75rem}.dashboard-shell .stat-caption strong{color:var(--text-mid);font-variant-numeric:tabular-nums;font-weight:600}.dashboard-shell .dash-trio{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));align-items:stretch;gap:clamp(14px,1.6vw,20px);display:grid}.dashboard-shell .dash-trio>.dash-card{container-type:inline-size}.dashboard-shell .dash-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.dashboard-shell .dash-card-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:clamp(14px,1.4vw,18px) clamp(16px,1.8vw,24px);display:flex}.dashboard-shell .dash-card-title{color:var(--text-dark);font-size:clamp(.85rem,.8rem + .2vw,.95rem);font-weight:600}.dashboard-shell .dash-card-note{color:var(--text-light);font-variant-numeric:tabular-nums;font-size:.76rem}.dashboard-shell .div-rank{flex-direction:column;gap:2px;list-style:none;display:flex}.dashboard-shell .div-row{border-radius:8px;grid-template-columns:18px 26px minmax(90px,1.2fr) minmax(50px,2fr) auto 40px;align-items:center;gap:clamp(8px,1vw,14px);padding:8px 6px;transition:background .15s;display:grid}@media (hover:hover) and (pointer:fine){.dashboard-shell .div-row:hover{background:var(--surface-2)}}.dashboard-shell .div-rank-no{color:var(--text-faint);text-align:right;font-variant-numeric:tabular-nums;font-family:DM Serif Display,serif;font-size:.95rem}.dashboard-shell .div-seal{justify-content:center;align-items:center;width:26px;height:26px;display:flex}.dashboard-shell .div-seal img{object-fit:contain;width:100%;height:100%;display:block}.dashboard-shell .div-name{color:var(--text-mid);white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;overflow:hidden}.dashboard-shell .div-track{background:var(--surface-3);border-radius:2px;height:10px;display:block}.dashboard-shell .div-fill{background:var(--primary);border-radius:2px 4px 4px 2px;height:100%;transition:width .3s;display:block}.dashboard-shell .div-count{color:var(--text-dark);text-align:right;font-variant-numeric:tabular-nums;font-size:.84rem;font-weight:600}.dashboard-shell .div-share{color:var(--text-light);text-align:right;font-variant-numeric:tabular-nums;font-size:.76rem}@container (width<=400px){.dashboard-shell .div-row{grid-template-columns:minmax(72px,1.3fr) minmax(36px,1.5fr) auto 36px;gap:8px}.dashboard-shell .div-rank-no,.dashboard-shell .div-seal{display:none}.dashboard-shell .viz-donut-plot{flex:0 0 136px;width:136px}.dashboard-shell .viz-donut{gap:16px}}.dashboard-shell .forms-pills{border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;display:flex}.dashboard-shell .forms-pill{font-variant-numeric:tabular-nums;border-radius:100px;align-items:center;gap:6px;padding:5px 11px;font-size:.78rem;font-weight:600;display:inline-flex}.dashboard-shell .forms-pill--active{background:var(--tint-green-bg);color:var(--tint-green-fg)}.dashboard-shell .forms-pill--archived{background:var(--tint-amber-bg);color:var(--tint-amber-fg)}@media (width<=640px){.dashboard-shell .dash-hero{flex-direction:column;align-items:flex-start}.dashboard-shell .hero-figures{gap:12px;width:100%}.dashboard-shell .hero-figure{flex:1;min-width:0;padding-left:12px}.dashboard-shell .hero-figure-label{letter-spacing:.02em;font-size:.66rem}}@media (prefers-reduced-motion:reduce){.dashboard-shell .stat-meter-fill,.dashboard-shell .div-fill{transition:none}}.dashboard-shell .status-badge{border-radius:100px;align-items:center;gap:5px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.dashboard-shell .status-badge:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.dashboard-shell .status-active{background:var(--tint-green-bg);color:var(--tint-green-fg)}.dashboard-shell .status-inactive{background:var(--tint-red-bg);color:var(--tint-red-fg)}.dashboard-shell .sidebar-overlay{z-index:49;background:#00000080;display:none;position:fixed;inset:0}@media (width<=768px){.dashboard-shell .sidebar-toggle-btn,.dashboard-shell .nav-chevron{display:none}.dashboard-shell .sidebar{transform:translate(-100%);width:var(--sidebar-w)!important}.dashboard-shell .sidebar.mobile-open{transform:translate(0)}.dashboard-shell .sidebar-overlay.visible{display:block}.dashboard-shell .main-area{margin-left:0!important}.dashboard-shell .topbar{padding:0 16px}.dashboard-shell .mobile-menu-btn{display:flex}.dashboard-shell .page-content{padding:16px}.dashboard-shell .sidebar.mobile-open .nav-label,.dashboard-shell .sidebar.mobile-open .sidebar-role,.dashboard-shell .sidebar.mobile-open .nav-section-label,.dashboard-shell .sidebar.mobile-open .sidebar-user-info,.dashboard-shell .sidebar.mobile-open .sidebar-logo-text{opacity:1!important;white-space:nowrap!important;pointer-events:auto!important;width:auto!important;max-width:100%!important;overflow:visible!important}.dashboard-shell .sidebar.mobile-open.collapsed .nav-item{justify-content:flex-start;padding:11px 10px}.dashboard-shell .sidebar.mobile-open.collapsed .sidebar-user{justify-content:flex-start}.dashboard-shell .sidebar.mobile-open.collapsed .sidebar-footer{align-items:flex-start}.dashboard-shell .sidebar.mobile-open.collapsed .sidebar-logo{justify-content:flex-start;padding:18px 14px 16px}.dashboard-shell .nav-sub-item{padding-left:28px;font-size:.85rem}.dashboard-shell .nav-item{min-height:48px;padding:11px 10px}.dashboard-shell .nav-sub-item{min-height:44px}.dashboard-shell .topbar-title{font-size:1.1rem}.dashboard-shell .topbar-sub{font-size:.75rem}}@media (width<=480px){.dashboard-shell .topbar{gap:8px;padding:0 12px}.dashboard-shell .topbar-title{font-size:1rem}.dashboard-shell .topbar-sub,.dashboard-shell .topbar-date{display:none}.dashboard-shell .page-content{gap:16px;padding:12px}.dashboard-shell .sidebar{max-width:280px;width:100%!important}.dashboard-shell .nav-item{min-height:52px;padding:12px 14px}.dashboard-shell .sidebar-logo{padding:16px 14px}.dashboard-shell .prof-tabs{gap:2px;padding:3px}.dashboard-shell .prof-tab{padding:6px 8px;font-size:.75rem}.dashboard-shell .form-input{padding:8px 10px}.dashboard-shell .modal-footer{padding-top:12px}.dashboard-shell .btn-cancel,.dashboard-shell .btn-save{padding:8px 16px;font-size:.8rem}.dashboard-shell .profile-dropdown{min-width:140px}.dashboard-shell .profile-dd-item{padding:9px 12px;font-size:.8rem}.dashboard-shell .role-badge{padding:2px 8px;font-size:.62rem}}@media (width<=640px){.dashboard-shell .action-buttons-row{flex-direction:column;gap:8px}.dashboard-shell .action-buttons-row button,.dashboard-shell .action-buttons-row a{justify-content:center;width:100%}.dashboard-shell .table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}.dashboard-shell .search-filter-wrap{flex-direction:column;gap:10px}.dashboard-shell .search-filter-wrap input,.dashboard-shell .search-filter-wrap select{width:100%}}.dashboard-shell .nav-group{position:relative}.dashboard-shell .nav-parent{cursor:pointer;-webkit-user-select:none;user-select:none}.dashboard-shell .nav-chevron{transition:transform var(--transition);flex-shrink:0;align-items:center;margin-left:auto;display:flex}.dashboard-shell .nav-group.open .nav-chevron svg{transform:rotate(180deg)}.dashboard-shell .nav-sub{max-height:0;transition:max-height .25s;overflow:hidden}.dashboard-shell .nav-group.open .nav-sub{max-height:200px}.dashboard-shell .nav-sub-item{color:#ffffff73;white-space:nowrap;border-radius:8px;align-items:center;gap:10px;margin-top:1px;padding:7px 10px 7px 38px;font-size:.83rem;font-weight:400;text-decoration:none;transition:background .15s,color .15s;display:flex}.dashboard-shell .nav-sub-item:hover{background:var(--sidebar-hover);color:#ffffffe6}.dashboard-shell .nav-sub-item.active{color:#93c5fd;font-weight:500}.dashboard-shell .nav-sub-dot{opacity:.6;background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.dashboard-shell .nav-sub-item.active .nav-sub-dot{opacity:1;background:#93c5fd}.dashboard-shell .sidebar.collapsed .nav-sub,.dashboard-shell .sidebar.collapsed .nav-chevron{display:none}.dashboard-shell .nav-collapsed-tooltip{left:calc(var(--sidebar-collapsed-w) + 2px);z-index:9999;opacity:0;visibility:hidden;pointer-events:none;background:#1e293b;border:1px solid #ffffff1a;border-radius:10px;min-width:160px;padding:8px 0;transition:opacity .15s,transform .15s,visibility .15s;position:fixed;transform:translate(-4px);box-shadow:0 8px 24px #00000059}.dashboard-shell .nav-collapsed-tooltip:before{content:"";background:0 0;width:10px;height:100%;position:absolute;top:0;right:100%}.dashboard-shell .nav-collapsed-tooltip.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0)}.dashboard-shell .collapsed-tooltip-title{text-transform:uppercase;letter-spacing:.07em;color:#ffffff59;border-bottom:1px solid #ffffff12;margin-bottom:4px;padding:4px 14px 8px;font-size:.7rem;font-weight:700}.dashboard-shell .collapsed-tooltip-item{color:#ffffffa6;padding:8px 14px;font-size:.85rem;text-decoration:none;transition:background .12s,color .12s;display:block}.dashboard-shell .collapsed-tooltip-item:hover{color:#fff;background:#ffffff12}.dashboard-shell .collapsed-tooltip-item.active{color:#93c5fd;font-weight:500}.dashboard-shell .profile-dropdown-wrap{position:relative}.dashboard-shell .profile-trigger{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;width:100%;padding:4px 2px;transition:background .15s;display:flex}.dashboard-shell .profile-trigger:hover,.dashboard-shell .profile-trigger.open{background:#ffffff0f}.dashboard-shell .profile-chevron{color:#ffffff59;flex-shrink:0;margin-left:auto;transition:transform .2s}.dashboard-shell .profile-trigger.open .profile-chevron{transform:rotate(180deg)}.dashboard-shell .profile-dropdown{opacity:0;visibility:hidden;z-index:200;background:#1e293b;border:1px solid #ffffff1a;border-radius:10px;min-width:160px;transition:opacity .18s,visibility .18s,transform .18s;position:absolute;bottom:calc(100% + 8px);left:0;right:0;overflow:hidden;transform:translateY(6px);box-shadow:0 -8px 24px #00000059}.dashboard-shell .sidebar.collapsed .profile-dropdown{bottom:auto;left:calc(var(--sidebar-collapsed-w) + 2px);min-width:170px;position:fixed;top:auto;right:auto;transform:translate(-4px);box-shadow:0 8px 24px #00000059}.dashboard-shell .sidebar.collapsed .profile-dropdown:before{content:"";background:0 0;width:10px;height:100%;position:absolute;top:0;right:100%}.dashboard-shell .profile-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.dashboard-shell .sidebar.collapsed .profile-dropdown.open{transform:translate(0)}.dashboard-shell .profile-dd-item{color:#ffffffb8;cursor:pointer;box-sizing:border-box;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:.85rem;text-decoration:none;transition:background .12s,color .12s;display:flex}.dashboard-shell .profile-dd-item:hover{color:#fff;background:#ffffff12}.dashboard-shell .profile-dd-item.active{color:#93c5fd;font-weight:500}.dashboard-shell .profile-dd-item.danger:hover{color:#fca5a5;background:#ef444426}.dashboard-shell .sidebar.collapsed .profile-chevron{display:none}.dashboard-shell .sidebar.collapsed .profile-trigger{justify-content:center;padding:4px 0}.dashboard-shell .prof-tabs{background:var(--surface-2);border-radius:9px;gap:4px;margin-top:4px;padding:4px;display:flex}.dashboard-shell .prof-tab{color:var(--text-light);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;flex:1;padding:7px 10px;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:500;transition:background .15s,color .15s}.dashboard-shell .prof-tab:hover{color:var(--text-dark)}.dashboard-shell .prof-tab.active{background:var(--surface);color:var(--primary);font-weight:600;box-shadow:0 1px 4px #00000014}.dashboard-shell .modal-bg{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;visibility:hidden;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;transition:opacity .2s,visibility .2s;display:none;position:fixed;inset:0}.dashboard-shell .modal-bg.active,.dashboard-shell .modal-bg.open{opacity:1;visibility:visible;display:flex}.dashboard-shell .modal{background:var(--surface);border-radius:16px;width:100%;max-width:520px;max-height:90vh;transition:transform .22s;overflow-y:auto;transform:translateY(16px)scale(.98);box-shadow:0 24px 64px #0000002e}.dashboard-shell .modal-bg.open .modal{transform:none}.dashboard-shell .modal-header{justify-content:space-between;align-items:center;padding:22px 28px 0;display:flex}.dashboard-shell .modal-title{color:var(--text-dark);letter-spacing:-.02em;font-family:DM Serif Display,serif;font-size:1.25rem}.dashboard-shell .modal-close{background:var(--surface-2);cursor:pointer;width:30px;height:30px;color:var(--text-light);border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .12s;display:flex}.dashboard-shell .modal-close:hover{background:var(--border)}.dashboard-shell .modal-body{padding:20px 28px 28px}.dashboard-shell .form-group{flex-direction:column;gap:5px;margin-bottom:9px;display:flex}.dashboard-shell .form-group:last-child{margin-bottom:0}.dashboard-shell .form-label{color:var(--text-dark);font-size:.82rem;font-weight:500}.dashboard-shell .form-input{border:1px solid var(--border);background:var(--surface);color:var(--text-dark);box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-family:DM Sans,sans-serif;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.dashboard-shell .form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.dashboard-shell .form-input.err{border-color:var(--danger-solid)}.dashboard-shell .form-hint{color:var(--text-light);font-size:.75rem}.dashboard-shell .modal-footer{justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.dashboard-shell .btn-cancel{background:var(--surface-2);border:1px solid var(--border);color:var(--text-mid);cursor:pointer;border-radius:8px;padding:8px 18px;font-family:DM Sans,sans-serif;font-size:.875rem;transition:background .12s}.dashboard-shell .afk-warning-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dashboard-shell .afk-warning-content{background:var(--surface);text-align:center;border-radius:16px;width:100%;max-width:420px;padding:32px;box-shadow:0 24px 64px #0003}.dashboard-shell .afk-warning-icon{width:64px;height:64px;color:var(--tint-amber-fg);background:#fef3c7;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.dashboard-shell .afk-warning-content h3{color:var(--text-dark);margin-bottom:8px;font-family:DM Serif Display,serif;font-size:1.3rem}.dashboard-shell .afk-warning-content p{color:var(--text-mid);margin-bottom:20px;font-size:.9rem}.dashboard-shell .afk-countdown{color:var(--tint-red-fg);margin-bottom:24px;font-family:DM Sans,sans-serif;font-size:2rem;font-weight:700}.dashboard-shell .afk-stay-logged-in{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:12px 28px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;transition:background .15s}.dashboard-shell .afk-stay-logged-in:hover{background:var(--primary-dark)}.dashboard-shell .prof-tabs{gap:8px;margin-bottom:16px;display:flex}.dashboard-shell .prof-tab{background:var(--surface-2);border:1px solid var(--border);color:var(--text-mid);cursor:pointer;border-radius:10px;flex:1;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:all .15s}.dashboard-shell .prof-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.dashboard-shell .prof-tab:hover:not(.active){background:var(--tint-blue-bg)}.dashboard-shell .prof-panel{display:none}.dashboard-shell .prof-panel.active{display:block}.dashboard-shell .form-group{margin-top:9px}.dashboard-shell .form-label{color:var(--text-dark);margin-bottom:7px;font-size:.85rem;font-weight:500;display:block}.dashboard-shell .form-input,.dashboard-shell .form-select,.dashboard-shell .form-textarea{border:1px solid var(--border);width:100%;color:var(--text-dark);background:var(--surface);border-radius:10px;outline:none;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:.93rem;transition:border-color .18s,box-shadow .18s}.dashboard-shell .form-input:focus,.dashboard-shell .form-select:focus,.dashboard-shell .form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.dashboard-shell .form-input.err,.dashboard-shell .form-select.err,.dashboard-shell .form-textarea.err{border-color:var(--danger-solid)}.dashboard-shell .form-textarea{resize:vertical;min-height:80px;line-height:1.6}.dashboard-shell .form-select{cursor:pointer}.dashboard-shell .file-current{background:var(--surface-2);border:1px solid var(--border);color:var(--text-mid);border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;font-size:.82rem;display:flex}.dashboard-shell .form-hint{color:var(--text-light);margin-top:5px;font-size:.78rem}.dashboard-shell .modal-footer{justify-content:flex-end;gap:10px;padding:0 28px 28px;display:flex}.dashboard-shell .btn-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-mid);cursor:pointer;border-radius:9px;padding:9px 20px;font-family:DM Sans,sans-serif;font-size:.875rem;transition:background .15s}.dashboard-shell .btn-cancel:hover{background:var(--surface-2)}.dashboard-shell .btn-save{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:9px 22px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .15s}.dashboard-shell .btn-save:hover{background:var(--primary-dark)}.dashboard-shell .btn-del-confirm{background:var(--danger-solid);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:9px 22px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .15s}.dashboard-shell .btn-del-confirm:hover{background:var(--danger-solid-hover)}.dashboard-shell .modal-file-list{flex-direction:column;gap:6px;max-height:184px;display:flex;overflow-y:auto}.dashboard-shell .modal-file-row{background:var(--surface-2);border:1px solid var(--border);color:var(--text-light);border-radius:8px;align-items:center;gap:9px;min-width:0;padding:8px 11px;display:flex}.dashboard-shell .modal-file-row>svg{flex-shrink:0}.dashboard-shell .modal-file-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.dashboard-shell .modal-file-name{color:var(--text-dark);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.dashboard-shell .modal-file-meta{color:var(--text-light);font-size:.72rem}.dashboard-shell .modal-file-dl{border:1px solid var(--border);background:var(--surface);width:26px;height:26px;color:var(--text-mid);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,border-color .12s,color .12s;display:flex}.dashboard-shell .modal-file-dl:hover{background:var(--tint-blue-bg);border-color:var(--primary);color:var(--primary)}.dashboard-shell .modal-file-del{border:1px solid var(--border);background:var(--surface);width:26px;height:26px;color:var(--text-mid);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,border-color .12s,color .12s;display:flex}.dashboard-shell .modal-file-del:hover{background:var(--tint-red-bg);border-color:var(--danger-solid);color:var(--danger-solid)}.dashboard-shell .modal-file-confirm{color:var(--tint-red-fg);flex-shrink:0;align-items:center;gap:6px;font-size:.75rem;display:flex}.dashboard-shell .modal-file-no,.dashboard-shell .modal-file-yes{cursor:pointer;border-radius:7px;height:26px;padding:0 10px;font-family:DM Sans,sans-serif;font-size:.74rem;transition:background .12s}.dashboard-shell .modal-file-no{border:1px solid var(--border);background:var(--surface);color:var(--text-mid)}.dashboard-shell .modal-file-no:hover{background:var(--surface-2)}.dashboard-shell .modal-file-yes{background:var(--danger-solid);color:#fff;border:none;font-weight:500}.dashboard-shell .modal-file-yes:hover:not(:disabled){background:var(--danger-solid-hover)}.dashboard-shell .modal-file-no:disabled,.dashboard-shell .modal-file-yes:disabled{opacity:.5;cursor:not-allowed}.dashboard-shell .profile-dd-item.danger:hover{background:var(--tint-red-bg)}.dashboard-shell .profile-dd-divider{background:var(--border);height:1px;margin:6px 0}.dashboard-shell .nav-item.backup-loading{opacity:.7;pointer-events:none;cursor:not-allowed}@keyframes backupSpin{to{transform:rotate(360deg)}}.dashboard-shell .lpchk{font-weight:700}.dashboard-shell #lpchk_match.pass,.dashboard-shell #lpchk_len.pass,.dashboard-shell #lpchk_upper.pass,.dashboard-shell #lpchk_special.pass{color:var(--tint-green-fg)}.dashboard-shell #lpchk_match.fail,.dashboard-shell #lpchk_len.fail,.dashboard-shell #lpchk_upper.fail,.dashboard-shell #lpchk_special.fail{color:var(--tint-red-fg)}.dashboard-shell .skeleton{background:linear-gradient(90deg, var(--surface-3) 25%, #e8edf5 50%, var(--surface-3) 75%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite skeleton-loading;color:#0000!important}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-shell .skeleton-stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.dashboard-shell .skeleton-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:14px;padding:16px 20px;display:flex}.dashboard-shell .skeleton-stat-icon{border-radius:10px;width:40px;height:40px}.dashboard-shell .skeleton-stat-content{flex-direction:column;flex:1;gap:8px;display:flex}.dashboard-shell .skeleton-stat-val{width:60px;height:28px}.dashboard-shell .skeleton-stat-label{width:80px;height:12px}.dashboard-shell .skeleton-toolbar{gap:12px;margin-bottom:16px;display:flex}.dashboard-shell .skeleton-search{border-radius:9px;flex:1;min-width:200px;height:38px}.dashboard-shell .skeleton-select{border-radius:9px;width:150px;height:38px}.dashboard-shell .skeleton-btn{border-radius:9px;width:100px;height:38px}.dashboard-shell .skeleton-table{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.dashboard-shell .skeleton-table-header{background:var(--surface-2);gap:12px;padding:10px 14px;display:flex}.dashboard-shell .skeleton-th{border-radius:4px;flex:1;height:14px}.dashboard-shell .skeleton-table-body{padding:0}.dashboard-shell .skeleton-tr{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:11px 14px;display:flex}.dashboard-shell .skeleton-tr:last-child{border-bottom:none}.dashboard-shell .skeleton-td{border-radius:4px;flex:1;height:14px}.dashboard-shell .skeleton-td-icon{border-radius:6px;flex:none;width:28px;height:28px}.dashboard-shell .skeleton-td-name{flex:none;width:180px}.dashboard-shell .skeleton-td-sub{flex:none;width:120px}.dashboard-shell .skeleton-td-pill{border-radius:100px;flex:none;width:70px;height:20px}.dashboard-shell .skeleton-td-btn{border-radius:7px;flex:none;width:30px;height:30px}.dashboard-shell .skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:16px;padding:20px;display:flex}.dashboard-shell .skeleton-card-header{width:200px;height:24px}.dashboard-shell .skeleton-card-body{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.dashboard-shell .skeleton-card-field{flex-direction:column;gap:6px;display:flex}.dashboard-shell .skeleton-card-label{width:80px;height:12px}.dashboard-shell .skeleton-card-input{border-radius:8px;height:36px}.dashboard-shell .skeleton-pagination{border-top:1px solid var(--border);justify-content:space-between;padding:14px 16px;display:flex}.dashboard-shell .skeleton-page-info{width:150px;height:14px}.dashboard-shell .skeleton-page-links{gap:4px;display:flex}.dashboard-shell .skeleton-page-link{border-radius:7px;width:32px;height:32px}.dashboard-shell .skeleton-quick-actions{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.dashboard-shell .skeleton-qa-btn{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:14px;display:flex}.dashboard-shell .skeleton-qa-icon{border-radius:9px;width:36px;height:36px}.dashboard-shell .skeleton-qa-content{flex-direction:column;flex:1;gap:6px;display:flex}.dashboard-shell .skeleton-qa-title{width:100px;height:14px}.dashboard-shell .skeleton-qa-sub{width:70px;height:10px}.dashboard-shell .skeleton-avatar{border-radius:11px;width:44px;height:44px}.dashboard-shell .skeleton-text{border-radius:4px;height:14px}.dashboard-shell .skeleton-text-sm{border-radius:3px;height:10px}.dashboard-shell .page-loading-overlay{background:linear-gradient(135deg, #0f172a 0%, var(--primary) 50%, var(--primary-dark) 100%);z-index:10000;opacity:0;visibility:hidden;justify-content:center;align-items:center;transition:opacity .4s,visibility .4s;display:none;position:fixed;inset:0}.dashboard-shell .page-loading-overlay.show{opacity:1;visibility:visible;display:flex}.dashboard-shell .page-loading-overlay.active{opacity:0;visibility:hidden;transition-delay:0s}.dashboard-shell .skeleton-loader-wrap{flex-direction:column;align-items:center;width:100%;max-width:500px;padding:40px;display:flex}.dashboard-shell .qad-preload{flex-direction:column;align-items:center;gap:28px;display:flex}.dashboard-shell .qad-preload-logo{flex-direction:column;align-items:center;gap:12px;display:flex}.dashboard-shell .qad-preload-icon{background:linear-gradient(135deg, #60a5fa, var(--primary));border-radius:24px;justify-content:center;align-items:center;width:96px;height:96px;animation:2s ease-in-out infinite qad-pulse;display:flex;box-shadow:0 20px 48px #1b4fd866}@keyframes qad-pulse{0%,to{transform:scale(1);box-shadow:0 20px 48px #1b4fd866}50%{transform:scale(1.08);box-shadow:0 28px 64px #60a5fa80}}.dashboard-shell .qad-preload-icon svg{color:#fff;width:52px;height:52px}.dashboard-shell .qad-preload-title{color:#fff;letter-spacing:-.02em;text-align:center;text-shadow:0 2px 8px #0000004d;font-family:DM Serif Display,serif;font-size:2rem}.dashboard-shell .qad-preload-subtitle{color:#ffffffd9;text-align:center;letter-spacing:.05em;text-transform:uppercase;font-size:1rem;font-weight:500}.dashboard-shell .qad-preload-status{align-items:center;gap:10px;margin-top:8px;display:flex}.dashboard-shell .qad-preload-spinner{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite qad-spin}@keyframes qad-spin{to{transform:rotate(360deg)}}.dashboard-shell .qad-preload-text{color:#ffffffbf;font-size:.85rem;font-weight:400}.dashboard-shell .qad-preload-bar{background:#ffffff26;border-radius:100px;width:200px;height:4px;position:relative;overflow:hidden}.dashboard-shell .qad-preload-bar-fill{background:linear-gradient(90deg, #60a5fa, var(--primary), #60a5fa);background-size:200% 100%;border-radius:100px;width:40%;height:100%;animation:1.8s ease-in-out infinite qad-loading-bar;position:absolute;top:0;left:0}@keyframes qad-loading-bar{0%{background-position:0 0;width:30%;left:0}50%{background-position:100% 0;width:70%}to{background-position:200% 0;width:30%;left:100%}}.dashboard-shell .qad-preload-message{text-align:center;margin-top:16px}.dashboard-shell .qad-preload-message p{color:#ffffffa6;font-size:.8rem;line-height:1.5}.dashboard-shell .bulk-resume{border:1px solid var(--border-accent);background:var(--primary-light);color:var(--tint-blue-fg);border-radius:9px;align-items:flex-start;gap:9px;margin-bottom:14px;padding:10px 12px;font-size:.8rem;line-height:1.5;display:flex}.dashboard-shell .bulk-resume>svg{flex-shrink:0;margin-top:2px}.dashboard-shell .drop-zone{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:12px;padding:40px 24px;transition:border-color .15s,background .15s;position:relative}.dashboard-shell .drop-zone.dragover{border-color:var(--primary);background:var(--primary-light)}.dashboard-shell .drop-zone-icon{background:var(--primary-light);width:52px;height:52px;color:var(--primary);border-radius:12px;justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.dashboard-shell .drop-zone-text{color:var(--text-dark);margin-bottom:4px;font-size:.9rem;font-weight:500}.dashboard-shell .drop-zone-hint{color:var(--text-light);font-size:.78rem}.dashboard-shell .drop-zone-limit{background:var(--tint-amber-bg);color:var(--tint-amber-fg);border-radius:100px;margin-top:8px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.dashboard-shell .file-list{flex-direction:column;gap:8px;max-height:220px;margin-top:16px;display:flex;overflow-y:auto}.dashboard-shell .file-item{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.dashboard-shell .file-item-icon{background:var(--primary-light);width:32px;height:32px;color:var(--primary);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dashboard-shell .file-item-info{flex:1;min-width:0}.dashboard-shell .file-item-name{color:var(--text-dark);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:500;overflow:hidden}.dashboard-shell .file-item-size{color:var(--text-light);font-size:.72rem}.dashboard-shell .file-item-remove{width:24px;height:24px;color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.dashboard-shell .file-item-remove:hover{background:var(--tint-red-bg);color:var(--danger-solid)}.dashboard-shell .today-date{color:var(--text-light);margin-bottom:14px;font-size:.82rem}.dashboard-shell .today-list{flex-direction:column;gap:8px;max-height:300px;display:flex;overflow-y:auto}.dashboard-shell .today-item{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;gap:10px;padding:11px 13px;display:flex}.dashboard-shell .today-mark{background:var(--primary);border-radius:2px;flex-shrink:0;width:3px}.dashboard-shell .today-body{flex-direction:column;gap:2px;min-width:0;display:flex}.dashboard-shell .today-title{color:var(--text-dark);font-size:.9rem;font-weight:500}.dashboard-shell .today-meta{color:var(--primary);font-variant-numeric:tabular-nums;font-size:.76rem}.dashboard-shell .today-note{color:var(--text-mid);margin-top:3px;font-size:.78rem;line-height:1.5}.dashboard-shell .today-foot{color:var(--text-light);align-items:center;gap:6px;margin-top:14px;font-size:.76rem;display:flex}.dashboard-shell .bell-wrap{flex-shrink:0;position:relative}.dashboard-shell .bell-trigger{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text-mid);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;transition:background .12s,border-color .12s,color .12s;display:flex;position:relative}.dashboard-shell .bell-trigger:hover{background:var(--tint-blue-bg);border-color:var(--primary);color:var(--primary)}.dashboard-shell .bell-badge{min-width:17px;height:17px;box-shadow:0 0 0 2px var(--surface);color:#fff;text-align:center;background:#e24b4a;border-radius:100px;padding:0 4px;font-size:.62rem;font-weight:700;line-height:17px;position:absolute;top:-5px;right:-5px}.dashboard-shell .bell-panel{z-index:40;border:1px solid var(--border);background:var(--surface);width:300px;box-shadow:var(--shadow-md);border-radius:12px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.dashboard-shell .bell-head{border-bottom:1px solid var(--border);color:var(--text-dark);justify-content:space-between;align-items:baseline;gap:8px;padding:11px 14px;font-size:.85rem;font-weight:600;display:flex}.dashboard-shell .bell-head-sub{color:var(--text-light);font-size:.72rem;font-weight:400}.dashboard-shell .bell-list{max-height:264px;overflow-y:auto}.dashboard-shell .bell-item{border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:9px;padding:10px 14px;transition:background .12s;display:flex}.dashboard-shell .bell-item:last-child{border-bottom:none}.dashboard-shell .bell-item:hover{background:var(--surface-2)}.dashboard-shell .bell-mark{background:var(--text-faint);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.dashboard-shell .bell-mark.is-today{background:var(--primary)}.dashboard-shell .bell-body{flex-direction:column;gap:2px;min-width:0;display:flex}.dashboard-shell .bell-title{color:var(--text-dark);text-overflow:ellipsis;white-space:nowrap;font-size:.83rem;overflow:hidden}.dashboard-shell .bell-meta{color:var(--text-light);font-size:.72rem}.dashboard-shell .bell-empty{text-align:center;color:var(--text-light);padding:22px 14px;font-size:.8rem}.dashboard-shell .bell-foot{border-top:1px solid var(--border);background:var(--surface-2);color:var(--primary);justify-content:center;align-items:center;gap:6px;padding:10px;font-size:.78rem;font-weight:500;display:flex}.dashboard-shell .bell-foot:hover{background:var(--tint-blue-bg)}@media (width<=480px){.dashboard-shell .bell-panel{width:calc(100vw - 24px);max-width:300px;right:-8px}}.dashboard-shell .prof-theme{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.dashboard-shell .prof-theme-info{flex-direction:column;gap:3px;min-width:0;display:flex}.dashboard-shell .prof-theme-name{color:var(--text-dark);font-size:.9rem;font-weight:500}.dashboard-shell .prof-theme-hint{color:var(--text-light);font-size:.76rem;line-height:1.45}.dashboard-shell .theme-choice{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;flex-shrink:0;gap:2px;padding:3px;display:flex}.dashboard-shell .theme-choice-option{font:inherit;color:var(--text-light);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:6px 11px;font-size:.78rem;font-weight:500;line-height:1;transition:background .16s,color .16s;display:inline-flex}.dashboard-shell .theme-choice-option:hover:not(.is-on){color:var(--text-dark)}.dashboard-shell .theme-choice-option.is-on{background:var(--primary);color:#fff;box-shadow:0 1px 3px #0000002e}.dashboard-shell .theme-choice-option:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width<=420px){.dashboard-shell .prof-theme{flex-wrap:wrap}.dashboard-shell .theme-choice{width:100%}.dashboard-shell .theme-choice-option{flex:1;justify-content:center}}@media (prefers-reduced-motion:reduce){.dashboard-shell .theme-choice-option{transition-duration:10ms}}.dashboard-shell .prof-photo{border-bottom:1px solid var(--border);align-items:center;gap:14px;margin-bottom:4px;padding:0 0 16px;display:flex}.dashboard-shell .prof-photo-btn{background:var(--primary-light);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:64px;height:64px;padding:0;position:relative;overflow:hidden}.dashboard-shell .prof-photo-btn:disabled{cursor:not-allowed}.dashboard-shell .prof-photo-btn img{object-fit:cover;width:100%;height:100%;display:block}.dashboard-shell .prof-photo-initial{width:100%;height:100%;color:var(--primary);justify-content:center;align-items:center;font-family:DM Serif Display,serif;font-size:1.6rem;display:flex}.dashboard-shell .prof-photo-overlay{color:#fff;opacity:0;background:#0f172a8c;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.dashboard-shell .prof-photo-btn:hover:not(:disabled) .prof-photo-overlay,.dashboard-shell .prof-photo-btn:focus-visible .prof-photo-overlay{opacity:1}.dashboard-shell .prof-photo-info{flex-direction:column;gap:3px;min-width:0;display:flex}.dashboard-shell .prof-photo-name{color:var(--text-dark);font-size:.95rem;font-weight:500}.dashboard-shell .prof-photo-hint{color:var(--text-light);font-size:.76rem;line-height:1.45}.nav-flyout{left:calc(var(--sidebar-collapsed-w) + 6px);z-index:60;background:#1e293b;border:1px solid #ffffff17;border-radius:10px;min-width:148px;padding:5px;font-family:DM Sans,sans-serif;animation:.13s both nav-flyout-in;position:fixed;box-shadow:0 12px 32px #0006}@keyframes nav-flyout-in{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:none}}.nav-flyout-title{color:#fff;white-space:nowrap;padding:6px 10px;font-size:.83rem;font-weight:500;display:block}.nav-flyout.has-sub .nav-flyout-title{letter-spacing:.07em;text-transform:uppercase;color:#ffffff73;border-bottom:1px solid #ffffff14;margin-bottom:3px;padding:5px 10px 6px;font-size:.68rem;font-weight:600}.nav-flyout-list{flex-direction:column;gap:1px;display:flex}.nav-flyout-item{color:#ffffffc7;white-space:nowrap;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-family:DM Sans,sans-serif;font-size:.84rem;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav-flyout-item.is-danger{color:#fca5a5}.nav-flyout-item.is-danger:hover{color:#fecaca;background:#e24b4a29}.nav-flyout-item:hover{background:var(--sidebar-hover);color:#fff}.nav-flyout-item.active{background:var(--sidebar-active);color:#fff}@media (width<=768px){.nav-flyout{display:none}}@media (prefers-reduced-motion:reduce){.nav-flyout{animation-duration:10ms}}.dashboard-shell .date-range{border:1px solid var(--border);background:var(--surface);border-radius:9px;flex-shrink:0;align-items:center;gap:7px;padding:0 10px;display:flex}.dashboard-shell .date-range>svg{color:var(--text-light);flex-shrink:0}.dashboard-shell .date-input{width:122px;color:var(--text-dark);cursor:pointer;background:0 0;border:none;outline:none;padding:9px 0;font-family:DM Sans,sans-serif;font-size:.82rem}.dashboard-shell .date-clear{width:20px;height:20px;color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.dashboard-shell .date-clear:hover{background:var(--tint-red-bg);color:var(--danger-solid)}.dashboard-shell .date-range:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}@media (width<=768px){.dashboard-shell .date-range{flex-wrap:wrap;width:100%}.dashboard-shell .date-input{flex:1;width:auto;min-width:0}}.dashboard-shell .th-sort{padding:0}.dashboard-shell .th-sort>button{width:100%;padding:inherit;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;transition:color .12s;display:flex}.dashboard-shell .th-sort>button:hover{color:var(--primary)}.dashboard-shell .th-sort-arrow{opacity:0;font-size:.62rem;line-height:1;transition:opacity .12s}.dashboard-shell .th-sort>button:hover .th-sort-arrow,.dashboard-shell .th-sort.is-active .th-sort-arrow{opacity:1}.dashboard-shell .th-sort.is-active>button{color:var(--primary)}.dashboard-shell .pagination-controls{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.dashboard-shell .page-size{color:var(--text-light);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.dashboard-shell .page-size select{border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text-dark);cursor:pointer;border-radius:7px;outline:none;padding:0 6px;font-family:DM Sans,sans-serif;font-size:.8rem;transition:border-color .15s,box-shadow .15s}.dashboard-shell .page-size select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}@media (width<=640px){.dashboard-shell .pagination-controls{justify-content:space-between;gap:10px;width:100%}}@media (width<=768px){.dashboard-shell .modal-bg{align-items:flex-end;padding:0;animation:.22s both modal-backdrop-in}.dashboard-shell .modal{border-radius:20px 20px 0 0;max-width:100%;max-height:92vh;margin:0;animation:.3s cubic-bezier(.32,.72,0,1) both modal-sheet-in}.dashboard-shell .afk-warning-content{animation:.3s cubic-bezier(.32,.72,0,1) both modal-sheet-in}.dashboard-shell .modal-header{padding:18px 20px 0}.dashboard-shell .modal-body{padding:16px 20px 28px}.dashboard-shell .modal-footer{padding:14px 20px 20px}}@media (width<=480px){.dashboard-shell .modal-footer{flex-direction:column-reverse;gap:8px}.dashboard-shell .btn-cancel,.dashboard-shell .btn-save,.dashboard-shell .btn-del-confirm{text-align:center;width:100%;padding:11px 20px}}.dashboard-shell .tfa{margin-top:16px}.dashboard-shell .tfa-state{margin-bottom:14px}.dashboard-shell .tfa-badge{border-radius:999px;align-items:center;gap:6px;margin-bottom:8px;padding:5px 11px;font-size:.78rem;font-weight:600;display:inline-flex}.dashboard-shell .tfa-badge.on{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.dashboard-shell .tfa-badge.off{background:var(--surface-2);color:var(--text-light);border:1px solid var(--border)}.dashboard-shell .tfa-hint{color:var(--text-light);margin:0 0 12px;font-size:.8rem;line-height:1.6}.dashboard-shell .tfa-hint strong{color:var(--text-dark)}.dashboard-shell .tfa-row{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:10px 12px;display:flex}.dashboard-shell .tfa-row-label{color:var(--text-light);font-size:.8rem}.dashboard-shell .tfa-row-value{color:var(--text-dark);font-size:.83rem;font-weight:600}.dashboard-shell .tfa-row-value.low{color:var(--danger)}.dashboard-shell .tfa-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.dashboard-shell .tfa-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-dark);cursor:pointer;border-radius:9px;flex:auto;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:.84rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.dashboard-shell .tfa-btn:hover:not(:disabled){background:var(--surface-2)}.dashboard-shell .tfa-btn:disabled{opacity:.55;cursor:not-allowed}.dashboard-shell .tfa-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.dashboard-shell .tfa-btn.primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.dashboard-shell .tfa-btn.danger{color:var(--danger);border-color:var(--danger-border)}.dashboard-shell .tfa-btn.danger:hover:not(:disabled){background:var(--danger-bg)}.dashboard-shell .tfa-link{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:600}.dashboard-shell .tfa-link:hover{text-decoration:underline}.dashboard-shell .tfa-qr{border:1px solid var(--border);background:#fff;border-radius:12px;justify-content:center;margin-bottom:12px;padding:12px;display:flex}.dashboard-shell .tfa-qr img{width:100%;max-width:232px;height:auto;display:block}.dashboard-shell .tfa-secret{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;margin:10px 0 4px;padding:12px}.dashboard-shell .tfa-secret code{letter-spacing:1.5px;color:var(--text-dark);word-break:break-all;margin-bottom:6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem;font-weight:600;display:block}.dashboard-shell .tfa-secret .tfa-hint{margin:0}.dashboard-shell .tfa-codes{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(2,1fr);gap:8px;margin:0;padding:14px;list-style:none;display:grid}.dashboard-shell .tfa-codes li{letter-spacing:1px;text-align:center;color:var(--text-dark);-webkit-user-select:text;user-select:text;cursor:text;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem;font-weight:600}@media (width<=420px){.dashboard-shell .tfa-codes{grid-template-columns:1fr}.dashboard-shell .tfa-btn{flex-basis:100%}}.dashboard-shell .pw-field{position:relative}.dashboard-shell .pw-field .form-input{padding-right:38px}.dashboard-shell .pw-toggle{cursor:pointer;color:var(--text-light);background:0 0;border:none;align-items:center;padding:2px;transition:color .15s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.dashboard-shell .pw-toggle:hover{color:var(--text-dark)}.chatbot-launcher.ant-btn{z-index:1000;width:54px;height:54px;font-size:1.25rem;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 20px #1b4fd85c}.chatbot-panel.ant-card{z-index:1000;opacity:0;visibility:hidden;border-radius:16px;flex-direction:column;width:min(370px,100vw - 32px);height:min(560px,100vh - 140px);transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:fixed;bottom:90px;right:24px;overflow:hidden;transform:translateY(12px)scale(.98);box-shadow:0 18px 48px #0f172a38}.chatbot-panel.ant-card.is-open{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.chatbot-panel .ant-card-head{background:linear-gradient(135deg, var(--primary) 0%, #2563eb 100%);color:#fff;border-bottom:none;min-height:0}.chatbot-panel .ant-card-head-title,.chatbot-panel .ant-card-extra .ant-btn{color:#fff}.chatbot-panel .ant-card-extra .ant-btn:hover{color:#fff;background:#ffffff2e}.chatbot-title{font-size:.95rem;font-weight:600;line-height:1.3}.chatbot-status{color:#ffffffc7;align-items:center;gap:6px;font-size:.74rem;font-weight:400;line-height:1.3;display:flex}.chatbot-status-dot{background:#52c41a;border-radius:50%;flex-shrink:0;width:7px;height:7px}.chatbot-messages{background:var(--bg-light);flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.chatbot-bubble-row{flex-direction:column;gap:3px;max-width:84%;display:flex}.chatbot-bubble-row.bot{align-self:flex-start;align-items:flex-start}.chatbot-bubble-row.user{align-self:flex-end;align-items:flex-end}.chatbot-bubble{white-space:pre-line;background:var(--bg-white);border:1px solid var(--border);color:var(--text-dark);border-radius:14px;padding:10px 13px;font-size:.88rem;line-height:1.55;box-shadow:0 1px 2px #0f172a0d}.chatbot-bubble-row.bot .chatbot-bubble{border-bottom-left-radius:5px}.chatbot-bubble-row.user .chatbot-bubble{background:var(--primary);border-color:var(--primary);color:#fff;border-bottom-right-radius:5px}.chatbot-time.ant-typography{padding:0 4px;font-size:.68rem}.chatbot-typing{align-items:center;gap:4px;padding:13px;display:inline-flex}.chatbot-typing span{background:var(--text-light);border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite chatbot-blink}.chatbot-typing span:nth-child(2){animation-delay:.18s}.chatbot-typing span:nth-child(3){animation-delay:.36s}@keyframes chatbot-blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chatbot-suggestions{border-top:1px solid var(--border);background:var(--bg-white);padding:10px 12px}.chatbot-suggestions .ant-tag{cursor:pointer;background:var(--primary-light);color:var(--primary);border-radius:100px;margin-inline-end:0;padding:3px 12px;font-size:.8rem}.chatbot-suggestions .ant-tag:hover{background:var(--primary);color:#fff}.chatbot-composer{border-top:1px solid var(--border);background:var(--bg-white);padding:12px}@media (width<=480px){.chatbot-panel.ant-card{width:auto;height:min(70vh,100vh - 120px);bottom:84px;left:16px;right:16px}.chatbot-launcher.ant-btn{bottom:16px;right:16px}}:root[data-theme=dark] .chatbot-panel.ant-card{background:var(--surface);border-color:var(--border)}:root[data-theme=dark] .chatbot-panel .ant-card-body{background:0 0}:root[data-theme=dark] .chatbot-panel .ant-card-head{background:linear-gradient(135deg,#1b3f8f 0%,#17347a 100%)}:root[data-theme=dark] .chatbot-panel .ant-typography-secondary,:root[data-theme=dark] .chatbot-time.ant-typography{color:var(--text-light)}:root[data-theme=dark] .chatbot-bubble-row.user .chatbot-bubble{background:#1b4fd8;border-color:#1b4fd8}:root[data-theme=dark] .chatbot-composer .ant-input{background:var(--surface-2);border-color:var(--border);color:var(--text-dark)}:root[data-theme=dark] .chatbot-composer .ant-input::placeholder{color:var(--text-light)}:root[data-theme=dark] .chatbot-composer .ant-input:disabled{background:var(--surface-3);color:var(--text-light)}:root[data-theme=dark] .chatbot-suggestions .ant-tag{background:var(--tint-blue-bg);color:var(--tint-blue-fg)}:root[data-theme=dark] .chatbot-suggestions .ant-tag:hover{background:var(--primary);color:var(--bg-page)}.public-shell{--primary-light:#e8effe;--text-dark:#1a202c;--text-mid:#4a5568;--text-light:#718096;--bg-white:#fff;--bg-light:#f7f8fc;--border:#e2e8f0;--surface:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-dark);background:var(--bg-white);-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.6}html{scroll-behavior:smooth}.pub-display{letter-spacing:-.02em;font-family:DM Serif Display,Georgia,serif!important;font-weight:400!important}.pub-accent{color:var(--primary)}.pub-header{z-index:100;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);align-items:center;display:flex;position:sticky;top:0}.pub-header-inner{justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1200px;margin:0 auto;display:flex}.pub-brand{color:var(--primary);white-space:nowrap;font-family:DM Serif Display,Georgia,serif;font-size:1.15rem;line-height:1.2}.pub-menu.ant-menu{background:0 0;border-bottom:none;flex:1;justify-content:flex-end;font-size:.9rem}.pub-menu.ant-menu .ant-menu-item:after{display:none}.pub-drawer-menu.ant-menu{border-inline-end:none;font-size:1rem}.pub-burger{display:none}.pub-section{padding:88px 32px}.pub-section--light{background:var(--bg-light)}.pub-section--edged{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.pub-section--tight{padding:64px 32px}.pub-inner{max-width:1200px;margin:0 auto}.pub-inner--narrow{max-width:1080px}.pub-section-head{text-align:center;max-width:620px;margin:0 auto 52px}.pub-hero{background:linear-gradient(135deg,#eef2fb 0%,#e8effe 60%,#dde7ff 100%);padding:96px 32px 112px;position:relative;overflow:hidden}.pub-hero:before,.pub-hero:after{content:"";pointer-events:none;position:absolute}.pub-hero:before{background:radial-gradient(circle,#1b4fd814 0%,#0000 70%);width:480px;height:480px;top:-80px;right:-80px}.pub-hero:after{background:radial-gradient(circle,#1b4fd80d 0%,#0000 70%);width:340px;height:340px;bottom:-60px;left:-60px}.pub-hero-inner{z-index:1;max-width:1200px;margin:0 auto;position:relative}.pub-hero-title.ant-typography{max-width:760px;font-size:clamp(2.4rem,4.5vw,3.6rem);line-height:1.15}.pub-hero-sub.ant-typography{max-width:560px;color:var(--text-mid);font-size:1.05rem;line-height:1.75}.pub-eyebrow.ant-tag{letter-spacing:.08em;text-transform:uppercase;border-radius:100px;align-items:center;gap:8px;margin-bottom:26px;padding:5px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.pub-eyebrow.ant-tag:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pub-hero-stats{border-top:1px solid #1b4fd81f;margin-top:56px;padding-top:36px}.pub-page-header{text-align:center;background:var(--bg-light);border-bottom:1px solid var(--border);padding:72px 32px 64px}.pub-page-header .ant-typography{margin-bottom:0}.pub-page-header h1.ant-typography{margin-bottom:12px;font-size:clamp(2rem,4vw,2.8rem)}.pub-page-header-sub.ant-typography{color:var(--text-light);font-size:1rem}.pub-card{height:100%;transition:transform .18s,box-shadow .18s,border-color .18s}.pub-card:hover{border-color:#1b4fd847;transform:translateY(-3px);box-shadow:0 4px 20px #1b4fd81f,0 1px 4px #00000014}.pub-icon-badge{background:var(--primary-light);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:18px;font-size:1.5rem;line-height:1;display:inline-flex}.pub-card-body-text.ant-typography{color:var(--text-mid);margin-bottom:16px;font-size:.94rem}.pub-trust-badge{border:1px solid var(--border);background:var(--bg-white);color:var(--text-mid);border-radius:100px;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:500;display:inline-flex}.pub-cta{text-align:center;color:#fff;background:linear-gradient(135deg,#1b4fd8 0%,#2563eb 100%);border-radius:20px;max-width:640px;margin:0 auto;padding:64px 48px;position:relative;overflow:hidden}.pub-cta:before,.pub-cta:after{content:"";border-radius:50%;position:absolute}.pub-cta:before{background:#ffffff0f;width:260px;height:260px;top:-60px;right:-60px}.pub-cta:after{background:#ffffff0a;width:220px;height:220px;bottom:-80px;left:-40px}.pub-cta>*{z-index:1;position:relative}.pub-cta h2.ant-typography,.pub-cta .ant-typography{color:#fff}.pub-cta .pub-cta-sub.ant-typography{color:#ffffffd1}.pub-cta-btn.ant-btn{color:var(--primary);background:#fff;border-color:#fff;font-weight:600}.pub-cta-btn.ant-btn:hover{color:var(--primary-dark)!important;background:#ffffffe6!important;border-color:#0000!important}.pub-contact-grid{width:100%;max-width:940px;margin:0 auto}.pub-card-equal.ant-card{height:100%}.pub-card-mid .ant-card-head-title{text-align:center}.pub-required{color:var(--danger);margin-inline-start:4px;font-size:.95em;line-height:1}.pub-contact-item{align-items:flex-start;gap:12px;display:flex}.pub-contact-item+.pub-contact-item{margin-top:18px}.pub-contact-icon{background:var(--primary-light);width:38px;height:38px;color:var(--primary);border-radius:10px;flex:0 0 38px;justify-content:center;align-items:center;display:inline-flex}.pub-footer{text-align:center;color:#ffffff8c;font-size:.85rem}.public-shell .animate-up{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(24px)}.public-shell .animate-up.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.public-shell .animate-up{opacity:1;transition:none;transform:none}}@media (width<=768px){.pub-menu.ant-menu{display:none}.pub-burger{display:inline-flex}.pub-login-btn.ant-btn{display:none}.pub-brand{white-space:normal;font-size:.98rem}.pub-hero{padding:64px 20px 80px}.pub-section,.pub-section--tight{padding:56px 20px}.pub-page-header{padding:56px 20px 48px}.pub-cta{padding:48px 24px}}.sk{background:#eaeef4;border-radius:6px;display:block;position:relative;overflow:hidden}.sk:after{content:"";background:linear-gradient(90deg,#fff0 0%,#ffffffa6 50%,#fff0 100%);animation:1.35s ease-in-out infinite sk-sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes sk-sweep{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.sk:after{animation:none}}.sk-line{height:11px}.sk-line+.sk-line{margin-top:8px}.sk-title{width:45%;height:15px}.sk-pill{border-radius:999px;width:70px;height:20px}.sk-avatar{border-radius:10px;flex:0 0 44px;width:44px;height:44px}.sk-stat{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);align-items:center;gap:16px;padding:22px 24px;display:flex}.sk-stat-info{flex:1}.sk-chart-body{padding:18px 24px 22px}.sk-bars{flex-direction:column;gap:14px;display:flex}.sk-bar-row{grid-template-columns:minmax(88px,30%) 1fr 44px;align-items:center;gap:12px;display:grid}.sk-plot{border-radius:8px;height:132px}.sk-fields{grid-template-columns:1fr 1fr;gap:18px 32px;display:grid}.sk-field .sk-line+.sk-line{margin-top:7px}@media (width<=768px){.sk-fields{grid-template-columns:1fr}}.sk-donut{border-radius:50%;width:140px;height:140px;margin:6px auto}.sk-page{background:var(--bg-page);min-height:100vh}.sk-shell{background:var(--bg-page);min-height:100vh;display:flex}.sk-shell-side{background:#0f172a;flex:0 0 248px;width:248px}.sk-shell-main{flex:1;min-width:0}.sk-shell-top{background:var(--bg-white);border-bottom:1px solid var(--border);align-items:center;height:68px;padding:0 32px;display:flex}.sk-shell-body{padding:26px 32px}.sk-shell-body .stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;display:grid}@media (width<=768px){.sk-shell-side{display:none}.sk-shell-top,.sk-shell-body{padding-inline:16px}}.dashboard-shell tr.sk-row td{padding-block:16px}.dashboard-shell tr.sk-row td .sk{height:11px}@media (width<=768px){.dashboard-shell tr.sk-row td:not(:first-child){display:none}}*{box-sizing:border-box;margin:0;padding:0}.change-pwd-shell{background:linear-gradient(135deg,#1b4fd8 0%,#0d37a8 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:DM Sans,sans-serif;display:flex}.change-pwd-shell .change-pwd-container{background:var(--surface);border-radius:20px;width:100%;max-width:500px;overflow:hidden;box-shadow:0 25px 80px #00000040}.change-pwd-shell .change-pwd-header{text-align:center;background:linear-gradient(135deg,#1b4fd8 0%,#0d37a8 100%);padding:35px 30px}.change-pwd-shell .change-pwd-header-icon{margin-bottom:12px;font-size:42px}.change-pwd-shell .change-pwd-header h1{color:#fff;margin-bottom:8px;font-family:DM Serif Display,serif;font-size:22px}.change-pwd-shell .change-pwd-header p{color:#ffffffe6;font-size:13px}.change-pwd-shell .change-pwd-body{padding:35px 30px}.change-pwd-shell .alert-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;margin-bottom:25px;padding:14px 16px}.change-pwd-shell .alert-box p{color:#1e40af;font-size:13px;line-height:1.5}.change-pwd-shell .alert-box svg{vertical-align:-3px;width:18px;height:18px;margin-right:8px}.change-pwd-shell .form-group{margin-bottom:20px}.change-pwd-shell .form-group label{color:var(--text-dark);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.change-pwd-shell .input-wrap{align-items:center;display:flex;position:relative}.change-pwd-shell .input-icon{color:#94a3b8;pointer-events:none;align-items:center;display:flex;position:absolute;left:14px}.change-pwd-shell .form-input{background:var(--surface);color:var(--text-dark);border:2px solid var(--border);width:100%;box-sizing:border-box;border-radius:10px;outline:none;padding:12px 14px 12px 44px;font-family:DM Sans,sans-serif;font-size:14px;transition:all .2s}.change-pwd-shell .form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.change-pwd-shell .form-input.input-error{border-color:var(--danger);background-color:var(--tint-red-bg)}.change-pwd-shell .form-input.input-valid{background-color:var(--success-bg);border-color:#16a34a}.change-pwd-shell .pw-toggle{cursor:pointer;color:#64748b;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:12px}.change-pwd-shell .pw-toggle:hover{color:var(--primary)}.change-pwd-shell .alert{border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:14px}.change-pwd-shell .alert.error{background:var(--tint-red-bg);border:1px solid var(--danger-border);color:var(--danger)}.change-pwd-shell .alert.success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.change-pwd-shell .btn-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1b4fd8 0%,#0d37a8 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:10px;padding:14px 24px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;transition:all .2s;display:flex}.change-pwd-shell .btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 25px #1b4fd84d}.change-pwd-shell .btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.change-pwd-shell .spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:none}@keyframes spin{to{transform:rotate(360deg)}}.change-pwd-shell .password-requirements{border:1px solid var(--border);background:#f8fafc;border-radius:10px;margin-top:12px;padding:14px 16px}.change-pwd-shell .password-requirements h4{color:var(--text-dark);margin-bottom:10px;font-size:13px;font-weight:600}.change-pwd-shell .password-requirements ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.change-pwd-shell .password-requirements li{color:#64748b;align-items:center;gap:8px;font-size:12px;transition:color .2s;display:flex}.change-pwd-shell .password-requirements li.valid{color:#16a34a}.change-pwd-shell .password-requirements li.valid .check-icon{display:block}.change-pwd-shell .password-requirements li .check-icon{color:#16a34a;width:14px;height:14px;display:none}.change-pwd-shell .password-requirements li .dot{background:#cbd5e1;border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .2s}.change-pwd-shell .password-requirements li.valid .dot{background:#16a34a}.change-pwd-shell .password-input-group{grid-template-columns:1fr 1fr;gap:12px;display:grid}.change-pwd-shell .password-field{flex-direction:column;gap:6px;display:flex}.change-pwd-shell .password-field label{color:#475569;font-size:13px}@media (width<=600px){.change-pwd-shell .change-pwd-container{border-radius:16px}.change-pwd-shell .change-pwd-header{padding:28px 20px}.change-pwd-shell .change-pwd-header-icon{font-size:36px}.change-pwd-shell .change-pwd-header h1{font-size:20px}.change-pwd-shell .change-pwd-body{padding:28px 20px}.change-pwd-shell .password-input-group{grid-template-columns:1fr}}@media (width<=400px){.change-pwd-shell .change-pwd-header h1{font-size:18px}.change-pwd-shell .change-pwd-header p{font-size:12px}.change-pwd-shell .btn-submit{padding:13px 20px;font-size:15px}}.change-pwd-shell .input-wrap:has(.pw-toggle) input{padding-right:40px}.license-screen{z-index:1000;background:var(--bg-light,#f4f6fb);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.license-card{background:var(--bg-white,#fff);border:1px solid var(--border,#e5e7eb);text-align:center;border-radius:16px;width:100%;max-width:460px;padding:40px 32px 32px;box-shadow:0 12px 40px #0f172a1f}.license-icon-wrap{background:var(--tint-amber-bg,#fef3c7);width:64px;height:64px;color:var(--tint-amber-fg,#b45309);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.license-icon{color:inherit}.license-title{color:var(--text-dark,#111827);margin:0 0 12px;font-size:22px;font-weight:700}.license-message{color:var(--text-mid,#4b5563);margin:0 0 24px;font-size:15px;line-height:1.6}.license-meta{border:1px solid var(--border,#e5e7eb);background:var(--bg-light,#f9fafb);text-align:left;border-radius:12px;margin:0 0 24px;padding:16px}.license-meta-row{justify-content:space-between;gap:16px;padding:6px 0;display:flex}.license-meta-row+.license-meta-row{border-top:1px solid var(--border,#e5e7eb)}.license-meta dt{color:var(--text-light,#6b7280);font-size:13px}.license-meta dd{color:var(--text-dark,#111827);text-align:right;word-break:break-word;margin:0;font-size:13px;font-weight:600}.license-reassure{color:var(--text-light,#6b7280);justify-content:center;align-items:center;gap:8px;margin:0 0 24px;font-size:13px;line-height:1.5;display:flex}.license-reassure svg{flex-shrink:0}.license-home-link{color:var(--primary,#2563eb);font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.license-home-link:hover{text-decoration:underline}@media (width<=520px){.license-card{padding:32px 20px 24px}}:root{--primary:#1b4fd8;--primary-dark:#1640b0;--primary-light:#e8effe;--text-dark:#1a202c;--text-mid:#4a5568;--text-light:#718096;--bg-white:#fff;--bg-light:#f7f8fc;--border:#e2e8f0}.auth-shell{-webkit-font-smoothing:antialiased;background:var(--bg-light);height:100%;color:var(--text-dark);font-family:DM Sans,sans-serif}.auth-shell .login-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-shell .login-left{background:linear-gradient(145deg,#1b4fd8 0%,#1240c4 50%,#0d2e94 100%);flex-direction:column;justify-content:space-between;padding:48px 56px;display:flex;position:relative;overflow:hidden}.auth-shell .login-left:before{content:"";background:#ffffff0d;border-radius:50%;width:420px;height:420px;position:absolute;top:-120px;right:-120px}.auth-shell .login-left:after{content:"";background:#ffffff0a;border-radius:50%;width:320px;height:320px;position:absolute;bottom:-80px;left:-80px}.auth-shell .left-top{z-index:1;position:relative}.auth-shell .brand-logo{align-items:center;gap:12px;margin-bottom:64px;display:flex}.auth-shell .brand-logo-icon{object-fit:contain;flex-shrink:0;width:48px;height:40px}.auth-shell .brand-logo-text{color:#ffffffe6;font-family:DM Serif Display,serif;font-size:.95rem;line-height:1.3}.auth-shell .left-headline{color:#fff;letter-spacing:-.02em;margin-bottom:20px;font-family:DM Serif Display,serif;font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:1.2}.auth-shell .left-headline em{color:#ffffffbf;font-style:italic}.auth-shell .left-sub{color:#ffffffa6;max-width:340px;font-size:.95rem;line-height:1.75}.auth-shell .left-bottom{z-index:1;position:relative}.auth-shell .left-stats{border-top:1px solid #ffffff1f;gap:40px;padding-top:48px;display:flex}.auth-shell .left-stat-num{color:#fff;margin-bottom:4px;font-family:DM Serif Display,serif;font-size:1.8rem;line-height:1}.auth-shell .left-stat-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.auth-shell .login-right{background:var(--bg-white);flex-direction:column;justify-content:center;align-items:center;padding:48px 40px;display:flex}.auth-shell .login-form-wrap{width:100%;max-width:380px;animation:.4s both fadeUp}.auth-shell .back-link{color:var(--text-light);align-items:center;gap:6px;margin-bottom:40px;font-size:.85rem;text-decoration:none;transition:color .15s;display:inline-flex}.auth-shell .back-link:hover{color:var(--primary)}.auth-shell .form-heading{color:var(--text-dark);letter-spacing:-.02em;margin-bottom:8px;font-family:DM Serif Display,serif;font-size:2rem}.auth-shell .form-subheading{color:var(--text-light);margin-bottom:36px;font-size:.92rem;line-height:1.6}.auth-shell .alert{border-radius:8px;margin-bottom:20px;padding:11px 14px;font-size:.87rem;line-height:1.5;display:none}.auth-shell .alert.error{color:#791f1f;background:#fcebeb;border:1px solid #f7c1c1;display:block}.auth-shell .alert.success{background:var(--tint-green-bg);color:var(--tint-green-fg);border:1px solid #c0dd97;display:block}.auth-shell .alert.notice{background:var(--tint-amber-bg);border:1px solid var(--tint-amber-border);color:var(--tint-amber-fg);display:block}.auth-shell .form-group{margin-bottom:20px}.auth-shell .form-group label{color:var(--text-dark);margin-bottom:7px;font-size:.85rem;font-weight:500;display:block}.auth-shell .input-wrap{position:relative}.auth-shell .input-icon{color:var(--text-light);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.auth-shell .form-group input{border:1px solid var(--border);width:100%;color:var(--text-dark);background:var(--bg-white);border-radius:10px;outline:none;padding:12px 14px 12px 40px;font-family:DM Sans,sans-serif;font-size:.93rem;transition:border-color .18s,box-shadow .18s}.auth-shell .form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.auth-shell .form-group input::placeholder{color:#b0b8c8}.auth-shell .form-group input.input-error{border-color:#e24b4a}.auth-shell .field-error{color:#a32d2d;margin-top:5px;font-size:.8rem;display:block}.auth-shell .pw-toggle{cursor:pointer;color:var(--text-light);background:0 0;border:none;align-items:center;padding:2px;transition:color .15s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-shell .pw-toggle:hover{color:var(--text-dark)}.auth-shell .form-row{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.auth-shell .remember-label{color:var(--text-mid);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:.85rem;display:flex}.auth-shell .remember-label input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.auth-shell .forgot-link{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;text-decoration:none;transition:color .15s}.auth-shell .forgot-link:hover{color:var(--primary-dark)}.auth-shell .btn-submit{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:600;transition:background .18s,transform .14s,box-shadow .18s;display:flex;box-shadow:0 2px 8px #1b4fd847}.auth-shell .btn-submit:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 14px #1b4fd859}.auth-shell .btn-submit:active{transform:translateY(0)}.auth-shell .btn-guest{width:100%;color:var(--primary);border:1px solid var(--primary);text-align:center;cursor:pointer;background:0 0;border-radius:10px;margin-top:12px;padding:13px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .18s,color .18s,transform .14s;display:block}.auth-shell .btn-guest:hover{background:var(--primary-light);transform:translateY(-1px)}.auth-shell .btn-guest:active{transform:translateY(0)}.auth-shell .spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:none}.auth-shell .btn-submit.loading .spinner{display:block}.auth-shell .btn-submit.loading .btn-text{display:none}.auth-shell .form-footer{text-align:center;color:var(--text-light);margin-top:28px;font-size:.82rem;line-height:1.6}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.auth-shell .login-page{grid-template-columns:1fr}.auth-shell .login-left{display:none}.auth-shell .login-right{justify-content:flex-start;padding:64px 24px 40px}}@media (width<=667px){.auth-shell #forgotModal{padding:15px}.auth-shell #forgotBox{border-radius:14px;max-width:100%}.auth-shell #forgotModal h3{font-size:1.1rem!important}.auth-shell #forgotModal p{font-size:.78rem!important}.auth-shell #forgotEmail{padding:8px 11px!important;font-size:.85rem!important}.auth-shell #forgotModal button{padding:8px 16px!important;font-size:.82rem!important}.auth-shell #rateLimitModal{padding:15px}.auth-shell #rateLimitBox{border-radius:14px;max-width:100%}.auth-shell #rateLimitBox h3{font-size:1.1rem!important}.auth-shell #rateLimitBox p{font-size:.8rem!important}.auth-shell #countdownTimer{font-size:2rem!important}}@media (width<=375px){.auth-shell #forgotModal{padding:12px}.auth-shell #forgotBox{border-radius:12px}.auth-shell #forgotModal h3{font-size:1rem!important}.auth-shell #forgotModal p{font-size:.75rem!important}.auth-shell #countdownTimer{font-size:1.8rem!important}}.auth-shell .modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;visibility:hidden;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.auth-shell .modal-overlay.active{opacity:1;visibility:visible}.auth-shell .modal-box{background:var(--surface);border-radius:16px;width:100%;max-width:420px;transition:transform .22s;transform:translateY(16px)scale(.98);box-shadow:0 24px 64px #0000002e}.auth-shell .modal-overlay.active .modal-box{transform:translateY(0)scale(1)}.auth-shell .modal-header{justify-content:space-between;align-items:center;padding:22px 28px 0;display:flex}.auth-shell .modal-header h3{color:var(--text-dark);margin:0 0 3px;font-family:DM Serif Display,serif;font-size:1.2rem}.auth-shell .modal-header p{color:var(--text-light);margin:0;font-size:.82rem}.auth-shell .modal-close{background:var(--surface-2);cursor:pointer;width:30px;height:30px;color:var(--text-light);border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.auth-shell .modal-body{padding:20px 28px 28px}.auth-shell .modal-alert{border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.83rem;line-height:1.5;display:none}.auth-shell .modal-alert.success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success);display:block}.auth-shell .modal-alert.error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);display:block}.auth-shell .modal-input{border:1px solid var(--border);width:100%;color:var(--text-dark);box-sizing:border-box;background:var(--surface);border-radius:8px;outline:none;font-family:DM Sans,sans-serif;font-size:.875rem;transition:border-color .15s,box-shadow .15s;padding:9px 12px!important}.auth-shell .modal-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.auth-shell .modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.auth-shell .btn-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-mid);cursor:pointer;border-radius:9px;padding:9px 20px;font-family:DM Sans,sans-serif;font-size:.875rem}.auth-shell .btn-cancel:hover{background:var(--surface-2)}.auth-shell .btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 22px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .15s;display:flex}.auth-shell .btn-primary:hover{background:var(--primary-dark)}.auth-shell .btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-shell .spinner-small{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.auth-shell .rate-limit-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;opacity:1;visibility:visible;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;transition:opacity .25s,visibility .25s;display:flex;position:fixed;inset:0}.auth-shell .rate-limit-box{background:var(--surface);border-radius:16px;width:100%;max-width:420px;transition:transform .25s;transform:translateY(0)scale(1);box-shadow:0 24px 64px #0000002e}.auth-shell .rate-limit-header{text-align:center;padding:24px 28px 0}.auth-shell .rate-limit-icon-wrap{background:var(--tint-red-bg);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;display:flex}.auth-shell .rate-limit-icon{stroke:#dc2626}.auth-shell .rate-limit-title{color:var(--text-dark);margin:0 0 8px;font-family:DM Serif Display,serif;font-size:1.25rem}.auth-shell .rate-limit-text{color:var(--text-light);margin:0;font-size:.85rem;line-height:1.6}.auth-shell .rate-limit-body{padding:20px 28px 28px}.auth-shell .rate-limit-timer-wrap{text-align:center;background:var(--surface-2);border-radius:12px;margin-bottom:20px;padding:24px}.auth-shell .rate-limit-timer-text{color:var(--text-mid);margin-bottom:12px;font-size:.85rem}.auth-shell .rate-limit-timer{color:var(--primary);font-family:DM Serif Display,serif;font-size:2.5rem;font-weight:700}.auth-shell .rate-limit-footer{color:var(--text-light);text-align:center;font-size:.82rem}.auth-shell .page-loading-overlay{z-index:10000;opacity:0;visibility:hidden;background:linear-gradient(135deg,#0f172a 0%,#1b4fd8 50%,#1640b0 100%);transition:opacity .4s,visibility .4s;display:none;position:fixed;inset:0}.auth-shell .page-loading-overlay.show{opacity:1;visibility:visible;justify-content:center;align-items:center;display:flex}.auth-shell .page-loading-overlay.active{opacity:0;visibility:hidden;transition-delay:0s}.auth-shell .skeleton-loader-wrap{flex-direction:column;align-items:center;width:100%;max-width:500px;padding:40px;display:flex}.auth-shell .qad-preload{flex-direction:column;align-items:center;gap:28px;display:flex}.auth-shell .qad-preload-logo{flex-direction:column;align-items:center;gap:12px;display:flex}.auth-shell .qad-preload-icon{background:linear-gradient(135deg,#60a5fa,#1b4fd8);border-radius:24px;justify-content:center;align-items:center;width:96px;height:96px;animation:2s ease-in-out infinite qad-pulse;display:flex;box-shadow:0 20px 48px #1b4fd866}.auth-shell .qad-preload-icon svg{color:#fff;width:52px;height:52px}.auth-shell .qad-preload-title{color:#fff;letter-spacing:-.02em;text-align:center;text-shadow:0 2px 8px #0000004d;font-family:DM Serif Display,serif;font-size:2rem}.auth-shell .qad-preload-subtitle{color:#ffffffd9;text-align:center;letter-spacing:.05em;text-transform:uppercase;font-size:1rem;font-weight:500}.auth-shell .qad-preload-status{align-items:center;gap:10px;margin-top:8px;display:flex}.auth-shell .qad-preload-spinner{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite qad-spin}.auth-shell .qad-preload-text{color:#ffffffbf;font-size:.85rem;font-weight:400}.auth-shell .qad-preload-bar{background:#ffffff26;border-radius:100px;width:200px;height:4px;position:relative;overflow:hidden}.auth-shell .qad-preload-bar-fill{background:linear-gradient(90deg,#60a5fa,#1b4fd8,#60a5fa) 0 0/200% 100%;border-radius:100px;width:40%;height:100%;animation:1.8s ease-in-out infinite qad-loading-bar;position:absolute;top:0;left:0}.auth-shell .qad-preload-message{text-align:center;margin-top:16px}.auth-shell .qad-preload-message p{color:#ffffffa6;font-size:.8rem;line-height:1.5}.auth-shell .captcha-row{align-items:stretch;gap:10px;margin-bottom:16px;display:flex}.auth-shell .captcha-frame{border:1px solid var(--border);background:#f6f8fc;border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:74px;padding:4px;display:flex;overflow:hidden}.auth-shell .captcha-image{max-width:100%;height:auto;image-rendering:pixelated;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}.auth-shell .captcha-status{color:#8a94a6;font-size:.8rem}.auth-shell .captcha-refresh{border:1px solid var(--border);background:var(--surface);width:42px;color:var(--text-mid);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex}.auth-shell .captcha-refresh:hover:not(:disabled){background:var(--surface-2);color:var(--primary);border-color:#cbd5e0}.auth-shell .captcha-refresh:disabled{opacity:.55;cursor:not-allowed}.auth-shell .captcha-input{background:var(--surface);color:var(--text-dark);letter-spacing:.18em;text-transform:uppercase;font-weight:600}.auth-shell .captcha-input::placeholder{letter-spacing:normal;text-transform:none;font-weight:400}.auth-shell .otp-box{max-width:440px}.auth-shell .otp-message{text-align:center;color:var(--text-mid);margin:0 0 16px;font-size:.875rem;line-height:1.6}.auth-shell .otp-message strong{color:var(--text-dark)}.auth-shell .otp-email{background:var(--surface-2);border:1px solid var(--border);text-align:center;color:var(--text-dark);border-radius:10px;margin-bottom:20px;padding:10px 14px;font-size:.85rem}.auth-shell .otp-label{color:var(--text-dark);text-align:center;margin-bottom:10px;font-size:.82rem;font-weight:500;display:block}.auth-shell .otp-group{margin-bottom:4px}.auth-shell .otp-inputs{justify-content:center;gap:8px;margin-bottom:20px;display:flex}.auth-shell .otp-input{box-sizing:border-box;text-align:center;border:2px solid var(--border);background:var(--surface-2);width:46px;height:54px;color:var(--text-dark);caret-color:var(--primary);border-radius:12px;outline:none;padding:0;font-family:DM Sans,sans-serif;font-size:1.35rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.auth-shell .otp-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd826}.auth-shell .otp-input.input-error{border-color:var(--danger);background-color:var(--danger-bg)}.auth-shell .otp-recovery-input{box-sizing:border-box;text-align:center;letter-spacing:2px;text-transform:uppercase;border:2px solid var(--border);background:var(--surface-2);width:100%;color:var(--text-dark);caret-color:var(--primary);border-radius:12px;outline:none;margin-bottom:20px;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.05rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.auth-shell .otp-recovery-input::placeholder{color:var(--text-faint);letter-spacing:1px;font-weight:400}.auth-shell .otp-recovery-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd826}.auth-shell .otp-recovery-input.input-error{border-color:var(--danger);background-color:var(--danger-bg)}.auth-shell .btn-otp-verify{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:12px 22px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;transition:background .15s}.auth-shell .btn-otp-verify:hover:not(:disabled){background:var(--primary-dark)}.auth-shell .btn-otp-verify:disabled{opacity:.6;cursor:not-allowed}.auth-shell .otp-resend{text-align:center;border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.auth-shell .otp-resend p{color:var(--text-light);margin:0 0 8px;font-size:.82rem}.auth-shell .otp-resend-link{color:var(--primary);cursor:pointer;background:0 0;border:none;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600;transition:color .15s}.auth-shell .otp-resend-link:hover:not(:disabled){color:var(--primary-dark);text-decoration:underline}.auth-shell .otp-resend-link:disabled{color:var(--text-faint);cursor:not-allowed}.auth-shell .otp-timer{color:var(--text-light);margin-top:8px;font-size:.78rem}.auth-shell .otp-actions{justify-content:center;margin-top:16px}@media (width<=420px){.auth-shell .otp-inputs{gap:6px}.auth-shell .otp-input{width:40px;height:48px;font-size:1.15rem}}.auth-shell .input-wrap:has(.pw-toggle) input{padding-right:40px}.auth-shell .pw-requirements{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin-bottom:20px;padding:12px 14px}.auth-shell .pw-requirements p{color:var(--text-mid);margin:0 0 8px;font-size:.8rem;font-weight:500}.auth-shell .pw-requirements ul{margin:0;padding:0;list-style:none}.auth-shell .pw-requirements ul li{color:var(--text-light);align-items:center;gap:7px;font-size:.78rem;line-height:1.8;transition:color .2s;display:flex}.auth-shell .pw-requirements ul li .req-icon{background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:background .2s;display:inline-flex}.auth-shell .pw-requirements ul li.met{color:#276749}.auth-shell .pw-requirements ul li.met .req-icon{background:#276749}.auth-shell .pw-requirements ul li.unmet{color:var(--danger)}.auth-shell .pw-requirements ul li.unmet .req-icon{background:#c53030}.auth-shell .req-icon svg{display:block}.page-audit .audit-stats{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px;display:grid}.page-audit .audit-stat{background:var(--surface);border:1px solid var(--border);text-align:center;cursor:pointer;border-radius:10px;padding:14px 16px;transition:transform .12s,box-shadow .12s}.page-audit .audit-stat:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000012}.page-audit .audit-stat-val{color:var(--text-dark);margin-bottom:4px;font-family:DM Serif Display,serif;font-size:1.6rem;line-height:1}.page-audit .audit-stat-label{text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700}.page-audit .s-gray .audit-stat-label{color:var(--text-light)}.page-audit .s-green .audit-stat-label{color:var(--tint-green-fg)}.page-audit .s-blue .audit-stat-label{color:var(--primary)}.page-audit .s-red .audit-stat-label{color:var(--tint-red-fg)}.page-audit .s-amber .audit-stat-label{color:var(--tint-amber-fg)}.page-audit .audit-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-audit .search-wrap{flex:1;min-width:200px;position:relative}.page-audit .search-wrap svg{color:var(--text-light);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.page-audit .search-input{border:1px solid var(--border);background:var(--surface);border-radius:9px;outline:none;width:100%;padding:9px 14px 9px 36px;font-family:DM Sans,sans-serif;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.page-audit .search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.page-audit .filter-select{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:9px;outline:none;padding:9px 14px;font-family:DM Sans,sans-serif;font-size:.875rem}.page-audit .table-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.page-audit .table-wrap{overflow-x:auto}.page-audit table{border-collapse:collapse;width:100%}.page-audit thead th{background:var(--surface-2);text-align:left;color:var(--text-light);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:1px solid var(--border);padding:11px 16px;font-size:.72rem;font-weight:600}.page-audit tbody tr{border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background .12s}.page-audit tbody tr:last-child{border-bottom:none}.page-audit tbody tr:hover{background:var(--surface-2)}.page-audit td{color:var(--text-dark);vertical-align:middle;padding:13px 16px;font-size:.875rem}.page-audit .action-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:var(--surface-3);color:var(--text-mid);border-radius:100px;align-items:center;gap:5px;padding:4px 11px;font-size:.7rem;font-weight:700;display:inline-flex}.page-audit .action-badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.page-audit .action-created{background:var(--tint-green-bg);color:var(--tint-green-fg)}.page-audit .action-updated{background:var(--tint-blue-bg);color:var(--primary)}.page-audit .action-deleted{background:var(--tint-red-bg);color:var(--tint-red-fg)}.page-audit .action-restored{background:var(--tint-amber-bg);color:var(--tint-amber-fg)}.page-audit .action-backup{background:var(--tint-purple-bg);color:var(--tint-purple-fg)}.page-audit .action-bulk_upload{background:var(--tint-teal-bg);color:var(--tint-teal-fg)}.page-audit .action-password_reset{background:var(--tint-rose-bg);color:var(--tint-rose-fg)}.page-audit .performer{align-items:center;gap:8px;display:flex}.page-audit .perf-avatar{background:var(--primary);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.72rem;font-weight:700;display:flex}.page-audit .perf-name{font-size:.875rem;font-weight:500}.page-audit .perf-role{color:var(--text-light);font-size:.72rem}.page-audit .dt-date{font-size:.85rem;font-weight:500}.page-audit .dt-time{color:var(--text-light);font-size:.75rem}.page-audit .target-name{font-weight:500}.page-audit .target-sub{color:var(--text-light);font-size:.75rem}.page-audit .changes-pill{color:var(--primary);background:var(--tint-blue-bg);border-radius:100px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.page-audit .no-change-pill{color:var(--text-faint);font-size:.75rem}.page-audit .row-arrow{color:var(--text-faint);transition:color .12s}.page-audit tbody tr:hover .row-arrow{color:var(--primary)}.page-audit .drawer-overlay{z-index:998;opacity:0;visibility:hidden;background:#0f172a66;transition:opacity .22s,visibility .22s;position:fixed;inset:0}.page-audit .drawer-overlay.open{opacity:1;visibility:visible}.page-audit .drawer{background:var(--surface);z-index:999;flex-direction:column;width:420px;max-width:100vw;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-8px 0 40px #00000024}.page-audit .drawer.open{transform:translate(0)}.page-audit .drawer-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex}.page-audit .drawer-title{color:var(--text-dark);letter-spacing:-.02em;font-family:DM Serif Display,serif;font-size:1.2rem}.page-audit .drawer-sub{color:var(--text-light);margin-top:2px;font-size:.8rem}.page-audit .drawer-close{background:var(--surface-2);cursor:pointer;width:30px;height:30px;color:var(--text-light);border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s;display:flex}.page-audit .drawer-close:hover{background:var(--border);color:var(--text-dark)}.page-audit .drawer-body{flex:1;padding:20px 24px;overflow-y:auto}.page-audit .drawer-meta{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px;display:grid}.page-audit .meta-box{background:var(--surface-2);border-radius:9px;padding:12px 14px}.page-audit .meta-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);margin-bottom:4px;font-size:.68rem;font-weight:600}.page-audit .meta-val{color:var(--text-dark);font-size:.875rem;font-weight:500}.page-audit .meta-val.full{grid-column:1/-1}.page-audit .changes-heading{text-transform:uppercase;letter-spacing:.07em;color:var(--text-light);margin-bottom:10px;font-size:.75rem;font-weight:700}.page-audit .change-row{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;overflow:hidden}.page-audit .change-field{background:var(--surface-2);text-transform:uppercase;letter-spacing:.05em;color:var(--text-mid);border-bottom:1px solid var(--border);padding:8px 14px;font-size:.75rem;font-weight:700}.page-audit .change-vals{grid-template-columns:1fr 1fr;display:grid}.page-audit .change-from,.page-audit .change-to{padding:10px 14px}.page-audit .change-from{border-right:1px solid var(--border)}.page-audit .change-dir{text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:.65rem;font-weight:700}.page-audit .change-from .change-dir{color:var(--tint-red-fg)}.page-audit .change-to .change-dir{color:var(--tint-green-fg)}.page-audit .change-val{word-break:break-all;font-size:.85rem;line-height:1.4}.page-audit .change-from .change-val{color:var(--tint-red-fg);background:var(--tint-red-bg);border-radius:5px;padding:3px 7px;display:inline-block}.page-audit .change-to .change-val{color:var(--tint-green-fg);background:var(--tint-green-bg);border-radius:5px;padding:3px 7px;display:inline-block}.page-audit .no-changes-box{text-align:center;color:var(--text-light);padding:32px 16px;font-size:.875rem}.page-audit .pagination-wrap{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.page-audit .page-info{color:var(--text-light);font-size:.82rem}.page-audit .page-links{gap:4px;display:flex}.page-audit .page-links a,.page-audit .page-links button,.page-audit .page-links span{border:1px solid var(--border);min-width:32px;height:32px;color:var(--text-mid);border-radius:7px;justify-content:center;align-items:center;padding:0 8px;font-size:.82rem;transition:background .12s;display:inline-flex}.page-audit .page-links a:hover,.page-audit .page-links button:hover{background:var(--tint-blue-bg);border-color:var(--primary);color:var(--primary)}.page-audit .page-links span.active-page{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.page-audit .page-links span.disabled{color:var(--text-faint)}.page-audit .empty-row td{text-align:center;color:var(--text-light);padding:48px}@media (width<=768px){.page-audit .audit-stats{grid-template-columns:repeat(3,1fr);gap:10px}.page-audit .audit-stat{padding:12px 10px}.page-audit .audit-toolbar{flex-direction:column;align-items:stretch;gap:10px}.page-audit .audit-toolbar .search-wrap{min-width:unset}.page-audit .filter-select{width:100%}.page-audit .table-wrap{overflow-x:unset}.page-audit table,.page-audit thead,.page-audit tbody,.page-audit th,.page-audit td,.page-audit tr{display:block}.page-audit thead tr{position:absolute;top:-9999px;left:-9999px}.page-audit tbody tr{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;margin-bottom:10px;padding:10px 14px;position:relative}.page-audit tbody tr:hover{background:var(--surface-2)}.page-audit tbody tr:last-child{border-bottom:1px solid var(--border)}.page-audit td:last-child{display:none!important}.page-audit td{border:none;align-items:flex-start;gap:8px;padding:6px 0;font-size:.85rem;display:flex}.page-audit td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);flex-shrink:0;min-width:88px;padding-top:3px;font-size:.72rem;font-weight:600}.page-audit td:not([data-label]){display:none}.page-audit td[data-label=Performed\ By] .performer{flex-wrap:wrap;gap:6px}.page-audit .empty-row{border:none!important;margin:0!important;padding:0!important}.page-audit .empty-row td{text-align:center;color:var(--text-light);padding:40px 16px!important;display:block!important}.page-audit .empty-row td:before{display:none!important}.page-audit .pagination-wrap{flex-direction:column;align-items:flex-start;gap:10px}.page-audit .page-links{flex-wrap:wrap}.page-audit .drawer{width:100vw}.page-audit .drawer-meta{grid-template-columns:1fr}.page-audit .action-badge{padding:5px 12px;font-size:.75rem}}@media (width<=480px){.page-audit .audit-stats{grid-template-columns:1fr 1fr}.page-audit .audit-stat:last-child{grid-column:1/-1}.page-audit .audit-stat{padding:10px 12px}.page-audit .audit-stat-val{font-size:1.3rem}}.page-audit .drawer-footer{border-top:1px solid var(--border);flex-shrink:0;padding:16px 24px}.page-audit .btn-restore{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px 20px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;transition:background .15s,transform .12s;display:inline-flex}.page-audit .btn-restore:hover{background:var(--primary-dark);transform:translateY(-1px)}.page-audit .btn-restore:active{transform:translateY(0)}.page-audit .restore-note{color:var(--text-light);text-align:center;margin-top:8px;font-size:.75rem}.page-audit .already-restored-note{background:var(--tint-green-bg);border:1px solid var(--tint-green-border);color:var(--tint-green-fg);border-radius:9px;align-items:center;gap:7px;padding:10px 14px;font-size:.82rem;display:flex}.page-audit .action-two_factor_enabled,.page-audit .action-two_factor_disabled,.page-audit .action-two_factor_recovery_codes_regenerated,.page-audit .action-two_factor_recovery_used{background:var(--tint-rose-bg);color:var(--tint-rose-fg)}.page-audit .action-database_backup{background:var(--tint-purple-bg);color:var(--tint-purple-fg)}.page-calendar .cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-calendar .cal-month-nav{align-items:center;gap:6px;display:flex}.page-calendar .cal-month{min-width:190px;color:var(--text-dark);font-family:DM Serif Display,serif;font-size:1.25rem;font-weight:400}.page-calendar .cal-nav{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-mid);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,border-color .12s,color .12s;display:flex}.page-calendar .cal-nav:hover{background:var(--tint-blue-bg);border-color:var(--primary);color:var(--primary)}.page-calendar .cal-toolbar-actions{align-items:center;gap:8px;display:flex}.page-calendar .cal-today{border:1px solid var(--border);background:var(--surface);color:var(--text-mid);cursor:pointer;border-radius:9px;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:.85rem;transition:background .12s}.page-calendar .cal-today:hover{background:var(--surface-2)}.page-calendar .btn-add{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 18px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.page-calendar .btn-add:hover{background:var(--primary-dark)}.page-calendar .cal-board{background:var(--border);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;transition:opacity .15s;display:grid;overflow:hidden}.page-calendar .cal-board.is-loading{opacity:.55}.page-calendar .cal-head-cell{background:var(--surface-2);color:var(--text-light);letter-spacing:.05em;text-transform:uppercase;text-align:center;padding:10px 8px;font-size:.72rem;font-weight:700}.page-calendar .cal-cell{background:var(--surface);flex-direction:column;gap:4px;min-height:108px;padding:6px;display:flex}.page-calendar .cal-cell.is-outside{background:var(--surface-2)}.page-calendar .cal-cell.is-outside .cal-date{color:var(--text-faint)}.page-calendar .cal-cell-head{justify-content:space-between;align-items:center;gap:4px;min-height:22px;display:flex}.page-calendar .cal-date{min-width:22px;height:22px;color:var(--text-mid);font-variant-numeric:tabular-nums;border-radius:6px;justify-content:center;align-items:center;padding:0 5px;font-size:.76rem;display:inline-flex}.page-calendar .cal-cell.is-today .cal-date{background:var(--primary);color:#fff;font-weight:700}.page-calendar .cal-add-day{width:20px;height:20px;color:var(--text-light);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s,background .12s,color .12s;display:flex}.page-calendar .cal-cell:hover .cal-add-day,.page-calendar .cal-add-day:focus-visible{opacity:1}.page-calendar .cal-add-day:hover{background:var(--tint-blue-bg);color:var(--primary)}.page-calendar .cal-cell-events{flex-direction:column;gap:3px;min-width:0;display:flex}.page-calendar .cal-event{border:none;border-left:3px solid var(--primary);background:var(--tint-blue-bg);width:100%;color:var(--tint-blue-fg);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:5px;padding:4px 7px;font-family:DM Sans,sans-serif;font-size:.73rem;transition:background .12s;display:block;overflow:hidden}.page-calendar .cal-event-time{font-variant-numeric:tabular-nums;margin-right:5px;font-weight:700}.page-calendar .cal-event:hover{background:var(--border-accent)}.page-calendar .form-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}@media (width<=900px){.page-calendar .cal-cell{min-height:88px}}@media (width<=640px){.page-calendar .cal-toolbar,.page-calendar .cal-toolbar-actions{width:100%}.page-calendar .cal-month{flex:1;min-width:0;font-size:1.05rem}.page-calendar .cal-toolbar-actions .btn-add{flex:1;justify-content:center}.page-calendar .cal-cell{min-height:62px;padding:4px}.page-calendar .cal-event{background:var(--primary);border-left:none;border-radius:3px;height:6px;padding:0;font-size:0}.page-calendar .form-grid{grid-template-columns:1fr}}.viz-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(14px,1.6vw,20px);margin-bottom:clamp(16px,2vw,24px);display:grid}.viz-grid--three{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}.viz-card-wide{margin-bottom:clamp(16px,2vw,24px)}.viz-mini-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:8px clamp(16px,2vw,28px);display:grid}.viz-body{min-width:0;padding:clamp(14px,1.5vw,18px) clamp(16px,1.8vw,24px) clamp(16px,1.8vw,22px)}.viz-sub{letter-spacing:.02em;text-transform:uppercase;color:var(--text-light);margin:4px 0 2px;font-size:.78rem;font-weight:600;display:block}.viz-empty{text-align:center;color:var(--text-light);padding:28px 4px;font-size:.88rem}.viz-barlist{flex-direction:column;gap:12px;display:flex;position:relative}.viz-bar-row{grid-template-columns:minmax(88px,30%) 1fr auto;align-items:center;gap:12px;display:grid}.viz-bar-label{color:var(--text-mid);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.viz-bar-track{background:var(--surface-3);border-radius:2px;height:14px;display:block}.viz-bar-fill{border-radius:2px 4px 4px 2px;height:100%;transition:width .3s;display:block}.viz-bar-value{text-align:right;min-width:44px;color:var(--text-dark);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600}.viz-donut{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.viz-donut-plot{flex:0 0 168px;width:168px;position:relative}.viz-donut-plot svg{width:100%;height:auto;display:block}.viz-donut-track{fill:none;stroke:var(--surface-3)}.viz-gridline{stroke:var(--border)}.viz-baseline{stroke:var(--text-faint)}.viz-dot{stroke:var(--surface)}.viz-donut-slice{fill:none;cursor:pointer;transition:stroke-width .15s}.viz-donut-centre{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.viz-donut-figure{color:var(--text-dark);font-size:1.5rem;font-weight:600;line-height:1.1}.viz-donut-caption{color:var(--text-light);font-size:.74rem}.viz-legend{flex-direction:column;flex:1;gap:4px;min-width:180px;margin:0;padding:0;list-style:none;display:flex}.viz-legend-row{color:var(--text-mid);cursor:default;border-radius:8px;grid-template-columns:10px 1fr auto auto;align-items:center;gap:10px;padding:7px 8px;font-size:.84rem;display:grid}.viz-legend-row.is-active{background:var(--bg-light)}.viz-legend-value{color:var(--text-dark);font-variant-numeric:tabular-nums;font-weight:600}.viz-legend-share{text-align:right;min-width:38px;color:var(--text-light);font-variant-numeric:tabular-nums}.viz-swatch{border-radius:3px;flex:0 0 10px;width:10px;height:10px}.viz-trend{position:relative}.viz-trend svg{width:100%;height:auto;display:block;overflow:visible}.viz-axis-text{fill:var(--text-light);font-family:inherit;font-size:9px}.viz-axis-text.is-active{fill:var(--text-dark);font-weight:600}.viz-end-label{fill:var(--text-dark);font-family:inherit;font-size:10px;font-weight:600}.viz-tooltip{z-index:5;pointer-events:none;border:1px solid var(--border);background:var(--bg-white);white-space:nowrap;color:var(--text-mid);border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:.8rem;display:flex;position:absolute;transform:translate(-50%,-130%);box-shadow:0 8px 24px #0f172a24}.viz-tooltip.is-pinned{top:8px;transform:translate(-50%)}.viz-tooltip-title{color:var(--text-dark);font-weight:600}.viz-tooltip-row{font-variant-numeric:tabular-nums;align-items:center;gap:7px;display:flex}.viz-tooltip-row em{color:var(--text-light);font-style:normal}.viz-details{color:var(--text-mid);margin-top:14px;font-size:.82rem}.viz-details summary{cursor:pointer;color:var(--primary);font-weight:500}.viz-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:10px}.viz-table th,.viz-table td{text-align:right;border-bottom:1px solid var(--border);padding:6px 8px}.viz-table th:first-child,.viz-table td:first-child{text-align:left}.viz-table th{color:var(--text-light);font-weight:500}@media (width<=1400px){.viz-grid--three .viz-donut-plot{flex:0 0 140px;width:140px}.viz-grid--three .viz-legend{min-width:140px}}@media (width<=560px){.viz-donut{justify-content:center}.viz-donut-plot{flex:none;width:min(100%,160px)}.viz-legend{flex-basis:100%;min-width:0}}.viz-details{-webkit-overflow-scrolling:touch;overflow-x:auto}.viz-table{min-width:260px}.page-form-view .modal-bg{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;visibility:hidden;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.page-form-view .modal-bg.open{opacity:1;visibility:visible}.page-form-view .modal{background:var(--surface);border-radius:16px;width:100%;max-width:520px;max-height:90vh;transition:transform .22s;overflow-y:auto;transform:translateY(12px);box-shadow:0 24px 64px #0000002e}.page-form-view .modal-bg.open .modal{transform:none}.page-form-view .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex}.page-form-view .modal-title{color:var(--text-dark);letter-spacing:-.02em;padding-top:2px;font-family:DM Serif Display,serif;font-size:1.15rem;line-height:1.3}.page-form-view .modal-close-btn{background:var(--surface-2);cursor:pointer;width:30px;height:30px;color:var(--text-light);border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s;display:flex}.page-form-view .modal-close-btn:hover{background:var(--border);color:var(--text-dark)}.page-form-view .back-link{color:var(--text-light);align-items:center;gap:6px;margin-bottom:20px;font-size:.85rem;text-decoration:none;transition:color .15s;display:inline-flex}.page-form-view .back-link:hover{color:var(--primary)}.page-form-view .view-grid{grid-template-columns:1fr 340px;align-items:start;gap:20px;display:grid}.page-form-view .detail-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.page-form-view .detail-card-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:20px 24px;display:flex}.page-form-view .detail-card-icon{background:var(--tint-blue-bg);width:40px;height:40px;color:var(--primary);border-radius:10px;justify-content:center;align-items:center;display:flex}.page-form-view .detail-card-title{color:var(--text-dark);font-size:1rem;font-weight:600}.page-form-view .detail-card-sub{color:var(--text-light);margin-top:2px;font-size:.78rem}.page-form-view .detail-body{padding:24px}.page-form-view .meta-rows{flex-direction:column;gap:14px;display:flex}.page-form-view .meta-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.page-form-view .meta-row:last-child{border-bottom:none;padding-bottom:0}.page-form-view .meta-key{text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);flex-shrink:0;min-width:100px;font-size:.78rem;font-weight:600}.page-form-view .meta-val{color:var(--text-dark);text-align:right;font-size:.875rem}.page-form-view .status-pill{border-radius:100px;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.page-form-view .status-pill:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.page-form-view .status-active{background:var(--tint-green-bg);color:var(--tint-green-fg)}.page-form-view .status-archived{background:var(--tint-amber-bg);color:var(--tint-amber-fg)}.page-form-view .type-badge{background:var(--tint-blue-bg);color:var(--primary);border-radius:100px;align-items:center;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.page-form-view .desc-box{background:var(--surface-2);color:var(--text-mid);border-radius:9px;margin-top:16px;padding:14px 16px;font-size:.875rem;line-height:1.7}.page-form-view .file-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.page-form-view .file-card-header{border-bottom:1px solid var(--border);color:var(--text-dark);padding:16px 20px;font-size:.875rem;font-weight:600}.page-form-view .file-preview{flex-direction:column;align-items:center;gap:16px;padding:20px;display:flex}.page-form-view .file-icon-big{background:var(--tint-blue-bg);width:72px;height:72px;color:var(--primary);border-radius:14px;justify-content:center;align-items:center;display:flex}.page-form-view .file-name-big{color:var(--text-dark);text-align:center;word-break:break-all;font-size:.875rem;font-weight:500}.page-form-view .file-meta{color:var(--text-light);text-align:center;font-size:.75rem}.page-form-view .btn-download{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 18px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.page-form-view .btn-download:hover{background:var(--primary-dark);color:#fff}.page-form-view .btn-view-doc{background:var(--surface);color:var(--primary);border:1.5px solid var(--primary);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:9px 18px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.page-form-view .btn-view-doc:hover{background:var(--tint-blue-bg)}.page-form-view .file-btn-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.page-form-view .viewer-bg{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;opacity:0;visibility:hidden;background:#0a0e1ae0;flex-direction:column;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.page-form-view .viewer-bg.open{opacity:1;visibility:visible}.page-form-view .viewer-topbar{background:#1e293b;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.page-form-view .viewer-filename{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.page-form-view .viewer-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.page-form-view .viewer-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500;text-decoration:none;transition:background .12s;display:inline-flex}.page-form-view .viewer-btn.dl{background:var(--primary);color:#fff}.page-form-view .viewer-btn.dl:hover{background:var(--primary-dark);color:#fff}.page-form-view .viewer-btn.cls{color:#fff;background:#ffffff1a}.page-form-view .viewer-btn.cls:hover{background:#ffffff2e}.page-form-view .viewer-content{flex:1;justify-content:center;align-items:center;padding:16px;display:flex;overflow:hidden}.page-form-view .viewer-iframe{background:var(--surface);border:none;border-radius:8px;width:100%;height:100%}.page-form-view .viewer-img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 8px 32px #0006}.page-form-view .viewer-unsupported{text-align:center;color:#fff9;padding:32px}.page-form-view .no-file-msg{text-align:center;color:var(--text-light);padding:32px 20px;font-size:.875rem}.page-form-view .action-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.page-form-view .btn-edit-form{background:var(--tint-amber-bg);color:var(--tint-amber-fg);cursor:pointer;white-space:nowrap;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 16px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.page-form-view .btn-edit-form:hover{background:var(--tint-amber-border)}.page-form-view .btn-del-form{background:var(--tint-red-bg);color:var(--tint-red-fg);cursor:pointer;white-space:nowrap;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 16px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.page-form-view .btn-del-form:hover{background:var(--tint-red-border)}.page-form-view .modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px;display:flex}.page-form-view .btn-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-mid);cursor:pointer;border-radius:9px;padding:8px 20px;font-family:DM Sans,sans-serif;font-size:.875rem}.page-form-view .btn-cancel:hover{background:var(--surface-2)}.page-form-view .btn-save{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:8px 22px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500}.page-form-view .btn-save:hover{background:var(--primary-dark)}.page-form-view .btn-del-confirm{background:var(--danger-solid);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:8px 22px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500}.page-form-view .btn-del-confirm:hover{background:var(--danger-solid-hover)}@media (width<=900px){.page-form-view .view-grid{grid-template-columns:1fr}}@media (width<=768px){.page-form-view .action-row{flex-direction:column}.page-form-view .btn-edit-form,.page-form-view .btn-del-form{justify-content:center;width:100%;padding:11px 16px}.page-form-view .modal-bg{align-items:flex-end;padding:0}.page-form-view .modal{border-radius:20px 20px 0 0;max-width:100%;max-height:92vh;transform:translateY(100%)}.page-form-view .modal-bg.open .modal{transform:translateY(0)}.page-form-view .modal-bg.open{animation:.22s both modal-backdrop-in}.page-form-view .modal-bg.open .modal{animation:.3s cubic-bezier(.32,.72,0,1) both modal-sheet-in}.page-form-view .modal-header{padding:18px 20px 0}.page-form-view .modal-body{padding:16px 20px 28px}.page-form-view .modal-footer{flex-wrap:wrap}.page-form-view .btn-cancel,.page-form-view .btn-save,.page-form-view .btn-del-confirm{text-align:center;flex:1;justify-content:center}}@media (width<=480px){.page-form-view .modal-footer{flex-direction:column-reverse;gap:8px}.page-form-view .btn-cancel,.page-form-view .btn-save,.page-form-view .btn-del-confirm{text-align:center;width:100%;padding:11px 20px}}.page-forms .forms-stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.page-forms .form-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:14px;padding:16px 20px;display:flex}.page-forms .fstat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.page-forms .fstat-icon.blue{background:var(--tint-blue-bg);color:var(--primary)}.page-forms .fstat-icon.green{background:var(--tint-green-bg);color:var(--tint-green-fg)}.page-forms .fstat-icon.amber{background:var(--tint-amber-bg);color:var(--tint-amber-fg)}.page-forms .fstat-val{color:var(--text-dark);font-family:DM Serif Display,serif;font-size:1.5rem;line-height:1}.page-forms .fstat-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.page-forms .toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-forms .search-wrap{flex:1;min-width:200px;position:relative}.page-forms .search-wrap svg{color:var(--text-light);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.page-forms .search-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-dark);border-radius:9px;outline:none;padding:9px 14px 9px 36px;font-family:DM Sans,sans-serif;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.page-forms .search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.page-forms .filter-select{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-dark);border-radius:9px;outline:none;padding:9px 14px;font-family:DM Sans,sans-serif;font-size:.875rem}.page-forms .btn-add{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 18px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .15s,transform .12s;display:inline-flex}.page-forms .btn-add:hover{background:var(--primary-dark);transform:translateY(-1px)}.page-forms .type-tabs{gap:4px;margin-bottom:18px;display:flex}.page-forms .type-tab{color:var(--text-light);border:1px solid #0000;border-radius:9px;padding:8px 20px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s}.page-forms .type-tab:hover{background:var(--surface-2);color:var(--text-dark)}.page-forms .type-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.page-forms .table-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.page-forms .table-wrap{overflow-x:auto}.page-forms table{border-collapse:collapse;width:100%}.page-forms thead th{background:var(--surface-2);text-align:left;color:var(--text-light);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:1px solid var(--border);padding:11px 16px;font-size:.72rem;font-weight:600}.page-forms tbody tr{border-bottom:1px solid var(--border-subtle);transition:background .12s}.page-forms tbody tr:last-child{border-bottom:none}.page-forms tbody tr:hover{background:var(--surface-2)}.page-forms .row-link{cursor:pointer}.page-forms td{color:var(--text-dark);vertical-align:middle;padding:13px 16px;font-size:.875rem}.page-forms .td-title{font-weight:500;display:block}.page-forms .td-title:hover{color:var(--primary);text-decoration:underline}.page-forms .td-desc{color:var(--text-light);text-overflow:ellipsis;white-space:nowrap;max-width:280px;margin-top:2px;font-size:.8rem;overflow:hidden}.page-forms .status-pill{border-radius:100px;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.page-forms .status-pill:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.page-forms .status-active{background:var(--tint-green-bg);color:var(--tint-green-fg)}.page-forms .status-archived{background:var(--tint-amber-bg);color:var(--tint-amber-fg)}.page-forms .alert{border-radius:8px;margin-bottom:16px;padding:11px 16px;font-size:.875rem}.page-forms .alert.success{background:var(--tint-green-bg);border:1px solid var(--tint-green-border);color:var(--tint-green-fg)}.page-forms .alert.error{background:var(--tint-red-bg);border:1px solid var(--tint-red-border);color:var(--tint-red-fg)}.page-forms .pagination-wrap{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.page-forms .page-info{color:var(--text-light);font-size:.82rem}.page-forms .page-links{gap:4px;display:flex}.page-forms .page-links a,.page-forms .page-links button,.page-forms .page-links span{border:1px solid var(--border);min-width:32px;height:32px;color:var(--text-mid);border-radius:7px;justify-content:center;align-items:center;padding:0 8px;font-size:.82rem;transition:background .12s;display:inline-flex}.page-forms .page-links a:hover,.page-forms .page-links button:hover{background:var(--tint-blue-bg);border-color:var(--primary);color:var(--primary)}.page-forms .page-links span.active-page{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.page-forms .page-links span.disabled{color:var(--text-faint)}.page-forms .empty-row td{text-align:center;color:var(--text-light);padding:48px}.page-forms .empty-message{text-align:center!important;color:var(--text-light)!important;padding:48px 24px!important}@media (width<=600px){.page-forms .forms-stats{grid-template-columns:1fr}.page-forms .toolbar{flex-direction:column;align-items:stretch;gap:10px}.page-forms .search-wrap{min-width:100%}.page-forms .btn-add{justify-content:center}.page-forms .filter-select{width:100%}.page-forms .type-tabs{flex-wrap:wrap}.page-forms .type-tab{text-align:center;flex:1;min-width:100px}.page-forms .table-wrap{-webkit-overflow-scrolling:touch}}.page-forms .modal-bg{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;visibility:hidden;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.page-forms .modal-bg.open{opacity:1;visibility:visible}.page-forms .modal{background:var(--surface);border-radius:16px;width:100%;max-width:520px;max-height:90vh;transition:transform .22s;overflow-y:auto;transform:translateY(12px);box-shadow:0 24px 64px #0000002e}.page-forms .modal-bg.open .modal{transform:none}.page-forms .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex}.page-forms .modal-title{color:var(--text-dark);letter-spacing:-.02em;padding-top:2px;font-family:DM Serif Display,serif;font-size:1.15rem;line-height:1.3}.page-forms .modal-close{background:var(--surface-2);cursor:pointer;width:30px;height:30px;color:var(--text-light);border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s;display:flex}.page-forms .modal-close:hover{background:var(--border);color:var(--text-dark)}.page-forms .modal-body{padding:22px 24px 24px}.page-forms .form-group{margin-bottom:16px}.page-forms .form-label{color:var(--text-dark);margin-bottom:6px;font-size:.82rem;font-weight:500;display:block}.page-forms .form-input,.page-forms .form-select,.page-forms .form-textarea{border:1px solid var(--border);width:100%;color:var(--text-dark);background:var(--surface);border-radius:8px;outline:none;padding:9px 12px;font-family:DM Sans,sans-serif;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.page-forms .form-input:focus,.page-forms .form-select:focus,.page-forms .form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.page-forms .form-textarea{resize:vertical;min-height:80px;line-height:1.6}.page-forms .form-hint{color:var(--text-light);margin-top:4px;font-size:.75rem}.page-forms .form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.page-forms .full{grid-column:1/-1}.page-forms .modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px;display:flex}.page-forms .btn-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-mid);cursor:pointer;border-radius:9px;padding:8px 20px;font-family:DM Sans,sans-serif;font-size:.875rem}.page-forms .btn-cancel:hover{background:var(--surface-2)}.page-forms .btn-save{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:8px 22px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500}.page-forms .btn-save:hover{background:var(--primary-dark)}.page-forms .btn-del-confirm{background:var(--danger-solid);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:8px 22px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500}.page-forms .btn-del-confirm:hover{background:var(--danger-solid-hover)}.page-forms .file-current{background:var(--surface-2);border:1px solid var(--border);color:var(--text-mid);border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;font-size:.82rem;display:flex}@media (width<=768px){.page-forms .forms-stats{grid-template-columns:1fr 1fr;gap:10px}.page-forms .modal-footer{flex-wrap:wrap}.page-forms .btn-cancel,.page-forms .btn-save,.page-forms .btn-del-confirm{text-align:center;flex:1;justify-content:center}.page-forms .toolbar{flex-direction:column;align-items:stretch}.page-forms .toolbar .search-wrap{min-width:unset}.page-forms .filter-select,.page-forms .btn-add{width:100%}.page-forms .btn-add{justify-content:center}.page-forms .table-wrap{overflow-x:unset}.page-forms table,.page-forms thead,.page-forms tbody,.page-forms th,.page-forms td,.page-forms tr{display:block}.page-forms thead tr{position:absolute;top:-9999px;left:-9999px}.page-forms tbody tr{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:12px 14px;position:relative}.page-forms td{border:none;align-items:flex-start;gap:8px;padding:5px 0;font-size:.85rem;display:flex}.page-forms td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);flex-shrink:0;min-width:80px;padding-top:2px;font-size:.72rem;font-weight:600}.page-forms td:empty{display:none}.page-forms .empty-message{text-align:center!important;width:100%!important;padding:40px 16px!important;display:block!important}.page-forms .empty-message svg{margin:0 auto 12px!important;display:block!important}.page-forms .empty-message div{text-align:center!important}.page-forms .pagination-wrap{flex-direction:column;align-items:flex-start;gap:10px}.page-forms .modal-bg{align-items:flex-end;padding:0}.page-forms .modal{border-radius:20px 20px 0 0;max-width:100%;max-height:92vh;transform:translateY(100%)}.page-forms .modal-bg.open .modal{transform:translateY(0)}.page-forms .modal-bg.open{animation:.22s both modal-backdrop-in}.page-forms .modal-bg.open .modal{animation:.3s cubic-bezier(.32,.72,0,1) both modal-sheet-in}.page-forms .modal-header{padding:18px 20px 0}.page-forms .modal-body{padding:16px 20px 28px}.page-forms .form-grid{grid-template-columns:1fr}.page-forms .full{grid-column:1}}@media (width<=480px){.page-forms .forms-stats{grid-template-columns:1fr 1fr}.page-forms .form-stat{padding:10px 12px}.page-forms .fstat-val{font-size:1.2rem}.page-forms .modal-footer{flex-direction:column-reverse;gap:8px}.page-forms .btn-cancel,.page-forms .btn-save,.page-forms .btn-del-confirm{text-align:center;width:100%;padding:11px 20px}}.page-masterlist .type-tabs{gap:4px;margin-bottom:20px;display:flex}.page-masterlist .type-tab{color:var(--text-light);border-radius:9px;padding:8px 20px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s}.page-masterlist .type-tab:hover{background:var(--surface-2);color:var(--text-dark)}.page-masterlist .type-tab.active{background:var(--primary);color:#fff}.page-masterlist .ml-stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.page-masterlist .ml-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:14px;padding:16px 20px;display:flex}.page-masterlist .ml-stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.page-masterlist .ml-stat-icon.blue{background:var(--tint-blue-bg);color:var(--primary)}.page-masterlist .ml-stat-icon.green{background:var(--tint-green-bg);color:var(--tint-green-fg)}.page-masterlist .ml-stat-icon.red{background:var(--tint-red-bg);color:var(--tint-red-fg)}.page-masterlist .ml-stat-val{color:var(--text-dark);font-family:DM Serif Display,serif;font-size:1.5rem;line-height:1}.page-masterlist .ml-stat-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.page-masterlist .toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-masterlist .search-wrap{flex:1;min-width:200px;position:relative}.page-masterlist .search-wrap svg{color:var(--text-light);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.page-masterlist .search-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-dark);border-radius:9px;outline:none;padding:9px 14px 9px 36px;font-family:DM Sans,sans-serif;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.page-masterlist .search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.page-masterlist .filter-select{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-dark);border-radius:9px;outline:none;padding:9px 14px;font-family:DM Sans,sans-serif;font-size:.875rem}.page-masterlist .btn-add{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 18px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .15s,transform .12s;display:inline-flex}.page-masterlist .btn-add:hover{background:var(--primary-dark);transform:translateY(-1px)}.page-masterlist .table-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.page-masterlist .table-wrap{position:relative;overflow-x:auto}.page-masterlist table{border-collapse:collapse;width:100%}.page-masterlist thead th{background:var(--surface-2);text-align:left;color:var(--text-light);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:1px solid var(--border);padding:10px 14px;font-size:.7rem;font-weight:600}.page-masterlist tbody tr{border-bottom:1px solid var(--border-subtle);transition:background .12s}.page-masterlist tbody tr:last-child{border-bottom:none}.page-masterlist tbody tr:hover{background:var(--surface-2)}.page-masterlist .row-link{cursor:pointer}.page-masterlist td{color:var(--text-dark);vertical-align:middle;padding:11px 14px;font-size:.845rem}.page-masterlist .td-name{font-weight:500;display:block}.page-masterlist .td-name:hover{color:var(--primary);text-decoration:underline}.page-masterlist .td-sub{color:var(--text-light);margin-top:1px;font-size:.75rem}.page-masterlist .status-pill{border-radius:100px;align-items:center;gap:4px;padding:3px 9px;font-size:.7rem;font-weight:600;display:inline-flex}.page-masterlist .status-pill:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.page-masterlist .status-yes{background:var(--tint-green-bg);color:var(--tint-green-fg)}.page-masterlist .status-no{background:var(--tint-red-bg);color:var(--tint-red-fg)}.page-masterlist .upload-empty{text-align:center;color:var(--text-faint);padding:12px;font-size:.82rem}.page-masterlist .upload-progress{text-align:center;padding:12px;display:none}.page-masterlist .progress-bar-wrap{background:var(--border);border-radius:100px;height:6px;margin:8px 0}.page-masterlist .progress-bar{background:var(--primary);border-radius:100px;width:0%;height:6px;transition:width .3s}.page-masterlist .alert{border-radius:8px;margin-bottom:16px;padding:11px 16px;font-size:.875rem}.page-masterlist .alert.success{background:var(--tint-green-bg);border:1px solid var(--tint-green-border);color:var(--tint-green-fg)}.page-masterlist .alert.error{background:var(--tint-red-bg);border:1px solid var(--tint-red-border);color:var(--tint-red-fg)}.page-masterlist .pagination-wrap{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:13px 16px;display:flex}.page-masterlist .page-info{color:var(--text-light);font-size:.82rem}.page-masterlist .page-links{gap:4px;display:flex}.page-masterlist .page-links a,.page-masterlist .page-links button,.page-masterlist .page-links span{border:1px solid var(--border);min-width:30px;height:30px;color:var(--text-mid);border-radius:7px;justify-content:center;align-items:center;padding:0 8px;font-size:.82rem;transition:background .12s;display:inline-flex}.page-masterlist .page-links a:hover,.page-masterlist .page-links button:hover{background:var(--tint-blue-bg);border-color:var(--primary);color:var(--primary)}.page-masterlist .page-links span.active-page{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.page-masterlist .page-links span.disabled{color:var(--text-faint)}.page-masterlist .empty-row td{text-align:center;color:var(--text-light);padding:48px}.page-masterlist .empty-message{text-align:center!important;color:var(--text-light)!important;padding:48px 24px!important}@media (width<=667px){.page-masterlist .ml-stats{grid-template-columns:1fr;gap:8px}.page-masterlist .ml-stat{gap:10px;padding:10px 12px}.page-masterlist .ml-stat-icon{width:32px;height:32px}.page-masterlist .ml-stat-val{font-size:1.2rem}.page-masterlist .ml-stat-label{font-size:.65rem}.page-masterlist .type-tabs{gap:6px;margin-bottom:14px}.page-masterlist .type-tab{text-align:center;flex:1;padding:8px 12px;font-size:.82rem}.page-masterlist .toolbar{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px}.page-masterlist .search-wrap{width:100%;min-width:100%}.page-masterlist .search-input{padding:9px 12px 9px 36px;font-size:.85rem}.page-masterlist .filter-select{width:100%;padding:9px 12px;font-size:.85rem}.page-masterlist .btn-add{justify-content:center;width:100%;padding:10px 16px;font-size:.85rem}.page-masterlist .table-wrap{overflow-x:unset}.page-masterlist table{min-width:unset;width:100%}.page-masterlist thead{display:none}.page-masterlist tbody tr{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:8px 0;padding:12px 14px;display:block;box-shadow:0 1px 4px #0000000a}.page-masterlist tbody tr:last-child{border-bottom:1px solid var(--border)}.page-masterlist td{border-bottom:1px dashed var(--border-subtle);min-width:unset;flex-direction:column;padding:6px 0;font-size:.82rem;display:flex}.page-masterlist td:last-child{border-bottom:none;padding-bottom:0}.page-masterlist td:first-child{display:none}.page-masterlist td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);margin-bottom:4px;font-size:.65rem;font-weight:700;display:block}.page-masterlist .td-name{font-size:.875rem}.page-masterlist .td-sub{font-size:.72rem}.page-masterlist .status-pill{padding:4px 10px;font-size:.72rem}.page-masterlist .table-card{border:none;border-radius:10px;overflow:visible}.page-masterlist .empty-message{padding:32px 12px!important;display:block!important}.page-masterlist .empty-message svg{margin:0 auto 12px!important}.page-masterlist .empty-message div{font-size:.85rem!important}}@media (width<=375px){.page-masterlist .ml-stat{padding:9px 10px}.page-masterlist .ml-stat-icon{width:28px;height:28px}.page-masterlist .ml-stat-val{font-size:1.1rem}.page-masterlist .table-card{border-radius:8px}.page-masterlist tbody tr{margin:6px 0;padding:10px 12px}.page-masterlist td{padding:5px 0;font-size:.8rem}.page-masterlist td:before{font-size:.6rem}.page-masterlist .pagination-wrap{padding:10px 12px}}.page-masterlist .modal-bg{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;visibility:hidden;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.page-masterlist .modal-bg.open{opacity:1;visibility:visible}.page-masterlist .modal{background:var(--surface);border-radius:16px;width:100%;max-width:680px;max-height:92vh;transition:transform .22s;overflow-y:auto;transform:translateY(12px);box-shadow:0 24px 64px #0000002e}.page-masterlist .modal-bg.open .modal{transform:none}.page-masterlist .modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex}.page-masterlist .modal-title{color:var(--text-dark);letter-spacing:-.02em;padding-top:2px;font-family:DM Serif Display,serif;font-size:1.15rem;line-height:1.3}.page-masterlist .modal-close{background:var(--surface-2);cursor:pointer;width:30px;height:30px;color:var(--text-light);border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s;display:flex}.page-masterlist .modal-close:hover{background:var(--border);color:var(--text-dark)}.page-masterlist .modal-body{padding:18px 24px 22px}.page-masterlist .modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px;display:flex}.page-masterlist .modal .section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);border-bottom:1px solid var(--border-subtle);margin:14px 0 6px;padding-bottom:3px;font-size:.7rem;font-weight:700}.page-masterlist .modal .section-label:first-child{margin-top:0}.page-masterlist .modal .form-grid{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}.page-masterlist .modal .form-grid .span2{grid-column:1/-1}.page-masterlist .modal .form-group{flex-direction:column;gap:3px;display:flex;margin:0!important}.page-masterlist .modal .form-label{color:var(--text-dark);font-size:.8rem;font-weight:500;margin:0!important}.page-masterlist .modal .form-input,.page-masterlist .modal .form-select,.page-masterlist .modal .form-textarea{border:1px solid var(--border);width:100%;color:var(--text-dark);background:var(--surface);border-radius:8px;outline:none;padding:8px 11px;font-family:DM Sans,sans-serif;font-size:.845rem;transition:border-color .15s,box-shadow .15s}.page-masterlist .modal .form-input:focus,.page-masterlist .modal .form-select:focus,.page-masterlist .modal .form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.page-masterlist .modal .form-textarea{resize:vertical;min-height:64px;line-height:1.6}.page-masterlist .modal .form-input.required-err{border-color:var(--danger-solid)}.page-masterlist .btn-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-mid);cursor:pointer;border-radius:9px;padding:8px 20px;font-family:DM Sans,sans-serif;font-size:.875rem}.page-masterlist .btn-cancel:hover{background:var(--surface-2)}.page-masterlist .btn-save{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:8px 22px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500}.page-masterlist .btn-save:hover{background:var(--primary-dark)}.page-masterlist .btn-del-confirm{background:var(--danger-solid);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:8px 22px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500}.page-masterlist .btn-del-confirm:hover{background:var(--danger-solid-hover)}.page-masterlist .modal .status-note-row{display:none!important}.page-masterlist .modal .status-note-row.show{display:flex!important}@media (width<=600px){.page-masterlist thead{display:none}.page-masterlist tbody tr{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:8px 0;padding:12px 14px;display:block;box-shadow:0 1px 4px #0000000a}.page-masterlist tbody tr:last-child{border-bottom:1px solid var(--border)}.page-masterlist tbody tr:hover{background:var(--surface-2)}.page-masterlist td{border-bottom:1px dashed var(--border-subtle);flex-direction:column;padding:6px 0;font-size:.845rem;display:flex}.page-masterlist td:last-child{border-bottom:none;padding-bottom:0}.page-masterlist td:first-child{display:none}.page-masterlist td[data-label]:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);margin-bottom:3px;font-size:.68rem;font-weight:700}.page-masterlist .table-card{border-radius:12px;overflow:visible}.page-masterlist .table-wrap{overflow-x:unset}.page-masterlist .table-wrap:after{display:none}.page-masterlist table{width:100%}.page-masterlist .empty-message{padding:40px 16px!important;display:block!important}.page-masterlist .empty-message svg{margin:0 auto 12px!important}}@media (width<=768px){.page-masterlist .ml-stats{grid-template-columns:1fr 1fr}.page-masterlist .toolbar{flex-direction:column;align-items:stretch;gap:8px}.page-masterlist .search-wrap{min-width:unset;width:100%}.page-masterlist .filter-select{width:100%}.page-masterlist .btn-add{justify-content:center;width:100%}.page-masterlist .modal-header{padding:16px 18px}.page-masterlist .modal-body{padding:16px 18px 18px}.page-masterlist .modal-footer{flex-wrap:wrap}.page-masterlist .btn-cancel,.page-masterlist .btn-save,.page-masterlist .btn-del-confirm{text-align:center;flex:1;justify-content:center}.page-masterlist .pagination-wrap{text-align:center;flex-direction:column;align-items:center}}@media (width<=640px){.page-masterlist .ml-stats,.page-masterlist .form-grid{grid-template-columns:1fr}.page-masterlist .form-grid .span2{grid-column:1}.page-masterlist .ml-stat{padding:12px 14px}.page-masterlist .ml-stat-val{font-size:1.3rem}}@media (width<=480px){.page-masterlist .modal-bg{align-items:flex-end;padding:0}.page-masterlist .modal{border-radius:18px 18px 0 0;max-width:100%;max-height:94vh}.page-masterlist .modal-bg.open{animation:.22s both modal-backdrop-in}.page-masterlist .modal-bg.open .modal{animation:.3s cubic-bezier(.32,.72,0,1) both modal-sheet-in}.page-masterlist .modal-footer{flex-direction:column-reverse;gap:8px}.page-masterlist .btn-cancel,.page-masterlist .btn-save,.page-masterlist .btn-del-confirm{text-align:center;width:100%;padding:11px 20px}.page-masterlist .table-wrap:after{display:none}.page-masterlist .type-tabs{flex-wrap:wrap}.page-masterlist .type-tab{padding:7px 14px;font-size:.82rem}.page-masterlist .page-links a,.page-masterlist .page-links button,.page-masterlist .page-links span{min-width:28px;height:28px;font-size:.78rem}}*,:before,:after{box-sizing:border-box}.page-school-view .school-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-school-view .back-link{color:var(--text-light);align-items:center;gap:6px;font-size:.85rem;text-decoration:none;transition:color .15s;display:inline-flex}.page-school-view .back-link:hover{color:var(--primary)}.page-school-view .alert{border-radius:8px;margin-bottom:16px;padding:11px 16px;font-size:.875rem}.page-school-view .alert.success{background:var(--tint-green-bg);border:1px solid var(--tint-green-border);color:var(--tint-green-fg)}.page-school-view .alert.error{background:var(--tint-red-bg);border:1px solid var(--tint-red-border);color:var(--tint-red-fg)}.page-school-view .alert.warning{background:var(--tint-amber-bg);border:1px solid var(--tint-amber-border);color:var(--tint-amber-fg)}.page-school-view .school-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;max-width:100%;margin-bottom:20px;display:grid;overflow-x:hidden}.page-school-view .school-info-col{flex-direction:column;gap:20px;min-width:0;display:flex}.page-school-view .school-files{max-width:100%;overflow-x:hidden}.page-school-view .info-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;max-width:100%;margin-bottom:20px;overflow:hidden}.page-school-view .info-card:last-child,.page-school-view .school-info-col>.info-card{margin-bottom:0}.page-school-view .info-card-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:16px 20px;display:flex}.page-school-view .info-card-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.page-school-view .info-card-icon.blue{background:var(--tint-blue-bg);color:var(--primary)}.page-school-view .info-card-icon.green{background:var(--tint-green-bg);color:var(--tint-green-fg)}.page-school-view .info-card-icon.purple{background:var(--tint-purple-bg);color:var(--tint-purple-fg)}.page-school-view .info-card-icon.amber{background:var(--tint-amber-bg);color:var(--tint-amber-fg)}.page-school-view .info-card-title{color:var(--text-dark);min-width:0;font-size:.9rem;font-weight:600}.page-school-view .btn-edit-section{background:var(--tint-amber-bg);color:var(--tint-amber-fg);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;padding:6px 12px;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:500;transition:background .15s;display:inline-flex}.page-school-view .btn-edit-section:hover:not(:disabled){background:var(--tint-amber-border)}.page-school-view .btn-edit-section:disabled{opacity:.45;cursor:not-allowed}.page-school-view .section-form-actions{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:8px;margin-top:16px;padding-top:14px;display:flex}.page-school-view .section-form-actions .btn-cancel:disabled,.page-school-view .section-form-actions .btn-save:disabled{opacity:.6;cursor:not-allowed}.page-school-view .info-body{padding:16px 20px}.page-school-view .meta-rows{flex-direction:column;gap:0;display:flex}.page-school-view .meta-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.page-school-view .meta-row:last-child{border-bottom:none}.page-school-view .meta-key{text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);flex-shrink:0;min-width:130px;padding-top:1px;font-size:.75rem;font-weight:600}.page-school-view .meta-val{color:var(--text-dark);text-align:right;word-break:break-word;overflow-wrap:anywhere;min-width:0;font-size:.875rem;line-height:1.5}.page-school-view .meta-val.empty{color:var(--text-faint);font-style:italic}.page-school-view .section-form .meta-row{align-items:center;gap:14px}.page-school-view .meta-edit{flex-direction:column;flex:1;align-items:stretch;gap:4px;min-width:0;display:flex}.page-school-view .meta-edit .form-input,.page-school-view .meta-edit .form-select,.page-school-view .meta-edit .form-textarea{width:100%}.page-school-view .meta-edit .form-textarea{min-height:56px}.page-school-view .meta-edit .field-error{text-align:right}.page-school-view .status-pill{border-radius:100px;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.page-school-view .status-pill:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.page-school-view .status-yes{background:var(--tint-green-bg);color:var(--tint-green-fg)}.page-school-view .status-no{background:var(--tint-red-bg);color:var(--tint-red-fg)}.page-school-view .type-badge{background:var(--tint-blue-bg);color:var(--primary);border-radius:100px;align-items:center;padding:3px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.page-school-view .btn-del-school{background:var(--tint-red-bg);color:var(--tint-red-fg);cursor:pointer;white-space:nowrap;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 16px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.page-school-view .btn-del-school:hover{background:var(--tint-red-border)}.page-school-view .btn-upload-school{background:var(--tint-green-bg);color:var(--tint-green-fg);cursor:pointer;white-space:nowrap;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 16px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.page-school-view .btn-upload-school:hover{background:#c0dd97}.page-school-view .files-list{flex-direction:column;gap:8px;display:flex}.page-school-view .file-row{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;align-items:center;gap:10px;min-width:0;padding:10px 12px;transition:background .12s;display:flex}.page-school-view .file-row:hover{background:var(--tint-blue-bg);border-color:var(--border-accent)}.page-school-view .file-row.is-picked{background:var(--tint-blue-bg);border-color:var(--primary)}.page-school-view .file-pick{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin:0}.page-school-view .file-icon{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.page-school-view .file-info{flex:1;min-width:0}.page-school-view .file-name{color:var(--text-dark);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:500;overflow:hidden}.page-school-view .file-meta-row{color:var(--text-light);margin-top:1px;font-size:.72rem}.page-school-view .file-btns{flex-shrink:0;gap:4px;display:flex}.page-school-view .file-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:26px;height:26px;color:var(--text-mid);border-radius:6px;justify-content:center;align-items:center;transition:all .12s;display:flex}.page-school-view .file-btn.view-btn:hover{background:var(--tint-purple-bg);color:var(--tint-purple-fg);border-color:#5b21b6}.page-school-view .file-btn.dl-btn:hover{background:var(--tint-blue-bg);border-color:var(--primary);color:var(--primary)}.page-school-view .file-btn.del-btn:hover{background:var(--tint-red-bg);border-color:var(--danger-solid);color:var(--danger-solid)}.page-school-view .no-files{text-align:center;color:var(--text-light);padding:32px 16px;font-size:.875rem}.page-school-view .drop-zone{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:10px;width:100%;padding:28px 20px;transition:border-color .15s,background .15s;position:relative}.page-school-view .drop-zone.dragover{border-color:var(--primary);background:var(--tint-blue-bg)}.page-school-view .drop-zone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.page-school-view .drop-zone-icon{border-radius:9px;width:38px;height:38px;margin:0 auto 10px}.page-school-view .drop-zone-text{color:var(--text-dark);margin-bottom:4px;font-size:.85rem;font-weight:500}.page-school-view .drop-zone-hint{color:var(--text-light);font-size:.75rem}.page-school-view .drop-zone-limit{color:var(--tint-amber-fg);background:var(--tint-amber-bg);border-radius:100px;margin-top:6px;padding:2px 9px;font-size:.68rem;font-weight:600;display:inline-block}.page-school-view .file-list{flex-direction:column;gap:6px;max-height:180px;margin-top:12px;display:flex;overflow-y:auto}.page-school-view .file-item{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;align-items:center;gap:9px;min-width:0;padding:8px 10px;display:flex}.page-school-view .file-item-icon{background:var(--tint-blue-bg);width:28px;height:28px;color:var(--primary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.page-school-view .file-item-info{flex:1;min-width:0}.page-school-view .file-item-name{color:var(--text-dark);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:500;overflow:hidden}.page-school-view .file-item-size{color:var(--text-light);font-size:.68rem}.page-school-view .file-item-remove{cursor:pointer;width:22px;height:22px;color:var(--text-light);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.page-school-view .file-item-remove:hover{background:var(--tint-red-bg);color:var(--danger-solid)}.page-school-view .btn-upload-now{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:12px;padding:9px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .15s;display:flex}.page-school-view .btn-upload-now:hover{background:var(--primary-dark)}.page-school-view .btn-upload-now:disabled{opacity:.5;cursor:not-allowed}.page-school-view .modal-bg{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;visibility:hidden;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.page-school-view .modal-bg.open{opacity:1;visibility:visible}.page-school-view .modal{background:var(--surface);border-radius:16px;width:100%;max-width:520px;max-height:90vh;transition:transform .22s;overflow-y:auto;transform:translateY(12px);box-shadow:0 24px 64px #0000002e}.page-school-view .modal-bg.open .modal{transform:none}.page-school-view .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex}.page-school-view .modal-title{color:var(--text-dark);letter-spacing:-.02em;word-break:break-word;min-width:0;padding-top:2px;font-family:DM Serif Display,serif;font-size:1.15rem;line-height:1.3}.page-school-view .modal-heading{min-width:0}.page-school-view .modal-subtitle{color:var(--text-light);word-break:break-word;margin-top:3px;font-size:.78rem;line-height:1.4}.page-school-view .modal-close{background:var(--surface-2);cursor:pointer;width:30px;height:30px;color:var(--text-light);border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s;display:flex}.page-school-view .modal-close:hover{background:var(--border)}.page-school-view .modal-body{padding:20px 24px 24px}.page-school-view .modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px;display:flex}.page-school-view .btn-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-mid);cursor:pointer;border-radius:9px;padding:8px 20px;font-family:DM Sans,sans-serif;font-size:.875rem}.page-school-view .btn-cancel:hover{background:var(--surface-2)}.page-school-view .btn-save{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:8px 22px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500}.page-school-view .btn-save:hover{background:var(--primary-dark)}.page-school-view .btn-del-confirm{background:var(--danger-solid);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:8px 22px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500}.page-school-view .viewer-bg{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;opacity:0;visibility:hidden;background:#0a0e1ae0;flex-direction:column;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.page-school-view .viewer-bg.open{opacity:1;visibility:visible}.page-school-view .viewer-topbar{background:#1e293b;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.page-school-view .viewer-filename{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.875rem;font-weight:500;overflow:hidden}.page-school-view .viewer-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.page-school-view .viewer-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500;text-decoration:none;transition:background .12s;display:inline-flex}.page-school-view .viewer-btn.dl{background:var(--primary);color:#fff}.page-school-view .viewer-btn.dl:hover{background:var(--primary-dark);color:#fff}.page-school-view .viewer-btn.cls{color:#fff;background:#ffffff1a}.page-school-view .viewer-btn.cls:hover{background:#ffffff2e}.page-school-view .viewer-content{flex:1;justify-content:center;align-items:center;padding:16px;display:flex;overflow:hidden}.page-school-view .viewer-iframe{background:var(--surface);border:none;border-radius:8px;width:100%;height:100%}.page-school-view .viewer-img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 8px 32px #0006}.page-school-view .viewer-unsupported{text-align:center;color:#fff9;padding:32px}.page-school-view .files-filter-bar{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;display:flex}.page-school-view .files-search-wrap{flex:1;min-width:0;position:relative}.page-school-view .files-search-wrap svg{color:var(--text-light);pointer-events:none;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.page-school-view .files-search-input{border:1px solid var(--border);width:100%;color:var(--text-dark);background:var(--surface);border-radius:8px;outline:none;padding:7px 10px 7px 30px;font-family:DM Sans,sans-serif;font-size:.82rem;transition:border-color .15s,box-shadow .15s}.page-school-view .files-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.page-school-view .files-date-wrap{flex-shrink:0;align-items:center;gap:6px;display:flex}.page-school-view .files-date-wrap svg{color:var(--text-light);flex-shrink:0}.page-school-view .files-date-input{border:1px solid var(--border);color:var(--text-dark);background:var(--surface);cursor:pointer;border-radius:8px;outline:none;width:130px;padding:7px 8px;font-family:DM Sans,sans-serif;font-size:.78rem;transition:border-color .15s}.page-school-view .files-date-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.page-school-view .files-clear-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-mid);cursor:pointer;white-space:nowrap;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:6px 12px;font-family:DM Sans,sans-serif;font-size:.78rem;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.page-school-view .files-clear-btn:hover{background:var(--tint-red-bg);border-color:var(--danger-solid);color:var(--danger-solid)}.page-school-view .files-no-results{text-align:center;color:var(--text-light);padding:24px 12px;font-size:.85rem}.page-school-view .files-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.page-school-view .files-pag-info{color:var(--text-light);font-size:.75rem}.page-school-view .files-pag-btns{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.page-school-view .pag-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:30px;height:30px;color:var(--text-mid);border-radius:7px;justify-content:center;align-items:center;font-family:DM Sans,sans-serif;font-size:.78rem;transition:all .12s;display:flex}.page-school-view .pag-btn:hover:not(:disabled){background:var(--tint-blue-bg);border-color:var(--border-accent);color:var(--primary)}.page-school-view .pag-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.page-school-view .pag-btn:disabled{opacity:.35;cursor:not-allowed}.page-school-view .pag-ellipsis{color:var(--text-faint);padding:0 2px;font-size:.8rem}.page-school-view .files-bulk-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.page-school-view .files-bulk-bar.is-active{background:var(--tint-blue-bg);border:1px solid var(--border-accent);border-radius:10px;padding:9px 12px}.page-school-view .files-bulk-start{border:1px solid var(--border);background:var(--surface);color:var(--text-mid);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 13px;font-family:DM Sans,sans-serif;font-size:.78rem;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.page-school-view .files-bulk-start:hover{background:var(--tint-red-bg);border-color:var(--danger-solid);color:var(--danger-solid)}.page-school-view .files-select-all{color:var(--text-dark);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:.8rem;display:inline-flex}.page-school-view .files-select-all input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0}.page-school-view .files-select-count{color:var(--text-mid);font-size:.78rem}.page-school-view .files-bulk-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.page-school-view .files-bulk-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-mid);cursor:pointer;border-radius:8px;padding:7px 14px;font-family:DM Sans,sans-serif;font-size:.78rem;transition:background .12s}.page-school-view .files-bulk-cancel:hover{background:var(--surface-2)}.page-school-view .files-bulk-delete{background:var(--danger-solid);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:500;transition:background .12s;display:inline-flex}.page-school-view .files-bulk-delete:hover:not(:disabled){background:var(--danger-solid-hover)}.page-school-view .files-bulk-delete:disabled{opacity:.45;cursor:not-allowed}@media (width<=900px){.page-school-view .school-info-grid{grid-template-columns:1fr}}@media (width<=768px){.page-school-view .files-filter-bar{flex-direction:column;align-items:stretch;padding:10px}.page-school-view .files-search-wrap{width:100%}.page-school-view .files-date-wrap{flex-wrap:wrap;width:100%}.page-school-view .files-date-input{flex:1;width:auto;min-width:0;max-width:100%}.page-school-view .files-clear-btn{justify-content:center;width:100%}.page-school-view .files-pagination{flex-direction:column;align-items:flex-start}.page-school-view .files-bulk-start{justify-content:center;width:100%}.page-school-view .files-bulk-actions{width:100%;margin-left:0}.page-school-view .files-bulk-cancel,.page-school-view .files-bulk-delete{flex:1;justify-content:center}.page-school-view .btn-upload-school{justify-content:center;width:100%;padding:11px 16px}.page-school-view .btn-del-school{padding:8px 14px;font-size:.8rem}.page-school-view .info-card-header,.page-school-view .info-body{padding:12px 14px}.page-school-view .info-card-title{font-size:.85rem}.page-school-view .btn-edit-section{padding:5px 10px;font-size:.72rem}.page-school-view .section-form-actions{flex-direction:column-reverse;gap:8px}.page-school-view .meta-row{flex-direction:column;align-items:flex-start;gap:2px;padding:9px 0}.page-school-view .meta-key{min-width:unset;padding-top:0}.page-school-view .meta-val{text-align:left;width:100%}.page-school-view .section-form .meta-row{align-items:stretch;gap:6px}.page-school-view .meta-edit .field-error{text-align:left}.page-school-view .file-name{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.page-school-view .school-topbar{gap:10px;margin-bottom:14px}.page-school-view .back-link{font-size:.8rem}.page-school-view .school-info-grid{gap:14px;margin-bottom:14px}.page-school-view .school-info-col{gap:14px}.page-school-view .modal-header{padding:16px 18px}.page-school-view .modal-body{padding:16px 18px 18px}.page-school-view .modal-footer{flex-wrap:wrap}.page-school-view .btn-cancel,.page-school-view .btn-save,.page-school-view .btn-del-confirm{text-align:center;flex:1;justify-content:center}.page-school-view .drop-zone{padding:20px 12px}.page-school-view .viewer-topbar{padding:10px 14px}.page-school-view .viewer-btn{padding:6px 10px;font-size:.75rem}}@media (width<=480px){.page-school-view .info-card{border-radius:10px}.page-school-view .info-card-header{gap:8px;padding:10px 12px}.page-school-view .info-body{padding:10px 12px}.page-school-view .info-card-icon{border-radius:7px;width:28px;height:28px}.page-school-view .meta-key{letter-spacing:.05em;font-size:.62rem}.page-school-view .meta-val{font-size:.82rem}.page-school-view .file-btn{width:28px;height:28px}.page-school-view .pag-btn{width:28px;height:28px;font-size:.73rem}.page-school-view .modal-bg{align-items:flex-end;padding:0}.page-school-view .modal{border-radius:18px 18px 0 0;max-width:100%;max-height:95vh}.page-school-view .modal-bg.open{animation:.22s both modal-backdrop-in}.page-school-view .modal-bg.open .modal{animation:.3s cubic-bezier(.32,.72,0,1) both modal-sheet-in}.page-school-view .modal-footer{flex-direction:column-reverse;gap:8px}.page-school-view .btn-cancel,.page-school-view .btn-save,.page-school-view .btn-del-confirm{flex:unset;width:100%;padding:11px 20px}.page-school-view .form-grid{grid-template-columns:1fr!important}.page-school-view .form-grid .span2{grid-column:1!important}.page-school-view .viewer-topbar{flex-wrap:wrap;gap:8px}.page-school-view .viewer-actions{justify-content:flex-end;width:100%}}.page-school-view .section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);border-bottom:1px solid var(--border-subtle);margin:16px 0 10px;padding-bottom:6px;font-size:.7rem;font-weight:700}.page-school-view .section-label:first-child{margin-top:0}.page-school-view .form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.page-school-view .form-grid .span2{grid-column:1/-1}.page-school-view .form-group{flex-direction:column;gap:5px;display:flex}.page-school-view .form-label{color:var(--text-dark);font-size:.8rem;font-weight:500}.page-school-view .form-input,.page-school-view .form-select,.page-school-view .form-textarea{border:1px solid var(--border);width:100%;color:var(--text-dark);background:var(--surface);border-radius:8px;outline:none;padding:8px 11px;font-family:DM Sans,sans-serif;font-size:.845rem;transition:border-color .15s,box-shadow .15s}.page-school-view .form-input:focus,.page-school-view .form-select:focus,.page-school-view .form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.page-school-view .form-textarea{resize:vertical;min-height:64px;line-height:1.6}.page-school-view .form-input.required-err{border-color:var(--danger-solid)}.page-school-view .status-note-row{display:none}.page-school-view .status-note-row.show{display:flex}.page-users .users-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-users .search-wrap{flex:1;min-width:220px;position:relative}.page-users .search-wrap svg{color:var(--text-light);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.page-users .search-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-dark);border-radius:9px;outline:none;padding:9px 14px 9px 36px;font-family:DM Sans,sans-serif;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.page-users .search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.page-users .filter-select{border:1px solid var(--border);background:var(--surface);color:var(--text-dark);cursor:pointer;border-radius:9px;outline:none;padding:9px 14px;font-family:DM Sans,sans-serif;font-size:.875rem}.page-users .filter-select:focus{border-color:var(--primary)}.page-users .btn-add{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 18px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .15s,transform .12s;display:inline-flex}.page-users .btn-add:hover{background:var(--primary-dark);transform:translateY(-1px)}.page-users .stats-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.page-users .mini-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:14px 18px;display:flex}.page-users .mini-stat-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.page-users .mini-stat-icon.blue{background:var(--tint-blue-bg);color:var(--primary)}.page-users .mini-stat-icon.green{background:var(--tint-green-bg);color:var(--tint-green-fg)}.page-users .mini-stat-icon.amber{background:var(--tint-amber-bg);color:var(--tint-amber-fg)}.page-users .mini-stat-icon.red{background:var(--tint-red-bg);color:var(--tint-red-fg)}.page-users .mini-stat-val{color:var(--text-dark);font-family:DM Serif Display,serif;font-size:1.5rem;line-height:1}.page-users .mini-stat-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.page-users .table-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.page-users .table-wrap{overflow-x:auto}.page-users table{border-collapse:collapse;width:100%}.page-users thead th{background:var(--surface-2);text-align:left;color:var(--text-light);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:1px solid var(--border);padding:11px 16px;font-size:.75rem;font-weight:600}.page-users tbody tr{border-bottom:1px solid var(--border-subtle);transition:background .12s}.page-users tbody tr:last-child{border-bottom:none}.page-users tbody tr:hover{background:var(--surface-2)}.page-users tbody tr.deleted-row{opacity:.6;background:#fff8f8}.page-users td{color:var(--text-dark);vertical-align:middle;padding:13px 16px;font-size:.875rem}.page-users .td-name{font-weight:500}.page-users .td-emp{color:var(--text-light);font-size:.8rem}.page-users .td-email{color:var(--text-mid)}.page-users .role-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:100px;align-items:center;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.page-users .role-superadmin{color:var(--tint-purple-fg);background:#8b5cf626}.page-users .role-audit{color:var(--primary);background:#1b4fd81f}.page-users .role-employee{color:#065f46;background:#10b9811f}.page-users .status-pill{border-radius:100px;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.page-users .status-pill:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.page-users .status-active{background:var(--tint-green-bg);color:var(--tint-green-fg)}.page-users .status-inactive{background:var(--tint-red-bg);color:var(--tint-red-fg)}.page-users .status-deleted{color:var(--text-mid);background:#f3f4f6}.page-users tbody tr.row-open{cursor:pointer}.page-users tbody tr.row-open:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;background:var(--surface-2)}.page-users .btn-del-user{background:var(--tint-red-bg);color:var(--tint-red-fg);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:7px;margin-right:auto;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.page-users .btn-del-user:hover{background:var(--tint-red-border)}.page-users .empty-row td{text-align:center;color:var(--text-light);padding:48px;font-size:.9rem}.page-users .pagination-wrap{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.page-users .page-info{color:var(--text-light);font-size:.82rem}.page-users .page-links{gap:4px;display:flex}.page-users .page-links a,.page-users .page-links button,.page-users .page-links span{border:1px solid var(--border);min-width:32px;height:32px;color:var(--text-mid);border-radius:7px;justify-content:center;align-items:center;padding:0 8px;font-size:.82rem;transition:background .12s,border-color .12s;display:inline-flex}.page-users .page-links a:hover,.page-users .page-links button:hover{background:var(--tint-blue-bg);border-color:var(--primary);color:var(--primary)}.page-users .page-links span.active-page{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.page-users .page-links span.disabled{color:var(--text-faint);cursor:default}.page-users .modal-bg{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;visibility:hidden;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.page-users .modal-bg.open{opacity:1;visibility:visible}.page-users .modal{background:var(--surface);border-radius:16px;width:100%;max-width:520px;max-height:90vh;transition:transform .22s;overflow-y:auto;transform:translateY(16px)scale(.98);box-shadow:0 24px 64px #0000002e}.page-users .modal-bg.open .modal{transform:none}.page-users .modal-header{justify-content:space-between;align-items:center;padding:22px 28px 0;display:flex}.page-users .modal-title{color:var(--text-dark);letter-spacing:-.02em;font-family:DM Serif Display,serif;font-size:1.25rem}.page-users .modal-close{background:var(--surface-2);cursor:pointer;width:30px;height:30px;color:var(--text-light);border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .12s;display:flex}.page-users .modal-close:hover{background:var(--border)}.page-users .modal-body{padding:20px 28px 28px}.page-users .form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.page-users .form-grid .full{grid-column:1/-1}.page-users .form-group{flex-direction:column;gap:5px;display:flex}.page-users .form-label{color:var(--text-dark);font-size:.82rem;font-weight:500}.page-users .form-input,.page-users .form-select{border:1px solid var(--border);color:var(--text-dark);border-radius:8px;outline:none;width:100%;padding:9px 12px;font-family:DM Sans,sans-serif;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.page-users .form-input:focus,.page-users .form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4fd81a}.page-users .form-input.err{border-color:var(--danger-solid)}.page-users .input-locked{position:relative}.page-users .form-input.is-readonly{background:var(--surface-2);color:var(--text-mid);cursor:not-allowed}.page-users .input-locked .input-lock-icon{color:var(--text-faint);position:absolute;top:50%;right:11px;transform:translateY(-50%)}.page-users .err-msg{color:var(--tint-red-fg);font-size:.75rem}.page-users .form-hint{color:var(--text-light);font-size:.75rem}.page-users .modal-footer{justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.page-users .btn-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-mid);cursor:pointer;border-radius:9px;padding:9px 20px;font-family:DM Sans,sans-serif;font-size:.875rem;transition:background .12s}.page-users .btn-cancel:hover{background:var(--surface-2)}.page-users .btn-save{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:9px 22px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .12s}.page-users .btn-save:hover{background:var(--primary-dark)}.page-users .btn-del-confirm{background:var(--danger-solid);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:9px 22px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:background .12s}.page-users .btn-del-confirm:hover{background:var(--danger-solid-hover)}.page-users .alert{border-radius:8px;margin-bottom:16px;padding:11px 16px;font-size:.875rem}.page-users .alert.success{background:var(--tint-green-bg);border:1px solid var(--tint-green-border);color:var(--tint-green-fg)}.page-users .alert.error{background:var(--tint-red-bg);border:1px solid var(--tint-red-border);color:var(--tint-red-fg)}@media (width<=768px){.page-users .modal-footer{flex-wrap:wrap}.page-users .btn-del-user{order:2;justify-content:center;width:100%;margin-right:0}.page-users .stats-row{grid-template-columns:1fr 1fr;gap:10px}.page-users .users-toolbar{flex-direction:column;align-items:stretch}.page-users .search-wrap{min-width:unset}.page-users .filter-select{width:100%}.page-users .btn-add{justify-content:center;width:100%}.page-users .table-wrap{overflow-x:unset}.page-users table,.page-users thead,.page-users tbody,.page-users th,.page-users td,.page-users tr{display:block}.page-users thead tr{position:absolute;top:-9999px;left:-9999px}.page-users tbody tr{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:12px 14px;position:relative}.page-users tbody tr.deleted-row{opacity:.65}.page-users td{border:none;align-items:flex-start;gap:8px;padding:5px 0;font-size:.85rem;display:flex}.page-users td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);flex-shrink:0;min-width:90px;padding-top:2px;font-size:.72rem;font-weight:600}.page-users td:empty{display:none}.page-users .pagination-wrap{flex-direction:column;align-items:flex-start;gap:10px}.page-users .modal-bg{align-items:flex-end;padding:0}.page-users .modal{border-radius:20px 20px 0 0;max-width:100%;max-height:92vh;transform:translateY(100%)}.page-users .modal-bg.open .modal{transform:translateY(0)}.page-users .modal-bg.open{animation:.22s both modal-backdrop-in}.page-users .modal-bg.open .modal{animation:.3s cubic-bezier(.32,.72,0,1) both modal-sheet-in}.page-users .modal-header{padding:18px 20px 0}.page-users .modal-body{padding:16px 20px 28px}.page-users .form-grid{grid-template-columns:1fr}.page-users .form-grid .full{grid-column:1}}@media (width<=480px){.page-users .stats-row{grid-template-columns:1fr 1fr}.page-users .mini-stat{gap:9px;padding:10px 12px}.page-users .mini-stat-val{font-size:1.2rem}}.org-section{background:0 0;padding:44px clamp(10px,1.2vw,24px) 72px}.org-frame{background:0 0}.org-div-head,.org-div-item,.org-unit-title,.org-unit-list,.org-director{overflow-wrap:break-word;word-break:break-word}.org-canvas{--org-side:21%;--org-rail:clamp(12px, 1.4vw, 24px);--org-gap:clamp(5px, .55vw, 10px);--org-support-gap:clamp(8px, 1vw, 18px);--org-line:#334155;--org-heading:#16264a;--org-body:#24365c;background:0 0;width:100%;position:relative}.org-crown-top{justify-content:center;padding-bottom:22px;display:flex;position:relative}.org-crown-top:after{content:"";background:var(--org-line);width:2px;height:22px;position:absolute;bottom:0;left:calc(50% - 1px)}.org-director{color:#fff;letter-spacing:.02em;text-align:center;background:#12305f;border-radius:4px;width:clamp(230px,21%,340px);padding:clamp(11px,1vw,16px) 16px;font-size:clamp(.78rem,.92vw,1rem);font-weight:700;line-height:1.35}.org-crown{grid-template-columns:var(--org-side) 1fr var(--org-side);display:grid;position:relative}.org-crown:before,.org-crown:after{content:"";background:var(--org-line);height:2px;position:absolute;top:50%}.org-crown:before{left:calc(var(--org-side) + var(--org-rail));right:50%}.org-crown:after{right:calc(var(--org-side) + var(--org-rail));left:50%}.org-trunk{background:var(--org-line);grid-column:2;justify-self:center;width:2px}.org-side{flex-direction:column;justify-content:center;gap:14px;display:flex;position:relative}.org-side:before{content:"";background:var(--org-line);width:2px;position:absolute;top:34px;bottom:34px}.org-side--left:before{left:calc(100% + var(--org-rail))}.org-side--right:before{right:calc(100% + var(--org-rail))}.org-unit:after{content:"";width:calc(var(--org-rail) + 2px);background:var(--org-line);height:2px;position:absolute;top:50%}.org-side--left .org-unit:after{left:100%}.org-side--right .org-unit:after{right:100%}.org-unit{background:#dfe8fa;border:1.5px solid #2a53a8;border-radius:4px;padding:clamp(7px,.6vw,10px) clamp(9px,.8vw,14px);position:relative}.org-unit-title{color:var(--org-heading);letter-spacing:.02em;text-align:center;text-transform:uppercase;margin-bottom:5px;font-size:clamp(.6rem,.7vw,.78rem);font-weight:700;line-height:1.3}.org-unit-list{color:var(--org-body);margin:0;padding-inline-start:15px;font-size:clamp(.6rem,.68vw,.76rem);list-style:outside}.org-unit-list li{line-height:1.35}.org-unit-list li+li{margin-top:2px}.org-branch{height:42px;position:relative}.org-branch:before{content:"";background:var(--org-line);width:2px;height:22px;position:absolute;top:0;left:calc(50% - 1px)}.org-branch-bus{top:20px;left:calc((100% - 7 * var(--org-gap)) / 16);right:calc((100% - 7 * var(--org-gap)) / 16);background:var(--org-line);height:2px;position:absolute}.org-branch-stubs{gap:var(--org-gap);grid-template-columns:repeat(8,minmax(0,1fr));display:grid;position:absolute;inset:20px 0 0}.org-branch-stubs>span{background:var(--org-line);justify-self:center;width:2px}.org-divisions{gap:var(--org-gap);grid-template-columns:repeat(8,minmax(0,1fr));align-items:start;display:grid}.org-div{border:1.5px solid var(--org-div-border);background:0 0;border-radius:4px;overflow:hidden}.org-div-head{background:var(--org-div-head);color:var(--org-heading);letter-spacing:.01em;text-align:center;text-transform:uppercase;padding:clamp(8px,.7vw,12px) clamp(4px,.5vw,9px);font-size:clamp(.58rem,.68vw,.76rem);font-weight:700;line-height:1.3}.org-div-body{flex-direction:column;gap:clamp(4px,.4vw,7px);padding:clamp(5px,.55vw,9px) clamp(4px,.4vw,7px);display:flex}.org-div-item{border:1px solid var(--org-div-border);background:var(--org-div-item);color:var(--org-body);text-align:center;border-radius:3px;padding:clamp(5px,.5vw,8px) clamp(3px,.35vw,6px);font-size:clamp(.55rem,.64vw,.72rem);line-height:1.3}.org-div--green{--org-div-head:#dcedd2;--org-div-item:#eef7e8;--org-div-border:#7cab5b}.org-div--blue{--org-div-head:#cfe2f3;--org-div-item:#e8f1fa;--org-div-border:#4a86c8}.org-div--yellow{--org-div-head:#fdefcc;--org-div-item:#fdf7e6;--org-div-border:#e0ac2c}.org-div--purple{--org-div-head:#e2daf3;--org-div-item:#f0ecfa;--org-div-border:#8b7bc4}.org-div--orange{--org-div-head:#fce3cd;--org-div-item:#fdf1e6;--org-div-border:#e08c3c}.org-div--teal{--org-div-head:#d3e9e6;--org-div-item:#e9f4f2;--org-div-border:#4f8e94}.org-div--pink{--org-div-head:#f7d5d5;--org-div-item:#fbeaea;--org-div-border:#d16a63}.org-div--gray{--org-div-head:#dedede;--org-div-item:#f1f1f1;--org-div-border:#9a9a9a}.org-link{height:48px;position:relative}.org-link:before{content:"";border-left:2px dashed var(--org-line);width:0;height:24px;position:absolute;top:0;left:calc(50% - 1px)}.org-link-bus{top:24px;left:calc((100% - 5 * var(--org-support-gap)) / 12);right:calc((100% - 5 * var(--org-support-gap)) / 12);border-top:2px dashed var(--org-line);position:absolute}.org-link-stubs{gap:var(--org-support-gap);grid-template-columns:repeat(6,minmax(0,1fr));display:grid;position:absolute;inset:24px 0 0}.org-link-stubs>span{border-left:2px dashed var(--org-line);justify-self:center;width:0}.org-support{gap:var(--org-support-gap);grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;display:grid}.org-support-box{background:#ebedf1;border:1.5px solid #9aa3b2;border-radius:4px;padding:clamp(8px,.7vw,12px) clamp(9px,.85vw,14px)}.org-group-label{display:none}@media (width<=900px){.org-crown{grid-template-columns:1fr;gap:14px}.org-crown-top{padding-bottom:0}.org-crown-top:after,.org-crown:before,.org-crown:after,.org-trunk,.org-branch,.org-link,.org-side:before,.org-unit:after{display:none}.org-director{width:100%}.org-divisions{grid-template-columns:1fr 1fr;gap:10px}.org-support{grid-template-columns:1fr;gap:12px}.org-div-head,.org-div-item,.org-unit-title,.org-unit-list{font-size:.74rem}.org-group-label{color:var(--org-heading);letter-spacing:.1em;text-transform:uppercase;margin:30px 0 14px;font-size:.78rem;font-weight:700;display:block}}@media (width<=560px){.org-divisions{grid-template-columns:1fr}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#1b4fd8;--primary-dark:#1640b0;--primary-light:#e8effe;--text-dark:#1a202c;--text-mid:#4a5568;--text-light:#718096;--bg-white:#fff;--bg-light:#f7f8fc;--bg-page:#f4f6fb;--border:#e2e8f0;--radius:12px;--danger:#c53030;--danger-bg:#fff5f5;--danger-border:#feb2b2;--success:#166534;--success-bg:#f0fdf4;--success-border:#86efac;--warning:#92400e;--warning-bg:#fffbeb;--warning-border:#fcd34d;--surface:#fff;--surface-2:#f7f8fc;--surface-3:#f0f2f7;--border-subtle:#f0f2f7;--border-accent:#c7d7f5;--text-faint:#cbd5e0;--tint-blue-bg:#e8effe;--tint-blue-fg:#1b4fd8;--tint-red-bg:#fef2f2;--tint-red-fg:#991b1b;--tint-green-bg:#eaf3de;--tint-green-fg:#3b6d11;--tint-amber-bg:#faeeda;--tint-amber-fg:#854f0b;--tint-purple-bg:#ede9fe;--tint-purple-fg:#5b21b6;--tint-teal-bg:#d6f2e7;--tint-teal-fg:#0f6b4a;--tint-rose-bg:#fce7f3;--tint-rose-fg:#9d174d;--tint-red-border:#fca5a5;--tint-green-border:#c0dd97;--tint-amber-border:#f6d5a0;--danger-solid:#e24b4a;--danger-solid-hover:#b91c1c;--shadow-sm:0 4px 16px #00000012;--shadow-md:0 12px 32px #0000001f;--shadow-lg:0 24px 64px #0000002e}:root[data-theme=dark]{--primary:#5b87f5;--primary-dark:#7ba0f8;--primary-light:#1e3a6b;--text-dark:#e8edf5;--text-mid:#b6c2d4;--text-light:#93a1b8;--text-faint:#5f6f89;--bg-white:#1e293b;--bg-light:#172033;--bg-page:#0f172a;--border:#2f3e57;--surface:#1e293b;--surface-2:#172033;--surface-3:#223049;--border-subtle:#223049;--border-accent:#3a5a94;--tint-blue-bg:#1c3564;--tint-blue-fg:#a8c3fb;--tint-red-bg:#3d1d1f;--tint-red-fg:#fca5a5;--tint-green-bg:#1f3319;--tint-green-fg:#b3d992;--tint-amber-bg:#3b2d15;--tint-amber-fg:#edc079;--tint-purple-bg:#2b2249;--tint-purple-fg:#c9bafd;--tint-teal-bg:#123029;--tint-teal-fg:#7fe3bd;--tint-rose-bg:#3b1e2d;--tint-rose-fg:#f7abd0;--tint-red-border:#6d3234;--tint-green-border:#3d5c30;--tint-amber-border:#5f4a22;--danger:#f28b8a;--danger-bg:#3d1d1f;--danger-border:#6d3234;--success:#a7d383;--success-bg:#1f3319;--success-border:#3d5c30;--warning:#edc079;--warning-bg:#3b2d15;--warning-border:#5f4a22;--danger-solid:#e05c5b;--danger-solid-hover:#c23f3e;--shadow-sm:0 4px 16px #00000059;--shadow-md:0 12px 32px #00000073;--shadow-lg:0 24px 64px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{min-height:100%}body{color:var(--text-dark);background:var(--bg-page);-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{font-family:inherit}.public-shell,.auth-shell,.verify-shell,.change-pwd-shell,.error-shell,.dashboard-shell{min-height:100vh}.field-error{color:var(--danger);margin-top:4px;font-size:.82rem;display:block}.toast-stack{z-index:10000;flex-direction:column;gap:10px;max-width:min(420px,100vw - 36px);display:flex;position:fixed;top:18px;right:18px}.toast{border:1px solid var(--border);background:var(--bg-white);border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;font-size:.88rem;line-height:1.5;animation:.18s ease-out toast-in;display:flex;box-shadow:0 12px 32px #0f172a29}.toast-message{white-space:pre-line;flex:1}.toast-close{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:0;font-size:1.1rem;line-height:1}.toast-close:hover{opacity:1}.toast-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.toast-error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.toast-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.toast-info{background:var(--primary-light);color:var(--primary-dark);border-color:#bfd3fb}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.error-shell{color:#fff;background:#0f172a;justify-content:center;align-items:center;padding:24px;display:flex}.error-container{text-align:center;max-width:520px}.error-code{color:var(--primary);font-family:DM Serif Display,serif;font-size:clamp(4rem,18vw,7rem);line-height:1}.error-title{margin:12px 0 10px;font-family:DM Serif Display,serif;font-size:1.6rem}.error-message{color:#ffffff8c;margin-bottom:32px;font-size:.95rem;line-height:1.75}.error-btn{background:var(--primary);color:#fff;border-radius:10px;align-items:center;gap:8px;padding:12px 24px;font-size:.9rem;font-weight:500;display:inline-flex;box-shadow:0 2px 12px #1b4fd866}.error-btn:hover{background:var(--primary-dark)}.route-loading{min-height:60vh;color:var(--text-mid);justify-content:center;align-items:center;gap:12px;font-size:.92rem;display:flex}.spinner-ring{border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}.inline-empty{text-align:center;color:var(--text-light);padding:28px 20px;font-size:.9rem}.file-preview-frame{border:1px solid var(--border);background:var(--bg-light);border-radius:10px;width:100%;min-height:62vh}.file-preview-image{border-radius:10px;max-width:100%;margin:0 auto;display:block}.page-links button{background:var(--bg-white);cursor:pointer;font-family:inherit}.role-badge.role-guest{color:#fcd34d;background:#fcd34d38}.guest-ribbon{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning);letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.74rem;font-weight:600;display:inline-flex}@keyframes modal-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.modal-bg.open,.modal-bg.open .modal,.afk-warning-modal .afk-warning-content{animation-name:modal-backdrop-in!important;animation-duration:10ms!important}}
