:root, [data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.72rem + 0.12vw, 0.82rem);
  --text-sm: clamp(0.875rem, 0.84rem + 0.18vw, 0.95rem);
  --text-base: clamp(1rem, 0.97rem + 0.15vw, 1.08rem);
  --text-lg: clamp(1.125rem, 1.06rem + 0.32vw, 1.35rem);
  --text-xl: clamp(1.45rem, 1.2rem + 0.8vw, 1.95rem);
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem;
  --radius-sm: 0.5rem; --radius-md: 0.75rem; --radius-lg: 1rem; --radius-xl: 1.25rem; --radius-full: 999px;
  --color-bg: #F8F7F2;
  --color-surface: #FFFFFF;
  --color-surface-2: #F3F5F4;
  --color-surface-3: #EEF3F1;
  --color-border: rgba(0,45,114,.12);
  --color-divider: rgba(0,45,114,.08);
  --color-text: #002D72;
  --color-text-muted: rgba(0,45,114,.72);
  --color-text-faint: rgba(0,45,114,.48);
  --color-primary: #005151;
  --color-primary-2: #00ACA0;
  --color-accent: #F2CA00;
  --color-blue: #003DA5;
  --color-green-soft: #D7EFE7;
  --color-blue-soft: #BFDFF0;
  --color-yellow-soft: rgba(242,202,0,.16);
  --color-red-soft: rgba(183,62,62,.14);
  --color-red: #A13F3F;
  --shadow-sm: 0 2px 10px rgba(0,45,114,.06);
  --shadow-md: 0 12px 28px rgba(0,45,114,.08);
  --font-body: 'Inter', sans-serif;
}
[data-theme="dark"] {
  --color-bg: #0E1B2D;
  --color-surface: #13243A;
  --color-surface-2: #17304A;
  --color-surface-3: #123A3B;
  --color-border: rgba(191,223,240,.16);
  --color-divider: rgba(191,223,240,.10);
  --color-text: #EEF5FF;
  --color-text-muted: rgba(238,245,255,.74);
  --color-text-faint: rgba(238,245,255,.48);
  --color-primary: #00ACA0;
  --color-primary-2: #D7EFE7;
  --color-accent: #F2CA00;
  --color-blue: #BFDFF0;
  --color-green-soft: rgba(215,239,231,.12);
  --color-blue-soft: rgba(191,223,240,.12);
  --color-yellow-soft: rgba(242,202,0,.12);
  --color-red-soft: rgba(255,92,92,.12);
  --color-red: #FF8E8E;
  --shadow-sm: 0 4px 12px rgba(0,0,0,.2);
  --shadow-md: 0 18px 36px rgba(0,0,0,.28);
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%;margin:0}
body{font-family:var(--font-body);font-size:var(--text-base);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
a{text-decoration:none;color:inherit}

/* layout shell */
.app{display:grid;grid-template-columns:288px 1fr;min-height:100dvh}
.sidebar{background:linear-gradient(180deg,var(--color-surface),var(--color-surface-2));border-right:1px solid var(--color-border);padding:var(--space-5);position:sticky;top:0;height:100dvh;overflow:auto}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-6)}
.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--color-primary),var(--color-primary-2));display:grid;place-items:center;box-shadow:var(--shadow-sm)}
.brand-mark svg{width:24px;height:24px}
.brand-title{font-weight:800;letter-spacing:.02em}
.brand-sub{font-size:var(--text-xs);color:var(--color-text-muted)}
.nav-group{margin-bottom:var(--space-6)}
.nav-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-faint);margin-bottom:var(--space-3)}
.nav-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;color:var(--color-text-muted);text-decoration:none;margin-bottom:6px;border:1px solid transparent}
.nav-item.active{background:var(--color-surface-3);color:var(--color-text);border-color:var(--color-border);font-weight:600}
.nav-item:hover{background:var(--color-surface-2)}
.nav-left{display:flex;gap:10px;align-items:center}
.dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary-2);flex:0 0 auto}
.count{padding:4px 8px;border-radius:999px;background:var(--color-green-soft);font-size:var(--text-xs);color:var(--color-primary);font-weight:700}
.mini-card{margin-top:var(--space-8);padding:18px;border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb, var(--color-primary) 12%, var(--color-surface)),var(--color-surface));border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}
.mini-card h3{margin:0 0 8px;font-size:var(--text-lg)}
.mini-card p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}
.content{display:flex;flex-direction:column;min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 88%, transparent);backdrop-filter:blur(10px);position:sticky;top:0;z-index:4}
.search{display:flex;align-items:center;gap:12px;min-width:min(520px,54vw);background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:12px 14px;box-shadow:var(--shadow-sm)}
.search input{border:none;outline:none;background:transparent;width:100%;color:var(--color-text)}
.top-actions{display:flex;align-items:center;gap:12px}
.icon-btn,.avatar,.btn,.tab,.filter{min-height:44px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}
.icon-btn{min-width:44px;display:grid;place-items:center}
.mobile-nav-toggle{display:none;font-size:1.1rem}
.sidebar-backdrop{position:fixed;inset:0;background:rgba(0,20,40,.45);z-index:25;opacity:0;pointer-events:none;transition:opacity .2s ease}
.sidebar-backdrop.is-visible{opacity:1;pointer-events:auto}
.avatar{padding:0 14px;display:grid;place-items:center;font-weight:700}
.btn,.filter{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-weight:700;cursor:pointer}
.btn-primary{background:var(--color-primary);color:white;border-color:transparent}
.btn-secondary{background:var(--color-surface)}
.main{padding:24px;display:grid;gap:20px}
.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;box-shadow:var(--shadow-sm)}
.hero{padding:24px;display:grid;grid-template-columns:1.15fr .85fr;gap:20px;overflow:hidden;position:relative}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,var(--color-blue-soft),transparent 68%)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--color-surface-3);font-size:var(--text-xs);font-weight:700;color:var(--color-primary);margin-bottom:14px}
h1{margin:0 0 10px;font-size:var(--text-xl);line-height:1.1}
.lead{margin:0;color:var(--color-text-muted);max-width:62ch;line-height:1.55}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.summary{display:grid;gap:12px;align-content:start}
.summary-item{padding:16px;border-radius:18px;background:var(--color-surface-2);border:1px solid var(--color-divider)}
.summary-item strong{display:block;font-size:1.35rem;line-height:1;margin-bottom:6px;font-variant-numeric:tabular-nums}
.summary-item span{font-size:var(--text-sm);color:var(--color-text-muted)}
.toolbar{padding:18px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.filters{display:flex;gap:10px;flex-wrap:wrap}
.filter.active,.chip.active,.tab.active{background:var(--color-surface-3);color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 24%, var(--color-border))}
.footer-note{font-size:var(--text-xs);color:var(--color-text-faint)}
.status-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;font-size:var(--text-xs);font-weight:700;white-space:nowrap}
.status-ok{background:var(--color-green-soft);color:var(--color-primary)}
.status-wait{background:var(--color-yellow-soft);color:#7A6300}
.status-risk{background:var(--color-red-soft);color:#9E3D3D}
.status-new{background:var(--color-blue-soft);color:var(--color-blue)}
.section-title,.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.section-title h2,.section-head h2{margin:0;font-size:var(--text-lg)}
.section-title p,.section-head p{margin:4px 0 0;color:var(--color-text-muted);font-size:var(--text-sm)}
.stack{display:grid;gap:14px}
.inline-actions{display:flex;gap:10px;flex-wrap:wrap}
.pill{padding:8px 10px;border-radius:999px;background:var(--color-surface-3);border:1px solid var(--color-divider);font-size:var(--text-xs);color:var(--color-text-muted)}
.toolbar-line{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.table-wrap{overflow:auto;border:1px solid var(--color-divider);border-radius:18px;background:var(--color-surface-2);padding:6px}
.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--color-divider);vertical-align:top}
.table th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}
.table tr:last-child td{border-bottom:none}
.bar{height:10px;border-radius:999px;background:var(--color-divider);overflow:hidden}
.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-2))}
.field{border:1px solid var(--color-divider);border-radius:18px;background:var(--color-surface-2);padding:14px}
.field label{display:block;font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em}
.input,.select,.textarea{width:100%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:14px;padding:12px 14px;outline:none}
.textarea{min-height:92px;resize:vertical}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.tab{padding:0 14px;font-weight:700}

