:root {
  --bg: #f3f7fb;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --text: #172033;
  --muted: #65738b;
  --border: #d9e2ec;
  --accent: #1565c0;
  --accent-soft: #e9f3ff;
  --success: #138a4b;
  --danger: #c62828;
  --shadow: 0 14px 36px rgba(27, 46, 74, 0.10);
}

html[data-theme="dark"] { --bg:#0f1724; --surface:#172133; --surface-soft:#202c40; --text:#ecf2f8; --muted:#aab6c7; --border:#33435a; --accent:#60a5fa; --accent-soft:#1d3553; --shadow:0 14px 36px rgba(0,0,0,.28); }
html[data-theme="blue"] { --bg:#eef6ff; --surface:#fff; --surface-soft:#f4f9ff; --text:#123052; --muted:#58728f; --border:#c9ddf3; --accent:#0b67c2; --accent-soft:#dceeff; }
html[data-theme="green"] { --bg:#eff8f2; --surface:#fff; --surface-soft:#f4fbf6; --text:#173c28; --muted:#5d7869; --border:#cfe4d5; --accent:#16814b; --accent-soft:#ddf4e5; }
html[data-theme="orange"] { --bg:#fff6eb; --surface:#fff; --surface-soft:#fffaf4; --text:#4a2a11; --muted:#80684f; --border:#ead7c2; --accent:#d56a08; --accent-soft:#ffead5; }
html[data-theme="red"] { --bg:#fff1f2; --surface:#fff; --surface-soft:#fff7f7; --text:#4a1820; --muted:#815a61; --border:#ebcbd0; --accent:#c52f43; --accent-soft:#ffe1e5; }

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--bg); color: var(--text); }
button, input, select, textarea { font: inherit; }
a { color: inherit; }

.panel, .mobile-panel { background: var(--surface); border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow); }
.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.panel-heading h2, .mobile-panel h2 { margin:0; font-size:18px; line-height:1.25; }
.help-button { width:30px; height:30px; border-radius:10px; border:1px solid var(--border); background:var(--surface-soft); color:var(--accent); font-weight:900; cursor:pointer; }
.status-ok { color:var(--success); }
.status-error { color:var(--danger); }
.decision-list { display:grid; gap:10px; }
.decision-item { display:flex; gap:10px; align-items:flex-start; padding:11px 12px; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); }
.decision-item > span { display:inline-flex; width:22px; height:22px; align-items:center; justify-content:center; flex:0 0 22px; border-radius:50%; background:var(--accent-soft); color:var(--accent); font-weight:900; }
.decision-item p { margin:0; line-height:1.42; }
.primary-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 18px; border-radius:12px; background:var(--accent); color:#fff; text-decoration:none; font-weight:800; }
.error-panel { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:16px; min-height:320px; }
.error-code { font-size:72px; font-weight:900; color:var(--accent); line-height:1; }

.help-overlay { position:fixed; inset:0; background:rgba(10,20,35,.42); z-index:90; }
.help-drawer { position:fixed; top:0; right:0; bottom:0; width:min(420px, 100vw); background:var(--surface); border-left:1px solid var(--border); box-shadow:-18px 0 50px rgba(0,0,0,.18); transform:translateX(105%); transition:transform .22s ease; z-index:100; }
.help-drawer.is-open { transform:translateX(0); }
.help-drawer-header { display:flex; justify-content:space-between; align-items:center; min-height:72px; padding:18px 20px; border-bottom:1px solid var(--border); }
.help-drawer-header h2 { margin:0; font-size:20px; }
.help-drawer-header button { width:34px; height:34px; border:0; border-radius:10px; background:var(--surface-soft); color:var(--text); font-size:24px; cursor:pointer; }
.help-drawer-body { padding:22px 20px; color:var(--muted); line-height:1.6; white-space:pre-wrap; }

.toast { position:fixed; top:18px; left:50%; transform:translate(-50%,-20px); opacity:0; z-index:120; padding:12px 18px; border-radius:12px; background:var(--accent); color:#fff; font-weight:800; box-shadow:var(--shadow); transition:.2s ease; }
.toast.is-visible { transform:translate(-50%,0); opacity:1; }

.muted-text { margin:6px 0 0; color:var(--muted); font-size:13px; }
.secondary-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 18px; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); color:var(--text); text-decoration:none; font-weight:800; cursor:pointer; }
.secondary-button:hover { border-color:var(--accent); color:var(--accent); }
.inline-form { margin-top:14px; }

