:root{
  --navy:#1f4e79; --blue:#2f75b5; --ink:#1d2733; --muted:#667085; --line:#d9e2ec; --bg:#f4f7fb; --card:#fff;
  --red:#c0392b; --red-bg:#fde8e6; --amber:#9a6700; --amber-bg:#fff4d6; --green:#1a7f37; --green-bg:#e0f5e6; --grey-bg:#eceff3;
}
*{box-sizing:border-box}
body{margin:0;font:14px/1.5 -apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--blue);text-decoration:none} a:hover{text-decoration:underline}
.top{background:var(--navy);color:#fff;display:flex;align-items:center;gap:20px;padding:0 24px;height:52px;position:sticky;top:0;z-index:5}
.top .brand{font-weight:700;font-size:16px;color:#fff;letter-spacing:.2px}
.top nav{display:flex;gap:4px;flex:1}
.top nav a{color:#d6e4f2;padding:6px 12px;border-radius:6px} .top nav a:hover,.top nav a.on{background:rgba(255,255,255,.14);color:#fff;text-decoration:none}
.top .me{display:flex;align-items:center;gap:12px;color:#d6e4f2;font-size:13px}
.top .me form{margin:0} .top .me button{background:none;border:1px solid rgba(255,255,255,.4);color:#fff;padding:4px 10px;border-radius:6px;cursor:pointer}
main{max-width:1180px;margin:24px auto;padding:0 20px}
h1{font-size:22px;margin:0 0 4px;color:var(--navy)} h2{font-size:15px;margin:0 0 12px;color:var(--navy)}
.sub{color:var(--muted);margin:0 0 18px}
.head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:18px}
.grid{display:grid;gap:16px}.g5{grid-template-columns:repeat(5,1fr)}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:2fr 1fr}
@media(max-width:900px){.g5{grid-template-columns:repeat(2,1fr)}.g2,.g3{grid-template-columns:1fr}}
.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:block;color:inherit}
.stat:hover{text-decoration:none;border-color:var(--blue)} .stat .n{font-size:28px;font-weight:700;color:var(--navy);line-height:1.1}
.stat .l{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.stat.bad .n{color:var(--red)}
.btn{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:7px;padding:8px 14px;font-size:14px;cursor:pointer}
.btn:hover{background:var(--navy);text-decoration:none} .btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line)} .btn.ghost:hover{background:var(--bg)}
.btn.small{padding:4px 10px;font-size:12px} .btn.danger{background:var(--red)}
input,select,textarea{font:inherit;padding:8px 10px;border:1px solid #c5d0dc;border-radius:7px;background:#fff;width:100%;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid #b9d4ee;border-color:var(--blue)}
textarea{min-height:110px;resize:vertical} label{display:block;font-weight:600;font-size:12px;color:var(--muted);margin:0 0 4px;text-transform:uppercase;letter-spacing:.3px}
.field{margin-bottom:14px} .row{display:grid;grid-template-columns:1fr 1fr;gap:14px} @media(max-width:700px){.row{grid-template-columns:1fr}}
.hint{color:var(--muted);font-size:12px;margin-top:4px}
.check{display:flex;align-items:center;gap:6px;font-weight:400;text-transform:none;font-size:13px;color:var(--ink)} .check input{width:auto}
table{width:100%;border-collapse:collapse} th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);background:#f8fafc;white-space:nowrap}
th a{color:inherit} tr:hover td{background:#fafcff} td.title a{font-weight:600;color:var(--ink)} td.title a:hover{color:var(--blue)}
.muted{color:var(--muted)} .nowrap{white-space:nowrap}
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.s-open{background:#e3efff;color:#1d5fb4}.s-in-progress{background:var(--amber-bg);color:var(--amber)}.s-waiting-on-vendor{background:#efe6ff;color:#6b3fb5}
.s-resolved{background:var(--green-bg);color:var(--green)}.s-closed{background:var(--grey-bg);color:#5b6675}
.p-critical{background:var(--red);color:#fff}.p-high{background:var(--red-bg);color:var(--red)}.p-medium{background:var(--amber-bg);color:var(--amber)}.p-low{background:var(--grey-bg);color:#5b6675}
.od{color:var(--red);font-weight:600}
.flash{padding:10px 14px;border-radius:8px;margin-bottom:14px;border:1px solid}
.flash.success{background:var(--green-bg);border-color:#b7e3c3;color:var(--green)}.flash.error{background:var(--red-bg);border-color:#f3c1bb;color:var(--red)}.flash.info{background:#e3efff;border-color:#b9d4ee;color:#1d5fb4}
.filters{display:grid;grid-template-columns:2fr repeat(5,1fr) auto;gap:10px;align-items:end} @media(max-width:1000px){.filters{grid-template-columns:1fr 1fr}}
.bar{display:flex;align-items:center;gap:10px;margin:7px 0}.bar .lab{width:210px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar .track{flex:1;background:var(--grey-bg);border-radius:5px;height:14px;overflow:hidden}.bar .fill{height:100%;background:var(--blue);border-radius:5px}.bar .v{width:28px;text-align:right;font-weight:600}
.timeline{list-style:none;margin:0;padding:0} .timeline li{padding:10px 0;border-bottom:1px solid var(--line)} .timeline li:last-child{border:0}
.timeline .act{color:var(--muted);font-size:13px} .timeline .who{font-weight:600}
.bubble{background:#f7fafd;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-top:4px;white-space:pre-wrap}
.bubble.internal{background:var(--amber-bg);border-color:#f0dc9c}
.desc{white-space:pre-wrap}
.meta{display:grid;grid-template-columns:110px 1fr;gap:8px 10px;font-size:13px} .meta dt{color:var(--muted)} .meta dd{margin:0}
.pager{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:14px}
.login{max-width:380px;margin:80px auto}.login h1{text-align:center}
.empty{text-align:center;color:var(--muted);padding:30px}

/* ---------- rollout / checklist ---------- */
.prog{background:var(--grey-bg);border-radius:6px;height:10px;overflow:hidden;min-width:90px}.prog>i{display:block;height:100%;background:var(--blue)}
.prog.ok>i{background:#2da44e}.prog.risk>i{background:var(--red)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px;margin-bottom:18px}
.ocard{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:block;color:inherit}
.ocard:hover{text-decoration:none;border-color:var(--blue)} .ocard h3{margin:0 0 2px;font-size:16px;color:var(--navy)}
.ocard .row2{display:flex;justify-content:space-between;align-items:center;margin:8px 0 4px;font-size:13px}
.ocard .nums{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-top:8px;flex-wrap:wrap}
.h-complete{background:var(--green-bg);color:var(--green)}.h-at-risk{background:var(--red-bg);color:var(--red)}.h-on-track{background:#e3efff;color:#1d5fb4}
.chk td.ctr,.chk th.ctr{text-align:center} .chk input,.chk select{padding:5px 7px;font-size:13px}
.chk tr.sec td{background:var(--navy);color:#fff;font-weight:700;padding:8px 10px} .chk tr.sec .pc{float:right;font-weight:400;font-size:12px;opacity:.9}
.chk tr.na td{background:#f1f3f5;color:#98a2b3} .chk tr.na .tt{text-decoration:line-through}
.chk tr.od td.due{color:var(--red);font-weight:700}
.chk .tt{font-weight:600} .chk .dd{color:#475467;font-size:13px}
.chk .tick{width:18px;height:18px}
.chk tr.st-done td{background:#f3fbf5} .chk tr.st-blocked td{background:#fff5f4}
.savebar{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:10px 14px;display:flex;gap:10px;align-items:center;justify-content:space-between;margin:0 -1px;border-radius:0 0 10px 10px;z-index:3}
.legend{font-size:12px;color:var(--muted)}
.hdrgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.hdrgrid div{padding:8px 12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:13px}
.hdrgrid .k{background:#eaf1f8;font-weight:700;font-size:12px;color:var(--navy)} @media(max-width:800px){.hdrgrid{grid-template-columns:1fr 1fr}}
.signoff{display:grid;grid-template-columns:1fr 1fr;gap:16px} @media(max-width:800px){.signoff{grid-template-columns:1fr}}
.sgrow{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line)} .sgrow:last-child{border:0}
.tabs a{display:inline-block;padding:4px 10px;border-radius:6px;margin-right:4px} .opt{display:flex;gap:6px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.opt form{margin:0}.opt input[type=text]{padding:5px 8px}.opt .grow{flex:1}.opt .n{width:70px;color:var(--muted);font-size:12px}
.sectionbox{border:1px solid var(--line);border-radius:10px;margin-bottom:14px;background:#fff}.sectionbox>.sh{background:#eaf1f8;padding:10px 14px;border-radius:10px 10px 0 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sectionbox .task{display:flex;gap:10px;align-items:flex-start;padding:9px 14px;border-top:1px solid var(--line)}
@media print{
  .top,.savebar,.noprint,.btn,.flash,form.noprint{display:none!important}
  body{background:#fff;font-size:11px} main{max-width:none;margin:0;padding:0} .card{border:0;padding:0}
  .chk input,.chk select{border:0;background:none;padding:0;appearance:none;-webkit-appearance:none}
  .chk tr{page-break-inside:avoid}
}
.chk select{min-width:118px;width:auto}.chk select.own{min-width:135px}
.chk td:nth-child(8) input{min-width:160px}
.btn{white-space:nowrap}
.opt{flex-wrap:wrap}

/* ---- phone layout ---- */
@media(max-width:760px){
  body{font-size:15px}
  .top{flex-wrap:wrap;height:auto;padding:8px 12px;gap:6px 10px}
  .top .brand{order:1;flex:1}
  .top .me{order:2;font-size:12px} .top .me a{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .top nav{order:3;flex-basis:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .top nav a{padding:8px 12px;flex:none}
  main,.wrap,.container{padding-left:12px!important;padding-right:12px!important}
  .btn,button,input,select,textarea{min-height:42px;font-size:16px}      /* 16px stops iOS zooming into fields */
  .card{overflow-x:auto}
  table{font-size:13px}
}

/* attachments and tags */
.bubble .files{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px} .bubble a.file{background:#fff;border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-size:13px;color:var(--navy)}
.bubble .tags{margin-top:6px} .tag{display:inline-block;background:#e3eefb;color:var(--navy);border-radius:10px;padding:1px 8px;font-size:12px;margin-right:4px}
.tagbox summary{cursor:pointer;color:var(--blue);font-weight:600} .tagbox input[type=search]{width:100%;margin:8px 0}
.taglist{max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:6px 10px;background:#fff} .taglist .check{display:flex;padding:5px 0}
.deptrow td{background:#0b2f4f;color:#fff;font-weight:700;padding:9px 10px;letter-spacing:.3px}.deptrow .pc{float:right;font-weight:400;font-size:12px;opacity:.9}
.top nav a{white-space:nowrap}.top nav{overflow-x:auto;scrollbar-width:none}.top nav::-webkit-scrollbar{display:none}

/* ---------- IT assets ---------- */
.g6{grid-template-columns:repeat(6,1fr)} @media(max-width:1000px){.g6{grid-template-columns:repeat(3,1fr)}} @media(max-width:600px){.g6{grid-template-columns:repeat(2,1fr)}}
.afilters{grid-template-columns:2fr repeat(3,1fr) auto}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}
.s-available{background:var(--green-bg);color:var(--green)}.s-issued{background:#e3efff;color:#1d5fb4}
.s-in-repair{background:var(--amber-bg);color:var(--amber)}.s-lost{background:var(--red-bg);color:var(--red)}.s-retired{background:var(--grey-bg);color:#5b6675}
.holdercard{display:flex;gap:12px;align-items:center;background:#eef5fd;border-color:#c9dcf1}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
select.holderselect{height:auto}
.asset-link{display:inline-flex;gap:6px;align-items:center}
.chk tr.ro td{color:#475467} .chk tr.ro .tt{font-weight:500} .deptrow.ro td{background:#5b6b7c}
.s-done{background:var(--green-bg);color:var(--green)}.s-not-started{background:var(--grey-bg);color:#5b6675}.s-blocked{background:var(--red-bg);color:var(--red)}.s-n-a{background:var(--grey-bg);color:#98a2b3}
.chk tr.deptrow.ro td{background:#5b6b7c;color:#fff}

/* ---------- checklist: per-task save, assignee note, comment thread ---------- */
.offscreen{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form.cf{display:none}
.chk .rowsave{margin-top:6px;padding:3px 10px;font-size:12px}
.chk tr.cmtrow td{padding:0 10px 8px;border-top:0;background:transparent}
.chk tr:has(+ tr.cmtrow) td{border-bottom:0}
.thread summary{cursor:pointer;color:var(--blue);font-size:12.5px;font-weight:600;padding:2px 0}
.thread[open] summary{margin-bottom:6px}
.tlog{list-style:none;margin:0 0 8px;padding:0;border-left:2px solid var(--line);max-width:900px}
.tlog li{display:flex;gap:8px;padding:6px 0 6px 10px;font-size:13px}
.tlog .ic{width:18px;flex:none}.tlog .who{font-weight:600}
.tlog .body{white-space:pre-wrap;background:#f7fafd;border:1px solid var(--line);border-radius:8px;padding:6px 10px;margin-top:3px}
.tlog li.k-assign .muted{color:#1d5fb4}
.cmtbox{display:flex;gap:8px;align-items:flex-end;max-width:900px}
.cmtbox textarea{min-height:44px;height:44px;font-size:13px}
.anote{margin-top:4px}.anote summary{cursor:pointer;color:var(--blue);font-size:11.5px}.anote input{margin-top:4px;font-size:12.5px;padding:5px 7px}
.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}

/* ---------- Polar Bear brand: yellow bar + logo ---------- */
:root{--brand-yellow:#FFC93C;--brand-ink:#1f2a37}
.top{background:var(--brand-yellow);color:var(--brand-ink);height:60px;box-shadow:0 1px 0 rgba(0,0,0,.12)}
.top .brand{display:flex;align-items:center;flex:none}
.top .brand img{height:40px;width:auto;display:block}
.top nav a{color:var(--brand-ink);font-weight:500}
.top nav a:hover{background:rgba(0,0,0,.08);color:var(--brand-ink)}
.top nav a.on{background:var(--navy);color:#fff}
.top .me,.top .me a{color:var(--brand-ink)!important}
.top .me button{border-color:rgba(0,0,0,.35);color:var(--brand-ink)}
.top .me button:hover{background:rgba(0,0,0,.08)}
body.login-page{background:var(--brand-yellow);min-height:100vh}
body.login-page main{margin-top:0}
.login{max-width:400px;margin:56px auto}
.login-logo{display:block;width:100%;max-width:340px;height:auto;margin:0 auto 22px}
.login .card{box-shadow:0 10px 30px rgba(0,0,0,.12);border:0;padding:26px 26px 22px}
.login h1{text-align:center;font-size:20px;margin-bottom:2px}
body.login-page .flash{max-width:400px;margin:20px auto -36px}
@media(max-width:760px){.top{height:auto}.top .brand img{height:34px}.login{margin:28px auto}}
.top{gap:14px;padding:0 18px}.top nav{gap:2px}.top nav a{padding:6px 9px;font-size:13.5px}.top .me{font-size:12.5px;gap:8px}

/* ---------- knowledge base ---------- */
.kbsearch{display:flex;gap:8px;align-items:center;padding:12px}.kbsearch input{flex:1;font-size:16px;padding:10px 12px}
.kbcats{display:flex;flex-wrap:wrap;gap:6px;margin:-6px 0 12px}.kbcats a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12.5px;color:var(--ink)}
.kbcats a.on{background:var(--navy);color:#fff;border-color:var(--navy)}.kbcats a span{opacity:.6;margin-left:3px}.kbcats a:hover{text-decoration:none;border-color:var(--blue)}
.kbitem{display:block;color:inherit;padding:14px 18px;margin-bottom:10px}.kbitem:hover{text-decoration:none;border-color:var(--blue)}
.kbtitle{font-weight:700;font-size:16px;color:var(--navy)}.kbsnip{margin:4px 0;color:#344054;font-size:13.5px}.kbmeta{font-size:12px}
mark{background:#ffe58a;color:inherit;padding:0 1px;border-radius:2px}
.kbbody{white-space:pre-wrap;line-height:1.6;font-size:14.5px}

/* ---------- follow-up tasks ---------- */
.fubox{margin:6px 0 12px;border:1px dashed #c5d0dc;border-radius:8px;padding:6px 10px;background:#fbfcfe}
.fubox summary{cursor:pointer;color:var(--blue);font-weight:600;font-size:13px}
.fubox[open]{padding-bottom:10px}.fubox .fugrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 10px;margin-top:8px}
@media(max-width:700px){.fubox .fugrid{grid-template-columns:1fr}}
.fuitem{display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:8px;margin:6px 0;background:#fff;flex-wrap:wrap}
.fuitem.late{border-left-color:var(--red);background:#fff8f7}.fuitem.done{border-left-color:#2da44e;opacity:.8}
.fuitem .grow{flex:1;min-width:220px}.fudone{display:flex;gap:6px;align-items:center}.fudone input{width:190px;padding:5px 8px;font-size:12.5px}
.navcount{display:inline-block;background:var(--red);color:#fff;border-radius:999px;font-size:11px;padding:0 6px;margin-left:4px;line-height:17px}
.chk input.dl{width:132px;padding:4px 6px;font-size:12.5px}

/* =====================================================================================
   PHONE APP  (≤ 760 px): compact yellow header, bottom tab bar, "More" menu sheet,
   tables turn into cards (table.stack + td[data-label])
   ===================================================================================== */
.tabbar,.sheet-head,.sheet-foot{display:none}
@media(max-width:760px){
  html{-webkit-tap-highlight-color:transparent}
  body.has-tabbar{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  .top{position:sticky;top:0;height:auto;min-height:54px;padding:calc(6px + env(safe-area-inset-top)) 14px 6px;flex-wrap:nowrap;gap:10px}
  .top .brand{order:0;flex:1}.top .brand img{height:32px}
  .top .me{display:none}
  main{margin:12px auto 18px}
  h1{font-size:20px}
  .head{gap:8px}.head>div:last-child{display:flex;gap:6px;flex-wrap:wrap}
  /* the full menu becomes a sheet, opened by the "More" tab (#menu) */
  .top nav#menu{display:none}
  .top nav#menu:target,.top nav#menu.open{display:flex;flex-direction:column;position:fixed;inset:0;z-index:60;background:#fff;overflow-y:auto;
    padding:calc(8px + env(safe-area-inset-top)) 0 calc(24px + env(safe-area-inset-bottom));gap:0;white-space:normal}
  .top nav#menu:target a,.top nav#menu.open a{padding:14px 20px;border-radius:0;border-bottom:1px solid var(--line);font-size:16px;color:var(--ink);background:none}
  .top nav#menu:target a.on,.top nav#menu.open a.on{background:#fff7dc;color:var(--ink);font-weight:700}
  .top nav#menu:target .sheet-head,.top nav#menu.open .sheet-head{display:flex;align-items:center;gap:8px;padding:10px 20px 14px;border-bottom:2px solid var(--brand-yellow)}
  .sheet-head b{font-size:17px}.sheet-head .muted{flex:1;font-size:13px}
  .top nav#menu .sheet-head a.sheet-close{border:0;padding:6px 10px;font-size:20px;color:var(--muted)}
  .top nav#menu:target .sheet-foot,.top nav#menu.open .sheet-foot{display:grid;gap:10px;padding:16px 20px}
  .sheet-foot a{border:0!important;padding:6px 0!important;color:var(--blue)!important}
  .sheet-foot .btn{width:100%;text-align:center}
  /* bottom tab bar */
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line);
    padding:4px 4px calc(4px + env(safe-area-inset-bottom));box-shadow:0 -2px 12px rgba(16,24,40,.08)}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 4px;font-size:11px;font-weight:600;color:#667085;position:relative;text-decoration:none!important}
  .tabbar a svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .tabbar a.on{color:var(--navy)}
  .tabbar a.tab-new span{width:46px;height:46px;margin-top:-20px;border-radius:50%;background:var(--brand-yellow);display:grid;place-items:center;
    box-shadow:0 4px 12px rgba(0,0,0,.18);border:3px solid #fff}
  .tabbar a.tab-new svg{stroke:var(--brand-ink);stroke-width:2.6}
  .tabcount{position:absolute;top:1px;left:calc(50% + 6px);background:var(--red);color:#fff;font-style:normal;border-radius:999px;font-size:10px;line-height:16px;min-width:16px;padding:0 4px}
  /* cards and buttons sized for thumbs */
  .card{padding:14px;border-radius:12px}
  .btn{min-height:44px;padding:10px 16px}.btn.small{min-height:36px;padding:6px 12px}
  .grid.g5,.grid.g6{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:12px}.stat .n{font-size:24px}
  .filters,.afilters{grid-template-columns:1fr 1fr!important}.filters>div:first-child{grid-column:1/-1}
  /* tables -> cards */
  table.stack thead{display:none}
  table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}
  table.stack tr{border-bottom:8px solid var(--bg);padding:10px 12px;position:relative}
  table.stack td{border:0;padding:3px 0;text-align:left!important}
  table.stack td[data-label]::before{content:attr(data-label);display:inline-block;min-width:92px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.3px}
  table.stack td.title{font-size:15px;padding-bottom:6px}
  table.stack td.title a{font-size:15px}
  table.stack tr:hover td{background:none}
  .card:has(> table.stack),.card:has(> .table-wrap > table.stack){background:transparent;border:0;box-shadow:none}
  table.stack tr{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px}
  table.stack .fudone{flex-wrap:wrap;margin-top:6px}.fudone input{flex:1;width:auto!important}
}
.mobile-only{display:none}
@media(max-width:760px){.mobile-only{display:inline}.desktop-only,td.desktop-only,th.desktop-only{display:none!important}
  table.stack td.tcode{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:700}
  .timeline .bubble{font-size:15px}.meta{grid-template-columns:96px 1fr}}

/* ---------- outlet checklist on a phone: one card per task ---------- */
@media(max-width:760px){
  .hdrgrid{grid-template-columns:1fr 1fr;font-size:12px}
  .chk table,.chk tbody,.chk tr,.chk td{display:block;width:100%}
  .chk thead{display:none}
  .chk tr.deptrow td,.chk tr.sec td{border-radius:0;padding:10px 12px}
  .chk tr.task{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 10px;padding:12px 12px 6px;background:#fff;border-top:1px solid var(--line)}
  .chk tr.task td{border:0;padding:2px 0;background:transparent!important;width:auto}
  .chk tr.task td.c-no{order:1;width:auto;color:var(--muted)}
  .chk tr.task td.c-tick{order:2;width:auto}.chk .tick{width:26px;height:26px}
  .chk tr.task td.c-act{order:3;flex:1 1 60%;min-width:0}
  .chk tr.task td[data-label]{order:4;flex:1 1 100%;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .chk tr.task td[data-label]::before{content:attr(data-label);flex:0 0 92px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.3px}
  .chk tr.task td[data-label] select,.chk tr.task td[data-label] input[type=date],.chk tr.task td[data-label] input[type=text]{flex:1;min-width:0;width:auto!important;font-size:16px;padding:8px 10px}
  .chk tr.task td.c-rem{flex-wrap:wrap}.chk tr.task td.c-rem .rowsave{flex:1 1 100%;min-height:44px;font-size:15px;margin:6px 0 4px}
  .chk tr.task .anote{flex:1 1 100%}
  .chk tr.cmtrow{background:#fff;padding:0 12px 10px}.chk tr.cmtrow td:first-child{display:none}.chk tr.cmtrow td{padding:0;border:0}
  .chk tr.na{opacity:.75}
  .chk .cmtbox{flex-direction:column;align-items:stretch}.chk .cmtbox textarea{height:70px}
  .chk .fubox .fugrid{grid-template-columns:1fr}
  .savebar{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));border-radius:12px;margin-top:8px;flex-direction:column;align-items:stretch}
  .savebar .legend{display:none}.savebar .btn{width:100%}
  .signoff .sgrow{flex-wrap:wrap}
  .cards{grid-template-columns:1fr}
}
@media(max-width:760px){.top:has(#menu.open),.top:has(#menu:target){z-index:80}
  body:has(#menu.open) .tabbar,body:has(#menu:target) .tabbar{display:none}}
[hidden]{display:none!important}
