:root{--navy:#153968;--teal:#009CA6;--gray:#707070;--ink:#1C2731;--bg:#E9ECF1;--panel:#F2F4F7;--line:#E8EDF5;--tint:#DFF5F6;--red:#B42318;--amber:#C77700;--flame:#F28C1A}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{font-family:Arial,"Liberation Sans",Helvetica,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
body{min-height:100vh;min-height:100dvh}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
input,select,textarea{font:inherit;color:var(--ink)}
.ic{flex:none;display:block}
#wrap{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;background:#fff;position:relative;box-shadow:0 0 40px rgba(21,57,104,.12)}
/* ---- login & terms ---- */
.fullpage{min-height:100vh;min-height:100dvh;background:linear-gradient(160deg,#153968,#1D4C86);display:flex;align-items:center;justify-content:center;padding:22px;max-width:none}
.logincard{background:#fff;border-radius:26px;padding:28px 24px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 60px rgba(11,22,38,.35)}
.logincard .logo{width:190px;max-width:70%;align-self:center}
.logincard h1{font-size:26px;color:var(--navy);text-align:center;letter-spacing:-.3px}
.logincard p.sub{color:var(--gray);text-align:center;font-size:15px}
.fld{padding:0 0 14px}.fld label,.lab{font-size:14px;font-weight:700;color:var(--gray);display:block;margin-bottom:6px}
.in{width:100%;border:2px solid #D5DDE8;border-radius:14px;padding:12px 14px;font-size:17px;background:#fff;min-height:50px;outline:none}
.in:focus{border-color:var(--teal)}
.in.bad{border-color:var(--red)}
textarea.in{min-height:84px;resize:vertical;font-size:16px}
.ferr{color:var(--red);font-size:14px;font-weight:700;margin-top:5px}
.fhint{color:var(--gray);font-size:13px;margin-top:5px}
.pbtn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--teal);color:#fff;font-weight:700;font-size:18px;padding:15px 18px;border-radius:15px;width:100%}
.pbtn:disabled{background:#B9C4D2;cursor:not-allowed}
.pbtn.navy{background:var(--navy)}.pbtn.flame{background:var(--flame)}
.obtn{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--navy);border:2px solid #CFD9E6;font-weight:700;font-size:16px;padding:13px 14px;border-radius:15px;width:100%}
.errline{color:var(--red);font-weight:700;font-size:15px;min-height:1.3em;text-align:center}
.sampletag{background:#FFF1DA;color:#8F5400;font-weight:700;font-size:12px;letter-spacing:1.1px;text-transform:uppercase;padding:5px 10px;border-radius:8px;white-space:nowrap;align-self:center}
/* terms */
#termsPage{align-items:stretch;padding:0;background:#fff;max-width:480px;margin:0 auto;box-shadow:0 0 40px rgba(21,57,104,.12)}
.terms-wrap{display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh}
.terms-hd{background:linear-gradient(160deg,#153968,#1D4C86);color:#fff;padding:calc(18px + env(safe-area-inset-top)) 20px 16px;border-radius:0 0 26px 26px;flex:none}
.terms-hd h1{font-size:26px;letter-spacing:-.3px;margin-top:12px}.terms-hd .sub{font-size:15px;color:#B9CCE5;margin-top:3px}
.draftnote{display:inline-block;background:#FFF1DA;color:#8F5400;font-weight:700;font-size:12px;padding:4px 9px;border-radius:99px;margin-top:8px}
.terms-box{flex:1;overflow-y:auto;padding:16px 20px;font-size:15px;line-height:1.5;-webkit-overflow-scrolling:touch}
.terms-box h1{font-size:19px;color:var(--navy);margin:0 0 6px}.terms-box h2{font-size:16px;color:var(--navy);margin:16px 0 4px}
.terms-box p{margin:6px 0}.terms-box ul{margin:6px 0 6px 20px}.terms-box li{margin:3px 0}
.terms-box .ver{color:var(--gray);font-size:13px}
.terms-ft{flex:none;border-top:1px solid var(--line);padding:12px 20px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(21,57,104,.06);background:#fff}
.agree{display:flex;gap:12px;align-items:flex-start;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:12px;line-height:1.35}
.agree input{width:26px;height:26px;flex:none;accent-color:var(--teal);margin-top:1px}
.agree.off{opacity:.5}
.scrollhint{font-size:13px;color:var(--gray);margin-bottom:8px;display:flex;align-items:center;gap:6px}
/* ---- headers ---- */
.hd{background:linear-gradient(160deg,#153968,#1D4C86);color:#fff;border-radius:0 0 32px 32px;padding:calc(14px + env(safe-area-inset-top)) 18px 18px;position:relative}
.hd .t{display:flex;align-items:center;justify-content:space-between}
.bb{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;position:relative;color:#fff}
.bb i{position:absolute;top:9px;right:10px;width:11px;height:11px;border-radius:50%;background:#FFB02E;border:2px solid #1B477D}
.lock{display:flex;align-items:center;gap:11px}.lock img{display:block}
.terr{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.14);padding:7px 13px;border-radius:99px;font-size:14px;font-weight:700;color:#fff;white-space:nowrap}
.hd .gr{margin-top:12px}
.hd h1{font-size:25px;letter-spacing:-.3px}.hd .sub{font-size:15px;color:#B9CCE5;margin-top:3px}
.pills{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;align-items:center}
.nav-hd{background:linear-gradient(160deg,#153968,#1D4C86);color:#fff;padding:calc(14px + env(safe-area-inset-top)) 18px 16px;border-radius:0 0 28px 28px;position:relative}
.nav-hd h1{font-size:26px;letter-spacing:-.3px}.nav-hd .sub{font-size:15px;color:#B9CCE5;margin-top:3px}
.nav-hd .row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.back{display:flex;align-items:center;gap:6px;color:#7FE6EC;font-weight:700;font-size:17px;margin-bottom:10px}
.hbtn{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.16);color:#fff;font-weight:700;font-size:15px;padding:9px 14px;border-radius:99px}
.ibtn{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
.ibtn.t{background:var(--teal)}
#mini{position:fixed;top:0;left:50%;transform:translate(-50%,-110%);width:100%;max-width:480px;z-index:20;background:linear-gradient(160deg,#153968,#1D4C86);color:#fff;border-radius:0 0 22px 22px;padding:calc(10px + env(safe-area-inset-top)) 18px 10px;display:flex;align-items:center;justify-content:space-between;transition:transform .2s;box-shadow:0 8px 20px rgba(11,22,38,.25)}
#mini.on{transform:translate(-50%,0)}
#mini b{font-size:20px}
.hero{margin-top:14px;display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border-radius:22px;padding:14px 12px}
.ringbox{position:relative;width:170px;height:170px;flex:none}
.ringbox .mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ringbox .pct{font-size:52px;font-weight:700;letter-spacing:-2px;line-height:1}
.ringbox .pl{font-size:14px;color:#B9CCE5;margin-top:4px}
.hstat{flex:1;padding-left:6px;min-width:0}
.hstat .n{font-size:34px;font-weight:700;letter-spacing:-1px;line-height:1}.hstat .s{font-size:14px;color:#B9CCE5;margin-top:3px}
.fline{margin-top:12px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);border-radius:16px;padding:13px 14px;font-size:16px;font-weight:700;width:100%;color:#fff;text-align:left}
.fline b{color:#7FF0F5}
.fline .sp{flex:1}
/* ---- chips ---- */
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;font-size:13px;font-weight:700;white-space:nowrap}
.c-teal{background:var(--tint);color:#00757D}.c-amber{background:#FFF1DA;color:#8F5400}.c-navy{background:#E3EAF4;color:var(--navy)}.c-red{background:#FDE7E4;color:var(--red)}.c-gray{background:#EEF0F3;color:#555}.c-green{background:#DDF3E8;color:#146C43}.c-wh{background:rgba(255,255,255,.16);color:#fff}
/* ---- tabs ---- */
.tabs{position:fixed;left:50%;transform:translateX(-50%);width:100%;max-width:480px;bottom:0;height:calc(72px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);display:flex;padding:6px 6px env(safe-area-inset-bottom);box-shadow:0 -6px 20px rgba(21,57,104,.06);z-index:30}
.tb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#8896A8;font-size:12px;font-weight:700;position:relative}
.tb.on{color:var(--navy)}.tb.on svg{color:var(--teal)}
.tb.on:before{content:"";position:absolute;top:-6px;width:36px;height:4px;border-radius:4px;background:var(--teal)}
.tb i{position:absolute;top:4px;right:calc(50% - 24px);min-width:18px;height:18px;border-radius:9px;background:var(--flame);color:#fff;font-size:11px;font-style:normal;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid #fff}
main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
/* ---- cards ---- */
.sec{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 8px}
.sec h2{font-size:21px;color:var(--navy)}.sec a,.sec button{font-size:15px;font-weight:700;color:var(--teal)}
.sec2{padding:16px 18px 6px}.sec2 h2{font-size:21px;color:var(--navy)}.sec2 p{font-size:15px;color:var(--gray);margin-top:3px}
.card{background:#fff;border-radius:20px;box-shadow:0 1px 2px rgba(21,57,104,.06),0 8px 24px rgba(21,57,104,.09);border:1px solid #EEF2F7}
.pad{padding:0 16px}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px}
.kpi{background:#fff;border-radius:18px;padding:13px 14px;box-shadow:0 1px 2px rgba(21,57,104,.08),0 6px 18px rgba(21,57,104,.08);border:1px solid #EEF2F7}
.kpi .v{font-size:30px;font-weight:700;color:var(--navy);letter-spacing:-1px;line-height:1}
.kpi .l{font-size:14px;color:var(--gray);font-weight:700;margin-top:6px}
.acc{padding:4px 16px 0}
.arow{padding:12px 0;border-bottom:1px solid var(--line)}.arow:last-of-type{border-bottom:0}
.arow .r1{display:flex;align-items:baseline;gap:8px}
.arow .nm{font-size:16px;font-weight:700;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arow .cs{font-size:17px;font-weight:700;color:var(--navy)}.arow .cs small{font-size:12px;color:var(--gray);font-weight:400}
.tr{width:16px;text-align:center;font-size:13px;font-weight:700}
.tr.up{color:var(--teal)}.tr.down{color:var(--red)}.tr.flat{color:#8896A8}
.bar{height:6px;border-radius:6px;background:var(--panel);margin-top:8px;overflow:hidden}.bar i{display:block;height:100%;border-radius:6px;background:var(--teal)}
.cfoot{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--line);font-size:14px;color:var(--gray)}
.cfoot button{font-weight:700;color:var(--teal);font-size:15px}
.fc{background:#fff;border-radius:18px;padding:12px 14px;display:flex;gap:12px;align-items:center;box-shadow:0 1px 2px rgba(21,57,104,.08),0 6px 18px rgba(21,57,104,.08);border:1px solid #EEF2F7;position:relative}
.fc .ic2{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex:none}
.fc b{font-size:16px;display:block}.fc span.s{font-size:14px;color:var(--gray);display:block;margin-top:2px}
.feed{padding:0 16px;display:flex;flex-direction:column;gap:10px}
.empty{padding:26px 18px;text-align:center;color:var(--gray);font-size:15px}
/* trend */
.bars{display:flex;align-items:flex-end;justify-content:space-between;height:78px;gap:6px;margin-top:6px}
.bars .d{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.bars .pair{display:flex;gap:3px;align-items:flex-end;height:58px}
.bars .pair i{display:block;width:12px;border-radius:5px 5px 2px 2px;background:#C5CED9}.bars .pair i.t{background:var(--teal)}
.bars span{font-size:12px;font-weight:700;color:var(--gray)}
/* kits */
.kt3{display:flex;gap:8px;padding:14px 14px 0}.kt3>div{flex:1;border-radius:14px;padding:11px 10px}
.kt3 b{font-size:28px;display:block;letter-spacing:-1px;line-height:1.05}.kt3 span{font-size:13px;font-weight:700}
.kbar{height:10px;border-radius:10px;background:var(--panel);margin:12px 14px 0;overflow:hidden}.kbar i{display:block;height:100%;background:var(--teal);border-radius:10px}
.kmeta{display:flex;justify-content:space-between;align-items:center;padding:12px 14px 14px;font-size:15px}
/* seg & filters */
.seg{display:flex;background:var(--panel);border-radius:14px;padding:4px;gap:2px}
.seg button{flex:1;text-align:center;font-size:14px;font-weight:700;padding:10px 4px;border-radius:11px;color:var(--gray);white-space:nowrap}
.seg .on{background:var(--navy);color:#fff;box-shadow:0 4px 10px rgba(21,57,104,.25)}
.fch{display:flex;gap:8px;padding:12px 16px 0;overflow-x:auto;scrollbar-width:none}.fch::-webkit-scrollbar{display:none}
.fch button{white-space:nowrap;padding:10px 14px;border-radius:99px;background:var(--panel);font-size:14px;font-weight:700;color:var(--gray);display:flex;gap:6px;align-items:center;flex:none}
.fch button em{font-style:normal;background:#fff;color:var(--navy);border-radius:99px;padding:1px 7px;font-size:13px}
.fch .on{background:var(--navy);color:#fff}.fch .on em{background:rgba(255,255,255,.2);color:#fff}
/* leads */
.stt{display:flex;gap:7px;padding:14px 16px 0}
.stt button{flex:1;background:#fff;border-radius:14px;padding:8px 2px 0;text-align:center;box-shadow:0 1px 2px rgba(21,57,104,.08),0 4px 12px rgba(21,57,104,.07);border:1px solid #EEF2F7;overflow:hidden;min-width:0}
.stt b{display:block;font-size:20px;color:var(--navy);line-height:1.1}.stt span{display:block;font-size:11px;font-weight:700;color:var(--gray);margin:2px 0 6px;white-space:nowrap}
.stt i{display:block;height:4px}
.stt .on{background:var(--navy)}.stt .on b,.stt .on span{color:#fff}
.lcard{margin:0 16px 12px;background:#fff;border-radius:20px;padding:13px 14px;box-shadow:0 1px 2px rgba(21,57,104,.07),0 8px 22px rgba(21,57,104,.09);border:1px solid #EEF2F7}
.lcard.hot{border:2px solid var(--flame);background:#FFFBF5}
.lh{display:flex;align-items:center;gap:12px;text-align:left;width:100%}
.ini{width:46px;height:46px;border-radius:50%;background:var(--tint);color:#00757D;font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;flex:none}
.ini.a{background:#FFF1DA;color:#8F5400}.ini.n{background:#E3EAF4;color:var(--navy)}
.lh .tx{flex:1;min-width:0}.lh b{font-size:17px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lh .s{font-size:14px;color:var(--gray);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.lnote{font-size:14px;color:var(--gray);margin:9px 0 10px;display:flex;align-items:center;gap:7px}
.acts{display:flex;gap:8px;align-items:center}
.ab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:14px;padding:12px 6px;font-weight:700;font-size:15px;background:var(--tint);color:#00757D;min-width:0}
.ab.c{background:var(--teal);color:#fff;flex:1.15}.ab.am{background:#FFF1DA;color:#8F5400}.ab.off{opacity:.4;pointer-events:none}
.fl{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;font-size:23px;line-height:1;background:var(--panel);border:2px solid #E1E7EF}
.fl span{filter:grayscale(1);opacity:.55}
.fl.on{background:#FFE5C4;border-color:var(--flame);box-shadow:0 0 0 4px rgba(242,140,26,.18)}
.fl.on span{filter:none;opacity:1}
/* sheet */
#shade{position:fixed;inset:0;background:rgba(11,22,38,.45);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s}
#shade.on{opacity:1;pointer-events:auto}
#sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%,105%);width:100%;max-width:480px;max-height:92vh;max-height:92dvh;overflow-y:auto;background:#fff;border-radius:30px 30px 0 0;box-shadow:0 -10px 30px rgba(21,57,104,.18);z-index:50;transition:transform .25s;padding-bottom:calc(20px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
#sheet.on{transform:translate(-50%,0)}
.grab{width:46px;height:5px;border-radius:5px;background:#CBD3DE;margin:10px auto 8px}
.sh{padding:4px 18px}
.shtop{display:flex;align-items:center;justify-content:space-between;padding:4px 18px 10px}
.eyebrow{font-size:13px;font-weight:700;color:var(--gray);letter-spacing:1px;text-transform:uppercase}
.edbtn{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;font-weight:700;font-size:15px;padding:10px 16px;border-radius:99px}
.steps{display:flex;gap:6px;margin:14px 0 4px}.steps button{flex:1;text-align:center;font-size:12px;font-weight:700;color:var(--gray)}.steps i{display:block;height:5px;border-radius:5px;background:#E1E7EF;margin-bottom:6px}.steps .d i{background:var(--teal)}.steps .d{color:var(--navy)}
.act4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.act4 a,.act4 button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:15px;padding:12px 4px;font-weight:700;font-size:14px;background:var(--tint);color:#00757D}
.act4 .c{background:var(--teal);color:#fff}.act4 .fo{background:var(--panel);color:var(--gray)}.act4 .fo.on{background:#FFE5C4;color:#8F5400}
.act4 .off{opacity:.4;pointer-events:none}
.nxt{display:flex;align-items:center;gap:12px;background:var(--panel);border-radius:16px;padding:12px 14px;margin-bottom:12px}
.nxt small{font-size:11px;font-weight:700;color:var(--gray);letter-spacing:1px;display:block}.nxt b{font-size:16px;color:var(--navy)}
.kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:15px}.kv span{color:var(--gray)}.kv b{text-align:right;word-break:break-word;font-weight:700}
.hr{height:1px;background:var(--line);margin:8px 0}
.acth{font-size:15px;font-weight:700;color:var(--navy);margin:6px 0 6px}
.actl{font-size:14px;color:#3A4756;line-height:1.7}.actl div:before{content:"\25CF";color:var(--teal);font-size:9px;margin-right:8px;vertical-align:2px}
.two{display:flex;gap:10px;margin-top:14px}
.phi{display:flex;gap:8px;align-items:flex-start;background:#FFF8E8;border:1px solid #F6E3BC;color:#6B4A12;border-radius:12px;padding:9px 11px;font-size:13px;line-height:1.35;margin-top:7px}
.phi b{color:#5C3800}
/* toast */
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(88px + env(safe-area-inset-bottom));z-index:60;width:calc(100% - 28px);max-width:452px;background:#0B1626;color:#fff;border-radius:18px;padding:14px 16px;display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;box-shadow:0 14px 30px rgba(11,22,38,.4)}
#toast button{margin-left:auto;color:#5FE0E8;font-weight:700;font-size:16px}
/* more tiles */
.feat{margin:16px 16px 12px;background:linear-gradient(160deg,#153968,#1D4C86);border-radius:20px;padding:16px;display:flex;align-items:center;gap:14px;color:#fff;box-shadow:0 14px 28px rgba(21,57,104,.28);width:calc(100% - 32px);text-align:left}
.feat .fi{width:62px;height:62px;border-radius:18px;background:#FFE5C4;display:flex;align-items:center;justify-content:center;font-size:32px;flex:none}
.feat b{font-size:22px;display:block}.feat span.s{font-size:14px;color:#B9CCE5;display:block;margin-top:2px}
.feat .cnt{margin-left:auto;width:44px;height:44px;border-radius:50%;background:var(--flame);display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:700;flex:none}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 16px}
.tile{background:#fff;border-radius:20px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 20px rgba(12,28,55,.14),0 2px 4px rgba(12,28,55,.06);border:1px solid transparent;position:relative}
.tile .ti{width:50px;height:50px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:#EAF7F8;color:var(--navy)}
.tile b{font-size:15px;color:var(--ink)}
.tile .cs{position:absolute;top:8px;right:8px;font-size:10px;font-weight:700;background:#EEF0F3;color:#555;border-radius:99px;padding:3px 7px}
.tile.dis{box-shadow:none;background:var(--panel)}.tile.dis .ti{background:#E7EAEF;color:#98A3B2}.tile.dis b{color:#98A3B2}
.moreb{margin:12px 16px 0;border:2px dashed #C5CFDC;border-radius:20px;height:76px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gray);font-weight:700;font-size:15px}
.moreb .pl{width:46px;height:46px;border:2px dashed #C5CFDC;border-radius:14px;display:flex;align-items:center;justify-content:center}
.fnote{padding:14px 24px;text-align:center;font-size:14px;color:var(--gray);line-height:1.4}
/* strength */
.str{display:flex;gap:5px;align-items:center}.str i{display:block;width:26px;height:7px;border-radius:5px;background:#E1E7EF}.str i.f{background:var(--flame)}
.pcard{margin:0 16px 12px;background:#fff;border-radius:20px;padding:13px 14px;box-shadow:0 8px 22px rgba(21,57,104,.09);border:2px solid #F9D9A8}
.pcard .ml{display:flex;align-items:center;gap:10px;margin:10px 0 8px;font-size:14px;font-weight:700;color:var(--amber)}
.pinfo{font-size:14px;line-height:1.6;color:#3A4756;margin-bottom:10px}.pinfo b{color:var(--ink)}
.banner{margin:14px 16px 12px;background:#FFF1DA;border:1px solid #F6E3BC;border-radius:16px;padding:12px 14px;display:flex;gap:12px;align-items:center;font-size:14px;color:#6B4A12;line-height:1.35}
.banner b{color:#5C3800;display:block;font-size:15px}
.banner .e{font-size:26px}
.kinds{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}
.kinds button{border:2px solid #D5DDE8;border-radius:12px;padding:10px 2px;font-weight:700;font-size:14px;background:#fff;color:var(--navy)}
.kinds .on{background:var(--navy);color:#fff;border-color:var(--navy)}
/* map */
#map{height:calc(100vh - 200px - 72px);height:calc(100dvh - 200px - 72px);min-height:340px;position:relative;z-index:1;margin:12px 16px 0;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(21,57,104,.12)}
.pin{width:26px;height:26px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 6px rgba(11,22,38,.4);display:flex;align-items:center;justify-content:center;font-size:12px}
.clu{width:40px;height:40px;border-radius:50%;background:rgba(0,156,166,.92);border:3px solid #fff;color:#fff;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(11,22,38,.35)}
.leaflet-container{font-family:Arial,sans-serif}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;padding:10px 20px 0;color:var(--gray);font-weight:700}.legend i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;vertical-align:-1px}
/* chart */
svg.ch{width:100%;height:auto;display:block}
.build .r{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.build .r i{width:12px;height:12px;border-radius:4px;display:block;flex:none}
.build .r .m{flex:1}.build .r b{font-size:16px}.build .r .m div{font-size:13px;color:var(--gray)}
.build .r .v{font-size:18px;font-weight:700;color:var(--navy)}.build .r small{font-size:12px;color:var(--gray)}
.stack{display:flex;height:16px;border-radius:10px;overflow:hidden;margin-top:12px}
.scn{display:flex;gap:8px;padding:0 16px}
.scn button{flex:1;text-align:center;padding:10px 4px;border-radius:16px;background:var(--panel);color:var(--gray);font-size:13px;font-weight:700}
.scn button b{display:block;font-size:22px;color:var(--ink);letter-spacing:-1px}.scn button span{font-size:12px}
.scn .on{background:var(--navy);color:#fff;box-shadow:0 8px 18px rgba(21,57,104,.28)}.scn .on b{color:#fff}
.tip{margin:12px 16px 0;background:#FFF8E8;border:1px solid #F6E3BC;border-radius:20px;padding:13px 14px;display:flex;gap:12px;align-items:center}
.tip .ti{width:46px;height:46px;border-radius:14px;background:#FFE7B8;color:var(--amber);display:flex;align-items:center;justify-content:center;flex:none}
.tip b{font-size:16px;display:block;color:#5C3800}.tip span{font-size:14px;color:#6B4A12;line-height:1.3;display:block;margin-top:2px}
.listrow{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line)}.listrow:last-child{border-bottom:0}
.listrow .m{flex:1;min-width:0}.listrow b{font-size:16px;display:block}.listrow span.s{font-size:14px;color:var(--gray);display:block;margin-top:2px}
.spin{padding:40px;text-align:center;color:var(--gray)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- email-code sign-in ---------- */
.codeto{font-size:15px;color:var(--ink);line-height:1.4;margin-bottom:12px;text-align:center}
.codein{font-size:30px;letter-spacing:10px;text-align:center;font-weight:700;color:var(--navy)}
.demobox{background:#FFF1DA;border:1px dashed #E0A94F;border-radius:14px;padding:10px 12px;margin-bottom:12px;display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;font-size:13px;color:#8F5400}
.demobox .dm{font-weight:700;letter-spacing:1.1px;text-transform:uppercase;font-size:12px}
.demobox b{font-size:28px;letter-spacing:8px;color:var(--navy)}
.linkrow{display:flex;justify-content:space-between;gap:8px;margin-top:12px}
.linkrow button{color:var(--teal);font-weight:700;font-size:15px;padding:8px 2px}
.linkrow button:disabled{color:#98A3B2}

/* ---------- admin ---------- */
#wrap.wide{max-width:1100px}
#wrap.wide .tabs{max-width:1100px}
.feat.adm .fi{background:#DFF5F6;color:var(--navy)}
.feat.adm>svg:last-child{margin-left:auto;flex:none}
.atabs{display:flex;gap:6px;padding:14px 16px 4px;overflow-x:auto;scrollbar-width:none}.atabs::-webkit-scrollbar{display:none}
.atabs button{flex:1;white-space:nowrap;padding:11px 14px;border-radius:12px;background:var(--panel);font-weight:700;font-size:15px;color:var(--gray)}
.atabs .on{background:var(--navy);color:#fff}
.abar{display:flex;gap:10px;padding:12px 16px 4px;flex-wrap:wrap}.abar .pbtn,.abar .obtn{width:auto;flex:1;min-width:150px;font-size:16px;padding:12px 14px}
.filters{display:flex;gap:8px;padding:12px 16px 4px;flex-wrap:wrap}.filters .in{flex:1;min-width:150px;min-height:46px;font-size:15px;padding:10px 12px}
.tw{padding:8px 16px 0;overflow-x:auto}
.ut{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(21,57,104,.06),0 8px 24px rgba(21,57,104,.09)}
.ut th{background:var(--navy);color:#fff;text-align:left;font-size:12px;letter-spacing:.6px;text-transform:uppercase;padding:11px 12px;white-space:nowrap}
.ut td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.ut tbody tr[data-adm]{cursor:pointer}.ut tbody tr:hover{background:#F6F9FC}
.ut tr.locked td{background:#FFF6F5}
.ut td.em b{display:block;word-break:break-all;font-size:14px}.ut td.em span{display:block;color:var(--gray);font-size:13px}
.ut .mut,.mut{color:var(--gray);font-size:13px}
.ut .rs,.rs{display:block;color:var(--gray);font-size:12px;margin-top:3px}
.ut td.ac{white-space:nowrap}
.mini{padding:7px 12px;border-radius:99px;background:var(--panel);color:var(--navy);font-weight:700;font-size:13px;margin-right:6px}
.mini.del{color:var(--red);background:#FDECEA}
.you{color:var(--gray);font-weight:700;font-size:13px}
.chip.c-green{background:#DDF3E6;color:#146C43}
@media(max-width:760px){
  .tw{padding:8px 12px 0;overflow:visible}
  .ut,.ut tbody,.ut tr,.ut td{display:block;width:100%}
  .ut{background:none;box-shadow:none;border-radius:0}.ut thead{display:none}
  .ut tbody tr{background:#fff;border-radius:18px;box-shadow:0 1px 2px rgba(21,57,104,.06),0 8px 24px rgba(21,57,104,.09);margin-bottom:12px;padding:6px 14px 10px;border:1px solid #EEF2F7}
  .ut tr.locked{background:#FFF6F5}
  .ut td{border:0;padding:6px 0;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;text-align:right}
  .ut td::before{content:attr(data-l);color:var(--gray);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.5px;text-align:left;flex:none;padding-top:2px}
  .ut td.em{order:-1;display:block;text-align:left;padding:8px 0 6px;border-bottom:1px solid var(--line);margin-bottom:4px}.ut td.em::before{display:none}
  .ut td.em b{font-size:16px}
  .ut td.ac{justify-content:flex-end;padding-top:10px}.ut td.ac::before{display:none}
  .ut tbody tr{display:flex;flex-direction:column}
  .ut.at td.ac{display:flex}
  .ut .sel{max-width:210px}
}
.ut .sel{min-height:40px;font-size:14px;padding:6px 8px;width:100%}
.dh{display:flex;align-items:center;gap:12px;padding:4px 0 6px}
.dh .ini{width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex:none}
.dh .dem{display:block;font-size:17px;word-break:break-all}.dh span{display:block;color:var(--gray);font-size:14px}
.dacts{display:flex;flex-direction:column;gap:10px;margin:14px 0 4px}
.obtn.dng{color:var(--red);border-color:#F2C6C1}
.pbtn.dngb{background:var(--red)}
.hist{display:flex;flex-direction:column}
.hrow{padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;display:flex;flex-direction:column;gap:3px}
.hrow:last-child{border:0}
.gl{display:flex;flex-direction:column;gap:10px;padding:12px 16px}
.gcard{display:flex;align-items:center;gap:12px;padding:14px 16px;text-align:left;width:100%}
.gcard>div:first-child{flex:1;min-width:0}.gcard b{font-size:17px;display:block}.gcard .mut{display:block}
.gn{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--gray);text-align:right}.gn b{display:inline;font-size:15px;color:var(--navy)}
.arow{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.arow:last-child{border:0}
.arow .det{margin-top:3px;font-size:13px;color:var(--ink)}
.setrow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.setrow:last-child{border:0}
.setrow b{display:block;font-size:15px}.setrow .mut{display:block;margin-top:3px;line-height:1.35}
.tgl{width:54px;height:32px;border-radius:99px;background:#C5CEDA;position:relative;flex:none;transition:background .15s}
.tgl i{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:left .15s}
.tgl.on{background:var(--teal)}.tgl.on i{left:25px}
#modal{position:fixed;inset:0;background:rgba(11,22,38,.55);z-index:80;display:flex;align-items:center;justify-content:center;padding:18px}
#modal[hidden]{display:none}
.mbox{background:#fff;border-radius:22px;padding:22px 20px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px rgba(11,22,38,.4)}
.mbox h3{font-size:20px;color:var(--navy);margin-bottom:8px}.mbox p{font-size:15px;line-height:1.45;color:var(--ink);margin-bottom:14px}
.prev{background:var(--panel);border-radius:14px;padding:12px 14px;margin-bottom:12px;font-size:14px}
.prev>div{display:flex;gap:10px;padding:3px 0}.prev>div span{color:var(--gray);width:58px;flex:none}.prev>div b{word-break:break-word;font-weight:700}
.prev pre{white-space:pre-wrap;font-family:inherit;font-size:14px;line-height:1.45;margin-top:8px;padding-top:8px;border-top:1px solid #DDE3EC;color:var(--ink)}
.warnbox{background:#FFF1DA;color:#8F5400;border-radius:12px;padding:10px 12px;font-size:14px;margin-bottom:12px;line-height:1.4}
.ut td.em{min-width:230px}.ut td.em b{word-break:normal;overflow-wrap:anywhere}
.ut td[data-l=Terms],.ut td[data-l=Logins]{white-space:nowrap}
@media(max-width:760px){.ut td>span{text-align:right}.ut td.em{min-width:0}}
#wrap.wide,#wrap.wide .tabs{max-width:1240px}.ut th,.ut td{padding-left:9px;padding-right:9px}.ut td.ac{min-width:150px}
@media(max-width:760px){.ut th,.ut td{padding-left:0;padding-right:0}}

/* admin console treatment */
.adm-hd{background:linear-gradient(160deg,#0B1F3A,#153968 70%,#1B4A80)!important;border-bottom:4px solid var(--flame)}
.admbadge{display:inline-flex;align-items:center;gap:6px;background:var(--flame);color:#1C2731;font-size:11px;font-weight:700;letter-spacing:1px;padding:6px 11px;border-radius:99px;flex:none}
.adm-hd .ibtn{flex:none}
.vdbtn{margin-top:14px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:14px;border:1.5px solid rgba(255,255,255,.45);color:#fff;font-weight:700;font-size:16px;background:rgba(255,255,255,.1)}
#wrap.admmode .tabs{border-top:3px solid var(--flame);background:#0B1F3A}
#wrap.admmode .tb{color:#9FB3CF}#wrap.admmode .tb.on{color:#fff}#wrap.admmode .tb.on svg{color:var(--flame)}#wrap.admmode .tb.on:before{background:var(--flame)}
#wrap.admmode .tb.pv{color:#7FE6EC;border-left:1px solid rgba(255,255,255,.14)}
#pvbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;background:#0B1F3A;color:#fff;font-size:12px;padding:calc(7px + env(safe-area-inset-top)) 12px 7px;line-height:1.2}
#pvbar[hidden]{display:none}
#pvbar .pvb{background:#7FE6EC;color:#0B1F3A;font-weight:700;letter-spacing:1px;font-size:11px;padding:5px 10px;border-radius:99px;flex:none}
#pvbar .pvt{flex:1;min-width:0;color:#B9CCE5}
#pvbar button{flex:none;background:var(--flame);color:#1C2731;font-weight:700;font-size:13px;border-radius:99px;padding:8px 14px;min-height:36px}
#wrap.pvmode #mini{top:46px}
button.feat{border:0;font:inherit;cursor:pointer}
.feat.adm{background:linear-gradient(160deg,#0B1F3A,#153968);box-shadow:0 0 0 2px var(--flame),0 14px 28px rgba(21,57,104,.28)}
.feat.adm .fi{background:var(--flame);color:#1C2731}

/* ---- partner experience ---- */
.sec h2 svg{vertical-align:-3px;margin-right:6px}
.gd{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;vertical-align:baseline}
.gav{font-style:normal;width:38px;height:38px;border-radius:50%;color:#fff;font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.rkc{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:44px;flex:none}
.rk{display:inline-block;font-size:13px;font-weight:700;padding:4px 9px;border-radius:99px;background:#EEF1F5;color:#4A5766}
.rk.r1{background:#F8E7A8;color:#6B5200}.rk.r2{background:#E3E7EC;color:#4A5766}.rk.r3{background:#F3D3B3;color:#7A4513}
.rk.nr{font-size:11px;background:#FFF1DA;color:#8F5400;white-space:nowrap}
.rkbig{font-weight:700;font-size:15px;padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.22);color:#fff}
.rkbig.r1{background:#F8E7A8;color:#6B5200}.rkbig.r2{background:#E3E7EC;color:#3A4756}.rkbig.r3{background:#F3D3B3;color:#7A4513}
.mv{font-size:12px;font-weight:700;color:var(--gray)}.mv.up{color:#146C43}.mv.dn{color:var(--red)}.mv.nw{color:var(--teal)}
.fl2{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;white-space:nowrap}
.fl2.red{background:#FDE4E1;color:var(--red)}.fl2.amber{background:#FFF1DA;color:#8F5400}.fl2.teal{background:var(--tint);color:#00757D}.fl2.gray{background:#EEF1F5;color:#4A5766}
.flg{color:var(--red);font-weight:700;font-size:14px}
.fls{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.fls:empty{display:none}
.phero{margin:14px 0 4px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;color:#fff}
.phero small{font-size:12px;font-weight:700;letter-spacing:1px;color:#B9CCE5;display:block}
.phero b{font-size:46px;letter-spacing:-2px;line-height:1.05;display:block}.phero b.ex{color:#4FE3EA;font-size:34px;margin-top:6px}
.pbar{grid-column:1/-1;height:10px;border-radius:99px;background:rgba(255,255,255,.18);position:relative;margin-top:8px}
.pbar i{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:#4FE3EA}.pbar u{position:absolute;top:-4px;bottom:-4px;width:3px;background:#fff;border-radius:2px}
.pmeta{grid-column:1/-1;display:flex;justify-content:space-between;font-size:13px;color:#DCE7F5}.pmeta b{display:inline;font-size:13px;letter-spacing:0;color:#fff}
.kpi.att{background:#FFF1DA;border-color:#F6DDB0;display:block}.kpi.att .v{color:#8F5400;display:flex;justify-content:space-between;align-items:center}.kpi.att .l{color:#8F5400}
.nrow{display:flex;align-items:center;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line);color:var(--ink)}.nrow:last-child{border-bottom:0}
.nrow b{display:block;font-size:16px;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nrow small{font-size:11px;font-weight:700;letter-spacing:.8px;display:block}
.ni{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none;font-size:17px}
.ni.red,.redb{background:#FDE4E1;color:var(--red)}.ni.amber,.amberb{background:#FFF1DA;color:#8F5400}.ni.teal,.tealb{background:var(--tint);color:#00757D}
.redt{color:var(--red)}.ambert{color:#8F5400}.tealt{color:#00757D}
.sub2{font-size:14px;color:var(--gray);padding:0 18px 8px}
.bars{display:flex;gap:6px;height:84px;align-items:flex-end;margin-top:12px}.bars .d{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}
.bars .pair{flex:1;display:flex;gap:3px;align-items:flex-end;width:100%;justify-content:center}.bars .pair i{width:38%;background:#D5DBE3;border-radius:5px 5px 2px 2px}.bars .pair i.t{background:var(--teal)}
.bars .d span{font-size:12px;color:var(--gray);font-weight:700}
.gsnap{padding:4px 0}.grow{display:flex;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line);color:var(--ink)}
.grow .r1{display:flex;align-items:center;gap:8px}.grow .nm{font-weight:700;color:var(--navy);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:7px;font-size:16px}.grow .cs{font-weight:700;color:var(--navy);font-size:18px}.grow .cs small{font-size:12px;color:var(--gray);font-weight:400}
.grow .bar{height:6px;margin-top:7px}.cfoot{padding:12px 16px;text-align:right}
table.lt{width:100%;border-collapse:collapse;font-size:15px}table.lt th{font-size:12px;color:var(--gray);text-align:right;padding:8px 4px}table.lt th:first-child{text-align:left}
table.lt td{padding:9px 4px;text-align:right;border-top:1px solid var(--line);color:var(--gray)}table.lt td:first-child{text-align:left;color:var(--ink)}table.lt td b{color:var(--navy)}table.lt tr.k td{font-weight:700;color:var(--navy)}
.lowb{display:flex;gap:8px;background:#FFF1DA;color:#8F5400;border-radius:12px;padding:10px 12px;margin-top:10px;font-size:14px;line-height:1.35}
.gcard{display:block;background:#fff;border-radius:18px;border-left:6px solid var(--navy);padding:13px 14px;box-shadow:0 1px 2px rgba(21,57,104,.08),0 6px 18px rgba(21,57,104,.08);color:var(--ink)}
.gcard .g1{display:flex;gap:10px;align-items:center}.gnm{font-size:18px;color:var(--navy);display:block;line-height:1.15}.gt{font-size:13px;color:var(--gray);display:flex;align-items:center;gap:4px;margin-top:2px}
.gc{text-align:right}.gc b{font-size:34px;color:var(--navy);letter-spacing:-1px;display:block;line-height:1}.gc span{font-size:12px;color:var(--gray);font-weight:700;display:flex;gap:4px;justify-content:flex-end;align-items:center;margin-top:3px}
.g2{display:flex;gap:8px;margin-top:10px}.g2 span{flex:1;background:var(--panel);border-radius:11px;padding:8px 6px;text-align:center;font-size:13px;color:var(--gray);white-space:nowrap}.g2 b{color:var(--navy);font-size:15px}.g2 em{font-style:normal;color:var(--teal);font-weight:700}
.g3{margin-top:8px}
table.gt2{width:100%;border-collapse:collapse;font-size:13px;min-width:330px}table.gt2 th{font-size:11px;color:var(--gray);text-align:center;padding:6px 3px}table.gt2 td{text-align:center;padding:9px 3px;border-top:1px solid var(--line);white-space:nowrap}
table.gt2 td.gname{text-align:left;font-weight:700;color:var(--navy);max-width:96px;overflow:hidden;text-overflow:ellipsis}table.gt2 tr[data-go]{cursor:pointer}table.gt2 tr.tot td{font-weight:700;color:var(--navy);border-top:2px solid var(--navy)}
table.gt2 .rkc{min-width:0;flex-direction:row;gap:3px;justify-content:center}table.gt2 .rk{padding:2px 6px;font-size:11px}
.prow{display:flex;gap:10px;align-items:center;background:#fff;border-radius:18px;padding:12px 14px;box-shadow:0 1px 2px rgba(21,57,104,.08),0 6px 18px rgba(21,57,104,.08);color:var(--ink)}
.prow .an{display:block;font-size:16px;color:var(--navy);line-height:1.2}.prow .as{font-size:13px;color:var(--gray);display:flex;align-items:center;gap:5px;margin-top:2px}
.pc{text-align:right;flex:none}.pc b{font-size:24px;color:var(--navy);display:block;line-height:1}
.sbar{display:flex;align-items:center;gap:8px;background:var(--panel);border-radius:14px;padding:0 12px;color:var(--gray)}.sbar input{flex:1;border:0;background:transparent;font:inherit;font-size:16px;padding:12px 0;outline:0;color:var(--ink)}
.seg.sm button{font-size:13px;padding:7px 4px}
.warnb,.okb,.sugb{border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.4;margin-top:12px}
.warnb{background:#FDE4E1;color:#8A1C12}.okb{background:#DDF3E6;color:#14532D}.sugb{background:var(--tint);color:#064E54;display:flex;flex-direction:column;gap:2px}
.tb2{font-size:12px;font-weight:700;padding:4px 9px;border-radius:99px;white-space:nowrap;flex:none}.tb2.green{background:#DDF3E6;color:#14532D}.tb2.red{background:#FDE4E1;color:var(--red)}.tb2.amber{background:#FFF1DA;color:#8F5400}.tb2.gray{background:#E3E7EC;color:#4A5766}.tb2.teal{background:var(--tint);color:#00757D}
.trow{display:flex;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line);cursor:pointer}.trow.cur{opacity:.6;cursor:default}
.trow input{width:22px;height:22px;accent-color:var(--teal);flex:none}.trow b{display:block;font-size:16px;color:var(--navy)}.trow span:not(.tb2){font-size:13px;color:var(--gray)}.trow .gav{width:34px;height:34px;font-size:13px}
.fcard{border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-top:8px}.fcard small{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--gray)}.fcard b{display:block;font-size:17px;color:var(--navy)}.fcard span{font-size:13px;color:var(--gray)}
.agree2{display:flex;gap:10px;align-items:center;font-weight:700;color:var(--navy);padding:10px 0 0}.agree2 input{width:22px;height:22px;accent-color:var(--teal)}
.pbtn.amber{background:#C77700}.pbtn:disabled{opacity:.45}
.gtiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 16px 0}
.gtile{display:flex;gap:10px;align-items:center;background:#fff;border-radius:18px;padding:10px 10px;text-align:left;box-shadow:0 1px 2px rgba(21,57,104,.08),0 6px 18px rgba(21,57,104,.08);border:1px solid #EEF2F7;min-height:62px;min-width:0}
.gtile b{display:block;font-size:14px;color:var(--navy);line-height:1.15}.gtile span{display:block;font-size:11.5px;color:var(--gray);line-height:1.2;margin-top:2px}.gtile span.nt{color:#8F5400;font-weight:700}
.gtile .gav{width:36px;height:36px;font-size:13px}
.tile.hl{box-shadow:0 0 0 2px var(--teal),0 6px 18px rgba(21,57,104,.09)}.tile .sb{font-size:11px;color:var(--gray);margin-top:-6px}
.krow{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--gray)}.krow:last-child{border-bottom:0}.krow .nm{flex:1;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:7px;font-size:15px}
.acard .note{display:block;font-size:13px;color:var(--navy);background:var(--panel);border-radius:10px;padding:6px 9px;margin-top:6px}
.aact{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.pab{font-size:14px;font-weight:700;padding:8px 13px;border-radius:99px;background:var(--panel);color:var(--navy);min-height:36px;display:inline-flex;align-items:center}.pab.c{background:var(--teal);color:#fff}.pab.am{background:#FFF1DA;color:#8F5400}
.ic2.redb,.ic2.amberb,.ic2.tealb{font-weight:700;font-size:20px}
.pin.out{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--red)}
.legend i.ring{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--red);background:#8896A8}
#robar{position:sticky;top:0;z-index:41;display:flex;align-items:center;gap:8px;background:#7A4B00;color:#fff;font-size:13px;padding:calc(7px + env(safe-area-inset-top)) 12px 7px;line-height:1.2}
#robar[hidden]{display:none}#robar .rob{background:#FFD36B;color:#3B2600;font-weight:700;letter-spacing:1px;font-size:11px;padding:5px 9px;border-radius:99px;flex:none}
#robar .rbt{flex:1;min-width:0;font-weight:700}#robar button{flex:none;background:#fff;color:#7A4B00;font-weight:700;font-size:13px;border-radius:99px;padding:8px 12px;min-height:36px}
#wrap.va #mini{top:46px}
.pvb2{flex:none;background:#7FE6EC;color:#0B1F3A;font-weight:700;font-size:11px;letter-spacing:1px;padding:5px 10px;border-radius:99px}
body.ro [data-act="lead-add"],body.ro [data-act="lead-edit"],body.ro [data-act="flame"],body.ro [data-act="set-stage"],body.ro [data-act="log"],body.ro [data-act="next-step"],body.ro [data-act="req-kits"],body.ro [data-act="ship-kit"]{opacity:.4;filter:grayscale(1)}

/* ---- partner changes: period slide bar, TAT card, Needs attention tile ---- */
.seg.slide{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;gap:4px}
.seg.slide::-webkit-scrollbar{display:none}
.seg.slide button{flex:0 0 auto;padding:10px 16px;scroll-snap-align:center}
.tatc{padding:12px 14px 10px}
.tatc .th{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.tatc .th b{display:block;font-size:17px;color:var(--navy)}
.tatc .th span:not(.chip){display:block;font-size:12.5px;color:var(--gray);font-weight:600;margin-top:1px}
.tatc .tr2{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;margin-top:10px}
.tatc .tcell{background:var(--panel);border-radius:14px;padding:9px 12px}
.tatc .tcell.cur{background:var(--tint)}
.tatc .tcell small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.5px;color:var(--gray)}
.tatc .tcell b{font-size:30px;line-height:1.15;color:var(--navy);font-weight:800}
.tatc .tcell b::after{content:' days';font-size:12px;font-weight:700;color:var(--gray)}
.tatc .tdl{display:block;font-style:normal;font-size:12.5px;font-weight:800;margin-top:1px}
.tatc .tdl.dn{color:#12805C}.tatc .tdl.up{color:#B42318}.tatc .tdl.eq{color:var(--gray)}
.tatc .tsub{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:9px;font-size:12.5px;color:var(--gray);font-weight:600}
.tatc .tsub b{color:var(--navy)}
.tatc .tinfo{margin-top:8px;border-top:1px solid var(--line,#E3E8EF);padding-top:7px}
.tatc .tinfo summary{font-size:13px;font-weight:800;color:var(--teal);cursor:pointer;list-style:none}
.tatc .tinfo summary::-webkit-details-marker{display:none}
.tatc .tinfo summary::before{content:'ⓘ ';}
.tatc .tinfo ul{margin:8px 0 4px 18px;padding:0;font-size:13px;line-height:1.4;color:#3A4756}
.tatc .tinfo li{margin-bottom:4px}
.tatc .tsrc{font-size:11.5px;color:var(--gray);font-weight:600}
.tile{position:relative}
.tile .nb{position:absolute;top:8px;right:8px;min-width:22px;padding:2px 7px;border-radius:12px;background:#E5484D;color:#fff;font-size:12px;font-weight:800;text-align:center}
.tile b{text-align:center}

/* ---- Cases (samples at the lab) ---- */
.tile .nb.tl{background:var(--teal)}
.cs-page{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
.cseg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--panel);border-radius:16px;padding:4px}
.cseg button{display:flex;flex-direction:column;align-items:center;gap:0;padding:8px 2px 7px;border-radius:13px;color:var(--gray)}
.cseg button b{font-size:23px;line-height:1.1;font-weight:800}
.cseg button span{font-size:13px;font-weight:800}
.cseg button small{font-size:11px;font-weight:700;opacity:.75}
.cseg .on{background:var(--navy);color:#fff;box-shadow:0 4px 10px rgba(21,57,104,.25)}
.cfilt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:var(--panel);color:var(--gray);font-weight:700;font-size:14.5px;padding:12px 14px;border-radius:13px}
.cfilt span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfilt.on{background:var(--navy);color:#fff}
.cfilt i{font-style:normal;font-size:16px;padding:0 4px}
.phh{display:flex;align-items:center;gap:8px;padding:14px 18px 6px}
.phh b{font-size:17px;color:var(--navy)}.phh em{font-style:normal;font-size:13px;font-weight:700;color:var(--gray)}.phh .sp{flex:1}
.phh small{font-size:12px;font-weight:700;color:var(--gray)}
.phh .pi{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center}
.pi.lab{background:#DDF3F4;color:#007C85}.pi.path{background:#ECE6F8;color:#6D4AB8}.pi.fin{background:#DDF3E6;color:#146C43}
.clist{display:flex;flex-direction:column;gap:10px;padding:4px 16px 0}
.ccard{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:18px;padding:13px 14px;border:1px solid #EEF2F7;box-shadow:0 1px 2px rgba(21,57,104,.06),0 6px 18px rgba(21,57,104,.08)}
.ccard.over{border-color:#F3C36B}.ccard.near{border-color:#F6DFAE}
.sx{flex:none;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:22px;font-weight:700;line-height:1}
.sx.m{background:#E4F0FD;color:#2D78C8}.sx.f{background:#FCE4F0;color:#D2438B}
.cb{flex:1;min-width:0}
.can{display:block;font-size:16.5px;color:var(--navy);line-height:1.25}
.cmeta{display:flex;flex-wrap:wrap;gap:3px 12px;margin-top:3px;font-size:13px;font-weight:700}
.stg{display:inline-flex;align-items:center;gap:5px}.stg i{width:8px;height:8px;border-radius:50%;background:var(--teal)}
.stg.pathologist{color:#6D4AB8}.stg.pathologist i{background:#6D4AB8}.stg.lab{color:#007C85}.stg.final{color:#146C43}.stg.final i{background:#1E9B63}
.gtag{display:inline-flex;align-items:center;gap:5px;color:#3A4756}.gtag i{width:8px;height:8px;border-radius:50%}
.cdate{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:600;color:var(--gray);flex-wrap:wrap}
.cdate b{color:#3A4756}.cdate em{font-style:normal;color:#B5BFCC}.cdate .ic{flex:none}
.ctm{display:flex;justify-content:flex-end;margin-top:8px}
.tm{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:99px;font-size:13px;font-weight:700;white-space:nowrap}
.tm b{font-weight:800}
.tm.ok{background:#DDF3E8;color:#146C43}
.tm.near{background:#FFF1DA;color:#8F5400}
.tm.over{background:#FFE2B8;color:#7A4300;box-shadow:inset 0 0 0 1.5px #E9A53A}
.cfoot{position:fixed;left:50%;transform:translateX(-50%);width:100%;max-width:480px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:5;display:flex;align-items:center;justify-content:center;gap:6px;background:#F7F9FB;border-top:1px solid var(--line);padding:8px 12px;font-size:12.5px;font-weight:600;color:var(--gray)}
.asl{display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow:auto;padding:4px 0 12px}
.asl button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:11px 14px;border-radius:13px;background:var(--panel)}
.asl button b{font-size:15px;color:var(--navy)}.asl button span{font-size:12.5px;color:var(--gray);font-weight:600}
.asl button.on{background:var(--navy)}.asl button.on b,.asl button.on span{color:#fff}

#demobar{position:sticky;top:0;z-index:43;background:#FFD36B;color:#3B2600;font-weight:800;letter-spacing:1.4px;font-size:11px;text-align:center;padding:calc(5px + env(safe-area-inset-top)) 10px 5px}
#demobar[hidden]{display:none}
#demobar:not([hidden]) ~ #robar{top:calc(26px + env(safe-area-inset-top))}

/* ---- Needs attention: grouped by distributor group with tier chips (partner view only) ---- */
.tierkey{margin:12px 16px 0;font-size:12px;color:var(--gray);line-height:2;font-weight:600}
.tierchip{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.4px;padding:3px 9px;border-radius:99px;line-height:1.3;vertical-align:1px}
.tierchip.t1{background:#FDE7E4;color:var(--red)}.tierchip.t2{background:#FFF1DA;color:#8F5400}.tierchip.t3{background:#EEF0F3;color:#555}
.agrps{margin-top:6px}.agrp{margin-top:12px}
.aghd{display:flex;align-items:center;gap:8px;width:calc(100% - 32px);margin:0 16px;padding:11px 12px;background:#fff;border-radius:16px;border:1px solid #EEF2F7;box-shadow:0 1px 2px rgba(21,57,104,.08),0 4px 12px rgba(21,57,104,.06);text-align:left;min-height:48px}
.aghd .gn{flex:1;text-align:left;min-width:0;font-weight:700;font-size:16px;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aghd .gc{font-size:18px;font-weight:700;color:var(--navy);flex:none}.aghd .gc small{font-size:12px;color:var(--gray);font-weight:600}
.aghd .gchv{flex:none;color:var(--gray);display:inline-flex;transform:rotate(90deg);transition:transform .15s}.aghd .gchv.on{transform:rotate(-90deg)}
.agbody{margin-top:8px}
.tatc .tnote{margin-top:5px;font-size:11.5px;color:var(--gray);font-weight:600}
.sghd{cursor:default}
/* ---- Notifications (Web Push) ---- */
.setrow{display:flex;align-items:center;gap:14px;margin:12px 16px 0;padding:14px 16px;background:#fff;border-radius:18px;box-shadow:0 6px 18px rgba(21,57,104,.10);color:var(--navy);text-decoration:none}
.setrow .si{width:46px;height:46px;border-radius:14px;background:#DFF5F6;color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none}
.setrow .st{min-width:0;flex:1}.setrow .st b{display:block;font-size:17px}.setrow .st span{display:block;font-size:14px;color:var(--gray);margin-top:1px}
.setrow>svg:last-child{flex:none;color:var(--gray)}
.pushcard{padding:16px}
.pushhd{display:flex;align-items:center;gap:14px}.pushhd .si{width:52px;height:52px;border-radius:16px;background:#DFF5F6;color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none}
.pushhd b{display:block;font-size:17px;color:var(--navy);margin-bottom:6px}
.pushtx{font-size:15px;line-height:1.45;color:var(--gray);margin:12px 0 0}
.pushbtns{display:flex;flex-direction:column;gap:10px;margin:14px 0 6px}
.pushsteps{background:var(--panel);border-radius:14px;padding:12px 14px;font-size:15px;color:var(--navy)}.pushsteps ol{margin:6px 0 0;padding-left:20px;line-height:1.5}
.pushmsg{font-size:14px;color:var(--teal);min-height:0;margin-top:8px;font-weight:600}.pushmsg:empty{display:none}.pushmsg.bad{color:var(--red)}

/* More: quick Notifications / Sign out row (always at the top), notification preference switches, update banner */
.quickrow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 16px 4px}
.qbtn{display:flex;align-items:center;gap:8px;min-height:50px;padding:10px 12px;background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px rgba(21,57,104,.08);font:inherit;font-weight:700;font-size:15px;text-decoration:none;text-align:left;cursor:pointer}
.qbtn span{flex:1;min-width:0}.qbtn svg:last-child{color:var(--gray);flex:none}.qbtn.out{color:#B3261E}.qbtn.out svg{color:#B3261E}
.prefcard{margin:0 16px;padding:4px 16px}
.prefrow{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.prefrow:last-child{border:0}
.prefrow .pt{flex:1;min-width:0}.prefrow .pt b{display:block;font-size:16px;color:var(--navy)}.prefrow .pt span{display:block;font-size:13.5px;color:var(--gray);margin-top:2px;line-height:1.35}
.tgl{flex:none;width:54px;height:32px;border-radius:99px;border:0;background:#C5CEDA;position:relative;cursor:pointer;transition:background .15s;padding:0}
.tgl i{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s}
.tgl.on{background:#009CA6}.tgl.on i{transform:translateX(22px)}
.tgl.on i{left:3px} /* v30: the older .tgl.on i{left:25px} rule plus translateX(22px) moved the knob 47px, 19px past the end of the track; the knob now slides by transform only */
#updbar{position:fixed;left:50%;transform:translateX(-50%);top:calc(10px + env(safe-area-inset-top));z-index:70;display:flex;align-items:center;gap:8px;width:calc(100% - 28px);max-width:452px;background:#153968;color:#fff;border:2px solid #5FE0E8;border-radius:16px;padding:12px 16px;font:inherit;font-weight:700;font-size:15px;box-shadow:0 8px 24px rgba(0,0,0,.3);cursor:pointer;text-align:left}

.prefrow.prio{background:linear-gradient(90deg,rgba(245,158,11,.14),rgba(245,158,11,0) 70%);border-left:3px solid #f59e0b;margin-left:-3px}
.ptag{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:#eef2f7;color:#64748b;vertical-align:2px;margin-left:4px}
.ptag.star{background:#fef3c7;color:#92400e}
.ptag.req{background:#dbeafe;color:#1e3a8a}
.tgl.locked{opacity:.55;cursor:not-allowed}
.c-orange{background:#FFE4CC;color:#A64B00}

/* Partner More: only the existing distributor list collapses; native keyboard toggle. */
.p-distributor-dropdown>summary{list-style:none;cursor:pointer}
.p-distributor-dropdown>summary::-webkit-details-marker{display:none}
.p-distributor-dropdown>summary:focus-visible{outline:3px solid var(--teal);outline-offset:-3px;border-radius:8px}
.p-distributor-dropdown>summary>svg:last-child{flex:none;color:var(--navy)}
.p-distributor-dropdown[open]>summary>svg:last-child{transform:rotate(180deg)}
.p-distributor-dropdown:not([open])>.p-distributor-list{display:none}
