/* HiveCheck RC49 design layer. Deliberately small: new work belongs here, not as another app.css patch generation. */
:root{--hc-radius:10px;--hc-radius-sm:7px;--hc-shadow:0 1px 2px rgba(16,24,40,.05),0 8px 24px rgba(16,24,40,.04);--hc-focus:0 0 0 3px rgba(49,94,251,.18);--hc-surface:#fff;--hc-subtle:#f7f9fc;--hc-ink:#172238;--hc-muted:#667085;--hc-line:#e3e8ef}
:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #315efb;outline-offset:2px}
.page-v3{max-width:1600px;margin-inline:auto}.panel,.pd-panel,.trend-card,.compact-kpi{border-color:var(--hc-line);box-shadow:none}.btn{border-radius:var(--hc-radius-sm);font-weight:700;min-height:36px}.btn.primary{box-shadow:0 1px 2px rgba(16,24,40,.08)}
/* One predictable stat tile geometry. Existing names are normalized until templates migrate to hc-stat. */
.compact-kpis,.hc-stat-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:10px!important}.compact-kpi,.hc-stat{min-width:0!important;min-height:112px!important;height:auto!important;padding:15px 16px!important;border:1px solid var(--hc-line)!important;border-radius:var(--hc-radius)!important;background:var(--hc-surface)!important;overflow:hidden!important}.compact-kpi>strong,.hc-stat__value{display:block!important;font-size:clamp(1.45rem,2vw,2rem)!important;line-height:1.05!important;letter-spacing:-.035em!important;font-variant-numeric:tabular-nums!important;overflow-wrap:anywhere!important}.compact-kpi>span,.hc-stat__label{display:block!important;margin-top:8px!important;font-size:.78rem!important;font-weight:800!important;color:var(--hc-ink)!important}.compact-kpi>small,.hc-stat__support{display:block!important;margin-top:4px!important;font-size:.72rem!important;line-height:1.35!important;color:var(--hc-muted)!important;white-space:normal!important}
/* Property timeline */
.hc-property-timeline{margin-top:16px}.hc-timeline-list{display:grid}.hc-timeline-item{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:12px;padding:14px 16px;border-top:1px solid var(--hc-line);align-items:start}.hc-timeline-marker{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#315efb;box-shadow:0 0 0 4px #eef2ff}.hc-timeline-copy>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hc-timeline-copy small,.hc-timeline-copy p{display:block;margin-top:4px;color:var(--hc-muted);font-size:.76rem;line-height:1.45}.hc-timeline-copy p{margin-bottom:0}.hc-timeline-actions{position:relative}.hc-timeline-actions>summary{cursor:pointer;color:#475467;font-size:.75rem;font-weight:700}.hc-timeline-actions form{position:absolute;z-index:10;right:0;top:26px;width:min(330px,80vw);padding:12px;background:#fff;border:1px solid var(--hc-line);border-radius:var(--hc-radius);box-shadow:var(--hc-shadow)}.hc-timeline-actions label span{display:block;font-size:.72rem;font-weight:700;margin-bottom:5px}.hc-timeline-actions input{width:100%;margin-bottom:8px}
/* Accessible native dialog rather than a hand-rolled modal. */
.hc-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:14px;box-shadow:0 24px 70px rgba(16,24,40,.22);color:var(--hc-ink)}.hc-dialog::backdrop{background:rgba(15,23,42,.48);backdrop-filter:blur(2px)}.hc-dialog-card{display:grid;margin:0}.hc-dialog-card>header,.hc-dialog-card>footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--hc-line)}.hc-dialog-card>header h2{margin:2px 0 3px}.hc-dialog-card>header p{margin:0;color:var(--hc-muted)}.hc-dialog-card>footer{justify-content:flex-end;border:0;border-top:1px solid var(--hc-line)}.hc-dialog-close{border:0;background:transparent;font-size:1.6rem;line-height:1;cursor:pointer;color:#667085}.hc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px}.hc-form-grid label>span{display:block;margin-bottom:6px;font-size:.76rem;font-weight:800}.hc-form-grid input,.hc-form-grid select,.hc-form-grid textarea{width:100%}.hc-form-grid .wide{grid-column:1/-1}.hc-check{display:flex!important;align-items:center;gap:8px}.hc-check input{width:auto}.hc-check span{margin:0!important}
/* Property events are annotations, never measurement series. */
.property-event-overlay line{stroke:#6941c6;stroke-width:1.3;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.property-event-overlay circle{fill:#6941c6;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.property-event-duration rect{fill:#6941c6;opacity:.08}.property-event-overlay{pointer-events:none}
/* Login polish while keeping the existing auth model and separate Context boundary. */
.auth-card{border-radius:14px!important;box-shadow:0 18px 55px rgba(16,24,40,.12)!important}.auth-submit{min-height:44px}.auth-form input{min-height:44px;border-radius:8px}.auth-product{letter-spacing:.01em}.auth-note{line-height:1.45}
@media(max-width:720px){.hc-form-grid{grid-template-columns:1fr}.hc-form-grid .wide{grid-column:auto}.hc-timeline-item{grid-template-columns:14px minmax(0,1fr)}.hc-timeline-actions{grid-column:2}.compact-kpis,.hc-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:440px){.compact-kpis,.hc-stat-grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* RC55 — Properties catalogue status tiles. These deliberately live in the globally loaded design layer. */
.hc-status-tabs{display:grid!important;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px!important;margin:0 0 14px!important;align-items:stretch!important}
.hc-status-tabs>a:not(.intake-cta){position:relative;display:flex!important;flex-direction:column;justify-content:center;gap:5px;min-height:86px;padding:13px 15px!important;border:1px solid var(--hc-line)!important;border-radius:var(--hc-radius)!important;background:var(--hc-surface)!important;color:var(--hc-muted)!important;text-decoration:none!important;box-shadow:none!important;font-size:.74rem!important;font-weight:800!important;line-height:1.15!important;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}
.hc-status-tabs>a:not(.intake-cta)>strong{display:block;margin:0!important;color:var(--hc-ink)!important;font-size:1.55rem!important;line-height:1!important;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.hc-status-tabs>a:not(.intake-cta):hover{border-color:#b9c7d6!important;box-shadow:0 4px 14px rgba(16,36,62,.06)!important;transform:translateY(-1px)}
.hc-status-tabs>a:not(.intake-cta).active{border-color:#9fb5cb!important;background:#f8fbfd!important;color:#244b70!important;box-shadow:inset 0 -3px 0 #efb51c!important}
.hc-status-tabs>a:not(.intake-cta).active>strong{color:#10243e!important}
.hc-status-tabs .intake-cta{grid-column:1/-1;justify-self:end;display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;border:1px solid var(--hc-line);border-radius:8px;background:#fff;color:var(--hc-ink);font-size:.75rem;font-weight:800;text-decoration:none}
.asset-register-panel{margin-top:0!important}
@media(max-width:900px){.hc-status-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:600px){.hc-status-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hc-status-tabs>a:not(.intake-cta){min-height:76px}.hc-status-tabs>a:not(.intake-cta)>strong{font-size:1.35rem!important}}

.property-event-overlay text{font:600 8px system-ui,sans-serif;fill:#5b3aa8;paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round;pointer-events:none}.property-event-duration text{fill:#5b3aa8}

/* RC57 — one summary-tile language across Context.
   Properties status tiles are the visual baseline. */
.compact-kpis,.properties-kpis,.destination-kpis,.retention-kpis,.watch-template-kpis,.dictionary-kpis,.audit-kpis,.env-kpis{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
  gap:10px!important;
  margin:0 0 14px!important;
  align-items:stretch!important;
}
.compact-kpi,
.destination-kpis>div,.retention-kpis>div,.watch-template-kpis>div,.dictionary-kpis>div,.audit-kpis>div,.env-kpis>span{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:0!important;
  min-width:0!important;
  min-height:86px!important;
  height:auto!important;
  padding:13px 15px!important;
  border:1px solid var(--hc-line)!important;
  border-radius:var(--hc-radius)!important;
  background:var(--hc-surface)!important;
  box-shadow:none!important;
  color:var(--hc-muted)!important;
  text-decoration:none!important;
  overflow:hidden!important;
}
.compact-kpi>strong,
.destination-kpis>div>strong,.retention-kpis>div>strong,.watch-template-kpis>div>strong,.dictionary-kpis>div>strong,.audit-kpis>div>strong,.env-kpis>span>strong{
  order:1!important;
  display:block!important;
  margin:0!important;
  max-width:100%!important;
  font-size:1.55rem!important;
  line-height:1!important;
  font-weight:780!important;
  letter-spacing:-.035em!important;
  color:var(--hc-ink)!important;
  font-variant-numeric:tabular-nums!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.compact-kpi>span,
.destination-kpis>div>span,.retention-kpis>div>span,.watch-template-kpis>div>span,.dictionary-kpis>div>span,.audit-kpis>div>span{
  order:2!important;
  display:block!important;
  margin-top:5px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:.74rem!important;
  line-height:1.15!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:0!important;
  color:var(--hc-muted)!important;
}
.compact-kpi>small,
.destination-kpis>div>small,.retention-kpis>div>small{
  order:3!important;
  display:block!important;
  margin-top:4px!important;
  font-size:.69rem!important;
  line-height:1.3!important;
  color:var(--hc-muted)!important;
  white-space:normal!important;
}
.compact-kpi:hover,a.compact-kpi:hover{
  border-color:#b9c7d6!important;
  box-shadow:0 4px 14px rgba(16,36,62,.06)!important;
  transform:translateY(-1px);
}
/* Preserve meaning without reverting to the old coloured side-bars. */
.compact-kpi.good{background:#fbfefc!important}.compact-kpi.attention,.compact-kpi.high{background:#fffdf7!important}.compact-kpi.critical{background:#fffafa!important}
.env-kpis>span{font-size:.74rem!important}.env-kpis>span>strong{margin:0 0 5px!important}.env-kpis>span{color:var(--hc-muted)!important}
@media(max-width:900px){.compact-kpis,.properties-kpis,.destination-kpis,.retention-kpis,.watch-template-kpis,.dictionary-kpis,.audit-kpis,.env-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:650px){.compact-kpis,.properties-kpis,.destination-kpis,.retention-kpis,.watch-template-kpis,.dictionary-kpis,.audit-kpis,.env-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:420px){.compact-kpis,.properties-kpis,.destination-kpis,.retention-kpis,.watch-template-kpis,.dictionary-kpis,.audit-kpis,.env-kpis{grid-template-columns:1fr!important}}

/* RC58 property timeline graph annotations: orange duration bands with explicit boundaries/times. */
.property-event-overlay line,.property-event-overlay .property-event-boundary{stroke:#e58a00;stroke-width:1.5;stroke-dasharray:none;vector-effect:non-scaling-stroke}.property-event-overlay circle{fill:#f59e0b;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.property-event-duration rect{fill:#f59e0b;opacity:.14}.property-event-overlay text,.property-event-duration text{fill:#9a5b00}.property-event-overlay .property-event-title{font:700 8px system-ui,sans-serif}.property-event-overlay .property-event-time{font:600 7px system-ui,sans-serif;fill:#9a5b00;paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round}.property-event-point line{stroke-dasharray:3 2}

/* RC59 — property timeline annotations: one readable pill + duration band. */
.property-event-duration .property-event-band{opacity:1!important;fill:#f59e0b!important;fill-opacity:.13!important;stroke:none!important}
.property-event-overlay .property-event-pill{opacity:1!important;fill:#fff8e8!important;fill-opacity:.97!important;stroke:#e58a00!important;stroke-width:.8!important}
.property-event-overlay .property-event-boundary{stroke:#e58a00!important;stroke-width:1.6!important;stroke-dasharray:none!important}
.property-event-overlay .property-event-pill-title,.property-event-overlay .property-event-pill-time{paint-order:normal!important;stroke:none!important}

/* RC67: explicit visual bridge across missing indoor sensor evidence.
   Never use this class for provider weather or calculated evidence. */
.trend-known-bridge{fill:none;stroke:#3567ff;stroke-width:1.7;stroke-linecap:round;opacity:.95;vector-effect:non-scaling-stroke}
