*, *::before, *::after { box-sizing: border-box; }

html, body {
  margin: 0;
  background: var(--bg-base);
  color: var(--text-primary);
  font-family: var(--font-ui);
  font-size: 15px;
  line-height: 1.55;
}

body { min-height: 100vh; }

h1 { font-size: 1.6rem; margin: 0 0 var(--space-3); }
h2 { font-size: 1.1rem; margin: var(--space-5) 0 var(--space-3); }

a { color: var(--accent); }

:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.container { max-width: 1080px; margin: 0 auto; padding: var(--space-5); }

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-3) var(--space-5);
  border-bottom: 1px solid var(--border);
  background: var(--bg-surface);
}

.brand {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--text-primary);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
}

nav { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.inline { display: inline; }
.muted { color: var(--text-muted); }

/* The voice orb. Idle state for now; listening/thinking/speaking states come with voice. */
.orb {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #ffffff, var(--accent));
  box-shadow: var(--glow);
}

.card {
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: var(--space-5);
  margin-bottom: var(--space-5);
}

.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-4); }
.stat strong { display: block; font-size: 2rem; margin-top: var(--space-2); }

.auth-wrap {
  display: grid;
  place-items: center;
  min-height: 100vh;
  padding: var(--space-5);
}
.auth-card { width: min(420px, 100%); }
.auth-card.wide { width: min(760px, 100%); }
.brand-mark { margin-bottom: var(--space-4); }

.stack { display: flex; flex-direction: column; gap: var(--space-4); }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-4); }

.field { display: flex; flex-direction: column; gap: var(--space-2); }
.field span { font-size: 0.85rem; color: var(--text-muted); }

input, select {
  font: inherit;
  color: var(--text-primary);
  background: var(--bg-base);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  min-height: 44px;
}
input:focus { border-color: var(--accent); }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 var(--space-4);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
  color: var(--text-primary);
  font: inherit;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.btn-primary { background: var(--accent); border-color: var(--accent); color: var(--accent-contrast); }
.btn-ghost { background: transparent; }

.alert {
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  border: 1px solid;
  margin: 0 0 var(--space-4);
}
.alert ul { margin: 0; padding-left: var(--space-4); }
.alert-danger { border-color: var(--danger); color: var(--danger); }
.alert-success { border-color: var(--success); color: var(--success); }

.table { width: 100%; border-collapse: collapse; }
.table th, .table td { text-align: left; padding: var(--space-3); border-bottom: 1px solid var(--border); }
.table th { color: var(--text-muted); font-weight: 500; font-size: 0.85rem; }

.checks { list-style: none; padding: 0; margin: 0 0 var(--space-4); }
.checks li { display: flex; justify-content: space-between; padding: var(--space-2) 0; border-bottom: 1px solid var(--border); }
.ok { color: var(--success); }
.fail { color: var(--danger); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* Phase 1.1 responsive workspace and account-security UI */
button:disabled { opacity: .5; cursor: not-allowed; }
.app-shell { display: grid; grid-template-columns: 236px minmax(0, 1fr); min-height: 100vh; }
.sidebar { background: var(--bg-surface); border-right: 1px solid var(--border); padding: 22px 16px; display: flex; flex-direction: column; min-width: 0; }
.sidebar-brand { font-size: 1.05rem; padding: 10px; word-break: break-word; }
.sidebar-brand .orb { width: 22px; height: 22px; flex: none; }
.nav-caption { color: var(--text-muted); letter-spacing: .15em; font-size: .7rem; margin: 30px 10px 9px; }
.side-nav { display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
.side-link { text-decoration: none; color: var(--text-primary); padding: 12px 13px; border-radius: 9px; min-height: 44px; }
.side-link:hover, .side-link[aria-current="page"] { background: var(--bg-elevated); color: var(--accent); }
.planned-nav { display: grid; gap: 11px; padding: 8px 13px; font-size: .88rem; color: var(--text-muted); }
.planned-nav span::after { content: ' · planned'; opacity: .6; font-size: .73rem; }
.sidebar-footer { margin-top: auto; border-top: 1px solid var(--border); padding: 18px 10px 5px; color: var(--text-muted); font-size: .8rem; }
.status-dot { display: inline-block; width: 7px; height: 7px; background: var(--accent); border-radius: 50%; margin-right: 5px; }
.workspace { min-width: 0; }
.topbar { min-height: 68px; }
.topbar-label { font-size: 1rem; font-weight: 600; }
.topbar nav { justify-content: flex-end; }
.container { max-width: 1160px; }
.page-heading { display: flex; justify-content: space-between; align-items: flex-start; margin: 4px 0 24px; }
.page-heading h1 { font-size: clamp(1.45rem, 2.4vw, 2.2rem); margin: 4px 0; }
.eyebrow { color: var(--accent); text-transform: uppercase; font-size: .72rem; letter-spacing: .16em; margin: 0; }
.two-col { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,330px),1fr)); gap: 20px; }
.two-col .card { margin: 0 0 20px; }
.section-header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.section-header h2 { margin-top: 0; }
.section-header p { margin-top: 0; }
.table-scroll { overflow-x: auto; width: 100%; }
.table { min-width: 580px; }
.btn-sm { min-height: 36px; font-size: .85rem; }
.auth-theme { position: fixed; right: 15px; top: 15px; z-index: 10; }
.auth-card h1 { margin-top: 6px; }
@media (max-width: 860px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { border-right: 0; border-bottom: 1px solid var(--border); padding: 12px 16px; }
  .sidebar-brand { padding: 4px 0 10px; }
  .side-nav { flex-direction: row; flex-wrap: wrap; }
  .side-link { padding: 9px 12px; }
  .nav-caption, .planned-nav, .sidebar-footer { display: none; }
  .topbar { flex-wrap: wrap; gap: 8px; padding: 10px 16px; }
  .account-label { display: none; }
  .container { padding: 18px 16px; }
}
@media (max-width: 480px) {
  .topbar nav { gap: 6px; }
  .topbar .btn { padding: 0 9px; }
  .section-header { flex-direction: column; }
  .checks li { gap: 8px; }
}

