/* CRB Damage Monitor — extends the site's style.css tokens */
:root{
  --crb-damage:#FF8A3D;    /* possible damage */
  --crb-clear:var(--accent);
  --crb-queued:#7FC8F8;
  --crb-muted:#7C8274;
  --crb-beetle:#E7A6F0;
}

.crb-stats{ display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:26px; font-size:0.82rem; color:var(--ink-soft); }
.crb-stats b{ color:var(--ink); font-weight:500; font-size:1.05rem; margin-right:6px; }
.crb-stats .dmg b{ color:var(--crb-damage); }

.crb-main{ max-width:var(--max); margin:0 auto; padding:20px 40px 80px; position:relative; z-index:2; }

/* tabs */
.crb-tabs{ display:flex; gap:4px; border-bottom:1px solid var(--line); overflow-x:auto; scrollbar-width:none; margin-bottom:28px; }
.crb-tabs::-webkit-scrollbar{ display:none; }
.crb-tabs button{
  background:none; border:none; border-bottom:2px solid transparent; color:var(--ink-soft);
  font:500 0.92rem var(--body); padding:12px 16px; cursor:pointer; white-space:nowrap; margin-bottom:-1px;
}
.crb-tabs button:hover{ color:var(--ink); }
.crb-tabs button[aria-selected="true"]{ color:var(--accent); border-bottom-color:var(--accent); }

.crb-intro{ color:var(--ink-soft); max-width:72ch; margin-bottom:22px; }
.crb-hint{ color:var(--ink-soft); font-size:0.86rem; max-width:72ch; }

/* filter bar */
.crb-filters{ display:flex; flex-wrap:wrap; gap:14px 18px; align-items:flex-end; margin-bottom:20px; }
.crb-filters label{ display:flex; flex-direction:column; gap:6px; font:500 0.72rem var(--mono); text-transform:uppercase; letter-spacing:0.07em; color:var(--ink-soft); }
.crb-filters label.check{ flex-direction:row; align-items:center; gap:8px; text-transform:none; letter-spacing:0; font:0.88rem var(--body); padding-bottom:10px; }
.crb-filters select, .crb-filters input[type="date"], .crb-filters input[type="text"], .crb-keys input,
#linkInput{
  background:var(--bg); color:var(--ink); border:1px solid var(--line); border-radius:2px;
  font:0.92rem var(--body); padding:9px 10px; min-width:0;
}
.crb-filters input[type="text"]{ width:170px; }
.crb-filters select:focus, .crb-filters input:focus, #linkInput:focus, .crb-keys input:focus{ outline:1px solid var(--accent); border-color:var(--accent); }
.crb-filters input[type="checkbox"]{ accent-color:var(--accent); width:16px; height:16px; }
.crb-filters .btn{ padding:10px 22px; }
input[type="date"]{ color-scheme:dark; }

.crb-btn-ghost{
  background:none; border:1px solid var(--line); color:var(--ink); border-radius:2px;
  font:500 0.86rem var(--body); padding:9px 14px; cursor:pointer;
}
.crb-btn-ghost:hover{ border-color:var(--accent); color:var(--accent); }
.crb-more{ display:block; margin:26px auto 0; }

.crb-keys{ border:1px solid var(--line-soft); padding:12px 16px; margin-bottom:20px; border-radius:2px; }
.crb-keys summary{ cursor:pointer; font:500 0.8rem var(--mono); color:var(--accent); text-transform:uppercase; letter-spacing:0.07em; }
.crb-keys label{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:10px 0; font-size:0.88rem; color:var(--ink-soft); }
.crb-keys input{ width:min(420px, 100%); }

