[hidden]{display:none!important}
:root{
  /* Ovation Networks: navy #183B5B and green #90B953 from the logo */
  --bg:#f2f5f8; --card:#fff; --ink:#132235; --muted:#5a6878; --line:#d9e1e9;
  --accent:#183b5b; --accent-2:#0f2a44; --accent-soft:#e6edf4;
  --green:#90b953; --green-2:#6f9a37; --green-soft:#eef6e3;
  --grad:linear-gradient(90deg,#90b953 0%,#4f7a52 45%,#183b5b 100%);
  --head:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --warn-bg:#fff4dd; --warn-line:#f0c46c; --warn:#6e4a00;
  --err-bg:#fde8e7; --err-line:#eba29d; --err:#8c1d16;
  --ok-bg:#e6f5ea; --ok-line:#9fd2ac; --ok:#1d5b2c;
  --radius:12px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--accent)}
h1{font-size:26px;margin:0 0 16px;letter-spacing:-.01em}
h2{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:32px 0 12px}
h3{margin:0;font-size:17px}
p{margin:6px 0}

.top{background:var(--ink);color:#fff;position:sticky;top:0;z-index:5;padding-top:env(safe-area-inset-top)}
.top .bar{max-width:980px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:12px 16px}
.brand{color:#fff;text-decoration:none;font-weight:500;letter-spacing:.02em}
.brand b{font-weight:800}
.crumb{color:#fff;background:rgba(255,255,255,.14);padding:3px 10px;border-radius:99px;text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.06em}
.sp{flex:1}
.who{display:flex;gap:10px;align-items:center;font-size:14px;color:#c7d2db;margin:0}
.who .link{background:none;border:0;color:#fff;text-decoration:underline;font:inherit;cursor:pointer;padding:0}

main{max-width:980px;margin:0 auto;padding:22px 16px 80px}
.narrow{max-width:620px;margin:0 auto}
.pagehead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.pagehead h1{margin:0}

/* project tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:16px}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:118px;padding:18px 12px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--ink);
  transition:border-color .15s,transform .15s,box-shadow .15s}
.tile:hover,.tile:focus{border-color:var(--accent);box-shadow:0 4px 14px rgba(13,110,138,.12);transform:translateY(-1px)}
.tile .sid{font-size:30px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;line-height:1.1}
.tile .loc{font-size:13px;color:var(--muted);margin-top:6px;text-align:center}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:9px 16px;border-radius:10px;
  border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 15px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-2)}
.btn.ghost{background:transparent}
.btn.danger{color:var(--err);border-color:var(--err-line)}
.btn.small{min-height:34px;padding:6px 12px;font-size:14px}
.btn.big{min-height:50px;padding:12px 22px;font-size:16px}
.btn[disabled]{opacity:.6;cursor:wait}

/* project page */
.projhead{margin-bottom:18px}
.projhead .sid{font-size:44px;font-weight:800;letter-spacing:.05em;margin:0;line-height:1}
.projhead .loc{color:var(--muted);margin-top:6px}
.pnotes{white-space:pre-wrap;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-top:12px;font-size:14px}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.count{display:inline-block;background:var(--line);color:var(--ink);border-radius:99px;padding:0 9px;font-size:12px;letter-spacing:0;margin-left:6px;vertical-align:2px}
.sub{color:var(--muted);font-size:14px;margin:-4px 0 12px}
.empty{color:var(--muted)}
.empty.big{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius);padding:32px;text-align:center;margin-top:24px}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;scroll-margin-top:70px}
.card:target{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.cardhead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.card .id{font:600 13px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent);margin-top:2px}
.ap h3{font:700 16px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}
.room{color:var(--muted);font-size:14px}
.cardbody{display:flex;gap:14px;margin-top:10px;align-items:flex-start}
.cardbody>div:last-child{flex:1;min-width:0}
.thumbs{display:flex;gap:6px;flex-shrink:0}
.thumb{width:92px;height:92px;object-fit:cover;border-radius:8px;background:var(--bg);border:1px solid var(--line);flex-shrink:0}
.where{font-weight:600}
.note{white-space:pre-wrap;font-size:14px}
.meta{color:var(--muted);font-size:12px;margin-top:8px}
.conn{font-size:14px}
.conn.todo{color:var(--warn)}
.badge{display:inline-block;background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-line);border-radius:99px;font-size:12px;padding:1px 9px;font-weight:600}
.gear{list-style:none;margin:12px 0 10px;padding:0;border-top:1px solid var(--line)}
.gear li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.gear li b{display:block;font:700 14px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}
.gear li span{display:block;font-size:13px;color:var(--muted)}
.gear li .note{color:var(--ink)}
.gear li.none{color:var(--muted);font-size:14px}

/* forms */
.stack{display:flex;flex-direction:column;gap:14px}
.field{display:flex;flex-direction:column;gap:5px}
.lbl{font-weight:650;font-size:14px}
.hint{color:var(--muted);font-size:12.5px}
.hint.below{margin-top:-8px}
input[type=text],input[type=password],input[type=email],input[type=date],input[type=tel],select,textarea{width:100%;font:17px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;min-height:52px;padding:13px 14px;border:1px solid #c8d1d9;border-radius:10px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
input[readonly]{background:var(--bg);color:var(--muted)}
input.upper{text-transform:uppercase;font-weight:700;letter-spacing:.06em}
textarea{resize:vertical}
fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px 14px;margin:0;background:var(--card)}
legend{font-weight:700;font-size:14px;padding:0 6px}
.two,.three{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:560px){.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:1fr 1fr 90px}}
.row{display:flex;flex-wrap:wrap;gap:10px}
.sticky{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 30%);padding:18px 0 calc(10px + env(safe-area-inset-bottom))}
.idpreview{font:700 18px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent);background:var(--accent-soft);padding:10px 12px;border-radius:10px;margin:0;word-break:break-all}
.photo .pick{position:relative;display:block}
.photo input[type=file]{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.pickbtn{display:flex;align-items:center;justify-content:center;min-height:56px;border:2px dashed #b9c4ce;border-radius:10px;color:var(--accent);font-weight:700;background:#fff}
.pick:focus-within .pickbtn{border-color:var(--accent)}
.preview,.current{max-width:100%;max-height:260px;border-radius:10px;border:1px solid var(--line);display:block;object-fit:contain;background:#fff}
.preview[hidden]{display:none}
.uploading{color:var(--accent);font-weight:700}
.deleteform{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}

.banner{border:1px solid;border-radius:10px;padding:12px 14px;margin-bottom:14px;font-weight:550}
.banner.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}
.banner.error{background:var(--err-bg);border-color:var(--err-line);color:var(--err)}
.banner.ok{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok)}
.banner.info{background:var(--accent-soft);border-color:#a9d3df;color:var(--accent-2)}
.banner a{color:inherit;font-weight:800}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:99px;padding:6px 12px;font-size:14px;cursor:pointer}
.chip.used{background:var(--accent-soft);border-color:#a9d3df}
.chip input{margin:0}

@media(max-width:560px){
  .projhead .sid{font-size:36px}
  .cardbody{flex-direction:column}
  .thumb{width:120px;height:120px}
  .actions .btn{flex:1 1 44%}
}

/* ---------- paperwork tiles + reports */
.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.ptiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.ptile{display:flex;align-items:stretch;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--warn-line);border-radius:var(--radius);overflow:hidden}
.ptile.ok{border-left-color:#4caf6e}
.ptile .pmain{flex:1;display:flex;flex-direction:column;padding:12px 14px;text-decoration:none;color:var(--ink)}
.ptile .pmain b{font-size:16px}
.ptile .pmain span{font-size:13px;color:var(--muted);margin-top:2px}
.ptile .pdf{display:flex;align-items:center;padding:0 14px;border-left:1px solid var(--line);font-weight:700;font-size:13px;text-decoration:none}
.filecards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.filecards .card{margin:0}
.filelist{list-style:none;margin:8px 0 0;padding:0}
.filelist li{display:flex;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--line);font-size:14px}
.filelist li a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filelist li span{color:var(--muted);font-size:12px;white-space:nowrap}
.filelist form{margin:0}
.link{background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline;color:var(--accent)}
.link.danger{color:var(--err);font-size:12px}
.uploadstatus{font-size:13px;color:var(--accent);font-weight:600;margin-top:8px}
details.more{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px}
details.more summary{font-weight:700;font-size:14px;cursor:pointer}
details.more[open] summary{margin-bottom:12px}
fieldset .field{margin-top:12px}

/* ---------- checklist (one frame per line) */
.formpage{max-width:760px;margin:0 auto}
.progress{position:relative;height:26px;background:var(--line);border-radius:99px;overflow:hidden;margin:6px 0 18px}
.progress>div{position:absolute;inset:0 auto 0 0;background:#4caf6e;transition:width .3s}
.progress>span{position:relative;display:block;text-align:center;font:700 13px/26px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.fsec h2{margin-top:26px}
.line{display:grid;grid-template-columns:1fr 250px;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:8px}
.line .ltext{margin:0;font-size:15px}
.formnote{font-size:13px;color:var(--muted);margin:4px 2px 10px}
.formnote.red{color:#b3261e;font-weight:600}
.endrow{margin-top:24px}
@media(max-width:600px){.line{grid-template-columns:1fr}}

/* ---------- drawing frame */
.pad{display:flex;flex-direction:column;gap:6px}
.padbox{position:relative;height:96px;background:#fff;border:2px solid #b9c4ce;border-radius:10px;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}
.pad.big .padbox{height:min(42vh,300px)}
.pad.signature .padbox{height:min(34vh,240px)}
.padbox canvas{position:absolute;inset:0;touch-action:none;cursor:crosshair}
.padguide{position:absolute;left:8%;right:8%;bottom:26%;border-bottom:1.5px dashed #c8d1d9;pointer-events:none}
.padbox img{width:100%;height:100%;object-fit:contain;display:block}
.padna{display:flex;align-items:center;justify-content:center;height:100%;font:800 22px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--muted);letter-spacing:.1em}
.pad.done .padbox{border-color:#4caf6e;background:#fbfffc}
.pad.na .padbox{border-color:#c8d1d9;background:var(--bg)}
.padbar{display:flex;align-items:center;gap:8px;min-height:34px;flex-wrap:wrap}
.padwho{font-size:12px;color:var(--muted);flex:1;min-width:0}
.padstatus{font-size:12px;color:var(--accent);font-weight:700}
.padbtns{display:flex;gap:6px;margin-left:auto}

/* ---------- sign off steps */
.wizard{max-width:760px;margin:0 auto;padding-bottom:40px}
.wizhead{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:700;font-size:14px;color:var(--muted)}
.wizard .progress{height:8px;margin:10px 0 18px}
.wizard [data-stepbar]{position:absolute;inset:0 auto 0 0;background:var(--accent);transition:width .25s}
.step{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 18px 22px;margin-bottom:16px}
.stepkicker{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;color:var(--accent);margin:0 0 6px}
.steptitle{font-size:22px;line-height:1.3;text-transform:none;letter-spacing:0;color:var(--ink);margin:0 0 16px}
.bignum{font:800 26px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;margin:14px 0 0}
.release{color:#b3261e;font-style:italic;font-size:17px;margin:0 0 10px}
.siglbl{margin:18px 0 6px}
.todo{margin:0 0 16px;padding-left:20px}
.todo li{margin:6px 0}
.wiznav{display:none}
/* Back/Next sit right under the step, not pinned to the bottom edge: on iPhone, Safari uses the first
   tap near the bottom of the screen to bring back its collapsed toolbar, which made Next need two taps. */
.wizbar{position:sticky;top:var(--hdr,57px);z-index:4;background:var(--bg);padding:10px 0 2px;margin:-10px 0 12px}
.wizard.live .wiznav{display:flex;gap:10px;align-items:center;justify-content:space-between}
.wiznav .btn{min-height:52px;min-width:112px;font-size:17px;padding:10px 18px}
.wiznav [hidden]{display:inline-flex!important;visibility:hidden}
.wizcount{font-weight:700;font-size:14px;color:var(--muted);text-align:center;flex:1}
.wizbar .progress{margin:10px 0 0}
.wizfoot{text-align:center;font-size:14px;color:var(--muted);margin-top:18px}
.savestate{display:block;min-height:1em}

/* ================= Ovation Networks look ================= */
h1,h2,h3,.tile .sid,.projhead .sid,.steptitle,.brand span,.ptile .pmain b{font-family:var(--head)}
h1{font-weight:700;letter-spacing:-.015em}
h2{font-weight:600;color:var(--accent);letter-spacing:.1em}

/* white header with the logo, like ovationnetworks.com */
.top{background:#fff;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(24,59,91,.04)}
.top .bar{max-width:1240px;padding:8px 16px}
.brand{display:flex;align-items:center;gap:10px;color:var(--accent)}
.brand img{height:40px;width:auto;display:block}
.brand span{font-weight:600;font-size:17px;color:var(--accent);padding-left:10px;border-left:1px solid var(--line)}
.crumb{background:var(--accent);color:#fff}
.who{color:var(--muted)}
.who .link{color:var(--accent)}

/* buttons */
.btn.primary{background:var(--accent);border-color:var(--accent)}
.btn.primary:hover{background:var(--accent-2)}
.btn:hover{border-color:var(--green)}
.btn.grad{background:var(--grad);border:0;color:#fff;box-shadow:0 4px 14px rgba(24,59,91,.18)}
.btn.grad:hover{filter:brightness(1.06)}
.btn.block{display:flex;width:100%;justify-content:flex-start;min-height:48px;padding:12px 16px}

/* project tiles on the home screen */
.tile:hover,.tile:focus{border-color:var(--green);box-shadow:0 6px 18px rgba(24,59,91,.12)}
.tile .sid{color:var(--accent)}
.projhead .sid{color:var(--accent)}

/* project page: content left, paperwork column right */
main.wide{max-width:1240px}
.projgrid{display:grid;grid-template-columns:1fr;gap:0 28px}
.projside section:first-child h2{margin-top:22px}
@media(min-width:900px){
  .projgrid{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"top side" "main side"}
  .projtop{grid-area:top}
  .projmain{grid-area:main}
  .projside{grid-area:side;align-self:start;position:sticky;top:76px;max-height:calc(100vh - 92px);overflow:auto;padding:2px 2px 16px}
  .projside section:first-child h2{margin-top:6px}
}
.sidestack{display:flex;flex-direction:column;gap:10px}
.sidestack .ptile{min-height:68px}
.sidestack .btn.grad{margin-top:6px}
.ptile{border-left-color:#e3b74f}
.ptile.ok{border-left-color:var(--green)}
.ptile .pdf{color:var(--accent)}
.sidestack .card.files{margin:0;padding:12px 14px}
.sidestack .card.files h3{font-size:16px}

/* entries */
.card .id,.idpreview{color:var(--accent)}
.idpreview{background:var(--accent-soft);border-left:4px solid var(--green)}
.card:target{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.pickbtn{color:var(--accent)}
.count{background:var(--green-soft);color:var(--green-2)}

/* forms */
.progress>div{background:var(--green)}
.wizard [data-stepbar]{background:var(--grad)}
.stepkicker{color:var(--green-2)}
.pad.done .padbox{border-color:var(--green);background:#fbfdf7}
.padstatus{color:var(--accent)}
.padbox canvas{cursor:crosshair}
.who,.who .link{white-space:nowrap}
@media(max-width:480px){.who span{display:none}.brand img{height:34px}.brand span{font-size:15px;padding-left:8px}.top .bar{gap:10px}}

/* header links + admin */
.who{gap:14px}
.who a{color:var(--accent);text-decoration:none;font-weight:600}
.who a:hover{text-decoration:underline}
@media(max-width:480px){.who .me{display:none}}
.utable{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.utable th,.utable td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}
.utable th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fafc}
.utable tr:last-child td{border-bottom:0}
.tag{display:inline-block;background:var(--green-soft);color:var(--green-2);border-radius:99px;padding:1px 9px;font-size:12px;font-weight:700}
.adminwrap{max-width:820px;margin:0 auto}
.check{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px}
.check input{width:20px;height:20px}
.ucards{display:none}
@media(max-width:640px){.utable{display:none}.ucards{display:block}}

/* text brand (no Ovation logo on the site; it appears on the PDFs only) */
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.1}
.brand .bname{font-family:var(--head);font-weight:700;font-size:19px;color:var(--accent);text-decoration:none;letter-spacing:-.01em}
.brand .bsub{font-size:10.5px;font-weight:600;color:var(--green-2);text-decoration:none;letter-spacing:.04em}
.brand .bsub:hover{text-decoration:underline}
.top .bar{min-height:56px}
@media(max-width:480px){.brand .bname{font-size:17px}}

/* iPhone: date inputs keep to their box; nothing smaller than 16px in a field (that's what makes iOS zoom) */
input[type=date]{-webkit-appearance:none;appearance:none;display:block;min-width:0;max-width:100%;text-align:left}
input[type=date]::-webkit-date-and-time-value{text-align:left}
input,select,textarea{font-size:max(17px,1em)}
textarea{min-height:80px}
.step input,.step textarea{font-size:18px}

/* admin tabs + project delete */
.admintabs{display:flex;gap:6px;max-width:820px;margin:0 auto 14px}
.admintabs a{padding:8px 16px;border-radius:99px;text-decoration:none;font-weight:700;font-size:14px;color:var(--accent);background:var(--card);border:1px solid var(--line)}
.admintabs a.on{background:var(--accent);border-color:var(--accent);color:#fff}
.projrow h3 a{text-decoration:none;color:var(--accent)}
.danger-zone{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.danger-zone summary{cursor:pointer;color:var(--err);font-weight:700;font-size:14px}
.danger-zone form{margin-top:10px}

/* Job info */
.one{display:grid;gap:12px;grid-template-columns:1fr}
.aprows{display:flex;flex-direction:column;gap:10px;margin:10px 0 12px}
.aprow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
input.bad{border-color:var(--err);box-shadow:0 0 0 3px var(--err-bg)}
small.err{color:var(--err);font-weight:600;font-size:13px}

/* AP numbers per model + tally */
.aprow{grid-template-columns:1fr 1fr}
.aprow .apnums{grid-column:1 / -1;display:flex;flex-direction:column;gap:4px}
.aprow .apnums span{font-weight:650;font-size:13px}
.apcount{font-weight:700;color:var(--green-2);font-size:13px;min-height:1em}
.aprows .aprow{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd}
p.err{color:var(--err);font-weight:600;font-size:14px;margin:8px 0}
.apinfo{font-weight:700;font-size:14px;border-radius:10px;padding:0}
.apinfo.ok{background:var(--green-soft);color:var(--green-2);padding:10px 12px}
.apinfo.warn{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-line);padding:10px 12px}
.tally{padding:12px 14px}
.tlabel{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin:0 0 6px}
.trow{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line)}
.trow:first-of-type{border-top:0}
.tnum{font:800 18px/1.2 var(--head);color:#b9770e;white-space:nowrap}
.trow.ok .tnum{color:var(--green-2)}
.trow.bad .tnum,.trow.bad b{color:var(--err)}
.tmiss{font-size:13px;color:var(--muted);margin:2px 0 0}
/* phones: keep Next well up the screen (away from Safari's bottom toolbar tap zone) */
@media(max-width:600px){
  .pad.big .padbox{height:min(28vh,210px)}
  .pad.signature .padbox{height:min(26vh,200px)}
  .steptitle{font-size:19px;margin-bottom:12px}
  .step{padding:14px 14px 16px;margin-bottom:12px}
  .release{font-size:15px}
}
@media(max-width:600px){.steptitle.long{font-size:16px;line-height:1.35}}
/* Sign Off: no timestamp text on screen (it's recorded and printed on the PDF) */
.wizard .padwho{display:none}
.wiznav .btn{touch-action:manipulation;-webkit-user-select:none;user-select:none}