/* Phase 02 · Multi-company workspace system. Existing contrast variables apply in both themes. */
.pill { display:inline-flex; align-items:center; font-size:.78rem; line-height:1; padding:9px 11px; border-radius:100px; border:1px solid var(--border); color:var(--text-muted); background:var(--bg-elevated); text-transform:capitalize; white-space:nowrap; }
.pill-success { color:var(--success); border-color:var(--success); }
.pill-warning { color:var(--warning); border-color:var(--warning); }
.company-layout { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); margin-bottom:22px; }
.info-strip { display:flex; align-items:baseline; gap:12px; padding:20px; background:var(--bg-elevated); border:1px solid var(--border); border-radius:var(--radius); }
.info-strip strong { font-size:2.6rem; line-height:1.1; }
.secret-output { border-color:var(--accent); }
.secret-output input { width:100%; font-family:monospace; font-size:.85rem; }
.subtle-line { display:block; font-size:.78rem; color:var(--text-muted); margin-top:3px; }
.inline-form,.table-form { display:flex; gap:7px; align-items:center; }
.table-form select { min-width:110px; max-width:160px; min-height:36px; padding:5px 9px; font-size:.84rem; }
.table-form .btn { min-height:36px; }
.table-scroll { scrollbar-width:thin; }
.invite-form { align-items:end; grid-template-columns:minmax(175px,1fr) minmax(180px,1fr) auto; }
.workspace-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,275px),1fr)); gap:18px; }
.workspace-card { margin:0; display:flex; flex-direction:column; align-items:flex-start; }
.workspace-card h2 { font-size:1.25rem; margin:15px 0 5px; }
.workspace-card form { margin-top:auto; padding-top:12px; }
.invite-accept { margin:32px auto; }
@media(max-width:1100px) { .invite-form { grid-template-columns:1fr 1fr; } .invite-form button { grid-column:1 / -1; } }
@media(max-width:700px) { .company-layout,.invite-form { grid-template-columns:1fr; } .invite-form button { grid-column:auto; } .page-heading { flex-wrap:wrap; } .table { min-width:680px; } }

.seat-inline { margin-top:6px; } .seat-inline input { width:79px; min-height:36px; padding:3px 7px; } .company-layout .card { margin-bottom:0; }

.seat-inline input[type="email"] { width:170px; min-height:36px; font-size:.83rem; }

/* Phase 04 — compact, readable entitlement administration. Inherit canonical app tokens. */
.plan-console-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:20px; }
.plan-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.plan-console-grid .card { margin-bottom:0; min-width:0; }
.plan-console-grid .field, .plan-form-grid .field { min-width:0; }
.plan-console-grid select, .plan-console-grid input { width:100%; min-width:0; }
.plan-list { display:grid; gap:0; margin:12px 0; }
.plan-list-item { display:flex; justify-content:space-between; align-items:baseline; gap:18px; padding:15px 0; border-bottom:1px solid var(--border); }
.plan-list-meta { text-align:right; flex-shrink:0; }
.plan-guide { margin-top:20px; padding:16px; border:1px solid var(--border); background:var(--bg-elevated); border-radius:var(--radius-sm); }
.plan-guide p { color:var(--text-muted); line-height:1.55; }
.plan-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:20px; }
.plan-stat-grid .stat { margin:0; min-width:0; }
.plan-stat-text { font-size:clamp(1rem,1.6vw,1.3rem)!important; line-height:1.3; overflow-wrap:anywhere; }
.revoke-input { width:95px!important; min-height:36px; padding:5px 8px; }
.sr-label { font-size:0; }
.plan-console-grid .two-col { gap:12px; }
.plan-console-grid .field span { display:block; margin-bottom:5px; }
.table-scroll { scrollbar-width:thin; scrollbar-color:var(--border) transparent; }
:where(a,button,input,textarea,select):focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
@media(max-width:950px) { .plan-console-grid { grid-template-columns:1fr; } }
@media(max-width:680px) { .plan-stat-grid,.plan-form-grid { grid-template-columns:1fr; } .plan-list-item { flex-direction:column; gap:3px; } .plan-list-meta { text-align:left; } }

