:root{color-scheme:dark;--bg:#111713;--panel:#1b231e;--line:#333e35;--muted:#a5b0a7;--ink:#f2f5ee;--accent:#c2f568;--radius:20px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 'Noto Sans TC',sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1px}h2{font-size:21px}h3{font-size:17px}.muted,small{color:var(--muted)}small{font-size:14px}.eyebrow{font-size:13px;letter-spacing:2px;color:var(--accent);font-weight:700}.brand{font-size:21px;font-weight:800;display:flex;align-items:center;gap:10px}.mark{background:var(--accent);color:#111713;padding:0 10px;border-radius:8px;font-weight:900;font-style:italic;font-size:26px}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--line);padding:32px 24px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:40px}.sidebar nav{display:grid;gap:10px}.navlink{padding:13px 16px;border-radius:12px;color:var(--muted);display:flex;gap:12px}.navlink.active{color:var(--accent);background:#293626}.sidefoot{margin-top:auto}.main{max-width:1180px;width:100%;margin:auto;padding:30px 44px 100px;align-self:start}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;font-size:14px}.badge{font-size:12px;border:1px solid #566941;color:var(--accent);border-radius:6px;padding:3px 8px;letter-spacing:1px}.heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px}.heading p{margin-top:6px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:13px 20px;min-height:48px;font-weight:700;background:var(--accent);color:#17200f}.btn.secondary{background:#29322b;color:var(--ink);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--muted)}.row{display:flex;gap:16px;align-items:center}.between{justify-content:space-between}.grid{display:grid;gap:20px}.stats{grid-template-columns:repeat(3,1fr);margin-bottom:28px}.card{border:1px solid var(--line);background:var(--panel);padding:24px;border-radius:var(--radius)}.stat strong{font-size:34px;display:block;line-height:1.5}.stat span{font-size:14px;color:var(--muted)}.stat.accent{background:var(--accent);color:#18210f;border-color:var(--accent)}.stat.accent span{color:#42552b}.two{grid-template-columns:1.6fr 1fr}.section-title{display:flex;justify-content:space-between;align-items:center;margin:8px 0 18px}.section-title a{font-size:14px;color:var(--accent)}.student{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.student:last-child{border-bottom:0}.student .info{flex:1}.student:hover h3{color:var(--accent)}.avatar{height:52px;width:52px;display:grid;place-items:center;border-radius:17px;font-size:22px;background:#344b31;color:#cef2ba;flex-shrink:0}.purple{background:#44394e;color:#d3bee7}.orange{background:#503f2b;color:#efc69a}.time{font-size:15px;min-width:48px}.arrow{color:var(--muted);font-size:24px}.notice{border-left:3px solid #e9b773;background:#342b20;padding:16px 20px;border-radius:0 12px 12px 0;color:#f1cf9c;margin-bottom:22px}.notice p{font-size:14px;margin-top:5px}.progress{height:6px;background:#344039;border-radius:8px;margin:14px 0 6px;overflow:hidden}.progress i{display:block;background:var(--accent);height:100%}.stack{display:grid;gap:16px}.profile{display:flex;align-items:center;gap:20px;margin-bottom:22px}.profile .avatar{height:74px;width:74px;font-size:32px}.metrics{display:flex;gap:30px;flex-wrap:wrap}.metrics strong{font-size:24px}.metrics small{display:block}.muscles{grid-template-columns:repeat(3,1fr)}.muscle{border:1px solid var(--line);border-radius:16px;padding:22px;background:#202b22;text-align:left;color:var(--ink);display:block}.muscle b{font-size:26px;color:var(--accent);display:block;margin-bottom:12px}.muscle:hover{border-color:var(--accent)}.label{display:block;margin:18px 0 8px;font-size:14px;color:#c9d0c8}input,select,textarea{width:100%;background:#111914;color:var(--ink);border:1px solid #475348;border-radius:12px;padding:14px;min-height:50px}textarea{resize:vertical;min-height:90px}.search{margin-bottom:20px}.tabs{display:flex;gap:8px;margin-bottom:22px}.tab{border:1px solid var(--line);color:var(--muted);background:transparent;border-radius:10px;padding:10px 16px;min-height:44px}.tab.active{background:var(--accent);color:#17200f}.body-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.body-diagram{height:390px;width:100%}.body-diagram [data-muscle]{fill:#344737;stroke:#a5d168;stroke-width:1.2;cursor:pointer}.body-diagram [data-muscle]:hover,.body-diagram [data-muscle]:focus{fill:var(--accent);outline:none}.exercise{display:block;margin-bottom:14px}.exercise h3{margin-bottom:8px}.exercise .number{font-size:26px;font-weight:700}.green-text{color:var(--accent)}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.preview{margin:24px 0;background:#283723;padding:18px;border-radius:12px}.actions{display:flex;gap:12px;margin-top:24px}.actions>*{flex:1}.back{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);margin-bottom:16px}.history{display:grid;grid-template-columns:100px 1fr auto;padding:18px 0;border-bottom:1px solid var(--line);gap:12px}.empty{padding:32px 16px;text-align:center;color:var(--muted)}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-art{padding:60px;background:#c2f568;color:#17200f;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-art h1{font-size:clamp(48px,5vw,80px);line-height:1.2;letter-spacing:-3px}.login-art .big{font-size:170px;line-height:1;font-weight:800;opacity:.16;letter-spacing:-15px}.login-form{display:grid;place-items:center;padding:32px}.login-form form{width:100%;max-width:390px}.login-form h1{margin-top:35px}.login-form .btn{width:100%;margin-top:20px}.demo-accounts{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.demo-accounts button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:10px;margin:8px 6px 0 0}.bottomnav{display:none}#toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);background:var(--accent);color:#17200f;padding:12px 22px;border-radius:12px;z-index:20;display:none;max-width:90%;box-shadow:0 8px 40px #0008}dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:28px;width:min(90%,480px)}dialog::backdrop{background:#000b}.error{color:#ffb5a1;font-size:14px;margin-top:12px}.mobile-brand{display:none}@media(max-width:1000px){.shell{grid-template-columns:190px 1fr}.sidebar{padding:25px 16px}.main{padding:24px}.two{grid-template-columns:1fr}.login-art{padding:36px}.login-art .big{font-size:110px}}@media(max-width:650px){.shell{display:block}.sidebar{display:none}.main{padding:20px 18px 110px}.topbar{margin-bottom:24px}.mobile-brand{display:flex}.topbar>.muted{display:none}h1{font-size:27px}.heading{align-items:flex-start}.heading .btn{padding:12px;font-size:14px}.stats{gap:9px;margin-bottom:22px}.stat.card{padding:14px}.stat strong{font-size:29px}.stat span{font-size:12px}.card{padding:20px}.two{gap:22px}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#172019f5;border-top:1px solid var(--line);justify-content:space-around;padding:10px 8px max(10px,env(safe-area-inset-bottom));z-index:10}.bottomnav a{display:grid;text-align:center;color:var(--muted);font-size:12px;gap:2px;min-width:66px;padding:5px}.bottomnav a.active{color:var(--accent)}.bottomnav b{font-size:21px}.muscles{gap:10px}.muscle{padding:16px}.muscle b{font-size:23px;margin-bottom:8px}.muscle small{font-size:12px}.body-layout{grid-template-columns:1fr}.body-diagram{height:320px}.body-layout .muscles{grid-template-columns:repeat(3,1fr)}.metrics{gap:24px}.login{display:block}.login-art{display:none}.login-form{min-height:100vh;padding:26px}.formgrid{gap:0 12px}.history{grid-template-columns:75px 1fr auto;font-size:14px}.profile{gap:14px}.profile .avatar{height:62px;width:62px}.row{gap:12px}}

.wrap{flex-wrap:wrap}.quick-links{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.quick-links a:hover{border-color:var(--accent)}.quick-links h3{margin-bottom:6px}.auth-page{max-width:720px;margin:0 auto;padding:40px 24px 80px}.auth-page>.brand{margin-bottom:32px}.auth-links{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:20px;font-size:14px;color:var(--accent)}.text-button{background:none;color:var(--muted);padding:8px 0;font-size:14px;min-height:44px}.workout-item{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:16px;min-width:0}.workout-item legend{color:var(--accent);padding:0 8px}.source-tag{display:inline-block;margin:10px 8px 8px 0;border-radius:6px;padding:3px 8px;background:#334330;color:#d3edb4;font-size:13px}.source-tag.self{background:#303c54;color:#c2d9fc}.meta{margin-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);padding-top:12px;overflow-wrap:anywhere}.meta summary{cursor:pointer;min-height:32px}.permission-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:14px 0}.permission-row input[type=checkbox]{width:24px;height:24px;min-height:24px;accent-color:var(--accent);flex-shrink:0}.permission-row:has(input:disabled){color:var(--muted)}.upload-box{display:grid;gap:15px;padding:30px 20px;border:1px dashed #687c58;border-radius:16px;text-align:center}.upload-box input{max-width:100%}button:disabled{opacity:.45;cursor:not-allowed}.report-preview{display:block;max-width:100%;max-height:320px;margin:20px auto;object-fit:contain}.trend-chart{width:100%;height:auto;display:block}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.photo-grid img,.compare-grid img{width:100%;height:280px;object-fit:contain;background:#111713;border-radius:12px}.photo-grid input{padding:8px;font-size:14px}.photo-grid figure,.compare-grid figure{margin:0}.photo-grid figcaption{text-align:center;margin-top:8px;color:var(--muted)}.mock-photo{height:280px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:repeating-linear-gradient(135deg,#1a261d,#1a261d 14px,#202e2314 14px,#202e2314 28px);border:1px dashed #45573c;border-radius:12px;color:var(--muted);text-align:center}.mock-photo b{font-size:26px;color:var(--ink)}.mock-photo span{font-size:13px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.compare-grid h2{margin-bottom:20px}.main{min-width:0}.card,.info,.heading>div{min-width:0;overflow-wrap:anywhere}.heading>.btn{flex-shrink:0}.actions.wrap>*{flex:1 1 150px}dialog{max-height:90vh;overflow-y:auto}.actions .btn{text-align:center}input[type=file]{max-width:100%}@media(max-width:650px){.heading{flex-wrap:wrap}.heading>.btn{width:100%}.quick-links{gap:12px}.quick-links .card{padding:16px}.quick-links h3{font-size:16px}.quick-links small{font-size:13px}.photo-grid{grid-template-columns:1fr}.photo-grid img,.photo-grid .mock-photo{height:240px}.compare-grid{gap:10px}.compare-grid .card{padding:12px}.compare-grid h2{font-size:16px}.compare-grid img,.compare-grid .mock-photo{height:240px}.compare-grid .mock-photo span{font-size:12px}.bottomnav a{min-width:54px}.formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.workout-item{padding:14px}.stat strong{overflow-wrap:normal}.stat small{font-size:12px}.auth-page{padding:26px 18px 80px}}@media(max-width:360px){.stats{grid-template-columns:1fr}.compare-grid{grid-template-columns:1fr}.quick-links{grid-template-columns:1fr}}

.measurement-actions{margin:0 0 24px;flex-wrap:wrap}.measurement-actions .btn{flex:1 1 220px}

.company-logo{width:145px;height:90px;object-fit:contain;background:white;border-radius:8px}.company-logo.hero-logo{width:220px;height:137px}.mobile-brand .company-logo{width:92px;height:57px}.danger{color:#ffc1b2!important}.exercise-match{font-size:14px;margin-top:10px}.trend-toggle{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:10px 14px;border-radius:12px}.trend-toggle input{width:20px;min-height:20px;accent-color:var(--series-color)}.series-dot{width:12px;height:12px;display:inline-block;border-radius:50%;background:var(--series-color)}.trend-chart{min-width:500px}.chart-scroll{overflow-x:auto}

.series-summary{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:20px 0}.series-summary h3{margin-bottom:12px}.series-summary .metrics{gap:20px}.series-summary strong{font-size:24px}

.ocr-text{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.7 monospace}.report-preview{max-height:480px}

/* Keep native hidden controls hidden even when a component sets display. */
[hidden]{display:none!important}

@media(max-width:650px){.bottomnav .overview-nav-group{min-width:58px;flex-shrink:0}.bottomnav .overview-nav-group>summary{display:grid;justify-items:center;text-align:center;gap:2px;color:var(--muted);font-size:12px;cursor:pointer;padding:5px;min-height:44px;list-style:none}.bottomnav .overview-nav-group>summary::-webkit-details-marker{display:none}.bottomnav .overview-nav-arrow{display:none}.bottomnav .overview-nav-group[open]>summary,.bottomnav .overview-nav-group>summary.active{color:var(--accent)}.bottomnav .overview-nav-children{position:fixed;bottom:85px;left:50%;transform:translateX(-50%);width:min(90vw,360px);background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:0 8px 30px #0008;z-index:15}.bottomnav .overview-nav-children .navlink{display:flex;align-items:center;justify-content:flex-start;gap:10px;font-size:15px;padding:12px;min-height:44px}}

.forms-sort-card{position:relative}.forms-sort-card>.card{height:100%}.forms-sort-card h2{padding-right:42px}.form-drag-handle{position:absolute;z-index:2;right:12px;top:12px;width:40px;height:40px;touch-action:none;cursor:grab;border:1px solid #435039;border-radius:9px;color:#b7ee56;background:#20291f;font-size:27px;line-height:1}.form-drag-handle:active{cursor:grabbing}.forms-sort-active>.card{outline:2px solid #c5ed64}.form-drag-handle:focus-visible{outline:2px solid #c5ed64}

#forms-sort-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.sale-course-gifts{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}

.student-register-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.student-register-toolbar>div{flex:1;min-width:150px}.student-register-toolbar>a{white-space:nowrap;min-height:46px;display:flex;align-items:center;justify-content:center}

.task-cleanup-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.task-delete{color:#ffadad;border:1px solid #a34b4b;background:rgba(163,75,75,.12)}

/* ALIVE brand: supplied logo, electric lime, charcoal and restrained gold. */
:root{--bg:#0b1114;--panel:#131c21;--line:#2b363c;--muted:#b0bac4;--ink:#f7f8fa;--accent:#c5f64a;--radius:18px;--gold:#e8d58c}
body{background:radial-gradient(ellipse at 90% 0,#26342755,transparent 45%),#0b1114;font-family:'Noto Sans TC','Microsoft JhengHei',sans-serif}
.brand-filters{position:absolute;pointer-events:none}.icon{width:24px;height:24px;flex-shrink:0;vertical-align:middle}.company-logo{filter:url(#logo-white-key);background:transparent;border-radius:0;object-fit:contain;width:160px;height:auto}.brand{gap:22px}.badge{border-color:#90af43;color:#d0ef68;padding:6px 12px;border-radius:9px;font-weight:600;white-space:nowrap}.btn{border-radius:11px;transition:background .15s,box-shadow .15s,transform .15s}.btn:not(.secondary):not(.ghost){background:linear-gradient(110deg,#d7ff62,#a9e42f);box-shadow:0 4px 22px #a5e62d15;color:#111800}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.secondary{background:#20292f;border-color:#37434a}.btn.ghost{color:#e2e7ec}.btn.danger{background:#302322}.card{background:linear-gradient(125deg,#172127,#10181d);border-color:#303b41;box-shadow:0 10px 30px #00000012}.stat{position:relative;overflow:hidden;min-height:140px}.stat strong{font-size:40px;line-height:1.25;margin-top:14px;font-weight:800}.stat span{font-size:16px;color:#edf1f3}.stat.accent{background:linear-gradient(120deg,#d8ff69,#a8e43b);border-color:#b6e965;box-shadow:0 8px 34px #a3ed3212;color:#121d08}.stat.accent span{color:#162007}.avatar{border-radius:50%;background:linear-gradient(140deg,#486634,#314b2d);color:#f0f5e9;box-shadow:inset 0 0 18px #c6fb4910}.avatar.purple{background:linear-gradient(135deg,#713da4,#523577);color:#fff}.avatar.orange{background:linear-gradient(135deg,#916454,#604334);color:#fff}.label{font-size:15px;color:#e2e5e8}input,select,textarea{background:linear-gradient(130deg,#20262c,#171e24);border-color:#475159;border-radius:11px}input::placeholder,textarea::placeholder{color:#8b969e}.tab.active{background:#c5f64a}.source-tag{background:#2c3b2a}.notice{background:#2d281ee8}.muscle{background:linear-gradient(130deg,#202c29,#172124)}.topbar{padding-bottom:20px;border-bottom:1px solid #ffffff12}.topbar .muted{color:#b6c1cc;letter-spacing:.5px}
/* Entry page */
.login{grid-template-columns:1fr 1fr;min-height:100svh}.login-art{position:relative;isolation:isolate;gap:24px;padding:clamp(32px,4vw,64px);background:linear-gradient(125deg,#d9ff6c 0%,#b9f141 48%,#9dda29 100%);color:#101805;justify-content:flex-start}.login-art:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(131deg,transparent 27%,#2b460726 27.2%,transparent 43%),linear-gradient(132deg,transparent 68%,#28430935 68.15%,transparent 79%);pointer-events:none}.login-art:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(132deg,transparent 35%,#efffb6b0 35.1%,transparent 35.4%,transparent 82%,#eeffabc9 82.15%,transparent 82.4%);pointer-events:none}.studio-title{font-size:19px;font-weight:800;line-height:1.4;border-left:2px solid #233809;padding-left:16px;letter-spacing:.3px}.brand-stage{display:grid;place-items:center;min-height:190px;flex:1;position:relative;margin:0 -15px;background:radial-gradient(ellipse at center,#314817dd 0%,#47641c88 30%,transparent 67%)}.company-logo.hero-logo{width:min(100%,460px);height:auto;filter:url(#logo-white-key) drop-shadow(0 12px 14px #17280044)}.brand-kicker{letter-spacing:3px;font-size:13px;font-weight:600;margin-bottom:20px}.login-art h1{font-size:clamp(38px,4.25vw,72px);line-height:1.35;letter-spacing:-2px;font-weight:900}.brand-manifesto{font-size:12px;letter-spacing:4px;line-height:1.9;margin-top:28px}.brand-manifesto:before{content:"";display:block;width:28px;height:2px;background:#34450e;margin-bottom:20px}.login-art .big{font-size:clamp(90px,11vw,184px);letter-spacing:-8px;line-height:.9;opacity:.2;margin-top:10px;white-space:nowrap}.brand-footer{font-size:13px;font-weight:700;letter-spacing:1px;margin-top:10px}.login-form{position:relative;isolation:isolate;padding:44px clamp(26px,4.5vw,76px);background:radial-gradient(ellipse at 100% 85%,#1d282a70,transparent 60%),linear-gradient(135deg,#15191c,#0a0d10 70%)}.login-form:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(133deg,transparent 12%,#ffffff03 12.2%,transparent 29%),linear-gradient(131deg,transparent 70%,#b8f13b28 70.07%,transparent 70.2%)}.login-form form{max-width:460px}.login-brand{justify-content:space-between;align-items:center;margin-bottom:36px}.login-brand .company-logo{width:210px;max-width:58%}.login-form h1{font-size:clamp(36px,3.4vw,54px);font-weight:800;letter-spacing:-1px;margin:0}.title-stroke{display:block;width:34px;height:4px;background:var(--accent);margin:16px 0}.login-intro{color:#e4e7e9;font-size:18px;margin-bottom:30px}.login-form .label{margin-top:22px}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon>.icon{position:absolute;left:16px;color:#b1b6b9;pointer-events:none}.input-with-icon input{padding:16px 52px;min-height:60px;font-size:17px}.input-with-icon button{position:absolute;right:8px;background:transparent;color:#bdc3c9;border-radius:8px;width:44px;height:44px;display:grid;place-items:center}.login-form .login-submit{min-height:62px;font-size:20px;margin-top:22px;box-shadow:0 0 28px #aeed321a}.auth-links{justify-content:space-between;gap:10px;margin:24px 0 30px;font-size:15px}.auth-links a{font-weight:600;min-height:44px;display:flex;align-items:center}.auth-links .text-button{color:#e2e5e8;font-size:15px}.demo-accounts{border-top:1px solid #ffffff20;padding-top:24px;margin-top:0}.demo-accounts>p{color:#edf0f2;font-size:15px}.demo-accounts small{color:#b3bec7;display:block;margin-top:4px}.demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.demo-accounts .demo-grid button{margin:0;padding:12px 7px;min-height:50px;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#1e2428,#151b20);font-size:13px;border-color:#343d44;white-space:nowrap}.demo-grid .icon{color:var(--accent);width:20px;height:20px}.demo-grid button:hover{border-color:#a0c74d;background:#243024}.prototype-note{font-size:12px;line-height:1.8;color:#9da7af;border-top:1px solid #ffffff20;padding-top:22px;margin-top:24px}
/* Authenticated layout */
.shell{grid-template-columns:252px minmax(0,1fr);gap:0}.sidebar{margin:18px 0 18px 18px;padding:20px 12px 14px;border:1px solid #354148;border-radius:24px;height:calc(100svh - 36px);top:18px;background:linear-gradient(145deg,#10181ded,#091114);gap:22px;overflow:hidden;isolation:isolate}.sidebar:before{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(131deg,transparent 38%,#b6e44115 38.2%,transparent 38.6%,transparent 41%,#ffffff05 41.1%,transparent 68%);z-index:-1;pointer-events:none}.sidebar>.brand{justify-content:center;min-height:126px}.sidebar .company-logo{width:194px;max-width:100%}.navlink{align-items:center;gap:14px;min-height:60px;font-size:16px;font-weight:600;padding:15px;border:1px solid transparent;color:#d7dee4}.navlink.active{background:linear-gradient(120deg,#47611e75,#25382470);border-color:#96bd40;box-shadow:inset 0 0 18px #adf23713;color:#d4fa6f}.navlink:hover:not(.active){background:#202a30}.navlink .icon{width:23px}.sidefoot{border:1px solid #ffffff0c;border-radius:16px;padding:16px 12px;background:#0c1419ba}.sidefoot .badge{font-size:10px;padding:5px 8px}.sidefoot p{font-size:14px;font-weight:600}.sidefoot small{font-size:12px}.sidefoot .btn{padding:14px 0 0;font-size:13px;justify-content:flex-start;border-top:1px solid #ffffff15;border-radius:0;margin-top:15px;width:100%}.sidefoot .icon{width:18px}.main{max-width:1480px;padding:28px 34px 72px;margin:0 auto;position:relative;isolation:isolate}.main:before{content:"";position:absolute;inset:0 0 auto 0;height:360px;z-index:-1;pointer-events:none;background:linear-gradient(130deg,transparent 69%,#b2e43c12 69.15%,transparent 69.45%),radial-gradient(ellipse at 90% 8%,#56703222,transparent 44%)}.heading h1{font-size:clamp(28px,2.5vw,40px);font-weight:800;letter-spacing:-.7px}.heading p{font-size:16px}.heading{margin-bottom:26px}.topbar{margin-bottom:32px}.stat-heading{display:flex;align-items:center;gap:12px;font-weight:600}.stat-heading .icon{width:25px}.stat-watermark{position:absolute;right:18px;bottom:18px;width:60px;height:60px;opacity:.1;pointer-events:none}.stat strong{padding-left:37px}.coach-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px}.student-panel{padding:23px}.student-panel .section-title{margin:0 0 24px}.section-title h2,.dashboard-side h2{font-size:23px;font-weight:800}.student-panel .student{border:1px solid #2b373f;border-radius:16px;background:linear-gradient(125deg,#19242b,#151e24);padding:22px 18px;margin-top:10px;min-height:112px}.student-panel .student h3{font-size:21px}.student-panel .student small{font-size:15px}.student-panel .avatar{width:60px;height:60px;font-size:28px}.student-panel .arrow{margin-left:auto}.dashboard-side .card{padding:22px 18px}.panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.panel-heading>.icon{color:var(--accent);width:26px;height:26px}.plan-row{border:1px solid #ffffff07!important;background:#202b31a6;border-radius:13px;padding:15px 12px;margin-top:10px;gap:12px}.plan-row .info{flex:1}.plan-row h3{font-size:15px;margin-bottom:4px}.plan-row small{font-size:12px}.plan-symbol{display:grid;place-items:center;flex-shrink:0;width:43px;height:48px;border-radius:12px;background:#3d572d99;color:#d6fa8b}.incomplete-list .student{padding:14px 0;gap:12px}.incomplete-list .avatar{width:44px;height:44px;font-size:20px}.incomplete-list h3{font-size:17px}.incomplete-list small{font-size:12px}.dashboard-side .stack{align-content:start}.quick-links .card:hover,.student-panel .student:hover{border-color:#8cb743;box-shadow:0 0 20px #afe03608}.bottomnav{background:#0c151cf5;backdrop-filter:blur(12px)}.bottomnav .icon{width:22px;height:22px;margin:0 auto}.bottomnav a{gap:6px}.series-summary .stat strong{padding-left:0}
@media(min-width:1600px){.login-art{padding:60px 90px}.login-form{padding:60px}.brand-stage{min-height:260px}}
@media(max-width:1150px){.shell{grid-template-columns:215px minmax(0,1fr)}.sidebar{margin-left:12px;padding:16px 10px}.sidebar .company-logo{width:165px}.main{padding:26px 24px 70px}.coach-layout{grid-template-columns:1fr}.student-panel .student{min-height:94px}.dashboard-side{grid-template-columns:1fr 1fr;align-items:start}.stat strong{font-size:34px}.stat-heading{gap:8px}.stat span{font-size:14px}.stat strong{padding-left:0}.login-art{padding:35px}.login-form{padding:35px 28px}.demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-brand .company-logo{width:170px}.brand-kicker{letter-spacing:2px;font-size:12px}.login-art h1{font-size:45px}}
@media(max-width:760px){.login{grid-template-columns:1fr}.login-art{display:none}.login-form{min-height:100svh;padding:32px 24px}.login-form form{max-width:480px}.login-brand{margin-bottom:28px}.login-brand .company-logo{width:180px}.login-form h1{font-size:40px}.login-intro{font-size:17px}.demo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.demo-accounts .demo-grid button{font-size:12px;gap:5px}.demo-grid .icon{width:18px}.brand{gap:12px}}
@media(max-width:650px){.shell{display:block}.sidebar{display:none}.main{padding:16px 18px 110px}.main:before{height:220px}.topbar{padding-bottom:13px;margin-bottom:24px;gap:12px}.mobile-brand .company-logo{width:104px;height:65px}.topbar .badge{font-size:10px;padding:5px 8px}.topbar .row{gap:6px}.topbar .btn{padding:10px;min-height:44px;font-size:13px}.heading h1{font-size:27px}.heading p{font-size:14px}.card{border-radius:16px}.stats{gap:10px}.stat{min-height:116px}.stat.card{padding:14px 10px}.stat-heading{display:block}.stat-heading .icon{display:none}.stat span{font-size:12px}.stat strong{font-size:29px;margin-top:13px;padding-left:0}.stat-watermark{width:36px;height:36px;right:7px;bottom:10px;opacity:.06}.student-panel{padding:18px 14px}.section-title h2,.dashboard-side h2{font-size:21px}.student-panel .section-title{margin-bottom:18px}.student-panel .student{padding:17px 12px;gap:13px;min-height:94px}.student-panel .student h3{font-size:19px}.student-panel .student small{font-size:13px}.student-panel .avatar{width:50px;height:50px;font-size:24px}.dashboard-side{grid-template-columns:1fr}.dashboard-side .card{padding:20px 16px}.coach-layout{gap:16px}.series-summary .metrics{gap:16px}.auth-page{padding-top:25px}.auth-page .company-logo{width:150px}.bottomnav a{min-width:0;flex:1}}
@media(max-width:380px){.login-form{padding:26px 20px}.demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-links{gap:7px;font-size:13px}.auth-links .text-button{font-size:13px}.login-brand .badge{font-size:10px;padding:5px 7px}.login-brand .company-logo{width:150px}.stats{grid-template-columns:1fr}.stat-heading{display:flex}.stat-heading .icon{display:block}.stat.card{padding:18px}.stat strong{font-size:34px}.stat{min-height:110px}}
.sidebar{overflow-x:hidden;overflow-y:auto}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}

.sidebar .sidebar-watermark{position:absolute;top:42%;left:0;width:100%;opacity:.075;pointer-events:none;z-index:-1;transform:rotate(-6deg)}.dashboard-brand{position:absolute;right:35px;top:105px;z-index:-1;opacity:.09;pointer-events:none}.dashboard-brand img{width:210px}@media(max-width:650px){.dashboard-brand{top:105px;right:15px;opacity:.04}.dashboard-brand img{width:140px}}

/* Real alpha logo: no browser white-key filter or halo on gray/gold edges. */
.company-logo,.company-logo.hero-logo{filter:none}
.anatomy-heading{align-items:flex-end}.anatomy-heading .eyebrow{font-size:11px;letter-spacing:3px;display:block;margin-bottom:10px;color:#94a29e}.anatomy-heading h1{font-size:clamp(29px,3vw,45px);line-height:1.3;letter-spacing:-1px}.anatomy-heading h1>span{color:var(--accent)}.anatomy-heading p{margin-top:12px}.anatomy-step{font-size:35px;font-weight:700;color:var(--accent);white-space:nowrap;letter-spacing:1px}.anatomy-step small{font-size:12px;letter-spacing:1px;font-weight:400}
.anatomy-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:26px;padding:26px;background:radial-gradient(ellipse at 10% 70%,#a7df2e08,transparent 50%),linear-gradient(120deg,#0b1215,#121c20);border-color:#384345;overflow:hidden}.anatomy-visual{min-width:0}.anatomy-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.anatomy-switch{display:inline-flex;padding:4px;border:1px solid #34413e;border-radius:14px;background:#0b1215;gap:4px}.anatomy-switch button{min-height:46px;min-width:76px;padding:9px 20px;border-radius:10px;color:#c0c8cd;font-weight:700;background:transparent}.anatomy-switch button.active{background:linear-gradient(120deg,#d6ff66,#b6ef38);color:#18210b;box-shadow:0 0 20px #baf04813}.anatomy-hint{font-size:11px;color:#8f9b9e}.anatomy-stage{position:relative;display:grid;grid-template-columns:74px minmax(0,1fr);gap:6px;min-height:435px}.anatomy-callouts{display:flex;flex-direction:column;justify-content:space-around;padding:60px 0 85px;position:relative;z-index:2}.anatomy-callout{position:relative;display:grid;place-items:center;text-align:center;padding:9px 4px;min-height:55px;border:1px solid #354239;border-radius:10px;background:linear-gradient(130deg,#182220,#0d1516);transition:border-color .15s,background .15s}.anatomy-callout strong{font-size:16px;color:#edf2ec}.anatomy-callout small{font-size:8px;letter-spacing:.6px;color:#99a9a7}.anatomy-callout i{position:absolute;right:-4px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #c5f64a80}.anatomy-callout:hover,.anatomy-callout:focus-visible{border-color:var(--accent);background:#263423}.anatomy-figures{display:grid;grid-template-columns:1fr 1fr;gap:2px;align-items:end}.anatomy-person{min-width:0;text-align:center;opacity:.82;transition:opacity .2s}.anatomy-person.is-facing{opacity:1}.anatomy-image{position:relative;aspect-ratio:1/2;width:100%;min-width:0}.anatomy-image>img{width:100%;height:100%;object-fit:contain;display:block}.anatomy-caption{border:1px solid #34413d;color:#a8b3b7;min-height:38px;background:#10181b;border-radius:20px;padding:5px 12px;font-size:10px;letter-spacing:.5px;white-space:nowrap;margin-top:10px}.is-facing .anatomy-caption{color:var(--accent);border-color:#779743}.anatomy-hotspot{position:absolute;transform:translate(-50%,-50%);border:1px solid transparent;border-radius:40%;min-width:28px;min-height:28px;z-index:1}.anatomy-hotspot:hover,.anatomy-hotspot:focus-visible{background:#c5f64a24;border-color:#d0fb78;box-shadow:0 0 18px #c5f64a35;outline-offset:3px}.anatomy-hotspot span{position:absolute;left:50%;top:-28px;transform:translateX(-50%);background:#c5f64a;color:#172009;border-radius:6px;padding:3px 10px;font-size:13px;white-space:nowrap;opacity:0;pointer-events:none}.anatomy-hotspot:hover span,.anatomy-hotspot:focus-visible span{opacity:1}.anatomy-footnote{display:flex;justify-content:center;align-items:center;gap:8px;font-size:10px;color:#93a29d;margin-top:16px;line-height:1.8}.anatomy-footnote .icon{width:16px;height:16px;color:var(--accent)}
.muscle-picker{min-width:0}.muscle-picker-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px;padding-top:4px}.muscle-picker-title h2{font-size:27px;margin-top:3px}.muscle-picker-title h2:after{content:"";display:block;width:30px;height:3px;background:var(--accent);margin-top:10px}.muscle-picker-title .eyebrow{font-size:9px;letter-spacing:2px;color:#8e9d9e}.muscle-picker-title small{font-size:10px;color:#8e9d9e;margin-bottom:10px}.muscle-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.muscle-card{position:relative;isolation:isolate;overflow:hidden;min-height:158px;padding:20px 17px;border:1px solid #3c4a3c;border-radius:16px;background:linear-gradient(120deg,#111a1b,#172220);transition:border-color .18s,transform .18s,box-shadow .18s}.muscle-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10191c 7%,#10191cbb 48%,transparent)}.muscle-card-art{position:absolute;right:0;top:0;height:100%;width:66%;object-fit:cover;object-position:center;opacity:.7;z-index:-2;filter:contrast(1.1)}.muscle-card-index{font-size:9px;letter-spacing:1.2px;color:#94a99b}.muscle-card h3{font-size:30px;line-height:1.2;color:var(--accent);margin:14px 0 7px;letter-spacing:1px}.muscle-card p{font-size:10px;color:#a5b4b3;white-space:nowrap}.muscle-card-action{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:12px;font-weight:600}.muscle-card-action .icon{width:24px;height:24px;border:1px solid #58694e;border-radius:50%;padding:4px;color:#cfdfc9}.muscle-card:hover,.muscle-card:focus-visible{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 22px #8ed12b12}.muscle-card:hover .muscle-card-art{opacity:1}
@media(min-width:1450px){.anatomy-stage{min-height:520px}.anatomy-layout{padding:30px}.muscle-card{min-height:183px}.anatomy-callout{min-height:63px}.anatomy-callouts{padding-top:70px;padding-bottom:100px}}
@media(max-width:1100px){.anatomy-layout{grid-template-columns:1fr;padding:22px;gap:30px}.anatomy-stage{max-width:600px;margin:auto;min-height:0;grid-template-columns:90px minmax(0,1fr)}.anatomy-callouts{padding:55px 0 85px}.muscle-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.muscle-card{padding:18px 14px;min-height:170px}.anatomy-step{display:none}}
@media(max-width:650px){.anatomy-heading h1{font-size:29px;line-height:1.4}.anatomy-heading h1>span{display:block}.anatomy-heading p{font-size:14px}.anatomy-heading .eyebrow{font-size:10px}.anatomy-layout{padding:18px 14px;gap:25px}.anatomy-toolbar{gap:8px;align-items:center}.anatomy-switch button{min-width:64px;min-height:44px;padding:8px 16px}.anatomy-hint{font-size:10px;max-width:85px;line-height:1.8}.anatomy-stage{grid-template-columns:75px minmax(0,1fr);gap:3px;max-width:350px}.anatomy-person{display:none}.anatomy-person.is-facing{display:block}.anatomy-figures{display:block}.anatomy-callouts{padding:42px 0 60px}.anatomy-callout{min-height:52px}.anatomy-callout strong{font-size:17px}.anatomy-callout small{font-size:8px}.anatomy-caption{font-size:11px;min-height:38px;margin-top:8px}.anatomy-footnote{font-size:9px;justify-content:flex-start;margin-top:15px}.muscle-picker-title h2{font-size:23px}.muscle-picker-title small{font-size:10px}.muscle-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.muscle-card{padding:17px 12px;min-height:160px;border-radius:13px}.muscle-card h3{font-size:29px;margin-top:13px}.muscle-card-index{font-size:8px;letter-spacing:.6px}.muscle-card p{font-size:9px;white-space:normal}.muscle-card-action{font-size:11px;gap:8px;margin-top:13px}.muscle-card-action .icon{width:22px;height:22px}.muscle-card-art{width:80%}.anatomy-hotspot{min-width:32px;min-height:32px}}
@media(prefers-reduced-motion:reduce){.muscle-card,.anatomy-person,.anatomy-callout{transition:none}}

.anatomy-image-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#131e20;border:1px dashed #576b4b;border-radius:16px;text-align:center;padding:12px;z-index:3;font-size:12px}
.anatomy-image-error[hidden]{display:none}.anatomy-image-error button{background:var(--accent);color:#172009;border-radius:8px;padding:10px;min-height:44px;font-size:12px}.image-failed>img,.image-failed>.anatomy-hotspot{visibility:hidden}

#annual-leave table,.attendance-overview table{width:100%;border-collapse:collapse}#annual-leave th,#annual-leave td,.attendance-overview th,.attendance-overview td{padding:10px 12px;text-align:left;border-bottom:1px solid #536169;vertical-align:middle}#annual-leave th,.attendance-overview th{background:#22313a;white-space:nowrap}#annual-leave td:first-child{white-space:nowrap}#annual-leave td:nth-child(5){min-width:160px;white-space:pre-wrap;overflow-wrap:anywhere}.attendance-overview .daily-paper td{height:48px}.attendance-overview td:last-child{min-width:110px}
select,select option,optgroup{background-color:#182229!important;color:#f2f6ed!important;opacity:1!important}select{color-scheme:dark}.opaque-select{display:block;width:100%;min-height:50px;text-align:left;padding:14px 38px 14px 14px;border:1px solid #54616a;border-radius:12px;color:#f2f6ed;background:#182229;position:relative;font:inherit}.opaque-select:after{content:'▾';position:absolute;right:14px}.opaque-options{position:fixed;z-index:10000;background:#182229!important;color:#f2f6ed;opacity:1!important;backdrop-filter:none!important;border:1px solid #9cb35c;box-shadow:0 10px 28px #0009;border-radius:10px;padding:6px;overflow-y:auto;isolation:isolate}.opaque-options button{display:block;width:100%;text-align:left;color:#f2f6ed;background:#182229;padding:12px;border-radius:6px;font:inherit}.opaque-options button:hover,.opaque-options button:focus,.opaque-options button[aria-selected=true]{background:#c7f95b;color:#111a0c;outline:none}.opaque-select[aria-expanded=true]{border-color:#c7f95b}#signature-pad{display:block;width:100%;height:180px;background:#fff;border:2px solid #8692a0;border-radius:10px;touch-action:none;margin-bottom:10px}.written-signature{display:block;width:100%;max-width:160px;height:40px;object-fit:contain}.paper{color:#111;background:white;padding:20px;border-radius:4px;overflow:hidden}.paper h2{text-align:center}.paper>p{color:#333;margin:8px 0;font-size:14px}.paper table{border-collapse:collapse;width:100%;table-layout:fixed}.paper th,.paper td{border:1px solid #888;padding:5px;text-align:center;color:#111;font-size:13px;overflow-wrap:anywhere}.paper small{display:block;color:#111;font-size:11px}.course-paper td{height:48px;padding:2px}.course-paper th:nth-child(odd){width:6%}.course-paper th:nth-child(even){width:14%}.daily-paper td{height:64px}.daily-paper th:nth-child(2){width:16%}.paper .paper-foot{font-size:12px}.table-scroll{overflow-x:auto}.roster-paper table{min-width:1400px}.roster-paper th,.roster-paper td{font-size:11px;padding:5px 2px}.roster-paper th:first-child{width:100px}.roster-paper th:nth-child(2){width:65px}.roster-paper th:nth-child(3){width:55px}.roster-paper th:nth-child(4){width:65px}.roster-paper th:last-child{width:60px}.roster-paper .off-cell{background:#f16a62}.roster-paper .a-cell{background:#c7dff8}.roster-paper .c-cell{background:#f7c4db}.roster-paper .count-row{background:#f9d6a8}.sidebar nav{overflow-y:auto;min-height:100px}.bottomnav{overflow-x:auto;justify-content:flex-start}.bottomnav a{flex:0 0 66px}@media print{html,body{background:#fff!important;color:#111!important;color-scheme:light}#trial-bar,.sidebar,.topbar,.bottomnav,.no-print,.heading,#toast,.error{display:none!important}.shell{display:block!important;min-height:0}.main{padding:0!important;margin:0!important;max-width:none!important}.main:before{display:none}.paper{padding:0!important;overflow:visible;break-after:page;border:0!important}.paper .table-scroll{overflow:visible}.roster-paper table{min-width:0!important}.roster-paper th,.roster-paper td{font-size:8px!important;padding:3px 1px!important}.roster-paper th:first-child{width:65px}.roster-paper th:nth-child(2){width:45px}.roster-paper th:nth-child(3),.roster-paper th:nth-child(4){width:40px}.roster-paper th:last-child{width:40px}table{print-color-adjust:exact;-webkit-print-color-adjust:exact}tr{break-inside:avoid}.paper h2{font-size:21px}.course-paper td{height:8.5mm}.course-paper .written-signature{height:6mm}.course-paper small{font-size:8px}.paper-foot{font-size:10px!important}}

.roster-toolbar{margin-bottom:16px}.roster-topline,.roster-fillline{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.roster-topline>div:first-child{width:170px}.roster-topline .badge{align-self:center}.roster-brushes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:18px 0 12px}.roster-brush{min-width:66px;padding:11px 15px;border:2px solid transparent;border-radius:8px;color:#17202a!important;font:inherit;font-weight:700;cursor:pointer}.roster-brush.selected{border-color:#9bc22f;outline:2px solid #17202a;outline-offset:-5px;box-shadow:0 0 0 2px #c7f95b}.roster-brushes span{font-size:13px;color:#d5ddd9}.roster-fillline>div{min-width:190px}.roster-fillline small{color:#b9c3c2;align-self:center}.roster-defaults{margin-top:16px}.roster-defaults summary,.roster-secondary summary{cursor:pointer;padding:10px 0}.roster-defaults form{padding-top:12px;max-width:620px}.roster-defaults p{font-size:13px}.roster-toolbar>div:has(#roster-adjust-reason){margin-top:12px;max-width:600px}.roster-month-grid{padding:18px 14px}.roster-month-grid .roster-caption{text-align:center}.roster-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0;color:#242424;font-size:12px}.roster-legend span{display:inline-flex;align-items:center;gap:5px}.roster-legend i{width:18px;height:18px;display:inline-block;border:1px solid #999}.roster-month-grid table{min-width:1190px;width:100%;table-layout:fixed}.roster-month-grid th:first-child{width:85px}.roster-month-grid th:nth-child(2){width:58px}.roster-month-grid th:nth-child(3){width:47px}.roster-month-grid th:nth-child(4){width:42px}.roster-month-grid th:nth-last-child(-n+3){width:34px}.roster-month-grid th,.roster-month-grid td{font-size:11px;padding:3px 1px;white-space:normal}.roster-month-grid thead th{height:43px;background:#f0efe1}.roster-month-grid thead th.weekend{background:#f6b2ab}.roster-month-grid td.roster-day{padding:0;position:relative;height:46px}.roster-month-grid .sticky-name{position:sticky;left:0;z-index:2;background:#e5edf0;box-shadow:1px 0 #888}.roster-month-grid thead .sticky-name{z-index:3;background:#f0efe1}.roster-month-grid .chosen-employee>.sticky-name{box-shadow:inset 3px 0 #799d2b,1px 0 #888}.roster-month-grid .day-paint{display:flex;justify-content:center;align-items:center;width:100%;height:46px;margin:0;padding:0;color:#182029;background:transparent;border:0;border-radius:0;box-shadow:none;font-size:14px;font-weight:700;cursor:pointer}.roster-month-grid .day-paint:disabled{opacity:1;cursor:default;color:#182029}.roster-month-grid .day-paint:not(:disabled):hover{outline:2px solid #252c31;outline-offset:-2px}.roster-month-grid .day-paint:focus-visible{outline:3px solid #204bd2;outline-offset:-3px}.roster-month-grid .day-time{position:absolute;bottom:0;right:0;padding:0;width:17px;height:15px;border:0;border-radius:2px;background:#ffffffb8;color:#222;line-height:10px;font-size:13px;cursor:pointer}.roster-month-grid .custom-star{position:absolute;left:2px;top:0;font-size:11px;font-weight:700}.roster-month-grid .unassigned{color:#858d92}.roster-month-grid .b-cell,.roster-brush.b-cell,.roster-legend .b-cell{background:#fff}.roster-month-grid .a-cell,.roster-brush.a-cell,.roster-legend .a-cell{background:#c7dff8}.roster-month-grid .c-cell,.roster-brush.c-cell,.roster-legend .c-cell{background:#f7c4db}.roster-month-grid .off-cell,.roster-brush.off-cell,.roster-legend .off-cell{background:#f16a62}.roster-month-grid .annual-cell,.roster-brush.annual-cell,.roster-legend .annual-cell{background:#8bd49b}.roster-month-grid .blank-cell,.roster-brush.blank-cell{background:#eceff1}.roster-secondary{display:flex;gap:16px;align-items:start;flex-wrap:wrap;padding:16px 0}.roster-secondary>details{flex:1;min-width:230px}.roster-expanded{position:fixed;inset:0;z-index:9000;background:#10181d;padding:18px;overflow:auto}.roster-expanded .roster-toolbar{padding:14px 18px}.roster-expanded .roster-topline{align-items:center}.roster-expanded .roster-brushes{padding-top:12px}.roster-expanded .roster-month-grid h2{margin:4px 0}.roster-expanded .roster-month-grid .day-paint{height:42px}.roster-expanded .roster-month-grid td.roster-day{height:42px}.roster-expanded .roster-month-grid table{min-width:1190px}@media(max-width:760px){.roster-topline{gap:8px}.roster-topline .btn{padding:9px 12px;font-size:13px}.roster-brush{min-width:58px;padding:10px}.roster-fillline>div{flex:1;min-width:160px}.roster-fillline>.btn{font-size:14px}.roster-month-grid table{min-width:1510px}.roster-expanded{padding:10px}.roster-expanded .roster-month-grid table{min-width:1510px}.roster-expanded .roster-month-grid .day-paint{height:46px}}@media print{.roster-expanded{position:static!important;padding:0!important;overflow:visible!important;background:#fff!important}.roster-month-grid table{min-width:0!important}.roster-month-grid .sticky-name{position:static!important;box-shadow:none!important}.roster-month-grid .day-time{display:none!important}.roster-month-grid .day-paint{height:7mm!important;font-size:9px!important;pointer-events:none}.roster-month-grid td.roster-day{height:7mm!important}.roster-month-grid th:nth-last-child(-n+3){width:7mm}.roster-legend{font-size:9px;gap:8px}.roster-legend i{width:10px;height:10px}.roster-month-grid th:first-child{width:17mm}.roster-month-grid th:nth-child(2){width:12mm}.roster-month-grid th:nth-child(3),.roster-month-grid th:nth-child(4){width:10mm}}

.roster-toolbar .label{font-size:12px;margin-bottom:4px}.roster-toolbar input{padding:10px 12px;min-height:40px}.roster-toolbar .opaque-select{padding:10px 30px 10px 12px;min-height:40px}.roster-toolbar .btn{padding:10px 14px}.roster-defaults summary{font-size:13px;padding:5px 0}.roster-toolbar #form-error:empty{display:none}@media(min-width:1100px){.roster-expanded .roster-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;padding:12px 16px}.roster-expanded .roster-topline{grid-column:1/-1}.roster-expanded .roster-brushes{padding:0;align-self:center;gap:6px;min-width:445px}.roster-expanded .roster-brush{min-width:60px;padding:10px 12px}.roster-expanded .roster-brushes span{display:none}.roster-expanded .roster-fillline{align-self:center;max-width:540px;gap:8px}.roster-expanded .roster-fillline small{width:100%;font-size:11px}.roster-expanded .roster-fillline>div{min-width:160px}.roster-expanded .roster-defaults,.roster-expanded .notice,.roster-expanded #form-error,.roster-expanded .roster-toolbar>div:has(#roster-adjust-reason){grid-column:1/-1;margin:0}}
.main:has(.roster-expanded){isolation:auto}

#operations-notice[hidden],#leave-time-fields[hidden]{display:none!important}.operations-notice{display:flex;align-items:center;justify-content:space-between;gap:12px}.leave-queue{margin:22px 0}.leave-request{margin:12px 0}.leave-request small{color:#b7c4bd}.leave-pending{border-color:#f3c658!important;color:#f3d787!important}.leave-marker{position:absolute;right:1px;top:1px;font-size:9px;background:#f6d2bb;border-radius:2px;padding:0 1px}.leave-marker.pending{background:#ffdf85}.attendance-status-panel{margin-top:20px}.duty-status-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #36413d;padding:12px 0}.duty-status-row>div{flex:1}.duty-status-row small{display:block;color:#acb9b2;margin-top:4px}.duty-badge{font-size:13px;color:#d5e4da}.duty-badge.absence{background:#501b24;color:#ffb5b5;border-radius:6px;padding:6px 9px}.attendance-status-panel details{margin-top:18px}.attendance-status-panel summary{cursor:pointer}.attendance-status-panel form{padding-top:12px}.leave-queue h2{font-size:20px}@media(max-width:760px){.duty-status-row{flex-wrap:wrap}.duty-status-row>div{flex-basis:40%}.duty-status-row .btn{font-size:12px;padding:8px}.operations-notice{flex-wrap:wrap}}@media print{.leave-marker{font-size:7px}}

[data-absence-review][hidden]{display:none!important}

.course-sign-cell{position:relative}.course-sign-cell .course-watermark{position:absolute;right:4px;bottom:2px;color:#5c7791;font-size:12px;font-weight:700;line-height:1.3;opacity:.3;pointer-events:none;z-index:0;white-space:nowrap}.course-sign-cell .written-signature,.course-sign-cell small{position:relative;z-index:1}@media print{.course-sign-cell .course-watermark{font-size:9px;opacity:.35;right:2px;bottom:1px}}

.roster-month-grid .roster-day{--leave-band:transparent;--special-band:transparent;box-shadow:inset 0 5px var(--leave-band),inset 0 -5px var(--special-band)}.roster-day.has-pending-leave{--leave-band:#ffd54f}.roster-day.has-partial-leave{--leave-band:#ed901c}.roster-day.has-special-time{--special-band:#9754cd}.roster-legend .partial-legend{background:#ed901c}.roster-legend .pending-legend{background:#ffd54f}.roster-legend .special-legend{background:#9754cd}.roster-month-grid .leave-marker{background:#ffbc66;color:#31200d}.roster-month-grid .leave-marker.pending{background:#ffdf85}.roster-month-grid .custom-star{background:#d6b2f5;color:#42235d;padding:0 2px;border-radius:2px}.roster-month-grid .day-hours{position:absolute;right:0;bottom:0;width:17px;height:15px;padding:0;border:0;border-radius:2px;background:#e7edf2;color:#17354c;font-size:10px;line-height:15px;cursor:pointer}.roster-month-grid .day-time.beside-hours{right:18px}.hours-summary{border:1px solid #4d5b50;border-radius:8px;padding:10px 15px;margin:16px 0}.hours-summary p{display:flex;justify-content:space-between;gap:15px}.hours-leave{padding:9px 12px;border-left:5px solid #ed901c;background:#332716}.hours-leave.pending{border-color:#ffd54f;background:#333017}@media print{.roster-day{print-color-adjust:exact;-webkit-print-color-adjust:exact}.roster-month-grid .day-hours{display:none!important}}

.calendar-toolbar{margin-bottom:20px}.calendar-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lesson-legend{display:flex;flex-wrap:wrap;gap:10px}.lesson-legend>span{padding:6px 10px;border-radius:6px;color:#21312a;font-size:12px}.lesson-day-paper,.lesson-month-paper{margin:22px 0}.lesson-paper-heading{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;margin:0 0 18px}.lesson-paper-heading h2{margin:0}.lesson-day-table{table-layout:fixed;min-width:760px}.lesson-day-table .lesson-time{width:68px;background:#f4f3e6;position:sticky;left:0;z-index:2}.lesson-day-table th:not(.lesson-time){min-width:125px}.lesson-day-table th,.lesson-day-table td{border:1px solid #98a3a0;padding:4px}.lesson-day-table td{vertical-align:top;min-width:125px;height:55px}.lesson-day-table thead th{background:#ebeee8;color:#192b23}.lesson-day-table thead tr:first-child th:not(.lesson-time){font-size:16px}.lesson-slot-card{display:block;width:100%;text-align:left;border:1px solid #c2d1c8;border-radius:5px;padding:5px 7px;margin:2px 0;color:#142a20;cursor:pointer;font:inherit;box-shadow:none}.lesson-slot-card span{display:block;font-size:13px;font-weight:700}.lesson-slot-card small{display:block;font-size:11px;color:#475b52}.lesson-slot-card b{font-size:11px}.lesson-booked{background:#edf3f8;color:#234255}.lesson-signed{background:#d1f0d9;color:#145532}.lesson-pending-sign{background:#ffedb9;color:#5a4210}.lesson-block{background:#eadcf7;color:#50366c}.lesson-slot-card:hover{outline:2px solid #70923d}.lesson-note{font-size:12px;color:#3b4841;word-break:break-word}.lesson-free{position:relative;font-size:11px;color:#929c95;text-align:center!important;vertical-align:middle!important}.lesson-free.available{background:#f1faee;color:#417139}.lesson-free.off{background:#f0f1f0;color:#929792}.lesson-add-slot{position:absolute;right:3px;bottom:3px;padding:1px 6px;border:1px solid #c5d1c1;border-radius:4px;background:#fff;color:#53783b;cursor:pointer}.lesson-month-paper table{table-layout:fixed;min-width:680px}.lesson-month-paper th:first-child{width:90px}.lesson-month-paper td{vertical-align:top;padding:8px}.lesson-open-day{border:0;background:transparent;color:#253e32;font:inherit;font-weight:bold;cursor:pointer;padding:10px}.lesson-empty{font-size:12px;color:#a0a8a2}.calendar-unplaced,.calendar-history{margin-top:20px}.calendar-history summary{cursor:pointer}.calendar-unplaced p .btn{margin-left:12px}@media(max-width:760px){.calendar-controls{grid-template-columns:1fr}.calendar-toolbar .actions .btn{font-size:13px;padding:10px}.lesson-day-paper,.lesson-month-paper{padding:14px}.lesson-paper-heading{gap:8px}.lesson-day-table{min-width:900px}}@media print{.lesson-day-paper{break-before:page}.lesson-day-paper:first-of-type{break-before:auto}.lesson-day-table,.lesson-month-paper table{min-width:0!important}.lesson-day-table .lesson-time{position:static;width:15mm}.lesson-day-table th,.lesson-day-table td{font-size:9px;padding:2px;min-width:0;height:9mm}.lesson-slot-card{padding:1px;border:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}.lesson-slot-card span{font-size:9px}.lesson-slot-card small,.lesson-slot-card b,.lesson-note{font-size:8px}.lesson-month-paper td{padding:3px}.lesson-day-paper h2,.lesson-month-paper h2{font-size:16px}}

/* Supervisor directives and coach completion */
.task-list{display:grid;gap:16px;margin-top:20px}.coach-task{border-left:5px solid #dfbd52}.coach-task.task-done{border-left-color:#88d7a9}.coach-task.task-overdue{border-left-color:#e17e78}.coach-task h2{font-size:19px;margin:0}.coach-task h2 .muted{font-size:14px;font-weight:400}.task-message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:17px;line-height:1.7}.task-meta{display:flex;gap:10px 22px;flex-wrap:wrap;color:#b8c1b3;font-size:13px}.task-status{padding:6px 12px;border-radius:999px;white-space:nowrap;font-size:13px;font-weight:700}.task-status.pending{color:#ffe6a3;background:#473816}.task-status.done{color:#bcebcf;background:#1b4330}.task-status.overdue{color:#ffd4d1;background:#592824}.task-completion{background:#193327;border:1px solid #37674a;border-radius:10px;margin-top:18px;padding:14px 18px}.task-completion strong{color:#bcebcf}.task-completion p{margin:6px 0}.task-actions{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;margin-top:20px}.task-actions details{flex:1;max-width:640px}.task-actions summary{cursor:pointer;color:#c4ccbd}.task-actions textarea{margin-top:4px}.task-counts{display:flex;gap:28px;font-size:15px}.task-counts strong{font-size:24px;margin-left:8px}.task-filters{margin-top:18px}#coach-task-form textarea{margin-bottom:16px;resize:vertical}.task-list .empty{padding:30px}@media(max-width:760px){.task-actions{flex-direction:column}.task-actions details{width:100%}.task-actions .btn{width:100%}.task-meta{flex-direction:column}.coach-task h2{font-size:17px}.task-counts{gap:20px}}

.task-nav-label{display:inline-flex;align-items:center;gap:9px;position:relative}.task-red-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#ff4f57;box-shadow:0 0 0 2px #171e20;flex:0 0 10px}.task-red-dot[hidden]{display:none}.bottomnav .task-nav-label{justify-content:center;gap:5px}.bottomnav .task-red-dot{width:8px;height:8px;flex-basis:8px}

.roster-month-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;grid-column:1/-1}.roster-month-tabs .btn{min-height:44px}.roster-month-tabs .btn[aria-pressed=true]{box-shadow:0 0 0 2px #c7f95b;outline-offset:3px}@media(max-width:760px){.roster-month-tabs{gap:8px}.roster-month-tabs .btn{flex:1;white-space:nowrap;font-size:14px;padding:10px 12px}}

.roster-approval-notes{padding:12px 4px;border-top:1px solid #b6bcb7;margin-top:14px}.roster-approval-notes h3{font-size:15px;margin:0 0 8px;color:#111}.roster-approval-notes p{font-size:12px;margin:6px 0;color:#242424}.leave-review-remark{border-left:3px solid #c7f95b;padding-left:10px}


.member-profile{max-width:680px}.member-profile dl{margin:18px 0 0}.member-profile dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.member-profile dl>div:last-child{border:0}.member-profile dt{color:var(--muted)}.member-profile dd{margin:0;overflow-wrap:anywhere}

.member-notice-nav-label{display:inline-flex;align-items:center;gap:9px}.member-notice-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}.member-notice-list{display:grid;gap:18px}.member-notice h2{font-size:21px}.member-notice-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:18px 0}.member-notice-author{display:block;margin-top:4px}.notice-archived{opacity:.7}.bottomnav[data-customer-role="member"]{justify-content:space-around}.bottomnav[data-customer-role="member"] a{flex:1}.bottomnav[data-customer-role="student"]{justify-content:flex-start}.bottomnav[data-customer-role="student"] a{flex:0 0 78px}.bottomnav .member-notice-nav-label{justify-content:center;gap:6px}.sidebar nav:has([data-member-notice-dot]) .navlink{padding:12px 16px}@media(max-width:650px){.member-notice h2{font-size:19px}.member-notice .actions{flex-wrap:wrap}}

.roster-month-tabs .roster-return{align-self:flex-start}@media(max-width:760px){.roster-month-tabs .roster-return{flex:0 0 100%;justify-content:flex-start}}

.customer-training-links{margin-bottom:22px}.member-profile{margin-bottom:22px}

.daily-paper{min-width:650px}.attendance-cell{display:block;width:100%;min-height:56px;background:#f5f9ee;color:#253814;font:inherit;border:1px dashed #839c58;cursor:pointer}.attendance-cell:hover,.attendance-cell:focus{background:#dcefb4;outline:2px solid #66882b}.daily-paper .attendance-cell{font-size:12px}.daily-paper .written-signature{max-width:150px;height:50px}@media print{.daily-paper{min-width:0}.attendance-cell{background:transparent;border:0;min-height:0}.attendance-cell .no-print{display:none}.daily-paper td{height:15mm}}

/* Personal course calendar */
.personal-toolbar{padding:16px 20px}.personal-toolbar .actions{margin:0;gap:8px}.calendar-counts{font-size:14px;margin-top:12px;color:var(--muted)}.personal-toolbar .btn{font-size:14px;padding:10px 14px}
.personal-calendar{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;margin-bottom:20px;align-items:start;color:#1c2822}.personal-month,.personal-day{background:#fff;border:1px solid #dbe2dc;border-radius:18px;overflow:hidden}.personal-month{padding:18px 16px}.personal-month-heading,.personal-day-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.personal-month-heading p{font-size:12px;color:#6b7770}.personal-month-heading h2{font-size:22px}.personal-month-actions{display:flex;align-items:center;gap:3px;flex-shrink:0}.personal-month-actions button{background:transparent;color:#315724;border-radius:9px;min-height:42px;min-width:32px;font-size:25px;padding:2px 6px}.personal-month-actions #calendar-today{font-size:13px;min-width:42px}.personal-month-actions button:hover{background:#eef6e7}.personal-weekdays,.personal-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.personal-weekdays{margin-top:20px;text-align:center;color:#8a958e;font-size:12px}.personal-date{padding:5px 0 2px;background:transparent;color:#202b24;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:51px;border-radius:9px}.personal-date-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:17px;font-weight:500}.personal-date.selected .personal-date-number{background:#c2f568;color:#19280f;font-weight:800}.personal-date.today:not(.selected) .personal-date-number{box-shadow:inset 0 0 0 1.5px #78a536;color:#315724;font-weight:700}.personal-date:hover{background:#f1f5ec}.personal-date-dots{height:5px;display:flex;gap:3px}.personal-date-dots i,.personal-calendar-legend i{display:block;width:5px;height:5px;border-radius:50%;background:#668aa3}.personal-date-dots .lesson-signed,.personal-calendar-legend .lesson-signed{background:#3a9964}.personal-date-dots .lesson-pending-sign,.personal-calendar-legend .lesson-pending-sign{background:#c99329}.personal-date-dots .lesson-block,.personal-calendar-legend .lesson-block{background:#9964b7}.personal-calendar-hint{font-size:12px;color:#78837c;margin-top:18px}.personal-calendar-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:12px;font-size:11px;color:#6d7970}.personal-calendar-legend span{display:flex;align-items:center;gap:5px}
.personal-day-heading{padding:18px;border-bottom:1px solid #e4e9e5}.personal-day-heading h2{font-size:18px}.personal-day-heading p{font-size:12px;color:#7b867e;margin-top:4px}.personal-timeline-scroll{max-height:580px;overflow-y:auto;overscroll-behavior:contain;padding:16px 12px 16px 6px;scrollbar-gutter:stable}.personal-timeline{height:1032px;position:relative}.personal-time-labels{width:56px;position:absolute;top:0;bottom:0;left:0;font-variant-numeric:tabular-nums}.personal-time-labels span{position:absolute;right:7px;transform:translateY(-50%);font-size:11px;color:#859188;line-height:1.2}.personal-time-track{position:relative;height:1008px;margin-left:56px;border-bottom:1px solid #e7ece7}.personal-hour-line{position:absolute;left:0;right:0;height:1px;background:#e7ece7;pointer-events:none;z-index:1}.personal-empty-slot{position:absolute;left:0;right:0;border:0;border-radius:3px;background:transparent;padding:0;z-index:2}.personal-empty-slot:hover{background:#f1f8e9}.personal-empty-slot:focus-visible{outline:2px solid #7fad3f;outline-offset:-2px}.personal-event{position:absolute;left:4px;right:0;text-align:left;border-radius:7px;border-left:4px solid #638eac;padding:4px 8px;overflow:hidden;z-index:3;min-height:15px;line-height:1.3}.personal-event strong{font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personal-event small{color:inherit;font-size:11px;display:block;margin-top:3px}.personal-event.lesson-signed{border-left-color:#499168}.personal-event.lesson-pending-sign{border-left-color:#c99329}.personal-event.lesson-block{border-left-color:#9868b0}.personal-event:hover{box-shadow:inset 0 0 0 1px #546c48}
@media(max-width:760px){.personal-calendar{grid-template-columns:1fr;gap:12px}.personal-month{padding:16px}.personal-month-heading h2{font-size:24px}.personal-date{min-height:51px}.personal-date-number{width:34px;height:34px}.personal-calendar-hint{margin-top:10px}.personal-weekdays{margin-top:14px}.personal-day-heading{padding:16px}.personal-timeline-scroll{max-height:470px}.personal-toolbar{padding:12px}.personal-toolbar .btn{min-height:42px;font-size:13px;padding:8px 10px}.personal-toolbar .actions{gap:6px}.personal-calendar .personal-month-actions button{min-width:36px}}
@media print{.personal-calendar{display:block;color:#000}.personal-month,.personal-day{border:1px solid #ccc;margin-bottom:12mm;break-inside:avoid}.personal-month{width:90mm}.personal-date{min-height:10mm}.personal-day{break-before:page}.personal-timeline-scroll{max-height:none;overflow:visible;padding:12px}.personal-event{print-color-adjust:exact;-webkit-print-color-adjust:exact}.personal-month-actions{display:none!important}}

/* Shared coach calendar: one continuous event positioned by actual minutes. */
.lesson-shared-timeline tbody th,.lesson-shared-timeline tbody td{padding:0;height:auto;vertical-align:top}.shared-time-track,.shared-coach-track{position:relative;height:1152px}.shared-time-track{background:#f4f3e6;font-variant-numeric:tabular-nums}.shared-time-label{position:absolute;left:0;right:0;text-align:center;font-size:11px;line-height:14px;transform:translateY(-50%);z-index:1}.shared-time-label:first-child{transform:none}.shared-time-label:last-child{transform:translateY(-100%)}.shared-hour{position:absolute;left:0;right:0;height:64px;border-top:1px solid #aeb9b0;pointer-events:none;overflow:hidden}.shared-hour:after{content:"";position:absolute;left:0;right:0;top:31px;border-top:1px dashed #d1dad3}.shared-hour>span{position:absolute;top:8px;left:5px;right:5px;font-size:10px;line-height:13px;text-align:center;color:inherit}.shared-empty-slot{position:absolute;left:0;right:0;background:transparent;border:0;border-radius:0;z-index:2;padding:0;cursor:pointer}.shared-empty-slot>span{position:absolute;right:5px;bottom:2px;font-size:15px;line-height:18px;color:#6a815b}.shared-empty-slot:hover{background:#ddecbb55}.shared-empty-slot:focus-visible{outline:2px solid #668b3b;outline-offset:-2px}.lesson-slot-card.shared-event{position:absolute;left:4px;width:calc(100% - 8px);margin:0;padding:5px 7px;z-index:3;border-left:3px solid #638eac;overflow:hidden;box-sizing:border-box;line-height:1.2}.shared-event span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;line-height:16px}.shared-event small,.shared-event b{display:block;font-size:11px;line-height:14px}.shared-event.lesson-signed{border-left-color:#499168}.shared-event.lesson-pending-sign{border-left-color:#c99329}.shared-event.lesson-block{border-left-color:#9868b0}

.sales-section{margin-top:24px}.sales-product{padding:14px 0;border-bottom:1px solid var(--line,#344049)}.sales-product:last-child{border-bottom:0}#sales-product-description{min-height:110px}

.sales-settlement-table{width:100%;border-collapse:collapse;min-width:780px}.sales-settlement-table th,.sales-settlement-table td{padding:12px 9px;border-bottom:1px solid #495039;text-align:left;white-space:nowrap}.sales-settlement-table thead{color:#ccff59}.sales-settlement-table tbody th{color:#fff}

.purchase-kind-options{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.purchase-kind-options .btn{flex:1;min-width:100px}.sale-plan-section{border:1px solid #495039;border-radius:12px;padding:18px;margin:18px 0}.sale-plan-section legend{padding:0 8px;font-weight:700;color:#ccff59}.sale-allocation-row{display:grid;grid-template-columns:1fr 140px;gap:12px}.sale-allocation-summary{border-top:1px solid #495039;margin-top:12px;padding-top:12px}.sales-settlement-table{min-width:1050px}.table-wrap{max-width:100%;overflow-x:auto}@media(max-width:580px){.sale-allocation-row{grid-template-columns:1fr}.sale-plan-section{padding:12px}.purchase-kind-options .btn{font-size:14px}}

/* Compact customer homepage disclosures; each opens independently. */
.card.member-disclosure{padding:0;margin-bottom:12px}
.member-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;padding:16px 22px;list-style:none;cursor:pointer;border-radius:inherit}
.member-disclosure>summary::-webkit-details-marker{display:none}
.member-disclosure>summary::marker{content:""}
.member-disclosure>summary h1,.member-disclosure>summary h2{margin:0;font-size:18px;line-height:1.45}
.member-disclosure>summary:hover{background:rgba(201,255,69,.05)}
.member-disclosure>summary:focus-visible{outline:2px solid var(--accent,#c9ff45);outline-offset:-3px}
.member-disclosure-arrow{font-size:28px;line-height:1;color:var(--muted);transition:transform .15s}
.member-disclosure[open]>summary .member-disclosure-arrow{transform:rotate(90deg)}
.member-disclosure-body{padding:0 22px 18px}
.member-disclosure-body dl{margin-top:6px}
.member-disclosure-body>p:first-child{margin-top:4px}
@media(max-width:760px){.member-disclosure>summary{min-height:58px;padding:14px 18px}.member-disclosure-body{padding:0 18px 16px}}

.main:has(#sales-month) .heading p:empty{display:none}

/* Monthly sale totals open a read-only, scoped breakdown. */
.sales-performance-card{width:100%;text-align:left;color:var(--ink);font:inherit;position:relative}
.sales-performance-card.accent{color:#18210f}
.sales-performance-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.sales-performance-card .sales-performance-hint{display:block;margin-top:12px;color:var(--muted);font-size:13px;position:relative;z-index:1}
.sales-performance-card.accent .sales-performance-hint{color:#42552b}
.sale-fixed-percent{align-self:center}.sale-fixed-percent strong{font-size:20px;color:var(--accent)}
.sales-type-counts{margin-top:8px;position:relative;z-index:1}.sales-type-counts>div{display:flex;align-items:baseline;gap:7px;font-size:14px}.sales-type-counts strong{font-size:25px;line-height:1.5}
dialog.sales-performance-dialog{width:min(94%,920px);max-height:88dvh;overflow-y:auto}
.sales-performance-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.sales-performance-heading p{color:var(--muted);margin-top:4px;font-size:14px}
.sales-performance-heading .btn{flex-shrink:0;padding:9px 16px}
.sales-performance-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;margin:12px 0 4px;border-bottom:1px solid var(--line)}
.sales-performance-total strong{font-size:28px;color:var(--accent);font-variant-numeric:tabular-nums}
.sales-performance-row{padding:18px 0;border-bottom:1px solid var(--line)}
.sales-performance-person small{display:block;overflow-wrap:anywhere}
.sales-performance-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:12px}
.sales-performance-amounts span{display:block;font-size:13px;color:var(--muted)}
.sales-performance-amounts strong{display:block;font-size:17px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.sales-performance-share strong{color:var(--accent)}
.sales-performance-note{margin-top:18px;color:var(--muted);font-size:12px}
@media(max-width:650px){dialog.sales-performance-dialog{padding:20px 16px}.sales-performance-heading h2{font-size:19px}.sales-performance-total strong{font-size:24px}.sales-performance-amounts{gap:8px}.sales-performance-amounts strong{font-size:14px}.sales-performance-amounts span{font-size:12px}.sales-performance-card .sales-performance-hint{font-size:12px}}

.purchase-request-disclosure>summary{gap:12px}.purchase-request-heading{flex:1;min-width:0;line-height:1.5;overflow-wrap:anywhere}.purchase-request-disclosure>summary .badge{flex-shrink:0}.purchase-request-disclosure .member-disclosure-body p{overflow-wrap:anywhere}

.registration-task-entry{display:block;margin-bottom:20px;text-decoration:none}.registration-task-entry h2{font-size:18px}.registration-task-entry:hover{border-color:var(--accent,#c9ff45)}

.overview-nav-group>summary{list-style:none;cursor:pointer}.overview-nav-group>summary::-webkit-details-marker{display:none}.overview-nav-group>summary::marker{content:""}.overview-nav-arrow{margin-left:auto;transition:transform .15s}.overview-nav-group[open] .overview-nav-arrow{transform:rotate(90deg)}.overview-nav-children{padding-left:14px;display:grid;gap:4px}.overview-nav-children .navlink{font-size:14px}.overview-nav-group>summary:focus-visible{outline:2px solid var(--accent,#c9ff45);outline-offset:-2px}
.sidebar .overview-nav-group>summary.navlink{padding:10px 16px;min-height:44px}.sidebar .overview-nav-children .navlink{padding:5px 12px;min-height:36px}

.payroll-list{margin-top:22px}.payroll-person-summary{display:block;margin-top:6px;color:var(--muted);font-size:13px;line-height:1.6}.payroll-metrics{margin:18px 0}.payroll-metrics,.payroll-performance-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.payroll-performance{text-align:left;color:inherit;font:inherit;cursor:pointer}.payroll-performance>strong{font-size:22px}.payroll-day-details{margin-top:18px}.payroll-day-details table{min-width:960px}.payroll-day.has-leave{background:rgba(236,163,54,.12)}.payroll-leave{padding:12px 0;border-bottom:1px solid var(--line)}
/* Salary uses the same accent card as the course and membership amounts. */
.personal-performance-stats.grid{align-items:start}
.card.salary-summary{margin:0;align-self:start}.sales-page-disclosure .salary-summary{margin:20px 0}.salary-summary{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:24px;min-height:240px}.salary-summary .stat-heading{margin-bottom:14px}.salary-summary:hover{background:rgba(255,255,255,.07)}.salary-summary .salary-summary-lessons{font-size:16px;line-height:1.6}.salary-summary-lessons b{font-size:23px}.salary-summary.accent .salary-summary-money{white-space:normal;color:#18210f;font-size:40px;line-height:1.25;margin-top:12px;padding-left:0}.salary-summary .salary-summary-caption{display:block;margin-top:8px;font-size:13px}.salary-summary .sales-performance-hint{display:block;margin-top:14px;font-size:13px}.salary-summary small,.salary-summary .muted,.salary-basis dt{color:#42552b}.salary-summary .member-disclosure-body{position:relative;color:#18210f}.salary-basis{margin:14px 0 0;display:grid;gap:9px}.salary-basis>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #5e7b2c55;padding:9px 0}.salary-basis dd{margin:0;font-weight:700}.personal-performance-stats{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.personal-performance-stats>.sales-performance-card{min-height:240px}.salary-summary:focus-visible{outline-color:#18210f}@media(max-width:650px){.personal-performance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-performance-stats>.sales-performance-card,.salary-summary{min-height:210px}.salary-summary{padding:18px 14px}.salary-summary.accent .salary-summary-money{font-size:29px}.salary-summary .salary-summary-lessons{font-size:13px}.salary-summary .salary-summary-caption{font-size:12px}.salary-summary .stat-heading{display:flex}.salary-summary .stat-heading .icon{display:none}.salary-summary-lessons b{font-size:20px}}@media(max-width:380px){.personal-performance-stats{grid-template-columns:1fr}.salary-summary{min-height:190px}}


.leave-history-heading h2{margin:0}.leave-history-month{width:180px}.leave-history-month .label{margin-bottom:4px}.leave-history-heading{gap:14px;margin-top:24px}@media(max-width:650px){.leave-history-month{width:160px}}

button.salary-summary{display:flex;flex-direction:column;align-items:flex-start;text-align:left;font:inherit}.salary-detail-dialog .salary-basis dt{color:var(--muted,#bfc7b8)}.salary-detail-dialog .salary-basis>div{border-color:#5e7b2c55}

/* Company account presents store revenue and signed lesson consumption. */
button.team-performance-card{position:relative;display:flex;flex-direction:column;gap:10px;text-align:left;width:100%;padding:24px;font:inherit;cursor:pointer;align-self:start;color:#18210f}.sales-page-disclosure .team-performance-card{margin:20px 0}.team-performance-stats>.team-performance-card{grid-column:1/-1}.team-performance-card .team-performance-money{display:block;white-space:normal;font-size:40px;color:#18210f;padding:0}.team-performance-card small{color:#42552b}.team-performance-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%;border-top:1px solid #638b2d66;padding-top:16px}.team-performance-metrics>span{display:flex;flex-direction:column;gap:8px;font-size:14px}.team-performance-card .team-performance-metrics strong{font-size:24px;padding:0;color:#18210f;overflow-wrap:anywhere}.team-performance-detail{margin:18px 0}.team-performance-detail>div{display:flex;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.team-performance-detail dt{color:var(--muted)}.team-performance-detail dd{margin:0;font-weight:700;text-align:right}@media(max-width:650px){button.team-performance-card{padding:20px 18px}.team-performance-metrics{grid-template-columns:1fr;gap:16px}.team-performance-metrics>span{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.team-performance-card .team-performance-metrics strong{font-size:20px}.team-performance-card .team-performance-money{font-size:32px}.team-performance-detail>div{flex-direction:column;gap:8px}.team-performance-detail dd{text-align:left}}

.roster-month-grid .part-time-hours{font-size:9px;line-height:1.25;letter-spacing:-.2px}.roster-month-grid td:has(.part-time-hours){background:#fff}

.today-course-row{gap:18px}.today-course-time{font-variant-numeric:tabular-nums;font-size:22px;min-width:72px;color:#b8e74d}.today-course-row .info h3{margin:0}.today-course-row .badge{white-space:nowrap}
@media(max-width:600px){.today-course-row{gap:10px}.today-course-time{font-size:19px;min-width:60px}}

/* Course records share the existing member-profile disclosure theme. */
.course-purchase-disclosure{margin:12px 0}
.course-purchase-disclosure>summary h2{min-width:0;overflow-wrap:anywhere}
.course-purchase-disclosure .member-disclosure-arrow{flex-shrink:0}
.course-purchase-fields dd{overflow-wrap:anywhere}

/* Published days off are a visual cue only; scheduling permissions stay unchanged. */
.lesson-day-table thead th.lesson-coach-day-off,.lesson-day-table td.lesson-coach-day-off{background:#fce3e5;color:#71383d}
.lesson-day-off-label{display:block;font-size:11px;font-weight:500;line-height:1.4;color:#8b4149;margin-top:3px}
.lesson-coach-day-off .shared-coach-track{background:#fce3e5}
.lesson-coach-day-off .shared-hour.lesson-free{background:transparent;color:#a36369}
.lesson-coach-day-off .shared-hour{border-top-color:#ddb8bd}
.lesson-coach-day-off .shared-hour:after{border-top-color:#e9cbd0}

/* Attendance review and print selection are independent and follow roster order. */
.attendance-people-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 20px;margin:16px 0}.attendance-people-options .permission-row{margin:0;padding:8px 4px}.attendance-people-options input{flex-shrink:0}
.attendance-overview th,.attendance-overview td{padding:8px 10px;font-size:14px}.attendance-overview img{max-width:100px;max-height:40px;object-fit:contain}

.course-paper .course-date-cell{font-variant-numeric:tabular-nums}.course-paper .course-day{display:block;font-size:13px;line-height:1.15}.course-paper .course-start-time{display:block;font-size:11px;line-height:1.15;margin-top:2px;white-space:nowrap}@media print{.course-paper .course-day{font-size:10px}.course-paper .course-start-time{font-size:8.5px;line-height:1.1;margin-top:1px}}

.alive-intro-playing{overflow:hidden}
.alive-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:#0b1110;color:#f3f5ed;font-family:inherit;isolation:isolate;animation:alive-intro-out .25s ease 2.75s both}
.alive-intro:before,.alive-intro:after{content:"";position:absolute;inset:-60%;z-index:-1;pointer-events:none;transform:rotate(-34deg)}
.alive-intro:before{background:linear-gradient(90deg,transparent 44%,#c4f44612 44%,#c4f44612 57%,transparent 57%);animation:alive-intro-sweep 2.75s ease-out both}
.alive-intro:after{background:linear-gradient(90deg,transparent 54%,#c4f44665 54.05%,transparent 54.15%)}
.alive-intro__glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 40%,#8caf2824,transparent 64%)}
.alive-intro__content{text-align:center;padding:36px 24px 84px;width:min(100%,640px);box-sizing:border-box}
.alive-intro__logo{display:block;width:clamp(160px,24vw,250px);height:auto;margin:0 auto 22px;object-fit:contain;animation:alive-intro-rise .4s ease-out both}
.alive-intro__eyebrow{font-size:10px;font-weight:600;letter-spacing:4px;color:#a8b393;margin:0 0 24px;animation:alive-intro-rise .35s ease-out .08s both}
.alive-intro__title{font-size:clamp(38px,7.5vw,76px);font-weight:900;line-height:1.35;letter-spacing:.09em;margin:0}
.alive-intro__title>span{display:block;animation:alive-intro-rise .35s cubic-bezier(.16,1,.3,1) .13s both}
.alive-intro__title>span+span{color:#c5f54b;animation-delay:.33s}
.alive-intro__dot{letter-spacing:0;margin-right:-1em}
.alive-intro__line{width:80px;height:2px;background:#c5f54b25;margin:28px auto 18px;overflow:hidden}
.alive-intro__line>span{display:block;height:100%;background:#c5f54b;transform-origin:left;animation:alive-intro-progress 2.75s linear both}
.alive-intro__caption{font-size:13px;letter-spacing:2px;color:#b9c2b4;margin:0;animation:alive-intro-rise .35s ease-out .5s both}
.alive-intro__skip{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));min-height:44px;padding:10px 18px;border:1px solid #b2bf9d55;border-radius:999px;background:#111b16;color:#eef5e4;font:inherit;font-size:13px;cursor:pointer}
.alive-intro__skip:hover,.alive-intro__skip:focus-visible{border-color:#c5f54b;outline:2px solid #c5f54b;outline-offset:4px}
.alive-intro__skip span{margin-left:12px;color:#c5f54b}
@keyframes alive-intro-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes alive-intro-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes alive-intro-sweep{from{opacity:0;transform:translateX(-9%) rotate(-34deg)}to{opacity:1;transform:translateX(0) rotate(-34deg)}}
@keyframes alive-intro-out{from{opacity:1}to{opacity:0;visibility:hidden}}
@media(max-height:580px){.alive-intro__logo{width:140px;margin-bottom:10px}.alive-intro__eyebrow{margin-bottom:12px}.alive-intro__title{font-size:36px}.alive-intro__content{padding-top:20px;padding-bottom:55px}.alive-intro__line{margin:18px auto 12px}}
@media(prefers-reduced-motion:reduce){.alive-intro{display:none}}

/* Keep the supplied logo proportions; avoid magnifying the JPEG-derived edges. */
.login-art .brand-stage{margin-inline:0;width:100%;min-width:0;background:radial-gradient(ellipse at center,#31481728 0%,transparent 66%)}
.login-art .company-logo.hero-logo{display:block;width:min(82%,340px);max-width:100%;height:auto;aspect-ratio:1590 / 989;object-fit:contain;justify-self:center;align-self:center;filter:none;transform:none;image-rendering:auto}
@media(min-width:761px) and (max-width:1150px){.login-art .company-logo.hero-logo{width:min(80%,310px)}}

.booking-unread{display:inline-block;background:#c5ef6a;color:#162214;min-width:20px;text-align:center;border-radius:12px;font-size:.75rem;margin-left:7px;padding:1px 5px}.booking-unread[hidden]{display:none}.booking-details{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.booking-details dt{color:#9faf9f;font-size:.8rem}.booking-details dd{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}#booking-task-error{color:#e4bf92}#booking-handle .label{display:block;margin-top:20px}@media(max-width:600px){.booking-details{grid-template-columns:1fr}.bottomnav{overflow-x:auto;justify-content:flex-start}.bottomnav a{flex-shrink:0;min-width:62px}}
/* Solid, readable defaults also cover native multiple-choice controls. */
select, select option, select optgroup {
  color: #f2f6ed !important;
  background-color: #182229 !important;
  -webkit-text-fill-color: #f2f6ed !important;
  opacity: 1 !important;
  color-scheme: dark;
}
select.opaque-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  pointer-events: none !important;
}
.opaque-select {
  display: block;
  position: relative;
  width: 100%;
  min-height: 50px;
  padding: 14px 38px 14px 14px;
  text-align: left;
  font: inherit;
  line-height: 1.4;
  color: #f2f6ed !important;
  -webkit-text-fill-color: #f2f6ed !important;
  background: #182229 !important;
  border: 1px solid #54616a;
  border-radius: 11px;
  cursor: pointer;
  opacity: 1;
}
.opaque-select::after { content: '▾'; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); }
.opaque-select:focus-visible, .opaque-select[aria-expanded=true] { outline: 2px solid #c7f95b; outline-offset: 2px; }
.opaque-select[aria-invalid=true] { border-color: #ffb5a1; }
.opaque-select:disabled { color: #b7c3b1 !important; -webkit-text-fill-color: #b7c3b1 !important; opacity: 1; cursor: not-allowed; }
.opaque-options {
  position: fixed;
  z-index: 10000;
  box-sizing: border-box;
  overflow-y: auto;
  padding: 6px;
  color: #f2f6ed !important;
  background: #182229 !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  border: 1px solid #9cb35c;
  border-radius: 10px;
  box-shadow: 0 10px 28px #0009;
  isolation: isolate;
}
.opaque-options button[role=option] {
  display: block;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 12px;
  border: 0;
  border-radius: 6px;
  text-align: left;
  white-space: normal;
  font: inherit;
  line-height: 1.4;
  color: #f2f6ed !important;
  -webkit-text-fill-color: #f2f6ed !important;
  background: #182229 !important;
  opacity: 1 !important;
  cursor: pointer;
}
.opaque-options button[role=option]:hover,
.opaque-options button[role=option]:focus,
.opaque-options button[aria-selected=true] {
  background: #c7f95b !important;
  color: #111a0c !important;
  -webkit-text-fill-color: #111a0c !important;
  outline: none;
}
.opaque-options button[role=option]:disabled { color: #b7c3b1 !important; -webkit-text-fill-color: #b7c3b1 !important; cursor: not-allowed; }

.student-search-field{position:relative}.student-search-options{position:absolute;top:auto;left:0;right:0;z-index:8;background:#18221d;border:1px solid #759449;border-radius:10px;box-shadow:0 12px 28px #0009;max-height:220px;overflow:auto;padding:6px;margin-top:5px}.student-search-options[hidden]{display:none}.student-search-options button{display:block;width:100%;padding:11px 13px;text-align:left;color:#f2f5ee;background:#18221d;border-radius:7px;font:inherit}.student-search-options button:hover,.student-search-options button[aria-selected="true"]{background:#c2f568;color:#14200c}.student-search-empty{padding:12px;color:#c5cebf}.student-search-status{font-size:12px;color:#b6c6a7;min-height:20px;margin-top:6px}.student-search-field input:disabled{opacity:.65}

.body3d-toolbar{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.body3d-toolbar [data-body3d-manage]{display:inline-flex;align-items:center;min-height:44px;color:#c5f54b;font-size:13px}
.body3d-toolbar [data-body3d-manage][hidden]{display:none}
.body3d-panel{max-width:780px}
.body3d-connected{margin-bottom:26px}
.body3d-panel input[type=file][hidden]{display:none}
.body3d-manual{margin-top:22px;border-top:1px solid #52614b55;padding-top:16px}
.body3d-manual>summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0;color:#c5f54b}
.body3d-manual input{width:100%;box-sizing:border-box}
@media(max-width:600px){.body3d-panel .actions>*{flex:1}}

.performance-filter{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin-bottom:20px}.performance-filter input{min-width:180px;color-scheme:dark}.performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.performance-kpi{padding:0;min-width:0;align-self:start}.performance-kpi>summary{display:flex;flex-direction:column;list-style:none;cursor:pointer;padding:24px;gap:12px}.performance-kpi>summary::-webkit-details-marker{display:none}.performance-kpi strong{font-size:clamp(26px,3vw,38px);line-height:1.25;overflow-wrap:anywhere}.performance-kpi small{color:var(--muted);line-height:1.6}.performance-open{font-size:12px;color:var(--accent)}.performance-accent{border:1px solid #9abf40;background:linear-gradient(135deg,#2b3f25,#15221b)}.performance-accent strong{color:#ceff70}.performance-kpi[open]{grid-column:1/-1}.performance-kpi-body{padding:0 24px 24px;border-top:1px solid var(--line)}.performance-line{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.performance-line small,.performance-table-wrap small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.performance-line>div:last-child{text-align:right}.performance-detail{margin-bottom:16px}.performance-detail .performance-detail{margin-top:12px}.performance-detail p,.performance-kpi-body p{line-height:1.8}.performance-alert{background:#512e26;color:#ffc0aa;border-color:#a95d40;white-space:normal}.performance-table-wrap{overflow-x:auto;margin-top:16px}.performance-table-wrap table{width:100%;min-width:820px;border-collapse:collapse}.performance-table-wrap th,.performance-table-wrap td{padding:15px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.performance-customer{color:var(--accent)}.performance-grid+section{margin-bottom:20px}.lesson-no-show{background:#522b23!important;border-color:#ce7958!important;color:#ffd7c2!important}.lesson-unverified{border-style:dashed!important}
@media(max-width:1000px){.performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.performance-grid{grid-template-columns:1fr;gap:12px}.performance-kpi>summary{padding:20px}.performance-kpi-body{padding:0 18px 18px}.performance-line{gap:10px}.performance-line strong{font-size:16px}.performance-filter{gap:12px}.performance-filter>div{flex:1}.performance-filter input{width:100%}.performance-table-wrap{margin:12px -12px}.performance-line>div{min-width:0;overflow-wrap:anywhere}}

#finance-root{--finance-surface:#17221d;--finance-border:#394b40}.finance-banner{border:1px solid #597337;background:#25341e;color:#d8edbd;border-radius:12px;padding:12px 16px;font-size:14px;margin-bottom:20px}.finance-controls{display:grid;grid-template-columns:180px minmax(180px,1fr) auto;align-items:end;gap:16px;margin-bottom:22px}.finance-controls .label{margin-top:0}.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.finance-summary>div{background:var(--finance-surface);border:1px solid var(--finance-border);border-radius:16px;padding:20px}.finance-summary small{display:block}.finance-summary strong{display:block;font-size:clamp(20px,2vw,28px);font-variant-numeric:tabular-nums;margin-top:7px;color:#e8f8d5}.finance-summary .finance-pending strong{color:#f0cd8b}.finance-tabs{display:flex;gap:6px;margin-bottom:18px;overflow:auto;padding-bottom:4px}.finance-tabs button{white-space:nowrap;border-radius:10px;padding:11px 18px;background:#222d26;color:#b9c8be;border:1px solid #3a4b3f;min-height:46px}.finance-tabs button.active{color:#14200b;background:var(--accent);border-color:var(--accent);font-weight:700}.finance-body{padding:12px 20px;min-width:0}.finance-table-scroll{overflow:auto;max-width:100%}.finance-table-scroll table{border-collapse:collapse;width:100%;font-size:14px;min-width:670px}.finance-table-scroll th{background:#213127;color:#adbcad;font-weight:500;text-align:left;white-space:nowrap;padding:12px 14px;border-bottom:1px solid #496044}.finance-table-scroll td{padding:16px 14px;border-bottom:1px solid #34443a;vertical-align:top;font-variant-numeric:tabular-nums}.finance-table-scroll tr:last-child td{border-bottom:0}.finance-table-scroll small{display:block;font-size:12px;max-width:230px;overflow-wrap:anywhere}.finance-table-scroll .finance-empty{text-align:center;color:#9aa99d;padding:50px}.finance-link{background:transparent;color:var(--accent);padding:0;text-align:left;font-weight:600;min-height:30px}.finance-badge{font-size:12px;border:1px solid #4d6751;border-radius:7px;padding:4px 8px;white-space:nowrap}.finance-badge.draft{color:#f4d494;border-color:#7e6944;background:#3b3221}.finance-badge.posted{color:#bdebaa;background:#293d25}.finance-badge.void{color:#c3c3c3;background:#333}.finance-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;flex-wrap:wrap}.finance-footer .actions{margin:0;flex-wrap:wrap}.finance-inline-total{display:flex;justify-content:flex-end;gap:26px;padding:20px 12px;flex-wrap:wrap}.finance-note{padding:14px 0;font-size:14px}.finance-rules{border:1px solid #394b40;border-radius:12px;margin:18px 0;background:#17251c}.finance-rules summary{padding:16px;cursor:pointer;font-weight:600}.finance-rules>div{padding:0 20px 20px;color:#bac8bc;font-size:14px}.finance-rules p{margin:8px 0}.finance-dialog{width:min(1060px,96vw);max-width:96vw;max-height:90vh;overflow:auto;padding:26px;background:#17201b;color:#f1f7ed;border:1px solid #586d4c;border-radius:20px}.finance-dialog::backdrop{background:#050b08c9}.finance-dialog header,.finance-dialog footer{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.finance-dialog footer{justify-content:flex-end;margin-top:24px;position:sticky;bottom:-26px;padding:18px 0;background:#17201bf5;border-top:1px solid #43503f}.finance-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}.finance-fields input,.finance-fields select{min-height:46px;background:#101a13;color:#f1f7ed;border:1px solid #53644c}.finance-fields option{background:#17201b;color:#f1f7ed}.finance-form section{margin-top:26px}.finance-form fieldset{position:relative;border:1px solid #465c42;border-radius:14px;padding:8px 18px 18px;margin:18px 0;background:#1d2b20;min-width:0}.finance-form legend{padding:0 8px;color:#c4dd9e;font-size:14px}.finance-remove{color:#c5bca8;background:transparent;float:right;font-size:13px}.finance-allocation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.finance-item-hint{font-size:12px;margin-top:12px}.finance-editor-section{border:1px solid #40563e;border-radius:14px;padding:16px;margin-top:20px}.finance-editor-section>summary{cursor:pointer;font-weight:600}.finance-editor-section>summary small{font-weight:400;margin-left:10px}.finance-live-total{padding:14px 0;font-size:21px;font-weight:700;color:var(--accent)}.finance-warning{padding:15px 18px;background:#3d3420;color:#f3d49b;border:1px solid #7f6a3f;border-radius:10px;font-size:14px;margin:15px 0}.finance-detail-totals{display:flex;gap:30px;flex-wrap:wrap;padding:25px 0}.finance-detail-totals b{display:block;font-size:25px;color:var(--accent)}.finance-detail h3{margin-top:22px;margin-bottom:8px}.finance-checkbox{display:flex;gap:12px;align-items:center;margin-top:22px}.finance-checkbox input{width:22px;height:22px;accent-color:var(--accent)}.finance-confirm{max-width:660px;margin:auto}.finance-confirm p{margin-top:14px}.finance-form [hidden],.finance-fields [hidden],.finance-allocation[hidden]{display:none!important}.finance-dialog .compact,.finance-body .compact{padding:7px 12px;min-height:36px;font-size:13px}.finance-form textarea{min-height:90px}.finance-form input[type=number]{font-variant-numeric:tabular-nums}.finance-form .finance-item .label{margin-top:12px}
@media(max-width:760px){.finance-controls{grid-template-columns:1fr 1fr}.finance-controls>div:nth-child(2){grid-column:1/-1;grid-row:2}.finance-summary{grid-template-columns:1fr 1fr}.finance-summary>div{padding:15px}.finance-body{padding:6px}.finance-dialog{padding:18px;max-height:92vh}.finance-fields{grid-template-columns:1fr 1fr}.finance-allocation{grid-template-columns:1fr}.finance-dialog h2{font-size:21px}.finance-dialog footer{bottom:-18px}.finance-dialog footer .btn{flex:1}.finance-table-scroll th,.finance-table-scroll td{padding:12px 9px}.finance-dialog .finance-table-scroll table{min-width:620px}}
@media(max-width:430px){.finance-fields{grid-template-columns:1fr}.finance-controls{gap:12px}.finance-summary strong{font-size:20px}.finance-dialog{width:98vw;max-width:98vw;padding:15px}.finance-form fieldset{padding:8px 12px 14px}.finance-tabs button{padding:10px 13px}.finance-footer .btn{font-size:13px}}

.finance-performance-head{display:flex;align-items:center;justify-content:space-between;padding:12px 0 20px}.finance-person-goal{min-width:160px;font-size:12px}.finance-person-goal summary{cursor:pointer;color:var(--accent)}.finance-person-goal p{white-space:nowrap;padding:5px 0}

#finance-root .finance-summary{margin-bottom:16px}#finance-root .finance-body:has(.fs-grid){padding:0;overflow:hidden;border-radius:12px}.finance-source-switch{display:flex;align-items:center;gap:12px;margin:14px 0 18px}.finance-source-switch label{font-size:14px;color:#bbcbbf}.finance-source-switch select{width:auto;min-width:210px;min-height:42px;padding:8px 12px}.finance-source-switch .fs-source-caption{font-size:13px;color:#bac5b8}.fs-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;background:#172d22;border-block:1px solid #425f49}.fs-toolbar strong{font-size:19px}.fs-toolbar small{display:block;font-size:12px;margin-top:4px;color:#c2cfbe}.fs-toolbar>div:last-child{display:flex;gap:8px;flex-shrink:0}.fs-formula-bar{display:flex;align-items:center;background:#19221c;border-bottom:1px solid #405847;gap:10px;padding:6px 10px}.fs-formula-bar>span{min-width:55px;text-align:center;color:#c6d5ca;font-size:12px;border-right:1px solid #405847}.fs-formula-bar>b{color:#91ad95;font-family:Georgia,serif;font-style:italic;font-size:20px}.fs-formula-bar input{border:0;background:transparent;color:#e7eee8;border-radius:0;padding:4px 8px;min-height:28px;width:100%;font-size:14px}.fs-scroll{overflow:auto;max-height:68vh;min-height:230px;position:relative;overscroll-behavior:contain;scrollbar-color:#71956c #18251d}.fs-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font-size:13px;line-height:1.25}.fs-grid th,.fs-grid td{border-right:1px solid #405246;border-bottom:1px solid #3b4d40;padding:0;height:43px;vertical-align:middle;overflow:hidden;background:#1d2921}.fs-grid .fs-letters th{height:25px;background:#21392c;color:#a5b8aa;font-weight:400;position:sticky;top:0;z-index:7;font-size:11px;text-align:center}.fs-grid .fs-column-head th{height:53px;padding:7px;background:#34503b;color:#f0f5ec;text-align:center;font-weight:600;position:sticky;top:25px;z-index:7;white-space:normal;overflow-wrap:anywhere}.fs-grid td input,.fs-grid td select{display:block;width:100%;height:42px;min-height:42px;border:0;border-radius:0;padding:8px;background:#1d2921;color:#e7f0e2;font-size:13px;line-height:1.25;box-shadow:none}.fs-grid td select{padding:6px 2px;appearance:auto;color-scheme:dark}.fs-grid td option{background:#1d2921;color:#f1f5ed}.fs-grid tr:nth-child(even) td,.fs-grid tr:nth-child(even) td input,.fs-grid tr:nth-child(even) td select{background:#233127}.fs-grid td input:hover,.fs-grid td select:hover{background:#2b3b2d}.fs-grid td input:focus,.fs-grid td select:focus{outline:2px solid #c2f568;outline-offset:-2px;background:#30422b;position:relative;z-index:5}.fs-grid .fs-numeric input,.fs-grid .fs-numeric .fs-calculated{text-align:right;font-variant-numeric:tabular-nums}.fs-grid .fs-calculated{display:block;padding:9px 10px;color:#adbcaf;font-size:13px;min-height:35px}.fs-grid .fs-error-value{color:#f1b77a;font-size:12px}.fs-grid .fs-row-number{background:#21392c;color:#a6b9a7;position:sticky;left:0;z-index:5;text-align:center;font-size:11px;font-weight:400;min-width:42px}.fs-grid .fs-frozen{position:sticky;z-index:4;box-shadow:1px 0 #5c795e}.fs-grid .fs-freeze-0{left:42px}.fs-grid .fs-freeze-1{left:128px}.fs-grid .fs-column-head .fs-frozen{z-index:9}.fs-grid .fs-column-head th:first-child{position:sticky;left:0;z-index:10}.fs-grid .fs-actions{position:sticky;right:0;z-index:5;background:#213b2a!important;min-width:174px;text-align:center;padding:3px!important;border-left:1px solid #5f7a59}.fs-grid thead .fs-actions{z-index:9}.fs-grid .fs-row-status{display:block;color:#aebfab;font-size:11px;line-height:1.2;margin:2px 0}.fs-grid .fs-actions button{font-size:11px;color:#e4f3d7;background:#3c5636;border:1px solid #526d45;border-radius:4px;padding:4px 8px;min-height:24px;margin:2px 3px;white-space:nowrap}.fs-grid .fs-actions button:hover{background:#526d40}.fs-grid .fs-dirty td,.fs-grid .fs-dirty td input,.fs-grid .fs-dirty td select{background:#3c3421}.fs-grid .fs-dirty .fs-row-status{color:#ffd78a}.fs-grid tfoot td,.fs-grid tfoot th{position:sticky;bottom:0;z-index:6;background:#304a32!important;color:#e3f2d8;font-weight:700;padding:9px;text-align:right;height:39px;border-top:2px solid #719267}.fs-grid tfoot td.fs-frozen{z-index:7}.fs-grid tfoot .fs-actions{z-index:8}.fs-grid .fs-empty{padding:50px;text-align:center;color:#a9bba9}.fs-help{padding:13px 16px;font-size:12px;color:#b2c4b0;line-height:1.7}.fs-datebar{padding:12px 16px 6px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#b4c6b2;font-size:13px}.fs-datebar label{display:flex;align-items:center;gap:10px}.fs-datebar input{width:175px;min-height:38px;padding:6px 10px}.fs-day-tabs,.fs-workbook-tabs{display:flex;gap:2px;padding:6px 12px 12px;overflow:auto;white-space:nowrap;background:#16251c}.fs-day-tabs button{background:#243b2a;border:1px solid #425b42;color:#b6c9b4;padding:6px 10px;min-width:42px;min-height:34px;border-radius:3px}.fs-workbook-tabs{padding:12px;gap:8px;border-bottom:1px solid #3f5d43}.fs-workbook-tabs button{background:#263d2b;color:#c1d3bb;border:1px solid #476448;padding:9px 18px;min-height:42px;border-radius:5px}.fs-day-tabs button.active,.fs-workbook-tabs button.active{background:#c1eb81;color:#1e3216;border-color:#bcda92;font-weight:700}.fs-loading{padding:45px 20px;text-align:center}.fs-loading p{padding:15px;color:#bbcab8}#fs-error{padding:0 16px 12px}.finance-body:has(.fs-grid) .finance-performance-head{padding:16px}.finance-source-banner{background:#24371e;border:1px solid #617d40;color:#dceac7;padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:13px}
@media(max-width:760px){.fs-toolbar{align-items:flex-start;flex-wrap:wrap;padding:12px}.fs-toolbar strong{font-size:17px}.fs-toolbar>div:last-child{width:100%}.fs-toolbar .btn{flex:1}.fs-scroll{max-height:65vh}.finance-source-switch{flex-wrap:wrap}.fs-grid .fs-frozen{position:static}.fs-grid .fs-row-number{position:sticky;left:0}.fs-grid .fs-actions{position:static}.fs-grid tfoot .fs-frozen{position:sticky;left:auto}.fs-grid .fs-column-head .fs-frozen{position:sticky;left:auto;top:25px}.fs-datebar{padding:10px}.fs-workbook-tabs button{padding:8px 14px}.fs-formula-bar{gap:4px}}

.fs-grid .fs-freeze-1{left:var(--fs-second-left,128px)}.fs-formula-bar>span{flex:0 0 55px}.fs-formula-bar>b{flex:0 0 24px;white-space:nowrap}.fs-formula-bar input{flex:1;min-width:0;width:0}

.fs-grid td textarea{display:block;width:100%;height:42px;min-height:42px;resize:none;border:0;border-radius:0;padding:5px 8px;background:#1d2921;color:#e7f0e2;font-size:12px;line-height:16px}.fs-grid td textarea:focus{outline:2px solid #c2f568;outline-offset:-2px;background:#30422b}.fs-grid tr:nth-child(even) td textarea{background:#233127}.fs-grid .fs-dirty td textarea{background:#3c3421}

.fs-grid input.fs-source-warning{background:#3b3020;color:#efc68b}.fs-grid input.fs-source-warning::placeholder{color:#e0b87c;font-size:11px}

/* Spreadsheet workspace: compact chrome, fit all columns without changing browser zoom. */
body:has(#finance-root) .main{max-width:none;padding:14px 18px 45px;min-width:0}
body:has(#finance-root) .topbar{margin-bottom:10px}
#finance-root .heading{margin-bottom:8px;gap:10px}#finance-root h1{font-size:24px}
#finance-root .heading p{font-size:12px;margin-top:0}
#finance-root .back{font-size:12px;margin-bottom:4px}
#finance-root .btn{padding:7px 12px;min-height:34px;font-size:12px;border-radius:7px}
#finance-root .finance-source-switch{margin:6px 0;gap:9px;flex-wrap:wrap}
#finance-root .finance-source-switch select{min-height:32px;padding:3px 8px;font-size:12px}
#finance-root .finance-source-banner{padding:5px 10px;font-size:11px;margin-bottom:6px;border-radius:5px}
#finance-root .finance-controls{margin-bottom:6px;gap:10px;grid-template-columns:180px minmax(180px,1fr) auto}
#finance-root .finance-controls .label{margin:0 0 2px;font-size:11px}
#finance-root .finance-controls input,#finance-root .finance-controls select{margin:0;min-height:32px;padding:4px 8px;font-size:12px}
#finance-root .finance-summary{gap:8px;margin-bottom:8px}#finance-root .finance-summary>div{padding:6px 10px;border-radius:6px}
#finance-root .finance-summary small{font-size:10px}#finance-root .finance-summary strong{font-size:19px;line-height:1.3}
#finance-root .finance-tabs{margin-bottom:5px;gap:5px}#finance-root .finance-tabs button{padding:5px 15px;font-size:13px;min-height:32px;border-radius:5px}
#finance-root .fs-datebar{padding:5px 10px;font-size:12px}#finance-root .fs-datebar input{padding:2px 8px;min-height:28px;font-size:12px}
#finance-root .fs-day-tabs{padding:4px 8px;gap:3px;flex-wrap:wrap}#finance-root .fs-day-tabs button{min-width:30px;min-height:25px;padding:2px 5px;font-size:10px}
#finance-root .fs-toolbar{padding:6px 10px;gap:8px}#finance-root .fs-toolbar strong{font-size:14px}#finance-root .fs-toolbar small{font-size:10px;margin:0}
.fs-zoom-bar{display:flex;align-items:center;gap:12px;padding:4px 10px;background:#17241b;font-size:11px;color:#b4c8ad;flex-wrap:wrap}
.fs-zoom-bar label{display:flex;gap:8px;align-items:center}.fs-zoom-bar select{width:auto;min-height:26px;padding:1px 6px;font-size:11px;background:#243728;color:#d3e6c8}
.fs-grid{min-width:0}.fs-grid th,.fs-grid td{height:34px}.fs-grid td input,.fs-grid td select,.fs-grid td textarea{height:33px;min-height:33px;padding:4px;font-size:13px}
.fs-grid .fs-column-head th{height:45px;padding:3px}.fs-grid .fs-calculated{padding:6px;min-height:28px}.fs-grid .fs-actions{min-width:120px}.fs-scroll{max-height:calc(100vh - 440px);min-height:170px}
.fs-grid .fs-actions button{padding:2px 5px;min-height:22px}.fs-grid .fs-actions .fs-row-status{font-size:10px}.fs-grid tfoot td,.fs-grid tfoot th{height:32px;padding:5px}
#finance-root .fs-workbook-tabs{padding:6px 8px;gap:5px}#finance-root .fs-workbook-tabs button{padding:4px 12px;min-height:30px;font-size:12px}
#finance-root .fs-help{padding:6px 10px;font-size:11px}#finance-root .finance-footer{margin-top:8px;font-size:11px}
.fs-audit-notes{padding:5px 10px;font-size:11px;color:#cfbd93;border-top:1px solid #40523b}.fs-audit-notes summary{cursor:pointer}.fs-audit-notes p{margin:3px 0;white-space:pre-line}
.fs-person-selector{padding:6px 12px}.fs-person-selector label{display:flex;align-items:center;gap:10px;font-size:12px}.fs-person-selector select{width:180px;min-height:32px;padding:3px 10px;font-size:13px}
.fs-person-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 12px;background:#243c29}.fs-person-heading h2{font-size:18px}.fs-person-heading span{font-size:11px;color:#b5c9ad}.fs-person-heading .actions{margin-left:auto}
.fs-person-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 12px}.fs-person-kpis>div{padding:7px 12px;border:1px solid #52683e;background:#263b24;border-radius:6px;font-size:11px}.fs-person-kpis strong{display:block;font-size:24px;color:#d7efb9}
.fs-person-layout{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(450px,1.5fr);gap:12px;padding:0 12px 10px}.fs-person-section{min-width:0}.fs-person-section h3{font-size:13px;padding:5px 8px;background:#28412d}.fs-person-scroll{max-height:45vh;overflow:auto}.fs-person-scroll table{border-collapse:collapse;width:100%;font-size:11px;font-variant-numeric:tabular-nums}.fs-person-scroll td,.fs-person-scroll th{padding:4px 7px;border:1px solid #435447;white-space:nowrap}.fs-person-scroll th{background:#324b34;position:sticky;top:0;z-index:1}.fs-person-scroll tfoot td{background:#304a2e;position:sticky;bottom:0}.fs-source-difference{padding:5px 12px;background:#40331f;font-size:11px;color:#e5c48a}
@media(min-width:1000px){body:has(#finance-root) .shell{grid-template-columns:185px minmax(0,1fr)}body:has(#finance-root) .sidebar{padding:20px 12px;gap:20px}body:has(#finance-root) .navlink{padding:9px 12px;font-size:13px}}
@media(max-width:760px){.fs-scroll{max-height:58vh}#finance-root .finance-controls{grid-template-columns:140px 1fr}#finance-root .finance-controls>div:nth-child(2){grid-column:auto;grid-row:auto}.fs-person-layout{grid-template-columns:1fr}.fs-person-heading .actions{margin:0}.fs-person-scroll{max-height:40vh}.fs-person-kpis strong{font-size:20px}.fs-zoom-bar>span:last-child{display:none}#finance-root .finance-summary strong{font-size:15px}}

/* White worksheet requested by the user; app navigation keeps the gym theme. */
#finance-root .finance-body{background:#fff;color:#111;border:1px solid #92999d;border-radius:2px}
#finance-root .fs-scroll{background:#fff;scrollbar-color:#b2b9b4 #f2f3f2}
#finance-root .fs-grid,#finance-root .fs-grid th,#finance-root .fs-grid td,#finance-root .fs-grid td input,#finance-root .fs-grid td select,#finance-root .fs-grid td textarea,#finance-root .fs-grid tr:nth-child(even) td,#finance-root .fs-grid tr:nth-child(even) td input,#finance-root .fs-grid tr:nth-child(even) td select,#finance-root .fs-grid tr:nth-child(even) td textarea{background:#fff;color:#111;border-color:#a1a7aa;color-scheme:light}
#finance-root .fs-grid .fs-excel-title th{font-size:22px;font-weight:700;text-align:center;height:38px;background:white;border-top:1px solid #555;border-bottom:1px solid #555;color:#111}
#finance-root .fs-grid .fs-letters th{background:#e8ebed;color:#46534c;top:0;border-color:#b5b9bb;height:23px}
#finance-root .fs-grid .fs-column-head th{background:#f0f0f0;color:#111;border-color:#777;border-block:1px solid #555}
#finance-root .fs-grid .fs-excel-groups th{background:#f1f1f1;color:#111;text-align:center;font-size:17px;border:1px solid #555;height:28px}
#finance-root .fs-grid .fs-row-number{background:#e8ebed;color:#444}
#finance-root .fs-grid .fs-calculated{color:#174b94}
#finance-root .fs-grid .fs-error-value{color:#b21b1b}
#finance-root .fs-grid .fs-actions{background:#f2f4f2!important;border-color:#a7b2a9}
#finance-root .fs-grid .fs-row-status{color:#607065}
#finance-root .fs-grid .fs-actions button{background:#edf3ed;color:#21452e;border-color:#a3b9a5}
#finance-root .fs-grid .fs-dirty td,#finance-root .fs-grid .fs-dirty td input,#finance-root .fs-grid .fs-dirty td select,#finance-root .fs-grid .fs-dirty td textarea{background:#fff8da}
#finance-root .fs-grid td input:focus,#finance-root .fs-grid td select:focus,#finance-root .fs-grid td textarea:focus{background:#f2fbf2;outline:2px solid #217346}
#finance-root .fs-grid td option{background:#fff;color:#111}
#finance-root .fs-grid tfoot td,#finance-root .fs-grid tfoot th{background:#e7e6e6!important;color:#111;border-top:2px solid #555}
#finance-root .fs-grid input.fs-source-warning{background:#fff2cc;color:#8f2525}#finance-root .fs-grid input.fs-source-warning::placeholder{color:#a34b22}
#finance-root .fs-formula-bar{background:#f6f7f6;border-color:#bfc7bf;color:#333}
#finance-root .fs-formula-bar input{background:white;color:#111;border:1px solid #aeb9af}#finance-root .fs-formula-bar b,#finance-root .fs-formula-bar span{color:#52635a}
#finance-root .fs-zoom-bar{background:#f1f4f1;color:#4a5c50;border-bottom:1px solid #b4beb7}#finance-root .fs-zoom-bar select{background:#fff;color:#222;border-color:#a9b3aa;color-scheme:light}
#finance-root .fs-toolbar{background:#fafafa;border-color:#9da99f;color:#111}#finance-root .fs-toolbar small{color:#58655d}
#finance-root .fs-datebar{background:#fff;color:#333}#finance-root .fs-datebar input{background:#fff;color:#111;border-color:#9fac9f;color-scheme:light}
#finance-root .fs-workbook-tabs,#finance-root .fs-day-tabs{background:#f2f4f2;border-color:#b3bdb4}
#finance-root .fs-workbook-tabs button,#finance-root .fs-day-tabs button{background:#fff;color:#254b32;border-color:#9fb2a3}
#finance-root .fs-workbook-tabs button.active,#finance-root .fs-day-tabs button.active{background:#217346;color:#fff;border-color:#217346}
#finance-root .fs-help{color:#546055;background:#fff}#finance-root .fs-audit-notes{color:#824b17;background:#fff9eb;border-color:#d7bd83}
.fs-excel-totalband{display:flex;align-items:center;justify-content:space-around;gap:18px;flex-wrap:wrap;border-block:2px solid #555;padding:9px 15px;background:#fff;color:#111;font-size:14px}
.fs-excel-totalband b{display:inline-block;min-width:90px;text-align:right;font-size:19px;margin-left:10px;font-variant-numeric:tabular-nums;color:#111}
#finance-root .fs-person-heading{background:#f5f5f5;color:#111;border-block:1px solid #999}#finance-root .fs-person-heading span{color:#59615a}
#finance-root .fs-person-selector{background:#fff;color:#222}#finance-root .fs-person-selector select{background:#fff;color:#111;border-color:#9fad9f;color-scheme:light}
#finance-root .fs-person-kpis{background:#fff}#finance-root .fs-person-kpis>div{background:#ededed;border-color:#888;color:#222}#finance-root .fs-person-kpis strong{color:#111}
#finance-root .fs-person-layout,#finance-root .fs-person-section{background:#fff;color:#111}#finance-root .fs-person-section h3{background:#e7e6e6;color:#111;border:1px solid #888}
#finance-root .fs-person-scroll td,#finance-root .fs-person-scroll th{background:#fff;color:#111;border-color:#888}#finance-root .fs-person-scroll th,#finance-root .fs-person-scroll tfoot td{background:#ededed;color:#111;font-weight:700}
#finance-root .fs-grid select[data-sheet-native],#finance-root .fs-grid select[data-sheet-native] option,#finance-root .fs-person-selector select[data-sheet-native],#finance-root .fs-zoom-bar select[data-sheet-native]{background:#fff!important;background-color:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;color-scheme:light!important;opacity:1}
#finance-root .fs-grid .fs-dirty select[data-sheet-native]{background:#fff8da!important;background-color:#fff8da!important}

/* Exact workbook footer cells: original merges, fills and the two invoice lines. */
#finance-root .fs-grid tfoot.fs-exact-footer{position:sticky;bottom:0;z-index:12;background:#fff}
#finance-root .fs-grid tfoot.fs-exact-footer td,#finance-root .fs-grid tfoot.fs-exact-footer th{position:static!important;bottom:auto;top:auto;left:auto;right:auto;z-index:auto;background:var(--source-bg,#fff)!important;color:var(--source-color,#000)!important;border:1px solid #111;height:31px;min-height:31px;padding:3px 5px;vertical-align:middle;line-height:1.25;white-space:nowrap;overflow:hidden}
#finance-root .fs-grid tfoot.fs-exact-footer .fs-footer-row-number{width:42px;font-size:11px;font-weight:400;color:#55616a!important;text-align:center;border-color:#9fa8ae}
#finance-root .fs-grid tfoot.fs-exact-footer .fs-footer-cell:focus{outline:2px solid #217346;outline-offset:-2px}
#finance-root .fs-grid tfoot.fs-exact-footer .fs-footer-label{display:block;width:100%;white-space:nowrap;line-height:1.3}
#finance-root .fs-grid tfoot.fs-exact-footer .fs-footer-number{font-variant-numeric:tabular-nums;white-space:nowrap}
#finance-root .fs-grid tfoot.fs-exact-footer .fs-footer-diagonal{background-image:linear-gradient(to top right,transparent calc(50% - .6px),#000 50%,transparent calc(50% + .6px)),linear-gradient(to bottom right,transparent calc(50% - .6px),#000 50%,transparent calc(50% + .6px))!important}
#finance-root .fs-grid tfoot.fs-exact-footer .fs-footer-unverified{color:#b00020!important}

/* Summary uses the original two colored workbook rows; never sum percentages. */
#finance-root .fs-grid tfoot.fs-summary-footer{position:sticky;bottom:0;z-index:12;background:#fff}
#finance-root .fs-grid tfoot.fs-summary-footer td,#finance-root .fs-grid tfoot.fs-summary-footer th{position:static!important;left:auto;bottom:auto;z-index:auto;background:var(--source-bg,#fff)!important;color:var(--source-color,#000)!important;border:1px solid #111;height:32px;padding:4px;vertical-align:middle;white-space:nowrap;line-height:1.3;font-variant-numeric:tabular-nums}
#finance-root .fs-grid tfoot.fs-summary-footer .fs-footer-label{display:block;width:100%;white-space:nowrap}
#finance-root .fs-grid tfoot.fs-summary-footer .fs-footer-row-number{font-size:11px;font-weight:400;color:#55616a!important}
#finance-root .fs-grid tfoot.fs-summary-footer .fs-footer-unverified{color:#b00020!important}
#finance-root .fs-grid tfoot.fs-summary-footer td:focus{outline:2px solid #217346;outline-offset:-2px}

#finance-own-root .card{overflow:hidden}
#finance-own-root .finance-own-controls{display:flex;gap:18px;align-items:end;margin:16px 0;flex-wrap:wrap}
#finance-own-root .finance-own-controls>div{flex:1;min-width:180px;max-width:420px}
#finance-own-root .finance-own-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;font-size:13px;border-bottom:1px solid #bbb;background:#fff;color:#222}
#finance-own-root .finance-own-goals p{margin:5px 0}
#finance-own-root .finance-own-goals h3{font-size:14px;margin:0 0 6px}
#finance-own-root .fs-person-heading,#finance-own-root .fs-person-layout,#finance-own-root .fs-person-kpis,#finance-own-root .fs-help{background:#fff;color:#222}
#finance-own-root .fs-person-heading{border-bottom:1px solid #bbb}
#finance-own-root .fs-person-heading span{color:#58655d}
#finance-own-root .fs-person-kpis>div{background:#f1f4f1;border-color:#b7c1b8;color:#333}
#finance-own-root .fs-person-kpis strong{font-size:20px;color:#173e28}
#finance-own-root .fs-person-scroll td,#finance-own-root .fs-person-scroll th{background:#fff;color:#222;border-color:#a1a7aa}
#finance-own-root .fs-person-scroll th,#finance-own-root .fs-person-scroll tfoot td,#finance-own-root .fs-person-section h3{background:#eef1ee;color:#222}
#finance-own-root .fs-help{padding:10px 12px;font-size:12px;line-height:1.6}
@media(max-width:760px){#finance-own-root .finance-own-goals{grid-template-columns:1fr}}

/* Readable worksheet controls: keep native menus and scroll wide worksheets. */
#finance-root .fs-scroll{overflow:auto;scrollbar-gutter:stable;max-height:62vh;min-height:260px;scrollbar-color:#8c9e91 #edf1ed}
#finance-root .fs-grid{font-family:Arial,"Microsoft JhengHei",sans-serif;font-size:13px;line-height:1.35;writing-mode:horizontal-tb}
#finance-root .fs-grid tbody th,#finance-root .fs-grid tbody td{height:42px;min-height:42px}
#finance-root .fs-grid td input,#finance-root .fs-grid td select,#finance-root .fs-grid td textarea{box-sizing:border-box;width:100%;min-width:0;height:40px;min-height:40px;margin:0;padding:7px 8px;font:400 13px/1.35 Arial,"Microsoft JhengHei",sans-serif;writing-mode:horizontal-tb;word-break:normal}
#finance-root .fs-grid td input,#finance-root .fs-grid td select{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#finance-root .fs-grid td select[data-sheet-native]{appearance:auto;padding-right:20px;word-wrap:normal;overflow-wrap:normal}
#finance-root .fs-grid td textarea{line-height:17px;padding-block:3px;white-space:pre-wrap;resize:vertical}
#finance-root .fs-grid .fs-column-head th{height:48px;min-height:48px;padding:5px 7px;font-size:13px;line-height:18px;white-space:normal;word-break:normal;overflow-wrap:normal;writing-mode:horizontal-tb}
#finance-root .fs-grid .fs-calculated{box-sizing:border-box;min-height:40px;padding:10px 8px;font-size:13px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#finance-root .fs-grid .fs-excel-title th{font-size:18px;height:36px}
#finance-root .fs-person-scroll table{font-size:13px}
#finance-root .fs-person-scroll td,#finance-root .fs-person-scroll th{padding:7px 9px}
#finance-root .fs-person-selector select,#finance-root .fs-zoom-bar select,#finance-root .finance-controls select{white-space:nowrap;word-break:normal;overflow-wrap:normal;writing-mode:horizontal-tb}
@media(max-width:760px){#finance-root .fs-scroll{max-height:62vh;min-height:260px}#finance-root .fs-zoom-bar{gap:6px;font-size:12px}#finance-root .fs-zoom-bar>span:last-child{width:100%}}

/* Readable blue input text while the entire worksheet still fits its container. */
#finance-root .fs-grid td input,#finance-root .fs-grid td select,#finance-root .fs-grid td textarea,#finance-root .fs-grid .fs-select-value,#finance-root .fs-grid .fs-calculated{font-size:var(--finance-cell-font,20px);line-height:1.35}
#finance-root .fs-grid tbody td,#finance-root .fs-grid tbody th{height:auto;min-height:42px}
#finance-root .fs-grid td textarea{min-height:42px;line-height:1.4}
#finance-root .fs-grid .fs-column-head th{font-size:var(--finance-header-font,17px);line-height:1.35;min-height:48px;height:auto}
#finance-root .fs-grid [data-negative-money="true"],#finance-root .fs-grid [data-negative-money="true"]:focus{color:#c00000!important;-webkit-text-fill-color:#c00000!important}

/* Workbook screen mode follows the original Excel grid. */
@media screen {
 .shell:has(#finance-root){display:block;grid-template-columns:minmax(0,1fr)}
 .shell:has(#finance-root)>.sidebar,.shell:has(#finance-root)>.bottomnav,.shell:has(#finance-root) .topbar{display:none}
 .shell:has(#finance-root)>.main{width:100%;max-width:none;min-width:0;padding:10px 14px 20px;margin:0;box-sizing:border-box}
 #finance-root{min-width:0;max-width:100%;font-size:13px}
 #finance-root>.back{font-size:13px;margin:0 0 6px}
 #finance-root .heading{gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
 #finance-root .heading h1{font-size:22px;line-height:1.4;margin:0}
 #finance-root .heading p{font-size:13px;margin:2px 0 0}
 #finance-root .heading .btn{font-size:13px;min-height:34px;padding:6px 12px}
 #finance-root .finance-source-switch,#finance-root .finance-source-banner{display:none}
 #finance-root .finance-controls{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
 #finance-root .finance-controls>div{flex:1 1 220px;min-width:0}
 #finance-root .finance-controls .label{font-size:12px;margin:0 0 3px}
 #finance-root .finance-controls input,#finance-root .finance-controls select{font-size:13px;min-height:34px;max-width:100%;padding:4px 8px}
 #finance-root .finance-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0}
 #finance-root .finance-summary>div{padding:7px 10px;border-radius:6px;min-width:0}
 #finance-root .finance-summary small{font-size:12px;line-height:1.4}
 #finance-root .finance-summary strong{font-size:18px;line-height:1.4;overflow-wrap:anywhere}
 #finance-root .finance-tabs,#finance-root .fs-workbook-tabs,#finance-root .fs-day-tabs{flex-wrap:wrap;overflow:visible;white-space:normal}
 #finance-root .finance-tabs{margin-bottom:6px}
 #finance-root .finance-tabs button,#finance-root .fs-workbook-tabs button{font-size:13px;min-height:32px;padding:5px 12px;white-space:normal}
 #finance-root .fs-workbook-tabs{padding:7px 10px;gap:6px}
 #finance-root .fs-day-tabs{padding:5px 8px;gap:3px}
 #finance-root .fs-day-tabs button{font-size:12px;min-height:28px;min-width:32px;padding:3px 5px}
 #finance-root .fs-datebar{padding:5px 10px;gap:10px;flex-wrap:wrap;font-size:12px}
 #finance-root .fs-datebar input{font-size:13px;min-height:31px;max-width:100%;padding:3px 8px}
 #finance-root .fs-toolbar{padding:6px 10px;gap:10px;flex-wrap:wrap}
 #finance-root .fs-toolbar strong{font-size:15px;line-height:1.5}
 #finance-root .fs-toolbar small{font-size:12px;line-height:1.4}
 #finance-root .fs-toolbar>div{min-width:0;max-width:100%}
 #finance-root .fs-toolbar>div:last-child{display:flex;flex-wrap:wrap;flex-shrink:1}
 #finance-root .fs-toolbar .btn{font-size:13px;min-height:32px;white-space:normal}
 #finance-root .fs-zoom-bar{padding:5px 10px;gap:10px;font-size:12px;line-height:1.5;display:flex;flex-wrap:wrap;align-items:center}
 #finance-root .fs-column-pages{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;max-width:100%;margin-left:auto}
 #finance-root .fs-column-pages select,#finance-root .fs-person-scroll~.fs-column-pages select{font-size:13px;min-height:32px;max-width:100%;width:auto;min-width:0;background:#fff!important;color:#111!important;border:1px solid #a9b8ae;padding:3px 20px 3px 7px;white-space:normal}
 #finance-root .fs-column-pages button{font-size:13px;min-height:30px;padding:3px 8px;border:1px solid #a9b8ae;border-radius:4px;background:#fff;color:#234e34}
 #finance-root .fs-column-pages label{font-size:12px;color:#374f3e}
 #finance-root .fs-column-pages span{font-size:12px;color:#526359;white-space:normal}
 #finance-root .fs-formula-bar{min-width:0;padding:4px 8px}
 #finance-root .fs-formula-bar input{min-width:0;font-size:14px;min-height:30px}
 #finance-root .fs-scroll{overflow-x:hidden;overflow-y:auto;max-height:66vh;min-height:250px;scrollbar-gutter:stable;background:#fff}
 #finance-root .fs-grid{width:100%!important;min-width:0!important;max-width:100%;table-layout:fixed;zoom:1!important;font:400 12px/1.35 Arial,"Microsoft JhengHei",sans-serif;border:1px solid #222}
 #finance-root .fs-grid td,#finance-root .fs-grid th{border-color:#222!important}
 #finance-root .fs-grid tbody th,#finance-root .fs-grid tbody td{height:29px;min-height:29px}
 #finance-root .fs-grid td input,#finance-root .fs-grid td select,#finance-root .fs-grid td textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:29px;min-height:29px;padding:3px 2px;margin:0;font:400 12px/1.35 Arial,"Microsoft JhengHei",sans-serif;background:#fff!important;color:#111!important;border:0;border-radius:0;white-space:nowrap}
 #finance-root .fs-grid td select[data-sheet-native]{appearance:auto;padding-right:14px}
 #finance-root .fs-grid td textarea{white-space:pre-wrap;line-height:14px;resize:vertical}
 #finance-root .fs-grid td input:focus,#finance-root .fs-grid td select:focus,#finance-root .fs-grid td textarea:focus{outline:2px solid #217346;outline-offset:-2px;background:#f3fff6!important}
 #finance-root .fs-grid .fs-calculated{font-size:12px;line-height:21px;padding:4px 2px;min-height:29px;white-space:nowrap;font-variant-numeric:tabular-nums;color:#111}
 #finance-root .fs-grid .fs-excel-title th{font-size:17px;height:32px;position:static;background:#f2f3f3!important;color:#cf6500!important}
 #finance-root .fs-grid .fs-letters th{font-size:10px;height:18px;position:static;color:#68766c!important;background:#f3f3f3!important}
 #finance-root .fs-grid .fs-column-head th{font-size:12px;line-height:16px;height:46px;min-height:46px;padding:4px 2px;white-space:normal;overflow-wrap:anywhere;word-break:normal;background:#b7dee8!important;color:#111!important;position:sticky;top:0;z-index:8}
 #finance-root .fs-grid .fs-frozen,#finance-root .fs-grid .fs-row-number{position:static!important;left:auto;box-shadow:none}
 #finance-root .fs-grid .fs-row-number{font-size:10px;min-width:0;width:auto}
 #finance-root .fs-grid .fs-excel-groups th{font-size:12px;height:26px;background:#f4dcc0;color:#111}
 #finance-root .fs-grid tfoot.fs-exact-footer td,#finance-root .fs-grid tfoot.fs-exact-footer th,#finance-root .fs-grid tfoot.fs-summary-footer td,#finance-root .fs-grid tfoot.fs-summary-footer th{height:29px;min-height:29px;padding:3px 2px;font-size:12px!important}
 #finance-root .fs-help{font-size:12px;line-height:1.6;padding:7px 10px;overflow-wrap:anywhere}
 #finance-root .fs-footer-label{white-space:normal!important;font-size:12px!important;line-height:1.3}
 #finance-root .fs-column-pages[hidden]{display:none!important}
 #finance-root .fs-layout-hidden{display:none!important}
 #finance-root .fs-paged .fs-grid>tfoot,#finance-root .fs-paged .fs-excel-groups{display:none!important}
 #finance-root .fs-narrow-totals{display:none}
 #finance-root .finance-body:has(.fs-paged) .fs-narrow-totals{display:block}
 #finance-root .fs-readable-totals{background:#fff;padding:10px;border-top:1px solid #b4c0b8;color:#18251d}
 #finance-root .fs-readable-totals h3{font-size:15px;margin:0 0 8px}
 #finance-root .fs-readable-headlines,#finance-root .fs-readable-total-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0}
 #finance-root .fs-readable-total{border:1px solid #5f6d61;padding:8px;background:var(--source-bg,#eef5f0);color:var(--source-color,#111);min-width:0}
 #finance-root .fs-readable-total dt,#finance-root .fs-readable-total-list dt{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
 #finance-root .fs-readable-total dd{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;margin:3px 0 0;line-height:1.5;overflow-wrap:anywhere}
 #finance-root .fs-readable-total-details{margin-top:8px;font-size:12px}
 #finance-root .fs-readable-total-details summary{padding:6px 0;cursor:pointer}
 #finance-root .fs-readable-total-list>div{padding:7px;border:1px solid #d8e0da;min-width:0}
 #finance-root .fs-readable-total-list dd{font-size:14px;margin:3px 0 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
 #finance-root .fs-readable-totals .fs-footer-unverified{color:#a31717}
 #finance-root .fs-person-heading{padding:10px;gap:10px;flex-wrap:wrap;min-width:0}
 #finance-root .fs-person-heading h2{font-size:18px;line-height:1.4}
 #finance-root .fs-person-selector{padding:8px 10px}
 #finance-root .fs-person-selector select{font-size:13px;min-height:34px;max-width:100%}
 #finance-root .fs-person-kpis strong{font-size:20px}
 #finance-root .fs-person-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);min-width:0;gap:12px;padding:10px}
 #finance-root .fs-person-layout>*{min-width:0;max-width:100%}
 #finance-root .fs-person-section{min-width:0;max-width:100%}
 #finance-root .fs-person-section h3{font-size:14px;padding:8px}
 #finance-root .fs-person-scroll{overflow-x:hidden;overflow-y:auto;max-width:100%}
 #finance-root .fs-person-scroll table{width:100%;min-width:0!important;max-width:100%;table-layout:fixed;font-size:12px}
 #finance-root .fs-person-scroll th,#finance-root .fs-person-scroll td{font-size:12px;padding:5px 3px;overflow-wrap:anywhere;word-break:normal;white-space:normal}
 #finance-root .finance-footer .actions{flex-wrap:wrap;min-width:0}
 #finance-root .finance-footer button{font-size:12px;white-space:normal}
}
@media screen and (max-width:1023px){
 #finance-root .fs-grid td input,#finance-root .fs-grid td select,#finance-root .fs-grid td textarea,#finance-root .fs-grid .fs-calculated{font-size:14px;min-height:36px;height:36px}
 #finance-root .fs-grid .fs-column-head th{font-size:13px;min-height:44px}
 #finance-root .fs-person-layout{grid-template-columns:minmax(0,1fr)}
 #finance-root .fs-person-scroll table,#finance-root .fs-person-scroll td,#finance-root .fs-person-scroll th{font-size:13px}
}
@media screen and (max-width:600px){
 .shell:has(#finance-root)>.main{padding:8px 10px 16px}
 #finance-root .heading h1{font-size:19px}
 #finance-root .finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 #finance-root .finance-summary strong{font-size:17px}
 #finance-root .fs-column-pages{margin-left:0;width:100%}
 #finance-root .fs-column-pages select{max-width:100%;flex:1;min-width:120px}
 #finance-root .fs-column-pages button{flex-shrink:0}
 #finance-root .fs-readable-headlines,#finance-root .fs-readable-total-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print{.fs-column-pages,.fs-narrow-totals{display:none!important}}

/* Original workbook proportions: one complete worksheet, no column paging. */
@media screen {
 #finance-root .fs-scroll{overflow:auto;max-height:none;min-height:0;scrollbar-gutter:auto}
 #finance-root .fs-grid{width:var(--excel-width)!important;min-width:0!important;max-width:none;zoom:var(--excel-scale, .7)!important;font:400 16px/1.25 "Microsoft JhengHei",Arial,sans-serif}
 #finance-root .fs-grid tbody th,#finance-root .fs-grid tbody td{height:40px;min-height:40px;padding:0;position:relative}
 #finance-root .fs-grid td input,#finance-root .fs-grid td select,#finance-root .fs-grid td textarea{height:40px;min-height:40px;padding:2px;line-height:18px;font:400 16px/18px "Microsoft JhengHei",Arial,sans-serif;text-overflow:clip}
 #finance-root .fs-grid td input{text-align:center}
 #finance-root .fs-grid td.fs-numeric input{text-align:right;font-variant-numeric:tabular-nums}
 #finance-root .fs-grid td textarea{resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left}
 #finance-root .fs-grid td select[data-sheet-native]{appearance:none;padding:2px;background-image:none!important;opacity:0}
 #finance-root .fs-grid td select[data-sheet-native]:focus{opacity:1;appearance:auto}
 #finance-root .fs-select-value{position:absolute;inset:1px 2px;display:flex;align-items:center;justify-content:center;pointer-events:none;font:400 16px/18px "Microsoft JhengHei",Arial,sans-serif;white-space:normal;overflow-wrap:anywhere;color:#111}
 #finance-root .fs-grid td select:focus+.fs-select-value{display:none}
 #finance-root .fs-grid .fs-calculated{font-size:16px;line-height:18px;min-height:40px;padding:10px 2px;text-align:right;text-overflow:clip}
 #finance-root .fs-grid .fs-excel-title th{height:53px;min-height:53px;font-size:30px;line-height:1.2;padding:0 4px;position:static}
 #finance-root .fs-grid .fs-letters th{height:22px;min-height:22px;font-size:12px;line-height:18px;padding:0;position:static}
 #finance-root .fs-grid .fs-column-head th{height:47px;min-height:47px;font-size:13px;line-height:16px;padding:2px;position:static;overflow-wrap:normal;word-break:normal}
 #finance-root .fs-grid[data-finance-panel="invoice"] .fs-excel-title th{height:67px;min-height:67px}
 #finance-root .fs-grid[data-finance-panel="invoice"] .fs-column-head th{height:38px;min-height:38px}
 #finance-root .fs-grid .fs-row-number{font-size:12px;text-align:center}
 #finance-root .fs-grid tfoot.fs-exact-footer,#finance-root .fs-grid tfoot.fs-summary-footer{position:static}
 #finance-root .fs-grid tfoot.fs-exact-footer td,#finance-root .fs-grid tfoot.fs-exact-footer th,#finance-root .fs-grid tfoot.fs-summary-footer td,#finance-root .fs-grid tfoot.fs-summary-footer th{height:40px;min-height:40px;padding:2px;font-size:14px!important;line-height:18px}
 #finance-root .fs-grid .fs-footer-label{font-size:14px!important;line-height:18px;white-space:normal!important}
 #finance-root .fs-grid .fs-footer-number{font-size:16px!important;font-variant-numeric:tabular-nums}
 #finance-root .fs-grid .fs-source-footer-row .fs-footer-row-number{font-size:0!important}
 #finance-root .fs-narrow-totals,#finance-root .fs-column-pages{display:none!important}
 #finance-root .fs-excel-scale{margin-left:auto;display:flex;align-items:center;gap:6px}
 #finance-root .fs-excel-scale select{width:auto;min-height:28px;padding:2px 6px;font-size:12px}
 #finance-root #fs-scale-status{font-size:12px;white-space:nowrap}
 #finance-root .finance-controls{margin:4px 0;gap:8px}
 #finance-root .finance-summary{margin:4px 0;gap:6px}
 #finance-root .finance-summary>div{padding:4px 8px}
 #finance-root .finance-summary strong{font-size:16px}
 #finance-root .fs-formula-bar input{min-height:26px}
 #finance-root .fs-day-tabs button{min-height:24px;padding:1px 5px}
}
/* Keep worksheet controls compact, like Excel's ribbon rather than stacked cards. */
@media screen {
 #finance-root .fs-grid td select[data-sheet-native]{opacity:0!important}
 #finance-root .fs-grid td select[data-sheet-native]:focus{opacity:1!important}
 body:has(#finance-root) #trial-bar{padding:5px 12px;gap:12px;font-size:12px}
 body:has(#finance-root) #trial-bar strong{font-size:14px}
 body:has(#finance-root) #trial-bar span{margin-top:1px;font-size:11px}
 body:has(#finance-root) #trial-bar button,body:has(#finance-root) #trial-bar a{padding:5px 8px;min-height:28px;font-size:12px}
 body:has(#finance-root) #trial-account-picker{min-height:30px;padding:4px 8px;font-size:12px}
 .shell:has(#finance-root)>.main{padding-top:6px}
 #finance-root>.back{margin-bottom:2px;font-size:12px;line-height:18px}
 #finance-root .heading{margin:2px 0 4px;min-height:0}
 #finance-root .heading h1{font-size:18px;line-height:26px}
 #finance-root .heading p{display:none}
 #finance-root .heading .btn{min-height:28px;padding:3px 10px}
 #finance-root .finance-summary strong{margin-top:2px}
 #finance-root .finance-tabs{margin:2px 0 4px;padding-bottom:0}
 #finance-root .finance-tabs button{min-height:28px;padding:3px 10px;font-size:12px}
 #finance-root .fs-datebar{padding:2px 8px}
 #finance-root .fs-datebar input{min-height:28px;padding:2px 6px}
 #finance-root .fs-day-tabs{padding:2px 6px;gap:3px}
 #finance-root .fs-day-tabs button{min-height:22px;line-height:18px;padding:1px 5px;font-size:11px}
 #finance-root .fs-toolbar{padding:3px 8px}
 #finance-root .fs-toolbar small{display:none}
 #finance-root .fs-toolbar strong{font-size:13px}
 #finance-root .fs-toolbar .btn{min-height:28px;padding:3px 9px;font-size:12px}
 #finance-root .fs-zoom-bar{padding:2px 8px;gap:6px}
 #finance-root .fs-formula-bar{padding:2px 8px}
 #finance-root .fs-formula-bar input{min-height:24px;font-size:12px}
}
@media screen and (min-width:1000px){
 #finance-root{display:grid;grid-template-columns:minmax(380px, .9fr) minmax(500px, 1.1fr);column-gap:12px}
 #finance-root>*{grid-column:1/-1}
 #finance-root .finance-controls{grid-column:1;grid-row:3;display:grid;grid-template-columns:150px minmax(0,1fr);margin:3px 0 5px;align-items:end}
 #finance-root .finance-controls>div{min-width:0}
 #finance-root .finance-summary{grid-column:2;grid-row:3;margin:3px 0 5px;align-items:end}
 #finance-root .finance-summary>div{padding:3px 6px;border-radius:3px}
 #finance-root .finance-summary small{font-size:11px}
 #finance-root .finance-summary strong{font-size:15px}
}
@media screen {
 #finance-root .fs-grid td select[data-sheet-native]{position:absolute;inset:0;height:100%;min-height:40px}
 #finance-root .fs-select-value{position:static;inset:auto;box-sizing:border-box;min-height:39px;padding:1px 2px;height:auto}
 #finance-root .fs-grid td select:focus+.fs-select-value{display:flex;visibility:hidden}
}
@media print {
 #finance-root .fs-grid td select[data-sheet-native]{display:none!important}
 #finance-root .fs-select-value{display:block;font:inherit;white-space:normal;overflow-wrap:anywhere}
}
@media screen {#finance-root .fs-grid{border-collapse:collapse!important}}

/* Use the full workspace; fit mode scales the entire worksheet to this width. */
@media screen {
 #finance-root .finance-body:has(.fs-grid[data-finance-panel="cash"]),
 #finance-root .finance-body:has(.fs-grid[data-finance-panel="invoice"]),
 #finance-root #finance-signoffs[data-signoff-panel="cash"],
 #finance-root #finance-signoffs[data-signoff-panel="invoice"]{width:100%;max-width:100%;box-sizing:border-box;justify-self:stretch}
 #finance-root #finance-signoffs[data-signoff-panel="invoice"]{grid-template-columns:minmax(0,1fr)}
}

/* Notes retain all text and grow/shrink with the row at every worksheet scale. */
@media screen {
 #finance-root .fs-grid td textarea[data-field="note"]{height:auto;min-height:40px;max-height:none!important;overflow:hidden!important;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;resize:none;box-sizing:border-box}
}

/* 2026-10-27 preview: full-width performance workbooks, readable text, explicit new orders. */
@media screen {
 #finance-root .finance-body{width:100%;max-width:100%;box-sizing:border-box;justify-self:stretch}
 #finance-root .fs-grid:not([data-finance-panel="cash"]):not([data-finance-panel="invoice"]){font-size:16px}
 #finance-root .fs-grid:not([data-finance-panel="cash"]):not([data-finance-panel="invoice"]) :is(input,select,textarea,.fs-select-value,.fs-calculated){font-size:16px;line-height:22px;min-height:44px}
 #finance-root .fs-grid:not([data-finance-panel="cash"]):not([data-finance-panel="invoice"]) .fs-column-head th{font-size:15px;line-height:20px;min-height:50px;overflow-wrap:anywhere}
 #finance-root .fs-grid:not([data-finance-panel="cash"]):not([data-finance-panel="invoice"]) :is(tfoot td,tfoot th,.fs-footer-label,.fs-footer-number){font-size:15px!important;line-height:20px}
 #finance-root .fs-person-layout{width:100%;box-sizing:border-box;grid-template-columns:minmax(0,0.9fr) minmax(0,2.1fr)}
 #finance-root .fs-person-scroll{width:100%;max-width:100%}
 #finance-root .fs-person-scroll table{width:100%;font-size:16px;zoom:1}
 #finance-root .fs-person-scroll :is(th,td){font-size:16px;line-height:1.5;padding:8px 6px;vertical-align:middle}
 #finance-root .fs-person-section h3{font-size:17px;line-height:1.5;padding:9px}
 #finance-root .fs-person-heading h2{font-size:21px}
 #finance-root .fs-person-selector select{font-size:16px}
 #finance-root .fs-person-kpis>div{font-size:14px}
 #finance-root .fs-person-kpis strong{font-size:24px}
 #finance-root .fs-person-scroll .fs-person-new-order td{background:#fff2a6!important;color:#171b10!important;font-weight:600}
 #finance-root .fs-person-scroll .fs-person-new-order td:last-child{font-weight:800}
}
@media screen and (max-width:1399px){
 #finance-root .fs-person-layout{grid-template-columns:minmax(0,1fr);gap:16px}
 #finance-root .fs-person-scroll :is(th,td){font-size:15px}
 #finance-root .fs-grid:not([data-finance-panel="cash"]):not([data-finance-panel="invoice"]) :is(input,select,textarea,.fs-select-value,.fs-calculated){font-size:15px}
}

/* Let vertical wheel/touch scroll continue to the page while hovering a worksheet. */
@media screen {
 #finance-root .fs-scroll{overscroll-behavior-y:auto}
}

/* Preview 2026-10-27: centered figures, native Excel-style coach choices, precise pending edit feedback. */
@media screen {
 #finance-root .fs-grid td.fs-numeric input,
 #finance-root .fs-grid .fs-numeric .fs-calculated,
 #finance-root .fs-grid :is(.fs-footer-number,[data-fs-total]),
 #finance-root .fs-person-scroll .fs-number-cell{text-align:center!important}
 #finance-root .fs-grid td select[data-field^="coach"],
 #finance-root .fs-grid td select[data-field^="coach"] option{background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;color-scheme:light!important}
 #finance-root .fs-grid tbody tr.fs-dirty td,
 #finance-root .fs-grid tbody tr.fs-dirty td :is(input,select,textarea,.fs-select-value){background:#fff!important}
 #finance-root .fs-grid tbody tr.fs-dirty td.fs-edited,
 #finance-root .fs-grid tbody tr.fs-dirty td.fs-edited :is(input,select,textarea,.fs-select-value){background:#fff8da!important}
}

/* Original October Excel course coach fills: theme2 darker10%, accent6 lighter40%. */
@media screen {
 #finance-root .fs-grid[data-finance-panel="course"] tbody td:has(>[data-field="coach1"]),
 #finance-root .fs-grid[data-finance-panel="course"] tbody td:has(>[data-field="coach3"]){--fs-coach-excel-bg:#ddd9c4}
 #finance-root .fs-grid[data-finance-panel="course"] tbody td:has(>[data-field="coach2"]),
 #finance-root .fs-grid[data-finance-panel="course"] tbody td:has(>[data-field="coach4"]){--fs-coach-excel-bg:#fac090}
 #finance-root .fs-grid[data-finance-panel="course"] tbody td:not(.fs-edited):has(>[data-field^="coach"]),
 #finance-root .fs-grid[data-finance-panel="course"] tbody td:not(.fs-edited):has(>[data-field^="coach"]) :is(input,select,.fs-select-value,.fs-calculated){background:var(--fs-coach-excel-bg)!important;color:#111!important}
}

@media screen {
 #finance-root .fs-grid td input,#finance-root .fs-grid td select,#finance-root .fs-grid td textarea,#finance-root .fs-grid .fs-select-value,#finance-root .fs-grid .fs-calculated{font-size:var(--finance-cell-font,20px)!important;line-height:1.4!important;min-height:calc(var(--finance-cell-font,20px)*1.4 + 12px)!important;height:auto!important}
 #finance-root .fs-grid .fs-column-head th{font-size:var(--finance-header-font,17px)!important;line-height:1.35!important;height:auto!important;padding:7px 4px!important}
 #finance-root .fs-grid [data-negative-money="true"],#finance-root .fs-grid [data-negative-money="true"]:focus{color:#c00000!important;-webkit-text-fill-color:#c00000!important}
}

@media screen {#finance-root .fs-grid input[data-money-cell]{padding-inline:2px!important}}

@media screen {#finance-root .fs-grid input[data-money-cell]{font-size:calc(var(--finance-cell-font,20px)*.92)!important}}

@media screen,print {
 #finance-root .fs-signoff-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:20px 16px;background:#fff;color:#18251d;border:1px solid #b7c2ba;border-top:0;font:15px/1.6 Arial,"Microsoft JhengHei",sans-serif}
 #finance-root .fs-signoff-area h3{font-size:17px;margin:0 0 14px;color:#18251d}
 #finance-root .fs-signoff-main:only-child{grid-column:1/-1}
 #finance-root .fs-signer{display:grid;grid-template-columns:56px minmax(100px,1fr) 36px minmax(135px,1fr);align-items:center;gap:8px;margin-bottom:14px}
 #finance-root .fs-signoff-area input,#finance-root .fs-signoff-area select{font:15px/1.5 Arial,"Microsoft JhengHei",sans-serif;background:#fff!important;color:#111!important;box-sizing:border-box;width:100%;min-width:0;min-height:38px;border:1px solid #8e9e92;border-radius:4px;padding:6px 8px}
 #finance-root .fs-signoff-area select:disabled,#finance-root .fs-signoff-area input:disabled{background:#f1f4f1!important;color:#46554a!important;opacity:1}
 #finance-root .fs-signoff-area .btn{font-size:14px;min-height:36px;padding:6px 12px}
 #finance-root .fs-signoff-area .error{grid-column:1/-1;margin:0;color:#a31717}
 #finance-root .fs-receipt-list{list-style:none;margin:0 0 12px;padding:0}
 #finance-root .fs-receipt-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-bottom:1px solid #c5cec7;padding:8px 0}
 #finance-root .fs-receipt-list p{flex-basis:100%;margin:0;color:#425348;overflow-wrap:anywhere}
 #finance-root #fs-receipt-form{display:grid;grid-template-columns:minmax(135px,1fr) minmax(100px,1fr) minmax(120px,1fr);gap:10px;align-items:end}
 #finance-root #fs-receipt-form label{font-size:13px;color:#34483b;display:grid;gap:4px}
 #finance-root #fs-receipt-form .fs-receipt-note{grid-column:1/3}
 #finance-root .fs-signoff-help{font-size:13px;color:#526359;margin:10px 0 0}
}
@media screen and (max-width:1000px){#finance-root .fs-signoff-area{grid-template-columns:minmax(0,1fr)}#finance-root .fs-receipt-area{border-top:1px solid #c5cec7;padding-top:18px}}
@media screen and (max-width:520px){#finance-root .fs-signer{grid-template-columns:54px minmax(0,1fr)}#finance-root #fs-receipt-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#finance-root #fs-receipt-form .fs-receipt-note{grid-column:1/-1}#finance-root .fs-signoff-area input,#finance-root .fs-signoff-area select{font-size:16px}}
@media print{#fs-signoff-form button,#fs-receipt-form,.fs-signoff-help,.fs-signoff-status{display:none!important}#finance-root .fs-signoff-area input,#finance-root .fs-signoff-area select{border:0!important;appearance:none;padding:0}}

#finance-root .fs-receipt-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}

#finance-root .fs-signoff-area :is(select,option,input,textarea){color:#111!important;-webkit-text-fill-color:#111!important;color-scheme:light}
#finance-root .fs-signoff-area select:disabled{color:#111!important;-webkit-text-fill-color:#111!important}
#finance-root .fs-lock-actions{grid-column:1/-1;border-top:1px solid #b8c5bd;padding-top:16px}
#finance-root .fs-lock-actions :is(p,strong,summary){color:#172b21!important}
#finance-root .fs-lock-actions details{margin-top:16px}
#finance-root .fs-lock-banner{background:#fff1da;color:#493516;padding:12px 16px;border:1px solid #c8ae72;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px}
#finance-root .fs-lock-banner *{color:#493516!important}
#finance-root .fs-grid [data-locked=true]{color:#40504a!important;cursor:default}
#finance-root .fs-grid[data-finance-panel=summary] tbody td[data-col="0"],#finance-root .fs-grid[data-finance-panel=summary] tbody td[data-col="0"] :is(input,.fs-calculated){text-align:center!important}

/* Finance footer pickers: white menu and black selected text in every state. */
#finance-root .fs-signoff-area select,
#finance-root .fs-signoff-area select:is(:hover,:focus,:active,:disabled),
#finance-root .fs-signoff-area select option,
#finance-root .fs-signoff-area select option:is(:checked,:hover,:focus,:disabled){
 background:#fff!important;
 background-color:#fff!important;
 background-image:none!important;
 color:#000!important;
 -webkit-text-fill-color:#000!important;
 color-scheme:light;
 opacity:1;
}
#finance-root input[data-field=phone]{font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-customer-results{position:fixed;z-index:1000;max-height:250px;overflow:auto;background:#fff;color:#000;border:1px solid #8b9990;box-shadow:0 8px 24px #0004;border-radius:6px;padding:4px}
.fs-customer-results button{display:block;width:100%;text-align:left;background:#fff;color:#000;padding:10px;font:14px/1.5 Arial,"Microsoft JhengHei",sans-serif;white-space:normal;border-bottom:1px solid #e5e8e6}
.fs-customer-results button:hover,.fs-customer-results button[aria-selected=true]{background:#e4f2d7;color:#000}

/* An unresolved duplicate is indicated inside its name cell, without another column. */
#finance-root .fs-grid td.fs-customer-name-cell{position:relative!important}
.fs-grid td.fs-customer-needs-choice input[data-field=name],.fs-grid td.fs-customer-needs-choice input[data-field=memberNo],.fs-grid td.fs-customer-needs-choice input[data-field=phone]{padding-right:27px!important}
.fs-grid .fs-customer-warning{position:absolute;right:4px;top:50%;transform:translateY(-50%);z-index:6;display:grid;place-items:center;width:24px!important;min-width:24px!important;height:24px!important;min-height:24px!important;padding:0!important;border:1px solid #956200!important;border-radius:50%;background:#fff2cc!important;color:#674200!important;-webkit-text-fill-color:#674200!important;font:bold 17px/1 Arial!important;cursor:pointer}
.fs-grid .fs-customer-warning:focus-visible{outline:2px solid #674200;outline-offset:2px}
.fs-member-confirm-dialog{width:min(94vw,600px);max-width:94vw;max-height:88vh;overflow:auto;background:#fff;color:#111;color-scheme:light}
.fs-member-confirm{background:#fff;color:#111;padding:10px}.fs-member-confirm header{display:flex;align-items:center;justify-content:space-between;gap:12px}.fs-member-confirm h2{font-size:21px;margin:0}.fs-member-confirm p{font-size:15px;line-height:1.6}.fs-member-confirm .btn.ghost{color:#111!important}
.fs-member-confirm-list{display:grid;gap:10px}.fs-member-confirm-list button{display:grid;gap:5px;width:100%;text-align:left;padding:14px;background:#fff!important;color:#111!important;border:1px solid #9ca79e;border-radius:8px;font:15px/1.5 Arial,"Microsoft JhengHei",sans-serif;white-space:normal;overflow-wrap:anywhere}.fs-member-confirm-list button:hover,.fs-member-confirm-list button:focus-visible{background:#eef6e8!important;outline:2px solid #4f762e}
@media print{.fs-customer-warning{display:none!important}}

.fs-grid td.fs-range{box-shadow:inset 0 0 0 999px #21734612!important}
.fs-grid td.fs-active-cell{outline:2px solid #217346!important;outline-offset:-2px;z-index:2}
.fs-grid td.fs-active-cell input,.fs-grid td.fs-active-cell textarea{background:#f5fff8!important}
.finance-shortcuts{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;line-height:1.5}
.finance-shortcuts dt{font-weight:700;color:#c5f64a}.finance-shortcuts dd{margin:0}
.finance-print-dialog{width:min(96vw,1600px);max-width:96vw}
.finance-print-preview{background:#fff;color:#111;padding:12px;color-scheme:light}
.finance-print-preview header,.finance-print-tools{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.finance-print-preview h2{font-size:20px;margin:0}.finance-print-preview p{font-size:13px}
.finance-print-tools{justify-content:flex-start;padding:12px 0}
.finance-print-tools label{display:flex;gap:8px;align-items:center}.finance-print-tools select{background:#fff!important;color:#111!important;border:1px solid #899b90;padding:6px;min-width:200px}
.finance-print-preview .btn.ghost{color:#222!important}.finance-print-tools label{white-space:nowrap}.finance-print-tools option{color:#111;background:#fff}.finance-print-tools .custom-select-value,.finance-print-tools .select-value{color:#111!important}
.finance-paper-group{display:flex;gap:16px;align-items:center;margin:0;padding:6px 12px;border:1px solid #8d9b91;border-radius:6px;background:#fff;color:#111!important}
.finance-paper-group label,.finance-paper-group legend{color:#111!important;font-size:14px!important}
.finance-paper-group legend{padding:0 5px}.finance-paper-group input{width:16px!important;height:16px!important;min-height:16px!important;margin:0;accent-color:#217346;color-scheme:light}
.finance-print-document{overflow:auto;padding:8px;background:#dfe5df}
.finance-day-report{background:#fff;color:#000;padding:8px;min-width:1000px;font:12px/1.3 "Microsoft JhengHei",Arial,sans-serif}
.finance-day-report table{border-collapse:collapse;width:100%;table-layout:fixed;color:#000;background:#fff}
.finance-day-report td{border:1px solid #333;padding:3px 2px;white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:middle;text-align:center}
.finance-day-report .report-number{text-align:right;font-variant-numeric:tabular-nums}
.finance-day-report .report-code{white-space:nowrap;overflow-wrap:normal;font-size:.84em;letter-spacing:0}
.finance-day-report .report-data-row{height:28px}
.finance-day-report .report-title{font-size:22px;font-weight:bold;color:#c56400;text-align:center;padding:8px}
.finance-day-report .report-header{background:#b7dee8;font-weight:bold}
.finance-day-report .report-subtotal,.finance-day-report .report-footer{background:#b7dee8}
.finance-day-report .report-yellow{background:#ffff00;font-weight:bold}
.finance-day-report .report-warning{color:#a32121}
#finance-print-root{display:none}
@media print{
 body.finance-print-mode{margin:0!important;padding:0!important;background:white!important;color:black!important}
 body.finance-print-mode> *:not(#finance-print-root){display:none!important}
 body.finance-print-mode dialog,body.finance-print-mode dialog::backdrop{display:none!important}
 body.finance-print-mode #finance-print-root{display:block!important;width:100%;margin:0;padding:0;background:white}
 #finance-print-root .finance-day-report{min-width:0;width:100%;padding:0;box-sizing:border-box;font-size:7.3pt;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 #finance-print-root.paper-a3 .finance-day-report{font-size:10.2pt}
 #finance-print-root .finance-day-report td{padding:.7mm .4mm;border-width:.2mm}
 #finance-print-root .report-data-row{height:5.3mm}
 #finance-print-root.paper-a3 .report-data-row{height:7mm}
 #finance-print-root .report-title{font-size:16pt;padding:2mm}
 #finance-print-root table{break-inside:auto}
 #finance-print-root tr{break-inside:avoid;page-break-inside:avoid}
}

/* Statistics fill controls: numbers and formulas remain untouched. */
.fs-color-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 0;font-size:14px}
.fs-color-tools span{color:#bdc9cc}.fs-color-palette{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:10px;margin:18px 0}
.fs-color-palette button{border:2px solid transparent;border-radius:6px;padding:15px 8px;font-size:15px;cursor:pointer}
.fs-color-palette button[aria-pressed=true]{border-color:#1d6953}
#finance-root #finance-sheet-scroll td.fs-user-fill,#finance-root #finance-sheet-scroll td.fs-user-fill>*{background:var(--fs-user-fill)!important;color:#17242b!important}
#finance-sheet-scroll td.fs-color-selected{outline:3px solid #198261;outline-offset:-3px}
#finance-sheet-scroll td.fs-color-pending{box-shadow:inset 0 -3px #d29000}
.finance-day-report thead{display:table-header-group}

/* Print preview fits the available width and height without clipping the signoffs. */
.finance-print-dialog{width:min(98vw,1920px);max-width:98vw;max-height:96vh;padding:16px;overflow:auto}
.finance-print-preview{padding:8px}
.finance-print-document{box-sizing:border-box;overflow:auto;max-width:100%;padding:8px}
.finance-day-report{box-sizing:border-box}
.finance-day-report .report-confirmations{display:grid;grid-template-columns:43% minmax(0,1fr);gap:20px;margin-top:20px;align-items:start;break-inside:avoid}
.finance-day-report .report-confirmations table{border:1px solid #63797e;width:100%}
.finance-day-report .report-confirmations th,.finance-day-report .report-confirmations td{border:1px solid #63797e;padding:8px 6px;height:40px;box-sizing:border-box}
.finance-day-report .report-confirmations th{background:#e5f0f3;font-weight:700}
.finance-day-report .report-confirmations thead tr:first-child th{background:#b7dee8}
.finance-day-report .report-confirmations .receipt-note{text-align:left}
.finance-day-report .report-gap{border:0!important;background:#fff}
@media print{
 #finance-print-root .report-confirmations{margin-top:4mm;gap:4mm;grid-template-columns:43% minmax(0,1fr)}
 #finance-print-root .report-confirmations th,#finance-print-root .report-confirmations td{padding:1.2mm .8mm;height:8mm;border-width:.2mm}
 #finance-print-root .finance-day-report{font-size:8pt}
 #finance-print-root.paper-a3 .finance-day-report{font-size:10.5pt}
}

#finance-print-root .report-negative{color:#c00000!important;-webkit-text-fill-color:#c00000!important}

#finance-print-root .finance-day-report[data-print-panel="invoice"] .report-confirmations{grid-template-columns:minmax(0,1fr)}

/* Keep the printable table aligned with the current worksheet, including its preview. */
.finance-day-report .report-negative{color:#c00000!important;-webkit-text-fill-color:#c00000!important}
.finance-day-report .report-number{text-align:center}
.finance-day-report[data-print-panel="invoice"] .report-header-row td{background:#fff}
.finance-day-report[data-print-panel="cash"] .report-confirmations{grid-template-columns:minmax(0,43fr) minmax(0,57fr)}
.finance-day-report[data-print-panel="invoice"] .report-confirmations{grid-template-columns:minmax(0,1fr)}
@media screen and (max-width:760px){.finance-day-report[data-print-panel="cash"] .report-confirmations{grid-template-columns:minmax(0,1fr)}}
@media screen {.finance-print-preview .report-header-row td{font-size:var(--report-header-font,18px);line-height:1.35}}

.finance-day-report .report-number{white-space:nowrap;overflow-wrap:normal}
.finance-day-report .report-number-text{display:inline-block;white-space:nowrap;font-variant-numeric:tabular-nums}

.finance-day-report .report-code-text{display:inline-block;white-space:nowrap}

/* Keep the existing editor and directory-loading controllers mounted without displaying their status strips. */
#finance-root .fs-formula-bar,#fs-customer-directory-status{display:none!important}

.customer-followup{--followup-border:#34413f;--followup-muted:#aebcb8;--followup-green:#c4f43b;display:grid;gap:16px;margin-bottom:28px}.customer-followup .card{margin:0}.followup-intro p{margin:8px 0;line-height:1.65}.followup-source-note{color:#e8d9a5;font-size:14px}.followup-tabs{display:flex;gap:8px;flex-wrap:wrap}.followup-tabs button{display:inline-flex;align-items:center;gap:10px;background:#15201f;color:#e5ebe8;border:1px solid var(--followup-border);border-radius:9px;padding:12px 15px;font-size:15px;cursor:pointer}.followup-tabs button strong{font-size:16px}.followup-tabs button[aria-selected=true]{color:#101812;background:var(--followup-green);border-color:var(--followup-green)}.followup-filters{display:grid;grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) auto;align-items:end;gap:12px}.followup-filters .label{margin-bottom:7px}.followup-filters input[type=search],.followup-filters select{width:100%;font-size:15px}.followup-filters select,.followup-dialog-select{background:#fff!important;color:#111!important;color-scheme:light;border:1px solid #aeb8b4;border-radius:7px;padding:11px 12px}.followup-filters select option,.followup-dialog-select option{background:#fff!important;color:#111!important}.followup-check{display:flex;align-items:center;gap:8px;min-height:44px;white-space:nowrap;color:#d9e1dd;font-size:14px}.followup-check input{width:18px;height:18px;accent-color:var(--followup-green)}#followup-result-count{grid-column:1/-1;margin:1px 0 0;font-size:14px;color:var(--followup-muted)}#followup-rows{display:grid;gap:12px}.followup-card{border:1px solid var(--followup-border);background:#141e21;border-radius:14px;padding:18px}.followup-row{display:grid;grid-template-columns:minmax(140px,1.15fr) minmax(150px,1.3fr) minmax(105px,.85fr) minmax(105px,.85fr) auto;gap:16px;align-items:start}.followup-person h2{font-size:18px;line-height:1.4;margin:0 0 8px;word-break:break-word}.followup-person small,.followup-classification small,.followup-owner small{display:block;color:var(--followup-muted);font-size:13px;line-height:1.6;margin-top:6px}.followup-phone{display:block;color:#edf6e4!important;font-size:17px;font-variant-numeric:tabular-nums;letter-spacing:.025em;text-decoration:none;white-space:nowrap}.followup-phone:hover{text-decoration:underline}.followup-missing{color:#e6ba91;font-size:14px}.followup-badge{display:inline-block;font-size:13px;line-height:1.45;font-weight:600;border:1px solid #5d6d64;border-radius:6px;padding:5px 8px;background:#27372b;color:#dbeddc}.followup-badge.is-unknown{background:#382e1a;border-color:#786138;color:#f2d798}.followup-badge.is-purchased{background:#1d3536;border-color:#426c6e;color:#b8e3e6}.followup-alert{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;border:1px solid #edc363;border-radius:50%;width:21px;height:21px;color:#f2ce80;font-size:15px}.followup-date>span,.followup-owner>span{display:block;color:var(--followup-muted);font-size:13px;margin-bottom:8px}.followup-date>strong,.followup-owner>strong{font-size:15px;font-weight:600;line-height:1.4;white-space:nowrap}.followup-actions{display:flex;flex-direction:column;gap:8px}.followup-actions .btn{font-size:13px;padding:9px 12px;min-height:36px}.followup-details{margin-top:15px;border-top:1px solid #2d393d;padding-top:12px}.followup-details>summary{cursor:pointer;color:#c8d6d0;font-size:13px;line-height:1.7}.followup-detail-body{margin-top:14px;padding:0 4px}.followup-detail-body h3{font-size:14px;margin:20px 0 10px}.followup-detail-body p{font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.followup-reason{color:#d6dfe1}.followup-source{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.followup-source>div{display:block;min-width:0}.followup-source dt{font-size:12px;color:var(--followup-muted);margin-bottom:5px}.followup-source dd{margin:0;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.followup-source>div:nth-child(3),.followup-source>div:nth-child(4){grid-column:1/-1}.followup-candidates{background:#302a1d;border:1px solid #635337;border-radius:8px;padding:12px 15px;margin-bottom:15px}.followup-candidates h3{margin-top:0}.followup-history{border-left:3px solid #53705c;padding:10px 13px;margin:9px 0;background:#18272a;border-radius:0 7px 7px 0}.followup-history strong{font-size:14px}.followup-history small{color:var(--followup-muted);font-size:12px;margin-left:12px}.followup-history p{margin:8px 0 0}.followup-empty{text-align:center;padding:32px 22px}.followup-empty h2{font-size:18px}.followup-empty p{font-size:14px;color:var(--followup-muted)}#followup-more{justify-self:center}.followup-dialog-warning{font-size:14px;color:#e9cf92}#followup-contact-form,#followup-assign-form{display:grid;gap:10px}#followup-contact-form .label,#followup-assign-form .label{margin:4px 0 0}#followup-contact-note{font:inherit;line-height:1.65;width:100%;resize:vertical;min-height:110px}#followup-contact-form .actions,#followup-assign-form .actions{margin-top:12px}@media(max-width:1280px){.followup-row{grid-template-columns:minmax(140px,1.2fr) minmax(145px,1.2fr) minmax(105px,.9fr) auto}.followup-owner{grid-column:1/3;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.followup-owner>span,.followup-owner small{margin:0}.followup-actions{grid-column:4;grid-row:1/3}}@media(max-width:850px){.followup-filters{grid-template-columns:minmax(200px,1fr) minmax(130px,.8fr)}.followup-check{grid-column:1/-1;min-height:30px}.followup-row{grid-template-columns:minmax(150px,1.25fr) minmax(130px,1fr)}.followup-date{grid-column:1}.followup-date>span,.followup-date>strong{display:inline;font-size:14px}.followup-date>strong{margin-left:9px}.followup-owner{grid-column:2;display:block}.followup-owner>span{display:inline;margin-right:6px}.followup-owner small{margin-top:5px}.followup-actions{grid-column:1/-1;grid-row:auto;flex-direction:row;justify-content:flex-end}.followup-actions .btn{padding:9px 18px}.followup-tabs button{padding:10px 12px;font-size:14px}}@media(max-width:520px){.followup-filters{grid-template-columns:1fr}.followup-filters>div,.followup-check{grid-column:1}.followup-row{grid-template-columns:1fr;gap:12px}.followup-classification,.followup-date,.followup-owner,.followup-actions{grid-column:1}.followup-person h2{font-size:18px}.followup-person .followup-phone{font-size:18px}.followup-classification small{margin-top:4px}.followup-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.followup-tabs button{justify-content:space-between;gap:5px}.followup-card{padding:16px}.followup-source{grid-template-columns:1fr}.followup-source>div{grid-column:1!important}.followup-history small{display:block;margin:5px 0 0}.followup-intro .btn{width:100%}}
.followup-stopped{max-width:160px;margin:0;color:#b8d6cb;font-size:13px;line-height:1.65}.followup-contact-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px;margin:12px 0 0}.followup-contact-meta>div{min-width:0}.followup-contact-meta dt{color:#aebcb8;font-size:12px;margin-bottom:4px}.followup-contact-meta dd{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}#followup-rejection-section{display:grid;gap:9px}#followup-rejection-section[hidden]{display:none}#followup-rejection-reason{font:inherit;width:100%;line-height:1.65;resize:vertical;min-height:80px}.followup-call-help{font-size:13px;line-height:1.6;margin:0 0 4px}#followup-contact-called-at{font:inherit;width:100%;min-height:44px}#followup-contact-called-at:disabled{opacity:.5}@media(max-width:520px){.followup-contact-meta{grid-template-columns:1fr}.followup-stopped{max-width:none}}

.followup-inline-form,.followup-inline-readonly{margin-top:16px;padding-top:15px;border-top:1px solid #344348}.followup-inline-form fieldset{margin:0;padding:0;border:0;min-width:0;display:grid;gap:12px}.followup-inline-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px}.followup-inline-heading label,.followup-inline-heading>strong{font-size:15px;font-weight:600;color:#edf4ef}.followup-inline-heading small{font-size:12px;color:var(--followup-muted);line-height:1.5}.followup-inline-form textarea,.followup-inline-readonly textarea{box-sizing:border-box;display:block;width:100%;min-height:66px;font:inherit;font-size:15px;line-height:1.65;padding:11px 12px;background:#10191d;color:#edf4ef;border:1px solid #526166;border-radius:8px;white-space:pre-wrap;overflow:hidden;overflow-wrap:anywhere;resize:vertical}.followup-inline-form textarea::placeholder,.followup-inline-readonly textarea::placeholder{color:#94a5a0;opacity:1}.followup-inline-readonly textarea{margin-top:10px;background:#172125;color:#dbe5e1;resize:none;cursor:default}.followup-inline-fields{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(200px,1.2fr) minmax(155px,.9fr);gap:12px;align-items:start}.followup-inline-fields>label{display:grid;min-width:0;gap:7px;font-size:13px;color:#b9c7c2}.followup-inline-fields input,.followup-inline-fields select{box-sizing:border-box;width:100%;min-width:0;min-height:43px;font:inherit;font-size:14px;padding:9px 10px;border:1px solid #526166;border-radius:7px}.followup-inline-fields input{background:#10191d;color:#edf4ef;color-scheme:dark}.followup-inline-fields input:disabled{opacity:.5}.followup-inline-fields .followup-inline-rejection{grid-column:1/-1}.followup-inline-fields .followup-inline-rejection[hidden]{display:none}.followup-inline-rejection textarea{min-height:66px}.followup-inline-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.followup-inline-footer .btn{min-width:110px;min-height:40px;font-size:14px;padding:10px 15px}.followup-inline-error{margin:0;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.followup-inline-error:empty{display:none}.followup-inline-footer:has(.followup-inline-error:empty){justify-content:flex-end}.followup-latest-summary{margin-top:12px;border-left:3px solid #53705c;padding:9px 12px;background:#18272a;border-radius:0 7px 7px 0}.followup-latest-summary>strong{font-size:13px;color:#b9c7c2}.followup-latest-summary p,.followup-latest-contact,.followup-latest-reason{font-size:14px;line-height:1.65;margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.followup-inline-form fieldset:disabled{opacity:.7}@media(max-width:850px){.followup-inline-fields{grid-template-columns:minmax(130px,1fr) minmax(195px,1.2fr)}.followup-inline-fields>label:nth-child(3){grid-column:1}.followup-inline-fields .followup-inline-rejection{grid-column:1/-1}}@media(max-width:520px){.followup-inline-fields{grid-template-columns:1fr}.followup-inline-fields>label{grid-column:1!important}.followup-inline-footer{align-items:stretch;flex-direction:column}.followup-inline-footer .btn{width:100%}.followup-inline-heading{align-items:flex-start;flex-direction:column}}
.followup-visit-help{font-size:12px;line-height:1.55;color:#b1c3b9;font-weight:400}.followup-inline-readonly>p:not([class]){font-size:14px;line-height:1.65;margin:7px 0 0;color:#dbe5e1}

.roster-editor-actions{gap:10px;align-items:end;margin:14px 0}
.roster-editor-actions .label{font-size:13px}
.roster-editor-actions select{min-width:150px}
.roster-day.roster-selected{outline:3px solid #387ed0;outline-offset:-3px;box-shadow:inset 0 0 0 2px white}
.roster-day.roster-selected .day-paint{background:rgba(56,126,208,.22)}
#roster-multi[aria-pressed="true"]{outline:2px solid #b9f038}
.roster-day .day-paint{user-select:none}
.roster-multi-select .day-paint{touch-action:none}
@media print{.roster-day.roster-selected{outline:none;box-shadow:none}.roster-day.roster-selected .day-paint{background:transparent}}
