:root{--g:#0a7d3e;--y:#f5b400;--bg:#f4f6f8;--c:#fff;--t:#1d2733;--m:#6b7785;--b:#e3e8ee;--r:#b42318}
*{box-sizing:border-box}html,body{margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--t);-webkit-text-size-adjust:100%}
a{color:var(--g)}
select,input,textarea,button{font:inherit}select,input,textarea{border:1px solid var(--b);border-radius:8px;padding:9px 10px;width:100%;background:#fff;color:var(--t)}
textarea{min-height:70px;resize:vertical}
header{background:linear-gradient(90deg,#063,#0a7d3e);color:#fff;padding:10px 16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}
header h1{font-size:17px;margin:0}header h1 span{color:var(--y)}
.who{font-size:13px;display:flex;gap:8px;align-items:center}.who .btn{background:#ffffff26}
.badge{background:var(--y);color:#222;font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px}
nav.top{display:flex;gap:4px;padding:8px 16px;background:#fff;border-bottom:1px solid var(--b);overflow-x:auto}
nav.top button{border:0;background:none;padding:8px 12px;border-radius:8px;cursor:pointer;white-space:nowrap;color:var(--m)}nav.top button.on{background:#e6f4ec;color:var(--g);font-weight:600}
main{max-width:1150px;margin:0 auto;padding:16px 16px 90px}
.card{background:var(--c);border:1px solid var(--b);border-radius:12px;padding:16px;margin-bottom:14px}
.card h3{margin:0 0 10px;font-size:15px}.card h2{margin:0 0 6px;font-size:18px}
.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.stat .v{font-size:24px;font-weight:700}.stat .l{color:var(--m);font-size:13px}
.btn{border:0;background:var(--g);color:#fff;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:600;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px;justify-content:center}
.btn.sec{background:#e9edf1;color:var(--t)}.btn.sm{padding:5px 10px;font-size:13px}.btn.red{background:var(--r)}.btn.y{background:var(--y);color:#222}.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.big{padding:14px 18px;font-size:17px;width:100%}
.chip{display:inline-block;font-size:12px;padding:2px 9px;border-radius:20px;font-weight:600;background:#eceff3;color:#556}
.chip.g{background:#dbf3e4;color:#0a7d3e}.chip.y{background:#fff2cc;color:#8a6200}.chip.r{background:#fde2e2;color:#b42318}.chip.b{background:#e3ecfb;color:#2557b8}.chip.p{background:#efe5fb;color:#6b35b5}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--b)}.row:last-child{border:0}
.sub{color:var(--m);font-size:13px}.click{cursor:pointer}.click:hover{background:#fafbfc}
.alert{background:#fff7e0;border:1px solid #f5d27a;border-left:5px solid var(--y)}
.warn{background:#fff7e0;border:1px solid #f5d27a;border-radius:8px;padding:9px 10px;margin:8px 0;font-size:14px}.warn.err{background:#fdecec;border-color:#f3b4b4}.warn.ok{background:#e9f7ef;border-color:#9bd8b3}
.soon{display:inline-block;font-size:11px;font-weight:700;background:#efe5fb;color:#6b35b5;border-radius:20px;padding:2px 8px;margin-left:6px;vertical-align:middle}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--b);vertical-align:top}th{color:var(--m);font-weight:600;font-size:12px}
.tbl{overflow-x:auto}
.bar{height:10px;background:#e9edf1;border-radius:6px;overflow:hidden}.bar i{display:block;height:100%;background:var(--g)}.bar.hit i{background:var(--y)}
.fl label{display:block;font-size:13px;color:var(--m);margin:10px 0 4px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fchips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.fchips button{border:1px solid var(--b);background:#fff;border-radius:20px;padding:6px 12px;font-size:13px;cursor:pointer;min-height:34px}.fchips button.on{background:#e6f4ec;border-color:#9bd8b3;color:var(--g);font-weight:600}
.modalbg{position:fixed;inset:0;background:#0007;display:none;align-items:center;justify-content:center;padding:12px;z-index:40}.modalbg.on{display:flex}
.modal{background:#fff;border-radius:14px;max-width:520px;width:100%;padding:20px;max-height:92vh;overflow:auto;color:var(--t)}
.modal h3{margin-top:0}
.toast{position:fixed;bottom:84px;left:50%;transform:translateX(-50%);background:#1d2733;color:#fff;padding:10px 18px;border-radius:8px;display:none;z-index:60;max-width:90vw}
.boot{padding:40px;text-align:center;color:var(--m)}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:linear-gradient(160deg,#063,#0a7d3e 60%,#0d4a2b)}
.login .card{max-width:380px;width:100%;padding:24px}.login h1{font-size:20px;margin:0 0 4px}.login h1 span{color:#0a7d3e}
.lead{border:1px solid var(--b);border-radius:12px;padding:12px;margin-bottom:10px;background:#fff}
.lead.done{opacity:.6}.lead .top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.lead b.n{font-size:15px}.lead .meta{font-size:13px;color:var(--m);margin-top:2px}
.acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.ups{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.ups span{font-size:12px;border-radius:14px;padding:2px 8px;background:#f1faf4;border:1px solid #cfe9d9}
.ups span.vir{background:#f3f4f8;border-color:#dde}
.dir{font-size:12px;border-radius:8px;padding:5px 8px;margin-top:6px;background:#e3ecfb;color:#2557b8}.dir.sent{background:#fde2e2;color:#b42318;font-weight:600}
.progress{display:flex;gap:10px;align-items:center}.progress .bar{flex:1}
.pcat{margin-bottom:14px}.pcat h3{margin:0 0 4px}.pitem{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed var(--b)}.pitem:last-child{border:0}
.pitem .pr{font-weight:700;text-align:right;white-space:nowrap}.pitem .pr small{display:block;font-weight:500;color:var(--m)}
.internal{border:2px dashed var(--r);background:#fff8f7}
.compliance{background:#fff1c2;color:#5a3d00;border:1px solid #f5d27a;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:600}
.compliance div+div{margin-top:4px}
.terms li{margin-bottom:6px;font-size:14px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal div{min-height:56px;border:1px solid var(--b);border-radius:8px;padding:4px;font-size:12px;background:#fff}.cal .h{min-height:auto;border:0;text-align:center;color:var(--m);background:none}
.cal .today{border-color:var(--g);font-weight:700}.cal .o{opacity:.35}.cal .e{display:block;font-size:10px;border-radius:4px;padding:1px 3px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-booked{background:#dbf3e4;color:#0a7d3e}.k-pencilled{background:#fff2cc;color:#8a6200}.k-unavailable{background:#fde2e2;color:#b42318}.k-requested{background:#e3ecfb;color:#2557b8}
.callbg{position:fixed;inset:0;background:#000b;z-index:30;display:flex;align-items:center;justify-content:center}
.callScr{width:430px;max-width:100%;height:min(900px,100vh);background:linear-gradient(180deg,#0d4a2b,#0a2a1b 55%,#071a11);color:#fff;border-radius:24px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0008}
.cHead{padding:12px 16px 8px;flex:none}.cHead .n{font-size:19px;font-weight:700}.cHead .sub{color:#cfe9d9}
.cTimer{font-variant-numeric:tabular-nums;font-size:14px;background:#ffffff1f;border-radius:20px;padding:3px 10px}
.cBody{flex:1;overflow-y:auto;padding:0 14px 14px}
.cBody .compliance{margin:6px 0}
.cTabs{display:flex;gap:4px;overflow-x:auto;margin:8px 0}.cTabs button{flex:none;border:0;border-radius:18px;padding:7px 11px;background:#ffffff1f;color:#fff;font-size:13px;cursor:pointer}.cTabs button.on{background:var(--y);color:#222;font-weight:700}
.script{background:#ffffff12;border-radius:12px;padding:10px 12px;font-size:15px;line-height:1.45}
.script .say{margin:0 0 10px}.script .say:before{content:"🗣 "}
.script .dir{margin:0 0 10px;font-size:13px;color:#ffe08a;font-style:italic}.script .opt{font-size:12px;color:#b9d8c6}
.script ol{padding-left:20px;margin:0}.script li{margin-bottom:8px}.script h4{margin:8px 0 4px;color:#ffe08a;font-size:13px}
.cSel{display:flex;gap:6px;margin-top:6px}.cSel select{background:#ffffff1a;color:#fff;border-color:#ffffff33;padding:6px 8px;font-size:13px}.cSel select option{color:#222}
.cLog{background:#fff;color:var(--t);border-radius:14px;padding:12px;margin-top:12px}
.oc{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.oc button{border:1px solid var(--b);background:#fff;border-radius:12px;padding:8px 4px;min-height:56px;cursor:pointer;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--t)}
.oc button b{font-size:18px}.oc button.on{border-color:var(--g);background:#e6f4ec;font-weight:700}
.cFoot{flex:none;display:flex;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#0006}
.cFoot .btn{flex:1}
.pill{display:inline-flex;gap:4px;align-items:center;background:#ffffff1f;border-radius:16px;padding:5px 10px;font-size:12px;color:#fff;text-decoration:none;border:0;cursor:pointer}
.rec{font-size:12px;color:#d9c8ff;background:#ffffff14;border:1px dashed #b9a3f0;border-radius:10px;padding:6px 10px;margin-top:8px}
.starter{background:#3a0d0d;border:1px dashed #ff9b8f;border-radius:12px;padding:10px;margin-top:10px;font-size:14px}
.congrats{text-align:center}.congrats .boom{font-size:54px}
.bnav{display:none}
@media(max-width:760px){
 nav.top{display:none}main{padding:10px 10px 90px}header{padding:10px 12px}header h1{font-size:15px}.who .nm{display:none}
 .bnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--b);z-index:6;padding-bottom:env(safe-area-inset-bottom)}
 .bnav button{flex:1;border:0;background:none;padding:8px 2px 6px;font-size:11px;color:var(--m);display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer;min-height:56px}
 .bnav button b{font-size:20px}.bnav button.on{color:var(--g);font-weight:700}
 .callScr{border-radius:0;height:100vh;height:100dvh;width:100%}
 .two{grid-template-columns:1fr}
}