/* Phase 05 — provider operations, shared tokens, responsive accessible controls */
.ai-two-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);margin-bottom:var(--space-4)}
.ai-provider-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,295px),1fr));gap:var(--space-4);margin-bottom:var(--space-4)}
.ai-provider-card {border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--bg-surface);min-width:0;display:grid;gap:var(--space-3);align-content:start}
.ai-provider-card h3,.ai-company-card h2 {margin:0;overflow-wrap:anywhere}
.ai-provider-top {display:flex;justify-content:space-between;align-items:start;gap:var(--space-3)}
.ai-provider-meta {display:grid;gap:var(--space-2);font-size:.88rem}
.ai-provider-meta span {display:flex;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}
.ai-small {font-size:.78rem;overflow-wrap:anywhere}
.ai-check {display:flex;gap:var(--space-3);align-items:flex-start;cursor:pointer;line-height:1.4}
.ai-check input {flex:none;min-width:18px;min-height:18px;margin-top:3px;accent-color:var(--accent)}
.ai-check small {display:block;color:var(--text-muted);margin-top:4px}
.ai-check strong {font-weight:600}
.ai-kpi-list {display:grid;gap:var(--space-3);margin:var(--space-4) 0}
.ai-kpi-list div {display:flex;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}
.ai-details {border-top:1px solid var(--border);padding-top:var(--space-3)}
.ai-details summary {cursor:pointer;color:var(--accent);font-weight:600;min-height:36px}
.ai-details .stack {margin-top:var(--space-3)}
.ai-flag-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.ai-remove-form {border-top:1px solid var(--border);padding-top:var(--space-3);margin-top:var(--space-3)}
.ai-filter {display:flex;gap:var(--space-3);align-items:end;flex-wrap:wrap;margin-bottom:var(--space-3)}
.ai-filter .field {flex:1 1 230px}
.ai-pagination {display:flex;gap:var(--space-3);align-items:center;justify-content:end;margin-top:var(--space-3)}
.ai-model-list {list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}
.ai-model-list li {display:flex;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;border-bottom:1px solid var(--border);padding:var(--space-2) 0}
.ai-provider-card input[type=password],.ai-provider-card input[type=text] {min-width:0;width:100%}
@media(max-width:920px){.ai-two-grid {grid-template-columns:minmax(0,1fr)}}
@media(max-width:570px){.ai-flag-grid {grid-template-columns:minmax(0,1fr)}.ai-provider-top {flex-wrap:wrap}}

