/* BeaconOps restyle (Nov 2026): charcoal-led UI, orange only for primary actions + accents, own status markers. Loaded after style.css. */
:root{--char:#23272B;--char2:#3A3F45;--acc:#FF6A00;--acc-ink:#1E2124;--bg:#F4F4F2;--line:#E2E2DE;--ink:#1F2328;--muted:#6B7178;--red:#FF6A00;--navy:#23272B}
body{background:var(--bg)}a{color:var(--char)}a:hover{color:#000}
h1{font-weight:750;letter-spacing:-.01em}h2{font-weight:700}
.card,.alerts{border-radius:6px;border-color:var(--line);box-shadow:none}
/* buttons: orange = primary action only; secondary = charcoal outline */
button,.btn{background:var(--acc);color:var(--acc-ink);border-radius:6px}button:hover,.btn:hover{background:#FF8A3D}
button.alt,.btn.alt{background:#fff;color:var(--char);box-shadow:inset 0 0 0 1.5px var(--char)}button.alt:hover,.btn.alt:hover{background:var(--char);color:#fff}
button.link{background:none;color:var(--char);box-shadow:none;text-decoration:underline}button.link:hover{background:none}
.side{background:var(--char)}.side nav a.on,.side .bottom a.on{background:#ffffff12;border-left-color:var(--acc)}
.tabbar a.on{color:var(--char);border-bottom-color:var(--acc)}
.seg input:checked+span{background:var(--char);color:#fff}
/* ---------- status markers: shape + glyph + colour ---------- */
.mk{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;white-space:nowrap;vertical-align:middle;color:var(--ink)}
.mk i{font-style:normal;display:inline-grid;place-items:center;width:16px;height:16px;font-size:11px;line-height:1;flex:none}
.mk-done i{background:var(--char);color:#fff;border-radius:50%}                       /* filled circle ✓ */
.mk-bad i{background:#fff;color:#B42318;border:2px solid #B42318;border-radius:2px;font-weight:900} /* outlined square ✕ */
.mk-off i{background:repeating-linear-gradient(45deg,#d7d7d3 0 2px,#efefec 2px 4px);color:#55595e;border-radius:3px} /* hatched – */
.mk-prog i{background:var(--acc);color:var(--acc-ink);transform:rotate(45deg);width:13px;height:13px;margin:0 2px;border-radius:2px}.mk-prog i{font-size:0}  /* orange diamond */
.mk-plan i{border:2px solid var(--char2);border-radius:50%;width:13px;height:13px;margin:0 1px}  /* hollow circle */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* existing pass/fail text + badges pick up the same language */
.ares.s-pass,.ares.s-fail,.ares.s-n-a,.ares.s-na{color:var(--ink)}
.ares.s-pass::before{content:"✓";display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--char);color:#fff;font-size:10px;margin-right:4px}
.ares.s-fail::before{content:"✕";display:inline-grid;place-items:center;width:13px;height:13px;border:2px solid #B42318;color:#B42318;border-radius:2px;font-size:9px;margin-right:4px}
.ares.s-n-a::before,.ares.s-na::before{content:"–";display:inline-grid;place-items:center;width:15px;height:15px;border-radius:3px;background:#e4e4e0;margin-right:4px}
.badge.b-pass,.badge.b-complete,.badge.b-fixed,.badge.b-in-service,.badge.b-active{background:#ECEDEB;color:var(--char)}.badge.b-pass::before,.badge.b-complete::before,.badge.b-fixed::before{content:"✓ "}
.badge.b-fail,.badge.b-faulty,.badge.b-critical{background:#fff;color:#B42318;box-shadow:inset 0 0 0 1.5px #B42318}.badge.b-fail::before,.badge.b-faulty::before{content:"✕ "}
.badge.b-in-progress{background:#FFE8D6;color:#7A3100}.badge.b-in-progress::before{content:"◆ ";color:var(--acc)}
.badge.b-scheduled{background:#fff;color:var(--char);box-shadow:inset 0 0 0 1.5px #C9CBC7}.badge.b-scheduled::before{content:"○ "}
/* Yes / No / N/A segments: own look, glyph on the chosen answer */
.seg input:checked+.s-pass{background:var(--char);color:#fff}.seg input:checked+.s-pass::before{content:"✓ "}
.seg input:checked+.s-fail{background:#fff;color:#B42318;box-shadow:inset 0 0 0 2px #B42318}.seg input:checked+.s-fail::before{content:"✕ "}
.seg input:checked+.s-n-a{background:repeating-linear-gradient(45deg,#dcdcd8 0 3px,#ececE9 3px 6px);color:#3A3F45}.seg input:checked+.s-n-a::before{content:"– "}
/* ---------- asset walk-through cards ---------- */
.adoor{background:transparent;border:0;padding:0;margin:14px 0}.adoorh{font-weight:700;font-size:15px;color:var(--char)}
.arow2.acard{background:#fff;border:1px solid var(--line);border-left:4px solid var(--char);border-radius:6px;padding:10px 12px 12px;margin:8px 0;position:relative}
.arow2.acard[data-defect]{border-left-color:#B42318}
.aprog{position:relative;height:6px;background:#E8E8E4;border-radius:3px;margin:0 0 8px;overflow:visible}.aprogbar{display:block;height:100%;background:var(--acc);border-radius:3px;transition:width .15s}
.aprog.full .aprogbar{background:var(--char)}.aprogt{position:absolute;right:0;top:7px;color:var(--muted);font-size:11px}
.asec{border-top:1px solid var(--line);margin-top:8px;padding-top:4px}.asech{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--char2);margin:4px 0 2px;display:flex;align-items:center;gap:6px}
.asech::before{content:"";width:8px;height:8px;background:var(--acc);transform:rotate(45deg);display:inline-block}
.asys{border-bottom-color:var(--char)}.asys2{border-left-color:var(--acc)!important}
/* ---------- Overview ---------- */
.ovhead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ovdate{color:var(--muted);font-weight:500}
.ovhead .actions{display:flex;gap:8px}
.ovattn{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--char);color:#fff;border-radius:6px;padding:8px 10px;margin-bottom:14px}
.ovlab{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#C9CBC7;margin-right:6px}
.chipn{color:#fff!important;text-decoration:none;background:#ffffff14;border-radius:4px;padding:3px 9px;font-size:13px}.chipn b{font-weight:800}.chipn:hover{background:#ffffff26}
.chipn.bad b{color:#FF9A9A}.chipn.warn b{color:var(--acc)}.ovattn .muted{color:#C9CBC7}
.ovgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:16px;margin-bottom:16px}.ovgrid .card{margin:0}
.ovsh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;border-bottom:2px solid var(--char);padding-bottom:6px;margin-bottom:8px}.ovsh h2{margin:0}.ovsh a{margin-left:auto}
.osite{margin:8px 0 12px}.osh{font-weight:700;margin-bottom:2px}.osh a{text-decoration:none}
.ovis{display:grid;grid-template-columns:auto 52px 70px auto 1fr auto;gap:8px;align-items:center;padding:6px 4px;border-bottom:1px solid #EEEEEA;text-decoration:none;color:var(--ink)}.ovis:hover{background:#FAFAF8}
.ovis .mkl{display:none}.ovis .ow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ot{font-variant-numeric:tabular-nums;font-weight:600}
.sysc{display:inline-block;font-size:11px;font-weight:700;border:1px solid #C9CBC7;border-radius:3px;padding:0 5px;color:var(--char2);white-space:nowrap}
.wkgrid{width:100%;border-collapse:collapse}.wkgrid th,.wkgrid td{text-align:center;padding:6px 4px;border-bottom:1px solid #EEEEEA;font-size:13px}.wkgrid tbody th{text-align:left;font-weight:600}
.wkgrid .now{background:#FFF4EC}.wkgrid thead .now{box-shadow:inset 0 -3px 0 var(--acc)}
.wkn{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:4px;background:#ECEDEB;color:var(--char);font-weight:800;text-decoration:none}.wkn.done{background:var(--char);color:#fff}.wkn.prog{background:var(--acc);color:var(--acc-ink)}
.ovsub{margin:14px 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.wksites{display:grid;gap:6px}.wksite{display:grid;grid-template-columns:minmax(0,1.2fr) auto minmax(0,1fr);gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #EEEEEA}.wksite .wkm{display:flex;gap:3px;flex-wrap:wrap}.wksite .wkm a{text-decoration:none}.wksite .mkl{display:none}
.ovempty{padding:18px 0}
@media(max-width:1000px){.ovgrid{grid-template-columns:1fr}}
@media(max-width:600px){.ovis{grid-template-columns:auto 44px 1fr;row-gap:2px}.ovis b{grid-column:3}.ovis .sysc{grid-column:2/3}.ovis .ow{grid-column:3}.ovis .oe{grid-column:3}
 .wksite{grid-template-columns:1fr auto}.wksite>.small{grid-column:1/-1}.ovhead .actions{width:100%}.ovhead .actions .btn{flex:1;text-align:center}.aprogt{top:-16px}}
body.dark .arow2.acard,body.dark .card{background:#1E2124}
td a,.tablewrap a,.osh a,.wksite a{color:var(--char);text-decoration-color:var(--acc);text-underline-offset:2px}
/* job notes (always on the sheet) */
.jnotes textarea{width:100%;min-height:7em}.nfnote{margin:.2em 0 .8em}.prewrap{white-space:pre-wrap}
.jnotes-office .thumbs img,.jnotes .thumbs img{max-width:96px;max-height:96px;border-radius:6px;margin:4px 4px 0 0}
.frow.col{background:none;min-height:0;border-radius:0;padding:8px 0}
.jstatus-office.flagged{border-left:4px solid #c2410c}.jstatus select{width:100%}
