/* ============================================================
   DASHBOARD LAYOUT ONLY — full-width vertically stacked boxes.
   Intentionally contains NO color/appearance rules: the dark theme
   comes from index.html's inline <style> and dashboard.css.
   (Layout block moved over verbatim from the previous theme-parts.css
    "STACKED FULL-WIDTH BOXES" section; only var(--paper)/var(--line)/
    var(--shadow-sm) were mapped to var(--panel)/var(--border)/var(--shadow)
    so the section-heading card keeps a visible dark surface.)
   ============================================================ */

.shell{display:block!important;width:100%!important}
.shell section,.shell .panel{display:block!important;width:100%!important;max-width:100%!important;margin:18px 0!important}
.double-grid{display:block!important}
.double-grid>*{width:100%!important;max-width:100%!important;margin:0 0 18px!important}
.triple-grid{display:contents!important}
.triple-grid>*{width:100%!important;max-width:100%!important;margin:0 0 18px!important}
section.panel:has(>.triple-grid){display:contents!important}
section.panel>.section-title:has(+ .triple-grid){
  background:var(--panel);border:1px solid var(--border);border-radius:15px;
  box-shadow:var(--shadow);padding:14px 22px;margin:18px 0!important;
}
/* section-heading rhythm */
.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:15px}
.kpi-grid,.quick-stats{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;width:100%}
.dual-mode-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;width:100%}
.controls-grid,.form-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;width:100%}
.chips,.status-row{display:flex!important;flex-wrap:wrap!important;width:100%}
