/* Explicit preview component roles; no production data. */
.units-demo-host { background:#f1eadb; --sota-wave-bottom-reserve:20px; }
.units-demo-host[data-theme="dark"] { background:#03100e; }
.units-demo-host body { padding-left:72px; background:transparent; font-family:Sota33RobotoSerif,Georgia,serif; }
.units-demo-host body::before { display:none; }
.app-shell[data-sota33],.units-demo-contract[data-sota33] {
  --canvas:var(--sota33-canvas);--canvas-deep:var(--sota33-canvas-deep);--ink:var(--sota33-ink);--text:var(--sota33-text);--muted:var(--sota33-muted);
  --line:var(--sota33-border);--surface:var(--sota33-glass);--surface-strong:var(--sota33-glass-raised);
  --accent:var(--sota33-primary);--accent-hover:var(--sota33-primary-hover);--accent-soft:var(--sota33-primary-soft);
  --success:var(--sota33-success);--warn:var(--sota33-warning);--danger:var(--sota33-danger);--shadow:var(--sota33-shadow);
  color:var(--sota33-text);font-family:var(--sota33-font);
}
.app-shell[data-sota33] { min-height:100dvh; }
.app-shell[data-sota33] main { padding-inline:clamp(12px,3vw,44px); }
.app-shell[data-sota33] .hero { min-height:200px; }
.app-shell[data-sota33] .hero h1 { font-size:clamp(44px,5vw,66px); }
.app-shell[data-sota33] :is(.sota33-glass,.sota33-glass-raised) { color:var(--sota33-text); }
.app-shell[data-sota33] .sota33-glass { background:var(--sota33-glass);border-color:var(--sota33-border);backdrop-filter:blur(14px) saturate(124%); }
.app-shell[data-sota33] .sota33-glass-raised { background:var(--sota33-glass-raised);border-color:var(--sota33-border-strong);backdrop-filter:blur(22px) saturate(130%); }
.app-shell[data-sota33] .sota33-button-primary,.units-demo-contract .sota33-button-primary { background:var(--sota33-primary);color:var(--sota33-on-primary); }
.app-shell[data-sota33] .sota33-button-primary:hover { background:var(--sota33-primary-hover); }
.app-shell[data-sota33] .unit-card[aria-current="true"] { border-color:var(--sota33-primary);background:color-mix(in srgb,var(--sota33-primary-soft) 62%,var(--sota33-glass-raised)); }
.app-shell[data-sota33] :is(.unit-card,.route):focus-visible { outline:3px solid var(--sota33-focus);outline-offset:3px; }
.app-shell[data-sota33] :is(.unit-card,.proof-row,.detail-top,.routes,.workbench,.detail-panel,.catalog-panel) { min-width:0;overflow-wrap:anywhere; }
.app-shell[data-sota33] .unit-card .code { overflow-wrap:anywhere; }
.app-shell[data-sota33] .proof-row { grid-template-columns:100px minmax(0,1fr) auto; }
.app-shell[data-sota33] .detail-panel { scroll-margin-top:18px;scroll-margin-bottom:100px; }
.units-demo-date { flex:1 1 100%;min-width:0; }
.units-demo-bounds { flex:1 1 100%;color:var(--sota33-muted);font-size:13px; }
.units-demo-bounds summary { cursor:pointer;padding:8px 0; }
.units-demo-bounds .field { max-width:none;padding:8px 0; }
.units-demo-date[data-units-open-range] .date-range-trigger>span { font-size:0; }
.units-demo-date[data-units-open-range] .date-range-trigger::after { content:'Выбрать полный диапазон';font-size:14px; }
.units-demo-date[data-units-open-range]::after { content:'Сейчас одна или обе границы не заданы';display:block;font-size:13px;color:var(--sota33-muted); }
.units-demo-contract { background:var(--sota33-popover-select); }
@media(max-width:720px) {
  .units-demo-host { --sota-wave-bottom-reserve:calc(86px + env(safe-area-inset-bottom,0px)); }
  .units-demo-contract.toast { bottom:calc(86px + env(safe-area-inset-bottom,0px)); }
  .units-demo-host body { padding-left:0;padding-bottom:calc(74px + env(safe-area-inset-bottom,0px)); }
  .app-shell[data-sota33] .hero { min-height:0; }
  .app-shell[data-sota33] .proof-row { grid-template-columns:minmax(0,1fr); }
  .app-shell[data-sota33] .detail-panel { padding:18px; }
}
@media(prefers-reduced-transparency:reduce) {
  .app-shell[data-sota33] :is(.sota33-glass,.sota33-glass-raised) { background:var(--sota33-surface-solid);backdrop-filter:none; }
}
