/* Site Management portal additions (on top of the shared employee-portal style.css) */
.draft-banner{background:#fde8e6;color:#8a1c14;border-bottom-color:#f3c1bb}
.draft-pill{display:inline-block;margin-left:.35rem;padding:0 .4rem;border-radius:4px;background:#b3261e;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.05em;vertical-align:middle}
.viewas-bar{background:#10243e;color:#fff;font-size:.88rem;padding:.4rem 0}.viewas-bar a{color:#9fd3ff}.viewas-bar .link-btn{background:none;border:0;color:#9fd3ff;text-decoration:underline;padding:0;font-weight:600;cursor:pointer}
form.inline{display:inline}.inline-form{display:flex;gap:.5rem;flex-wrap:wrap}.inline-form input{flex:1;min-width:180px}
.narrow{max-width:460px}.mt{margin-top:1rem}.pre{white-space:pre-wrap}
.small,button.small,.btn.small{padding:.35rem .75rem;font-size:.85rem}
.secondary-btn{background:#fff!important;color:var(--blue)!important;border:1px solid var(--blue)!important}
.danger-btn{background:var(--bad)!important;color:#fff!important}
button.big,.btn.big{width:100%;padding:1rem;font-size:1.1rem;min-height:56px}
.demo-logins table{font-size:.88rem}.demo-logins td{word-break:break-word}
code{background:var(--grey-l);padding:.1rem .35rem;border-radius:4px;font-size:.92em}
.badge.st-ok{background:#e9f5ee;color:var(--ok)}.badge.st-warn{background:#fff4e0;color:var(--warn)}.badge.st-bad{background:#fdecea;color:var(--bad)}.badge.st-done{background:#eef1f4;color:#3c4650}.badge.st-muted{background:#eef1f4;color:var(--grey)}
tr.row-bad td{background:#fff6f5}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem;margin:1rem 0 1.4rem}
.stat{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-top:4px solid var(--line);border-radius:6px;padding:.75rem .9rem;text-decoration:none;color:var(--text)}
.stat-n{font-size:1.7rem;font-weight:700;line-height:1.1}.stat-l{font-size:.82rem;color:var(--grey)}
.stat.ok{border-top-color:var(--ok)}.stat.ok .stat-n{color:var(--ok)}.stat.warn{border-top-color:var(--warn)}.stat.warn .stat-n{color:var(--warn)}.stat.bad{border-top-color:var(--bad)}.stat.bad .stat-n{color:var(--bad)}
td.num{text-align:center}
ul.attn,ul.trail,ul.plain,ul.permit-list{list-style:none;padding:0;margin:.4rem 0}
ul.attn li,ul.trail li,ul.permit-list li{background:#fff;border:1px solid var(--line);border-radius:6px;padding:.55rem .8rem;margin-bottom:.4rem}
ul.plain li{padding:.2rem 0}
.site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:1rem 0}
.site-card{display:flex;flex-direction:column;gap:.25rem;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:6px;padding:1rem;text-decoration:none;color:var(--text)}
.site-card strong{color:var(--blue-d)}.site-card:hover{border-color:var(--blue)}.site-nums{margin-top:.3rem;font-size:.9rem}
.qr-card{align-items:center;text-align:center;border-left-width:1px}
.board-head,.permit-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-start}
.board-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.board-cols{display:grid;grid-template-columns:1.3fr 1fr;gap:1.4rem}
@media(max-width:900px){.board-cols{grid-template-columns:1fr}}
.site-head{margin-bottom:1rem}.site-head h1{font-size:1.6rem}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;color:var(--grey);margin:0}
.choice-grid{display:grid;gap:.8rem}
.choice{display:flex;flex-direction:column;background:#fff;border:2px solid var(--blue);border-radius:10px;padding:1rem 1.1rem;text-decoration:none;color:var(--text);min-height:64px}
.choice strong{color:var(--blue-d);font-size:1.08rem}.choice span{color:var(--grey);font-size:.9rem}.muted-choice{border-color:var(--line);border-style:dashed}
.status-card{border-left:6px solid var(--line)}.status-card.in{border-left-color:var(--ok)}.status-card.out{border-left-color:var(--grey)}
.big-status{font-size:1.3rem;font-weight:700;margin:0 0 .3rem;color:var(--ok)}.status-card.out .big-status{color:var(--grey)}
ol.rules{padding-left:1.3rem}ol.rules li{margin-bottom:.4rem}
.sig-pad{display:block;width:100%;height:170px;border:2px dashed var(--line);border-radius:8px;background:#fff;touch-action:none}
.sig-thumb{height:36px;background:#fff;border:1px solid var(--line)}
.brief{border-left:4px solid var(--warn)}
.checks.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.checks label{min-height:32px}
.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem}
.type-opt{display:flex!important;flex-direction:column;gap:.15rem;background:#fff;border:1px solid var(--line);border-radius:8px;padding:.8rem;font-weight:400!important;cursor:pointer}
.type-opt input{width:auto}.type-opt strong{color:var(--blue-d)}.type-opt span{font-size:.85rem;color:var(--grey)}.type-opt:has(input:checked){border-color:var(--blue);background:var(--blue-l)}
ul.checklist{list-style:none;padding:0}ul.checklist li{padding:.2rem 0}ul.checklist li.yes{color:var(--ok)}ul.checklist li.no{color:var(--bad)}
.thumbs{display:flex;gap:.5rem;flex-wrap:wrap;margin:.6rem 0}.thumb{height:90px;border-radius:6px;border:1px solid var(--line);object-fit:cover}
.audit-item{border-bottom:1px solid var(--line);padding:.6rem 0}.audit-item p{margin:0 0 .4rem}
.seg{display:flex;gap:.4rem;margin-bottom:.4rem}.seg label{display:flex;align-items:center;gap:.3rem;border:1px solid var(--line);border-radius:6px;padding:.35rem .7rem;font-weight:500;margin:0;cursor:pointer;min-height:40px}.seg input{width:auto}
.seg label.seg-pass:has(input:checked){background:#e9f5ee;border-color:var(--ok)}.seg label.seg-fail:has(input:checked){background:#fdecea;border-color:var(--bad)}.seg label.seg-na:has(input:checked){background:#eef1f4;border-color:var(--grey)}
.action-row{margin-bottom:.6rem}
.filterbar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.5rem 0}.filterbar select,.filterbar input{width:auto;max-width:100%}
.inline-check{display:flex!important;gap:.35rem;align-items:center;font-weight:400!important;margin:0!important}.inline-check input{width:auto}
details.card>summary{cursor:pointer}
h3{margin:.2rem 0 .6rem;font-size:1.02rem;color:var(--blue-d)}
.hub-h{font-size:1rem;margin:1.4rem 0 .2rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* QR poster (A4) */
.poster-body{background:#fff}.poster-bar{padding:.6rem 1rem;display:flex;gap:1rem;align-items:center;border-bottom:1px solid var(--line)}
.poster{max-width:720px;margin:1.5rem auto;text-align:center;padding:1.5rem;border:3px solid var(--blue-d);border-radius:14px}
.poster-logo{height:56px}.poster-kicker{text-transform:uppercase;letter-spacing:.15em;font-weight:800;color:var(--bad);margin:1rem 0 0;font-size:1.3rem}
.poster h1{font-size:2.3rem;margin:.2rem 0}.poster-sub{color:var(--grey);margin:0 0 1rem}.poster-qr svg{width:min(340px,80vw);height:auto}
.poster-url{font-family:monospace;font-size:1.1rem;margin:.3rem 0 1rem}
.poster-steps{text-align:left;max-width:460px;margin:0 auto 1rem;font-size:1.15rem}.poster-steps li{margin-bottom:.4rem}
.poster-foot{font-size:.98rem;border-top:1px solid var(--line);padding-top:.8rem}.poster-co{font-weight:700;color:var(--blue-d)}
@media print{.draft-banner,.viewas-bar,.no-print,.poster-bar,.board-actions{display:none!important}.poster{border-width:2px;margin:0 auto;page-break-inside:avoid}.rollcall input{width:18px;height:18px}}
@media(max-width:640px){.stats{grid-template-columns:repeat(2,1fr)}.stat-n{font-size:1.4rem}.site-head h1{font-size:1.35rem}}
.step-h{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;margin:1.4rem 0 .6rem}.step{display:inline-flex;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--blue);color:#fff;align-items:center;justify-content:center;font-size:.9rem}
.brief-dl dd{margin-bottom:.4rem}
fieldset.yn{border:0;border-bottom:1px solid var(--line);margin:0;padding:.7rem 0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
fieldset.yn legend{float:left;width:100%;font-weight:600;padding:0;margin-bottom:.4rem}fieldset.yn legend .muted{display:block;font-weight:400}
fieldset.yn label{display:flex;align-items:center;gap:.4rem;border:2px solid var(--line);border-radius:8px;padding:.55rem 1.2rem;min-height:46px;margin:0;font-weight:600;cursor:pointer}fieldset.yn input{width:auto}
fieldset.yn label.yn-yes:has(input:checked){border-color:var(--warn);background:#fff4e0}fieldset.yn label.yn-no:has(input:checked){border-color:var(--ok);background:#e9f5ee}
.permits-due{border-left:4px solid var(--bad)}.permit-list li.pending{border-color:#f0d9a8;background:#fffaf0}.stop{color:var(--bad);font-weight:700;margin:.3rem 0}
.havs-row{display:grid;grid-template-columns:1fr 110px 70px;gap:.5rem;align-items:center;margin:.5rem 0}.havs-row .pts{font-size:.85rem;color:var(--grey)}
@media(max-width:520px){.havs-row{grid-template-columns:1fr 90px}.havs-row .pts{grid-column:1/-1;margin-top:-.3rem}}
.havs-total{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;background:var(--grey-l);border-radius:6px;padding:.7rem;margin:.8rem 0}
.no-tools{border:2px solid var(--line);border-radius:8px;padding:.6rem}
.prefill{background:var(--blue-l);border-color:#b8d9ef}
.copy-row{display:flex;gap:.4rem;min-width:260px}.copy-row input{font-size:.8rem;padding:.35rem .5rem}
.doc-thumb{height:110px;max-width:100%;border:1px solid var(--line);border-radius:6px;object-fit:cover;background:#fff}
.file-pv{margin:.3rem 0 .6rem;font-size:.88rem}
.qual-row{border-bottom:1px solid var(--line);padding:.6rem 0 .2rem}
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}
.tabs{margin-top:.4rem}
tr.row-removed td{opacity:.6}
progress{width:100%;height:14px;margin-top:.6rem}
.tq-print{max-width:800px;margin:1rem auto;padding:1rem;background:#fff}.tq-print-head{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--blue-d);padding-bottom:.6rem;margin-bottom:1rem}
.tq-table{border:1px solid #999;margin:.6rem 0}.tq-table th,.tq-table td{border:1px solid #bbb;font-size:.9rem}.tq-table th{width:20%}.tq-table.sign td{height:2.2rem}
.resp-box{border:1px solid #999;min-height:9rem;border-radius:4px}
/* admin nav has 9 sections – keep it on one line on laptop widths */
@media (min-width:861px) and (max-width:1500px){.tn-btn,.tn-link{padding:.5rem .35rem;font-size:.9rem}}