.auth-card-header { margin-bottom:20px; }
.auth-card-header.centered { text-align:center; }
.auth-card-header h1, .auth-card-header h2 { margin:0 0 7px; font-size:27px; line-height:1.2; }
.auth-card-header p { margin:0; color:var(--muted); line-height:1.5; }
.auth-form { display:grid; gap:15px; }
.form-grid { display:grid; gap:14px; }
.form-grid.two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
.field { display:grid; gap:7px; }
.field > span { font-size:13px; font-weight:800; }
.field input, .field select, .field textarea { width:100%; min-height:44px; border:1px solid var(--border); border-radius:11px; background:var(--surface); color:var(--text); padding:10px 12px; outline:none; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.field small { color:var(--muted); font-size:12px; line-height:1.35; }
.check-field { display:flex; align-items:flex-start; gap:10px; color:var(--text); font-size:13px; line-height:1.45; cursor:pointer; }
.check-field input { width:18px; height:18px; margin:1px 0 0; flex:0 0 18px; accent-color:var(--accent); }
.form-submit { width:100%; border:0; cursor:pointer; }
.form-alert { padding:12px 14px; border-radius:12px; margin-bottom:16px; font-size:13px; font-weight:750; line-height:1.45; }
.form-alert-error { border:1px solid color-mix(in srgb, var(--danger) 32%, var(--border)); background:color-mix(in srgb, var(--danger) 8%, var(--surface)); color:var(--danger); }
.trial-warning { display:grid; gap:4px; padding:12px 14px; border:1px solid var(--accent); border-radius:12px; background:var(--accent-soft); }
.trial-warning strong { color:var(--accent); font-size:13px; }
.trial-warning span { font-size:12px; line-height:1.45; }
.auth-card-footer { margin-top:18px; padding-top:16px; border-top:1px solid var(--border); text-align:center; color:var(--muted); font-size:13px; }
.auth-card-footer a { color:var(--accent); font-weight:800; text-decoration:none; }
.auth-version { color:var(--muted); font-size:11px; text-align:center; margin-top:14px; }
.result-icon { width:64px; height:64px; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; border-radius:20px; background:var(--accent-soft); color:var(--accent); font-size:30px; font-weight:900; }
.result-icon.result-error { background:color-mix(in srgb, var(--danger) 12%, var(--surface)); color:var(--danger); }
.email-chip { margin:0 auto 16px; width:max-content; max-width:100%; padding:8px 12px; border-radius:999px; background:var(--surface-soft); border:1px solid var(--border); font-size:13px; font-weight:800; overflow-wrap:anywhere; }
.compact-form { margin-top:16px; }

/* Niche setup wizard */
.wizard-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.wizard-header h2 { margin:4px 0 6px; font-size:23px; }
.wizard-header p { margin:0; color:var(--muted); line-height:1.5; }
.wizard-kicker { color:var(--accent); font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.wizard-progress { display:grid; grid-template-columns:repeat(9,minmax(28px,1fr)); gap:8px; margin:0 0 20px; }
.wizard-progress-item { position:relative; min-height:8px; border-radius:999px; background:var(--border); text-decoration:none; }
.wizard-progress-item span { position:absolute; top:-24px; left:50%; transform:translateX(-50%); width:22px; height:22px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--surface-soft); border:1px solid var(--border); color:var(--muted); font-size:10px; font-weight:900; }
.wizard-progress-item.is-current, .wizard-progress-item.is-complete { background:var(--accent); }
.wizard-progress-item.is-current span, .wizard-progress-item.is-complete span { background:var(--accent); border-color:var(--accent); color:#fff; }
.wizard-form { display:grid; gap:16px; }
.wizard-form textarea { resize:vertical; min-height:110px; line-height:1.45; }
.form-grid.three-columns { grid-template-columns:repeat(3,minmax(0,1fr)); }
.short-field { max-width:260px; }
.wizard-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:6px; }
.wizard-actions .primary-button { border:0; cursor:pointer; }
.final-actions { margin-top:18px; }
.summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.summary-card { padding:14px; border:1px solid var(--border); border-radius:14px; background:var(--surface-soft); min-width:0; }
.summary-card > span { display:block; margin-bottom:7px; color:var(--muted); font-size:12px; font-weight:800; }
.summary-card strong { display:block; margin-bottom:7px; font-size:16px; }
.summary-card p { margin:0 0 7px; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.45; }
.summary-card small { color:var(--muted); }
.wizard-final-note, .queue-note { margin-top:16px; padding:13px 14px; border:1px solid var(--accent); border-radius:12px; background:var(--accent-soft); line-height:1.45; }
.queue-note { display:grid; gap:4px; }
.queue-note strong { color:var(--accent); }
.queue-note span { color:var(--muted); font-size:13px; }
.niche-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.niche-detail-head h2 { margin:8px 0 4px; font-size:24px; }
.niche-detail-head p { margin:0; color:var(--muted); }
.status-pill { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border-radius:999px; background:var(--surface-soft); border:1px solid var(--border); font-size:12px; font-weight:900; }
.status-pill.status-queued, .status-pill.status-active { color:var(--success); background:color-mix(in srgb,var(--success) 9%,var(--surface)); border-color:color-mix(in srgb,var(--success) 28%,var(--border)); }
.status-pill.status-not_started { color:#9b6500; background:#fff8e7; border-color:#f0c36a; }
.next-action { margin-top:12px; }
.mobile-full-button { width:100%; margin-top:12px; }
@media (max-width:760px) { .form-grid.two-columns, .form-grid.three-columns, .summary-grid { grid-template-columns:1fr; } .short-field { max-width:none; } }

/* Registration alignment */
.form-grid-note { display:block; margin-top:-8px; color:var(--muted); font-size:12px; line-height:1.35; }

/* Guided onboarding */
.onboarding { position:fixed; inset:0; z-index:200; }
.onboarding-backdrop { position:absolute; inset:0; background:rgba(8,18,34,.72); }
.onboarding-card { position:fixed; z-index:203; width:min(390px,calc(100vw - 28px)); padding:22px; border:1px solid var(--border); border-radius:18px; background:var(--surface); color:var(--text); box-shadow:0 24px 70px rgba(0,0,0,.35); }
.onboarding-card h2 { margin:4px 0 10px; font-size:23px; line-height:1.25; }
.onboarding-card p { margin:0; color:var(--muted); line-height:1.55; }
.onboarding-step-label { color:var(--accent); font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.onboarding-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:20px; }
.onboarding-actions > div { display:flex; gap:9px; }
.onboarding-actions .primary-button { border:0; cursor:pointer; }
.onboarding-link { border:0; background:transparent; color:var(--muted); padding:8px 0; cursor:pointer; font-weight:750; }
.onboarding-link:hover { color:var(--accent); }
.onboarding-highlight { position:relative !important; z-index:202 !important; box-shadow:0 0 0 5px var(--surface),0 0 0 9px var(--accent),0 12px 38px rgba(0,0,0,.35) !important; background:var(--surface) !important; color:var(--accent) !important; pointer-events:none; }
body.onboarding-open { overflow:hidden; }

/* Organization profile */
.organization-form { display:grid; gap:16px; max-width:1180px; margin:0 auto; }
.organization-panel { display:grid; gap:18px; }
.organization-fields { display:grid; gap:14px; }
.organization-fields textarea { resize:vertical; min-height:130px; line-height:1.5; }
.organization-span-two { grid-column:1 / -1; }
.organization-actions { display:flex; justify-content:flex-end; }
.organization-actions .primary-button { border:0; cursor:pointer; min-width:190px; }
.niche-detail-actions { display:flex; align-items:center; gap:10px; }

@media (max-width:760px) {
  .onboarding-card { padding:18px; }
  .onboarding-card h2 { font-size:20px; }
  .onboarding-actions { align-items:flex-end; }
  .onboarding-actions > div { flex-wrap:wrap; justify-content:flex-end; }
}

/* Patch 000.001.006: multiple niches and opportunities */
.niche-list-heading-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.niche-list-heading-actions form { margin:0; }
.niche-add-button { white-space:nowrap; }
.niche-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:16px; }
.niche-card { display:grid; gap:12px; padding:16px; border:1px solid var(--border); border-radius:15px; background:var(--surface-soft); min-width:0; }
.niche-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.niche-card h3 { margin:0; font-size:18px; line-height:1.3; }
.niche-card p { margin:0; color:var(--muted); line-height:1.48; white-space:pre-wrap; }
.niche-version { color:var(--muted); font-size:11px; }
.niche-card-meta { display:grid; gap:8px; }
.niche-card-meta span { display:grid; grid-template-columns:150px minmax(0,1fr); gap:10px; font-size:12px; }
.niche-card-meta strong { color:var(--muted); }
.niche-card-actions { display:flex; gap:9px; flex-wrap:wrap; margin-top:auto; }

.event-pill, .priority-pill { display:inline-flex; align-items:center; min-height:26px; padding:0 9px; border:1px solid var(--border); border-radius:999px; background:var(--surface-soft); font-size:11px; font-weight:850; white-space:nowrap; }
.event-pill { color:var(--accent); background:var(--accent-soft); border-color:color-mix(in srgb,var(--accent) 28%,var(--border)); }
.priority-high { color:#b42318; background:#fff1f0; border-color:#f7c8c4; }
.priority-medium { color:#9a5b00; background:#fff8e6; border-color:#f3d694; }
.priority-low { color:#37606f; background:#eff7fa; border-color:#c9e0e8; }
.status-pill.status-new { color:var(--accent); background:var(--accent-soft); border-color:color-mix(in srgb,var(--accent) 28%,var(--border)); }
.status-pill.status-viewed { color:#53657a; }
.status-pill.status-in_work, .status-pill.status-contacted, .status-pill.status-replied { color:#8a5800; background:#fff8e6; border-color:#f3d694; }
.status-pill.status-deferred { color:#6b5c8f; background:#f6f1ff; border-color:#ddd0f5; }
.status-pill.status-irrelevant { color:var(--danger); background:color-mix(in srgb,var(--danger) 8%,var(--surface)); border-color:color-mix(in srgb,var(--danger) 25%,var(--border)); }
.status-pill.status-deal { color:var(--success); background:color-mix(in srgb,var(--success) 9%,var(--surface)); border-color:color-mix(in srgb,var(--success) 28%,var(--border)); }

.back-link { display:inline-flex; align-items:center; gap:6px; color:var(--accent); text-decoration:none; font-weight:800; }
.danger-outline { color:var(--danger); border-color:color-mix(in srgb,var(--danger) 30%,var(--border)); }
.copy-box { display:grid; gap:12px; }
.copy-box p { margin:0; padding:14px; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); white-space:pre-wrap; line-height:1.55; }
.copy-box .secondary-button { justify-self:start; }
.detail-list { display:grid; grid-template-columns:150px minmax(0,1fr); gap:9px 14px; margin:0 0 14px; }
.detail-list dt { color:var(--muted); font-size:12px; }
.detail-list dd { margin:0; overflow-wrap:anywhere; line-height:1.45; }
.history-list { display:grid; gap:9px; }
.history-list > div { display:grid; grid-template-columns:145px 130px minmax(0,1fr); gap:10px; padding:10px 12px; border:1px solid var(--border); border-radius:11px; background:var(--surface-soft); }
.history-list span { color:var(--muted); font-size:12px; }
.history-list p { margin:0; }
.empty-state { display:flex; min-height:180px; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--muted); }
.empty-state strong { color:var(--text); font-size:18px; }
.empty-state p { max-width:560px; line-height:1.5; }
.table-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:12px; color:var(--muted); font-size:12px; }

/* Unified table paginator: first two + current neighbourhood + last two pages. */
.table-pagination-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-width:0;
  max-width:100%;
  padding-top:12px;
  color:var(--muted);
  font-size:13px;
}
.table-pagination-summary {
  flex:1 1 auto;
  min-width:0;
}
.table-pagination {
  display:flex;
  flex:0 1 auto;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  min-width:0;
  max-width:100%;
}
.table-pagination a,
.table-pagination-page,
.table-pagination-nav {
  box-sizing:border-box;
  min-width:31px;
  height:31px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-soft);
  color:var(--accent);
  text-decoration:none;
  font-weight:750;
  white-space:nowrap;
}
.table-pagination a:hover {
  border-color:var(--accent);
  background:var(--accent-soft);
}
.table-pagination-page {
  padding:0 7px;
}
.table-pagination-page.is-active {
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
}
.table-pagination-nav {
  min-width:auto;
  padding:0 10px;
}
.table-pagination-nav.is-disabled {
  opacity:.45;
  cursor:default;
}
.table-pagination-gap {
  min-width:18px;
  text-align:center;
  color:var(--muted);
  font-weight:750;
}

@media (max-width:720px) {
  .table-pagination-footer {
    align-items:flex-start;
    flex-direction:column;
    gap:9px;
  }
  .table-pagination {
    width:100%;
    justify-content:flex-start;
    overflow-x:auto;
    padding-bottom:2px;
  }
}

.dashboard-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:16px; }
.dashboard-kpi { padding:15px; border:1px solid var(--border); border-radius:14px; background:var(--surface-soft); }
.dashboard-kpi span { display:block; color:var(--muted); font-size:12px; }
.dashboard-kpi strong { display:block; margin-top:7px; font-size:28px; }
.recent-opportunities { display:grid; gap:9px; margin-top:14px; }
.recent-opportunity { display:grid; grid-template-columns:130px minmax(0,1fr) 110px; gap:12px; align-items:center; padding:11px 12px; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); text-decoration:none; }
.recent-opportunity time { color:var(--muted); font-size:12px; }
.recent-opportunity strong { display:block; }
.recent-opportunity small { display:block; margin-top:4px; color:var(--muted); }