/* dashboard */
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.kpi-card{padding:16px;border-radius:20px;border:1px solid var(--color-divider);background:var(--color-surface-2)}
.kpi-card strong{display:block;font-size:1.55rem;line-height:1;font-variant-numeric:tabular-nums}
.kpi-card span{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:8px}
.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:start}
.section{padding:18px}

/* Рабочий стол: виджеты — плотная сетка с автоподбором числа колонок под ширину
   экрана (auto-fill) и dense-упаковкой, чтобы при скрытии/разной ширине виджетов
   не оставалось пустых "дыр" — следующий виджет сам поднимается на освободившееся
   место. Порядок и состав настраиваются в "Настройки" + перетаскиванием на месте. */
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-auto-flow:dense;gap:20px;align-items:start}
.widget{min-width:0}
.widget-wide{grid-column:span 2}
@media (max-width: 860px){.widget-wide{grid-column:span 1}}
.widget.drag-over{outline:2px dashed var(--color-primary);outline-offset:4px}
.widget.dragging{opacity:.45}
.widget-controls{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.widget-controls .icon-btn{min-height:32px;min-width:32px;width:32px;height:32px;padding:0;font-size:14px;border-radius:10px}
.widget-drag-handle{cursor:grab;touch-action:none}
.widget-drag-handle:active{cursor:grabbing}
.widget.widget-hidden{display:none}

/* Настройки: строки-переключатели для пунктов меню и виджетов */
.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--color-divider);background:var(--color-surface-2)}
.toggle-row label{display:flex;align-items:center;gap:10px;font-size:var(--text-sm);font-weight:600;cursor:pointer}
.toggle-row input[type="checkbox"]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}

