.attendance-container{display:flex;flex-direction:column;gap:20px;max-width:1200px;margin:0 auto}.attendance-filters{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group--date{width:200px}.filter-group--division{min-width:280px;flex:1}.filter-label{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.attendance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width: 680px){.attendance-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;align-items:end}.filter-group--date,.filter-group--division{width:100%;min-width:0;flex:none}.attendance-filters .control{width:100%;min-width:0;box-sizing:border-box}.attendance-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.summary-card{padding:10px 8px;border-radius:10px;align-items:center;text-align:center;gap:4px}.summary-card-label{font-size:.68rem;letter-spacing:.04em}.summary-card-value{font-size:1.4rem;line-height:1.15}}@media (max-width: 380px){.attendance-summary{gap:6px}.summary-card{padding:8px 4px}.summary-card-label{font-size:.62rem}.summary-card-value{font-size:1.25rem}}.summary-card{padding:16px 20px;border-radius:12px;background:var(--card, #20232d);border:1px solid var(--border);display:flex;flex-direction:column;gap:6px;transition:transform .15s ease,border-color .15s ease}.summary-card:hover{transform:translateY(-1px)}.summary-card--neutral{border-color:#ffffff1f}.summary-card--present{background:#34d39914;border-color:#34d39959;color:#34d399}.summary-card--absent{background:#f8717114;border-color:#f8717159;color:#f87171}.summary-card-label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.summary-card--present .summary-card-label{color:#34d399}.summary-card--absent .summary-card-label{color:#f87171}.summary-card-value{font-size:2.2rem;font-weight:700;line-height:1;color:#fff;font-variant-numeric:tabular-nums}.summary-card--present .summary-card-value{color:#34d399}.summary-card--absent .summary-card-value{color:#f87171}.student-grid-wrapper{background:var(--card, #20232d);border:1px solid var(--border);border-radius:14px;padding:20px}@media (max-width: 640px){.student-grid-wrapper{padding:12px 10px;border-radius:12px}}@media (max-width: 380px){.student-grid-wrapper{padding:10px 6px;border-radius:10px}}.student-grid-loading,.student-grid-empty{padding:48px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.student-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px}@media (max-width: 1200px){.student-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:10px}}@media (max-width: 960px){.student-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}}@media (max-width: 720px){.student-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}}@media (max-width: 640px){.student-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}}@media (max-width: 380px){.student-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}}.student-card{aspect-ratio:1 / 1;min-width:0;width:100%;border-radius:clamp(16px,26%,22px);position:relative;display:flex;align-items:center;justify-content:center;padding:6px 4px;cursor:pointer;border:1px solid transparent;-webkit-user-select:none;user-select:none;font-family:inherit;outline:none;transition:transform .16s cubic-bezier(.2,.9,.3,1),box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease}.student-card:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.student-card--present{background:linear-gradient(180deg,#103f35,#082921);border-color:#2dd4bf47;color:#2dd4bf;box-shadow:0 4px 10px -2px #00000080,0 2px 4px #0006,inset 0 1px 1px #ffffff1a,inset 0 -2px 4px #0006}.student-card--present:hover{background:linear-gradient(180deg,#155447,#0b362c);border-color:#2dd4bf7a;color:#5eead4;box-shadow:0 6px 16px -2px #0009,0 2px 8px #10b98133,inset 0 1px 1px #ffffff26,inset 0 -2px 4px #00000059;transform:translateY(-2px)}.student-card--present:active{background:linear-gradient(180deg,#061e18,#092c23);border-color:#2dd4bf2e;color:#14b8a6;box-shadow:inset 0 4px 10px #000000bf,inset 0 1px 2px #000000d9,0 1px 2px #00000040;transform:translateY(1px) scale(.97)}.student-card--absent{background:linear-gradient(180deg,#3f1515,#260b0b);border-color:#f8717147;color:#f87171;box-shadow:0 4px 10px -2px #00000080,0 2px 4px #0006,inset 0 1px 1px #ffffff1a,inset 0 -2px 4px #0006}.student-card--absent:hover{background:linear-gradient(180deg,#521c1c,#330f0f);border-color:#f871717a;color:#fca5a5;box-shadow:0 6px 16px -2px #0009,0 2px 8px #ef444433,inset 0 1px 1px #ffffff26,inset 0 -2px 4px #00000059;transform:translateY(-2px)}.student-card--absent:active{background:linear-gradient(180deg,#1c0606,#260b0b);border-color:#f871712e;color:#ef4444;box-shadow:inset 0 4px 10px #000000bf,inset 0 1px 2px #000000d9,0 1px 2px #00000040;transform:translateY(1px) scale(.97)}.student-card-roll{font-size:1.45rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em;display:flex;align-items:center;justify-content:center;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.6);transition:color .15s ease,transform .15s ease}@media (max-width: 720px){.student-card-roll{font-size:1.25rem}}@media (max-width: 480px){.student-card-roll{font-size:1.1rem}}@media (max-width: 360px){.student-card-roll{font-size:.98rem}}.student-card--present .student-card-roll{color:#2dd4bf}.student-card--present:hover .student-card-roll{color:#5eead4}.student-card--present:active .student-card-roll{color:#14b8a6}.student-card--absent .student-card-roll{color:#f87171}.student-card--absent:hover .student-card-roll{color:#fca5a5}.student-card--absent:active .student-card-roll{color:#ef4444}.swipe-phone-container{position:relative;display:inline-flex;align-items:center;border-radius:8px;overflow:hidden;-webkit-user-select:none;user-select:none;max-width:100%}.swipe-phone-track{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding-right:12px;background:linear-gradient(270deg,#2563eb80,#3b82f633);border:1px dashed rgba(59,130,246,.55);border-radius:8px;pointer-events:none;z-index:1;transition:all .2s ease}.swipe-phone-track.track-active{background:linear-gradient(270deg,#2563ebd9,#3b82f68c);border-color:#3b82f6;box-shadow:0 0 14px #3b82f680}.swipe-phone-track-text{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.05em;text-shadow:0 1px 2px rgba(0,0,0,.4)}.swipe-phone-pill{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;background:var(--card, #26272e);border:1px solid var(--border);border-radius:8px;padding:5px 10px;transition:transform .22s cubic-bezier(.2,.9,.3,1),background .2s ease,border-color .2s ease,box-shadow .2s ease;touch-action:pan-y}.swipe-phone-pill.is-dragging{transition:none!important}.swipe-phone-pill .phone-call-link{background:transparent!important;border:none!important;padding:0!important;color:inherit!important;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.swipe-phone-pill .phone-call-icon{background:#22c55e2e;color:#4ade80;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;transition:all .15s ease}.swipe-phone-pill:hover .phone-call-icon{background:#22c55e;color:#fff;transform:scale(1.08)}.swipe-phone-pill .phone-call-text{font-size:.85rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}.desktop-arrow-btn{display:inline-flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--muted);width:22px;height:22px;border-radius:6px;padding:0;cursor:pointer;margin-left:2px;transition:all .15s ease;-webkit-user-select:none;user-select:none;font-family:inherit;font-size:.85rem}.desktop-arrow-btn:hover:not(:disabled){background:#2563eb40;border-color:#3b82f680;color:#60a5fa;transform:translate(2px)}.desktop-arrow-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}.desktop-arrow-btn:disabled{opacity:.5;cursor:not-allowed}.spinner-xs{width:12px;height:12px;border:2px solid rgba(255,255,255,.2);border-top-color:#60a5fa;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.swipe-phone-container.is-called .swipe-phone-pill,.swipe-phone-pill.pill-called{background:#2563eb29!important;border-color:#3b82f6a6!important;box-shadow:0 0 10px #3b82f633!important}.swipe-phone-container.is-called .phone-call-text{color:#93c5fd!important;font-weight:600}.swipe-phone-container.is-called .phone-call-icon{background:#2563eb!important;color:#fff!important;box-shadow:0 0 8px #2563eb99}.swipe-phone-container.is-called .swipe-phone-pill:hover{background:#2563eb3d!important;border-color:#60a5fa!important;box-shadow:0 0 14px #3b82f659!important}.verification-mark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#2563eb;color:#fff;border:1px solid #3b82f6;padding:0;cursor:pointer;margin-left:2px;flex-shrink:0;box-shadow:0 0 6px #2563eb80;transition:transform .15s ease,background-color .15s ease}.verification-mark:hover{background:#1d4ed8;transform:scale(1.1)}.attendance-action-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}@media (max-width: 580px){.attendance-action-bar{grid-template-columns:1fr}}.btn-action{height:44px;font-size:.92rem;font-weight:600;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;font-family:inherit}.btn-action--present{background:#34d39926;color:#34d399;border-color:#34d39959}.btn-action--present:hover:not(:disabled){background:#34d399;color:#064e3b}.btn-action--submit{background:#000;color:#fff;border-color:#fff3;box-shadow:0 4px 14px #0000008c;font-weight:700}.btn-action--submit:hover:not(:disabled){background:#14151a;border-color:#ffffff59;color:#fff;box-shadow:0 6px 18px #000000bf}.btn-action--submit:active:not(:disabled){background:#000;transform:translateY(1px) scale(.98)}.btn-action--absent{background:#f8717126;color:#f87171;border-color:#f8717159}.btn-action--absent:hover:not(:disabled){background:#f87171;color:#450a0a}.btn-action:disabled{opacity:.55;cursor:not-allowed}.absentees-panel{margin-top:18px;padding:18px 20px;border-radius:12px;background:#f871710f;border:1px solid rgba(248,113,113,.25)}.absentees-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}.absentees-title{font-size:.92rem;font-weight:700;color:#f87171}.absentees-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.absentee-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 12px;border-radius:8px;background:#00000040;border:1px solid rgba(248,113,113,.3);color:#fef2f2;font-size:.85rem;cursor:pointer;transition:all .15s ease;font-family:inherit}.absentee-chip:hover{background:#34d39933;border-color:#34d399;color:#34d399;transform:scale(1.02)}.absentee-roll{font-weight:700;font-variant-numeric:tabular-nums}.absentee-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.absentee-action{opacity:.6;font-size:.8rem}.attendance-view-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px}.attendance-view-info{display:flex;align-items:baseline;gap:6px}.attendance-view-title{font-size:.95rem;font-weight:700;letter-spacing:.04em;color:var(--fg, #f3f4f6);text-transform:uppercase}.attendance-view-count{font-size:.82rem;font-weight:600;color:var(--muted, #9ca3af)}.view-mode-toggle{display:inline-flex;align-items:center;gap:3px;padding:3px;border-radius:10px;background:var(--card, #20232d);border:1px solid var(--border)}.view-mode-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--muted, #9ca3af);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.view-mode-btn:hover:not(.active){color:var(--fg, #ffffff);background:#ffffff0d}.view-mode-btn.active{background:#11141c;color:#fff;border-color:#ffffff2e;box-shadow:0 2px 6px #0006}@media (max-width: 480px){.view-mode-label{display:none}.view-mode-btn{padding:6px 8px}}.student-list-wrapper{background:var(--card, #20232d);border:1px solid var(--border);border-radius:14px;padding:16px}@media (max-width: 640px){.student-list-wrapper{padding:10px 8px;border-radius:12px}}.student-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}@media (max-width: 480px){.student-list-grid{grid-template-columns:1fr;gap:8px}}.student-list-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;border:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;outline:none}.student-list-item:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.student-list-item:active{transform:scale(.985)}.student-list-item--present{background:linear-gradient(180deg,#103f35,#082921);border-color:#2dd4bf59;box-shadow:0 3px 8px #00000059,inset 0 1px 1px #ffffff14}.student-list-item--present:hover{background:linear-gradient(180deg,#155447,#0b362c);border-color:#2dd4bf8c;box-shadow:0 4px 12px #10b98140}.student-list-item--absent{background:linear-gradient(180deg,#3f1515,#260b0b);border-color:#f8717159;box-shadow:0 3px 8px #00000059,inset 0 1px 1px #ffffff14}.student-list-item--absent:hover{background:linear-gradient(180deg,#521919,#300d0d);border-color:#f871718c;box-shadow:0 4px 12px #ef444440}.student-list-roll-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:6px 10px;border-radius:8px;font-family:inherit;font-weight:700;font-size:.9rem;letter-spacing:.02em;font-variant-numeric:tabular-nums;cursor:pointer;border:1px solid;transition:all .15s ease}.student-list-roll-btn--present{background:#2dd4bf2e;border-color:#2dd4bf80;color:#fff}.student-list-roll-btn--absent{background:#f871712e;border-color:#f8717180;color:#fff}.student-list-name-btn{flex:1;min-width:0;background:none;border:none;padding:0;text-align:left;font-family:inherit;cursor:pointer}.student-list-name-text{display:block;font-size:.95rem;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-list-status{flex-shrink:0}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.status-pill--present{background:#34d39933;color:#34d399;border:1px solid rgba(52,211,153,.35)}.status-pill--absent{background:#f8717133;color:#f87171;border:1px solid rgba(248,113,113,.35)}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}:root{--bg:#f5f6fa;--card:#fff;--border:#e5e7ef;--text:#1c2033;--muted:#6b7285;--accent:#5b4bf0;--accent-soft:#eeecfe;--green:#16a34a;--green-soft:#e8f7ee;--red:#dc2626;--red-soft:#fdecec;--side:#1e1f24;--side-2:#26272e;--side-text:#a7a9bd;--shadow:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.06);--r:10px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;font-size:15px}h1,h2,h3,p{margin:0}ul,ol{list-style:none;margin:0;padding:0}button{font:inherit}.muted{color:var(--muted);font-size:.9rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{--bg:var(--side);--card:var(--side-2);--border:rgba(255,255,255,.08);--border-subtle:rgba(255,255,255,.05);--text:#f5f6fa;--muted:var(--side-text);--accent:#6355f6;--accent-soft:rgba(99,85,246,.25);--green:#34d399;--green-soft:rgba(52,211,153,.18);--red:#f87171;--red-soft:rgba(248,113,113,.18);--shadow:0 1px 3px rgba(0,0,0,.35),0 2px 8px rgba(0,0,0,.25);display:flex;min-height:100vh;flex-direction:column;background:var(--bg);color:var(--text)}body:has(.app){background:var(--side);color:#f5f6fa}.main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.content{width:100%;max-width:1280px;margin:0 auto;padding:20px 32px 48px}.sidebar{width:240px;flex:none;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 12px;background:var(--side);color:var(--side-text);border-right:1px solid var(--border);z-index:40;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 20px;color:#fff}.brand-logo{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--accent);color:#fff}.brand-logo--sm{width:32px;height:32px;border-radius:8px}.brand small{display:block;font-size:.65rem;letter-spacing:.1em;color:var(--side-text)}.brand b{font-size:.95rem}.nav{flex:1;display:flex;flex-direction:column;gap:2px}.nav-section{margin-bottom:14px}.nav-title{display:block;padding:6px 12px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#6d6f86}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--side-text);text-decoration:none;font-size:.9rem;transition:background .15s,color .15s}.nav-link:hover{background:var(--side-2);color:#fff}.nav-link--active,.nav-link--active:hover{background:#5b4bf047;color:#fff;box-shadow:inset 3px 0 #8b7ff7}button.nav-link{width:100%;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit}.nav-signout{color:var(--side-text)}.nav-signout:hover{background:#ef44441f;color:#f87171}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-toggle{width:100%;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit}.nav-toggle--active{color:#fff;background:#ffffff0a}.nav-chevron{margin-left:auto;display:flex;align-items:center;transition:transform .2s ease}.nav-chevron--open{transform:rotate(180deg)}.nav-sub{display:flex;flex-direction:column;gap:2px;margin:3px 0 6px 16px;padding-left:12px;border-left:1px solid rgba(255,255,255,.12)}.nav-sub-link{font-size:.86rem;padding:8px 10px}.sidebar-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:10px;display:flex;flex-direction:column;gap:8px}.user-card{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#ffffff0a;color:#fff}.user-meta{min-width:0;flex:1}.user-meta b,.user-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta b{font-size:.85rem}.user-meta small{font-size:.72rem;color:var(--side-text)}.avatar{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:600}.app .avatar{background:var(--accent-soft);color:#c4b5fd}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:0 32px 14px;background:transparent;border:0}.topbar-title{flex:1;min-width:0}.topbar-title h1{font-size:1.35rem;line-height:1.2;color:#fff}.topbar-title span{font-size:.8rem;color:var(--muted)}.topbar-user{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted)}.topbar-name{color:#fff;font-weight:500}.icon-btn{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.icon-btn:hover{background:var(--bg)}.app .icon-btn:hover{background:var(--card);color:#fff}.office-topbar,.menu-btn,.scrim{display:none}.badge-present,.badge-absent{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600}.badge-present{background:var(--green-soft);color:var(--green)}.badge-absent{background:var(--red-soft);color:var(--red)}.app .badge-present{background:#34d39926;color:#34d399}.app .badge-absent{background:#f8717126;color:#f87171}.history-meta{padding:2px 2px 10px}.stat-grid .stat{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.stat-grid .stat small{display:block;color:var(--muted);font-size:.75rem}.stat-grid .stat b{font-size:1.2rem}.app .stat-grid .stat{background:var(--bg);border:1px solid var(--border)}.app .stat-grid .stat b{color:#fff}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:22px}.page-actions{display:flex;align-items:center;gap:10px}.page-head h2{font-size:1.45rem;color:#fff}.page-head p{margin-top:4px;color:var(--muted);font-size:.9rem}.date-chip{display:inline-block;padding:8px 14px;background:var(--card);border:1px solid var(--border);border-radius:8px;font-size:.85rem;color:var(--muted)}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:22px;margin-bottom:18px}.card--flush{padding:0;overflow:hidden}.card h3{font-size:1rem;color:#fff;margin-bottom:18px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.stat-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{display:flex;align-items:center;gap:14px;min-width:0;padding:18px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.stat-icon{flex:none;width:44px;height:44px;border-radius:10px;display:grid;place-items:center}.stat-icon--indigo{background:var(--accent-soft);color:var(--accent)}.stat-icon--green{background:var(--green-soft);color:var(--green)}.stat-icon--red{background:var(--red-soft);color:var(--red)}.app .stat-icon--indigo{background:var(--accent-soft);color:#a5b4fc}.app .stat-icon--green{background:var(--green-soft);color:#4ade80}.app .stat-icon--red{background:var(--red-soft);color:#f87171}.stat-label{display:block;font-size:.8rem;color:var(--muted)}.stat-value{display:block;font-size:1.7rem;line-height:1.25;color:#fff}.stat-note{font-size:.75rem;color:var(--muted)}.stat-note--green{color:var(--green)}.stat-note--red{color:var(--red)}.app .stat-note--green{color:#4ade80}.app .stat-note--red{color:#f87171}.stat-card--green{background:#34d39914;border-color:#34d39959}.stat-card--green .stat-value{color:#34d399}.stat-card--red{background:#f8717114;border-color:#f8717159}.stat-card--red .stat-value{color:#f87171}.stat-card--clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.stat-card--clickable:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000004d}.stat-card--clickable:active{transform:translateY(0)}.stat-card--indigo.stat-card--active{border-color:#818cf8!important;background:#6366f12e!important;box-shadow:0 0 14px #6366f152!important}.stat-card--green.stat-card--active{border-color:#34d399!important;background:#34d39933!important;box-shadow:0 0 14px #34d39959!important}.stat-card--red.stat-card--active{border-color:#f87171!important;background:#f8717133!important;box-shadow:0 0 14px #f8717159!important}.stat-grid--daily{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.dash-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px}.chart{display:flex;align-items:flex-end;justify-content:space-around;gap:10px;height:220px}.chart-col{flex:1;max-width:80px;height:100%;display:flex;flex-direction:column;align-items:center;gap:6px}.chart-track{flex:1;width:100%;display:flex;align-items:flex-end;background:var(--bg);border-radius:8px;overflow:hidden}.chart-track i{display:block;width:100%;background:var(--accent);border-radius:8px 8px 0 0}.chart-value{font-size:.78rem;font-weight:600;color:var(--text)}.chart-label{font-size:.78rem;color:var(--muted)}.donut{width:154px;height:154px;margin:6px auto 12px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green,#34d399) calc(var(--p,0)*1%),var(--red,#f87171) 0);box-shadow:0 0 16px #00000040;transition:all .25s ease}.donut--empty{background:#ffffff14!important;box-shadow:none!important}.donut span{width:110px;height:110px;border-radius:50%;background:var(--card);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:1.45rem;box-shadow:inset 0 2px 6px #00000040;font-variant-numeric:tabular-nums}.donut span small{font-size:.68rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.today-attendance-card{max-width:640px;margin:0 auto}.today-attendance-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.today-attendance-body{display:flex;align-items:center;justify-content:center;gap:42px;flex-wrap:wrap;padding:12px 0 6px}.legend{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;min-width:190px}.legend li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:#ffffff08;font-size:.88rem;color:var(--text);border:1px solid rgba(255,255,255,.06)}.legend b{margin-left:auto;color:#fff;font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}.legend-val--present{color:#34d399!important}.legend-val--absent{color:#f87171!important}.dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}.dot--green{background:#34d399;box-shadow:0 0 8px #34d39980}.dot--red{background:#f87171;box-shadow:0 0 8px #f8717180}.dot--neutral{background:var(--muted);box-shadow:none}.activity li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:.9rem;color:var(--text)}.activity li:last-child{border:0;padding-bottom:0}.activity small{color:var(--muted);white-space:nowrap}.perf{display:flex;flex-direction:column;gap:18px}.perf-row{display:flex;justify-content:space-between;margin-bottom:6px;font-size:.9rem}.bar{height:8px;background:var(--bg);border-radius:6px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent);border-radius:6px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:.8rem;font-weight:500}.control{width:100%;height:42px;padding:0 12px;font:inherit;font-size:.92rem;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:8px}.control:hover{border-color:#cfd3e2}.control--error{border-color:var(--red)}.control[readonly]{background:var(--bg);color:var(--muted)}.app .control{background:#1e1f24;color:var(--text);border-color:#ffffff1f}.app .control:hover{border-color:#ffffff3d}.app .control:focus{border-color:var(--accent)}.app .control--error{border-color:var(--red)}.app .control[readonly]{background:#00000040;color:var(--muted);border-color:var(--border)}.app .control::placeholder{color:#6d6f86}.field-error{color:var(--red);font-size:.78rem}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:12px;cursor:pointer;background-image:none}.app .select{background-color:#1e1f24;color:var(--text);background-image:none}.app .select option{background:#26272e;color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:1px solid transparent;border-radius:8px;font-size:.88rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--sm{padding:6px 10px;font-size:.82rem}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:#4a3bdc}.btn--secondary{background:#fff;border-color:var(--border);color:var(--text)}.btn--secondary:hover:not(:disabled){background:var(--bg)}.app .btn--secondary{background:#ffffff0d;border-color:#ffffff1f;color:var(--text)}.app .btn--secondary:hover:not(:disabled){background:#ffffff1a;color:#fff}.btn--danger{background:var(--red);color:#fff}.btn--ghost{background:transparent;color:var(--accent)}.btn--ghost:hover{background:var(--accent-soft)}.app .btn--ghost{color:#a5b4fc}.app .btn--ghost:hover{background:var(--accent-soft)}.btn--ghost-danger{background:transparent;color:var(--red)}.btn--ghost-danger:hover{background:var(--red-soft)}.toolbar{display:grid;grid-template-columns:1fr 180px;gap:12px;margin-bottom:16px;align-items:end}.toolbar--3{grid-template-columns:1fr 200px 170px}.toolbar--att{grid-template-columns:200px 240px}.toolbar--att3{grid-template-columns:180px 180px 220px}.toolbar--att4{display:grid;grid-template-columns:160px 170px 150px 1fr;gap:12px;margin-bottom:16px;align-items:end}.search{position:relative;min-width:0}.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search .control{padding-left:36px}.form{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.span-2{grid-column:span 2}.app code{background:#ffffff14;padding:2px 6px;border-radius:4px;font-size:.85em;color:#e2e8f0}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.app .seg{border-color:#ffffff1f}.seg-btn{padding:8px 16px;border:0;background:#fff;color:var(--muted);cursor:pointer;font-size:.85rem;transition:background .15s}.seg-btn+.seg-btn{border-left:1px solid var(--border)}.app .seg-btn{background:#1e1f24;color:var(--muted)}.app .seg-btn+.seg-btn{border-left-color:#ffffff1f}.app .seg-btn:hover:not(.on){background:#ffffff0f;color:#fff}.seg-btn--present.on{background:#34d3992e;color:#34d399;font-weight:600}.seg-btn--absent.on{background:#f871712e;color:#f87171;font-weight:600}.app .seg-btn--present.on{background:#34d39933;color:#34d399;font-weight:600}.app .seg-btn--absent.on{background:#f8717133;color:#f87171;font-weight:600}.app .seg-btn--present.on:hover{background:#34d3994d;color:#34d399}.app .seg-btn--absent.on:hover{background:#f871714d;color:#f87171}.att-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border)}.att-row:last-child{border:0}.att-info strong,.att-info small{display:block}.att-info small{color:var(--muted);font-size:.78rem;margin-top:2px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{padding:12px 20px;text-align:left;font-size:.74rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);background:#fafbfd;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:14px 20px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border:0}.app .table th{background:#202127;color:var(--muted);border-bottom:1px solid var(--border)}.app .table td{border-bottom:1px solid var(--border);color:var(--text)}.app .table tbody tr:hover td{background:#ffffff05}.th-right,.cell-actions{text-align:right;white-space:nowrap}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:500}.badge--active{background:var(--green-soft);color:var(--green)}.badge--inactive{background:#f1f2f6;color:var(--muted)}.app .badge--inactive{background:#ffffff14;color:var(--muted)}.app .badge--active{background:var(--green-soft);color:#4ade80}.empty{padding:56px 16px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--text);margin-bottom:6px}.empty p{margin-bottom:14px}.app .empty strong{color:#fff}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:16px;background:#11142880}.modal{width:100%;max-width:520px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 20px 50px #00000040}.app .modal{background:#26272e;border:1px solid rgba(255,255,255,.12);color:var(--text);box-shadow:0 25px 50px -12px #000000b3}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-head h2{font-size:1.05rem}.app .modal-head{border-bottom:1px solid var(--border);color:#fff}.modal-body{padding:20px;overflow-y:auto}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.confirm-text{margin-bottom:16px;line-height:1.5}.notice{padding:12px 14px;margin-bottom:16px;border-radius:8px;background:#fff7e6;color:#9a6700;border:1px solid #f5d98b;font-size:.88rem}.app .notice{background:#f59e0b1f;color:#fcd34d;border:1px solid rgba(245,158,11,.25)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:70;max-width:calc(100vw - 32px);padding:12px 18px;background:#26272e;color:#f5f6fa;border:1px solid rgba(255,255,255,.12);border-left:4px solid var(--green);border-radius:8px;font-size:.88rem;box-shadow:0 10px 30px #0006}.toast--info{border-left-color:var(--accent)}.auth-wrap,.onboard{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;background-color:#08090d;background-image:radial-gradient(ellipse 900px 500px at 50% 0%,rgba(30,41,59,.45) 0%,transparent 75%),radial-gradient(circle at 10% 20%,rgba(37,99,235,.08) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(234,88,12,.08) 0%,transparent 40%);color:#f8fafc;font-family:inherit}.auth-card,.onboard-card{width:100%;max-width:460px;position:relative;background:radial-gradient(circle 280px at 100% 5%,rgba(234,88,12,.12) 0%,transparent 70%),radial-gradient(circle 280px at 0% 95%,rgba(37,99,235,.14) 0%,transparent 70%),#111217;border-radius:28px;padding:38px 32px;box-shadow:-12px -12px 42px -6px #2563eb73,12px 12px 42px -6px #ea580c73,0 24px 60px -12px #000000d9;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:16px;overflow:hidden;z-index:1}.onboard-card{max-width:680px;padding:40px 36px}.auth-header{margin-bottom:2px}.auth-eyebrow{font-size:.84rem;color:#94a3b8;font-weight:400;margin-bottom:4px}.auth-title{font-size:1.65rem;font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1.2;margin:0 0 6px}.auth-subtitle{font-size:.85rem;color:#94a3b8;line-height:1.45;margin:0}.auth-social-row{display:grid;grid-template-columns:1fr;gap:10px;margin-top:4px}.btn--social{height:44px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn--social:hover:not(:disabled){background:#ffffff12;border-color:#ffffff38;transform:translateY(-1px)}.btn--social:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:14px;margin:4px 0;color:#64748b;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#ffffff17}.auth-form{display:flex;flex-direction:column;gap:16px;margin-top:2px}.field-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.field-label-row label{font-size:.85rem;font-weight:500;color:#e2e8f0;margin:0}.auth-forgot-link{font-size:.82rem;font-weight:500;color:#f97316;text-decoration:none;transition:color .15s ease}.auth-forgot-link:hover{color:#fb923c;text-decoration:underline}.control-wrap{position:relative;display:flex;align-items:center;width:100%}.auth-card .control,.onboard-card .control,.auth-wrap .control,.onboard .control,.control-wrap .control{width:100%;height:46px;background:#151720;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:0 14px;color:#fff;font-size:.9rem;transition:all .2s ease;outline:none;font-family:inherit}.control-wrap.has-icon-left .control{padding-left:42px}.control-wrap.has-icon-right .control{padding-right:42px}.auth-card .control:hover,.onboard-card .control:hover,.auth-wrap .control:hover,.onboard .control:hover,.control-wrap .control:hover{border-color:#ffffff38}.auth-card .control:focus,.onboard-card .control:focus,.auth-wrap .control:focus,.onboard .control:focus,.control-wrap .control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640;background:#171924}.auth-card .control::placeholder,.onboard-card .control::placeholder,.auth-wrap .control::placeholder,.onboard .control::placeholder,.control-wrap .control::placeholder{color:#64748b}.auth-card .control.control--error,.onboard-card .control.control--error,.auth-wrap .control.control--error,.onboard .control.control--error,.control-wrap .control.control--error{border-color:#ef4444}.auth-card .control:-webkit-autofill,.onboard-card .control:-webkit-autofill,.auth-wrap .control:-webkit-autofill,.onboard .control:-webkit-autofill,.control-wrap .control:-webkit-autofill{-webkit-text-fill-color:#ffffff;-webkit-box-shadow:0 0 0px 1000px #151720 inset;transition:background-color 5000s ease-in-out 0s}.auth-card .field label,.onboard-card .field label,.auth-wrap .field label,.onboard .field label{font-size:.85rem;font-weight:500;color:#e2e8f0}.control-icon-left{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;display:flex;align-items:center;pointer-events:none}.control-icon-right{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center}.pwd-toggle-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:6px;transition:color .15s ease}.pwd-toggle-btn:hover{color:#fff}.auth-remember-row{display:flex;align-items:center;gap:8px;font-size:.84rem;color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:-2px}.auth-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:17px;height:17px;background:#151720;border:1px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;display:grid;place-content:center;margin:0;transition:all .15s ease}.auth-checkbox:checked{background:#2563eb;border-color:#3b82f6}.auth-checkbox:checked:before{content:"✓";font-size:11px;font-weight:800;color:#fff;line-height:1}.btn--auth-primary{width:100%;height:48px;background:linear-gradient(180deg,#3b82f6,#2563eb);border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:.95rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 4px 14px #2563eb66;transition:all .2s cubic-bezier(.16,1,.3,1);font-family:inherit}.btn--auth-primary:hover:not(:disabled){background:linear-gradient(180deg,#60a5fa,#3b82f6);box-shadow:0 6px 20px #2563eb8c;transform:translateY(-1.5px)}.btn--auth-primary:active:not(:disabled){transform:translateY(0)}.btn--auth-primary:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;font-size:.88rem;color:#94a3b8;margin:4px 0 0}.auth-switch a,.auth-highlight-link{color:#f97316;font-weight:600;text-decoration:none;transition:color .15s ease}.auth-switch a:hover,.auth-highlight-link:hover{color:#fb923c;text-decoration:underline}.auth-legal{font-size:.75rem;color:#64748b;text-align:center;margin-top:18px}.steps{display:flex;justify-content:space-between;gap:8px;margin:8px 0 16px;padding:0;list-style:none}.step{flex:1;display:flex;align-items:center;gap:8px;font-size:.82rem;color:#64748b;transition:all .2s ease}.step-dot{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#171924;border:1px solid rgba(255,255,255,.1);font-size:.75rem;font-weight:600;color:#94a3b8;transition:all .2s ease}.step--current{color:#fff;font-weight:600}.step--current .step-dot{background:#2563eb;color:#fff;border-color:#3b82f6;box-shadow:0 0 12px #2563eb99}.step--done{color:#4ade80}.step--done .step-dot{background:#10b981;color:#fff;border-color:#34d399;box-shadow:0 0 10px #10b98180}.onboard-step-content{display:flex;flex-direction:column;gap:16px}.onboard-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.slug-preview-text{font-size:.85rem;color:#94a3b8;margin:-4px 0 0}.slug-preview-text b{color:#f97316}.review{display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;background:#ffffff05;margin:0}.review div{display:grid;grid-template-columns:160px 1fr;gap:12px;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.06)}.review div:last-child{border-bottom:none}.review dt{color:#94a3b8;font-size:.85rem}.review dd{margin:0;font-weight:500;color:#fff;overflow-wrap:anywhere}.review dd code{color:#f97316;background:#f973161a;padding:2px 6px;border-radius:4px}.done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 0}.done-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#10b98129;border:1px solid rgba(16,185,129,.35);color:#34d399;box-shadow:0 0 20px #10b98140}.form-error{color:#fca5a5;font-size:.85rem;background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:10px;padding:10px 14px;margin:0}.form-warning{color:#fcd34d;font-size:.88rem;font-weight:500;background:#f59e0b24;border:1px solid rgba(245,158,11,.38);border-radius:10px;padding:12px 14px;margin:0;display:flex;align-items:center;gap:10px;line-height:1.4}.form-warning svg{flex-shrink:0;color:#f59e0b}.app.theme-light .form-warning{color:#92400e;background:#fef3c7;border-color:#fcd34d}.notice--success{background:#10b9811f;border:1px solid rgba(16,185,129,.3);color:#a7f3d0;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:14px;text-align:center;align-items:center}.spinner{width:38px;height:38px;border-radius:50%;border:3px solid rgba(255,255,255,.1);border-top-color:#3b82f6;animation:spin .8s linear infinite;margin:10px auto}@keyframes spin{to{transform:rotate(360deg)}}.theme-switcher-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:4px}.theme-card-btn{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:12px;background:#ffffff08;border:2px solid rgba(255,255,255,.1);color:var(--text);cursor:pointer;position:relative;text-align:left;transition:all .2s ease;font-family:inherit}.theme-card-btn:hover{border-color:#6355f680;background:#ffffff0d}.theme-card-btn--active{border-color:#6355f6;background:#6355f614}.theme-card-preview{height:72px;border-radius:8px;display:flex;overflow:hidden;border:1px solid rgba(255,255,255,.1);pointer-events:none}.theme-card-preview--dark{background:#1e1f24}.theme-card-preview--dark .preview-nav{width:28%;background:#17181c;border-right:1px solid rgba(255,255,255,.08)}.theme-card-preview--dark .preview-body{flex:1;padding:8px;display:flex;flex-direction:column;gap:6px}.theme-card-preview--dark .preview-line{width:60%;height:6px;border-radius:3px;background:#fff3}.theme-card-preview--dark .preview-tile{width:100%;height:32px;border-radius:4px;background:#26272e;border:1px solid rgba(255,255,255,.06)}.theme-card-preview--light{background:#fff;border-color:#cbd5e1}.theme-card-preview--light .preview-nav{width:28%;background:#f8fafc;border-right:1px solid #e2e8f0}.theme-card-preview--light .preview-body{flex:1;padding:8px;display:flex;flex-direction:column;gap:6px;background:#fff}.theme-card-preview--light .preview-line{width:60%;height:6px;border-radius:3px;background:#cbd5e1}.theme-card-preview--light .preview-tile{width:100%;height:32px;border-radius:4px;background:#f8fafc;border:1px solid #e2e8f0}.theme-card-text{display:flex;flex-direction:column;gap:2px}.theme-card-title{display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:600;color:var(--text)}.theme-card-text small{color:var(--muted);font-size:.78rem}.theme-check-badge{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:#6355f6;color:#fff;display:grid;place-items:center}.app.theme-light,[data-theme=light] .app{--bg: #ffffff;--card: #ffffff;--border: #e2e8f0;--border-subtle: #f1f5f9;--text: #0f172a;--muted: #64748b;--accent: #5b4bf0;--accent-soft: rgba(91, 75, 240, .1);--green: #16a34a;--green-soft: rgba(22, 163, 74, .12);--red: #dc2626;--red-soft: rgba(220, 38, 38, .12);--shadow: 0 1px 3px rgba(0, 0, 0, .05), 0 4px 12px rgba(0, 0, 0, .02);--side: #f8fafc;--side-2: #edf2f7;--side-text: #475569;background:#fff;color:#0f172a}body:has(.app.theme-light),[data-theme=light] body{background:#fff!important;color:#0f172a!important}.app.theme-light .main{background:#fff;color:#0f172a}.app.theme-light .sidebar{background:#f8fafc;color:#475569;border-right-color:#e2e8f0}.app.theme-light .brand{color:#0f172a}.app.theme-light .brand small{color:#64748b}.app.theme-light .nav-link{color:#475569}.app.theme-light .nav-link:hover{background:#edf2f7;color:#0f172a}.app.theme-light .nav-link--active,.app.theme-light .nav-link--active:hover{background:#5b4bf01f;color:#5b4bf0;box-shadow:inset 3px 0 #5b4bf0}.app.theme-light .nav-toggle--active{color:#0f172a;background:#edf2f7}.app.theme-light .nav-sub{border-left-color:#e2e8f0}.app.theme-light .sidebar-bottom{border-top-color:#e2e8f0}.app.theme-light .nav-signout{color:#64748b}.app.theme-light .nav-signout:hover{background:#ef444414;color:#dc2626}.app.theme-light .card{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000d,0 4px 12px #00000005}.app.theme-light .card h3,.app.theme-light .page-head h2,.app.theme-light .topbar-title h1,.app.theme-light .topbar-name{color:#0f172a}.app.theme-light .stat-card{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000d}.app.theme-light .stat-value{color:#0f172a}.app.theme-light .stat-grid .stat{background:#f8fafc;border-color:#e2e8f0}.app.theme-light .stat-grid .stat b{color:#0f172a}.app.theme-light .date-chip{background:#fff;border-color:#e2e8f0;color:#475569}.app.theme-light .control{background:#fff;color:#0f172a;border-color:#cbd5e1}.app.theme-light .control:hover{border-color:#94a3b8}.app.theme-light .control:focus{border-color:#5b4bf0;box-shadow:0 0 0 3px #5b4bf026}.app.theme-light .control[readonly]{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.app.theme-light .control::placeholder{color:#94a3b8}.app.theme-light .select{background-color:#fff;color:#0f172a;border-color:#cbd5e1}.app.theme-light .select option{background:#fff;color:#0f172a}.app.theme-light .btn--secondary{background:#fff;border-color:#cbd5e1;color:#334155}.app.theme-light .btn--secondary:hover:not(:disabled){background:#f8fafc;color:#0f172a;border-color:#94a3b8}.app.theme-light code{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.app.theme-light .table th{background:#f8fafc;color:#64748b;border-bottom-color:#e2e8f0}.app.theme-light .table td{border-bottom-color:#e2e8f0;color:#1e293b}.app.theme-light .table tbody tr:hover td{background:#f8fafc}.app.theme-light .seg{border-color:#cbd5e1}.app.theme-light .seg-btn{background:#fff;color:#64748b}.app.theme-light .seg-btn+.seg-btn{border-left-color:#cbd5e1}.app.theme-light .seg-btn:hover:not(.on){background:#f1f5f9;color:#0f172a}.app.theme-light .modal{background:#fff;border-color:#e2e8f0;color:#0f172a;box-shadow:0 20px 40px #0000001f}.app.theme-light .modal-head{border-bottom-color:#e2e8f0;color:#0f172a}.app.theme-light .empty strong{color:#0f172a}.app.theme-light .theme-card-btn{background:#fff;border-color:#e2e8f0;color:#0f172a}.app.theme-light .theme-card-btn:hover{border-color:#5b4bf0;background:#f8fafc}.app.theme-light .theme-card-btn--active{border-color:#5b4bf0;background:#5b4bf00d}.app.theme-light .summary-card{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000a}.app.theme-light .summary-card-value{color:#0f172a}.app.theme-light .student-grid-wrapper{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000a}.app.theme-light .student-card{border-radius:clamp(16px,26%,22px)}.app.theme-light .student-card--present{background:linear-gradient(180deg,#ecfdf5,#d1fae5);border-color:#10b98166;color:#059669;box-shadow:0 4px 10px -2px #10b98133,0 2px 4px #0000000d,inset 0 1px 1px #fff,inset 0 -2px 3px #0596691f}.app.theme-light .student-card--present .student-card-roll{color:#059669;text-shadow:0 1px 1px rgba(255,255,255,.8)}.app.theme-light .student-card--present:hover{background:linear-gradient(180deg,#d1fae5,#a7f3d0);border-color:#059669;transform:translateY(-2px)}.app.theme-light .student-card--present:active{background:linear-gradient(180deg,#a7f3d0,#d1fae5);box-shadow:inset 0 3px 6px #05966940;transform:translateY(1px) scale(.97)}.app.theme-light .student-card--absent{background:linear-gradient(180deg,#fff1f2,#ffe4e6);border-color:#ef444466;color:#dc2626;box-shadow:0 4px 10px -2px #ef444433,0 2px 4px #0000000d,inset 0 1px 1px #fff,inset 0 -2px 3px #dc26261f}.app.theme-light .student-card--absent .student-card-roll{color:#dc2626;text-shadow:0 1px 1px rgba(255,255,255,.8)}.app.theme-light .student-card--absent:hover{background:linear-gradient(180deg,#ffe4e6,#fecdd3);border-color:#dc2626;transform:translateY(-2px)}.app.theme-light .student-card--absent:active{background:linear-gradient(180deg,#fecdd3,#ffe4e6);box-shadow:inset 0 3px 6px #dc262640;transform:translateY(1px) scale(.97)}.app.theme-light .desktop-arrow-btn{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.app.theme-light .desktop-arrow-btn:hover:not(:disabled){background:#e0f2fe;border-color:#3b82f6;color:#2563eb}@media (max-width: 820px),(hover: none) and (pointer: coarse){.desktop-arrow-btn{display:none!important}}.app.theme-light .student-name{color:#0f172a}.app.theme-light .student-phone,.app.theme-light .student-meta{color:#64748b}.app.theme-light .absentee-panel{background:#ef44440d;border-color:#ef444433}.app.theme-light .absentee-chip{background:#fff;color:#0f172a;border-color:#f8717166}.app.theme-light .btn-action--submit{background:#000!important;color:#fff!important;border-color:#000!important;box-shadow:0 4px 12px #00000040!important}.app.theme-light .btn-action--submit:hover:not(:disabled){background:#18191e!important;color:#fff!important}.app.theme-light .stat-card--indigo.stat-card--active{border-color:#4f46e5!important;background:#eef2ff!important;box-shadow:0 0 10px #4f46e533!important}.app.theme-light .stat-card--green.stat-card--active{border-color:#059669!important;background:#ecfdf5!important;box-shadow:0 0 10px #05966933!important}.app.theme-light .stat-card--red.stat-card--active{border-color:#dc2626!important;background:#fef2f2!important;box-shadow:0 0 10px #dc262633!important}.app.theme-light .absentee-chip:hover{background:#34d3991a;border-color:#10b981;color:#059669}.app.theme-light .swipe-phone-pill{background:#f8fafc;border-color:#e2e8f0}.app.theme-light .swipe-phone-pill .phone-call-text{color:#0f172a}.app.theme-light .search input.control{background:#fff}.app.theme-light .donut{background:conic-gradient(var(--green, #16a34a) calc(var(--p, 0) * 1%),var(--red, #dc2626) 0);box-shadow:0 0 12px #0000000f}.app.theme-light .donut--empty{background:#e2e8f0!important}.app.theme-light .donut span{background:#fff;color:#0f172a;box-shadow:inset 0 2px 4px #0000000f}.app.theme-light .legend li{background:#f8fafc;border-color:#e2e8f0;color:#0f172a}.app.theme-light .legend b{color:#0f172a}.app.theme-light .legend-val--present{color:#16a34a!important}.app.theme-light .legend-val--absent{color:#dc2626!important}.app.theme-light .dot--green{background:#16a34a;box-shadow:0 0 6px #16a34a59}.app.theme-light .dot--red{background:#dc2626;box-shadow:0 0 6px #dc262659}@media (min-width: 768px){.app{flex-direction:row}.topbar{padding-top:14px}.office-topbar,.mobile-bottom-nav{display:none!important}}@media (max-width: 1100px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:1fr}.content{padding:20px 20px 40px}.topbar{padding:0 20px 14px}}@media (max-width: 1024px) and (min-width: 768px){.sidebar{width:72px;padding:18px 10px}.nav-text,.sidebar-bottom .user-card .nav-text{display:none}.brand{justify-content:center;padding:4px 0 20px}.nav-link{justify-content:center;padding:12px 0}.user-card{justify-content:center;padding:6px}.nav-toggle{justify-content:center;padding:12px 0}.nav-chevron{display:none}.nav-sub{margin-left:0;padding-left:0;border-left:0}}@media (max-width: 767.98px){.sidebar,.scrim,.menu-btn{display:none!important}.mobile-bottom-nav{display:block!important}.office-topbar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--side);color:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--border)}.office-brand{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.office-brand b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.office-topbar .icon-btn{color:var(--side-text)}.office-topbar .icon-btn:hover{background:var(--side-2);color:#fff}.topbar{position:static;padding:14px 12px 10px}.topbar .menu-btn{display:none!important}.topbar-name{display:none}.content{padding:14px 12px calc(80px + env(safe-area-inset-bottom,0px))!important}.toast{bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}.toolbar,.toolbar--3{grid-template-columns:1fr 1fr}.toolbar .search{grid-column:span 2}.toolbar--att,.toolbar--att3,.toolbar--att4{grid-template-columns:1fr 1fr}.toolbar--att{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;width:100%}.toolbar--att .field{min-width:0;width:100%}.toolbar--att .control{min-width:0;width:100%;box-sizing:border-box}.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table tr{padding:10px 16px;border-bottom:1px solid var(--border)}.table tbody tr:last-child{border:0}.table td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;border:0;text-align:right}.table td:before{content:attr(data-label);flex:none;color:var(--muted);font-size:.78rem;text-align:left}.table td.cell-actions{justify-content:flex-end;padding-top:8px}.table td.cell-actions:before{content:none}.stu-row{grid-template-columns:1fr 1fr}}@media (max-width:768px){.stat-grid--daily{grid-template-columns:repeat(3,1fr)!important;gap:8px;margin-bottom:14px}.stat-grid--daily .stat-card{padding:10px 6px;flex-direction:column;align-items:center;text-align:center;gap:4px;border-radius:10px;min-width:0}.stat-grid--daily .stat-icon{display:none}.stat-grid--daily .stat-label{font-size:.68rem;line-height:1.15;white-space:normal;text-align:center;color:var(--muted)}.stat-grid--daily .stat-value{font-size:1.3rem;line-height:1.2;text-align:center}}@media (max-width:440px){.stat-grid--daily{gap:5px}.stat-grid--daily .stat-card{padding:8px 4px}.stat-grid--daily .stat-label{font-size:.62rem}.stat-grid--daily .stat-value{font-size:1.15rem}}@media (max-width:600px){.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-actions,.page-actions .btn{width:100%}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}.stat-grid--3{grid-template-columns:1fr}.onboard-card{padding:20px 16px}.step-label{display:none}.step{justify-content:center}.activity li{flex-direction:column;gap:2px}.att-row{flex-wrap:wrap}.seg{width:100%}.seg-btn{flex:1}.toolbar--att3{grid-template-columns:1fr 1fr}.toolbar--att3 .field:last-child{grid-column:span 2}}@media (max-width:480px){.stat-grid:not(.stat-grid--daily){grid-template-columns:1fr}.toolbar,.toolbar--3,.toolbar--att3,.toolbar--att4{grid-template-columns:1fr}.toolbar .search{grid-column:auto}.toolbar--att3 .field:last-child,.toolbar--att4 .field:last-child{grid-column:auto}.chart{height:180px}}@media (prefers-reduced-motion:reduce){.sidebar,.scrim,.btn{transition:none}}.modal:has(.import-wizard){max-width:860px}.import-wizard{display:flex;flex-direction:column;gap:18px}.import-steps{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:#ffffff08;border:1px solid var(--border);border-radius:10px}.import-step-item{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:500;color:var(--muted);padding:6px 10px;border-radius:6px;transition:all .2s ease}.import-step-item--active{color:#fff;background:#6355f633;font-weight:600}.import-step-item--done{color:#4ade80}.import-step-num{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ffffff14;font-size:.75rem}.import-step-item--active .import-step-num{background:var(--accent);color:#fff}.import-step-item--done .import-step-num{background:var(--green);color:#fff}.uploader-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;border:2px dashed rgba(255,255,255,.18);border-radius:14px;background:#ffffff05;cursor:pointer;transition:border-color .2s,background .2s}.uploader-dropzone:hover,.uploader-dropzone--active{border-color:var(--accent);background:#6355f614}.uploader-icon-wrap{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);margin-bottom:14px}.uploader-text strong{display:block;font-size:1.05rem;color:#fff;margin-bottom:4px}.uploader-text span{font-size:.85rem;color:var(--muted)}.uploader-badge{margin-top:14px;display:inline-block;padding:4px 12px;border-radius:999px;font-size:.76rem;background:#ffffff0f;color:var(--muted)}.uploader-selected-card{padding:16px;border-radius:12px;background:#ffffff0a;border:1px solid var(--border)}.uploader-file-info{display:flex;align-items:center;gap:14px}.uploader-file-icon{width:42px;height:42px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}.uploader-file-meta{flex:1;min-width:0}.uploader-file-name{display:block;font-size:.95rem;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-review-wrap{display:flex;flex-direction:column;gap:14px}.mapping-header-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:10px;background:#ffffff08;border:1px solid var(--border)}.mapping-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mapping-pill{padding:4px 10px;border-radius:6px;font-size:.8rem;background:#ffffff0f;color:#fff}.mapping-pill--success{background:#22c55e29;color:#4ade80}.mapping-pill--muted{color:var(--muted)}.mapping-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status-pill{padding:4px 10px;border-radius:999px;font-size:.76rem;font-weight:600}.status-pill--success{background:#22c55e2e;color:#4ade80}.status-pill--warning{background:#f59e0b2e;color:#fcd34d}.ai-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.76rem;font-weight:600;background:#6355f640;color:#c4b5fd;border:1px solid rgba(99,85,246,.3)}.ai-badge--heuristic{background:#ffffff14;color:var(--muted);border-color:var(--border)}.mapping-alert{padding:10px 14px;border-radius:8px;font-size:.86rem;line-height:1.4}.mapping-alert--warning{background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);color:#fcd34d}.mapping-alert--info{background:#6355f61f;border:1px solid rgba(99,85,246,.25);color:#c4b5fd}.mapping-table th{font-size:.78rem}.mapping-col-name{color:#fff;font-size:.9rem}.mapping-select{width:100%;height:38px;font-size:.88rem;background-color:#1e1f24;color:var(--text)}.mapping-row--ignored td{opacity:.75}.mapping-row--duplicate td{background:#ef44440d}.confidence-cell{display:flex;align-items:center;gap:8px}.confidence-val{font-size:.85rem;font-weight:600}.confidence-val--high{color:#4ade80}.confidence-val--low{color:#fcd34d}.badge--warning{background:#f59e0b2e;color:#fcd34d}.import-preview-wrap{display:flex;flex-direction:column;gap:14px}.preview-banner{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:10px;background:#6355f61f;border:1px solid rgba(99,85,246,.3)}.preview-banner-icon{font-size:1.1rem;color:#a5b4fc}.preview-banner-text strong{display:block;color:#fff;font-size:.92rem;margin-bottom:2px}.preview-banner-text p{margin:0;font-size:.84rem;color:#cbd5e1}.preview-meta-bar{display:flex;gap:12px;flex-wrap:wrap}.preview-chip{flex:1;min-width:140px;padding:10px 14px;border-radius:8px;background:#ffffff0a;border:1px solid var(--border)}.preview-chip small{display:block;color:var(--muted);font-size:.74rem}.preview-chip b{display:block;color:#fff;font-size:1.05rem;margin-top:2px}.preview-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.preview-table td{font-size:.88rem}.preview-decision-card{padding:16px;border-radius:10px;background:#ffffff08;border:1px solid var(--border)}.preview-decision-header strong{display:block;color:#fff;font-size:.95rem;margin-bottom:4px}.import-progress-bar-wrap{padding:10px 14px;border-radius:8px;background:#00000040;border:1px solid var(--border)}.phone-call-link{display:inline-flex;align-items:center;gap:7px;color:var(--text);text-decoration:none;font-size:.85rem;font-weight:500;padding:3px 8px;border-radius:6px;background:#ffffff0a;border:1px solid var(--border);transition:all .15s ease}.phone-call-link:hover{background:#22c55e26;border-color:#22c55e66;color:#4ade80}.phone-call-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#22c55e33;color:#4ade80;flex-shrink:0;transition:transform .15s ease}.phone-call-link:hover .phone-call-icon{transform:scale(1.1);background:#22c55e;color:#fff}.phone-call-text{font-variant-numeric:tabular-nums}.division-status-card{margin-top:18px;display:flex;flex-direction:column;gap:16px}.division-status-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}.division-status-title{margin:0 0 4px;font-size:1.15rem;font-weight:700;color:var(--fg, #ffffff)}.division-status-subtitle{margin:0;font-size:.85rem;color:var(--muted, #9ca3af)}.division-status-filter{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:10px;background:#ffffff0a;border:1px solid var(--border)}.div-filter-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--muted, #9ca3af);font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.div-filter-btn:hover:not(.active){color:#fff;background:#ffffff0f}.div-filter-btn.active{background:var(--card, #20232d);color:#fff;border-color:#ffffff29;box-shadow:0 2px 6px #00000059}.filter-badge-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.filter-badge-dot--red{background:#ef4444;box-shadow:0 0 6px #ef444499}.filter-badge-dot--blue{background:#3b82f6;box-shadow:0 0 6px #3b82f699}.division-status-empty{padding:24px 16px;text-align:center}.division-badges-grid{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.division-status-badge{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border-radius:9999px;font-family:inherit;font-size:.92rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;border:1.5px solid transparent;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.division-status-badge:hover{transform:translateY(-2px)}.division-status-badge:active{transform:translateY(1px) scale(.98)}.division-status-badge--red{background:linear-gradient(180deg,#991b1b,#7f1d1d);border-color:#ef4444;color:#fff;box-shadow:0 3px 10px #dc262659,inset 0 1px 1px #fff3}.division-status-badge--red:hover{background:linear-gradient(180deg,#b91c1c,#991b1b);border-color:#f87171;box-shadow:0 5px 14px #ef444480,inset 0 1px 1px #ffffff4d}.division-status-badge--blue{background:linear-gradient(180deg,#1d4ed8,#1e40af);border-color:#3b82f6;color:#fff;box-shadow:0 3px 10px #2563eb59,inset 0 1px 1px #fff3}.division-status-badge--blue:hover{background:linear-gradient(180deg,#2563eb,#1d4ed8);border-color:#60a5fa;box-shadow:0 5px 14px #3b82f680,inset 0 1px 1px #ffffff4d}.division-badge-name{font-weight:700;letter-spacing:.02em}.division-badge-tag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:9999px;background:#00000040;border:1px solid rgba(255,255,255,.2)}.division-status-legend{display:flex;align-items:center;gap:18px;padding-top:8px;border-top:1px solid var(--border);font-size:.8rem;color:var(--muted, #9ca3af);flex-wrap:wrap}.legend-item{display:inline-flex;align-items:center;gap:7px}.legend-chip{width:12px;height:12px;border-radius:3px;display:inline-block}.legend-chip--red{background:#dc2626;box-shadow:0 0 6px #dc262680}.legend-chip--blue{background:#2563eb;box-shadow:0 0 6px #2563eb80}.app.theme-light .division-status-title{color:#0f172a}.app.theme-light .div-filter-btn.active{background:#fff;color:#0f172a;border-color:#cbd5e1}.app.theme-light .division-status-badge--red{background:#ef4444;border-color:#dc2626;color:#fff;box-shadow:0 2px 8px #ef44444d}.app.theme-light .division-status-badge--blue{background:#2563eb;border-color:#1d4ed8;color:#fff;box-shadow:0 2px 8px #2563eb4d}.app.theme-light .student-list-item--present{background:#ecfdf5!important;border-color:#a7f3d0!important;box-shadow:0 2px 6px #10b98126!important}.app.theme-light .student-list-item--present:hover{background:#d1fae5!important;border-color:#6ee7b7!important}.app.theme-light .student-list-item--present .student-list-name-text{color:#065f46!important}.app.theme-light .student-list-roll-btn--present{background:#10b981!important;border-color:#059669!important;color:#fff!important}.app.theme-light .student-list-item--absent{background:#fef2f2!important;border-color:#fecaca!important;box-shadow:0 2px 6px #ef444426!important}.app.theme-light .student-list-item--absent:hover{background:#fee2e2!important;border-color:#fca5a5!important}.app.theme-light .student-list-item--absent .student-list-name-text{color:#991b1b!important}.app.theme-light .student-list-roll-btn--absent{background:#ef4444!important;border-color:#dc2626!important;color:#fff!important}.app.theme-light .view-mode-btn.active{background:#fff!important;color:#0f172a!important;border-color:#cbd5e1!important}.mobile-bottom-nav{display:none;position:fixed!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;background:#18191e!important;border-top:1px solid rgba(255,255,255,.12)!important;border-radius:28px 28px 0 0!important;box-shadow:0 -8px 30px #0000008c!important;z-index:9999!important;padding-bottom:env(safe-area-inset-bottom,0px)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;overflow:hidden!important;pointer-events:auto!important}@media (max-width: 767.98px){.mobile-bottom-nav{display:block!important}}@media (min-width: 768px){.mobile-bottom-nav{display:none!important}}body.modal-open .mobile-bottom-nav,body:has(.backdrop) .mobile-bottom-nav,body:has(.modal-open) .mobile-bottom-nav{display:none!important}.mobile-bottom-nav-inner{display:grid!important;grid-template-columns:repeat(5,1fr)!important;width:100%!important;height:62px!important;max-width:100%!important;margin:0 auto!important;align-items:center!important;justify-items:center!important;box-sizing:border-box!important}.bottom-nav-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:4px 2px;background:transparent;border:0;outline:none;color:#94a3b8;cursor:pointer;text-decoration:none;-webkit-user-select:none;user-select:none;transition:color .15s ease;-webkit-tap-highlight-color:transparent;gap:2px}.bottom-nav-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:48px;height:28px;border-radius:14px;transition:background-color .2s ease,transform .15s ease,color .2s ease;color:#94a3b8}.bottom-nav-label{font-size:11px;font-weight:500;line-height:1.1;color:#94a3b8;letter-spacing:-.01em;transition:color .2s ease,font-weight .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bottom-nav-item:hover:not(.bottom-nav-item--active){color:#cbd5e1}.bottom-nav-item:hover:not(.bottom-nav-item--active) .bottom-nav-icon-wrap{color:#cbd5e1}.bottom-nav-item--active .bottom-nav-icon-wrap{background:#6355f638;color:#a78bfa}.bottom-nav-item--active .bottom-nav-label{color:#c4b5fd;font-weight:600}.topbar-secondary-wrap{display:flex;align-items:center;gap:12px;width:100%}.topbar-back-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#f1f5f9;cursor:pointer;transition:all .15s ease;padding:0;flex:none}.topbar-back-btn:hover{background:#ffffff1f;color:#fff}.topbar-back-btn:active{transform:scale(.95)}.topbar-page-title{font-size:1.08rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-page-container{display:flex;flex-direction:column;gap:20px;max-width:640px;margin:0 auto;padding-bottom:24px}.more-profile-card{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:12px;background:var(--card, #26272e);border:1px solid var(--border)}.more-profile-avatar{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--accent, #6355f6) 0%,#4338ca 100%);display:grid;place-items:center;color:#fff;flex:none;box-shadow:0 4px 12px #6355f64d}.more-profile-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.more-center-name{font-size:1.15rem;font-weight:700;color:var(--text, #ffffff);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-user-role{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted, #a7a9bd);margin:0;flex-wrap:wrap}.more-role-chip{display:inline-block;padding:2px 8px;border-radius:6px;background:#6355f62e;color:#c4b5fd;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.more-user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-section{display:flex;flex-direction:column;gap:8px}.more-section-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted, #a7a9bd);padding:0 4px;margin:0}.more-list{display:flex;flex-direction:column;background:var(--card, #26272e);border:1px solid var(--border);border-radius:12px;overflow:hidden}.more-item-btn{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:transparent;border:0;border-bottom:1px solid var(--border);color:var(--text, #ffffff);cursor:pointer;text-align:left;font-family:inherit;transition:background .15s ease;-webkit-user-select:none;user-select:none}.more-list>.more-item-btn:last-child{border-bottom:0}.more-item-btn:hover{background:#ffffff0a}.more-item-btn:active{background:#ffffff14}.more-item-icon-wrap{width:38px;height:38px;border-radius:10px;background:#ffffff0f;display:grid;place-items:center;color:#cbd5e1;flex:none;transition:all .15s ease}.more-item-btn:hover .more-item-icon-wrap{background:#6355f62e;color:#a78bfa}.more-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.more-item-title{font-size:.95rem;font-weight:600;color:var(--text, #ffffff)}.more-item-desc{font-size:.78rem;color:var(--muted, #a7a9bd);line-height:1.25;white-space:normal}.more-item-arrow{color:var(--muted, #64748b);display:flex;align-items:center;flex:none;transform:rotate(-90deg);transition:transform .15s ease,color .15s ease}.more-item-btn:hover .more-item-arrow{color:#fff;transform:rotate(-90deg) translate(-2px)}.more-theme-pill{padding:4px 10px;border-radius:6px;background:#ffffff14;color:var(--text, #ffffff);font-size:.75rem;font-weight:600;letter-spacing:.02em}.more-item-btn--danger,.more-item-btn--danger .more-item-title{color:#f87171}.more-item-icon-wrap--danger{background:#ef44441f;color:#f87171}.more-item-btn--danger:hover .more-item-icon-wrap--danger{background:#ef444438;color:#ef4444}.mobile-bottom-nav--light,.app.theme-light .mobile-bottom-nav,body.theme-light .mobile-bottom-nav{background:#fff!important;border-top-color:#e2e8f0!important;box-shadow:0 -8px 25px #00000014!important}.mobile-bottom-nav--light .bottom-nav-item,.app.theme-light .bottom-nav-item,body.theme-light .bottom-nav-item,.mobile-bottom-nav--light .bottom-nav-icon-wrap,.app.theme-light .bottom-nav-icon-wrap,body.theme-light .bottom-nav-icon-wrap,.mobile-bottom-nav--light .bottom-nav-label,.app.theme-light .bottom-nav-label,body.theme-light .bottom-nav-label{color:#64748b!important}.mobile-bottom-nav--light .bottom-nav-item--active .bottom-nav-icon-wrap,.app.theme-light .bottom-nav-item--active .bottom-nav-icon-wrap,body.theme-light .bottom-nav-item--active .bottom-nav-icon-wrap{background:#ede9fe!important;color:#6355f6!important}.mobile-bottom-nav--light .bottom-nav-item--active .bottom-nav-label,.app.theme-light .bottom-nav-item--active .bottom-nav-label,body.theme-light .bottom-nav-item--active .bottom-nav-label{color:#6355f6!important}.app.theme-light .topbar-back-btn{background:#f1f5f9;border-color:#cbd5e1;color:#0f172a}.app.theme-light .topbar-back-btn:hover{background:#e2e8f0}.app.theme-light .topbar-page-title{color:#0f172a}.app.theme-light .more-profile-card,.app.theme-light .more-list{background:#fff;border-color:#e2e8f0}.app.theme-light .more-item-btn:hover{background:#f8fafc}.app.theme-light .more-item-btn:active{background:#f1f5f9}.app.theme-light .more-item-icon-wrap{background:#f1f5f9;color:#475569}.app.theme-light .more-item-btn:hover .more-item-icon-wrap{background:#ede9fe;color:#6355f6}.app.theme-light .more-theme-pill{background:#f1f5f9;color:#0f172a}.onboard-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;background:#08090de0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.onboard-modal-card{width:100%;max-width:480px;position:relative;background:radial-gradient(circle 280px at 100% 5%,rgba(234,88,12,.12) 0%,transparent 70%),radial-gradient(circle 280px at 0% 95%,rgba(37,99,235,.14) 0%,transparent 70%),#111217;border-radius:24px;padding:32px 28px;box-shadow:-12px -12px 42px -6px #2563eb73,12px 12px 42px -6px #ea580c73,0 24px 60px -12px #000000d9;border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:18px;animation:modalPop .22s cubic-bezier(.16,1,.3,1)}@keyframes modalPop{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.onboard-modal-badge{display:inline-flex;align-items:center;gap:8px;background:#4285f41f;color:#93c5fd;border:1px solid rgba(66,133,244,.28);border-radius:20px;padding:5px 12px;font-size:.78rem;font-weight:600;width:fit-content}.onboard-modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:6px}.btn--signout-subtle{background:transparent;border:none;color:#94a3b8;font-size:.84rem;padding:8px 12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;transition:color .15s ease,background .15s ease}.btn--signout-subtle:hover{color:#f1f5f9;background:#ffffff0d}.auth-provider-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#6355f61f;color:var(--accent, #6355f6);border:1px solid rgba(99,85,246,.3);border-radius:6px;font-size:.8rem;font-weight:600}.form-success{padding:12px 14px;margin-bottom:12px;border-radius:8px;background:#22c55e1f;color:#4ade80;border:1px solid rgba(34,197,94,.25);font-size:.88rem;display:flex;align-items:center;gap:8px}