/* Phase 06 — chat, tuned for dark/light tokens, controlled scrolling and touch keyboard */
.chat-meta-strip{display:flex;flex-wrap:wrap;gap:12px 24px;padding:14px 18px;margin:0 0 16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.81rem;color:var(--text-muted)}
.chat-meta-strip strong{color:var(--text-primary)}
.chat-layout{display:grid;grid-template-columns:minmax(180px,250px) minmax(0,1fr);gap:16px;align-items:stretch}
.chat-history{margin:0;min-width:0;max-height:760px;overflow-y:auto;padding:15px}
.chat-history-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.chat-history h2{font-size:1rem;margin:0}
.chat-history-head .muted{font-size:.75rem}.chat-convo-list{display:grid;gap:5px}
.chat-convo-item{display:flex;flex-direction:column;gap:4px;min-width:0;padding:13px 12px;border:1px solid transparent;border-radius:10px;color:var(--text-primary);text-decoration:none;overflow-wrap:anywhere}
.chat-convo-item:hover,.chat-convo-item:focus-visible{border-color:var(--border);background:var(--bg-elevated)}.chat-convo-item.is-selected{border-color:var(--accent);background:var(--bg-elevated)}.chat-convo-item small{color:var(--text-muted);font-size:.74rem}
.chat-panel{min-width:0;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden;min-height:500px}
.chat-panel-head{display:flex;justify-content:space-between;gap:20px;align-items:start;padding:20px 22px;border-bottom:1px solid var(--border)}.chat-panel-head h2{font-size:1.1rem;margin:4px 0}.chat-panel-head .eyebrow{font-size:.64rem}
.chat-manage{min-width:100px}.chat-manage summary{cursor:pointer;color:var(--accent);padding:9px;font-size:.83rem}.chat-manage-form{padding:10px 0;min-width:220px;display:grid;gap:8px}.chat-manage input{width:100%}
.chat-transcript{flex:1;min-height:190px;max-height:525px;overflow-y:auto;scrollbar-gutter:stable;padding:22px;display:flex;flex-direction:column;gap:16px}
.chat-message{max-width:min(91%,740px);border:1px solid var(--border);border-radius:14px;padding:12px 16px;overflow-wrap:anywhere;background:var(--bg-elevated);align-self:start}
.chat-message.chat-user{align-self:end;border-color:var(--accent-strong)}.chat-speaker{font-size:.76rem;color:var(--accent);font-weight:700;margin-bottom:8px}.chat-text{white-space:pre-wrap;line-height:1.6;font-size:.94rem;word-break:break-word}.chat-time{display:block;font-size:.7rem;color:var(--text-muted);margin-top:9px}
.chat-empty{text-align:center;margin:auto;padding:35px 16px;max-width:480px}.chat-empty h3{font-size:1.3rem;margin:16px 0 7px}.chat-orb{display:block;width:64px;height:64px;border-radius:50%;margin:auto;background:radial-gradient(circle at 30% 30%,#96f3fc,#22d3ee 35%,#0e7490 65%,transparent 73%);box-shadow:0 0 40px rgba(34,211,238,.24)}
.chat-composer{padding:18px 22px;border-top:1px solid var(--border);background:var(--bg-surface)}.chat-composer textarea{resize:none;min-height:100px;width:100%}.chat-composer select{width:100%;min-width:0}.chat-composer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-composer-bottom p{margin:0}.chat-small{font-size:.76rem;line-height:1.45}.chat-composer button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:940px){.chat-layout{grid-template-columns:1fr}.chat-history{max-height:155px}.chat-convo-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px}.chat-convo-item{min-width:175px;max-width:230px}.chat-panel{min-height:560px}}
@media(max-width:560px){.chat-panel-head,.chat-transcript,.chat-composer{padding:14px}.chat-message{max-width:96%}.chat-composer-bottom{align-items:stretch;flex-direction:column}.chat-composer-bottom button{width:100%}.chat-meta-strip{gap:6px 16px}.chat-transcript{max-height:440px}}
@media(prefers-reduced-motion:reduce){.chat-orb{animation:none}}
/* Phase 07 — local-device pairing and inference workspace */
.local-heading{margin-bottom:1rem}
.local-disclosure{border:1px solid var(--border, #2b4150);background:var(--bg-surface,#14222f);border-inline-start:4px solid var(--accent,#22d3ee);border-radius:12px;padding:1rem 1.1rem;line-height:1.6;margin-bottom:1.25rem;color:var(--text-primary,#e6edf3)}
.local-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start;margin-bottom:1rem}
.local-panel{min-width:0;padding:1.4rem;display:flex;flex-direction:column;gap:1rem}
.local-panel h2{font-size:1.25rem;margin:0}
.local-panel h3{font-size:1rem;margin:0}
.local-panel p{margin:0;line-height:1.6}
.local-panel-title{display:flex;align-items:center;gap:1rem}
.local-step{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.82rem;font-weight:750;border:1px solid var(--border,#334155);border-radius:10px;min-width:2.7rem;height:2.7rem;color:var(--accent,#22d3ee)}
.local-secret-area{display:flex;flex-direction:column;gap:.6rem}
.local-secret{width:100%;font:600 .85rem/1.5 ui-monospace,monospace;letter-spacing:.05em;border:1px solid var(--accent,#22d3ee);border-radius:10px;padding:.85rem;background:var(--bg-base,#0a0e14);color:var(--text-primary,#e6edf3)}
.local-instructions{border-top:1px solid var(--border,#334155);padding-top:1rem;display:flex;flex-direction:column;gap:.8rem}
.local-instructions>code{display:block;overflow-wrap:anywhere;white-space:normal;background:var(--bg-base,#0a0e14);border-radius:9px;padding:.9rem;font-size:.83rem;line-height:1.5}
.local-device-card,.local-job{border:1px solid var(--border,#334155);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.55rem}
.local-device-info{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.local-pill{font-size:.72rem;font-weight:700;padding:.25rem .55rem;border-radius:99px;background:var(--bg-base,#0a0e14);border:1px solid var(--border,#334155)}
.local-approval{border-color:var(--accent,#22d3ee)}
.local-job{margin-bottom:.8rem}
.local-answer{border-radius:10px;background:var(--bg-base,#0a0e14);padding:1rem;line-height:1.65;overflow-wrap:anywhere;max-height:380px;overflow:auto}
.local-panel textarea{resize:vertical;min-height:140px}
@media(max-width:880px){.local-main-grid{grid-template-columns:minmax(0,1fr)}.local-panel{padding:1rem}}
@media(prefers-reduced-motion:reduce){.local-step{transition:none}}

/* Phase 08 — private memory/retention controls, shared dark/light design tokens */
.memory-layout{display:grid;grid-template-columns:minmax(270px,.92fr) minmax(0,1.3fr);align-items:start;gap:var(--space-4,16px);margin-bottom:18px}
.memory-layout>.card{min-width:0;margin:0}
.memory-layout h2,.memory-danger h2{font-size:1.15rem;margin:0 0 12px}
.memory-settings .stack,.memory-vault .stack,.memory-danger .stack{display:grid;gap:14px}
.memory-check{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:10px;cursor:pointer;color:var(--text-primary)}
.memory-check input{width:19px;height:19px;flex:none;accent-color:var(--accent);margin:3px 0 0}
.memory-check span{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.memory-check small{font-size:.79rem;color:var(--text-muted);line-height:1.5}
.memory-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.memory-vault textarea{resize:vertical;min-height:98px;width:100%}
.memory-list{display:grid;gap:16px;margin-top:16px}
.memory-entry{border-top:1px solid var(--border);padding-top:17px;display:grid;gap:13px}
.memory-entry form{margin:0}
.memory-entry .btn-danger,.memory-danger .btn-danger{justify-self:start}
.memory-danger{border-color:var(--border);margin-top:16px}
.memory-danger p,.memory-settings p{line-height:1.6}
.chat-archived-list{border-top:1px solid var(--border);padding-top:12px;margin-top:15px}
.chat-archived-list summary{padding:7px 3px;cursor:pointer;color:var(--accent);font-size:.84rem;font-weight:650}
.chat-archived-list nav{display:grid;gap:5px}
.chat-history>.btn{margin-top:16px}
.btn-danger{border:1px solid var(--danger,#ef4444);background:transparent;color:var(--danger,#ef4444)}
.btn-danger:hover,.btn-danger:focus-visible{background:var(--bg-elevated);filter:brightness(1.12)}
.memory-layout :is(input,textarea,select):focus-visible,.chat-archived-list summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:950px){.memory-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:550px){.memory-heading{flex-direction:column}.memory-entry .btn-danger,.memory-danger .btn-danger{width:100%}.memory-layout{gap:14px}}

/* Phase 09: readable tool workflow shared across light and dark modes */
.tool-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); gap:var(--space-4); margin-bottom:var(--space-4); }
.tool-list .card { margin:0; }
.tool-card { display:flex; flex-direction:column; justify-content:space-between; gap:var(--space-4); }
.tool-heading { display:flex; align-items:start; justify-content:space-between; gap:var(--space-3); flex-wrap:wrap; }
.tool-heading h2 { margin:0 0 var(--space-2); }
.tool-heading .muted { margin:0; }
.tool-hint { padding:12px; background:var(--bg-elevated); border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text-muted); font-size:.9rem; }
.tool-history { display:grid; gap:var(--space-4); }
.tool-request { border-top:1px solid var(--border); padding-top:var(--space-4); display:grid; gap:var(--space-3); min-width:0; }
.tool-request details { max-width:100%; }
.tool-request summary { cursor:pointer; color:var(--accent); font-weight:600; }
.tool-data { white-space:pre-wrap; overflow-wrap:anywhere; overflow:auto; font-size:.88rem; max-height:250px; background:var(--bg-elevated); color:var(--text-primary); border-radius:var(--radius-sm); border:1px solid var(--border); padding:12px; }
.tool-result { padding:var(--space-3); border:1px solid var(--border); border-radius:var(--radius-sm); }
.tool-actions { display:flex; align-items:end; gap:var(--space-3); flex-wrap:wrap; }
.tool-actions .stack { gap:var(--space-2); }
.tool-consent { display:flex; align-items:center; gap:8px; font-size:.9rem; }
.tool-small { border-top:1px solid var(--border); padding:var(--space-3) 0; display:flex; justify-content:space-between; gap:var(--space-3); flex-wrap:wrap; }
.tool-small p { margin:4px 0 0; }
.tool-card textarea { min-width:0; width:100%; font:inherit; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-base); color:var(--text-primary); padding:12px; resize:vertical; }
@media(max-width:600px) { .tool-actions>* { flex:1 1 100%; } .tool-actions .btn { width:100%; } }
@media(prefers-reduced-motion:reduce) { .tool-card, .tool-request { transition:none; } }
.tool-delete-form { border-top:1px dashed var(--border); padding-top:var(--space-3); display:flex; align-items:center; gap:var(--space-3); flex-wrap:wrap; }

/* Phase 10 — personal productivity / resilient mobile grids */
.productivity-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin-bottom:1.1rem;align-items:start}
.productivity-layout .card,.prod-list-panel{min-width:0}
.productivity-layout [data-schedule-fields]:not([hidden]),.productivity-layout [data-event-fields]:not([hidden]),.productivity-layout [data-repeat-fields]:not([hidden]){display:grid;gap:.7rem;margin-top:.8rem}
.prod-section-heading{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}
.prod-filter{display:flex;flex-wrap:wrap;gap:.35rem;max-width:100%}
.prod-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:1rem}
.prod-item{min-width:0;border:1px solid var(--border, #334155);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.9rem}
.prod-item h3{margin:.15rem 0 .45rem;overflow-wrap:anywhere}.prod-description{white-space:normal;overflow-wrap:anywhere}.prod-small{display:block;font-size:.82rem;margin-top:.35rem;overflow-wrap:anywhere}
.prod-item-top{display:flex;gap:1rem;justify-content:space-between}.prod-item-control{margin-top:auto;display:grid;gap:.8rem}.prod-item-control form{max-width:100%}
.prod-details{border-top:1px solid var(--border,#334155);padding-top:.8rem;max-width:100%}.prod-details>summary{cursor:pointer;font-weight:600;list-style:auto;padding:.35rem 0}.prod-details[open]>summary{margin-bottom:1rem}
.prod-delete{border-top:1px solid var(--border,#334155);margin-top:1rem;padding-top:1rem}.prod-notice{border-bottom:1px solid var(--border,#334155);padding:.85rem 0;display:grid;gap:.55rem}.prod-notice strong{display:block;overflow-wrap:anywhere}.prod-actions{display:flex;flex-wrap:wrap;gap:.35rem}.prod-empty{padding:1.1rem;border:1px dashed var(--border,#334155);border-radius:12px;overflow-wrap:anywhere}
@media(max-width:860px){.productivity-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:460px){.prod-filter .btn{font-size:.78rem}.prod-actions form{flex:0 1 auto}}
/* Phase 11 — knowledge UI, respecting existing dark/light semantic tokens. */
.kb-layout{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.35fr);gap:1rem;margin-bottom:1.25rem;align-items:start}
.kb-layout>.card{min-width:0}.kb-result{padding:1rem 0;border-top:1px solid var(--border,rgba(140,160,180,.28))}
.kb-result-head{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.kb-result p{white-space:normal;overflow-wrap:anywhere;line-height:1.65;font-size:.92rem}
.kb-search-actions,.kb-doc-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.kb-document{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border,rgba(140,160,180,.28))}
.kb-document:last-child{border-bottom:0}.kb-doc-info{min-width:0;overflow-wrap:anywhere}.kb-meta{font-size:.81rem;margin-top:.25rem}
.kb-delete{max-width:230px}.kb-delete summary{cursor:pointer;text-decoration:underline;outline-offset:4px}
.kb-delete .stack{margin-top:1rem}.kb-doc-actions form{margin:0}
@media(max-width:860px){.kb-layout{grid-template-columns:1fr}.kb-document{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.kb-layout *{scroll-behavior:auto!important}}
.kb-chat-optin{display:flex;gap:.6rem;align-items:flex-start;line-height:1.45;font-size:.89rem;cursor:pointer}
.kb-chat-optin input{margin-top:.3rem;flex-shrink:0}
.kb-chat-sources{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.65rem 0;font-size:.83rem;overflow-wrap:anywhere}
.kb-chat-sources a{text-decoration:underline;text-underline-offset:2px}
.kb-chat-sources a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Phase 12: user-initiated browser speech; consistent with existing chat controls. */
.voice-studio{border:1px solid var(--border,#2d3e50);border-radius:14px;padding:16px;display:grid;gap:10px;background:var(--bg-surface,#111820)}
.voice-studio-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.voice-tag{font-size:.76rem;border:1px solid var(--border,#2d3e50);border-radius:30px;padding:3px 10px;color:var(--text-muted,#9bafc2)}
.voice-consent{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.5;cursor:pointer}
.voice-consent input{flex-shrink:0;margin-top:4px;accent-color:var(--accent,#22d3ee)}
.voice-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.voice-actions .btn{white-space:normal;min-height:38px}
.voice-actions button[disabled]{opacity:.48;cursor:not-allowed}
.voice-preferences{display:grid;gap:12px;padding:16px;border:1px solid var(--border,#2d3e50);border-radius:14px;margin-top:12px}
.voice-prefs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.voice-prefs-footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.voice-studio :focus-visible,.voice-preferences :focus-visible{outline:2px solid var(--accent,#22d3ee);outline-offset:3px}
@media(max-width:620px){.voice-prefs-grid{grid-template-columns:1fr}.voice-actions .btn{flex:1 1 130px}}
@media(prefers-reduced-motion:reduce){.voice-studio *,.voice-preferences *{animation:none!important;transition:none!important}}

/* Phase 13: optional foreground wake phrase controls, aligned with the Phase12 design tokens. */
.voice-wake-panel{display:grid;gap:9px;margin-top:10px;padding:13px;border-radius:12px;border:1px solid var(--border,#35465a);background:var(--bg-elevated,rgba(37,67,89,.08))}
.voice-wake-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px}
.voice-wake-state{min-height:1.4em;margin:0}
.voice-wake-preferences{display:grid;gap:12px;padding:14px;border:1px solid var(--border,#2d3e50);border-radius:12px}
.voice-wake-preferences .field{min-width:0}
.voice-wake-panel :focus-visible,.voice-wake-preferences :focus-visible{outline:2px solid var(--accent,#22d3ee);outline-offset:3px}
@media(max-width:620px){.voice-wake-panel .voice-actions .btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.voice-wake-panel *{animation:none!important;transition:none!important}}
/* Phase 16: compact action workflow cards share the canonical responsive dashboard. */
.pc-state-row{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.15rem 0}.pc-state{display:inline-flex;align-items:center;border:1px solid var(--border,#52616f);border-radius:999px;padding:.32rem .8rem;font-size:.78rem;font-weight:650}.pc-state.is-on{border-color:#36c6a6;color:#36c6a6}.pc-state.is-off{color:var(--muted,#94a3b8)}.pc-grid{align-items:start}.pc-step{border:1px solid var(--border,#334155);border-radius:.7rem;padding:.8rem;margin:1rem 0;min-width:0}.pc-step legend{font-weight:700;padding:0 .4rem}.pc-step .field{margin:.45rem 0}.pc-step input,.pc-step textarea,.pc-step select{max-width:100%;width:100%;box-sizing:border-box}.pc-job{padding:1rem 0;border-bottom:1px solid var(--border,#334155)}.pc-step-list{padding-left:1.5rem;overflow-wrap:anywhere}.pc-actions{display:flex;flex-wrap:wrap;align-items:end;gap:.8rem}.pc-admin-card{max-width:680px;padding:1.5rem}.pc-admin-card form{margin-top:1.4rem}@media(max-width:680px){.pc-actions{display:block}.pc-step{padding:.7rem}.pc-job{word-break:break-word}.pc-admin-card{padding:1rem}}
/* Phase 17: responsive, token-aware marketplace cards */
.integration-market-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,295px),1fr));gap:1rem;align-items:start;margin-block:1.5rem}
.integration-tile{min-width:0;overflow-wrap:anywhere}
.integration-tile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.integration-scope{display:block;padding:.42rem 0;cursor:pointer}
.integration-tile fieldset{border:1px solid var(--border,#5b6575);border-radius:10px;padding:1rem;min-width:0}
.integration-tile details{margin-block:1rem}
.integration-tile input,.integration-tile select{max-width:100%}
/* Phase 19: readable multi-agent handoffs on desktop and compact screens. */
.agent-output{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;max-height:24rem;overflow:auto;font:inherit;line-height:1.55;padding:1rem;border-radius:.8rem;background:var(--surface-elevated,var(--surface,rgba(128,128,128,.08)));border:1px solid var(--line,rgba(128,128,128,.25));}
@media(max-width:720px){.agent-output{font-size:.88rem;max-height:18rem}section.card.stack{min-width:0}}
/* Phase 20: predictable, keyboard-friendly schedule cards and readable alert content. */
.schedule-form-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem}
.schedule-form-pair .field{min-width:0}.schedule-form-pair input{max-width:100%;width:100%;box-sizing:border-box}
.schedule-list{display:flex;flex-direction:column;gap:.25rem}
.schedule-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--border,rgba(140,160,180,.25));min-width:0}
.schedule-item>div:first-child{flex:1 1 290px;min-width:0}.schedule-description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:70ch}
.schedule-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.7rem;min-width:0}.schedule-actions form{max-width:100%}.schedule-delete{min-width:min(100%,210px)}
.schedule-delete input{width:100%;box-sizing:border-box}.schedule-item .muted{overflow-wrap:anywhere}
#schedule-agent-workflow[hidden]{display:none!important}
@media(max-width:690px){.schedule-item{display:block}.schedule-actions{margin-top:1rem}.schedule-actions form{flex:1 1 auto}}

/* Phase21 billing: stable tables and printer-friendly commercial records. */
.table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.table-scroll .table { min-width:590px; }
@media (max-width:700px) {
 .plan-stat-grid, .local-main-grid.pc-grid { grid-template-columns:minmax(0,1fr); }
 .plan-stat-grid .card, .local-main-grid .card { min-width:0; overflow-wrap:anywhere; }
}
@media print {
 .sidebar,.topbar,.theme-toggle,.page-heading .btn,form,.planned-nav { display:none!important; }
 .workspace,.container,.app-shell { display:block!important; width:100%!important;max-width:100%!important;overflow:visible!important; }
 body { background:white!important;color:#111!important; }
 .card { box-shadow:none!important;border:1px solid #aaa!important;page-break-inside:avoid; }
 .table-scroll { overflow:visible!important; }
}

/* Phase 22: operations console, compact and readable in both themes */
.ops-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(156px,1fr));gap:12px;margin-bottom:20px}
.ops-kpi{display:flex;flex-direction:column;gap:5px;min-width:0;margin-bottom:0;padding:18px}
.ops-kpi strong{font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.15;font-variant-numeric:tabular-nums}
.ops-small-link{font-size:.82rem;margin-top:auto}
.ops-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:12px}
.ops-health-grid>div{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--border);padding:12px;border-radius:var(--radius-sm)}
.ops-tag{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:4px 9px;color:var(--text-muted);font-size:.78rem;white-space:nowrap}
.ops-tag-danger{border-color:var(--danger);color:var(--danger)}
.ops-tag-ok{border-color:var(--success);color:var(--success)}
.ops-inline-form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;max-width:340px}
.ops-inline-form .field{flex:1 1 150px;min-width:0}
.ops-inline-form input,.ops-inline-form select{max-width:100%;width:100%}
.ops-incident-form{align-items:end}
.ops-incident-form .btn{align-self:end}
.ops-audit-filter{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.ops-audit-filter .field{min-width:180px}
.ops-quicklinks{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:640px){.ops-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-inline-form{min-width:240px}.ops-health-grid{grid-template-columns:1fr}}

.ops-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}
.ops-feature{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}
.ops-feature strong{flex:1 1 110px}

/* Phase 23 · tenant owner control room. Quiet cyan detail, card surfaces and stable mobile flow. */
.tenant-console-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:12px;margin:16px 0 22px}
.tenant-console-kpis>.card{display:flex;flex-direction:column;gap:6px;padding:18px;min-width:0;margin:0;border-top:2px solid var(--accent)}
.tenant-console-kpis strong{font-size:clamp(1.4rem,2.3vw,1.9rem);font-variant-numeric:tabular-nums;line-height:1.15;overflow-wrap:anywhere}
.tenant-console-kpis strong small{font-size:.75rem;font-weight:450}
.tenant-console-kpis a{font-size:.8rem;margin-top:auto}
.tenant-kpi-label{font-size:1.25rem!important}
.tenant-console-columns{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:16px;align-items:start;margin-bottom:18px}
.tenant-console-panel{min-width:0;margin:0;padding:20px}
.tenant-console-panel input,.tenant-console-panel select{max-width:100%;width:100%;min-width:0;box-sizing:border-box}
.tenant-console-form{gap:13px}.tenant-console-budget{border-top:1px solid var(--border);padding-top:14px}
.tenant-console-budget p{margin-top:5px;line-height:1.55}
.tenant-console-links{display:grid;gap:8px}
.tenant-console-link{display:grid;grid-template-columns:1fr auto;gap:4px 12px;border:1px solid var(--border);padding:12px;border-radius:var(--radius-sm);text-decoration:none;color:var(--text-primary);transition:border-color .15s ease,background .15s ease}
.tenant-console-link:hover,.tenant-console-link:focus-visible{border-color:var(--accent);background:var(--bg-elevated)}
.tenant-console-link:focus-visible,.tenant-console-panel :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.tenant-console-link strong{grid-column:1;font-size:.92rem}
.tenant-console-link small{grid-column:1;color:var(--text-muted);line-height:1.45}
.tenant-console-link>span{grid-column:2;grid-row:1/3;color:var(--accent);align-self:center;font-size:1.1rem}
.tenant-console-side-note{margin-top:16px;padding:12px;border-left:3px solid var(--accent);color:var(--text-muted);font-size:.83rem;line-height:1.6}
.tenant-console-report{min-width:0;padding:20px}
.tenant-console-month{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-block:15px}
.tenant-console-month .field{min-width:min(100%,215px)}
.tenant-console-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;margin-bottom:18px}
.tenant-console-summary>div{min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px;display:grid;gap:5px}
.tenant-console-summary strong{font-size:1.15rem;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.tenant-console-wallets{display:flex;flex-wrap:wrap;gap:10px;margin-block:12px}
@media(max-width:940px){.tenant-console-columns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:630px){.tenant-console-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-console-panel,.tenant-console-report{padding:14px}.tenant-console-month .field{width:100%}.tenant-console-month .btn{width:100%}}
@media(max-width:360px){.tenant-console-kpis{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.tenant-console-link{transition:none}}
/* Phase 24: white-label studio; fluid two-column layout and long DNS token containment. */
.wl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-bottom:20px}
.wl-panel{min-width:0;margin-bottom:18px}.wl-panel .form-grid{gap:12px}
.wl-preview{display:flex;align-items:center;gap:16px;margin:18px 0;padding:18px;border:1px solid var(--border);background:var(--bg-elevated);border-radius:var(--radius)}
.wl-preview-mark{display:grid;place-items:center;width:60px;height:60px;min-width:60px;border-radius:18px;background:var(--accent);color:var(--accent-contrast);font-size:25px;font-weight:800}
.wl-preview strong{font-size:1.25rem}.wl-preview p{margin:4px 0 0}
.wl-dns{display:grid;grid-template-columns:85px minmax(0,1fr);gap:8px 12px;padding:14px;background:var(--bg-elevated);border-radius:var(--radius-sm);margin:10px 0 16px}
.wl-dns code{overflow-wrap:anywhere;word-break:break-word}.wl-panel .table-scroll{overflow-x:auto;max-width:100%}
@media(max-width:930px){.wl-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.wl-dns{grid-template-columns:1fr}.wl-preview{padding:12px}.wl-panel .form-grid{min-width:0}}

.wl-preview-image{object-fit:contain;width:60px;height:60px;border-radius:14px;background:var(--bg-surface)}
.wl-sidebar-logo{width:32px;height:32px;object-fit:contain;border-radius:8px}

/* Phase 26: keyboard landmarks, small-screen navigation, and overflow-safe content. */
.app-skip-link { position: fixed; top: -100px; left: 12px; z-index: 1000;
  padding: 11px 15px; color: var(--accent-contrast); background: var(--accent);
  border-radius: var(--radius-sm); }
.app-skip-link:focus-visible, .app-skip-link:focus { top: 10px; }
.mobile-menu-toggle { display: none; }
.workspace *, .card, .app-shell, .container { min-width: 0; }
:where(.workspace, .container, .card, .side-link, .topbar-label) { overflow-wrap: anywhere; }
:where(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
@media (max-width: 860px) {
  .js-enabled .mobile-menu-toggle { display: inline-flex; align-self: flex-start;
    min-height: 44px; align-items: center; margin-bottom: 6px; }
  .js-enabled .sidebar .side-nav { display: none; }
  .js-enabled .sidebar .side-nav.is-open { display: flex; }
  .js-enabled .sidebar .side-nav { max-height: min(65vh, 520px); overflow-y: auto;
    overscroll-behavior: contain; padding: 4px 1px 10px; }
  .js-enabled .sidebar .side-nav .side-link { flex: 1 1 100%; }
}
@media (max-width: 480px) {
  .topbar { align-items: flex-start; }
  .topbar nav { flex-wrap: wrap; }
  .container { padding-inline: 14px; }
}
@media (forced-colors: active) {
  :where(button, a, input, select, textarea):focus-visible { outline: 2px solid Highlight; }
}
/* Phase 28: readable, responsive research forms with bounded image previews. */
.research-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:1rem;margin-block:1rem;align-items:start}
.research-grid .card{min-width:0}.research-grid textarea{width:100%;max-width:100%;min-width:0}
.research-preview{display:block;max-width:100%;max-height:340px;object-fit:contain;border:1px solid var(--border,#727b8b);border-radius:.7rem}
.research-preview[hidden]{display:none}.research-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.research-result{white-space:normal;overflow-wrap:anywhere;max-width:100%;line-height:1.55}
.research-source{border-top:1px solid var(--border,#727b8b);padding-block:.75rem;overflow-wrap:anywhere}
@media(max-width:580px){.research-grid{grid-template-columns:minmax(0,1fr)}.research-actions .btn{flex:1 1 140px}}