/* Карточка задачи (task-modal.js) — переиспользуемая модалка поверх любой страницы */
.task-modal-backdrop{display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}
.task-modal{width:100%;max-width:640px;padding:24px;margin:auto}
.task-modal-head{display:flex;align-items:center;gap:10px}
.task-modal-title{flex:1;font-size:var(--text-lg);font-weight:700;border:none;background:transparent;padding:4px 0}
.task-modal-title:focus{outline:none;border-bottom:2px solid var(--color-primary)}
.task-modal-comments{margin-top:20px;padding-top:16px;border-top:1px solid var(--color-divider)}
.task-card{cursor:pointer}
.task-card:hover{border-color:var(--color-primary)}
.signal-list,.feed-list,.project-list,.calendar-list,.assistant-list,.list{display:grid;gap:12px}
.signal-card,.feed-card,.project-card,.calendar-card,.assistant-card,.row-card{padding:16px;border-radius:20px;border:1px solid var(--color-divider);background:var(--color-surface-2);display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
/* длинный текст (например, имя файла) в заголовке карточки не ломал layout и не выталкивал
   status-chip за пределы карточки — без min-width:0 flex-ребёнок по умолчанию не сжимается
   меньше ширины своего самого длинного "неразрывного" слова */
.signal-card>div:first-child,.feed-card>div:first-child,.project-card>div:first-child,.calendar-card>div:first-child,.row-card>div:first-child{min-width:0}
.signal-card strong,.feed-card strong,.project-card strong,.calendar-card strong,.row-card strong,.assistant-card strong,
.signal-card span,.feed-card span,.project-card span,.calendar-card span,.row-card span,.assistant-card span{overflow-wrap:anywhere}
.signal-card strong,.feed-card strong,.project-card strong,.calendar-card strong,.assistant-card strong,.row-card strong{display:block;font-size:var(--text-sm)}
.signal-card span,.feed-card span,.project-card span,.calendar-card span,.assistant-card span,.row-card span{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:4px;line-height:1.5}
.mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.mini-box{padding:12px;border-radius:16px;background:var(--color-surface);border:1px solid var(--color-divider)}
.mini-box strong{display:block;font-size:var(--text-sm)}
.mini-box span{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:4px}
.assistant-card .icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:white;font-weight:800;box-shadow:var(--shadow-sm);flex:0 0 auto}

/* assistants catalog */
.catalog{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}
.grid-panel{padding:18px}
.assistant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.assistant-tile{padding:18px;border-radius:22px;border:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-surface),var(--color-surface-2));display:grid;gap:14px;min-height:240px}
.assistant-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.assistant-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;font-weight:800;color:white;box-shadow:var(--shadow-sm)}
.assistant-tile h3{margin:0;font-size:var(--text-base)}
.assistant-tile p{margin:6px 0 0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{padding:6px 10px;border-radius:999px;background:var(--color-surface-3);font-size:var(--text-xs);color:var(--color-text-muted);border:1px solid var(--color-divider)}
.assistant-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:auto}
.meta-box{padding:12px;border-radius:16px;background:var(--color-surface);border:1px solid var(--color-divider)}
.meta-box span{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:6px}
.meta-box strong{display:block;font-size:var(--text-sm)}
.side-panel{padding:18px;display:grid;gap:16px;align-content:start}
.side-block{padding:16px;border-radius:18px;background:var(--color-surface-2);border:1px solid var(--color-divider)}
.side-block h3{margin:0 0 10px;font-size:var(--text-base)}
.side-block p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}
.list-item{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--color-divider)}
.list-item:first-child{border-top:none;padding-top:0}
.list-item strong{display:block;font-size:var(--text-sm)}
.list-item span{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:4px}
.chip{padding:10px 14px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface-2);font-size:var(--text-sm);color:var(--color-text-muted)}
.empty-action{display:flex;gap:10px;flex-wrap:wrap}

/* finance / transcriber workspace */
.workspace{display:grid;grid-template-columns:340px minmax(0,1fr) 320px;gap:20px;align-items:start}
/* некоторым экранам (почта/земля/поддержка) нужна двухколоночная раскладка workspace
   вместо трёхколоночной — вынесено в класс, а не inline-style, иначе inline-style
   перебивает по специфичности любой @media-коллапс ниже и ломает мобильную вёрстку */