@media (max-width:900px) {
  .niche-cards, .dashboard-kpis { grid-template-columns:1fr; }
  .niche-card-meta span, .detail-list { grid-template-columns:1fr; gap:4px; }
  .history-list > div, .recent-opportunity { grid-template-columns:1fr; }
}

/* Patch 000.001.007: leadership buy-in assistant */
.buyin-warning {
  padding: 11px 13px;
  border: 1px solid #f0c36a;
  border-radius: 12px;
  background: #fff8e6;
  color: #7a4a00;
  font-size: 12px;
  line-height: 1.45;
}
.buyin-preview {
  color: var(--text);
  line-height: 1.58;
  overflow-wrap: anywhere;
}
.buyin-preview h1 { margin: 0 0 18px; font-size: 26px; line-height: 1.2; color: var(--accent); }
.buyin-preview h2 { margin: 24px 0 10px; font-size: 19px; line-height: 1.3; }
.buyin-preview h3 { margin: 18px 0 8px; font-size: 16px; line-height: 1.35; color: color-mix(in srgb,var(--accent) 80%,var(--text)); }
.buyin-preview p { margin: 0 0 11px; }
.buyin-preview ul, .buyin-preview ol { margin: 0 0 13px 22px; padding: 0; }
.buyin-preview li { margin: 0 0 5px; }
.buyin-preview code { padding: 2px 5px; border-radius: 5px; background: var(--surface-soft); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.buyin-preview a { color: var(--accent); }
.buyin-objections-grid { display: grid; gap: 9px; }
.buyin-objections-grid details { border: 1px solid var(--border); border-radius: 12px; background: var(--surface-soft); }
.buyin-objections-grid summary { padding: 12px 14px; cursor: pointer; font-weight: 800; }
.buyin-objections-grid p { margin: 0; padding: 0 14px 14px; color: var(--muted); line-height: 1.5; }
.buyin-document-form textarea { resize: vertical; line-height: 1.5; }
.buyin-document-form textarea[name="markdown_content"] { min-height: 520px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 13px; }
.buyin-document-form textarea[name="short_message"] { min-height: 145px; }
.buyin-document-buttons { display: flex; gap: 9px; flex-wrap: wrap; justify-content: flex-end; }
.buyin-document-buttons button { border: 0; cursor: pointer; }
.buyin-document-buttons .secondary-button { border: 1px solid var(--border); }
.buyin-history-list { display: grid; gap: 8px; }
.buyin-history-list a { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 12px; padding: 11px 12px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-soft); color: var(--text); text-decoration: none; }
.buyin-history-list a.is-active { border-color: var(--accent); background: var(--accent-soft); }
.buyin-history-list a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.buyin-history-list a strong { color: var(--accent); }
.full-width { width: 100%; justify-content: center; }

