/* Site briefing card (sitebrief.js), used in the console job panel and on the technician's phone. */
.sb{border:1px solid var(--border,#ddd);border-radius:14px;background:var(--surface,#fff);box-shadow:var(--shadow,0 1px 3px rgba(0,0,0,.06));padding:12px 14px 14px;margin:0 0 14px;display:flex;flex-direction:column;gap:10px}
.sb-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.sb-head span{font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--green,#5d8c22)}
.sb-head small{font-size:11px;color:var(--ink-faint,#777)}

.sb-rail{display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative}
.sb-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;position:relative;min-width:0}
.sb-step::before{content:'';position:absolute;top:7px;left:-50%;width:100%;height:3px;background:var(--border,#ddd);z-index:0}
.sb-step:first-child::before{display:none}
.sb-step.done::before,.sb-step.now::before{background:var(--green,#71a62b)}
.sb-dot{position:relative;z-index:1;width:17px;height:17px;border-radius:50%;background:var(--surface,#fff);border:3px solid var(--border,#ccc);box-sizing:border-box}
.sb-step.done .sb-dot{background:var(--green,#71a62b);border-color:var(--green,#71a62b)}
.sb-step.now .sb-dot{background:#fff;border-color:var(--green,#71a62b);box-shadow:0 0 0 4px rgba(113,166,43,.22)}
.sb-step b{font-size:10.5px;font-weight:700;color:var(--ink-faint,#888);line-height:1.2}
.sb-step.done b,.sb-step.now b{color:var(--ink,#2b2b2b)}
.sb-step small{font-size:9.5px;color:var(--ink-soft,#777);line-height:1.2;min-height:11px;word-break:break-word}

.sb-what{font-size:15px;font-weight:700;color:var(--ink,#2b2b2b);line-height:1.3}
.sb-last{font-size:12.5px;color:var(--ink-soft,#555);margin-top:3px;line-height:1.4}

.sb-chips{display:flex;flex-wrap:wrap;gap:6px}
.sb-chips:empty{display:none}
.sb-chip{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid transparent;line-height:1.3}
.sb-chip.bad{background:#faefed;color:#a13b34;border-color:#efc9c5}
.sb-chip.warn{background:#fff6e0;color:#8a5b12;border-color:#f0d9a0}
.sb-chip.ok{background:#edf4e3;color:#4c6b16;border-color:#cfe2b3}
.sb-chip.info{background:#eef2f7;color:#35506b;border-color:#d3dde8}

.sb-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:0}
.sb-facts div{min-width:0}
.sb-facts dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint,#888);font-weight:700}
.sb-facts dd{margin:1px 0 0;font-size:13px;color:var(--ink,#2b2b2b);word-break:break-word}
.sb-facts a{color:var(--green-link,#5d8c22);font-weight:600;text-decoration:none}
.sb-none{color:var(--ink-faint,#999);font-style:italic}

.sb-recent{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.sb-recent li{font-size:12.5px;color:var(--ink,#2b2b2b);padding-left:10px;border-left:3px solid var(--green,#71a62b)}
.sb-recent li.sb-fsm{border-left-color:#35506b}
.sb-click{cursor:pointer}
.sb-recent li div{color:var(--ink-soft,#666);margin-top:1px}
.sb-src{font-size:10px;font-weight:700;color:#35506b;background:#eef2f7;border-radius:5px;padding:1px 5px;margin-left:4px}
.sb-pill{font-size:10.5px;font-weight:700;border-radius:5px;padding:1px 6px;margin-left:4px}
.sb-pill.ok{background:#edf4e3;color:#4c6b16}.sb-pill.warn{background:#fff6e0;color:#8a5b12}

.sb-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px}
.sb-ph{border:0;padding:0;border-radius:9px;overflow:hidden;background:var(--surface-sunken,#f0f0ed);aspect-ratio:1/1;cursor:pointer}
.sb-ph img{width:100%;height:100%;object-fit:cover;display:block}
.sb-counts{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;text-align:left;border:1px solid var(--border,#ddd);background:var(--surface-sunken,#f7f6f2);border-radius:10px;padding:9px 12px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink,#2b2b2b);cursor:pointer}
.sb-counts span{color:var(--green-link,#5d8c22);white-space:nowrap}
.sb-facts div:nth-child(3){grid-column:1/-1}
/* FSM work orders in History: click to open, appointments inside, the techs' notes in full */
.v-fsm-wo,.v-fsm-ap{border:1px solid var(--border,#ddd);border-radius:12px;background:var(--surface,#fff);margin:8px 0}
.v-fsm-ap{background:var(--surface-sunken,#f7f6f2);border-radius:10px;margin:8px 0 0}
.v-fsm-wo>summary,.v-fsm-ap>summary{cursor:pointer;list-style:none;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.v-fsm-wo>summary::-webkit-details-marker,.v-fsm-ap>summary::-webkit-details-marker{display:none}
.v-fsm-wo>summary::before,.v-fsm-ap>summary::before{content:'\25B8';position:absolute;margin-left:-2px;color:var(--green,#71a62b);font-size:12px}
.v-fsm-wo[open]>summary::before,.v-fsm-ap[open]>summary::before{content:'\25BE'}
.v-fsm-wo>summary>*,.v-fsm-ap>summary>*{padding-left:14px}
.v-fsm-wo>summary b{font-size:13.5px}
.v-fsm-pre{font-size:12px;color:var(--ink-soft,#666)}
.v-fsm-body{padding:0 12px 12px;display:flex;flex-direction:column;gap:6px}
.v-fsm-sum{white-space:pre-wrap;font-size:12.5px;color:var(--ink,#2b2b2b)}
.v-tnote{border-left:3px solid #35506b;background:var(--surface,#fff);border-radius:0 8px 8px 0;padding:8px 10px;margin-top:6px}
.v-tnote-h{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap}
.v-tnote-h b{font-size:13px}.v-tnote-h span{font-size:11px;color:var(--ink-faint,#888)}
.v-tnote-t{white-space:pre-wrap;font-size:13px;line-height:1.45;margin-top:4px;color:var(--ink,#2b2b2b)}
.v-tnote-m{font-size:11.5px;color:var(--ink-soft,#666);margin-top:4px}
.v-count{font-size:10.5px;font-weight:700;background:#eef2f7;color:#35506b;border-radius:999px;padding:1px 7px;margin-left:6px}
@media (max-width:420px){.sb-photos{grid-template-columns:repeat(6,1fr)}.sb-step b{font-size:9.5px}.sb-step small{font-size:9px}.sb-facts{gap:6px 12px}}

/* Site documents pinned at the top of the card (site() in sitebrief.js) */
.sb-site{display:flex;flex-direction:column;gap:8px;background:rgba(113,166,43,.12);border:1px solid rgba(113,166,43,.35);border-radius:12px;padding:10px 11px}
.sb-site-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--green-link,#5d8c22)}
.sb-edit{font:inherit;font-size:11.5px;font-weight:700;text-transform:none;letter-spacing:0;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:8px;padding:4px 9px;cursor:pointer;color:var(--ink,#2b2b2b)}
.sb-site-note{font-size:12.5px;color:var(--ink-soft,#666)}
.sb-site-note.warn{color:#8a5b12;font-weight:600}
.sb-site-note.ok{color:#4c6b16;font-weight:600}
.sb-docs{display:flex;flex-wrap:wrap;gap:8px}
.sb-doc{font:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;background:var(--green,#71a62b);color:#fff;border:none;border-radius:11px;padding:10px 14px;cursor:pointer;min-height:44px;box-shadow:0 5px 14px -6px rgba(64,96,20,.7);max-width:100%}
.sb-doc-kind{font-weight:700;font-size:14px;word-break:break-word}
.sb-doc small{font-size:11px;opacity:.9}
.sb-equip summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--ink-soft,#666)}
.sb-walk{display:flex;flex-direction:column;gap:5px}
.sb-walk-head{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint,#888)}
.sb-walk-text{font-size:13.5px;color:var(--ink,#2b2b2b);line-height:1.4}
.sb-warr{display:flex;flex-direction:column;gap:3px}
.sb-warr-row{font-size:12.5px;display:flex;gap:8px;align-items:baseline}
.sb-warr-row.active b{color:#4c6b16}
.sb-warr-row.ending b{color:#8a5b12}
.sb-warr-row.expired b{color:#a13b34}
.sb-warr-row span{color:var(--ink-soft,#666)}
.sb-equip ul{margin:5px 0 0;padding-left:16px;font-size:12.5px}
.sb-equip small{color:var(--ink-faint,#888)}

.sb-link{text-decoration:none;background:transparent;color:var(--ink,#2b2b2b);border:1px solid var(--green,#71a62b);box-shadow:none}
.sb-link .sb-doc-kind{font-size:13px}

.sb-onboard{display:flex;flex-direction:column;gap:7px;background:rgba(244,156,32,.12);border:1px solid rgba(244,156,32,.5);border-radius:10px;padding:9px 10px}
.sb-onboard.adopted-missing{background:rgba(61,124,176,.1);border-color:rgba(61,124,176,.4)}
.sb-onboard-title{font-size:13px;font-weight:800;color:var(--amber-strong,#8a5b12)}
.sb-onboard.adopted-missing .sb-onboard-title{color:var(--blue,#3d7cb0)}
.sb-onboard .sb-doc{text-decoration:none;align-self:flex-start}