/* map */
.crb-map{ height:340px; border:1px solid var(--line); border-radius:2px; margin-bottom:14px; background:#111; }
.leaflet-container{ font-family:var(--body); background:#111; }
.leaflet-popup-content-wrapper, .leaflet-popup-tip{ background:#15170F; color:var(--ink); }
.leaflet-popup-content a{ color:var(--accent); }
.leaflet-bar a{ background:#15170F; color:var(--ink); border-color:var(--line); }

.crb-count{ font-size:0.8rem; color:var(--ink-soft); margin:0 0 14px; min-height:1.2em; }

/* card grid */
.crb-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:16px; }
.crb-card{
  position:relative; border:1px solid var(--line); border-radius:2px; background:var(--bg-raised);
  display:flex; flex-direction:column; overflow:hidden; transition:border-color .15s ease, transform .15s ease;
}
.crb-card:hover{ border-color:var(--ink-soft); transform:translateY(-2px); }
.crb-card.selected{ border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.crb-thumb{ position:relative; aspect-ratio:4/3; background:#16180F; cursor:zoom-in; overflow:hidden; border:0; padding:0; display:block; width:100%; }
.crb-thumb img{ width:100%; height:100%; object-fit:cover; }
.crb-thumb .ph{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; padding:12px; font:0.78rem var(--mono); color:var(--crb-muted); }
.crb-card-body{ padding:12px 14px 14px; display:flex; flex-direction:column; gap:6px; flex:1; }
.crb-card-title{ font:600 0.95rem var(--display); color:var(--ink); margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.crb-card-meta{ font:0.74rem var(--mono); color:var(--ink-soft); margin:0; }
.crb-card-foot{ display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:auto; padding-top:6px; }
.crb-card-foot a{ font-size:0.8rem; }
.crb-pick{ display:flex; align-items:center; gap:6px; font-size:0.78rem; color:var(--ink-soft); cursor:pointer; }
.crb-pick input{ accent-color:var(--accent); }

.badge{ display:inline-flex; align-items:center; gap:6px; font:500 0.68rem var(--mono); text-transform:uppercase; letter-spacing:0.06em; padding:3px 8px; border-radius:2px; border:1px solid currentColor; width:fit-content; }
.badge::before{ content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.badge.damage{ color:var(--crb-damage); }
.badge.clear{ color:var(--crb-clear); }
.badge.queued{ color:var(--crb-queued); }
.badge.nopalm, .badge.none{ color:var(--crb-muted); }
.badge.beetle{ color:var(--crb-beetle); }
.badge.error{ color:#F06C6C; }
.crb-thumb .badge{ position:absolute; left:8px; top:8px; background:rgba(10,11,9,0.82); }
.badge.review{ color:var(--ink); }

.crb-empty{ grid-column:1/-1; font:0.9rem var(--mono); color:var(--ink-soft); padding:30px 0; }
.crb-error{ grid-column:1/-1; color:#F06C6C; font-size:0.9rem; }

/* tray */
.crb-tray{
  position:sticky; bottom:16px; z-index:40; margin:24px auto 0; width:fit-content; max-width:100%;
  display:flex; gap:14px; align-items:center; flex-wrap:wrap; padding:12px 16px;
  background:rgba(21,23,15,0.96); border:1px solid var(--accent); border-radius:2px; backdrop-filter:blur(6px);
}
.crb-tray .btn{ padding:10px 18px; }
.crb-tray[hidden], .crb-keys[hidden], .crb-more[hidden], .crb-filters label[hidden]{ display:none; }

/* link tab */
#linkInput{ width:100%; font-family:var(--mono); font-size:0.85rem; resize:vertical; }
.crb-row{ display:flex; gap:12px; flex-wrap:wrap; margin:14px 0 8px; }
.crb-row .btn{ cursor:pointer; }
button.btn{ cursor:pointer; }

/* viewer */
.crb-dialog{ width:min(1180px, 96vw); max-height:94vh; padding:0; border:1px solid var(--line); background:var(--bg); color:var(--ink); border-radius:2px; }
.crb-dialog::backdrop{ background:rgba(0,0,0,0.75); }
.crb-close{ position:absolute; right:10px; top:6px; z-index:3; background:none; border:none; color:var(--ink); font-size:1.9rem; cursor:pointer; line-height:1; }
.crb-close:hover{ color:var(--accent); }
.crb-viewer-body{ display:grid; grid-template-columns:minmax(0, 1.7fr) minmax(260px, 1fr); }
.crb-figure{ position:relative; background:#000; display:flex; align-items:center; justify-content:center; min-height:300px; }
.crb-overlay-wrap{ position:relative; display:inline-block; max-width:100%; }
.crb-overlay-wrap img{ max-width:100%; max-height:86vh; display:block; }
.crb-overlay-wrap svg{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.crb-overlay-wrap .palm{ fill:rgba(214,242,76,0.08); stroke:var(--accent); stroke-width:2; vector-effect:non-scaling-stroke; }
.crb-overlay-wrap .palm.edge{ stroke-dasharray:6 4; stroke:var(--crb-muted); }
.crb-overlay-wrap .cut{ fill:rgba(255,138,61,0.55); stroke:var(--crb-damage); stroke-width:2; vector-effect:non-scaling-stroke; }
.crb-overlay-wrap .cut.ignored{ fill:none; stroke:rgba(245,242,233,0.35); stroke-width:1; stroke-dasharray:3 3; }
.crb-viewer-meta{ padding:30px 26px 26px; overflow-y:auto; max-height:94vh; display:flex; flex-direction:column; gap:12px; }
.crb-viewer-meta h3{ font-size:1.35rem; line-height:1.25; }
.crb-viewer-meta dl{ display:grid; grid-template-columns:auto 1fr; gap:6px 14px; margin:0; font-size:0.88rem; }
.crb-viewer-meta dt{ font:0.72rem var(--mono); text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-soft); padding-top:2px; }
.crb-viewer-meta dd{ margin:0; overflow-wrap:anywhere; }
.crb-legend{ display:flex; flex-wrap:wrap; gap:6px 14px; font-size:0.78rem; color:var(--ink-soft); }
.crb-legend i{ display:inline-block; width:14px; height:10px; margin-right:6px; vertical-align:middle; }
.crb-review{ display:flex; gap:8px; flex-wrap:wrap; }
.crb-review .crb-btn-ghost.confirm:hover{ border-color:var(--crb-damage); color:var(--crb-damage); }
.crb-note{ font-size:0.8rem; color:var(--ink-soft); border-left:2px solid var(--line); padding-left:10px; }

/* about */
.crb-about-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:56px; }
.crb-about h3{ font-size:1.4rem; margin:0 0 18px; }
.crb-about h3:not(:first-child){ margin-top:30px; }
.crb-about p{ color:var(--ink-soft); }
.crb-steps{ display:flex; flex-direction:column; }
.crb-steps li{ padding:16px 0; border-bottom:1px solid var(--line); color:var(--ink-soft); font-size:0.96rem; }
.crb-steps li span{ display:block; color:var(--accent); font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:6px; }
.crb-cite{ font-size:0.86rem; border-left:3px solid var(--accent); padding:8px 14px; background:var(--accent-dim); color:var(--ink) !important; overflow-wrap:anywhere; }

@media (max-width: 860px){
  .crb-main{ padding:10px 16px 60px; }
  .crb-viewer-body{ grid-template-columns:1fr; }
  .crb-viewer-meta{ max-height:none; }
  .crb-about-grid{ grid-template-columns:1fr; gap:20px; }
  .crb-map{ height:260px; }
  .crb-grid{ grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:12px; }
  .crb-filters label{ flex:1 1 140px; }
  .crb-filters select, .crb-filters input[type="date"], .crb-filters input[type="text"]{ width:100%; }
}

/* =========================================================== */
/* Surveillance dashboard                                       */
/* =========================================================== */
.crb-panel[data-panel="results"] .crb-stats{ margin:0 0 18px; }
.sv-status-line{ font-size:0.8rem; color:var(--ink-soft); margin:-6px 0 16px; }
.sv-status-line b{ color:var(--ink); font-weight:500; }
.sv-filters{ margin-bottom:12px; }
.sv-quick{ display:flex; gap:6px; align-items:center; flex-wrap:wrap; padding-bottom:2px; }
.sv-quick .crb-btn-ghost{ padding:8px 10px; font-size:0.8rem; }
.sv-quick small{ color:var(--ink-soft); font-size:0.74rem; margin-left:4px; }
.sv-filters .btn{ margin-left:auto; }
.sv-filters .btn:disabled{ opacity:0.6; cursor:progress; }
.sv-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.sv-chip{ display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); border-radius:999px; padding:6px 12px; font-size:0.84rem; color:var(--ink); cursor:pointer; user-select:none; }
.sv-chip:has(input:checked){ border-color:var(--ink-soft); background:rgba(245,242,233,0.05); }
.sv-chip:has(input:not(:checked)){ color:var(--ink-soft); opacity:0.7; }
.sv-chip input{ accent-color:var(--accent); margin:0; }
.sv-chip i{ width:10px; height:10px; border-radius:50%; display:inline-block; }

.sv-kpis{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; margin:22px 0 30px; }
.sv-tile{ border:1px solid var(--line); border-radius:2px; padding:16px 18px; background:var(--bg-raised); display:flex; flex-direction:column; gap:4px; min-width:0; }
.sv-tile b{ font:600 1.9rem/1.1 var(--display); color:var(--ink); overflow-wrap:anywhere; }
.sv-tile.hot b{ color:#ec835a; }
.sv-tile span{ font:0.72rem var(--mono); text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-soft); }
.sv-tile small{ font-size:0.84rem; color:var(--ink-soft); overflow-wrap:anywhere; }

.sv-h{ font-size:1.25rem; margin:0 0 14px; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.sv-h small{ font:0.74rem var(--mono); color:var(--ink-soft); font-weight:400; }
.sv-two{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:28px; margin-bottom:34px; }
.sv-map{ height:380px; }
.sv-legend{ display:flex; flex-wrap:wrap; gap:6px 14px; font-size:0.8rem; color:var(--ink-soft); margin:0; }
.sv-legend i{ display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:6px; vertical-align:middle; }
.sv-legend .ring{ background:transparent; border:2px solid var(--ink); }

.sv-alerts{ display:flex; flex-direction:column; gap:8px; max-height:380px; overflow-y:auto; padding-right:4px; }
.sv-alert{ display:grid; grid-template-columns:22px 1fr; gap:8px; padding:10px 12px; border:1px solid var(--line); border-left:3px solid var(--crb-muted); border-radius:2px; background:var(--bg-raised); }
.sv-alert.high{ border-left-color:#d03b3b; }
.sv-alert.medium{ border-left-color:#fab219; }
.sv-alert p{ margin:0 0 3px; font-size:0.92rem; }
.sv-alert small{ color:var(--ink-soft); font-size:0.74rem; }
.sv-alert-icon{ color:var(--ink-soft); padding-top:2px; }
.sv-alert.high .sv-alert-icon{ color:#d03b3b; }
.sv-alert.medium .sv-alert-icon{ color:#fab219; }
.sv-quiet{ color:var(--ink-soft); font-size:0.9rem; border:1px dashed var(--line); padding:16px; border-radius:2px; }

.sv-group{ margin-bottom:22px; }
.sv-group h4{ font:500 0.78rem var(--mono); text-transform:uppercase; letter-spacing:0.08em; color:var(--accent); margin:0 0 10px; }
.sv-cards{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:12px; }
.sv-card{ text-align:left; display:flex; flex-direction:column; gap:6px; padding:14px; border:1px solid var(--line); border-radius:2px; background:var(--bg-raised); color:var(--ink); font:inherit; cursor:pointer; }
.sv-card:hover{ border-color:var(--ink-soft); }
.sv-card.on{ border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.sv-card strong{ font:600 1.05rem var(--display); }
.sv-card small{ color:var(--ink-soft); font-size:0.74rem; }
.sv-card em, .sv-new{ font-style:normal; color:#0A0B09; background:var(--accent); padding:0 5px; border-radius:2px; font:600 0.68rem var(--mono); text-transform:uppercase; }
.sv-status{ display:inline-flex; align-items:center; gap:6px; font:500 0.7rem var(--mono); text-transform:uppercase; letter-spacing:0.05em; color:var(--c); }
.sv-status i{ font-style:normal; }
.sv-counts{ display:flex; flex-wrap:wrap; gap:4px 10px; font-size:0.74rem; color:var(--ink-soft); }
.sv-counts i{ display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:5px; }
.sv-spark{ width:100%; height:24px; display:block; }
.sv-spark rect{ fill:var(--ink-soft); }
.sv-spark line{ stroke:var(--line); stroke-width:1; vector-effect:non-scaling-stroke; }
.sv-none{ font-size:0.84rem; color:var(--ink-soft); margin:10px 0 0; line-height:1.7; }
.sv-none .sv-status{ margin-right:8px; }

.sv-chart{ border:1px solid var(--line); border-radius:2px; padding:16px 18px 10px; margin:12px 0 34px; background:var(--bg-raised); }
.sv-chart-head{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:8px; }
.sv-chart-head h4{ font:500 0.95rem var(--body); margin:0; }
.sv-chart-wrap{ position:relative; }
.sv-chart-svg{ width:100%; height:auto; display:block; overflow:visible; }
.sv-chart-svg .grid{ stroke:var(--line-soft); stroke-width:1; }
.sv-chart-svg .tick{ fill:var(--ink-soft); font:10px var(--mono); }
.sv-chart-svg .hit{ fill:transparent; cursor:crosshair; }
.sv-chart-svg .hit:hover{ fill:rgba(245,242,233,0.06); }
.sv-tip{ position:absolute; top:0; background:#15170F; border:1px solid var(--line); padding:6px 10px; font-size:0.78rem; border-radius:2px; pointer-events:none; width:170px; }

.sv-table-head{ display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:10px; }
.sv-table-head .crb-count{ margin:0; flex:1; }
.sv-table-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:2px; }
.sv-table{ width:100%; border-collapse:collapse; font-size:0.88rem; min-width:640px; }
.sv-table th{ text-align:left; font:500 0.7rem var(--mono); text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-soft); padding:10px 12px; border-bottom:1px solid var(--line); }
.sv-table td{ padding:10px 12px; border-bottom:1px solid var(--line-soft); vertical-align:top; }
.sv-table tr.new td{ background:rgba(214,242,76,0.04); }
.sv-table small{ color:var(--ink-soft); font-size:0.76rem; }
.sv-table img{ width:56px; height:56px; object-fit:cover; border-radius:2px; display:block; background:#16180F; }
.sv-nophoto{ display:flex; width:56px; height:56px; align-items:center; justify-content:center; color:var(--crb-muted); border:1px dashed var(--line); border-radius:2px; }
.sv-ev{ display:inline-flex; align-items:center; gap:6px; font-size:0.84rem; }
.sv-ev i{ width:10px; height:10px; border-radius:50%; background:var(--c); display:inline-block; }
.sv-open{ padding:6px 10px; font-size:0.8rem; }

@media (max-width: 980px){
  .sv-kpis{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .sv-two{ grid-template-columns:1fr; }
}
@media (max-width: 560px){
  .sv-kpis{ grid-template-columns:1fr; }
  .sv-filters .btn{ margin-left:0; width:100%; justify-content:center; }
  .sv-tile b{ font-size:1.6rem; }
}

/* page switcher between CRB Surveillance and CRB Damage */
.crb-switch{ margin:18px 0 0; font-size:0.92rem; }
.crb-switch a{ color:var(--accent); text-decoration:none; border-bottom:1px solid rgba(214,242,76,0.35); padding-bottom:2px; }
.crb-switch a:hover{ color:var(--ink); border-bottom-color:var(--ink); }
.sv-page{ padding-top:8px; }
.sv-about{ margin-top:70px; padding-top:40px; border-top:1px solid var(--line); }

/* OpenStreetMap tiles, darkened to match the site (no API key needed) */
.crb-tiles{ filter: invert(1) hue-rotate(180deg) brightness(0.9) contrast(0.85) saturate(0.6); }

/* ---------- damage page: scan summary ---------- */
.crb-funnel{ margin:0 0 26px; }
.crb-steps-row{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:0; border:1px solid var(--line); }
.crb-step{ position:relative; padding:16px 18px 16px 22px; border-left:1px solid var(--line); display:flex; flex-direction:column; gap:4px; }
.crb-step:first-child{ border-left:none; }
.crb-step:not(:first-child)::before{ content:"›"; position:absolute; left:-7px; top:50%; transform:translateY(-50%); background:var(--bg); color:var(--ink-soft); font-size:1rem; line-height:1; padding:2px 0; }
.crb-step b{ font:500 1.7rem var(--display, var(--body)); color:var(--ink); line-height:1.1; }
.crb-step span{ font-size:0.82rem; color:var(--ink-soft); }
.crb-step.dmg b{ color:var(--crb-damage); }
.crb-funnel-note{ font-size:0.84rem; color:var(--ink-soft); margin-top:10px; max-width:90ch; }
a.crb-btn-ghost{ display:inline-block; text-decoration:none; }

/* ---------- damage page: check a photo ---------- */
.crb-drop{ border:1px dashed var(--line); padding:28px 20px; text-align:center; margin-bottom:14px; transition:border-color .15s, background .15s; }
.crb-drop.over{ border-color:var(--accent); background:rgba(214,242,76,0.05); }
.crb-drop p{ margin:0 0 4px; }
.crb-linkbtn{ background:none; border:none; padding:0; color:var(--accent); font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.crb-card-foot .crb-linkbtn{ font-size:0.8rem; }
.crb-checklink{ display:flex; gap:10px; margin-bottom:10px; }
.crb-checklink input{ flex:1; min-width:0; background:var(--bg); color:var(--ink); border:1px solid var(--line); border-radius:2px; font:0.92rem var(--body); padding:10px 12px; }
.crb-checklink input:focus{ outline:1px solid var(--accent); border-color:var(--accent); }
.crb-status{ font:0.82rem var(--mono); color:var(--ink-soft); min-height:1.2em; }
.crb-checks{ display:flex; flex-direction:column; gap:16px; margin:10px 0 22px; }
.crb-check{ display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); border:1px solid var(--line); }
.crb-check .crb-figure{ min-height:220px; margin:0; }
.crb-check .crb-overlay-wrap img{ max-height:520px; }
.crb-check-body{ padding:18px 20px; display:flex; flex-direction:column; gap:10px; }
.crb-check-body .crb-card-title{ word-break:break-all; }
.crb-check-nums{ margin:0; }
.crb-check-nums b{ color:var(--ink); }
.crb-check-actions{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin:4px 0 0; font-size:0.85rem; }
.crb-wait{ display:flex; gap:10px; align-items:center; color:var(--ink-soft); font-size:0.9rem; margin:0; }
.crb-spin{ width:14px; height:14px; flex:none; border:2px solid var(--line); border-top-color:var(--accent); border-radius:50%; animation:crbspin 0.9s linear infinite; }
@keyframes crbspin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .crb-spin{ animation:none; } }
@media (max-width: 760px){
  .crb-steps-row{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .crb-step:nth-child(3){ border-left:none; }
  .crb-step:nth-child(n+3){ border-top:1px solid var(--line); }
  .crb-step:nth-child(3)::before{ display:none; }
  .crb-check{ grid-template-columns:1fr; }
  .crb-checklink{ flex-direction:column; }
}
.crb-drop .crb-hint{ margin:0 auto; }
.crb-check .crb-figure:has(.crb-empty){ min-height:90px; }

/* ---------- check a photo: timing note, staging, job ---------- */
.crb-timing{ border-left:3px solid var(--accent); background:rgba(214,242,76,0.04); padding:14px 18px; margin:0 0 20px; max-width:78ch; font-size:0.9rem; color:var(--ink-soft); }
.crb-timing p{ margin:0 0 8px; }
.crb-timing p:last-child{ margin-bottom:0; }
.crb-timing-h{ font:500 0.72rem var(--mono); text-transform:uppercase; letter-spacing:0.07em; color:var(--accent); }
.crb-timing ul{ list-style:none; padding:0; margin:0 0 8px; display:flex; flex-wrap:wrap; gap:6px 22px; }
.crb-timing b{ color:var(--ink); font-weight:500; }
.crb-stage{ border:1px solid var(--line); padding:16px; margin:6px 0 14px; }
.crb-stage[hidden], .crb-job[hidden]{ display:none; }
.crb-staged-list{ display:grid; grid-template-columns:repeat(auto-fill, minmax(120px, 1fr)); gap:10px; }
.crb-staged{ position:relative; margin:0; border:1px solid var(--line); background:#000; }
.crb-staged img, .crb-staged .ph{ display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.crb-staged .ph{ display:flex; align-items:center; justify-content:center; font:0.75rem var(--mono); color:var(--ink-soft); }
.crb-staged figcaption{ font-size:0.72rem; color:var(--ink-soft); padding:4px 6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; background:var(--bg); }
.crb-x{ position:absolute; top:4px; right:4px; width:24px; height:24px; border-radius:50%; border:none; background:rgba(10,11,9,0.8); color:var(--ink); cursor:pointer; font-size:1rem; line-height:1; }
.crb-x:hover{ color:var(--crb-damage); }
.crb-start-row{ display:flex; flex-wrap:wrap; gap:12px 16px; align-items:flex-end; margin-top:10px; }
.crb-email{ display:flex; flex-direction:column; gap:6px; flex:1; min-width:220px; font:500 0.72rem var(--mono); text-transform:uppercase; letter-spacing:0.07em; color:var(--ink-soft); }
.crb-email span{ text-transform:none; letter-spacing:0; font-family:var(--body); }
.crb-email input{ background:var(--bg); color:var(--ink); border:1px solid var(--line); border-radius:2px; font:0.92rem var(--body); padding:10px 12px; text-transform:none; letter-spacing:0; }
.crb-email input:focus{ outline:1px solid var(--accent); border-color:var(--accent); }
#checkStart:disabled{ opacity:0.45; cursor:not-allowed; }
.crb-job{ margin:8px 0 18px; }
.crb-job-head{ margin-bottom:12px; }
.crb-status-line{ display:flex; gap:10px; align-items:center; color:var(--ink); margin:0 0 4px; }
.crb-job-head .crb-hint a{ word-break:break-all; }
.crb-recent{ font-size:0.82rem; color:var(--ink-soft); display:flex; flex-wrap:wrap; gap:4px 14px; }
@media (max-width: 760px){ .crb-start-row .btn{ width:100%; } }
.crb-stage-h{ font:500 0.72rem var(--mono); text-transform:uppercase; letter-spacing:0.07em; color:var(--ink-soft); margin:0 0 10px; }
.crb-staged-empty{ grid-column:1/-1; margin:0; padding:14px 0; font-size:0.88rem; color:var(--ink-soft); }

/* ---------- paused notice ---------- */
.crb-paused{ border-left:3px solid #9AA3B5; background:rgba(154,163,181,0.08); padding:14px 18px; margin:0 0 22px; max-width:82ch; font-size:0.92rem; color:var(--ink-soft); }
.crb-paused p{ margin:0 0 6px; } .crb-paused p:last-child{ margin:0; }
.crb-paused-h{ font:500 0.72rem var(--mono); text-transform:uppercase; letter-spacing:0.07em; color:var(--ink); }
.badge.trial{ color:#9AA3B5; }
.crb-step.paused b{ color:var(--ink-soft); font-size:1.2rem; }

/* ---- Oct 2026: damage model results (three levels, several photos per item) ---- */
:root{ --crb-possible:#F2C14E; }
.badge.possible{ color:var(--crb-possible); }
.crb-inputs{ margin:0 0 12px; padding-left:20px; color:var(--ink-soft, inherit); line-height:1.6; }
.crb-intro .badge{ margin:2px 2px; vertical-align:middle; }
.crb-check .crb-figure img{ max-width:100%; max-height:420px; object-fit:contain; display:block; }
.crb-check.has-shots{ grid-template-columns:minmax(0,2fr) minmax(0,3fr); }
.crb-shots{ grid-column:1 / -1; display:grid; grid-template-columns:repeat(auto-fill, minmax(170px, 1fr)); gap:10px; padding:12px; border-top:1px solid var(--line); }
.crb-shot{ margin:0; display:flex; flex-direction:column; gap:6px; min-width:0; }
.crb-shot img{ width:100%; aspect-ratio:4 / 3; object-fit:cover; background:#000; border-radius:2px; }
.crb-shot figcaption{ display:flex; flex-direction:column; gap:3px; font-size:0.78rem; min-width:0; }
.crb-shot-t{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--crb-muted); }
.crb-caveat{ margin-top:4px; }
@media (max-width: 720px){ .crb-check.has-shots{ grid-template-columns:1fr; } .crb-shots{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
.crb-plain{ margin:0 0 14px; padding-left:18px; line-height:1.6; list-style:disc; }
.crb-plain li{ margin:0 0 6px; }