.field-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 22px;
}
.field-label-row > span { min-width: 0; }
.field-help-button {
  flex: 0 0 auto;
width:20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--surface);
  color: var(--accent);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}
.field-help-button:hover { border-color: var(--accent); background: var(--accent-soft); }
.buyin-generation-panel { padding: 18px; }
.buyin-generation-state { display: flex; align-items: center; gap: 14px; }
.buyin-generation-state h2 { margin: 0 0 5px; }
.buyin-generation-state p { margin: 0; color: var(--muted); }
.buyin-generation-panel.is-failed { border-color: color-mix(in srgb,var(--danger) 55%,var(--border)); }
.buyin-spinner {
width:30px;
  height: 30px;
  flex: 0 0 30px;
  border: 3px solid var(--border);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: buyin-spin .85s linear infinite;
}
@keyframes buyin-spin { to { transform: rotate(360deg); } }

/* Patch 000.001.012: dismissible page notifications */
.page-notification-stack {
  position: fixed;
  z-index: 82;
  display: grid;
  gap: 10px;
  pointer-events: none;
}
.page-notification-stack[hidden] { display: none; }
.page-notification {
  position: relative;
  overflow: hidden;
  padding: 14px 42px 14px 15px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
  color: var(--text);
  box-shadow: 0 16px 42px rgba(20, 42, 68, .18);
  pointer-events: auto;
  animation: page-notification-in .2s ease-out both;
  transition: opacity .18s ease, transform .18s ease;
}
.page-notification.is-closing { opacity: 0; transform: translateX(18px); }
.page-notification-content { display: flex; align-items: flex-start; gap: 11px; min-width: 0; }
.page-notification-content > div { display: grid; gap: 4px; min-width: 0; }
.page-notification-content strong { font-size: 14px; line-height: 1.3; }
.page-notification-content span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.page-notification-close {
  position: absolute;
  top: 8px;
  right: 8px;
width:28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.page-notification-close:hover { background: var(--surface-soft); color: var(--text); }
.page-notification-info { border-color: color-mix(in srgb, var(--accent) 38%, var(--border)); background: color-mix(in srgb, var(--accent-soft) 58%, var(--surface)); }
.page-notification-success { border-color: color-mix(in srgb, var(--success) 40%, var(--border)); background: color-mix(in srgb, var(--success) 8%, var(--surface)); }
.page-notification-warning { border-color: #e7bd59; background: color-mix(in srgb, #fff4c8 72%, var(--surface)); }
.page-notification-error { border-color: color-mix(in srgb, var(--danger) 42%, var(--border)); background: color-mix(in srgb, var(--danger) 7%, var(--surface)); }
.page-notification-list ul { max-height: 180px; overflow: auto; margin: 5px 0 0 17px; padding: 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.page-notification-list li + li { margin-top: 4px; }
.history-scan-availability-line { margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.4; }
@keyframes page-notification-in { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: translateX(0); } }
.form-alert-warning { border:1px solid #e7c36d; background:#fff8dc; color:#7a5700; }

/* Patch 000.001.026: truthful Gateway monitoring */
.monitoring-strip {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
min-width:0;
  margin-top:14px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface-soft);
}
.monitoring-state { display:flex; align-items:flex-start; gap:10px; min-width:0; }
.monitoring-state > div { min-width:0; }
.monitoring-state strong, .monitoring-state span { display:block; }
.monitoring-state strong { font-size:13px; }
.monitoring-state span { margin-top:3px; color:var(--muted); font-size:11px; line-height:1.4; }
.monitoring-dot { flex:0 0 auto; width:10px; height:10px; margin-top:3px; border-radius:50%; background:var(--muted); box-shadow:0 0 0 4px color-mix(in srgb,var(--muted) 12%,transparent); }
.monitoring-values { display:flex; align-items:center; justify-content:flex-end; gap:18px; min-width:0; }
.monitoring-values > span { display:grid; gap:2px; min-width:76px; }
.monitoring-values small { color:var(--muted); font-size:10px; white-space:nowrap; }
.monitoring-values strong { font-size:13px; white-space:nowrap; }
.monitoring-active { border-color:color-mix(in srgb,var(--success) 32%,var(--border)); background:color-mix(in srgb,var(--success) 6%,var(--surface)); }
.monitoring-active .monitoring-dot { background:var(--success); box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 14%,transparent); }
.monitoring-checking, .monitoring-partial { border-color:#f0c36a; background:#fffaf0; }
.monitoring-checking .monitoring-dot, .monitoring-partial .monitoring-dot { background:#d88a00; box-shadow:0 0 0 4px rgba(216,138,0,.13); }
.monitoring-delayed, .monitoring-error, .monitoring-unavailable { border-color:color-mix(in srgb,var(--danger) 28%,var(--border)); background:color-mix(in srgb,var(--danger) 6%,var(--surface)); }
.monitoring-delayed .monitoring-dot, .monitoring-error .monitoring-dot, .monitoring-unavailable .monitoring-dot { background:var(--danger); box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 12%,transparent); }
.monitoring-paused .monitoring-dot, .monitoring-not_configured .monitoring-dot { background:var(--muted); }

@media (max-width:900px) {
  .monitoring-strip { align-items:stretch; flex-direction:column; gap:11px; }
  .monitoring-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 14px; justify-content:stretch; }
  .monitoring-values > span { min-width:0; }
  .monitoring-values small, .monitoring-values strong { white-space:normal; }
}


/* Patch 000.001.036: reusable niche templates. */
.niche-template-picker {
  display:grid;
  gap:12px;
  margin:0 0 18px;
  padding:16px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface-soft);
}
.niche-template-picker-copy { display:grid; gap:4px; }
.niche-template-picker-copy strong { font-size:16px; }
.niche-template-picker-copy p,
.niche-template-picker > small { margin:0; color:var(--muted); line-height:1.45; }
.niche-template-form {
  display:grid;
grid-template-columns:minm…to;
  gap:12px;
  align-items:end;
}
.niche-template-form .field { margin:0; }
@media (max-width:760px) {
  .niche-template-form { grid-template-columns:1fr; }
  .niche-template-form .secondary-button { width:100%; }
}

