/* KWLE Inspect design system */
:root{--navy:#0B2545;--navy2:#13315C;--amber:#F5A623;--amber-d:#D98E04;--ink:#14213D;--ink2:#4A5568;--ink3:#8592A6;--line:#E3E8EF;--bg:#F4F6FA;--card:#fff;
 --red:#D32F2F;--red-bg:#FDECEC;--yel:#F2A900;--yel-bg:#FFF6DB;--grn:#2E7D32;--grn-bg:#E8F5E9;--r:14px;--r-s:10px;--sh:0 1px 2px rgba(16,24,40,.06),0 4px 14px rgba(16,24,40,.06);
 --f:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.45 var(--f);background:var(--bg);color:var(--ink);padding-bottom:90px}
a{color:var(--navy2);font-weight:600}h2{font-size:22px;letter-spacing:-.01em;margin:4px 0 12px}h3{font-size:16px;margin:0 0 8px}
header{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:12px 16px calc(12px + env(safe-area-inset-top)*0);position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;box-shadow:0 2px 10px rgba(11,37,69,.25)}
header .logo{width:30px;height:30px;border-radius:8px;background:var(--amber);display:grid;place-items:center;color:var(--navy);font-weight:900}
header .bt{font-weight:800;letter-spacing:.02em}header .bt small{display:block;font-weight:500;opacity:.7;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
header #hdr{margin-left:auto;font-size:13px;font-weight:700;background:rgba(255,255,255,.12);padding:4px 10px;border-radius:20px}header #hdr:empty{display:none}
header #net{font-size:12px;font-weight:700;color:var(--navy);background:var(--amber);padding:4px 10px;border-radius:20px}header #net:empty{display:none}
main{max-width:780px;margin:auto;padding:14px}
.card{background:var(--card);border-radius:var(--r);padding:16px;margin:12px 0;box-shadow:var(--sh);border:1px solid rgba(227,232,239,.7)}
label{display:block;font-size:12px;font-weight:700;color:var(--ink2);text-transform:uppercase;letter-spacing:.04em;margin:10px 0 4px}
input,textarea,select{width:100%;padding:12px 13px;font:16px var(--f);color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:var(--r-s);margin:0 0 6px;transition:border .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
select{background-image:linear-gradient(45deg,transparent 50%,var(--ink3) 50%),linear-gradient(135deg,var(--ink3) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--navy2);box-shadow:0 0 0 3px rgba(19,49,92,.12)}textarea{min-height:104px;resize:vertical}
input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:var(--navy2);-webkit-appearance:auto;appearance:auto;flex:none}
button,.btn{font:700 15px var(--f);background:var(--navy);color:#fff;border:0;border-radius:var(--r-s);padding:12px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;margin:4px 4px 4px 0;min-height:44px;transition:transform .05s,filter .15s}
button:active,.btn:active{transform:scale(.98)}button:hover,.btn:hover{filter:brightness(1.08)}button:disabled{opacity:.5}
button.sec,.btn.sec{background:#EEF2F7;color:var(--navy)}.btn.amber,button.amber{background:var(--amber);color:var(--navy)}.btn.block,button.block{width:100%;justify-content:center}
.muted{color:var(--ink3);font-size:13px}.err{color:var(--red);font-size:14px}.err:empty{display:none}
.pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 10px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;vertical-align:middle}
.RED{background:var(--red)}.YELLOW{background:var(--yel)}.GREEN{background:var(--grn)}.NONE{background:#B4BECC}
/* login */
.hero{background:linear-gradient(160deg,var(--navy),var(--navy2));color:#fff;border-radius:var(--r);padding:26px 20px;margin:6px 0 -30px;padding-bottom:50px}
.hero h1{margin:6px 0 2px;font-size:26px;letter-spacing:-.02em}.hero p{margin:0;opacity:.75}
/* history */
.hcard{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}.hcard .sc{flex:none;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:15px;border:4px solid #B4BECC}
.hcard b{font-size:16px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.chip{font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 8px;background:#EEF2F7;color:var(--ink2)}
.chip.r{background:var(--red-bg);color:var(--red)}.chip.y{background:var(--yel-bg);color:#8a6100}.chip.g{background:var(--grn-bg);color:var(--grn)}
/* typeahead */
.sug{position:absolute;left:0;right:0;top:50px;background:#fff;box-shadow:0 12px 30px rgba(16,24,40,.18);border-radius:var(--r-s);z-index:9;overflow:hidden;border:1px solid var(--line)}
.sug div{padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer}.sug div:hover{background:#F6F8FB}.sug:empty{display:none}
.note{background:#EEF4FF;border:1px solid #D6E2F7;border-radius:var(--r-s);padding:9px 12px;font-size:13px;color:var(--navy2);margin:8px 0}.note:empty{display:none}
.linked{color:var(--grn);font-weight:700;font-size:13px}
/* inspection top */
.house{position:relative;margin:12px -16px 0}.house img{width:100%;height:200px;object-fit:cover;display:block}
.nohouse{height:150px;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#F1F4F8,#F1F4F8 10px,#EBEFF5 10px,#EBEFF5 20px);color:var(--ink3);font-weight:600}
.house .btn{position:absolute;right:12px;bottom:12px;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 6px}.stat{background:#F6F8FB;border-radius:var(--r-s);padding:10px;text-align:center}.stat b{display:block;font-size:20px}.stat span{font-size:11px;color:var(--ink3);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.pbar{height:6px;background:#E8EDF3;border-radius:6px;overflow:hidden;margin:6px 0}.pbar i{display:block;height:100%;background:var(--amber);border-radius:6px;transition:width .3s}.pbar.ok i,.pbar.gr i{background:var(--grn)}.pbar.big{height:9px}
.toggle{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink2);text-transform:none;letter-spacing:0;margin-top:10px}
.grp{margin:26px 4px 6px;color:var(--navy2);text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.08em;display:flex;align-items:center;gap:8px}.grp:after{content:"";flex:1;height:1px;background:var(--line)}
/* item */
.item{scroll-margin-top:70px;position:relative}.item.flag{box-shadow:var(--sh),inset 4px 0 0 var(--amber)}
.ih{display:flex;gap:10px;align-items:flex-start}.num{flex:none;width:38px;height:38px;border-radius:10px;background:#EEF2F7;color:var(--navy);display:grid;place-items:center;font-weight:800;font-size:14px}
.ih .t{flex:1;min-width:0}.ih h3{margin:0;font-size:16px;line-height:1.3}.code{font-size:12px;color:var(--ink3);margin-top:2px}
.flagb{flex:none;background:#F1F4F8;color:#B4BECC;width:40px;height:40px;min-height:0;padding:0;justify-content:center;margin:0;font-size:18px;border-radius:10px}.flagb.on{background:var(--amber);color:var(--navy)}
.iprog{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink3);font-weight:600;margin:10px 0 2px}.iprog .pbar{flex:1;margin:0}
.crit{font-size:13.5px;background:#F7F9FC;border-radius:var(--r-s);padding:10px 12px;margin:10px 0;color:var(--ink2)}.crit summary{font-weight:700;color:var(--navy2);cursor:pointer}.crit div{margin:6px 0}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:12px 0}
.slot{border:1.5px dashed #C9D2DE;border-radius:12px;padding:8px;background:#FAFBFD}.slot.req{border-color:#F0B4B4;background:#FFF8F8}.slot.done{border:1.5px solid #A7D3AA;background:#F4FAF4}
.slot .sl{font-size:12px;font-weight:700;line-height:1.25;margin-bottom:6px;color:var(--ink2);min-height:30px}.slot.done .sl{color:var(--grn)}.slot.req .sl{color:#B42318}.slot i{font-weight:500;color:var(--ink3);font-style:normal}
.thumbs{display:flex;flex-wrap:wrap;gap:6px}.thumb{position:relative;display:inline-block}
.thumbs img{width:64px;height:64px;object-fit:cover;border-radius:8px;display:block;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.thumb b{position:absolute;top:-6px;right:-6px;background:var(--ink);color:#fff;border-radius:50%;width:20px;height:20px;line-height:19px;text-align:center;cursor:pointer;font-size:13px;border:2px solid #fff}
.thumb small{display:block;width:64px;font-size:10px;color:var(--ink3);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:2px}
.thumb.queued{width:64px;height:64px;font-size:10px;font-weight:700;background:var(--yel-bg);color:#8a6100;border-radius:8px;padding:6px;display:grid;place-items:center;text-align:center}
.addph{display:grid;place-items:center;width:64px;height:64px;border:1.5px dashed var(--navy2);border-radius:8px;font-size:22px;cursor:pointer;margin:0;background:#fff;color:var(--navy2)}
.addph:hover{background:#EEF4FF}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.panelf{background:#F5F8FC;border:1px solid #E1E8F2;border-radius:12px;padding:10px 12px;margin:12px 0}.panelf summary{font-weight:800;color:var(--navy);cursor:pointer;font-size:14px}
.panelf summary small{display:block;font-weight:500;color:var(--ink3);font-size:12px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.chk{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;margin-bottom:6px}
.chk label{display:flex;gap:8px;align-items:center;font-size:13.5px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink);margin:0;padding:6px 0}
.cl{position:relative;margin-top:12px}.clist{max-height:260px;overflow:auto;border-radius:var(--r-s);border:1px solid var(--line);margin:-2px 0 8px;background:#fff}.clist:empty{display:none}
.clist div{padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px;cursor:pointer}.clist div[data-ins]:before{content:"+ ";color:var(--amber-d);font-weight:800}.clist div:hover{background:#F6F8FB}
.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}.actions select{width:auto;flex:1;min-width:150px;margin:4px 0}
.ai{border-radius:12px;padding:12px 14px;margin:12px 0 4px;font-size:14px;background:#F7F9FC;border-left:4px solid #B4BECC}
.ai.RED{background:var(--red-bg);border-color:var(--red)}.ai.YELLOW{background:var(--yel-bg);border-color:var(--yel)}.ai.GREEN{background:var(--grn-bg);border-color:var(--grn)}.ai div{margin:4px 0}
/* bottom bar */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:15;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);
 padding:8px 12px calc(8px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:6px;justify-content:center}
.sticky button,.sticky .btn{margin:0}.sticky .nav{width:44px;padding:0;justify-content:center;font-size:18px}#pos{min-width:58px;text-align:center;font-weight:800;color:var(--navy);font-size:13px}
/* summary */
.sumhero{background:linear-gradient(160deg,var(--navy),var(--navy2));color:#fff;text-align:center;padding:22px 16px}.sumhero .muted{color:rgba(255,255,255,.7)}
.gauge{width:210px;max-width:70%;display:block;margin:6px auto -6px}.sumhero h2{margin:2px 0}.headline{font-size:15px;font-weight:600;margin:10px 0}
.bar{display:flex;gap:8px;margin-top:12px}.bar div{flex:1;color:#fff;text-align:center;padding:10px 6px;border-radius:12px;font-weight:800;font-size:13px}.bar div b{display:block;font-size:22px}
.sumrow{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}.sumrow img{width:72px;height:72px;object-fit:cover;border-radius:10px;flex:none}.sumrow div div{margin-top:4px;font-size:14px}
.defrow{display:flex;gap:12px;align-items:center;padding:12px;border-radius:12px;margin:8px 0;text-transform:none;letter-spacing:0;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;border:1.5px solid var(--line)}
.defrow.RED{background:var(--red-bg);border-color:#F5C2C2}.defrow.YELLOW{background:var(--yel-bg);border-color:#F3DC9B}.defrow b{font-size:15px}
.defrow input{width:26px;height:26px}.defrow img,.defrow .noimg{width:60px;height:60px;object-fit:cover;border-radius:10px;flex:none;background:#E8EDF3}
#sig{width:100%;height:150px;border:1.5px dashed #C9D2DE;border-radius:12px;background:#fff;touch-action:none;display:block;margin:8px 0}.sigimg{max-width:240px;display:block;margin:6px 0;background:#fff}
.signline{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}.signline div{background:#F6F8FB;border-radius:10px;padding:8px 10px;font-size:13px}.signline b{display:block;font-size:11px;color:var(--ink3);text-transform:uppercase;letter-spacing:.04em}
/* markup editor */
.mk{position:fixed;inset:0;background:#0A0F1A;z-index:50;padding:12px;overflow:auto;display:flex;flex-direction:column;gap:10px;color:#fff}
.mk h4{margin:0;font-size:15px;display:flex;justify-content:space-between;align-items:center}.mk canvas{max-width:100%;max-height:58vh;touch-action:none;align-self:center;border-radius:10px;background:#000}
.mkbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mkbar button{margin:0;padding:8px 12px;min-height:40px;background:#1D2638;color:#fff;font-size:14px}.mkbar button.on{background:var(--amber);color:var(--navy)}
.mkbar input[type=color]{width:40px;height:40px;padding:2px;margin:0;border-radius:10px;border:0;background:#1D2638}.mk input{margin:0;background:#141B2B;border-color:#2A3550;color:#fff}.mk input::placeholder{color:#7C8AA5}
.mkfoot{display:flex;gap:8px}.mkfoot button{flex:1;justify-content:center;margin:0}
@media (min-width:700px){.slots{grid-template-columns:repeat(3,1fr)}.house img{height:280px}}
.eyebrow{color:var(--amber);font-weight:800;letter-spacing:.08em;font-size:11.5px}
.sech{margin:22px 2px 8px}.sech h2{margin:0 0 4px;font-size:20px}.sech p{margin:0;color:var(--ink2)}.sech.red h2{color:var(--red)}.sech.yel h2{color:#9a6b00}.sech.grn h2{color:var(--grn)}.card .sech{margin-top:0}
.rcard{background:#fff;border-radius:var(--r);box-shadow:var(--sh);margin:12px 0;overflow:hidden;border:1px solid #F5C2C2;border-top:5px solid var(--red)}
.rph{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:2px;background:#000}.rph img{width:100%;height:150px;object-fit:cover;display:block}.rph:empty{display:none}
.rbody{padding:14px 16px}.rbody h3{font-size:18px;margin:8px 0 6px}.blk{border-left:3px solid #F5C2C2;padding:2px 0 2px 10px;margin:10px 0}.blk b{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--red)}.blk p{margin:2px 0 0}
.blk:last-child{border-color:var(--grn)}.blk:last-child b{color:var(--grn)}
.facts{background:linear-gradient(180deg,#fff,#F7F9FC)}.facts h3{font-size:20px}.fgrid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}@media(min-width:620px){.fgrid{grid-template-columns:1fr 1fr}}
.fact{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.fact b{font-size:26px;color:var(--navy);letter-spacing:-.02em}.fact p{margin:4px 0 6px;font-size:14px}.fact a{font-size:11.5px;color:var(--ink3);font-weight:600}
.cta{border:2px solid var(--amber);background:#FFFDF6}.cta h2{color:var(--navy)}
.contact{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.contact div{background:var(--navy);color:#fff;border-radius:10px;padding:10px;font-size:14px;text-align:center}.contact b{display:block;font-size:10.5px;opacity:.7;text-transform:uppercase;letter-spacing:.06em}.contact a{color:var(--amber)}
.okrow{padding:9px 2px;border-top:1px solid var(--line);color:var(--grn);font-weight:600}
.finish{border:2px solid var(--amber)}
.contact div{white-space:nowrap;font-size:13px;padding:10px 4px}.contact a{text-decoration:none}

.goal{font-weight:600;margin:8px 0 4px}.critlist{background:rgba(220,38,38,.12);border-radius:8px;padding:8px;font-size:13px;margin:6px 0}
.office{border:2px dashed #94a3b8}.warnbox{background:#FEF3C7;border:1px solid #F59E0B;border-radius:8px;padding:10px;font-size:13px}.warnbox div{margin-top:4px}
.chip.rev{background:#FEF3C7;color:#92400E}
.inspector{margin-top:6px;font-size:14px}.tpedit{margin:10px 0}.tpedit input{max-width:220px}

.rgrp h3{margin:12px 0 4px;padding:6px 10px;border-radius:8px;color:#fff;font-size:14px;letter-spacing:.5px}.rgrp.red h3{background:#D32F2F}.rgrp.yel h3{background:#E6A100}
.rline{display:grid;grid-template-columns:26px 1fr auto;gap:2px 8px;align-items:center;padding:9px 4px;border-bottom:1px solid #E3E8EF}.rline input{width:20px;height:20px}
.rline .rq{grid-column:2;color:#8592A6;font-size:12px}.rline .rp{grid-column:3;grid-row:1}
.rtot{margin:12px 0;padding:10px 12px;background:#F4F6FA;border-radius:10px}.rtot div{display:flex;justify-content:space-between;padding:2px 0}.rtot .big{font-size:18px;border-top:1px solid #E3E8EF;margin-top:4px;padding-top:6px}

html,body{max-width:100%;overflow-x:hidden}img,canvas{max-width:100%}
.rline{min-height:56px;padding:12px 6px;cursor:pointer}.rline input{width:26px;height:26px;accent-color:#0B2545}.rline .rn{font-weight:600;overflow-wrap:anywhere}
.rtot .big b{font-size:20px}#rsave,#ssave{min-height:52px;font-size:16px}
.rsticky{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.rsticky b{display:block;font-size:22px;color:#0B2545}.rsticky span{font-size:12px}
.nbanner{margin:12px 0;padding:12px;border-radius:14px;background:#FFF6DB;border:2px solid #F5A623}.nhead{display:flex;justify-content:space-between;align-items:center}
.nbadge{background:#D32F2F;color:#fff;border-radius:99px;min-width:26px;height:26px;display:grid;place-items:center;font-weight:800}
.nitem{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid #F0D9A0;margin-top:8px}.nitem .btn{min-height:48px;display:inline-flex;align-items:center}
@media(min-width:760px){#repairs .rgrp,.rtot{max-width:none}.rline{grid-template-columns:30px 1fr 160px 110px}.rline .rq{grid-column:3;grid-row:1;text-align:right}.rline .rp{grid-column:4;text-align:right}}
.nitem.go{background:#E8F5E9;border-radius:10px;padding:10px;border:1px solid #A5D6A7}.nitem button{min-height:48px}
/* Inspect Pro additions (same design system) */
.list a{display:block;text-decoration:none;color:inherit}.cltable .card{margin:10px 0;padding:12px}.cltable textarea{min-height:80px}
.tag{font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;background:#EEF2F7;color:var(--ink2);text-transform:none;letter-spacing:0}
label.rline{text-transform:none;letter-spacing:0;font-size:15px;font-weight:500;color:var(--ink);margin:0}.rline .rn{font-weight:700}.rline .rn .muted{font-weight:500}
#repairs a[target]{overflow-wrap:anywhere;word-break:break-all}
/* ===== EPI redesign: bold, graphic, themeable ===== */
:root{--navy:#0A1A3A;--navy2:#2343C9;--amber:#FFB020;--acc:#6D5BFF;--acc2:#00C2FF;--grad:linear-gradient(135deg,#2343C9 0%,#6D5BFF 55%,#00C2FF 100%);--red:#E5343D;--yel:#F5A300;--grn:#16A34A;--r:18px;--r-s:12px;--sh:0 1px 2px rgba(16,24,40,.05),0 10px 30px rgba(35,67,201,.10);--card:#fff;--bg:#F3F5FC;--soft:#F1F4FB}
html[data-theme=dark]{--ink:#E8ECF8;--ink2:#B6BFD6;--ink3:#8390AD;--line:#2A3350;--bg:#0B1020;--card:#141B30;--soft:#1B2440;--red-bg:#3A1418;--yel-bg:#3A2C08;--grn-bg:#0E2E1C;--sh:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35)}
body{background:var(--bg);transition:background .3s,color .3s;padding-bottom:96px}
html[data-theme=dark] body{background:radial-gradient(1200px 600px at 100% -10%,#1d2a5c 0,transparent 60%),var(--bg)}
header{background:var(--grad);padding:14px 16px;box-shadow:0 6px 24px rgba(35,67,201,.35);border-radius:0 0 22px 22px}
header .logo{width:40px;height:40px;border-radius:12px;background:#fff;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.2)}
header .logo span{font:900 14px/1 var(--f);letter-spacing:.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
header .bt{font-size:18px;font-weight:900}header #who{display:none}
h2{font-size:26px;font-weight:900;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);transition:transform .2s,box-shadow .2s,background .3s}
.card:hover{box-shadow:0 14px 36px rgba(35,67,201,.16)}
input,textarea,select{background:var(--card);color:var(--ink);border-color:var(--line)}
button,.btn{background:var(--grad);border-radius:14px;box-shadow:0 6px 18px rgba(35,67,201,.28);transition:transform .12s,filter .15s,box-shadow .2s}
button.sec,.btn.sec{background:var(--soft);color:var(--ink);box-shadow:none}
.btn.amber,button.amber{background:linear-gradient(135deg,#FFB020,#FF7A00);color:#1a1200}
.pill{padding:4px 11px;font-size:11px;box-shadow:0 3px 10px rgba(0,0,0,.15)}
.RED{background:linear-gradient(135deg,#FF4D57,#C81E2B)}.YELLOW{background:linear-gradient(135deg,#FFC93C,#F08C00);color:#2b1d00}.GREEN{background:linear-gradient(135deg,#34D27A,#12873E)}
.hero{background:var(--grad);border-radius:24px;box-shadow:0 18px 40px rgba(35,67,201,.35)}
.stat,.crit,.slot,.sug,.sug div:hover,.chip{background:var(--soft)}.sug{background:var(--card)}
.num{width:46px;height:46px;border-radius:14px;background:var(--grad);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1;box-shadow:0 6px 16px rgba(109,91,255,.35)}
.num .ico{font-size:19px}.num small{font-size:10px;font-weight:800;opacity:.9;margin-top:2px}
.item{border-left:5px solid transparent}.item:has(.pill.RED){border-left-color:var(--red)}.item:has(.pill.YELLOW){border-left-color:var(--yel)}.item:has(.pill.GREEN){border-left-color:var(--grn)}
.grp{color:var(--acc)}
#app.fade{animation:fadeup .35s ease both}@keyframes fadeup{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.pulse{animation:pulse 1.5s ease}@keyframes pulse{0%,100%{box-shadow:var(--sh)}30%{box-shadow:0 0 0 4px var(--acc),var(--sh)}}
/* bottom nav */
#bnav{display:none;position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:30;background:rgba(20,27,48,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:22px;padding:6px;box-shadow:0 12px 34px rgba(0,0,0,.3);max-width:560px;margin:auto;grid-template-columns:repeat(4,1fr)}
body.authed #bnav{display:grid}
#bnav a,#bnav button{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;color:#AEB8D6;font:700 11px var(--f);padding:7px 0;border-radius:16px;transition:background .2s,color .2s}
#bnav b{font-size:20px;line-height:1}#bnav a.on{background:var(--grad);color:#fff}
/* settings quick card */
.quick .big{width:100%;justify-content:flex-start;gap:14px;padding:16px;text-align:left}.quick .big b{font-size:26px}.quick .big small{display:block;font-weight:500;opacity:.85;font-size:12px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seg button{background:var(--soft);color:var(--ink);box-shadow:none;justify-content:center;margin:0}.seg button.on{background:var(--grad);color:#fff}
html[data-theme=dark] a{color:#9DB2FF}html[data-theme=dark] .note{background:#17234a;border-color:#2a3a75;color:#C9D4FF}
body.authed{padding-bottom:calc(120px + env(safe-area-inset-bottom))}body.authed main{padding-bottom:40px}
/* v2 features: offline, severity, tiers, signature, dashboards */
header #net.off{background:#EF5350;color:#fff}header #net.sync{background:#4C8DFF;color:#fff}
#bnav .adm{display:none}body.isadmin #bnav .adm{display:flex}
.seg.sev{grid-template-columns:1fr 1fr 1fr}.seg.sev button.RED.on{background:var(--red);color:#fff}.seg.sev button.YELLOW.on{background:var(--yel);color:#111}.seg.sev button.GREEN.on{background:var(--grn);color:#fff}
.thumb.pend{outline:2px dashed var(--amber);outline-offset:-2px;opacity:.8}
.cite{font-size:12px;color:var(--ink2);border-left:3px solid var(--line);padding-left:8px;margin:4px 0}
.rlw{margin-bottom:6px}.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:6px;margin:2px 0 8px 30px}
.tier{display:flex;flex-direction:column;gap:2px;border:1.5px solid var(--line);border-radius:var(--r-s);padding:8px;font-size:12px;cursor:pointer;background:var(--card)}.tier input{display:none}
.tier b{font-size:11px;letter-spacing:.06em;text-transform:uppercase}.tier i{font-style:normal;font-weight:800;font-size:14px}.tier.on{border-color:var(--amber);box-shadow:0 0 0 3px rgba(245,166,35,.25)}
.tier.good b{color:var(--grn)}.tier.better b{color:#2563EB}.tier.best b{color:#7C3AED}
.sigbox{margin:14px 0}.pad{position:relative;border:1.5px dashed var(--ink3);border-radius:var(--r-s);background:#fff;height:150px;margin-top:6px}.pad canvas{width:100%;height:100%;touch-action:none;display:block}.pad button{position:absolute;right:6px;top:6px;min-height:30px;padding:2px 10px}
.fin{margin-top:10px}.g3{display:grid;grid-template-columns:2fr 1fr 2fr;gap:8px}.chk{display:flex;gap:8px;align-items:center;margin-top:10px}.chk input{width:auto}
.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th,.tbl td{padding:7px 6px;border-bottom:1px solid var(--line);text-align:left}.tbl th{color:var(--ink3);font-size:11px;text-transform:uppercase}
.tbl tr.lead td{background:rgba(245,166,35,.15);font-weight:700}.tbl tr.warn td{background:var(--red-bg)}.tbl tr.tot td{font-weight:800}
.roi .top{margin-top:10px;padding:10px 12px;border-radius:var(--r-s);background:linear-gradient(135deg,#F5A623,#FFCF66);color:#111}
.card .tbl{display:block;overflow-x:auto}
[data-theme=dark] .pad{background:#fff}[data-theme=dark] .tier{background:transparent}
body.isadmin #bnav{grid-template-columns:repeat(5,1fr)}
.tier span{text-transform:none;letter-spacing:0;font-weight:600;line-height:1.25}
