:root{--navy:#0B1F3A;--bar:#0B1F3A;--ink:#0f172a;--muted:#64748b;--onbg-muted:#64748b;--line:#e2e8f0;--bg:#f1f5f9;--brand:#F97316;--brand-ink:#fff;--t1a:#0B1F3A;--t1b:#1D4E89;--t1ink:#fff;--t2a:#C2410C;--t2b:#F97316;--t2ink:#fff;--lnk-bg:#fff;--lnk-ink:#0B1F3A;--lnk-line:#e2e8f0;--pass:#16A34A;--fail:#DC2626;--hold:#D97706;--wit:#2563EB}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;-webkit-text-size-adjust:100%;overscroll-behavior-y:none;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
.wrap{max-width:760px;margin:0 auto}
.bar{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));position:sticky;top:0;z-index:20;background:var(--bar);color:#fff;padding:calc(env(safe-area-inset-top) + 10px) 14px 12px;display:flex;align-items:center;gap:10px}
.bar .back{width:40px;height:40px;border-radius:12px;font-size:24px;color:#fff;margin-left:-6px}
.bar .t{flex:1;min-width:0}.bar b{display:block;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar small{display:block;font-size:12px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pill{font-size:12px;font-weight:700;padding:6px 10px;border-radius:99px;white-space:nowrap;background:rgba(34,197,94,.18);color:#86efac}
.pill.off{background:#F59E0B;color:#1f1300}
.prog{position:sticky;top:calc(env(safe-area-inset-top) + 64px);z-index:19;background:var(--bar);color:#fff;padding:0 14px 12px;font-size:12px}
.track{height:8px;background:rgba(255,255,255,.2);border-radius:99px;overflow:hidden;margin-bottom:6px}.track i{display:block;height:100%;background:#22c55e}
.main{padding:14px 14px calc(110px + env(safe-area-inset-bottom))}
.h{font-size:12px;font-weight:800;color:var(--onbg-muted);text-transform:uppercase;letter-spacing:.8px;margin:18px 4px 8px}
.card{background:#fff;border:1px solid #e8edf3;border-radius:16px;box-shadow:0 1px 2px rgba(15,23,42,.05);padding:14px;margin-bottom:10px}
.tap{display:block;width:100%;text-align:left}
.row{display:flex;align-items:center;gap:10px}
.muted{color:var(--muted)}.small{font-size:13px}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;border-radius:14px;font-weight:700;font-size:16px;background:var(--brand);color:var(--brand-ink)}
.btn.sec{background:#fff;color:var(--navy);border:1.5px solid #cbd5e1}.btn.navy{background:var(--navy);color:#fff}.btn.hold{background:var(--hold)}
.btn[disabled]{opacity:.45;pointer-events:none}
.foot{position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fff;border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
.foot .wrap{display:flex;gap:10px}
.field{margin-bottom:12px}.field label{display:block;font-size:13px;font-weight:700;margin:0 0 5px 2px;color:#334155}
.field input,.field select{-webkit-appearance:none;appearance:none;width:100%;height:50px;border:1.5px solid #cbd5e1;border-radius:12px;padding:0 12px;font-size:16px;background:#fff}
.chip{display:inline-block;font-size:11px;font-weight:800;padding:4px 8px;border-radius:7px;text-transform:uppercase;letter-spacing:.3px}
.chip.hold{background:#FEF3C7;color:#92400E}.chip.wit{background:#DBEAFE;color:#1E40AF}.chip.ok{background:#DCFCE7;color:#166534}.chip.open{background:#E0E7FF;color:#3730A3}.chip.req{background:#F1F5F9;color:#475569}
.sec{display:flex;align-items:center;gap:10px;margin:20px 2px 10px;font-weight:800;font-size:16px}
.sec span{width:28px;height:28px;border-radius:9px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:13px}
.item{border-left:5px solid #cbd5e1}.item.pass{border-left-color:var(--pass)}.item.fail{border-left-color:var(--fail)}.item.na{border-left-color:#94a3b8}
.item.ishold{background:#FFFBEB}.item.locked{opacity:.5}
.item .top{display:flex;gap:10px}.item .n{font-size:12px;font-weight:800;color:var(--muted);min-width:28px;padding-top:2px}
.item .txt{font-weight:600;font-size:15px;line-height:1.35}.item .crit{font-size:13px;color:var(--muted);margin-top:3px}
.flags{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 0 38px}
.seg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:12px}
.seg button{height:52px;border-radius:12px;border:1.5px solid #cbd5e1;background:#fff;font-weight:800;font-size:16px}
.seg .pass.on{background:var(--pass);border-color:var(--pass);color:#fff}.seg .fail.on{background:var(--fail);border-color:var(--fail);color:#fff}.seg .na.on{background:#475569;border-color:#475569;color:#fff}
.tools{display:flex;gap:8px;margin-top:10px}.tools button{flex:1;height:46px;border-radius:12px;background:#f1f5f9;font-weight:700}
.tools button.has{background:#E0F2FE;color:#075985}
.thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}.thumbs img{width:78px;height:98px;object-fit:cover;border-radius:10px;border:1px solid var(--line);flex:none}
textarea.note{width:100%;margin-top:10px;border:1.5px solid #cbd5e1;border-radius:12px;padding:10px;min-height:64px;font-size:16px;-webkit-appearance:none}
.holdbox{margin-top:12px;border:1.5px dashed var(--hold);border-radius:12px;padding:12px;font-size:13px;color:#78350F;background:#fff}
.holdbox.ok{border:1.5px solid #86efac;background:#F0FDF4;color:#14532D}
.holdbox .btn{min-height:46px;margin-top:10px;font-size:15px}
.lockmsg{margin-top:10px;font-size:13px;color:#92400E;font-weight:600}
.defect{margin-top:10px;font-size:13px;background:#FEE2E2;color:#7F1D1D;border-radius:10px;padding:10px}
.banner{background:#DCFCE7;color:#14532D;border-radius:12px;padding:12px;font-size:14px;margin-bottom:10px}
.pad{background:#fff;border:2px dashed #94a3b8;border-radius:16px;height:200px;position:relative;touch-action:none;overflow:hidden}
.pad canvas{position:absolute;inset:0;width:100%;height:100%}.pad .ph{position:absolute;inset:0;display:grid;place-items:center;color:#94a3b8;pointer-events:none}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px}.chk input{width:22px;height:22px;flex:none;margin:0}
.sheet-bg{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:50;display:flex;align-items:flex-end;justify-content:center}
.sheet{background:#fff;width:100%;max-width:760px;border-radius:22px 22px 0 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom));max-height:90vh;overflow:auto}
.opt{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:14px;border:1.5px solid var(--line);border-radius:14px;margin-bottom:8px}.opt.on{border-color:var(--brand);background:#FFF7ED}
.viewer{position:fixed;inset:0;background:#000;z-index:60;display:flex;flex-direction:column}.viewer img{flex:1;min-height:0;object-fit:contain;width:100%}
.viewer .vb{display:flex;gap:10px;padding:12px 14px calc(12px + env(safe-area-inset-bottom))}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(90px + env(safe-area-inset-bottom));z-index:70;background:#0f172a;color:#fff;border-radius:12px;padding:12px 16px;font-size:14px;max-width:90vw;display:none}
.empty{text-align:center;padding:30px 10px;color:var(--muted)}
/* report */
.paper{background:#fff;border-radius:8px;padding:20px;font-size:12px;line-height:1.4;box-shadow:0 4px 16px rgba(0,0,0,.08)}
.paper .rh{display:flex;justify-content:space-between;gap:10px;border-bottom:3px solid var(--navy);padding-bottom:10px;margin-bottom:10px}
.paper h2{margin:0;font-size:18px;color:var(--navy)}.paper h3{font-size:13px;color:var(--navy);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 6px}
.paper table{width:100%;border-collapse:collapse}.paper td,.paper th{border:1px solid #e2e8f0;padding:5px 6px;text-align:left;vertical-align:top}.paper th{background:#f1f5f9;font-size:11px}
.r{font-weight:800;font-size:10px;padding:2px 6px;border-radius:4px;white-space:nowrap}.r.pass{background:#DCFCE7;color:#166534}.r.fail{background:#FEE2E2;color:#991B1B}.r.na{background:#E2E8F0}.r.open{background:#f1f5f9;color:#94a3b8}
.rph{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.rph img{width:100%;border-radius:4px;border:1px solid #e2e8f0;display:block}
.sigs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.sigs>div{border:1px solid #e2e8f0;border-radius:6px;padding:8px}.sigs img{height:60px;max-width:100%;display:block}
@media print{
 @page{size:A4;margin:12mm}
 body{background:#fff}.bar,.foot,.noprint,#toast{display:none!important}.main{padding:0}
 .paper{box-shadow:none;padding:0;border-radius:0}.rph{grid-template-columns:repeat(3,1fr)}
 tr,.rph img,.sigs>div{page-break-inside:avoid;break-inside:avoid}
}
@media screen and (max-width:520px){
 .paper{padding:12px;font-size:11.5px}.paper th{font-size:10px}.paper td,.paper th{padding:4px}
 .paper col.cn{width:28px}.paper col.ct{width:52px}.paper col.cr{width:62px}
 .paper table{table-layout:fixed;word-wrap:break-word}.rph{grid-template-columns:repeat(2,1fr)}.sigs{grid-template-columns:1fr}
}
.pill.wait{background:#FEF3C7;color:#92400E}.pill.err{background:#FEE2E2;color:#991B1B}
.who{margin-top:8px;font-size:12px;color:#94a3b8}
.thumbwait{width:78px;height:98px;border-radius:10px;border:1px dashed #cbd5e1;display:grid;place-items:center;text-align:center;font-size:11px;color:#94a3b8;flex:none}
.act{padding:16px 18px;border-top:1px solid #e2e8f0;font-size:17px;line-height:1.5;color:var(--ink)}.act:first-child{border-top:0}
.act .small{font-size:14px;font-weight:600;color:#475569;margin-bottom:4px}.act b{font-weight:800;color:#0f172a}
.chip.hold{background:#FEF3C7;color:#92400E}

.btn.sm{min-height:42px;font-size:14px}
.tsec{background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;margin-top:12px}
.tsech{display:flex;gap:6px;align-items:center;margin-bottom:6px}.tn{background:var(--navy);color:#fff;border-radius:8px;min-width:26px;height:26px;display:grid;place-items:center;font-weight:700;font-size:13px}
.tin{flex:1;min-width:0;height:42px;border:1.5px solid #cbd5e1;border-radius:10px;padding:0 10px;font-size:16px;font-weight:700}
.ib{width:36px;height:36px;border-radius:9px;border:1px solid #cbd5e1;background:#fff;font-weight:700;color:var(--navy);flex:none}.ib:disabled{opacity:.3}.ib.del{color:#B91C1C}
.titem{border:1px solid var(--line);border-left:4px solid #cbd5e1;border-radius:12px;padding:8px;margin:8px 0}.titem.hold{border-left-color:var(--hold);background:#FFFBEB}.titem.wit{border-left-color:var(--wit);background:#EFF6FF}
.tnum{font-size:12px;font-weight:700;color:var(--muted);padding-top:10px;min-width:30px}
.tta{flex:1;min-width:0;border:1.5px solid #cbd5e1;border-radius:10px;padding:8px;font-size:16px;resize:vertical;-webkit-appearance:none;background:#fff}
.titem .col{display:flex;flex-direction:column;gap:4px}
.tcrit{width:100%;height:40px;border:1.5px solid #e2e8f0;border-radius:10px;padding:0 10px;font-size:16px;margin-top:6px;-webkit-appearance:none;background:#fff}
.tseg{display:flex;flex:1;border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;min-width:0}.tseg button{flex:1;padding:8px 2px;font-size:12px;font-weight:700;background:#fff;color:#475569;border-right:1px solid #e2e8f0}.tseg button:last-child{border-right:0}
.tseg button.on.check{background:#334155;color:#fff}.tseg button.on.hold{background:var(--hold);color:#fff}.tseg button.on.wit{background:var(--wit);color:#fff}
.tph{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:700;white-space:nowrap}.tph input{width:18px;height:18px}
.addbtn{width:100%;padding:10px;border:1.5px dashed #cbd5e1;border-radius:12px;color:var(--navy);font-weight:700;font-size:14px;margin-top:4px}

.chip.bad{background:#FEE2E2;color:#991B1B}.chip.ok{background:#DCFCE7;color:#166534}
.banner.wit{background:#DBEAFE;color:#1E3A8A;border-color:#93C5FD}.banner.bad{background:#FEE2E2;color:#7F1D1D;border-color:#FCA5A5}
.dpanel{margin-top:10px;border-radius:12px;padding:10px;border:1.5px solid #FCA5A5;background:#FEF2F2}.dpanel.hold{border-color:#FCD34D;background:#FFFBEB}
.btn.dbtn{min-height:50px;margin-top:8px;font-size:15px}
.hist{margin-top:8px;font-size:12px;color:#166534;background:#F0FDF4;border-radius:8px;padding:8px;cursor:pointer}
.attn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-left:6px solid #94a3b8;border-radius:14px;padding:14px;margin-bottom:8px;min-height:68px}
.attn.ok{border-left-color:var(--pass)}.attn.bad{border-left-color:var(--fail)}.attn.wit{border-left-color:var(--wit)}.attn.hold{border-left-color:var(--hold)}
.attn .ai{font-size:26px}.attn .at{flex:1;min-width:0}.attn .at b{display:block;font-size:15px}.attn .at small{color:var(--muted);font-size:13px}.attn .chev{font-size:24px;color:#94a3b8}
.tabs{display:flex;gap:6px;margin:4px 0 12px}.tabs button{flex:1;min-height:62px;border-radius:14px;border:1.5px solid #cbd5e1;background:#fff;font-weight:700;font-size:13px;color:#334155}.tabs button span{display:block;font-size:20px}.tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.dthumb{width:68px;height:68px;border-radius:10px;object-fit:cover;flex:none}.dthumb.none{display:grid;place-items:center;background:#FEF2F2;font-size:28px}
.od{color:#B91C1C;font-weight:700}
.dhead{border-radius:16px;padding:14px;background:#FEF2F2;border:1.5px solid #FCA5A5;margin-bottom:12px}.dhead.hold{background:#FFFBEB;border-color:#FCD34D}.dhead.ok{background:#F0FDF4;border-color:#86EFAC}
.btn.big{min-height:62px;font-size:18px}.btn.ok{background:var(--pass)}
.pseg{display:flex;border:1.5px solid #cbd5e1;border-radius:12px;overflow:hidden}.pseg button{flex:1;height:50px;font-weight:700;background:#fff;color:#475569;border-right:1px solid #e2e8f0}.pseg button:last-child{border-right:0}.pseg button.on.low{background:#64748b;color:#fff}.pseg button.on.normal{background:var(--navy);color:#fff}.pseg button.on.high{background:var(--fail);color:#fff}
.field textarea.note{width:100%;min-height:80px}
.rdef{border:1px solid #e2e8f0;border-radius:8px;padding:8px;margin:8px 0;break-inside:avoid}table.ba{width:100%;margin-top:4px}table.ba td,table.ba th{vertical-align:top;width:50%}
/* v6: home tiles + defects side */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:2px;min-height:150px;border-radius:20px;padding:16px;text-align:left;color:#fff;box-shadow:0 4px 14px rgba(11,37,69,.18)}
.tile.itp{background:linear-gradient(150deg,var(--t1a),var(--t1b));color:var(--t1ink)}.tile.def{background:linear-gradient(150deg,var(--t2a),var(--t2b));color:var(--t2ink)}
.tile .ti{font-size:38px;margin-bottom:auto}.tile b{font-size:26px;letter-spacing:.2px}.tile small{font-size:13px;opacity:.9}
.links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.lnk{background:var(--lnk-bg);border:1.5px solid var(--lnk-line);border-radius:12px;padding:10px 12px;font-size:14px;font-weight:700;color:var(--lnk-ink);min-height:44px}
.acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.acts .snap{grid-column:1/-1}.acts .btn{text-decoration:none}
.filters{display:flex;gap:8px;margin-bottom:8px}.filters select{flex:1;min-width:0;height:46px;border:1.5px solid #cbd5e1;border-radius:12px;padding:0 10px;font-size:15px;background:#fff}
.chk.tog{padding:8px 12px;font-weight:700;align-items:center}
.qph{display:flex;gap:10px;overflow-x:auto;margin-bottom:14px;padding-bottom:2px}.qph img{width:120px;height:120px;object-fit:cover;border-radius:14px;flex:none;border:1px solid var(--line)}
.qadd{width:120px;height:120px;flex:none;border-radius:14px;border:2px dashed var(--brand);background:#FFF7ED;color:#9A3412;font-weight:800;font-size:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.qadd span{font-size:34px}
.qe .qph:has(img) .qadd{width:96px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ch{min-height:42px;padding:0 13px;border-radius:21px;border:1.5px solid #cbd5e1;background:#fff;font-weight:700;font-size:14px;color:#334155}.ch.on{background:var(--navy);border-color:var(--navy);color:#fff}
.chdate{height:42px;border:1.5px solid #cbd5e1;border-radius:21px;padding:0 10px;font-size:14px;background:#fff}
.kav{width:44px;height:44px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}
.mailfr{width:100%;min-height:600px;border:1px solid var(--line);border-radius:12px;background:#f1f5f9}
.r.hold{background:#FEF3C7;color:#92400E}
@media print{.acts,.filters{display:none!important}}
.acts .btn,.acts .btn.sec{margin:0}

/* ---------- colour themes: <html data-theme="…">  (default set in index.html: HP_DEFAULT_THEME) ---------- */
[data-theme=slate]{--bar:#1E293B;--navy:#1E293B;--brand:#FACC15;--brand-ink:#1E293B;--bg:#E2E8F0;--onbg-muted:#475569;--t1a:#334155;--t1b:#1E293B;--t1ink:#fff;--t2a:#EAB308;--t2b:#FDE047;--t2ink:#1E293B;--lnk-bg:#fff;--lnk-ink:#1E293B;--lnk-line:#CBD5E1}
[data-theme=charcoal]{--bar:#0B0F17;--navy:#111827;--brand:#F59E0B;--brand-ink:#111827;--bg:#1F2937;--onbg-muted:#CBD5E1;--t1a:#14532D;--t1b:#15803D;--t1ink:#fff;--t2a:#D97706;--t2b:#FBBF24;--t2ink:#111827;--lnk-bg:#374151;--lnk-ink:#F9FAFB;--lnk-line:#4B5563}
[data-theme=charcoal] .main>:is(.sec,.empty,.small:not(.card),p,label:not(.chk)),[data-theme=charcoal] .main>.small:not(.card) b{color:#E5E7EB!important}
[data-theme=charcoal] .tile.itp{border:1.5px solid var(--t1line,#166534)}
[data-theme=white]{--bar:#1D4ED8;--navy:#1E3A8A;--brand:#1D4ED8;--brand-ink:#fff;--bg:#FFFFFF;--onbg-muted:#475569;--t1a:#1D4ED8;--t1b:#3B82F6;--t1ink:#fff;--t2a:#B91C1C;--t2b:#EF4444;--t2ink:#fff;--lnk-bg:#F1F5F9;--lnk-ink:#1E3A8A;--lnk-line:#CBD5E1}
[data-theme=white] .card,[data-theme=white] .attn{border-color:#CBD5E1}
[data-theme=forest]{--bar:#14532D;--navy:#14532D;--brand:#B45309;--brand-ink:#fff;--bg:#F5F3EE;--onbg-muted:#57534E;--t1a:#14532D;--t1b:#15803D;--t1ink:#fff;--t2a:#92400E;--t2b:#D97706;--t2ink:#fff;--lnk-bg:#fff;--lnk-ink:#14532D;--lnk-line:#E7E5E4}
.thm{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px;border:2px solid var(--line);border-radius:14px;margin-bottom:8px;background:#fff;color:var(--ink)}.thm.on{border-color:#0f172a}
.thm .sw{display:flex;gap:3px;flex:none}.thm .sw i{width:22px;height:40px;border-radius:6px;display:block;border:1px solid rgba(0,0,0,.12)}

/* header Sign out – 5 sample styles, html[data-hs] (or .bar.mini[data-hs] previews) */
.so{display:inline-flex;align-items:center;gap:6px;flex:none;color:#fff;font-weight:700;font-size:14px;min-height:40px;padding:0 12px;border-radius:999px;background:none;border:0;white-space:nowrap}
.so .si{display:none;font-size:16px;line-height:1}
html[data-hs=link] .bar:not(.mini) .so,.bar.mini[data-hs=link] .so{padding:0 4px;text-decoration:underline;text-underline-offset:3px;opacity:.9;font-weight:600}
html[data-hs=pill] .bar:not(.mini) .so,.bar.mini[data-hs=pill] .so{background:rgba(255,255,255,.16)}
html[data-hs=icon] .bar:not(.mini) .so,.bar.mini[data-hs=icon] .so{border-radius:12px;background:rgba(255,255,255,.12);padding:0 12px}html[data-hs=icon] .bar:not(.mini) .so .si,.bar.mini[data-hs=icon] .so .si{display:inline}
html[data-hs=ghost] .bar:not(.mini) .so,.bar.mini[data-hs=ghost] .so{border:1.5px solid rgba(255,255,255,.7);border-radius:10px}
html[data-hs=contrast] .bar:not(.mini) .so,.bar.mini[data-hs=contrast] .so{background:#fff;color:var(--bar);border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.bar.mini{position:static;padding:8px 10px;border-radius:10px;width:190px;flex:none;gap:6px}.bar.mini b{font-size:14px}.bar.mini .so{min-height:30px;font-size:12px;padding:0 9px}.bar.mini[data-hs=link] .so.so{padding:0 2px}
.thm.hsx{gap:10px}
@media (max-width:380px){.bar .so .sl{font-size:13px}.bar .syncpill{max-width:110px;overflow:hidden;text-overflow:ellipsis}}

/* SignOffHQ logo treatments */
.brand{display:flex!important;align-items:center;gap:8px;line-height:1.1}.brand .lm{width:28px;height:28px;flex:none}
.b-word{font-weight:900!important;font-size:21px!important;letter-spacing:.5px;border-bottom:3px solid #F59E0B;padding-bottom:1px;width:max-content}.b-word .wm span{color:#F59E0B}
.b-mono{font-size:20px!important;font-weight:800!important}.b-mono .lm{display:grid;place-items:center;background:#F59E0B;color:#0B0F17;font-style:normal;font-weight:900;font-size:14px;letter-spacing:-.5px;border-radius:7px}
.b-tick{font-size:20px!important;font-weight:800!important}.b-tick .wm span{color:#4ADE80}
.b-house{font-size:20px!important;font-weight:800!important;letter-spacing:.2px}
.b-stamp span{display:inline-block;border:2.5px solid #F59E0B;color:#FCD34D;border-radius:6px;padding:3px 8px;font-weight:900;font-size:16px;letter-spacing:1.5px;font-family:ui-monospace,Menlo,Consolas,monospace;transform:rotate(-1.5deg)}
.bar.mini.lg{width:200px;min-height:46px}.bar.mini .brand{font-size:15px!important}.bar.mini .brand .lm{width:22px;height:22px}.bar.mini .b-mono .lm{font-size:11px}.bar.mini .b-stamp span{font-size:12px}

/* home header: bigger HP monogram + company name in white below */
.bar .t.brandt .b-mono{font-size:27px!important;font-weight:900!important;letter-spacing:-.2px;gap:10px}
.bar .t.brandt .b-mono .lm{width:40px;height:40px;font-size:19px;border-radius:9px}
.bar .t.brandt .brand .lm{width:36px;height:36px}.bar .t.brandt .brand:not(.b-stamp){font-size:24px!important}.bar .t.brandt .b-mono{font-size:27px!important}
.bar .t.brandt small{font-size:15px;font-weight:600;color:#fff;opacity:1;margin-top:4px}

.itpcg{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.itpc{display:flex;align-items:center;gap:8px;padding:8px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left;font-weight:700;font-size:13px}.itpc.on{border-color:#0f172a}
.itpc i{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:18px;flex:none}

/* home spacing: tiles → links → Needs your attention */
html[data-sp=comfy] .tiles{margin-bottom:18px}html[data-sp=comfy] .links{gap:10px}html[data-sp=comfy] .links+.h,html[data-sp=comfy] .links+.card+.h{margin-top:28px}
html[data-sp=roomy] .tiles{margin-bottom:26px;gap:16px}html[data-sp=roomy] .links{gap:12px}html[data-sp=roomy] .links+.h,html[data-sp=roomy] .links+.card+.h{margin-top:38px}

/* stage 4: sheet close button, team rows on phones, unsaved-note box, phone defect report */
.sheet{position:relative}.sx{position:sticky;top:0;float:right;margin:-6px -6px 0 8px;width:40px;height:40px;border-radius:20px;background:#F1F5F9;color:#0F172A;font-size:18px;font-weight:700;z-index:2}
.trow{flex-wrap:wrap;gap:6px}.trow .twho{flex:1;min-width:0}.trow .tem{overflow-wrap:anywhere}.trow .tacts{display:flex;flex-wrap:wrap;gap:6px}.trow.off{opacity:.7}
.unsaved{margin-top:8px;padding:10px 12px;border-radius:10px;background:#FEF3C7;border:1px solid #F59E0B;color:#78350F;font-size:14px}.unsaved .ut{margin-top:6px;padding:8px;background:#fff;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;color:#0F172A}
@media screen and (max-width:520px){
 .trow .tacts{width:100%}
 .paper table.dsum th:nth-child(3),.paper table.dsum td:nth-child(3),.paper table.dsum th:nth-child(4),.paper table.dsum td:nth-child(4){display:none}
 .paper table.dsum{table-layout:auto;word-wrap:normal}.paper table.dsum td{overflow-wrap:normal;word-break:normal;hyphens:auto}
 .paper table.dsum td:nth-child(1),.paper table.dsum td:nth-child(5){white-space:nowrap}
 .paper .r{white-space:normal;display:inline-block;line-height:1.25}
 .paper table{word-wrap:normal;overflow-wrap:break-word;word-break:normal}
}

/* incomplete works: kind chips, list filter, logging toggle, home tiles (ITPs · Defects · Incomplete) + contacts row */
.chip.inc{background:#CCFBF1;color:#115E59}.chip.dfc{background:#FFEDD5;color:#9A3412}
.kseg{margin-bottom:10px}.kseg button{height:44px}.kseg .kn{display:inline-block;min-width:22px;padding:1px 6px;border-radius:9px;background:rgba(15,23,42,.08);font-size:13px;margin-left:4px}.kseg button.on .kn{background:rgba(255,255,255,.2)}
.ktog button{height:auto;min-height:64px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:16px}.ktog small{font-weight:500;font-size:12px;opacity:.85}
.ktog.sm button{min-height:44px}
.ktog button.on.def{background:#EA580C;color:#fff}.ktog button.on.inc{background:#0F766E;color:#fff}
.tile.inc{background:linear-gradient(150deg,#115E59,#14B8A6);color:#fff}
.ctile{display:flex;align-items:center;gap:12px;width:100%;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;margin:0 0 14px;color:var(--navy);text-align:left}
.ctile span{font-size:26px}.ctile b{font-size:18px}.ctile small{color:var(--muted);font-size:13px;flex:1}.ctile i{font-style:normal;font-size:22px;color:#94a3b8}
html[data-sp=roomy] .ctile{margin-bottom:26px}
.kseg button{white-space:nowrap}@media (max-width:420px){.kseg button{font-size:15px;padding:0 4px}.kseg .kn{min-width:18px;margin-left:2px}}

/* 3 home tiles: identical size on every device/role – fixed track widths (minmax(0,1fr) so long text can't widen a column),
   fixed height, same icon / label / count layout; text wraps (max 2 lines) inside the tile instead of resizing it */
.tiles.t3{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:var(--tileH,150px);align-items:stretch}
.tiles.t3 .tile{height:100%;min-height:0;min-width:0;overflow:hidden;justify-content:flex-start;gap:0;padding:clamp(10px,2.4vw,16px)}
.tiles.t3 .tile .ti{font-size:clamp(26px,6.4vw,38px);line-height:1;margin:0 0 auto}
.tiles.t3 .tile b{font-size:clamp(14px,3.9vw,26px);line-height:1.15;margin-top:6px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tiles.t3{--bigF:clamp(18px,4.6vw,28px);--smF:clamp(11px,2.9vw,13px)}
.tiles.t3 .tile .tc{display:block;width:100%;min-width:0;margin-top:3px;height:calc(var(--bigF) * 1.1 + var(--smF) * 2.5 + 1px);overflow:hidden;flex:none}
.tiles.t3 .tile .big{display:block;font-size:var(--bigF);font-weight:800;line-height:1.1}
.tiles.t3 .tile small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--smF);line-height:1.25;opacity:.92;overflow-wrap:anywhere}
@media (min-width:600px){.tiles.t3{--tileH:184px}}
@media (min-width:1000px){.tiles.t3{--tileH:188px}}
.banner.arch{background:#F1F5F9;color:#0F172A;border:1px solid #CBD5E1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.banner.arch .btn{width:auto;margin-left:auto}
.dlhold{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}
/* Incomplete view (opened from the Incomplete tile/filter): teal accents to match the home tile */
.incv .btn.big{background:linear-gradient(150deg,#115E59,#14B8A6);color:#fff;border-color:transparent}
.incv .kseg button.on{background:#0F766E;color:#fff;border-color:#0F766E}
.incv .attn .ai{color:#0F766E}
/* ITPs 'coming soon' tile (customers) */
.tile.itp.soon{background:linear-gradient(150deg,#94A3B8,#CBD5E1)!important;color:#334155!important;border:0!important;box-shadow:none}
.tile.soon .soonb{display:inline-block;background:#fff;color:#0B1F3A;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700}
.shrm{display:flex;flex-direction:column;gap:6px}.shri{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:inherit;font:inherit;font-size:16px;text-align:left;text-decoration:none;cursor:pointer}.shri:active{background:#F1F5F9}.shic{font-size:22px;width:28px;text-align:center;flex:none}

/* SignOffHQ logo: navy SQ tile + wordmark (SignOff white on the navy bar, HQ white on orange) */
.b-sq{font-size:20px!important;font-weight:800!important;letter-spacing:-.2px;gap:9px}.b-sq .lm{width:30px;height:30px;border-radius:7px;box-shadow:0 0 0 1.5px rgba(255,255,255,.4)}
.b-sq .wm{color:#fff}.b-sq .wm span{background:#F97316;color:#fff;border-radius:5px;padding:0 4px;margin-left:2px}
.bar .t.brandt .b-sq{font-size:25px!important}.bar .t.brandt .b-sq .lm{width:40px;height:40px;border-radius:9px}
[data-install][hidden]{display:none!important}