/* Patch 000.001.038: administrator-managed niche templates and draft deletion */
.niche-template-admin { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:18px; padding:16px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border)); border-radius:14px; background:var(--accent-soft); }
.niche-template-admin-copy { display:grid; gap:5px; min-width:0; }
.niche-template-admin-copy strong { font-size:14px; }
.niche-template-admin-copy span { color:var(--muted); font-size:12px; line-height:1.45; }
.niche-template-admin-form { display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.switch-control { display:inline-flex; align-items:center; gap:9px; cursor:pointer; font-size:13px; font-weight:800; }
.switch-control input { position:absolute; opacity:0; pointer-events:none; }
.switch-control-track { position:relative; width:42px; height:24px; border:1px solid var(--border); border-radius:999px; background:var(--surface); transition:.18s ease; }
.switch-control-track::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:var(--muted); transition:.18s ease; }
.switch-control input:checked + .switch-control-track { border-color:var(--accent); background:var(--accent); }
.switch-control input:checked + .switch-control-track::after { transform:translateX(18px); background:#fff; }
.switch-control input:focus-visible + .switch-control-track { outline:3px solid color-mix(in srgb,var(--accent) 24%,transparent); outline-offset:2px; }
.status-pill.status-template { color:var(--accent); background:var(--accent-soft); border-color:color-mix(in srgb,var(--accent) 30%,var(--border)); }
.niche-card-actions form { margin:0; }
.niche-list-empty { grid-column:1 / -1; border:1px dashed var(--border); border-radius:15px; background:var(--surface-soft); }

@media (max-width:760px) {
  .niche-template-admin { align-items:stretch; flex-direction:column; }
  .niche-template-admin-form { align-items:stretch; flex-direction:column; }
  .niche-template-admin-form .secondary-button { width:100%; }
}
.wizard-header-actions { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.wizard-header-actions form { margin:0; }
@media (max-width:760px) {
  .wizard-header-actions { align-items:flex-end; flex-direction:column-reverse; }
  .wizard-header-actions .secondary-button { min-height:38px; padding:8px 11px; font-size:12px; }
}


/* Patch 000.001.042: organization field validation and required markers. */
.organization-required-hint {
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}
.organization-required-hint span,
.required-marker {
  color:var(--danger);
  font-weight:900;
}
.required-marker { margin-left:2px; }
.field.has-error input,
.field.has-error select,
.field.has-error textarea {
  border-color:var(--danger);
  background:color-mix(in srgb,var(--danger) 4%,var(--surface));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 10%,transparent);
}
.field .field-error {
  color:var(--danger);
  font-size:12px;
  font-weight:750;
  line-height:1.35;
}

/* Patch 000.001.041/042: email verification and service-mail status. */
.email-verification-banner {
  display:flex;
  align-items:center;
  gap:10px;
width:100%;
  min-height:56px;
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid #e5ba58;
  border-radius:13px;
  background:color-mix(in srgb,#fff2c7 72%,var(--surface));
}
.email-verification-banner-icon {
  display:flex;
  align-items:center;
  justify-content:center;
width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:10px;
  background:var(--surface);
  color:#9c6700;
  font-size:17px;
}
.email-verification-banner-copy {
  display:grid;
  gap:2px;
min-width:0;
  flex:1 1 auto;
}
.email-verification-banner-copy strong { font-size:13px; line-height:1.3; }
.email-verification-banner-copy span {
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.email-verification-banner-form { margin:0; flex:0 0 auto; }
.email-verification-banner-form .secondary-button {
  min-height:36px;
  padding:0 13px;
  border-radius:10px;
  white-space:nowrap;
  font-size:12px;
}

@media (max-width:760px) {
  .email-verification-banner {
    align-items:stretch;
    flex-direction:column;
    margin:0 0 12px;
    padding:12px;
  }
  .email-verification-banner-icon { display:none; }
  .email-verification-banner-form .secondary-button { width:100%; }
}


/* Opportunity feedback: user-controlled refinement of niche rules. */
.opportunity-feedback-dialog {
  width:min(760px, calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  padding:0;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface);
  color:var(--text);
  box-shadow:0 24px 80px rgba(15, 23, 42, .24);
}
.opportunity-feedback-dialog[data-active-stage="result"] {
  width:min(1180px, calc(100vw - 48px));
}
.opportunity-feedback-dialog::backdrop { background:rgba(15, 23, 42, .48); }
.opportunity-feedback-shell {
  position:relative;
  box-sizing:border-box;
  max-height:calc(100vh - 32px);
  padding:26px;
  overflow-y:auto;
}
.opportunity-feedback-dialog[data-active-stage="result"] .opportunity-feedback-shell {
  display:flex;
  flex-direction:column;
  height:min(880px, calc(100vh - 32px));
  overflow:hidden;
}
.opportunity-feedback-shell h2 { margin:0 42px 10px 0; font-size:22px; line-height:1.25; }
.opportunity-feedback-shell h3 { margin:0 0 8px; font-size:16px; line-height:1.35; }
.opportunity-feedback-shell p { line-height:1.5; }
.opportunity-feedback-close {
  position:absolute; top:14px; right:14px; z-index:4; width:34px; height:34px; padding:0;
  border:1px solid var(--border); border-radius:10px; background:var(--surface-soft);
  color:var(--text); font-size:23px; line-height:1; cursor:pointer;
}
.opportunity-feedback-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.opportunity-feedback-reasons { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; margin:18px 0; }
.opportunity-feedback-reasons label {
  display:flex; align-items:flex-start; gap:9px; padding:10px 12px;
  border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); cursor:pointer;
}
.opportunity-feedback-reasons input { margin-top:3px; }
.opportunity-feedback-textarea { display:grid; gap:8px; font-weight:750; }
.opportunity-feedback-textarea textarea {
  min-height:132px; width:100%; resize:vertical; padding:12px 14px;
  border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--text);
  font:inherit; line-height:1.45;
}
.opportunity-feedback-processing-indicator {
  width:38px; height:38px; margin:2px 0 18px; border:4px solid var(--border);
  border-top-color:var(--accent); border-radius:50%; animation:opportunity-feedback-spin .8s linear infinite;
}
@keyframes opportunity-feedback-spin { to { transform:rotate(360deg); } }
.opportunity-feedback-result-stage {
  display:flex;
  flex:1 1 auto;
  min-height:0;
  flex-direction:column;
}
.opportunity-feedback-result-stage[hidden] { display:none; }
.opportunity-feedback-result-header { flex:0 0 auto; padding-right:2px; }
.opportunity-feedback-diagnosis,
.opportunity-feedback-summary {
  padding:12px 14px;
  margin-top:12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-soft);
}
.opportunity-feedback-diagnosis p,
.opportunity-feedback-summary p { margin:6px 0 0; }
.opportunity-feedback-change-list {
  display:grid;
  flex:1 1 auto;
  min-height:0;
  align-content:start;
  gap:10px;
  margin-top:14px;
  padding:0 8px 4px 0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.opportunity-feedback-change {
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface);
}
.opportunity-feedback-change.is-open { border-color:color-mix(in srgb,var(--accent) 42%,var(--border)); }
.opportunity-feedback-change-header {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
  padding:0 14px 0 0;
  background:var(--surface-soft);
}
.opportunity-feedback-change-toggle {
  display:flex;
  min-width:0;
  align-items:center;
  gap:10px;
  padding:13px 14px;
  border:0;
  background:transparent;
  color:var(--text);
  text-align:left;
  font:inherit;
  font-weight:850;
  cursor:pointer;
}
.opportunity-feedback-change-toggle:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:-2px;
  border-radius:12px;
}
.opportunity-feedback-change-number {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  height:30px;
  flex:0 0 30px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface);
  color:var(--accent);
  font-weight:900;
}
.opportunity-feedback-change-title {
  min-width:0;
  overflow-wrap:anywhere;
  line-height:1.35;
}
.opportunity-feedback-change-arrow {
  margin-left:auto;
  color:var(--muted);
  font-size:20px;
  line-height:1;
}
.opportunity-feedback-change-select {
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  font-weight:800;
  cursor:pointer;
}
.opportunity-feedback-change-select input { width:18px; height:18px; margin:0; }
.opportunity-feedback-review-status {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 10px;
  border:1px solid var(--border);
  border-radius:999px;
  white-space:nowrap;
  font-size:12px;
  font-weight:850;
}
.opportunity-feedback-review-status.is-no-change {
  border-color:color-mix(in srgb,var(--success) 38%,var(--border));
  background:color-mix(in srgb,var(--success) 10%,var(--surface));
  color:var(--success);
}
.opportunity-feedback-review-status.is-not-reviewed {
  border-color:color-mix(in srgb,#d97706 45%,var(--border));
  background:color-mix(in srgb,#d97706 11%,var(--surface));
  color:var(--warning-text, #92400e);
}
.opportunity-feedback-change.is-no-change { border-color:color-mix(in srgb,var(--success) 28%,var(--border)); }
.opportunity-feedback-change.is-not-reviewed { border-color:color-mix(in srgb,#d97706 36%,var(--border)); }
.opportunity-feedback-change-details {
  display:grid;
  gap:13px;
  padding:14px 16px 16px;
  border-top:1px solid var(--border);
  background:var(--surface);
}
.opportunity-feedback-change-details[hidden] { display:none; }
.opportunity-feedback-change-reason p { margin:6px 0 0; }
.opportunity-feedback-change-field ul { margin:7px 0 0; padding-left:20px; }
.opportunity-feedback-change-field li + li { margin-top:5px; }
.opportunity-feedback-result-footer {
  flex:0 0 auto;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--border);
  background:var(--surface);
}
.opportunity-feedback-result-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.opportunity-feedback-selection-summary,
.opportunity-feedback-confidence { margin:0; color:var(--muted); font-weight:750; }
.opportunity-feedback-result-footer .opportunity-feedback-actions { margin-top:12px; }
.opportunity-feedback-status {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  border-left:4px solid var(--accent);
}
.opportunity-feedback-status p { margin:5px 0 0; color:var(--muted); }
.opportunity-feedback-status-ready { border-left-color:var(--success); }
.opportunity-feedback-status-failed { border-left-color:var(--danger); }
.opportunity-feedback-status-applied { border-left-color:var(--success); }

@media (max-width: 700px) {
  .opportunity-feedback-dialog,
  .opportunity-feedback-dialog[data-active-stage="result"] {
    width:calc(100vw - 16px);
    max-height:calc(100vh - 16px);
  }
  .opportunity-feedback-shell { padding:22px 16px 18px; max-height:calc(100vh - 16px); }
  .opportunity-feedback-dialog[data-active-stage="result"] .opportunity-feedback-shell {
    height:calc(100vh - 16px);
  }
  .opportunity-feedback-reasons { grid-template-columns:1fr; }
  .opportunity-feedback-change-header { grid-template-columns:1fr; gap:0; padding:0; }
  .opportunity-feedback-change-select,
  .opportunity-feedback-review-status { margin:0 14px 12px; justify-self:start; }
  .opportunity-feedback-result-meta { align-items:flex-start; flex-direction:column; gap:4px; }
  .opportunity-feedback-actions { display:grid; grid-template-columns:1fr; }
  .opportunity-feedback-actions > * { width:100%; justify-content:center; }
  .opportunity-feedback-status { align-items:flex-start; flex-direction:column; }
}
/* Patch 000.001.070 — structured company contacts in opportunity details. */
.company-data-block .company-detail-list{margin-bottom:14px;}
.company-data-block .company-detail-list dd{overflow-wrap:anywhere;}
.company-contact-list{display:grid;gap:7px;}
.company-contact-line{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;line-height:1.35;overflow-wrap:anywhere;}
.company-contact-line strong{min-width:126px;font-size:13px;}
.company-contact-line a,.company-person-contact a,.company-contacts-table a{overflow-wrap:anywhere;}
.company-contact-primary,.company-person-role{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap;}
.company-contacts-open{margin-top:10px;}
.company-legacy-contacts{white-space:pre-wrap;overflow-wrap:anywhere;}
.company-subsection{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);}
.company-subsection h3{margin:0 0 10px;font-size:16px;}
.company-people-list,.company-department-list{display:grid;gap:10px;}
.company-person-card,.company-department-card{border:1px solid var(--border);border-radius:12px;padding:11px 12px;background:var(--surface-soft);}
.company-person-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.company-person-position{margin-top:4px;color:var(--muted);font-size:13px;}
.company-person-contacts,.company-department-contacts,.company-department-people{display:grid;gap:5px;margin-top:9px;}
.company-person-contact{display:flex;gap:7px;align-items:flex-start;flex-wrap:wrap;font-size:13px;line-height:1.35;overflow-wrap:anywhere;}
.company-person-contact strong{min-width:112px;}
.company-department-person{display:grid;gap:3px;padding-top:8px;border-top:1px solid var(--border);}
.company-department-person:first-child{padding-top:0;border-top:0;}
.company-department-person>span{color:var(--muted);font-size:13px;}
.company-contacts-dialog{width:min(980px,calc(100vw - 32px));max-width:980px;max-height:min(82vh,760px);padding:0;border:0;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.22);}
.company-contacts-dialog::backdrop{background:rgba(15,23,42,.42);}
.company-contacts-dialog-shell{display:flex;flex-direction:column;max-height:min(82vh,760px);background:var(--surface);}
.company-contacts-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--border);}
.company-contacts-dialog-head h2{margin:0;font-size:20px;}
.company-contacts-dialog-head p{margin:5px 0 0;color:var(--muted);}
.company-contacts-dialog-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);color:var(--text);font-size:24px;line-height:1;cursor:pointer;}
.company-contacts-table-wrap{overflow:auto;padding:0 20px;}
.company-contacts-table{width:100%;min-width:660px;margin:14px 0;border-collapse:collapse;}
.company-contacts-table th,.company-contacts-table td{text-align:left;vertical-align:top;padding:9px 10px;border-bottom:1px solid var(--border);overflow-wrap:anywhere;}
.company-contacts-dialog-actions{display:flex;justify-content:flex-end;padding:12px 20px 16px;border-top:1px solid var(--border);}
@media (max-width:720px){
  .company-contact-line,.company-person-contact{display:grid;gap:2px;}
  .company-contact-line strong,.company-person-contact strong{min-width:0;}
  .company-contacts-dialog{width:calc(100vw - 16px);max-height:88vh;border-radius:14px;}
  .company-contacts-dialog-shell{max-height:88vh;}
  .company-contacts-dialog-head{padding:14px 14px 12px;}
  .company-contacts-table-wrap{padding:0 12px;}
  .company-contacts-dialog-actions{padding:10px 14px 14px;}
}

/* 000.001.073 — visible administrator impersonation mode. */
.admin-impersonation-banner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:14px 18px 0;
  padding:11px 14px;
  border:1px solid var(--accent);
  border-radius:12px;
  background:var(--accent-soft);
  color:var(--text);
}
.admin-impersonation-banner > div { display:grid; gap:2px; min-width:0; }
.admin-impersonation-banner strong { color:var(--accent); font-size:14px; }
.admin-impersonation-banner span { font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.admin-impersonation-banner form { flex:0 0 auto; }
.admin-impersonation-banner button {
  min-height:36px;
  padding:7px 12px;
  border:0;
  border-radius:9px;
  background:var(--accent);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.admin-impersonation-banner-mobile { margin:8px 10px 0; align-items:flex-start; flex-direction:column; }
.admin-impersonation-banner-mobile form,
.admin-impersonation-banner-mobile button { width:100%; }