.workspace-narrow{grid-template-columns:360px minmax(0,1fr)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.left-panel,.center-panel,.right-panel{padding:18px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.metric-card{border:1px solid var(--color-divider);border-radius:18px;background:var(--color-surface-2);padding:14px}
.metric-card strong{display:block;font-size:1.35rem;line-height:1;font-variant-numeric:tabular-nums}
.metric-card span{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:6px}
.model-card,.scenario-card,.task-card,.history-card,.kpi-list .kpi-card,.summary-card,.transcript-card,.queue-item,.task-item,.history-item,.stat-block{border:1px solid var(--color-divider);border-radius:18px;background:var(--color-surface-2);padding:14px}
.model-card strong,.scenario-card strong,.task-card strong,.history-card strong,.summary-card strong,.transcript-card strong,.queue-item strong,.task-item strong,.history-item strong{display:block;font-size:var(--text-sm)}
.model-card span,.scenario-card span,.task-card span,.history-card span,.summary-card span,.transcript-card span,.queue-item span,.task-item span,.history-item span{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:4px;line-height:1.5}
.scenario-card{display:grid;gap:10px}
.task-list,.history-list,.kpi-list{display:grid;gap:10px}
.task-card,.history-card,.history-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.task-card>div:first-child,.history-card>div:first-child,.history-item>div:first-child{min-width:0}
.task-card strong,.history-card strong,.history-item strong,.task-card span,.history-card span,.history-item span{overflow-wrap:anywhere}
.status-chip{flex-shrink:0}
.task-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}
.dropzone{padding:18px;border-style:dashed;border-width:1.5px;border-color:var(--color-divider);border-radius:18px;background:linear-gradient(180deg,var(--color-surface-2),var(--color-surface))}
.dropzone h3{margin:0 0 8px;font-size:var(--text-base)}
.dropzone p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}
.progress{height:8px;border-radius:999px;background:var(--color-divider);overflow:hidden;margin-top:10px}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-2));border-radius:999px}
.transcript-body{display:grid;gap:12px}
.compact-list{margin:0;padding-left:20px;display:grid;gap:8px}
.compact-list li{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.55;overflow-wrap:anywhere}
.quote{padding:14px;border-radius:16px;background:var(--color-surface);border:1px solid var(--color-divider);line-height:1.6;color:var(--color-text-muted);font-size:var(--text-sm);overflow-wrap:anywhere}
summary{cursor:pointer}
summary strong{display:inline}
#subjectText,.tags .tag{overflow-wrap:anywhere}
.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stat-block strong{font-size:1.2rem;line-height:1}
.stat-block span{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:6px}
.empty{padding:28px;border-radius:20px;background:var(--color-surface-2);border:1px dashed var(--color-border);color:var(--color-text-muted)}
.timeline{display:grid;gap:10px}
.timeline-item{padding:14px 16px;border-radius:16px;background:var(--color-surface-2);border:1px solid var(--color-divider)}
.timeline-item strong{display:block;font-size:var(--text-sm)}
.timeline-item span{display:block;margin-top:4px;font-size:var(--text-xs);color:var(--color-text-muted)}

@media (max-width: 1320px){.workspace,.hero,.catalog,.grid-2{grid-template-columns:1fr}.kpi-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search{min-width:unset;width:100%}}

/* планшет и мобильный: боковая панель становится выезжающим меню вместо колонки —
   иначе на узких экранах навигация пропадала совсем (см. .mobile-nav-toggle в auth.js) */
@media (max-width: 1020px){
  .app{display:block}
  .mobile-nav-toggle{display:grid}
  .sidebar{position:fixed;top:0;left:0;height:100dvh;width:288px;max-width:86vw;transform:translateX(-100%);transition:transform .25s ease;z-index:30}
  .sidebar.is-open{transform:translateX(0)}
  .content{min-height:100dvh}
  .topbar{padding:12px 16px;flex-wrap:wrap;row-gap:10px}
  .top-actions{justify-content:flex-end}
  .main{padding:16px}
  .kpi-grid,.metric-grid,.assistant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 720px){
  .topbar{padding:12px}
  .top-actions{justify-content:space-between;width:100%}
  .main{padding:14px}
  .hero,.left-panel,.center-panel,.right-panel,.toolbar,.section,.grid-panel,.side-panel{padding:18px}
  .search{min-width:unset;width:100%}
  .kpi-grid,.metric-grid,.stat-grid,.assistant-grid{grid-template-columns:1fr}
  .hero{grid-template-columns:1fr}
  .assistant-meta{grid-template-columns:1fr}
  .mini-metrics{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
}
