@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Inter:wght@500;600;700;800&family=Manrope:wght@600;700;800&display=swap";:root{color:#17233b;font-synthesis:none;text-rendering:optimizelegibility;--navy:#0b1734;--ink:#17233b;--muted:#6e7b91;--line:#e4e8ef;--mint:#37c99a;--mint-dark:#128365;--surface:#fff;--danger:#d7485b;background:#f5f7fa;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{transition:all .18s}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,.logo strong{font-family:Manrope,sans-serif}.button{background:var(--navy);color:#fff;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 17px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 5px 12px #0b17341f}.button:hover:not(:disabled){background:#15294e;transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.6}.button--ghost{color:var(--ink);border:1px solid var(--line);box-shadow:none;background:#fff}.button--danger,.button--danger-ghost:hover{background:var(--danger);color:#fff}.button--danger-ghost{color:var(--danger);box-shadow:none;background:#fff;border:1px solid #f0cbd1}.button--large{width:100%;padding:14px}.eyebrow{color:var(--mint-dark);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:800}.muted{color:var(--muted)}.login-page{background:#fff;grid-template-columns:minmax(360px,44%) 1fr;min-height:100vh;display:grid}.login-brand{color:#eaf1fb;background:linear-gradient(145deg,#07132e,#10294b);flex-direction:column;justify-content:space-between;min-height:100vh;padding:52px clamp(36px,6vw,88px);display:flex;position:relative;overflow:hidden}.login-brand:before,.login-brand:after{content:"";filter:blur(2px);border-radius:50%;position:absolute}.login-brand:before{background:#37c99a2b;width:520px;height:520px;bottom:-240px;left:-280px}.login-brand:after{border:1px solid #ffffff17;width:380px;height:380px;top:15%;right:-230px}.brand-lockup{align-items:center;gap:14px;font-size:1.3rem;display:flex}.brand-lockup span,.mobile-logo,.logo>span{background:var(--mint);color:#07132e;border-radius:12px;place-items:center;width:42px;height:42px;font:800 1.25rem Manrope;display:grid}.login-brand h1{letter-spacing:-.055em;margin:0 0 24px;font-size:clamp(3rem,5vw,5.5rem);line-height:.98;position:relative}.login-brand p:not(.eyebrow){color:#aebbd0;max-width:510px;font-size:1.08rem;line-height:1.75}.login-brand small{color:#71829d;position:relative}.login-panel{place-items:center;padding:40px;display:grid}.login-form h2{letter-spacing:-.04em;margin:0;font-size:2.3rem}.login-form>.muted{margin:10px 0 32px}.login-form>label,.form label{color:#344158;gap:8px;margin:0 0 18px;font-size:.88rem;font-weight:600;display:grid}.login-form input,.form input,.form select,.form textarea,.filters input,.filters select{width:100%;color:var(--ink);background:#fff;border:1px solid #dbe0e9;border-radius:9px;outline:none;padding:12px 13px}.login-form input:focus,.form input:focus,.form select:focus,.form textarea:focus,.filters input:focus,.filters select:focus{border-color:#55bda0;box-shadow:0 0 0 3px #37c99a1f}.password-field{position:relative}.password-field input{padding-right:64px}.password-field button{color:var(--muted);background:0 0;border:0;padding:7px;font-size:.76rem;font-weight:700;position:absolute;top:7px;right:8px}.login-help{text-align:center;color:var(--muted);margin:22px 0;font-size:.82rem}.mobile-logo{margin-bottom:30px;display:none}.admin-shell{grid-template-columns:252px 1fr;min-height:100vh;display:grid}.sidebar{z-index:20;color:#c4cede;background:#0b1734;flex-direction:column;width:252px;padding:28px 18px 18px;display:flex;position:fixed;inset:0 auto 0 0}.logo{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:0 8px 25px;display:flex}.logo>span{border-radius:10px;width:38px;height:38px}.logo div{display:grid}.logo strong{color:#fff;font-size:1.08rem}.logo small{color:#6f819f;font-size:.7rem}.sidebar nav{flex:1;padding-top:18px}.sidebar nav p{color:#607392;letter-spacing:.13em;text-transform:uppercase;margin:22px 11px 7px;font-size:.62rem;font-weight:800}.sidebar nav a{color:#aebbd0;border-radius:9px;align-items:center;gap:12px;margin:4px 0;padding:11px 13px;font-size:.88rem;font-weight:600;text-decoration:none;display:flex}.sidebar nav a span{color:#7890b2;text-align:center;width:19px;font-size:1.05rem}.sidebar nav a:hover{color:#fff;background:#ffffff0d}.sidebar nav a.active{color:#fff;background:#37c99a24}.sidebar nav a.active span{color:var(--mint)}.sidebar-user{border-top:1px solid #ffffff14;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;min-width:0;padding:15px 7px 0;display:grid}.sidebar-user>div:nth-child(2){min-width:0;display:grid}.sidebar-user strong,.sidebar-user small{text-overflow:ellipsis;overflow:hidden}.sidebar-user strong{color:#fff;font-size:.78rem}.sidebar-user small{color:#7688a5;white-space:nowrap;font-size:.68rem}.avatar{width:36px;height:36px;color:var(--mint);background:#20375c;border-radius:10px;place-items:center;font-weight:800;display:grid}.icon-button{color:inherit;background:0 0;border:0;border-radius:7px;padding:8px;font-size:1.2rem}.icon-button:hover{background:#ffffff14}.workspace{grid-column:2;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:74px;padding:0 36px;display:flex}.topbar>div{display:grid}.topbar strong{font-size:.9rem}.tenant-label{color:var(--muted);font-size:.67rem}.topbar-user{color:var(--muted);align-items:center;gap:8px;font-size:.78rem;display:flex!important}.status-online{background:var(--mint);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #37c99a21}.menu-button{background:0 0;border:0;font-size:1.2rem;display:none}.content{width:min(1460px,100%);margin:auto;padding:38px clamp(24px,4vw,58px) 70px}.page-header{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px;display:flex}.page-header h1{color:#111c32;letter-spacing:-.04em;margin:0;font-size:2rem}.page-header>div>p:last-child{color:var(--muted);margin:8px 0 0}.page-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;box-shadow:0 5px 18px #141f3409}.table-panel{overflow:hidden}.filters{border-bottom:1px solid var(--line);gap:10px;padding:17px 20px;display:flex}.filters input,.filters select{min-width:170px;padding:10px 12px}.search{flex:1;max-width:420px;display:block;position:relative}.search span{color:#8995a8;position:absolute;top:9px;left:13px}.search input{padding-left:38px}.table-scroll{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th{text-align:left;color:#7a8799;border-bottom:1px solid var(--line);letter-spacing:.05em;text-transform:uppercase;background:#fafbfc;padding:12px 18px;font-size:.68rem}td{border-bottom:1px solid #edf0f4;padding:15px 18px;font-size:.84rem}tbody tr:hover{background:#fbfcfd}.code{color:#5c6b82;letter-spacing:.04em;font:700 .74rem Manrope}.person{align-items:center;gap:10px;display:flex}.person>span{color:#158567;background:#e7f8f2;border-radius:9px;place-items:center;width:34px;height:34px;font-size:.72rem;font-weight:800;display:grid}.person div{display:grid}.person small{color:var(--muted);margin-top:2px}.badge,.access{color:#657187;background:#f0f2f5;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:.69rem;font-weight:700;display:inline-flex}.badge i{background:currentColor;border-radius:50%;width:6px;height:6px}.badge--good,.access--yes{color:#128365;background:#e6f8f2}.badge--danger{color:#bd3348;background:#fff0f2}.row-action,.row-actions button{color:#176c9b;background:0 0;border:0;font-size:.78rem;font-weight:700;text-decoration:none}.row-actions{gap:4px;display:flex}.row-actions button{padding:7px}.pagination{color:var(--muted);justify-content:space-between;align-items:center;padding:14px 20px;font-size:.75rem;display:flex}.pagination div{align-items:center;gap:9px;display:flex}.pagination button{border:1px solid var(--line);background:#fff;border-radius:7px;width:32px;height:30px}.pagination button:disabled{opacity:.4}.state{text-align:center;min-height:260px;color:var(--muted);place-items:center;padding:35px;display:grid}.state h3{color:var(--ink);margin:10px 0 4px}.state p{margin-bottom:17px}.empty-icon{width:52px;height:52px;color:var(--mint-dark);background:#eef8f5;border-radius:15px;place-items:center;font-size:1.5rem;display:grid}.spinner{border:3px solid #dce4e9;border-top-color:var(--mint);border-radius:50%;width:25px;height:25px;animation:.8s linear infinite spin;display:inline-block}.splash{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;gap:12px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.alert{color:#9f293c;background:#fff0f2;border:1px solid #f6d2d8;border-radius:9px;margin:14px 0;padding:12px 14px;font-size:.84rem}.alert--success{color:#116c54;background:#e9f9f4;border-color:#ccefe3}.alert--info{color:#295b84;background:#edf6fd;border-color:#d4e9f8}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#050c1c9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 25px 70px #00000047}.modal--wide{width:min(960px,100%)}.modal>header{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;gap:20px;padding:22px 26px;display:flex;position:sticky;top:0}.modal>header h2{margin:0;font-size:1.25rem}.modal>header p{color:var(--muted);margin:5px 0 0;font-size:.82rem}.modal>.form,.modal>p{padding:24px 26px}.modal-actions{justify-content:flex-end;gap:9px;padding-top:8px;display:flex}.form textarea{resize:vertical;min-height:85px}.form small{color:var(--muted);font-size:.72rem}.form fieldset{border:0;margin:0 0 27px;padding:0}.form legend{border-bottom:1px solid var(--line);align-items:center;gap:9px;width:100%;margin-bottom:16px;padding:0 0 14px;font:700 .88rem Manrope;display:flex}.form legend span{width:23px;height:23px;color:var(--mint-dark);background:#e7f8f2;border-radius:7px;place-items:center;font-size:.68rem;display:grid}.form-grid{grid-template-columns:repeat(2,1fr);gap:0 16px;display:grid}.span-2{grid-column:1/-1}.form .inset{background:#f7f9fb;border-radius:10px;margin-top:15px;padding:16px}.choice-card{border:1px solid var(--line);border-radius:10px;align-items:start;padding:15px;grid-template-columns:auto 1fr!important}.choice-card input{width:auto;margin-top:3px}.choice-card span{gap:3px;display:grid}.choice-card small{font-weight:400}.back-link{color:#53627a;margin-bottom:20px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-block}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:18px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 16px;font-size:.82rem;font-weight:700}.tabs button.active{color:var(--ink);border-bottom-color:var(--mint)}.detail-panel{padding:25px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:23px;display:flex}.panel-heading h2{margin:0;font-size:1.2rem}.detail-grid{grid-template-columns:repeat(4,1fr);gap:26px;margin:0;display:grid}.detail-grid div,.detail-stack div{gap:5px;display:grid}.detail-grid dt,.detail-stack dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.detail-grid dd,.detail-stack dd{margin:0;font-size:.9rem;font-weight:600}.schedule-layout{gap:18px;display:grid}.current-schedule{background:#f6fcfa;border:1px solid #dcedea;border-radius:12px;align-items:center;gap:16px;padding:18px;display:flex}.schedule-icon{width:43px;height:43px;color:var(--mint-dark);background:#e1f6ef;border-radius:11px;place-items:center;font-size:1.2rem;display:grid}.current-schedule div{display:grid}.current-schedule p{color:#516078;margin:4px 0}.current-schedule small{color:var(--muted)}.future-card{background:#fff8e8;border:1px solid #f2dfad;border-radius:10px;justify-content:space-between;align-items:center;margin-top:16px;padding:15px 17px;display:flex}.future-card div{gap:3px;display:grid}.future-card span{color:#9b6c18;text-transform:uppercase;font-size:.66rem;font-weight:800}.future-card small{color:#816f4f}.timeline article{grid-template-columns:14px 1fr auto;gap:13px;padding:0 0 23px;display:grid;position:relative}.timeline article>i{background:var(--mint);border-radius:50%;width:9px;height:9px;margin-top:5px;box-shadow:0 0 0 4px #e5f8f2}.timeline article:not(:last-child):before{content:"";background:#dce5e2;width:1px;position:absolute;top:14px;bottom:4px;left:4px}.timeline article>div{gap:3px;display:grid}.timeline span,.timeline small{color:var(--muted);font-size:.76rem}.stat-grid{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:22px;position:relative;overflow:hidden}.stat-card:after{content:"";background:var(--accent,#dff7ef);border-radius:50%;width:72px;height:72px;position:absolute;top:-18px;right:-18px}.stat-card strong{color:#152139;font:800 2rem Manrope;display:block}.stat-card span{color:var(--muted);font-size:.79rem}.stat-card--blue{--accent:#e5f0ff}.stat-card--violet{--accent:#efe9ff}.stat-card--amber{--accent:#fff2d8}.dashboard-grid{grid-template-columns:1.5fr 1fr;gap:18px;display:grid}.dashboard-grid .panel{padding:25px}.quick-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.quick-grid a{border:1px solid var(--line);color:var(--ink);border-radius:10px;align-items:center;gap:13px;padding:14px;text-decoration:none;display:flex}.quick-grid a>span{width:35px;height:35px;color:var(--mint-dark);background:#e8f8f3;border-radius:9px;place-items:center;font-size:1.2rem;display:grid}.quick-grid div{display:grid}.quick-grid small{color:var(--muted)}.role-layout{grid-template-columns:340px 1fr;gap:18px;display:grid}.role-list{overflow:hidden}.role-list>header{border-bottom:1px solid var(--line);justify-content:space-between;padding:16px 18px;display:flex}.role-list>header small{color:var(--muted)}.role-item{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0f4;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;width:100%;padding:14px 17px;display:grid}.role-item:hover,.role-item.active{background:#f6fbf9}.role-symbol{color:#326f62;background:#e8f8f3;border-radius:9px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.role-item>div:nth-child(2){display:grid}.role-item small{color:var(--muted)}.permission-matrix{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.permission-matrix section{border:1px solid var(--line);border-radius:10px;padding:15px}.permission-matrix h3{margin:0 0 11px;font-size:.82rem}.permission-matrix section>div{flex-wrap:wrap;gap:7px 13px;display:flex}.permission-matrix label{color:#536078;align-items:center;gap:6px;font-size:.76rem;display:flex}.permission-matrix input{accent-color:var(--mint-dark)}.schedule-cards{grid-template-columns:repeat(3,1fr);gap:14px;padding:20px;display:grid}.schedule-card{border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:18px;text-decoration:none;display:block}.schedule-card:hover{border-color:#bcded4;transform:translateY(-2px);box-shadow:0 10px 20px #16373012}.schedule-card header{justify-content:space-between;display:flex}.schedule-card .code{margin:17px 0 5px;display:block}.schedule-card h2{margin:0;font-size:1rem}.schedule-meta{background:#f7f9fb;border-radius:9px;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;padding:12px;display:grid}.schedule-meta span{font-size:.78rem;font-weight:700;display:grid}.schedule-meta small{color:var(--muted);font-weight:400}.schedule-card footer{border-top:1px solid var(--line);color:#347d6b;justify-content:space-between;padding-top:13px;font-size:.78rem;font-weight:700;display:flex}.week-editor{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.day-card{border:1px solid var(--line);background:#fafbfc;border-radius:10px;padding:13px}.day-card--active{background:#fff;border-color:#cfe3de}.day-head{align-items:center;gap:9px;display:flex}.day-letter{color:#69758a;background:#e7ebf0;border-radius:8px;place-items:center;width:29px;height:29px;font-weight:800;display:grid}.day-card--active .day-letter{color:var(--mint-dark);background:#e5f8f2}.day-head strong{flex:1;font-size:.82rem}.switch input{display:none}.switch span{background:#ccd3dd;border-radius:20px;width:34px;height:19px;display:block;position:relative}.switch span:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:all .2s;position:absolute;top:2px;left:2px}.switch input:checked+span{background:var(--mint)}.switch input:checked+span:after{left:17px}.day-fields{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.day-fields label{margin:0;font-size:.66rem}.day-fields input{padding:8px}.check-row{align-items:center;grid-column:1/-1!important;gap:7px!important;display:flex!important}.check-row input{width:auto}.schedule-detail-grid{grid-template-columns:2fr 1fr;gap:18px;display:grid}.timezone{color:var(--muted);background:#f0f3f6;border-radius:8px;padding:6px 9px;font-size:.72rem}.week-list{gap:7px;display:grid}.week-list article{color:#8a94a5;background:#f7f8fa;border-radius:8px;grid-template-columns:120px 1fr 1fr;align-items:center;padding:11px 13px;font-size:.81rem;display:grid}.week-list article.working{color:var(--ink);background:#f3faf8}.week-list strong{font-size:.8rem}.week-list small,.week-list em{color:var(--muted);font-style:normal}.week-list sup{color:var(--mint-dark)}.detail-stack{gap:20px;margin:0;display:grid}.info-note{color:#50657d;background:#eff7fb;border-radius:9px;margin-top:24px;padding:13px;font-size:.77rem}@media (width<=1050px){.detail-grid,.stat-grid,.schedule-cards{grid-template-columns:repeat(2,1fr)}.schedule-detail-grid,.dashboard-grid{grid-template-columns:1fr}}@media (width<=760px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{padding:28px}.mobile-logo{display:grid}.admin-shell{display:block}.workspace{grid-column:auto}.sidebar{transition:all .2s;transform:translate(-105%)}.sidebar--open{transform:translate(0)}.scrim{z-index:15;background:#030a1673;border:0;position:fixed;inset:0}.menu-button{display:block}.topbar{padding:0 18px}.topbar-user{display:none!important}.content{padding:26px 16px 55px}.page-header{flex-direction:column;align-items:flex-start}.page-actions{width:100%}.filters{flex-direction:column}.filters .search{max-width:none}.form-grid,.week-editor,.permission-matrix,.role-layout,.schedule-cards{grid-template-columns:1fr}.stat-grid,.detail-grid{grid-template-columns:1fr 1fr}.schedule-detail-grid{grid-template-columns:1fr}.modal-backdrop{padding:10px}.modal{max-height:calc(100vh - 20px)}.week-list article{grid-template-columns:90px 1fr}.week-list small{grid-column:2}.future-card{flex-direction:column;align-items:flex-start;gap:12px}}@media (width<=460px){.stat-grid,.detail-grid,.form-grid{grid-template-columns:1fr}.stat-card{padding:17px}.page-header h1{font-size:1.7rem}.pagination{flex-direction:column;align-items:flex-start;gap:10px}}.platform-shell .sidebar{background:linear-gradient(#10182f,#172340)}.platform-shell .logo>span,.platform-button{background:#7064e8}.platform-button:hover:not(:disabled){background:#5c50d2}.platform-shell .sidebar nav a.active{background:#8477ff29}.platform-shell .sidebar nav a.active span{color:#a69cff}.platform-dot{background:#8376ef;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #7064e821}.platform-eyebrow{color:#6357cc}.platform-stat:after{background:#eeecff}.platform-stat .badge{margin-bottom:8px}.platform-avatar,.company-avatar{border-radius:10px;place-items:center;width:36px;height:36px;font-size:.7rem;font-weight:800;color:#6357cc!important;background:#eeecff!important;display:grid!important}.company-row{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:40px 1fr auto auto;align-items:center;gap:12px;padding:13px 0;text-decoration:none;display:grid}.company-row:last-child{border-bottom:0}.company-row>div{display:grid}.company-row small,.company-row>span:nth-child(3){color:var(--muted);font-size:.75rem}.platform-callout{color:#e8e9ff;background:linear-gradient(145deg,#161e3c,#2a275d)!important}.platform-callout p:not(.eyebrow){color:#b8bbd9;line-height:1.6}.platform-symbol{color:#fff;background:#8376ef;border-radius:13px;place-items:center;width:46px;height:46px;margin-bottom:25px;font:800 1.2rem Manrope;display:grid}.status-select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:10px 13px;font-weight:700}.company-details{margin-bottom:18px}.company-admins{margin-top:18px}.company-admins .panel-heading p{margin:7px 0 0;font-size:.82rem}.admin-list{display:grid}.admin-list article{border-top:1px solid var(--line);grid-template-columns:40px 1fr auto auto;align-items:center;gap:13px;padding:14px 0;display:grid}.admin-list article>div{display:grid}.admin-list small{color:var(--muted);margin-top:3px;font-size:.73rem}@media (width<=760px){.company-row{grid-template-columns:40px 1fr}.company-row>span{grid-column:2}.admin-list article{grid-template-columns:40px 1fr}.admin-list article>.badge,.admin-list article>button{grid-column:2;justify-self:start}.status-select{width:100%}}.badge--warning{color:#9b6c18;background:#fff4d8}.role-picker{padding:22px 26px}.role-picker>label{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:11px;padding:13px;display:grid}.role-picker input{accent-color:var(--mint-dark);margin-top:3px}.role-picker label span{display:grid}.role-picker small{color:var(--muted);margin-top:3px}.attendance-panel{background:linear-gradient(135deg,#f5fffb,#fff);justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;padding:26px 28px;display:flex}.attendance-panel h2{letter-spacing:-.04em;margin:0;font-size:2.3rem}.attendance-panel p:not(.eyebrow){color:#526178;text-transform:capitalize;margin:5px 0 10px}.attendance-panel small{color:var(--muted)}.attendance-actions{flex-wrap:wrap;gap:10px;display:flex}.attendance-actions .button{min-width:145px}.attendance-actions .button--ghost{color:var(--ink)}@media (width<=760px){.attendance-panel{flex-direction:column;align-items:flex-start}.attendance-actions{width:100%}.attendance-actions .button{flex:1}}.mark-times{gap:18px;margin-top:14px;display:flex!important}.mark-times span{color:var(--muted);font-size:.72rem;display:grid}.mark-times strong{color:var(--ink);font-size:.9rem}.attendance-panel--compact{margin-bottom:28px}.attendance-stats{margin-top:6px}.admin-shell{--app-bg:#f4f6fa;--card-bg:#fff;--soft-bg:#f7f9fc;--app-text:#17233b;--app-muted:#6e7b91;--app-line:#e3e8ef;background:var(--app-bg);color:var(--app-text)}.admin-shell .workspace,.admin-shell .content{background:var(--app-bg)}.admin-shell .topbar,.admin-shell .panel,.admin-shell .modal{background:var(--card-bg);border-color:var(--app-line)}.admin-shell .topbar,.admin-shell .content,.admin-shell .modal,.admin-shell table,.admin-shell input,.admin-shell select,.admin-shell textarea{color:var(--app-text)}.theme-toggle{border:1px solid var(--app-line);background:var(--soft-bg);width:35px;height:35px;color:var(--app-text);border-radius:10px;place-items:center;margin-right:8px;font-size:1.1rem;display:grid}.theme-toggle:hover{border-color:#55bda0;transform:translateY(-1px)}.topbar-actions{color:var(--app-muted);align-items:center;gap:8px;font-size:.78rem;display:flex}.dashboard-date{color:var(--app-muted);text-transform:capitalize;font-size:.78rem}.attendance-dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(290px,.85fr);align-items:stretch;gap:16px;margin-bottom:24px;display:grid}.attendance-panel{color:#eef6ff;background:radial-gradient(circle at 75% 48%,#fb8b6f3b,#0000 27%),linear-gradient(155deg,#142637 0%,#0b1726 54%,#07111d 100%);border:1px solid #263a50;border-radius:16px;flex-direction:column;justify-content:space-between;min-height:480px;padding:22px;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 38px #0b173429}.attendance-panel:before,.attendance-panel:after{content:"";pointer-events:none;clip-path:polygon(0 70%,9% 57%,14% 70%,24% 46%,31% 68%,38% 55%,46% 78%,55% 61%,63% 73%,72% 47%,78% 59%,84% 37%,91% 60%,100% 48%,100% 100%,0 100%);background:#0a1523;height:145px;position:absolute;bottom:110px;left:-4%;right:-4%}.attendance-panel:after{opacity:.68;clip-path:polygon(0 61%,10% 46%,18% 63%,28% 34%,36% 70%,48% 44%,58% 66%,70% 25%,79% 54%,88% 35%,100% 61%,100% 100%,0 100%);background:#132337;height:105px;bottom:90px}.attendance-panel>*{z-index:1;position:relative}.attendance-panel__head{justify-content:space-between;gap:18px;display:flex}.attendance-panel__head>div{grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;display:grid}.attendance-panel__head small{color:#9aacbf;grid-column:2;font-size:.69rem}.live-dot{background:#4ee0a6;border-radius:50%;grid-row:1/3;width:10px;height:10px;box-shadow:0 0 16px #3cdda1}.office-pill{color:#63e3b2;background:#2dc9921f;border-radius:999px;align-self:start;padding:7px 11px;font-size:.7rem;font-weight:700}.attendance-center{text-align:center;margin:auto;padding:30px 0 48px}.attendance-center>span{color:#aab6c7;margin-bottom:19px;line-height:1.35;display:block}.attendance-center h2{color:#fff;letter-spacing:-.05em;text-shadow:0 3px 20px #0000004d;margin:0;font-size:3.45rem}.attendance-center p{color:#aab8c9;text-transform:capitalize;margin:5px 0 8px}.attendance-center small{color:#7f91a5}.attendance-actions{grid-template-columns:1fr 1fr;gap:14px;display:grid}.mark-button{text-align:left;color:#fff;background:#0c1e28c7;border-radius:12px;justify-content:center;align-items:center;gap:13px;min-height:70px;display:flex}.mark-button i{border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.mark-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.mark-button span{gap:3px;display:grid}.mark-button strong{font-size:.88rem}.mark-button small{font-size:.68rem;font-weight:500}.mark-button--in{border:1px solid #28ce92;box-shadow:0 0 20px #28ce9242,inset 0 0 20px #28ce9214}.mark-button--in i{color:#5fe6b5;background:#21c78b1f}.mark-button--in small{color:#65dcb3}.mark-button--out{border:1px solid #fa5166;box-shadow:0 0 20px #fa516638,inset 0 0 20px #fa516612}.mark-button--out i{color:#ff7586;background:#fa51661c}.mark-button--out small{color:#e18a96}.mark-button:hover:not(:disabled){filter:brightness(1.13);transform:translateY(-2px)}.mark-button:disabled{opacity:.38;box-shadow:none;cursor:not-allowed}.attendance-panel footer{color:#7fa5ca;background:#27466752;border-radius:9px;align-items:center;gap:8px;margin-top:18px;padding:11px 13px;display:flex}.attendance-panel footer small{color:#9aabc0}.attendance-side{grid-template-rows:auto 1fr;gap:16px;display:grid}.journey-card,.recent-card{border:1px solid var(--app-line);background:var(--card-bg);border-radius:14px;padding:19px;box-shadow:0 7px 20px #0f1d320b}.journey-card>header,.recent-card>header{align-items:center;gap:9px;margin-bottom:14px;display:flex}.journey-card>header strong{flex:1;font-size:.82rem}.line-icon{color:#638ee8;font-size:1rem}.journey-card dl{margin:0}.journey-card dl>div{border-bottom:1px solid var(--app-line);justify-content:space-between;padding:11px 0;display:flex}.journey-card dt{color:var(--app-muted);font-size:.73rem}.journey-card dd{margin:0;font-size:.78rem;font-weight:700}.journey-card blockquote{color:var(--app-muted);text-align:center;margin:19px 12px 0;font-size:.69rem;font-style:italic;line-height:1.6}.recent-card>header{justify-content:space-between}.recent-card>header>div{align-items:center;gap:8px;display:flex}.recent-card header strong{font-size:.82rem}.recent-card header a{color:#638ee8;font-size:.68rem;text-decoration:none}.recent-list>div{border-bottom:1px solid var(--app-line);grid-template-columns:76px 8px 1fr auto;align-items:center;gap:8px;padding:9px 0;font-size:.7rem;display:grid}.recent-list>div:last-child{border-bottom:0}.recent-list>div>span{color:var(--app-muted)}.recent-list i{border-radius:50%;width:6px;height:6px}.dot-in{background:#35d39d}.dot-out{background:#f45c70}.recent-list time{font-weight:700}.recent-empty{color:var(--app-muted);text-align:center;padding:25px 0;font-size:.75rem}.dashboard-grid--quick{grid-template-columns:1fr}.dashboard-grid--quick .panel{padding:21px}.attendance-panel--compact{min-height:390px;margin-bottom:28px}.attendance-panel--compact .attendance-center{padding-bottom:35px}.admin-shell.theme-dark{--app-bg:#070d16;--card-bg:#0d1623;--soft-bg:#121d2c;--app-text:#edf4fc;--app-muted:#8796aa;--app-line:#1c2a3b;--ink:#edf4fc;--muted:#8796aa;--surface:#0d1623}.theme-dark .topbar{box-shadow:0 1px #1b293a}.theme-dark .page-header h1,.theme-dark .panel-heading h2{color:var(--app-text)}.theme-dark th{color:#8090a5;background:#111c2a}.theme-dark td{border-color:#1b2938}.theme-dark input,.theme-dark select,.theme-dark textarea{color:#eaf2fb!important;background:#0b1420!important;border-color:#243247!important}.theme-dark .quick-grid a{border-color:var(--app-line);color:var(--app-text)}.theme-dark .quick-grid a:hover{background:#111d2b}.theme-dark .modal>header{background:var(--card-bg);border-color:var(--app-line)}.theme-dark .button--ghost{color:#eaf2fb;background:#111c29;border-color:#29384c}.theme-dark .tabs button.active{color:#fff}.theme-dark .state{color:var(--app-muted)}@media (width<=1050px){.attendance-dashboard-grid{grid-template-columns:1fr}.attendance-side{grid-template-rows:auto;grid-template-columns:1fr 1fr}}@media (width<=760px){.dashboard-date{display:none}.attendance-panel{min-height:450px;padding:18px}.attendance-center{padding:25px 0 42px}.attendance-center h2{font-size:3rem}.attendance-actions{grid-template-columns:1fr 1fr;width:100%}.attendance-actions .mark-button{min-width:0}.attendance-side{grid-template-columns:1fr}.attendance-panel__head small{font-size:.63rem}}@media (width<=460px){.office-pill{display:none}.attendance-actions{grid-template-columns:1fr}.attendance-panel{min-height:530px}.attendance-center{padding-bottom:38px}.mark-button{min-height:64px}}.attendance-panel{background:linear-gradient(145deg,#122536 0%,#0a1726 100%);justify-content:flex-start;gap:24px;max-width:720px;min-height:0;margin-bottom:22px;padding:22px 24px}.attendance-card-title{border-bottom:1px solid #97b1ca2e;align-items:center;gap:11px;padding-bottom:18px;display:flex}.attendance-card-title>span{color:#55e2ae;background:#27cd921f;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.attendance-card-title svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.attendance-card-title h2{color:#fff;letter-spacing:-.01em;margin:0;font-size:1.08rem}.attendance-panel .attendance-actions{align-self:center;width:100%;max-width:470px}@media (width<=760px){.attendance-panel{min-height:0;padding:18px}.attendance-card-title{width:100%}}@media (width<=460px){.attendance-panel{min-height:0}.attendance-panel .attendance-actions{grid-template-columns:1fr}}.attendance-panel{background:radial-gradient(circle at 91% 13%,#ffbe4b2b,#0000 12%),linear-gradient(145deg,#102638 0%,#071725 100%);border-radius:22px;gap:25px;max-width:none;padding:30px 38px 24px}.attendance-panel:before{opacity:.78;height:170px;bottom:112px}.attendance-panel:after{opacity:.76;height:125px;bottom:105px}.attendance-card-title{border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:0;display:grid}.attendance-brand-icon{place-items:center;display:grid;color:#9affdc!important;background:linear-gradient(145deg,#087d65,#075544)!important;border-radius:20px!important;width:78px!important;height:78px!important}.attendance-brand-icon svg{stroke-width:1.7px;width:48px;height:48px}.attendance-title-copy h2{letter-spacing:-.025em;font-size:2rem}.attendance-title-copy p{font-size:.95rem;color:#91aeca!important;text-transform:none!important;margin:5px 0 0!important}.attendance-greeting{align-items:center;gap:14px;min-width:280px;display:flex}.attendance-greeting>span{font-size:2.3rem}.attendance-greeting>div{gap:3px;display:grid}.attendance-greeting small{color:#a9bdd0;font-size:.85rem}.attendance-panel .attendance-actions{gap:22px;max-width:none}.attendance-panel .mark-button{border-radius:18px;justify-content:flex-start;gap:26px;min-height:132px;padding:22px 34px;position:relative}.attendance-panel .mark-button i{flex:none;width:74px;height:74px}.attendance-panel .mark-button svg{stroke-width:2px;width:41px;height:41px}.attendance-panel .mark-button span{gap:5px}.attendance-panel .mark-button>b{margin-left:auto;font-size:2.8rem;font-weight:300;line-height:1}.attendance-panel .mark-button--in>b{color:#26dba0}.attendance-panel .mark-button--out>b{color:#ff4c66}.attendance-summary{border:1px solid #688ead33;grid-template-columns:1.1fr 1fr .95fr;color:#fff!important;background:#15304685!important;border-radius:18px!important;align-items:stretch!important;gap:0!important;margin:2px 0 0!important;padding:14px 18px!important;display:grid!important}.attendance-summary>div{border-right:1px solid #809db533;align-items:center;gap:14px;padding:2px 20px;display:flex}.attendance-summary>div:last-child{border-right:0}.attendance-summary__time>span{color:#9ec9f1;background:#5a86b333;border-radius:12px;flex:none;place-items:center;width:48px;height:48px;display:grid}.attendance-summary svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:26px;height:26px}.attendance-summary div>div{gap:5px;display:grid}.attendance-summary small{font-size:.72rem;color:#8fa9c2!important}.attendance-summary strong{white-space:nowrap;font-size:.8rem}.attendance-summary strong i{vertical-align:middle;border-left:1px solid #65809a;height:16px;margin:0 9px;display:inline-block}.attendance-status-dot{background:#f06472;border-radius:50%;flex:none;width:17px;height:17px;box-shadow:0 0 0 8px #f0647221}.attendance-status-dot.is-active{background:#35daa1;box-shadow:0 0 0 8px #35daa121}.attendance-summary__notice{background:#255b853b;border-radius:12px;color:#72bfff!important}.attendance-summary__notice p{font-size:.73rem;line-height:1.5;color:#7dc3fa!important;text-transform:none!important;margin:0!important}@media (width<=980px){.attendance-card-title{grid-template-columns:auto 1fr}.attendance-greeting{display:none}.attendance-summary{grid-template-columns:1fr 1fr}.attendance-summary__notice{grid-column:1/-1;margin-top:12px}.attendance-summary>div:nth-child(2){border-right:0}}@media (width<=700px){.attendance-panel{padding:22px 18px}.attendance-brand-icon{border-radius:16px!important;width:58px!important;height:58px!important}.attendance-brand-icon svg{width:35px;height:35px}.attendance-title-copy h2{font-size:1.35rem}.attendance-title-copy p{font-size:.78rem}.attendance-panel .attendance-actions{grid-template-columns:1fr}.attendance-panel .mark-button{min-height:96px;padding:16px 20px}.attendance-panel .mark-button i{width:56px;height:56px}.attendance-panel .mark-button svg{width:30px;height:30px}.attendance-panel .mark-button strong{font-size:1.05rem}.attendance-panel .mark-button small{font-size:.78rem}.attendance-summary{grid-template-columns:1fr}.attendance-summary>div{border-bottom:1px solid #809db533;border-right:0;padding:12px 6px}.attendance-summary>div:last-child{border-bottom:0}.attendance-summary__notice{grid-column:auto;margin-top:0}}.attendance-panel{border-radius:18px;gap:18px;width:100%;max-width:760px;padding:21px 26px 18px}.attendance-panel:before{height:120px;bottom:83px}.attendance-panel:after{height:88px;bottom:76px}.attendance-card-title{gap:15px}.attendance-brand-icon svg{width:36px;height:36px}.attendance-title-copy p{font-size:.73rem;margin-top:3px!important}.attendance-greeting{gap:10px;min-width:210px}.attendance-greeting>span{color:#ffc54d;place-items:center;width:34px;height:34px;display:grid}.attendance-greeting>span svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:30px;height:30px}.attendance-greeting strong{font-size:.86rem}.attendance-greeting small{font-size:.67rem}.attendance-panel .attendance-actions{gap:16px}.attendance-panel .mark-button{border-radius:14px;gap:17px;min-height:92px;padding:15px 22px}.attendance-panel .mark-button i{width:54px;height:54px}.attendance-panel .mark-button svg{width:31px;height:31px}.attendance-panel .mark-button strong{font-size:1.05rem}.attendance-panel .mark-button small{font-size:.72rem}.attendance-panel .mark-button>b{font-size:2rem}.attendance-summary{grid-template-columns:1.15fr 1.2fr 1fr;border-radius:14px!important;padding:10px 12px!important}.attendance-summary>div{gap:10px;min-width:0;padding:2px 12px}.attendance-summary__time>span{border-radius:9px;width:38px;height:38px}.attendance-summary svg{width:21px;height:21px}.attendance-summary small{font-size:.6rem!important}.attendance-summary strong{font-size:.65rem}.attendance-summary strong i{height:13px;margin:0 6px}.attendance-status-dot{width:13px;height:13px;box-shadow:0 0 0 6px #f0647221}.attendance-status-dot.is-active{box-shadow:0 0 0 6px #35daa121}.attendance-summary__notice>span{font-size:1.15rem}.attendance-summary__notice p{line-height:1.42;font-size:.61rem!important}@media (width<=820px){.attendance-panel{max-width:100%}}@media (width<=700px){.attendance-panel{gap:16px;padding:18px}.attendance-title-copy h2{font-size:1.22rem}.attendance-title-copy p{font-size:.68rem}.attendance-panel .mark-button{min-height:82px}.attendance-summary{grid-template-columns:1fr}.attendance-summary>div{padding:9px 5px}.attendance-panel:before,.attendance-panel:after{bottom:185px}}.mark-button--regularize{color:#fff!important;background:linear-gradient(100deg,#be182d38,#78350f3d)!important;border-color:#fb5b69!important}.mark-button--regularize i{color:#ff7b86!important;background:#e11d482b!important}.mark-button--regularize small,.mark-button--regularize b{color:#ff8b94!important}.attendance-panel{--attendance-bg-a:#102638;--attendance-bg-b:#071725;--attendance-mountain-a:#091624;--attendance-mountain-b:#13273a;background:radial-gradient(circle at 90% 9%,var(--attendance-glow,#ffbe4b1f),transparent 15%),linear-gradient(145deg,var(--attendance-bg-a),var(--attendance-bg-b));transition:background .35s,border-color .35s}.attendance-panel:before{background:var(--attendance-mountain-a)}.attendance-panel:after{background:var(--attendance-mountain-b)}.attendance-card--morning{--attendance-bg-a:#16364c;--attendance-bg-b:#092032;--attendance-glow:#ffc85b38;--attendance-mountain-a:#0b1c2b;--attendance-mountain-b:#17364b;border-color:#315267}.attendance-card--afternoon{--attendance-bg-a:#172f42;--attendance-bg-b:#0a1928;--attendance-glow:#f58b5333;--attendance-mountain-a:#0a1724;--attendance-mountain-b:#273343;border-color:#384a59}.attendance-card--night{--attendance-bg-a:#0c2134;--attendance-bg-b:#06111f;--attendance-glow:#648bca17;--attendance-mountain-a:#050e19;--attendance-mountain-b:#0d2032;border-color:#20384c}.attendance-sky{pointer-events:none;opacity:.74;width:190px;height:125px;top:0;right:2%;z-index:0!important;position:absolute!important}.attendance-sky span{color:#ffc65a;place-items:center;width:46px;height:46px;display:grid;position:absolute;top:13px;right:20px}.attendance-sky span svg{fill:currentColor;stroke:currentColor;stroke-width:1px;width:44px;height:44px}.attendance-card--afternoon .attendance-sky span{color:#f3a05f;top:30px}.attendance-card--night .attendance-sky span{color:#d9e7ff;top:15px}.attendance-card--night .attendance-sky span svg{fill:#d9e7ff;stroke:#d9e7ff}.attendance-sky i{background:#dbe9ff;border-radius:50%;width:2px;height:2px;display:none;position:absolute;box-shadow:0 0 5px #fff}.attendance-card--night .attendance-sky i{display:block}.attendance-sky i:first-child{top:24px;left:20px}.attendance-sky i:nth-child(2){top:51px;left:76px}.attendance-sky i:nth-child(3){top:20px;left:117px}.attendance-greeting{z-index:2;position:relative}.attendance-greeting>span svg{fill:none;stroke:currentColor}.attendance-card--night .attendance-greeting>span{color:#d8e6ff}.attendance-card--night .attendance-greeting>span svg{fill:#d8e6ff;stroke:#d8e6ff}.attendance-status-dot.is-pending{background:#f06472;box-shadow:0 0 0 6px #f0647221}.attendance-status-dot.is-open{background:#35daa1;box-shadow:0 0 0 6px #35daa121}.attendance-status-dot.is-completed{background:#70a7ff;box-shadow:0 0 0 6px #70a7ff24}.attendance-panel .mark-button:focus-visible{outline-offset:3px;outline:3px solid #fff}@media (width<=980px){.attendance-sky{opacity:.48;right:0}}@media (width<=700px){.attendance-card-title{grid-template-columns:auto 1fr}.attendance-greeting{grid-column:1/-1;margin-left:2px}.attendance-sky{width:130px;height:90px}.attendance-sky span{width:35px;height:35px}.attendance-sky span svg{width:34px;height:34px}}.attendance-brand-icon{border-radius:12px!important;width:44px!important;height:44px!important}.attendance-brand-icon svg{width:31px;height:31px;overflow:visible}.attendance-brand-icon .calendar-body{fill:none;stroke:#baf7df;stroke-width:2.5px;stroke-linejoin:round}.attendance-brand-icon .calendar-detail{fill:none;stroke:#baf7df;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.attendance-brand-icon .calendar-clock-face{fill:#baf7df;stroke:#08705a;stroke-width:1.2px}.attendance-brand-icon .calendar-clock-hand{fill:none;stroke:#08705a;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.attendance-card-title{grid-template-columns:44px minmax(0,1fr) auto;gap:13px}.attendance-title-copy h2{font-size:1.34rem}.attendance-title-copy p{font-size:.68rem}.attendance-greeting{min-width:190px}.attendance-greeting>span{flex:none;width:29px;height:29px}.attendance-greeting>span svg{width:27px;height:27px}@media (width<=700px){.attendance-card-title{grid-template-columns:44px minmax(0,1fr)}.attendance-greeting{grid-column:1/-1;margin-top:-4px;padding-left:57px}}.attendance-panel{align-items:stretch}.attendance-card-title{align-self:stretch;width:100%}@media (width<=1024px){.attendance-greeting,.attendance-summary{display:none!important}.attendance-card-title{grid-template-columns:44px minmax(0,1fr)}.attendance-panel:before{height:105px;bottom:0}.attendance-panel:after{height:78px;bottom:0}}.sidebar-logout{color:#cbd6e6;text-align:left;background:#ffffff09;border:1px solid #ffffff17;border-radius:10px;align-items:center;gap:11px;width:100%;padding:13px 12px;font:700 .8rem Manrope;display:flex}.sidebar-logout:hover{color:#fff;background:#ffffff14}.sidebar-logout:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.sidebar-logout svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.topbar-actions{align-items:center;gap:10px;position:relative;display:flex!important}.theme-toggle{margin:0}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.avatar-input{display:none}.profile-avatar-button{border:2px solid var(--card-bg);color:#7ef0c5;width:40px;height:40px;box-shadow:0 0 0 1px var(--app-line);background:linear-gradient(145deg,#24466b,#162d4e);border-radius:50%;place-items:center;padding:0;font-weight:800;display:grid;position:relative;overflow:visible}.profile-avatar-button>span,.profile-avatar-button>img{border-radius:50%;place-items:center;width:100%;height:100%;display:grid}.profile-avatar-button>img{object-fit:cover}.profile-avatar-button>i{border:2px solid var(--card-bg);background:var(--mint);color:#06251d;border-radius:50%;place-items:center;width:15px;height:15px;font:900 10px/1 Arial;display:grid;position:absolute;bottom:-2px;right:-2px}.profile-avatar-button:hover{transform:translateY(-1px);box-shadow:0 0 0 2px #37c99a4d}.profile-avatar-button:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.profile-avatar-button.is-loading{opacity:.55;cursor:wait}.avatar-error{z-index:5;color:#a72d40;background:#fff0f2;border:1px solid #f2bdc6;border-radius:8px;width:230px;padding:9px 11px;font-size:.68rem;position:absolute;top:48px;right:0;box-shadow:0 8px 24px #141e3224}@media (width<=760px){.topbar-actions{display:flex!important}.profile-avatar-button{width:36px;height:36px}.avatar-error{right:-2px}.sidebar-logout{margin-top:auto}}.admin-shell.theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-bg:#070d16;--card-bg:#0d1623;--soft-bg:#121d2c;--app-text:#edf4fc;--app-muted:#9cabc0;--app-line:#26364a;--ink:#edf4fc;--muted:#9cabc0;--line:#26364a;--surface:#0d1623;--mint-dark:#55d9ac}.theme-dark .workspace,.theme-dark .content{background:var(--app-bg);color:var(--app-text)}.theme-dark .topbar,.theme-dark .panel,.theme-dark .modal{background:var(--card-bg);color:var(--app-text);border-color:var(--app-line)}.theme-dark .page-header h1,.theme-dark .panel-heading h2,.theme-dark .modal h2,.theme-dark .form legend,.theme-dark .detail-grid dd,.theme-dark .detail-stack dd,.theme-dark .day-head strong,.theme-dark .schedule-card h2,.theme-dark .role-item strong,.theme-dark .journey-card strong,.theme-dark .recent-card strong{color:var(--app-text)}.theme-dark .page-header>div>p:last-child,.theme-dark .modal>header p,.theme-dark .muted,.theme-dark .tenant-label,.theme-dark .topbar-user,.theme-dark .dashboard-date{color:var(--app-muted)}.theme-dark .form label,.theme-dark .login-form>label,.theme-dark .permission-matrix label,.theme-dark .check-row{color:#d5dfec}.theme-dark input,.theme-dark select,.theme-dark textarea,.theme-dark .status-select{caret-color:#65dfb5;color:#f1f6fc!important;background:#091321!important;border-color:#304158!important}.theme-dark input::placeholder,.theme-dark textarea::placeholder{color:#74869d;opacity:1}.theme-dark input:focus,.theme-dark select:focus,.theme-dark textarea:focus{box-shadow:0 0 0 3px #37c99a29;border-color:#51d2a7!important}.theme-dark input:disabled,.theme-dark select:disabled,.theme-dark textarea:disabled{opacity:1;color:#75859a!important;background:#111b28!important;border-color:#202f41!important}.theme-dark .filters{background:var(--card-bg);border-color:var(--app-line)}.theme-dark .search span{color:#91a2b8}.theme-dark table{color:var(--app-text)}.theme-dark th{color:#9aaac0;border-color:var(--app-line);background:#111c2a}.theme-dark td{color:#dce6f2;border-color:#1f3043}.theme-dark tbody tr:hover{background:#121e2d}.theme-dark .code,.theme-dark .person small,.theme-dark .pagination,.theme-dark .role-item small,.theme-dark .schedule-meta small,.theme-dark .week-list small,.theme-dark .week-list em{color:var(--app-muted)}.theme-dark .person>span,.theme-dark .empty-icon,.theme-dark .schedule-icon,.theme-dark .quick-grid a>span,.theme-dark .role-symbol,.theme-dark .form legend span,.theme-dark .day-card--active .day-letter{color:#68dfb7;background:#12352f}.theme-dark .badge,.theme-dark .access{color:#b8c5d6;background:#1a2635}.theme-dark .badge--good,.theme-dark .access--yes{color:#65dfb4;background:#12352f}.theme-dark .badge--warning{color:#f4ca72;background:#392f19}.theme-dark .badge--danger{color:#ff91a1;background:#3a1e29}.theme-dark .row-action,.theme-dark .row-actions button,.theme-dark .schedule-card footer,.theme-dark .back-link{color:#65d9b3}.theme-dark .pagination button{color:#dce6f2;background:#111c29;border-color:#2a3b50}.theme-dark .pagination button:hover:not(:disabled){background:#182638;border-color:#3a506b}.theme-dark .pagination button:disabled{color:#59687a;opacity:1;background:#0c1521;border-color:#1d2a39}.theme-dark .button{color:#fff;background:#17345d;box-shadow:0 7px 18px #00000038}.theme-dark .button:hover:not(:disabled){background:#214675}.theme-dark .button--ghost{color:#eaf2fb;box-shadow:none;background:#121e2c;border-color:#304157}.theme-dark .button--ghost:hover:not(:disabled){background:#19283a}.theme-dark .button--danger,.theme-dark .button--danger-ghost:hover{color:#fff;background:#c93d53}.theme-dark .button--danger-ghost{color:#ff8395;background:#21151c;border-color:#63303c}.theme-dark .modal-backdrop{background:#02070ec7}.theme-dark .modal>header{border-color:var(--app-line);background:#0f1927}.theme-dark .icon-button{color:#d7e2ef}.theme-dark .icon-button:hover{background:#1a293b}.theme-dark .form .inset{background:#111c2a;border:1px solid #223247}.theme-dark .choice-card{background:#101a27;border-color:#2a3b50}.theme-dark .tabs{border-color:var(--app-line)}.theme-dark .tabs button{color:var(--app-muted)}.theme-dark .tabs button:hover{color:#dbe6f3;background:#101a27}.theme-dark .tabs button.active{color:#fff;border-bottom-color:#4cd4a6}.theme-dark .stat-card{background:var(--card-bg);border-color:var(--app-line)}.theme-dark .stat-card strong{color:#f2f7fc}.theme-dark .stat-card:after{opacity:.13}.theme-dark .quick-grid a{border-color:var(--app-line);color:var(--app-text);background:#0f1926}.theme-dark .quick-grid a:hover{background:#152235;border-color:#354962}.theme-dark .role-list>header,.theme-dark .role-item{border-color:#223247}.theme-dark .role-item{background:var(--card-bg);color:var(--app-text)}.theme-dark .role-item:hover,.theme-dark .role-item.active{background:#142235}.theme-dark .permission-matrix section{background:#101a27;border-color:#293a4f}.theme-dark .schedule-card{color:var(--app-text);background:#0f1926;border-color:#2b3c51}.theme-dark .schedule-card:hover{background:#121f2f;border-color:#3c806d;box-shadow:0 10px 24px #00000038}.theme-dark .schedule-meta{color:#e2eaf4;background:#152131}.theme-dark .schedule-card footer{border-color:#2a3a4e}.theme-dark .day-card{color:#aab8ca;background:#101a27;border-color:#293a4f}.theme-dark .day-card--active{color:#edf4fc;background:#111e2a;border-color:#36705f}.theme-dark .day-letter{color:#a9b7c8;background:#202c3b}.theme-dark .switch span{background:#435166}.theme-dark .switch span:after{background:#f3f7fb}.theme-dark .current-schedule{color:#eef8f5;background:#10251f;border-color:#285b4d}.theme-dark .current-schedule p{color:#bdcbd7}.theme-dark .future-card{background:#2b2416;border-color:#574728}.theme-dark .future-card span{color:#f0c66e}.theme-dark .future-card small{color:#cdbb94}.theme-dark .timezone{color:#b2c0d0;background:#182434}.theme-dark .week-list article{color:#8494a8;background:#111a27}.theme-dark .week-list article.working{color:#e8f3ef;background:#10251f}.theme-dark .info-note{color:#a9c5de;background:#102232;border:1px solid #21425c}.theme-dark .timeline article>i{box-shadow:0 0 0 4px #12352f}.theme-dark .timeline article:not(:last-child):before{background:#2a3c50}.theme-dark .alert--error,.theme-dark .alert:not(.alert--success):not(.alert--info){color:#ff9aaa;background:#321821;border-color:#67303e}.theme-dark .alert--success{color:#75e2bd;background:#123229;border-color:#285d4d}.theme-dark .alert--info{color:#9dcbf0;background:#112a3e;border-color:#28506d}.theme-dark .journey-card,.theme-dark .recent-card{background:var(--card-bg);border-color:var(--app-line);color:var(--app-text)}.attendance-list-panel{min-height:420px}.attendance-filters{flex-wrap:wrap;align-items:flex-end}.filter-control{color:var(--muted);gap:6px;font-size:.68rem;font-weight:700;display:grid}.filter-control input{min-width:148px}.attendance-search{min-width:210px}.theme-dark .filter-control{color:var(--app-muted)}.success-toast{z-index:70;color:#115d49;background:#f0fcf8;border:1px solid #bdebdc;border-radius:13px;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;width:min(390px,100vw - 32px);padding:15px 16px;animation:.24s ease-out toast-in;display:grid;position:fixed;bottom:26px;right:26px;box-shadow:0 18px 45px #0d453533}.success-toast__icon{color:#fff;background:#25b984;border-radius:50%;place-items:center;width:42px;height:42px;font-size:1.25rem;font-weight:800;display:grid}.success-toast div{gap:2px;display:grid}.success-toast strong{font:800 .86rem Manrope}.success-toast small{color:#397361;font-size:.76rem}.success-toast button{color:#508071;background:0 0;border:0;font-size:1.15rem}.theme-dark .success-toast{color:#81e5c1;background:#102b23;border-color:#285f4e;box-shadow:0 18px 48px #0000006b}.theme-dark .success-toast small{color:#abd2c4}.theme-dark .success-toast button{color:#9bc7b8}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.justification-form{padding-top:20px!important}.justification-context{color:#77591d;background:#fff8e6;border:1px solid #f0dda8;border-radius:9px;margin:0 0 18px;padding:12px 14px;font-size:.8rem}.justification-form textarea{min-height:120px}.justification-form label small{justify-self:end}.theme-dark .justification-context{color:#f1ce82;background:#2d2515;border-color:#5d4b28}.justification-button{color:#8b6415;background:#fff7df;border:1px solid #e3b655;border-radius:8px;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.justification-button:hover{background:#ffefbd;transform:translateY(-1px)}.no-justification{color:var(--muted)}.theme-dark .justification-button{color:#f5ce76;background:#332815;border-color:#735d2d}.theme-dark .justification-button:hover{background:#44351a}.justification-detail{grid-template-columns:42px 1fr;gap:12px;padding:24px 26px;display:grid}.justification-detail__icon{color:#8b6415;background:#fff1c9;border-radius:11px;grid-row:1/3;place-items:center;width:42px;height:42px;font-size:1.2rem;font-weight:800;display:grid}.justification-detail>div{gap:3px;display:grid}.justification-detail small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.justification-detail p{white-space:pre-wrap;background:#f7f9fb;border-radius:10px;grid-column:1/-1;margin:8px 0 0;padding:15px;line-height:1.6}.theme-dark .justification-detail__icon{color:#f5ce76;background:#392d17}.theme-dark .justification-detail p{color:#e2eaf4;background:#111c2a}.justification-form .field-help--danger{font-weight:700;color:var(--danger)!important;justify-self:start!important}.justification-form input.input--invalid{border-color:var(--danger)!important;background:#fff6f7!important;box-shadow:0 0 0 3px #d7485b1f!important}.theme-dark .justification-form input.input--invalid{color:#ffe8eb!important;background:#2a151b!important;border-color:#ef6a7c!important}.theme-dark .justification-form .field-help--danger{color:#ff8d9c!important}@media (width<=760px){.success-toast{bottom:16px;right:16px}.attendance-filters>*{width:100%;max-width:none}.filter-control input,.attendance-search{min-width:0}}.person>span.person-avatar--image{background:#dfe7ed;overflow:hidden}.person-avatar--image img{object-fit:cover;width:100%;height:100%;display:block}.sidebar nav a>span{flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:0;display:grid}.sidebar nav a>span svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px;display:block}.sidebar nav a.active>span svg{stroke-width:1.9px}.sidebar-logout svg{flex:0 0 20px}.pagination>span strong{color:var(--ink);font-weight:800}.theme-dark .pagination>span strong{color:var(--app-text)}.justification-detail{grid-template-columns:42px minmax(0,1fr);gap:16px 12px}.justification-detail__icon{grid-row:1}.justification-detail__heading{align-content:center}.justification-detail__heading>span{color:var(--muted);font-size:.76rem}.justification-entry{background:#f7f9fb;border-radius:10px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(165px,auto);align-items:center;gap:12px 20px;padding:15px;display:grid}.justification-entry__reason{min-width:0}.justification-entry__reason>strong{color:var(--app-text);font-size:.87rem}.justification-detail .justification-entry__reason p{color:var(--app-text);overflow-wrap:anywhere;background:0 0;border-radius:0;grid-column:auto;margin:5px 0 0;padding:0;font-size:.86rem;line-height:1.5}.justification-entry__meta{text-align:right;justify-items:end;gap:4px;min-width:0;display:grid}.justification-entry__meta>span{color:var(--app-muted);font-size:.68rem}.justification-entry__meta>time{color:var(--app-text);font-size:.76rem;font-weight:700}.justification-detail .justification-entry__meta>small{color:var(--app-muted);text-transform:none;letter-spacing:normal;font-size:.68rem;line-height:1.35}.theme-dark .justification-entry{background:#111c2a}.theme-dark .justification-detail .justification-entry__reason p{color:#e2eaf4;background:0 0}@media (width<=560px){.justification-entry{grid-template-columns:1fr}.justification-entry__meta{border-top:1px solid var(--app-line);text-align:left;justify-items:start;padding-top:10px}}.early-exit-modal{color:#13213a;background:#fff;border:1px solid #e5eaf2;border-radius:14px;width:min(504px,100%);max-height:calc(100dvh - 32px);padding:34px 26px 20px;position:relative;overflow:auto;box-shadow:0 24px 65px #050d1d47}.early-exit-handle{display:none}.early-exit-close{color:#53637f;background:0 0;border:0;border-radius:6px;place-items:center;width:24px;height:24px;padding:0;display:grid;position:absolute;top:15px;right:14px}.early-exit-close:hover{background:#f1f4f8}.early-exit-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:17px;height:17px}.early-exit-heading{align-items:center;gap:21px;min-height:76px;padding-right:8px;display:flex}.early-exit-icon{color:#d34543;background:#ffebeb;border-radius:50%;flex:none;place-items:center;width:66px;height:66px;display:grid}.early-exit-icon svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:34px;height:34px}.early-exit-icon--mobile{display:none}.early-exit-heading h2{color:#111e36;letter-spacing:-.035em;margin:0 0 4px;font:800 1.43rem/1.28 Manrope,sans-serif}.early-exit-heading p{color:#62718c;margin:0;font-size:.88rem;line-height:1.4}.early-exit-notice{background:#fffaf1;border:1px solid #ffdfa5;border-radius:11px;align-items:flex-start;gap:16px;margin-top:18px;padding:18px 20px;display:flex}.early-exit-warning{color:#a96c05;background:#ffe3a8;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.early-exit-warning svg{fill:#a96c05;stroke:#fff;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.early-exit-warning--mobile{display:none}.early-exit-notice p{color:#76562c;margin:0;font-size:.82rem;line-height:1.42}.early-exit-notice strong{color:#503a1e;font-weight:700}.early-exit-actions{justify-content:flex-end;gap:9px;margin-top:26px;display:flex}.early-exit-actions button{border-radius:9px;min-height:40px;padding:9px 20px;font-size:.85rem;font-weight:800}.early-exit-actions button:disabled{opacity:.55;cursor:wait}.early-exit-cancel{color:#18263e;background:#fff;border:1px solid #d9e1ef;box-shadow:0 2px 5px #0c192f09}.early-exit-cancel:hover:not(:disabled){background:#f7f9fc}.early-exit-confirm{color:#fff;background:#14223f;border:1px solid #14223f;box-shadow:0 4px 10px #0f1d3724}.early-exit-confirm:hover:not(:disabled){background:#223758}.early-exit-modal button:focus-visible{outline-offset:2px;outline:3px solid #58aaf5}.theme-dark .early-exit-modal{color:#edf4fc;background:#101b2a;border-color:#26364b}.theme-dark .early-exit-heading h2{color:#f4f7fd}.theme-dark .early-exit-heading p{color:#a9b8ce}.theme-dark .early-exit-close{color:#c2cfe0}.theme-dark .early-exit-close:hover{background:#1c2a3c}.theme-dark .early-exit-icon{color:#ff8283;background:#412528}.theme-dark .early-exit-notice{background:#2b251b;border-color:#6c532b}.theme-dark .early-exit-notice p{color:#e8cfaa}.theme-dark .early-exit-notice strong{color:#ffe6ba}.theme-dark .early-exit-cancel{color:#edf4fc;background:#162438;border-color:#34465e}.theme-dark .early-exit-cancel:hover:not(:disabled){background:#20314a}@media (width<=600px){.early-exit-backdrop{align-items:end;padding:0 12px 10px}.early-exit-modal{border-radius:28px 28px 24px 24px;width:100%;max-height:calc(100dvh - 20px);padding:20px 14px 24px;box-shadow:0 12px 40px #040c1a57}.early-exit-handle{background:#d8dde6;border-radius:99px;width:36px;height:4px;margin:-14px auto 10px;display:block}.early-exit-close{color:#14233d;width:22px;height:22px;top:17px;right:14px}.early-exit-heading{text-align:center;flex-direction:column;gap:9px;min-height:0;padding:0 24px;display:flex}.early-exit-icon{width:46px;height:46px}.early-exit-icon svg{stroke-width:2px;width:28px;height:28px}.early-exit-icon--desktop{display:none}.early-exit-icon--mobile{display:block}.early-exit-heading h2{letter-spacing:-.02em;margin-bottom:2px;font-size:1.1rem}.early-exit-heading p{max-width:240px;margin:auto;font-size:.76rem;line-height:1.15}.early-exit-notice{border-radius:9px;align-items:center;gap:12px;margin-top:16px;padding:11px 12px}.early-exit-warning{background:0 0;width:17px;height:22px}.early-exit-warning svg{fill:#be830b;stroke:#fff;stroke-width:2px;width:17px;height:17px}.early-exit-warning--desktop{display:none}.early-exit-warning--mobile{display:block}.early-exit-notice p{font-size:.69rem;line-height:1.25}.early-exit-notice strong{color:inherit;font-weight:400}.early-exit-actions{flex-direction:column;gap:7px;margin-top:11px}.early-exit-actions button{min-height:36px;padding:7px 12px;font-size:.78rem}.theme-dark .early-exit-handle{background:#4a5b70}}.attendance-row-actions{align-items:center;gap:7px;display:flex}.attendance-row-actions button{color:#48617c;background:#fff;border:1px solid #dce5ef;border-radius:8px;place-items:center;width:31px;height:31px;padding:0;display:grid}.attendance-row-actions button:hover{color:#0b8066;background:#edf9f5;border-color:#52bea0}.attendance-row-actions button:focus-visible{outline-offset:2px;outline:3px solid #64c9ae}.attendance-row-actions svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.attendance-device-heading,.attendance-device-cell{text-align:center;width:74px;padding-left:8px;padding-right:8px}.attendance-device{color:#315b7e;cursor:help;background:#f5f8fb;border:1px solid #dce7f1;border-radius:9px;place-items:center;width:34px;height:34px;display:inline-grid}.attendance-device svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.attendance-device--mobile svg{width:16px;height:16px}.attendance-device--tablet svg{width:17px;height:17px}.attendance-device--mobile{color:#147b69;background:#eaf8f4;border-color:#ccece2}.attendance-device--tablet{color:#5664a9;background:#f0f1fb;border-color:#dde0f5}.attendance-device--unknown{color:#738096}.attendance-device-empty{color:#a7b0bf}.attendance-correction-form{gap:14px;display:grid}.attendance-correction-form>label{color:var(--ink);gap:7px;font-size:.82rem;font-weight:700;display:grid}.attendance-correction-form input,.attendance-correction-form textarea{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #d5dfeb;border-radius:9px;padding:10px 12px}.attendance-correction-form textarea{resize:vertical;min-height:86px}.attendance-correction-form .modal-actions{padding-top:4px}.attendance-correction-note{color:#3c5e7b;background:#f2f8fd;border:1px solid #d7e9f5;border-radius:9px;margin:0;padding:12px 14px;font-size:.79rem;line-height:1.45}.attendance-correction-form .alert{margin:0}.attendance-correction-fixed-date{color:#53647b;background:#f6f9fc;border:1px solid #d5dfeb;border-radius:9px;margin:0;padding:10px 12px;font-size:.82rem}.attendance-correction-fixed-date strong{color:var(--ink)}.attendance-correction-history{gap:12px;max-height:min(62vh,530px);padding:22px 26px;display:grid;overflow:auto}.attendance-correction-history>.muted{color:var(--muted);margin:0;font-size:.86rem}.attendance-correction-entry{background:#f8fafc;border:1px solid #e1e8f0;border-radius:11px;gap:9px;padding:15px;font-size:.8rem;display:grid}.attendance-correction-entry__heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.attendance-correction-entry__heading time{color:var(--muted);font-size:.73rem}.attendance-correction-entry>p{color:#53647c;overflow-wrap:anywhere;margin:0}.attendance-correction-entry>div:not(.attendance-correction-entry__heading){flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.attendance-correction-entry>div:not(.attendance-correction-entry__heading)>span:first-child{min-width:48px;color:var(--muted);font-weight:700}.attendance-correction-entry del{color:#a25d65}.attendance-correction-entry strong{color:var(--ink)}.theme-dark .attendance-row-actions button{color:#bbccdf;background:#121f2e;border-color:#293b50}.theme-dark .attendance-row-actions button:hover{color:#83e2c1;background:#17352f}.theme-dark .attendance-device{color:#b9cbe0;background:#142334;border-color:#2a3d52}.theme-dark .attendance-device--mobile{color:#77ddbd;background:#11372f;border-color:#225347}.theme-dark .attendance-device--tablet{color:#b9c0ff;background:#242845;border-color:#3c4266}.theme-dark .attendance-correction-note{color:#b7d6ed;background:#13283a;border-color:#2a4e69}.theme-dark .attendance-correction-entry{background:#121e2c;border-color:#26374b}.theme-dark .attendance-correction-entry>p,.theme-dark .attendance-correction-entry strong{color:#e1ebf5}@media (width<=560px){.attendance-correction-history{padding:17px}.attendance-correction-entry__heading{flex-direction:column;align-items:flex-start;gap:3px}}.attendance-camera-backdrop{z-index:90;padding:18px}.attendance-camera-modal{color:#12213b;background:#fff;border:1px solid #dce5ef;border-radius:18px;width:min(620px,100%);max-height:calc(100dvh - 36px);padding:26px;position:relative;overflow:auto;box-shadow:0 28px 80px #0410234d}.attendance-camera-modal>header{align-items:center;gap:15px;padding:0 36px 20px 0;display:flex}.attendance-camera-modal>header h2{color:#0d1e3b;margin:0;font-size:1.3rem}.attendance-camera-modal>header p{color:#5d697d;margin:4px 0 0;font-size:.82rem}.attendance-camera-title-icon{color:#078166;background:#dcf8ef;border-radius:13px;flex:none;place-items:center;width:46px;height:46px;display:grid}.attendance-camera-title-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.attendance-camera-close{color:#52627a;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;display:grid;position:absolute;top:17px;right:17px}.attendance-camera-close:hover{background:#f0f4f8}.attendance-camera-frame{aspect-ratio:4/3;background:#0b1522;border:3px solid #d9e3ed;border-radius:16px;transition:border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.attendance-camera-frame.is-ready{border-color:#22bf92;box-shadow:0 0 0 4px #22bf9221}.attendance-camera-frame video,.attendance-camera-frame img{object-fit:cover;width:100%;height:100%;display:block}.attendance-camera-frame video{transform:scaleX(-1)}.attendance-camera-guide{pointer-events:none;border:2px dashed #ffffffb8;border-radius:48% 48% 44% 44%;position:absolute;inset:12% 26%;box-shadow:0 0 0 999px #030b1633}.attendance-camera-frame.is-ready .attendance-camera-guide{border-color:#55f0bf}.attendance-camera-status{color:#64738a;text-align:center;justify-content:center;align-items:center;gap:8px;min-height:22px;margin:13px 0 0;font-size:.79rem;font-weight:700;display:flex}.attendance-camera-status i{background:#e3a627;border-radius:50%;width:8px;height:8px}.attendance-camera-status.is-ready{color:#087c62}.attendance-camera-status.is-ready i{background:#20bd8d}.attendance-camera-status.is-error{color:#b4313a}.attendance-camera-privacy{color:#7a879a;text-align:center;margin:8px 0 0;font-size:.7rem;line-height:1.45}.attendance-camera-actions{justify-content:flex-end;gap:10px;margin-top:21px;display:flex}.attendance-camera-actions .button{min-width:142px}.attendance-camera-actions .button:disabled{opacity:.48;cursor:not-allowed}.attendance-photo-viewer{gap:13px;padding:22px 26px;display:grid}.attendance-photo-viewer>img{object-fit:contain;background:#101a27;border-radius:13px;width:100%;max-height:62vh;display:block;box-shadow:0 8px 26px #07142724}.attendance-photo-viewer>p{color:var(--app-muted);text-align:center;margin:0;font-size:.8rem}.attendance-photo-viewer>p strong{color:var(--app-text)}.theme-dark .attendance-camera-modal{color:#edf4fc;background:#101b29;border-color:#2a3c51}.theme-dark .attendance-camera-modal>header h2{color:#f2f7fd}.theme-dark .attendance-camera-modal>header p,.theme-dark .attendance-camera-privacy{color:#a8b6c8}.theme-dark .attendance-camera-status.is-error{color:#ff8f98}.theme-dark .attendance-camera-close{color:#cad4e1}.theme-dark .attendance-camera-close:hover{background:#1a2a3c}@media (width<=600px){.attendance-camera-backdrop{align-items:end;padding:0}.attendance-camera-modal{border-radius:25px 25px 0 0;width:100%;max-height:92dvh;padding:20px 16px 18px}.attendance-camera-modal>header{padding-bottom:15px}.attendance-camera-modal>header h2{font-size:1.08rem}.attendance-camera-modal>header p{font-size:.72rem}.attendance-camera-title-icon{width:40px;height:40px}.attendance-camera-frame{border-radius:14px}.attendance-camera-actions{grid-template-columns:1fr;margin-top:15px;display:grid}.attendance-camera-actions .button{width:100%}.attendance-camera-actions .button:last-child{grid-row:1}.attendance-photo-viewer{padding:17px}.attendance-photo-viewer>img{max-height:68vh}}.schedule-module-tabs{border:1px solid var(--app-line);background:#ffffffb8;border-radius:13px;align-items:stretch;gap:10px;width:min(820px,100%);margin:-8px 0 18px;padding:5px;display:flex}.schedule-module-tabs a{min-width:0;color:var(--app-muted);border-radius:9px;flex:1;align-items:center;gap:11px;padding:10px 13px;text-decoration:none;transition:all .16s;display:flex}.schedule-module-tabs a:hover{color:var(--app-text);background:#f1f6fa}.schedule-module-tabs a.active{color:#087c63;background:#e8f8f3;box-shadow:inset 0 0 0 1px #c8eadf}.schedule-module-tabs svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:21px;height:21px}.schedule-module-tabs span{gap:2px;min-width:0;display:grid}.schedule-module-tabs strong{font-size:.79rem}.schedule-module-tabs small{color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;font-weight:500;overflow:hidden}.attendance-settings-panel{width:min(820px,100%);padding:0;overflow:hidden}.attendance-settings-heading{border-bottom:1px solid var(--app-line);grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;padding:24px 26px;display:grid}.attendance-settings-heading h2{color:var(--app-text);margin:0;font-size:1.05rem}.attendance-settings-heading p{color:var(--app-muted);margin:5px 0 0;font-size:.82rem;line-height:1.5}.attendance-settings-camera{color:#07836a;background:#e7f8f2;border-radius:13px;place-items:center;width:48px;height:48px;display:grid}.attendance-settings-camera svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.settings-switch{cursor:pointer;grid-template-columns:auto auto;align-items:center;gap:7px 10px;display:grid}.settings-switch input{opacity:0;width:1px;height:1px;position:absolute}.settings-switch>span{background:#cbd4df;border-radius:99px;width:45px;height:25px;transition:all .18s;position:relative}.settings-switch>span:after{content:"";background:#fff;border-radius:50%;width:19px;height:19px;transition:all .18s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #0c1c3133}.settings-switch input:checked+span{background:#13a77f}.settings-switch input:checked+span:after{transform:translate(20px)}.settings-switch input:focus-visible+span{outline-offset:2px;outline:3px solid #27ae894d}.settings-switch input:disabled+span{opacity:.58;cursor:not-allowed}.settings-switch b{color:var(--app-muted);text-align:center;grid-column:1/-1;font-size:.69rem}.attendance-settings-explanation{background:#f7f9fc;border:1px solid #dce5ee;border-radius:12px;margin:22px 26px 14px;padding:17px 18px}.attendance-settings-explanation.is-enabled{background:#f0faf7;border-color:#bee8dc}.attendance-settings-explanation strong{color:var(--app-text);font-size:.88rem}.attendance-settings-explanation p{color:var(--app-muted);margin:6px 0 0;font-size:.79rem;line-height:1.55}.attendance-settings-note{color:#416784;background:#eef6fd;border-radius:10px;align-items:flex-start;gap:10px;margin:0 26px;padding:13px 15px;display:flex}.attendance-settings-note>span{color:#1684c2}.attendance-settings-note p{margin:0;font-size:.77rem;line-height:1.5}.attendance-settings-actions{border-top:1px solid var(--app-line);justify-content:flex-end;gap:10px;margin-top:22px;padding:18px 26px;display:flex}.attendance-settings-actions .button{min-width:138px}.attendance-settings-readonly{margin:20px 26px 24px}.theme-dark .attendance-settings-camera{color:#7ce0c2;background:#123b32}.theme-dark .attendance-settings-explanation{background:#131f2e;border-color:#2a3b50}.theme-dark .attendance-settings-explanation.is-enabled{background:#12342d;border-color:#28564b}.theme-dark .attendance-settings-note{color:#b8d5e9;background:#142b3e}.theme-dark .schedule-module-tabs{background:#0e1927b8}.theme-dark .schedule-module-tabs a:hover{background:#17283a}.theme-dark .schedule-module-tabs a.active{color:#7de1c2;background:#12372f;box-shadow:inset 0 0 0 1px #28564b}@media (width<=620px){.schedule-module-tabs{grid-template-columns:1fr;margin-top:-4px;display:grid}.schedule-module-tabs a{padding:9px 11px}.attendance-settings-heading{grid-template-columns:45px minmax(0,1fr);padding:20px 18px}.attendance-settings-camera{width:43px;height:43px}.settings-switch{grid-column:1/-1;grid-template-columns:auto 1fr;margin-top:5px}.settings-switch b{text-align:left;grid-column:auto}.attendance-settings-explanation{margin:18px}.attendance-settings-note{margin:0 18px}.attendance-settings-actions{grid-template-columns:1fr;padding:18px;display:grid}.attendance-settings-actions .button{width:100%}.attendance-settings-actions .button:last-child{grid-row:1}.attendance-settings-readonly{margin:18px}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#f4f6fa}body,#root,.admin-shell{min-height:100dvh}button,input,select,textarea{-webkit-tap-highlight-color:transparent;min-width:0}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal,.attendance-camera-modal,.early-exit-modal{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-gutter:stable}@media (width<=760px){.topbar{z-index:14;height:auto;min-height:66px;padding:8px max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left));grid-template-columns:44px minmax(0,1fr) auto;gap:10px;display:grid;position:sticky;top:0}.topbar>div:not(.topbar-actions){min-width:0}.topbar>div:not(.topbar-actions) strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-button{width:44px;height:44px;color:var(--app-text);border-radius:10px;place-items:center;padding:0;display:grid}.menu-button:focus-visible,.theme-toggle:focus-visible{outline-offset:2px;outline:3px solid #27ae8952}.topbar-actions{gap:8px}.theme-toggle{width:42px;height:42px}.profile-avatar-button{width:40px;height:40px}.sidebar{width:min(310px,100vw - 44px);height:100dvh;padding:max(22px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));overscroll-behavior:contain;overflow-y:auto}.scrim{-webkit-tap-highlight-color:transparent;width:auto;height:100%;left:min(310px,100vw - 44px)}.content{padding:24px max(16px,env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.page-header{gap:16px;margin-bottom:22px}.page-header>div{min-width:0}.page-header>div>p:last-child{font-size:.9rem;line-height:1.55}.page-actions>.button,.page-actions>button{min-height:44px}.filters{gap:12px;padding:15px}.filters input,.filters select,.form input,.form select,.form textarea,.attendance-correction-form input,.attendance-correction-form textarea{font-size:16px}.table-scroll{max-width:100%}.pagination{padding:14px 16px}.pagination button{width:44px;height:40px}.modal-backdrop{padding:max(10px,env(safe-area-inset-top)) 0 0;align-items:end}.modal{width:100%;max-height:calc(100vh - max(10px,env(safe-area-inset-top)));max-height:calc(100dvh - max(10px,env(safe-area-inset-top)));padding-bottom:env(safe-area-inset-bottom);border-radius:22px 22px 0 0}.modal>header{padding:18px 18px 14px}.modal>header .icon-button{flex:none;place-items:center;width:44px;height:44px;margin:-9px -9px 0 0;padding:0;display:grid}.modal>.form,.modal>p{padding:18px}.modal-actions{grid-template-columns:1fr;gap:9px;display:grid}.modal-actions .button{width:100%;min-height:44px}.modal-actions .button:last-child{grid-row:1}.success-toast{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));width:auto}}th{color:#5d697d}.badge--good,.access--yes{color:#0b7459}.button:focus-visible,.pagination button:focus-visible,.row-actions button:focus-visible,.row-action:focus-visible,.tabs button:focus-visible,.icon-button:focus-visible,.attendance-camera-close:focus-visible{outline-offset:2px;outline:3px solid #13a77f57}.button:active:not(:disabled){transform:translateY(0)}.button--ghost:hover:not(:disabled){color:#17233b;background:#f1f5f9;border-color:#c5cfdd}.button--ghost:active:not(:disabled){color:#101c31;background:#e5ebf2;border-color:#aebacc}.button:disabled{cursor:not-allowed;opacity:1;color:#fff;box-shadow:none;background:#707a8c}.button--ghost:disabled{color:#7b8798;background:#f4f6f9;border-color:#dce2ea}.attendance-camera-actions .button:disabled{opacity:1}.pagination button{color:#263750;place-items:center;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:grid}.pagination button:hover:not(:disabled){color:#08785f;background:#eef6f3;border-color:#85cdb8;transform:translateY(-1px)}.pagination button:active:not(:disabled){background:#dff1eb;transform:translateY(0)}.pagination button:disabled{cursor:not-allowed;opacity:1;color:#8793a4;background:#f5f7fa;border-color:#e1e6ed}.row-action:hover,.row-actions button:hover{color:#0d5f8d;background:#edf5f9;border-radius:6px}.row-action:active,.row-actions button:active{background:#dfeef5}.tabs button:hover{color:#263750;background:#f2f6f9}.modal .icon-button:hover{color:#10203a;background:#edf2f7}.theme-dark .button:disabled{color:#d6dfeb;background:#344157}.theme-dark .button--ghost:disabled{color:#738297;background:#111a26;border-color:#263548}.theme-dark .button--ghost:hover:not(:disabled){color:#f4f8fc;background:#1d2d41;border-color:#455b75}.theme-dark .button--ghost:active:not(:disabled){color:#fff;background:#263a52;border-color:#58708e}.theme-dark .row-action:hover,.theme-dark .row-actions button:hover{color:#8de9ca;background:#162c32}.theme-dark .row-action:active,.theme-dark .row-actions button:active{background:#1b3a3c}.theme-dark .modal .icon-button:hover{color:#fff;background:#1a293b}@media (width<=620px){.schedule-module-tabs{gap:6px;padding:5px}.schedule-module-tabs a{min-height:54px}.schedule-module-tabs small{white-space:normal;line-height:1.3}.attendance-settings-panel{border-radius:13px}.attendance-settings-heading{gap:13px}.settings-switch{min-height:44px}.settings-switch>span{width:50px;height:28px}.settings-switch>span:after{width:22px;height:22px}.settings-switch input:checked+span:after{transform:translate(22px)}.attendance-settings-explanation{padding:15px}.attendance-settings-note{padding:13px}.attendance-settings-actions{padding-bottom:max(18px,env(safe-area-inset-bottom))}.attendance-camera-modal{max-height:100dvh;padding:20px 16px max(18px,env(safe-area-inset-bottom));border-radius:25px 25px 0 0}.attendance-camera-close{width:44px;height:44px;top:14px;right:12px}.attendance-camera-modal>header{padding-right:42px}.attendance-camera-actions .button{min-height:46px}}@media (width<=380px){.content{padding-inline:12px}.topbar{padding-inline:10px}.page-header h1{font-size:1.55rem}.schedule-module-tabs strong{font-size:.76rem}.attendance-settings-heading{grid-template-columns:40px minmax(0,1fr)}.attendance-settings-camera{width:40px;height:40px}.attendance-settings-explanation,.attendance-settings-note{margin-inline:14px}.attendance-settings-actions{padding-inline:14px}}@media (height<=520px) and (orientation:landscape){.modal-backdrop,.attendance-camera-backdrop,.early-exit-backdrop{padding:0 max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));align-items:stretch}.modal,.attendance-camera-modal,.early-exit-modal{border-radius:16px;max-height:100dvh;margin:auto}.attendance-camera-modal{width:min(720px,100%);padding-top:14px}.attendance-camera-modal>header{padding-bottom:10px}.attendance-camera-frame{max-height:52dvh}.attendance-camera-status{margin-top:7px}.attendance-camera-privacy{margin-top:4px}.attendance-camera-actions{margin-top:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=1101px){.filters{grid-template-columns:minmax(220px,340px) repeat(auto-fit,minmax(150px,max-content));justify-content:start;align-items:end;display:grid}.filters .search{width:100%;max-width:340px}.filters select{width:auto;min-width:150px;max-width:220px}.attendance-filters{grid-template-columns:repeat(2,minmax(145px,160px)) minmax(220px,300px) repeat(2,minmax(155px,190px))}.attendance-filters .attendance-search{width:100%;max-width:300px}.attendance-filters select{width:100%;max-width:190px}}@media (width>=761px) and (width<=1100px){.filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.filters .search{grid-column:1/-1;width:100%;max-width:none}.filters input,.filters select{width:100%;min-width:0}.attendance-filters .filter-control{width:100%}.attendance-filters .attendance-search{grid-column:1/-1}}@media (width<=760px){.filters{grid-template-columns:1fr;display:grid}.filters .search,.filters input,.filters select,.attendance-filters>*{width:100%;min-width:0;max-width:none}.search span{top:50%;transform:translateY(-50%)}}:root{--muted:#5d697d}.logo small{color:#7d8eaa}.sidebar nav p{color:#8191ad}.tenant-label{color:#5d697d}.eyebrow{color:#0c795e}.theme-dark .eyebrow{color:#55d9ac}.admin-shell{--app-muted:#5d697d}.schedule-module-tabs a.active small{color:#526d65}.theme-dark .schedule-module-tabs a.active small{color:#b4c8c1}@media (width>=761px) and (width<=900px){.admin-shell{display:block}.workspace{grid-column:auto}.sidebar{overscroll-behavior:contain;width:min(310px,100vw - 56px);height:100dvh;transition:all .2s;overflow-y:auto;transform:translate(-105%)}.sidebar--open{transform:translate(0)}.scrim{z-index:15;background:#030a1673;border:0;position:fixed;inset:0 0 0 min(310px,100vw - 56px)}.menu-button{width:44px;height:44px;color:var(--app-text);border-radius:10px;place-items:center;padding:0;display:grid}.topbar{grid-template-columns:44px minmax(0,1fr) auto;gap:12px;height:auto;min-height:70px;padding:10px 22px;display:grid}.content{padding:30px 24px 60px}.role-layout{grid-template-columns:1fr}}.logo>.sidebar-nexona-mark{width:42px;height:42px;color:inherit;background:0 0;border-radius:0;flex:0 0 42px;display:block;position:relative;overflow:hidden}.logo>.sidebar-nexona-mark img{object-fit:contain;width:100%;height:100%;display:block}.logo>div{gap:2px;min-width:0}.logo strong{letter-spacing:.01em;font-family:Inter,Manrope,sans-serif;font-size:1.06rem}.logo small{color:#8fa0ba;max-width:155px;font-size:.62rem;line-height:1.25}.login-page{--login-navy:#0b1f4d;--login-navy-deep:#081735;--login-teal:#2dd4bf;background:#fff;border:1px solid #94a3b82e;border-radius:22px;grid-template-columns:minmax(520px,55%) minmax(420px,45%);width:min(1580px,100vw - 32px);height:min(980px,100dvh - 32px);min-height:720px;margin:0;display:grid;overflow:hidden;box-shadow:0 30px 80px #08173521}body:has(.login-page){background:radial-gradient(circle at 12% 10%,#2dd4bf12,#0000 25%),radial-gradient(circle at 88% 90%,#3b82f60f,#0000 28%),#f4f8fb;place-items:center;min-height:100dvh;padding:16px;display:grid}.login-brand{isolation:isolate;color:#f8fafc;background:radial-gradient(circle at 96% -4%, #0f94be57 0 14%, transparent 14.2%), radial-gradient(circle at -8% 76%, #2dd4bf29 0 17%, transparent 17.2%), linear-gradient(145deg, var(--login-navy-deep), #07264b 62%, #083960);grid-template-rows:auto auto minmax(320px,1fr);align-content:start;min-height:100%;padding:clamp(44px,4vw,64px) clamp(48px,4.6vw,72px) 30px;display:grid;position:relative;overflow:hidden}.login-brand:before,.login-brand:after{content:"";z-index:-1;pointer-events:none;border-radius:50%;position:absolute}.login-brand:before{background:#11789e2e;border:2px solid #1ba9d761;width:430px;height:430px;top:-255px;right:-260px}.login-brand:after{background:#0f766e3d;width:320px;height:320px;bottom:-150px;left:-215px}.nexona-brand-lockup{z-index:2;align-items:center;gap:18px;width:max-content;margin-bottom:clamp(30px,3.8vh,44px);display:flex;position:relative}.nexona-source-mark{flex:0 0 68px;width:68px;height:68px;position:relative;overflow:hidden}.nexona-source-mark img{width:296%;max-width:none;height:auto;position:absolute;top:-35%;left:-98%}.nexona-brand-words{gap:3px;display:grid}.nexona-brand-words strong{color:#fff;letter-spacing:.035em;font-family:Inter,Manrope,sans-serif;font-size:2rem;font-weight:800;line-height:1}.nexona-brand-words small{color:#c6d4e5;font-size:.83rem;font-weight:450}.login-brand-copy{z-index:2;max-width:610px;position:relative}.login-brand .login-brand-copy .eyebrow{color:#48e2ce;letter-spacing:.28em;margin-bottom:14px;font-size:.78rem}.login-brand .login-brand-copy h1{color:#fff;letter-spacing:-.045em;margin:0 0 18px;font-family:Inter,Manrope,sans-serif;font-size:clamp(2.8rem,3.35vw,3.75rem);font-weight:740;line-height:1.08}.login-brand .login-brand-copy p:not(.eyebrow){color:#c7d5e6;max-width:540px;margin:0;font-size:clamp(.98rem,1.1vw,1.12rem);line-height:1.52}.nexona-team-illustration{z-index:1;object-fit:contain;object-position:center;filter:drop-shadow(0 20px 34px #010b1b33);place-self:center;width:min(108%,820px);height:min(46vh,450px);min-height:330px;margin:2px -4% -4px;position:relative}.login-panel{background:#fffffffa;place-items:center;min-width:0;padding:clamp(48px,5vw,78px);display:grid}.login-form{width:min(460px,100%)}.nexona-mobile-logo{width:265px;height:auto;margin-bottom:40px;display:none}.login-form>.eyebrow{color:#0fae94;letter-spacing:.28em;margin-bottom:16px;font-size:.78rem}.login-form h2{color:var(--login-navy-deep);letter-spacing:-.055em;margin:0;font-family:Inter,Manrope,sans-serif;font-size:clamp(2.55rem,3.2vw,3.55rem);font-weight:780;line-height:1.05}.login-form>.muted{color:#64748b;margin:14px 0 38px;font-size:1.08rem}.login-form>label{color:#111b36;gap:10px;margin:0 0 24px;font-size:.92rem;font-weight:750;display:grid}.login-input-wrap{display:block;position:relative}.login-input-icon{z-index:1;color:#55708f;pointer-events:none;width:23px;height:23px;position:absolute;top:50%;left:19px;transform:translateY(-50%)}.login-input-icon svg,.password-field button svg,.nexona-login-submit svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.login-form .login-input-wrap input{color:#15213b;background:#fff;border:1.5px solid #d7e1eb;border-radius:12px;outline:none;width:100%;min-height:64px;padding:15px 56px;font-size:1rem;transition:border-color .18s,box-shadow .18s,background .18s}.login-form .login-input-wrap input::placeholder{color:#8292a8}.login-form .login-input-wrap input:hover{border-color:#b8c8d8}.login-form .login-input-wrap input:focus{border-color:#20bda8;box-shadow:0 0 0 4px #2dd4bf24}.login-form .password-field input{padding-right:58px}.login-form .password-field>button{color:#5b7492;background:0 0;border:0;border-radius:9px;width:38px;height:38px;padding:8px;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.login-form .password-field>button:hover{color:var(--login-navy);background:#eff6f8}.nexona-login-submit.button{color:#fff;background:linear-gradient(110deg, var(--login-navy), #062b50);border-radius:12px;grid-template-columns:1fr auto 1fr;min-height:66px;margin-top:6px;padding:15px 28px;font-size:1rem;display:grid;box-shadow:0 14px 28px #081f472e}.nexona-login-submit.button span{grid-column:2}.nexona-login-submit.button svg{grid-column:3;justify-self:end;width:24px;height:24px}.nexona-login-submit.button:hover:not(:disabled){background:linear-gradient(110deg,#102c62,#074067)}.login-help{color:#64748b;text-align:center;border-top:1px solid #dce4ec;margin:44px 0 0;padding-top:26px;font-size:.88rem}.login-help span{color:#334963}.login-form .alert{margin:-18px 0 24px}@media (width<=1120px){.login-page{grid-template-columns:minmax(410px,51%) minmax(380px,49%);width:min(1080px,100%);height:min(820px,100dvh - 32px);min-height:650px;margin:0}.login-brand{grid-template-rows:auto auto minmax(265px,1fr);padding:38px 40px 22px}.nexona-brand-lockup{margin-bottom:32px}.nexona-source-mark{flex-basis:58px;width:58px;height:58px}.nexona-brand-words strong{font-size:1.75rem}.login-brand .login-brand-copy h1{font-size:clamp(2.5rem,4.2vw,3.3rem)}.login-panel{padding:42px}.nexona-team-illustration{width:114%;height:min(43vh,370px);min-height:280px;margin-top:-4px}}@media (width<=820px){body:has(.login-page){padding:14px;display:block}.login-page{border-radius:20px;grid-template-columns:1fr;width:min(680px,100%);height:auto;min-height:auto;margin:0 auto}.login-brand{grid-template-rows:auto auto minmax(180px,1fr);min-height:500px;padding:32px 38px 20px;display:grid}.nexona-brand-lockup{margin-bottom:26px}.login-brand .login-brand-copy .eyebrow{margin-bottom:12px}.login-brand .login-brand-copy h1{margin-bottom:12px;font-size:clamp(2rem,7vw,3rem)}.login-brand .login-brand-copy p:not(.eyebrow){max-width:560px;font-size:.96rem;line-height:1.5}.nexona-team-illustration{width:min(92%,560px);height:220px;min-height:0;margin:8px auto 0;display:block}.login-panel{padding:48px 38px 44px}.login-form h2{font-size:clamp(2.45rem,8vw,3.3rem)}}@media (width<=520px){body:has(.login-page){background:#fff;padding:0;display:block}.login-page{width:100%;min-height:100dvh;box-shadow:none;border:0;border-radius:0;margin:0}.login-brand{border-radius:0 0 28px 28px;grid-template-rows:auto auto minmax(100px,1fr);min-height:330px;padding:24px 24px 12px}.nexona-brand-lockup{gap:12px;margin-bottom:18px}.nexona-source-mark{flex-basis:44px;width:44px;height:44px}.nexona-brand-words strong{font-size:1.32rem}.nexona-brand-words small{font-size:.61rem}.login-brand .login-brand-copy .eyebrow{display:none}.login-brand .login-brand-copy h1{letter-spacing:-.035em;margin-bottom:8px;font-size:1.85rem}.login-brand .login-brand-copy p:not(.eyebrow){display:none}.nexona-team-illustration{width:min(105%,410px);height:126px;margin:4px -2.5% 0}.login-panel{align-items:start;padding:36px 24px 30px}.login-form>.eyebrow{margin-bottom:11px;font-size:.7rem}.login-form h2{font-size:2.35rem}.login-form>.muted{margin:12px 0 30px;font-size:.96rem}.login-form>label{margin-bottom:19px}.login-form .login-input-wrap input{min-height:56px}.nexona-login-submit.button{min-height:58px}.login-help{margin-top:32px;padding-top:23px;line-height:1.5}}@media (height<=760px) and (width>=821px){body:has(.login-page){align-items:start;padding-block:16px}.login-page{height:680px;min-height:680px}.login-brand{grid-template-rows:auto auto minmax(225px,1fr);padding-top:38px}.nexona-brand-lockup{margin-bottom:24px}.login-brand .login-brand-copy h1{margin-bottom:12px;font-size:2.65rem}.login-brand .login-brand-copy p:not(.eyebrow){font-size:.98rem}.login-panel{padding-top:36px;padding-bottom:36px}.login-form>.muted{margin-bottom:28px}.login-help{margin-top:30px}}@media (prefers-reduced-motion:reduce){.login-page *,.login-page :before,.login-page :after{transition:none!important}}
