:root {
  --mp-bg: #060912;
  --mp-surface: #0b1220;
  --mp-surface-raised: #111b2e;
  --mp-border: #1d2b45;
  --mp-border-strong: #344867;
  --mp-text: #f8faff;
  --mp-muted: #a4b1c6;
  --mp-brand: #7668ff;
  --mp-accent: #3dd0ed;
  --mp-success: #35d49a;
  --mp-danger: #fb7185;
  --mp-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
}

html { scroll-behavior: smooth; }

body {
  background:
    radial-gradient(circle at 78% -10%, rgba(118, 104, 255, 0.17), transparent 34%),
    radial-gradient(circle at 22% 110%, rgba(61, 208, 237, 0.08), transparent 31%),
    var(--mp-bg);
  color: var(--mp-text);
  letter-spacing: -0.01em;
}

.app { grid-template-columns: 264px minmax(0, 1fr); }

.side {
  padding: 22px 14px;
  border-color: var(--mp-border);
  background: rgba(7, 11, 21, 0.9);
  box-shadow: 18px 0 55px rgba(0, 0, 0, 0.14);
}

.brand { padding: 3px 10px 26px; }
.brand strong { font-size: 17px; letter-spacing: -0.03em; }
.brand .muted { margin-top: 1px; font-size: 12px; }

.mark {
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  color: transparent;
  background: linear-gradient(145deg, var(--mp-brand), var(--mp-accent));
  box-shadow: 0 12px 34px rgba(99, 102, 241, 0.3);
}

.mark::before,
.mark::after {
  position: absolute;
  content: "";
  border-radius: 999px;
  background: white;
}

.mark::before { width: 17px; height: 5px; transform: rotate(45deg); }
.mark::after { width: 5px; height: 17px; transform: rotate(45deg); }

.side nav { gap: 4px; }
.nav {
  position: relative;
  min-height: 45px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-weight: 650;
}

.nav:hover {
  transform: none;
  border-color: rgba(255, 255, 255, 0.04);
  background: rgba(255, 255, 255, 0.045);
}

.nav.active {
  transform: none;
  border-color: rgba(118, 104, 255, 0.22);
  background: linear-gradient(90deg, rgba(118, 104, 255, 0.17), rgba(61, 208, 237, 0.06));
}

.nav.active::before {
  position: absolute;
  left: -1px;
  width: 3px;
  height: 22px;
  border-radius: 0 4px 4px 0;
  background: linear-gradient(var(--mp-brand), var(--mp-accent));
  content: "";
}

.main { max-width: 1540px; padding: 30px clamp(22px, 3.5vw, 54px) 110px; }
.top { margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid rgba(255, 255, 255, 0.055); }
.top h1 { font-size: 30px; line-height: 1.15; letter-spacing: -0.045em; }

.health {
  display: flex;
  align-items: center;
  gap: 7px;
  background: rgba(17, 27, 46, 0.68);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.notice {
  border-color: var(--mp-border);
  background: linear-gradient(135deg, rgba(17, 27, 46, 0.94), rgba(11, 18, 32, 0.94));
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.12);
}

.hero {
  position: relative;
  padding: 38px;
  border-color: rgba(118, 104, 255, 0.28);
  background: linear-gradient(135deg, rgba(29, 38, 71, 0.96), rgba(10, 19, 35, 0.97));
  box-shadow: var(--mp-shadow);
}

.hero::after {
  position: absolute;
  top: -90px;
  right: -65px;
  width: 270px;
  height: 270px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(61, 208, 237, 0.2), transparent 68%);
  content: "";
  pointer-events: none;
}

.hero h2 {
  max-width: 820px;
  font-size: clamp(33px, 4vw, 54px);
  letter-spacing: -0.058em;
}

.hero p { max-width: 680px; font-size: 16px; }
.grid { gap: 16px; margin-top: 16px; }

.card,
.item {
  border-color: var(--mp-border);
  background: linear-gradient(145deg, rgba(17, 27, 46, 0.94), rgba(10, 16, 28, 0.96));
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.11);
}

.card { border-radius: 18px; }
.metric { position: relative; min-height: 138px; overflow: hidden; }
.metric strong { font-size: 34px; letter-spacing: -0.055em; }

.metric::after {
  position: absolute;
  top: 19px;
  right: 19px;
  width: 8px;
  height: 8px;
  border: 2px solid var(--mp-accent);
  border-radius: 50%;
  content: "";
  opacity: 0.72;
}

.action { min-height: 150px; border-radius: 18px; }
.action:hover {
  transform: translateY(-2px);
  border-color: rgba(118, 104, 255, 0.5);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
}

.action > span:first-child {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 11px;
  background: linear-gradient(145deg, rgba(118, 104, 255, 0.2), rgba(61, 208, 237, 0.08));
  font-size: 18px;
}

.button {
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 11px;
  background: linear-gradient(135deg, var(--mp-brand), #5969e9);
  box-shadow: 0 8px 22px rgba(92, 92, 235, 0.18);
  transition: transform 0.18s, box-shadow 0.18s;
}

.button:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(92, 92, 235, 0.28);
}

.button.secondary { background: rgba(24, 37, 60, 0.9); box-shadow: none; }
.item { transition: border-color 0.18s, background 0.18s; }
.item:hover { border-color: var(--mp-border-strong); }
.badge { background: rgba(255, 255, 255, 0.025); font-size: 12px; }

input,
select { min-height: 44px; background: rgba(6, 11, 20, 0.72); }
input:hover,
select:hover { border-color: var(--mp-border-strong); }

.empty {
  border: 1px dashed var(--mp-border-strong);
  border-radius: 14px;
  background: rgba(7, 12, 22, 0.32);
}

.workspace-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.workspace-head h2 { margin: 4px 0 5px; font-size: clamp(26px, 3vw, 38px); line-height: 1.12; letter-spacing: -0.05em; }
.workspace-head p { max-width: 650px; margin: 0; }
.overline { color: #9c96ff; font-size: 11px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.security-pill { flex: none; padding: 8px 12px; border: 1px solid rgba(53, 212, 154, 0.25); border-radius: 999px; background: rgba(53, 212, 154, 0.07); color: #9be8c9; font-size: 12px; font-weight: 700; }
.provider-toolbar,.contact-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.provider-legend,.filter-chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.provider-legend span { display: flex; align-items: center; gap: 6px; color: var(--mp-muted); font-size: 12px; }
.provider-legend i { width: 7px; height: 7px; border-radius: 50%; }
.legend-send { background: var(--mp-brand); }.legend-contacts { background: var(--mp-accent); }
.provider-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.provider-card { display: flex; min-height: 264px; flex-direction: column; padding: 18px; border: 1px solid var(--mp-border); border-radius: 18px; background: linear-gradient(145deg,rgba(17,27,46,.96),rgba(9,15,27,.96)); box-shadow: 0 12px 36px rgba(0,0,0,.13); transition: transform .18s,border-color .18s,box-shadow .18s; }
.provider-card:hover { transform: translateY(-2px); border-color: rgba(118,104,255,.42); box-shadow: 0 20px 48px rgba(0,0,0,.2); }
.provider-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.provider-logo { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.09); border-radius: 13px; background: #17243c; color: white; font-weight: 850; letter-spacing: -.05em; }
.provider-microsoft { background: linear-gradient(145deg,#2766d7,#17366d); }.provider-google { background: linear-gradient(145deg,#d94c42,#7f2928); }.provider-yahoo { background: linear-gradient(145deg,#7c3aed,#3b1e79); }.provider-icloud { background: linear-gradient(145deg,#6c7b91,#293548); }.provider-zoho { background: linear-gradient(145deg,#e85d39,#8b3220); }.provider-fastmail { background: linear-gradient(145deg,#2775ee,#123b83); }.provider-smtp_imap { background: linear-gradient(145deg,#7768ff,#3c348e); }.provider-carddav { background: linear-gradient(145deg,#19a987,#155b52); }
.availability { color: var(--mp-muted); font-size: 11px; }.availability.available { color: #8ee4c1; }.availability.available::before { margin-right: 5px; content: "●"; }
.provider-card h3 { margin: 18px 0 2px; font-size: 17px; letter-spacing: -.025em; }.provider-auth { color: var(--mp-muted); font-size: 12px; text-transform: capitalize; }
.capability-row { display: flex; min-height: 51px; align-content: flex-start; gap: 5px; flex-wrap: wrap; margin: 15px 0; }.capability-row span { align-self: flex-start; padding: 4px 7px; border: 1px solid var(--mp-border); border-radius: 7px; color: var(--mp-muted); font-size: 10px; }.provider-connect { width: 100%; margin-top: auto; }
.provider-skeleton { height: 264px; border: 1px solid var(--mp-border); border-radius: 18px; background: linear-gradient(90deg,rgba(17,27,46,.7),rgba(30,43,68,.7),rgba(17,27,46,.7)); background-size: 200% 100%; animation: skeleton 1.6s infinite; }@keyframes skeleton { to { background-position: -200% 0; } }
.security-note,.verification-disclosure { display: grid; grid-template-columns: minmax(180px,.42fr) 1fr; gap: 18px; margin-top: 16px; padding: 16px 18px; border: 1px solid rgba(61,208,237,.16); border-radius: 14px; background: rgba(61,208,237,.04); }
.security-note span,.verification-disclosure span { color: var(--mp-muted); font-size: 13px; }.verification-disclosure { margin: -5px 0 17px; border-color: rgba(244,189,98,.18); background: rgba(244,189,98,.045); }
.search-shell { display: flex; width: min(440px,100%); align-items: center; gap: 8px; padding-left: 12px; border: 1px solid var(--mp-border); border-radius: 12px; background: rgba(6,11,20,.65); }.search-shell:focus-within { border-color: var(--mp-brand); box-shadow: 0 0 0 3px rgba(118,104,255,.12); }.search-shell input { min-height: 42px; padding-left: 0; border: 0; background: transparent; box-shadow: none; }.search-shell input:focus { border: 0; box-shadow: none; }
.status-chip { padding: 5px 8px; border: 1px solid var(--mp-border); border-radius: 8px; font-size: 11px; }.status-chip.valid { color: #8ee4c1; border-color: rgba(53,212,154,.22); }.status-chip.risky { color: #f4cd83; border-color: rgba(244,189,98,.22); }.status-chip.invalid { color: #f7a2b0; border-color: rgba(251,113,133,.22); }.status-chip.unknown { color: #a9b6ca; }.contact-workspaces>.item { padding: 18px; border-radius: 16px; }
.studio-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(260px,.65fr); gap: 16px; align-items: start; }
.composer-card,.studio-checklist { border: 1px solid var(--mp-border); border-radius: 20px; background: linear-gradient(145deg,rgba(17,27,46,.96),rgba(9,15,27,.97)); box-shadow: 0 18px 48px rgba(0,0,0,.15); }
.composer-card { display: grid; gap: 16px; padding: 22px; }.composer-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 17px; border-bottom: 1px solid var(--mp-border); }.composer-head strong { font-size: 18px; }
.draft-indicator { padding: 5px 9px; border: 1px solid rgba(244,189,98,.24); border-radius: 8px; background: rgba(244,189,98,.07); color: #f4cd83; font-size: 11px; font-weight: 750; text-transform: uppercase; }
.format-switch { display: flex; gap: 7px; }.format-switch label { cursor: pointer; }.format-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }.format-switch label { padding: 7px 11px; border: 1px solid var(--mp-border); border-radius: 9px; color: var(--mp-muted); font-size: 12px; }.format-switch label:has(input:checked) { border-color: rgba(118,104,255,.45); background: rgba(118,104,255,.12); color: white; }
textarea { width: 100%; min-height: 230px; resize: vertical; padding: 14px; border: 1px solid var(--mp-border); border-radius: 12px; outline: 0; background: rgba(6,11,20,.72); color: white; font: inherit; line-height: 1.6; }textarea:focus { border-color: var(--mp-brand); box-shadow: 0 0 0 3px rgba(118,104,255,.12); }
.personalization-help { display: grid; grid-template-columns: 120px 1fr; gap: 12px; padding: 13px 14px; border: 1px solid rgba(61,208,237,.14); border-radius: 12px; background: rgba(61,208,237,.035); }.personalization-help span { color: var(--mp-muted); font-size: 12px; }
.composer-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 4px; }.composer-actions .muted { font-size: 12px; }
.studio-checklist { position: sticky; top: 24px; padding: 21px; }.studio-checklist ol { display: grid; gap: 0; margin: 18px 0 0; padding: 0; list-style: none; counter-reset: studio; }.studio-checklist li { position: relative; display: grid; min-height: 68px; grid-template-columns: 31px 1fr; column-gap: 10px; align-content: start; counter-increment: studio; }.studio-checklist li::before { display: grid; z-index: 1; width: 28px; height: 28px; place-items: center; border: 1px solid var(--mp-border-strong); border-radius: 50%; background: var(--mp-surface); color: var(--mp-muted); content: counter(studio); font-size: 11px; }.studio-checklist li::after { position: absolute; top: 29px; left: 13px; width: 1px; height: 39px; background: var(--mp-border); content: ""; }.studio-checklist li:last-child::after { display: none; }.studio-checklist li.complete::before { border-color: var(--mp-success); background: rgba(53,212,154,.12); color: var(--mp-success); content: "✓"; }.studio-checklist li strong,.studio-checklist li span { grid-column: 2; }.studio-checklist li strong { margin-top: 3px; font-size: 13px; }.studio-checklist li span { color: var(--mp-muted); font-size: 11px; }
.campaign-list-head { margin: 30px 0 12px; }.campaign-list-head h3 { margin: 0; font-size: 20px; letter-spacing: -.035em; }.campaign-list-head p { margin: 3px 0 0; }.campaign-history .item { padding: 17px 18px; }

@media (max-width:1180px) { .provider-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }

:focus-visible { outline: 2px solid var(--mp-accent); outline-offset: 3px; }
.mobile-nav { box-shadow: 0 -12px 35px rgba(0, 0, 0, 0.28); }

@media (max-width: 900px) {
  .main { padding: 18px 16px 108px; }
  .top {
    position: sticky;
    z-index: 4;
    top: 0;
    margin: -18px -16px 18px;
    padding: 15px 16px;
    background: rgba(6, 9, 18, 0.88);
    backdrop-filter: blur(18px);
  }
  .top h1 { font-size: 23px; }
  .hero { padding: 27px 23px; }
  .hero h2 { font-size: clamp(31px, 9vw, 43px); }
  .mobile-nav { justify-content: space-around; }
  .mobile-nav .nav { display:grid; min-width:64px; place-items:center; gap:4px; border:0; font-size:10px; }
  .mobile-nav .nav svg { width:19px; height:19px; }
  .mobile-nav .nav.active::before {
    top: -8px;
    left: 50%;
    width: 28px;
    height: 3px;
    transform: translateX(-50%);
    border-radius: 0 0 4px 4px;
  }
  .workspace-head { align-items: flex-start; }
  .contact-toolbar { align-items: stretch; flex-direction: column; }
  .studio-layout { grid-template-columns: 1fr; }
  .studio-checklist { position: static; }
  .studio-checklist ol { grid-template-columns:repeat(5,minmax(0,1fr)); overflow:visible; }
  .studio-checklist li {
    display:flex;
    min-width:0;
    min-height:58px;
    align-items:center;
    flex-direction:column;
    padding-right:0;
    text-align:center;
  }
  .studio-checklist li strong {
    width:100%;
    margin-top:6px;
    overflow-wrap:normal;
    word-break:normal;
    font-size:9px;
    line-height:1.2;
  }
  .studio-checklist li span { display:none; }
  .studio-checklist li::after { top:13px; left:calc(50% + 14px); width:calc(100% - 28px); height:1px; }
}

/* Precision Workspace design system */
:root[data-theme="precision"] {
  --mp-bg: #10141b;
  --mp-surface: #151a22;
  --mp-surface-raised: #1a202a;
  --mp-border: #2b323d;
  --mp-border-strong: #46505e;
  --mp-text: #f4f5f7;
  --mp-muted: #9da5b1;
  --mp-brand: #5577f6;
  --mp-accent: #6d8cff;
}
:root[data-theme="midnight"] {
  --mp-bg: #07101b; --mp-surface: #0c1725; --mp-surface-raised: #122033;
  --mp-border: #24364c; --mp-border-strong: #3c5776; --mp-text: #f4f8ff;
  --mp-muted: #9baabd; --mp-brand: #2878ed; --mp-accent: #35a4ff;
}
:root[data-theme="light"] {
  --mp-bg: #f4f5f7; --mp-surface: #ffffff; --mp-surface-raised: #f8f9fb;
  --mp-border: #dfe3e8; --mp-border-strong: #b8c0cb; --mp-text: #181b20;
  --mp-muted: #68707d; --mp-brand: #315ee8; --mp-accent: #416ff0;
  color-scheme: light;
}
:root[data-theme="light"] body,
:root[data-theme="light"] .side { background: var(--mp-bg); color: var(--mp-text); }
:root[data-theme="light"] .side { background: #fff; }
:root[data-theme="light"] input,
:root[data-theme="light"] select,
:root[data-theme="light"] textarea { background: #fff; color: #181b20; }

/* LANTRIVE approved product system — Midnight Violet is the default. */
:root,
:root[data-theme="violet"] {
  --mp-bg: #030712;
  --mp-surface: #071121;
  --mp-surface-raised: #0b1729;
  --mp-border: #1a2a44;
  --mp-border-strong: #31476b;
  --mp-text: #f7f8ff;
  --mp-muted: #96a4bd;
  --mp-brand: #6d45f5;
  --mp-accent: #8a6cff;
  --mp-success: #35d49a;
  --mp-danger: #fb7185;
  color-scheme: dark;
}
:root[data-theme="ocean"] { --mp-brand:#1689c8; --mp-accent:#36c8e8; --mp-border:#16405b; --mp-border-strong:#276684; }
:root[data-theme="emerald"] { --mp-brand:#129564; --mp-accent:#31c98c; --mp-border:#174b3b; --mp-border-strong:#26785a; }
:root[data-theme="system"] { color-scheme:dark; }
@media (prefers-color-scheme: light) {
  :root[data-theme="system"] { --mp-bg:#f5f7fb; --mp-surface:#fff; --mp-surface-raised:#eef2f8; --mp-border:#dce2eb; --mp-border-strong:#aab5c4; --mp-text:#121825; --mp-muted:#617087; --mp-brand:#603ee5; --mp-accent:#775cf1; color-scheme:light; }
}

.workspace-switcher { display:grid; gap:4px; margin:0 8px 18px; padding:12px; border:1px solid var(--mp-border); border-radius:9px; background:var(--mp-surface-raised); }
.workspace-switcher span { color:var(--mp-muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.workspace-switcher strong { font-size:12px; }
.mobile-brand { display:none; align-items:center; gap:9px; }
.mobile-workspace { margin-left:8px; color:var(--mp-muted); font-size:11px; font-weight:600; }
.workspace-avatar { display:grid; width:34px; height:34px; flex:none; place-items:center; border:1px solid rgba(138,108,255,.55); border-radius:50%; color:#ddd6ff; font-size:11px; font-weight:750; }
.login-brand { display:flex; align-items:center; justify-content:center; gap:12px; letter-spacing:.26em; }
.login-ready { padding:11px 13px; border:1px solid rgba(53,212,154,.24); border-radius:8px; color:#8fe2bd; font-size:12px; }
.login-terms { color:var(--mp-muted); font-size:11px; line-height:1.5; text-align:center; }

#page-dashboard { width:min(100%,940px); margin-inline:auto; }
.home-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--mp-border); border-radius:12px; background:var(--mp-surface); }
.summary-link { display:grid; min-height:74px; grid-template-columns:38px 1fr auto; align-items:center; gap:11px; padding:13px 16px; border:0; border-right:1px solid var(--mp-border); background:transparent; color:var(--mp-text); text-align:left; cursor:pointer; }
.summary-link:last-child { border-right:0; }
.summary-link span:nth-child(2) { display:grid; gap:3px; }
.summary-link small,.readiness-card small,.next-action-card small { color:var(--mp-muted); font-size:11px; }
.summary-link strong { font-size:12px; font-weight:650; }
.summary-link b { color:var(--mp-muted); font-size:22px; font-weight:400; }
.summary-icon { display:grid; min-width:36px; height:36px; place-items:center; border:1px solid rgba(109,69,245,.35); border-radius:9px; background:rgba(109,69,245,.13); color:#b7a8ff; font-size:9px; font-weight:800; text-transform:uppercase; }

.readiness-card { display:grid; grid-template-columns:72px 1fr auto; align-items:center; gap:17px; margin-top:12px; padding:16px; border:1px solid var(--mp-border); border-radius:12px; background:var(--mp-surface); }
.readiness-ring { display:grid; width:64px; height:64px; place-items:center; border:8px solid #172239; border-top-color:var(--mp-brand); border-radius:50%; }
.readiness-ring strong { font-size:16px; }
.readiness-card h2 { margin:3px 0; font-size:18px; }
.readiness-card p,.next-action-card p,.home-activity-card p { margin:0; color:var(--mp-muted); font-size:12px; line-height:1.45; }
.readiness-card .button { white-space:nowrap; }

.next-action-card { margin-top:12px; padding:20px; border:1px solid rgba(109,69,245,.78); border-radius:12px; background:#081326; }
.next-action-heading { display:flex; align-items:flex-start; gap:14px; }
.next-action-heading > .summary-icon { margin-top:2px; }
.next-action-card h2 { margin:3px 0 2px; font-size:19px; }
.next-action-card small { color:#a891ff; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.home-provider-grid { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin:18px 0 12px; }
.home-provider-assets { position:absolute; z-index:1; top:10px; left:0; width:100%; height:31px; object-fit:fill; pointer-events:none; }
.home-provider-grid button { display:grid; min-height:76px; place-items:center; gap:6px; padding:9px 5px; border:1px solid var(--mp-border); border-radius:9px; background:var(--mp-surface-raised); color:var(--mp-text); font:inherit; font-size:10px; cursor:pointer; }
.home-provider-grid button:hover { border-color:var(--mp-accent); }
.provider-badge { display:grid; width:31px; height:31px; place-items:center; border-radius:8px; background:#111d32; font-size:12px; font-weight:900; }
.provider-google { color:#66a1ff; }.provider-microsoft { color:#ef9e45; }.provider-yahoo { color:#a47aff; }.provider-other { color:#9eabc0; font-size:8px; }
.home-connect-button { width:100%; }
.security-caption { margin-top:10px!important; text-align:center; }

.home-metrics { display:grid; grid-template-columns:repeat(3,1fr); margin-top:12px; border:1px solid var(--mp-border); border-radius:12px; background:var(--mp-surface); }
.home-metrics div { display:grid; gap:4px; padding:15px 18px; border-right:1px solid var(--mp-border); }
.home-metrics div:last-child { border-right:0; }
.home-metrics span,.home-metrics small { color:var(--mp-muted); font-size:11px; }
.home-metrics strong { font-size:24px; }
#page-dashboard .onboarding-card { margin-top:12px; padding:17px; border:1px solid var(--mp-border); border-radius:12px; background:var(--mp-surface); }
#page-dashboard .onboarding-card h3 { margin:4px 0 13px; font-size:16px; }
#page-dashboard .onboarding-progress { height:5px; }
#page-dashboard .onboarding-steps { grid-template-columns:repeat(3,1fr); }
#page-dashboard .onboarding-steps span { min-height:42px; padding:8px 10px; font-size:10px; }
.home-activity-card { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:12px; padding:15px 16px; border:1px solid var(--mp-border); border-radius:12px; background:var(--mp-surface); }
.home-activity-card > div { display:flex; align-items:center; gap:12px; }
.home-activity-card strong { display:block; margin-bottom:3px; font-size:12px; }

@media (min-width:901px) {
  .top .page-heading { min-width:190px; }
}

@media (max-width:900px) {
  .main { padding:0 14px 96px; }
  .top { position:sticky; top:0; z-index:6; min-height:64px; margin:0 -14px 14px; padding:11px 14px; background:rgba(3,7,18,.94); }
  .mobile-brand { display:flex; }
  .mobile-brand .mark { width:29px; height:29px; }
  .page-heading,.command-trigger,.health { display:none; }
  .top-actions { margin-left:auto; }
  .notification-trigger { min-height:36px; padding:8px 10px; font-size:0; }
  .notification-trigger { display:flex; align-items:center; gap:4px; }
  .notification-trigger b { font-size:9px; }
  #auth-status { margin-top:0; }
  #page-dashboard { width:100%; }
  .home-summary { grid-template-columns:1fr 1fr; }
  .summary-link { min-height:68px; grid-template-columns:32px 1fr auto; padding:10px; }
  .summary-icon { min-width:31px; height:31px; font-size:8px; }
  .summary-link small { font-size:9px; }
  .summary-link strong { font-size:10px; }
  .readiness-card { grid-template-columns:58px 1fr; gap:12px; padding:14px; }
  .readiness-ring { width:54px; height:54px; border-width:7px; }
  .readiness-card .button { grid-column:2; justify-self:start; min-height:34px; padding:7px 10px; font-size:10px; }
  .next-action-card { padding:16px; }
  .home-provider-grid { gap:7px; }
  .home-provider-grid button { min-height:70px; font-size:9px; }
  .home-metrics div { padding:13px 11px; }
  .home-metrics strong { font-size:21px; }
  #page-dashboard .onboarding-steps { grid-template-columns:1fr; }
  .home-activity-card .button { padding:8px 10px; font-size:10px; }
}

@media (max-width:430px) {
  .home-provider-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .home-provider-grid button { padding-inline:2px; }
}

/* Phase 2 mobile fidelity: mailbox discovery and intelligence remain operational at phone widths. */
@media (max-width:900px) {
  #page-mailboxes,
  #page-intelligence { width:min(100%,430px); margin-inline:auto; }
  #page-mailboxes .connection-main { min-width:0; }
  #page-mailboxes .provider-strip .provider-card {
    border-color:#223654;
    background:#081426;
  }
  #page-mailboxes .detect-form input,
  #page-mailboxes .advanced-connect,
  #page-mailboxes .detected-provider { background:#081426; }
  #page-mailboxes .detected-provider {
    border-color:rgba(109,69,245,.55);
    box-shadow:0 0 0 1px rgba(109,69,245,.08);
  }
  #page-mailboxes .detected-head { align-items:flex-start; }
  #page-mailboxes .detected-label { color:#a995ff; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
  #page-mailboxes .provider-notice { font-size:9px; line-height:1.45; }
  #page-mailboxes .detected-continue { width:100%; }

  #page-intelligence { padding-bottom:8px; }
  #page-intelligence .intelligence-search input {
    min-height:38px;
    padding:8px 10px;
    font-size:10px;
  }
  #page-intelligence .intelligence-search .button {
    width:auto;
    min-width:58px;
    padding:7px 9px;
    font-size:9px;
  }
  #page-intelligence .intelligence-search .button::after { content:none; }
  #page-intelligence .intelligence-metrics { margin-bottom:0; }
  #page-intelligence .intelligence-metric {
    min-height:58px;
    border-radius:6px;
    background:#081426;
  }
  #page-intelligence .intelligence-metric small { display:none; }
  #page-intelligence .provider-tabs { padding-bottom:2px; }
  #page-intelligence .provider-tab {
    border-radius:6px;
    background:#081426;
  }
  #page-intelligence .provider-tab.active {
    border-color:#7048ef;
    background:rgba(109,69,245,.16);
    color:#c4b7ff;
  }
  #page-intelligence .intelligence-layout {
    display:block;
    overflow:visible;
    border:0;
    border-radius:0;
  }
  #page-intelligence .intelligence-table-shell {
    overflow:hidden;
    border:1px solid #223654;
    border-radius:7px;
    background:#061120;
  }
  #page-intelligence .intelligence-row {
    min-height:54px;
    grid-template-columns:minmax(0,1.45fr) minmax(64px,.65fr) minmax(42px,.42fr) minmax(58px,.58fr);
    gap:6px;
    padding:8px 9px;
  }
  #page-intelligence .intelligence-row .mailbox-identity { grid-column:auto; }
  #page-intelligence .intelligence-row > span:nth-child(4) { display:none; }
  #page-intelligence .intelligence-row b { font-size:9px; }
  #page-intelligence .intelligence-row small { margin-top:2px; font-size:7px; }
  #page-intelligence .health-state { gap:4px; font-size:8px; }
  #page-intelligence .health-state i { width:5px; height:5px; }
  #page-intelligence .intelligence-rail {
    display:block;
    margin-top:8px;
    padding:11px;
    border:1px solid #223654;
    border-radius:7px;
    background:#081426;
  }
  #page-intelligence .intelligence-rail h3 { margin:3px 0; font-size:15px; }
  #page-intelligence .intelligence-rail > .muted { margin:0 0 9px; font-size:8px; }
  #page-intelligence .signal-stack {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    border-top:1px solid var(--mp-border);
    border-bottom:1px solid var(--mp-border);
  }
  #page-intelligence .signal-stack span {
    min-width:0;
    padding:8px 5px;
    border-bottom:0;
    font-size:7px;
  }
  #page-intelligence .signal-stack span:nth-child(n+4) { display:none; }
  #page-intelligence .signal-stack b { display:block; margin-bottom:2px; font-size:13px; }
  #page-intelligence .intelligence-rail .provider-notice { margin:8px 0; font-size:8px; }
  #page-intelligence .mailbox-actions {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }
  #page-intelligence .mailbox-actions .button {
    min-width:0;
    min-height:34px;
    padding:6px 4px;
    font-size:8px;
  }
}

/* Phase 3 mobile fidelity: real contact intelligence and privacy-gated mailbox messages. */
.contact-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.contact-kpi{display:flex;min-width:0;flex-direction:column;gap:3px;padding:14px;border:1px solid var(--mp-border);border-radius:12px;background:var(--mp-surface)}.contact-kpi strong{font-size:1.15rem}.contact-kpi span{color:var(--mp-muted);font-size:.75rem}.contact-kpi.valid strong{color:var(--mp-success)}.contact-kpi.risky strong,.contact-kpi.unknown strong{color:#f4b740}.contact-kpi.invalid strong{color:var(--mp-danger)}.contact-browser-toolbar,.mailbox-view-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px auto;gap:10px;margin-bottom:14px}.contact-browser-layout,.mailbox-message-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:14px;align-items:start}.contact-results-panel,.contact-detail,.message-detail,.mailbox-message-list{border:1px solid var(--mp-border);border-radius:14px;background:var(--mp-surface)}.contact-list{overflow:hidden}.contact-row{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) 120px auto;gap:12px;align-items:center;padding:13px 14px;border:0;border-bottom:1px solid var(--mp-border);background:transparent;color:inherit;text-align:left;cursor:pointer}.contact-row:last-child{border-bottom:0}.contact-row:hover,.contact-row:focus-visible,.mailbox-message-row:hover,.mailbox-message-row:focus-visible{background:rgba(118,104,255,.08);outline:none}.contact-avatar{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(118,104,255,.55);border-radius:50%;background:rgba(118,104,255,.18);color:#c9c2ff;font-size:.75rem;font-weight:800}.contact-avatar.large{width:56px;height:56px;font-size:1rem}.contact-identity{display:flex;min-width:0;flex-direction:column;gap:2px}.contact-identity strong,.contact-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-identity small,.contact-provider{color:var(--mp-muted);font-size:.75rem}.contact-provider{text-transform:capitalize}.contact-detail,.message-detail{position:sticky;top:88px;padding:18px}.contact-profile-head{display:flex;gap:12px;align-items:center}.contact-profile-head h3,.contact-profile-head p{margin:0}.contact-profile-head p{margin-top:3px;color:var(--mp-muted);font-size:.82rem}.contact-detail-status{display:flex;gap:8px;align-items:center;margin:16px 0}.contact-detail-status>span:last-child{color:var(--mp-muted);font-size:.78rem}.contact-facts,.message-facts{display:grid;gap:0;margin:0 0 14px}.contact-facts div,.message-facts div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--mp-border)}.contact-facts dt,.message-facts dt{color:var(--mp-muted);font-size:.75rem}.contact-facts dd,.message-facts dd{margin:0;overflow-wrap:anywhere;font-size:.8rem}.contact-interactions{display:grid;grid-template-columns:repeat(3,1fr);margin:12px 0;border:1px solid var(--mp-border);border-radius:10px}.contact-interactions div{display:flex;flex-direction:column;gap:3px;padding:10px;border-right:1px solid var(--mp-border)}.contact-interactions div:last-child{border-right:0}.contact-interactions span{color:var(--mp-muted);font-size:.7rem}.consent-panel{margin:12px 0;padding:12px;border:1px solid var(--mp-border);border-radius:10px}.consent-panel p{margin:5px 0 0;color:var(--mp-muted);font-size:.78rem;line-height:1.45}.browser-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0}.browser-pagination span{color:var(--mp-muted);font-size:.78rem}.mailbox-view-back{margin:0 0 12px;padding:0;border:0;background:transparent;color:#a995ff;cursor:pointer}.mailbox-folder-tabs{display:flex;gap:8px;margin-bottom:14px;overflow:auto}.mailbox-folder-tabs button{padding:8px 14px;border:1px solid var(--mp-border);border-radius:9px;background:var(--mp-surface);color:var(--mp-muted);white-space:nowrap}.mailbox-folder-tabs button.active{border-color:var(--mp-brand);background:rgba(118,104,255,.18);color:var(--mp-text)}.mailbox-view-toolbar{grid-template-columns:minmax(220px,1fr) auto}.mailbox-message-list{overflow:hidden}.mailbox-message-row{position:relative;display:grid;width:100%;grid-template-columns:minmax(120px,.65fr) minmax(180px,1fr) minmax(220px,1.25fr) auto;gap:12px;align-items:center;padding:14px;border:0;border-bottom:1px solid var(--mp-border);background:transparent;color:inherit;text-align:left;cursor:pointer}.mailbox-message-row:last-child{border-bottom:0}.message-sender,.mailbox-message-row strong,.message-snippet{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-sender,.message-snippet,.mailbox-message-row time{color:var(--mp-muted);font-size:.75rem}.attachment-label{display:inline-flex;width:max-content;padding:3px 7px;border:1px solid rgba(118,104,255,.45);border-radius:999px;color:#a995ff;font-size:.66rem}.mailbox-message-row .attachment-label{position:absolute;right:12px;bottom:3px}.message-detail h3{margin:5px 0 16px}.message-preview{padding:14px;border:1px solid var(--mp-border);border-radius:10px;color:var(--mp-muted);font-size:.82rem;line-height:1.55;white-space:pre-wrap}.privacy-note{margin-top:14px;color:var(--mp-muted);font-size:.72rem;line-height:1.5}.privacy-empty{display:flex;min-height:220px;flex-direction:column;align-items:center;justify-content:center;gap:10px}.mailbox-view-action{grid-column:1/-1}

@media(max-width:900px){.contact-browser-layout,.mailbox-message-layout{grid-template-columns:1fr}.contact-detail,.message-detail{position:static}.contact-browser-toolbar{grid-template-columns:1fr 1fr}.contact-browser-toolbar input{grid-column:1/-1}.mailbox-message-row{grid-template-columns:minmax(100px,.6fr) minmax(0,1fr) auto}.message-snippet{grid-column:2/-1}.contact-row{grid-template-columns:auto minmax(0,1fr) auto}.contact-provider{display:none}}

@media(max-width:430px){.contact-page-head{display:flex;align-items:flex-end}.contact-page-head p{display:none}.contact-page-head .button{width:auto}.contact-kpis{grid-template-columns:repeat(5,minmax(64px,1fr));gap:6px;overflow-x:auto;padding-bottom:4px}.contact-kpi{padding:10px 8px}.contact-browser-toolbar{grid-template-columns:1fr 1fr;gap:7px}.contact-browser-toolbar input,.contact-browser-toolbar button{grid-column:1/-1}.contact-browser-toolbar select{min-width:0}.contact-results-panel,.contact-detail,.message-detail,.mailbox-message-list{border-radius:10px}.contact-row{gap:9px;padding:11px 10px}.contact-avatar{width:34px;height:34px}.contact-row .status-chip{align-self:start;font-size:.62rem}.contact-detail,.message-detail{padding:14px}.browser-pagination .button{padding:8px 10px}.mailbox-view-page .workspace-head{margin-bottom:12px}.mailbox-view-toolbar{grid-template-columns:1fr auto;gap:7px}.mailbox-folder-tabs{margin-right:-14px}.mailbox-message-row{grid-template-columns:minmax(84px,.55fr) minmax(0,1fr) auto;gap:8px;padding:12px 10px}.message-snippet{grid-column:1/-1}.mailbox-message-row time{font-size:.65rem}.mailbox-message-row .attachment-label{display:none}.contact-facts div,.message-facts div{grid-template-columns:90px minmax(0,1fr)}}

/* Mobile acceptance corrections: readable controls, honest data and stable layouts. */
.telegram-match-panel { display:grid; justify-items:center; gap:5px; padding:12px; border:1px solid var(--mp-brand); border-radius:10px; background:rgba(109,69,245,.12); text-align:center; }
.telegram-match-panel[hidden] { display:none; }
.telegram-match-panel span,.telegram-match-panel small { color:var(--mp-muted); font-size:11px; }
.telegram-match-panel strong { color:var(--mp-text); font-size:28px; letter-spacing:.2em; font-variant-numeric:tabular-nums; }
.login-provider .provider-letter.provider-mark { flex:0 0 22px; }
.login-provider { text-align:left; }

@media (max-width:430px) {
  .main { width:100%; padding-inline:14px; }
  .page { width:100%; }
  #page-dashboard .readiness-card { grid-template-columns:56px minmax(0,1fr); padding:14px; }
  #page-dashboard .readiness-card .button { grid-column:1/-1; width:100%; min-height:42px; font-size:11px; }
  #page-dashboard .readiness-card small { font-size:10px; }
  #page-dashboard .readiness-card h2 { font-size:18px; }
  #page-dashboard .readiness-card p { font-size:11px; }
  #page-dashboard .next-action-card { padding:16px; }
  #page-dashboard .next-action-card h2 { font-size:21px; }
  #page-dashboard .next-action-card p { font-size:12px; }
  #page-dashboard .home-provider-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #page-dashboard .home-provider-grid button { min-height:82px; font-size:11px; }
  #page-dashboard .home-connect-button { min-height:46px; font-size:13px; }
  #page-dashboard .home-metrics { grid-template-columns:1fr; }
  #page-dashboard .home-metrics div { min-height:66px; }
  #page-dashboard .home-metrics span,#page-dashboard .home-metrics small { font-size:10px; }
  #page-dashboard .onboarding-steps { grid-template-columns:1fr; }
  #page-dashboard .onboarding-steps span { min-height:54px; grid-template-columns:30px minmax(0,1fr); grid-template-rows:auto auto; justify-items:start; text-align:left; }
  #page-dashboard .onboarding-steps b { grid-row:1/3; }
  #page-dashboard .onboarding-steps strong { font-size:11px; text-align:left; }
  #page-dashboard .onboarding-steps small { font-size:10px; text-align:left; }
  .finance-layout,.finance-detail-grid,.finance-metrics { grid-template-columns:1fr; }
  .finance-user-row { align-items:flex-start; flex-direction:column; }
  .finance-user-row>span:last-child { text-align:left; }
  .signed-out .login-provider { display:grid; grid-template-columns:24px minmax(0,1fr); min-height:52px; padding-inline:18px; font-size:14px; text-align:left; }
  .signed-out .login-provider svg { width:22px; height:22px; }
}

/* Account menu, local provider marks, and final mobile navigation system. */
.provider-mark svg { display:block; width:22px; height:22px; }
.provider-logo.provider-mark svg { width:24px; height:24px; }
.login-provider .provider-mark { width:22px; height:22px; }
.profile-menu { position:relative; flex:none; }
.profile-menu .workspace-avatar { cursor:pointer; background:transparent; }
.profile-popover { position:absolute; z-index:20; top:calc(100% + 9px); right:0; width:180px; overflow:hidden; padding:6px; border:1px solid var(--mp-border); border-radius:12px; background:var(--mp-surface-raised); box-shadow:0 18px 50px rgba(0,0,0,.45); }
.profile-popover[hidden] { display:none; }
.profile-popover button { display:flex; width:100%; min-height:42px; align-items:center; padding:9px 11px; border:0; border-radius:8px; background:transparent; color:var(--mp-text); font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.profile-popover button:hover,.profile-popover button:focus-visible { background:rgba(109,69,245,.16); }
.profile-popover #sign-out-button { color:#ff9aaa; }
.profile-page-head { display:flex; align-items:center; gap:16px; margin-bottom:22px; }
.profile-page-head h2 { margin:2px 0; font-size:34px; }
.profile-page-head p { margin:0; }
.profile-page-avatar { display:grid; width:72px; height:72px; place-items:center; border:1px solid rgba(138,108,255,.6); border-radius:50%; background:rgba(109,69,245,.12); color:#ddd6ff; font-size:22px; font-weight:800; }
.profile-page-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.profile-page-grid .card { display:grid; align-content:start; gap:8px; min-height:150px; }
.profile-page-grid .card strong { font-size:18px; }
.profile-page-grid .card p { margin:0; }
.profile-security-card { grid-column:1/-1; }
.profile-security-card .button { width:max-content; margin-top:8px; }
.profile-label { color:var(--mp-muted); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.mobile-more-drawer { display:none; }

@media (max-width:900px) {
  .side { display:none!important; }
  .app { display:block!important; width:100%; }
  .main { width:100%; margin:0; }
  .top { width:auto; }
  .mobile-brand { min-width:0; }
  .mobile-brand strong { white-space:nowrap; }
  .profile-popover { position:fixed; top:66px; right:12px; width:min(210px,calc(100vw - 24px)); }
  #sign-out-button { width:100%; min-width:0; min-height:42px; padding:9px 11px; overflow:visible; border-radius:8px; font-size:13px; }
  #sign-out-button::before { display:none; }
  .mobile-more-drawer { position:fixed; z-index:15; right:10px; bottom:calc(72px + env(safe-area-inset-bottom)); left:10px; display:block; padding:12px; border:1px solid var(--mp-border); border-radius:16px; background:rgba(7,17,33,.98); box-shadow:0 22px 60px rgba(0,0,0,.55); backdrop-filter:blur(18px); }
  .mobile-more-drawer[hidden] { display:none; }
  .mobile-more-head { display:flex; align-items:center; justify-content:space-between; padding:3px 4px 10px; }
  .mobile-more-head button { width:36px; height:36px; border:0; border-radius:9px; background:var(--mp-surface-raised); color:var(--mp-text); font-size:24px; cursor:pointer; }
  .mobile-more-links { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .mobile-more-links button { min-height:48px; padding:11px; border:1px solid var(--mp-border); border-radius:10px; background:var(--mp-surface); color:var(--mp-text); font:inherit; font-weight:650; text-align:left; cursor:pointer; }
  .mobile-nav { width:100%; grid-template-columns:repeat(5,minmax(0,1fr)); }
  .mobile-nav .nav { width:100%; min-width:0; }
  .profile-page-grid { grid-template-columns:1fr; }
  .profile-security-card { grid-column:auto; }
  #page-activity .activity-layout { gap:14px; }
  #page-activity .empty { min-height:0; padding:28px 16px; }
  #page-campaigns .composer-card { gap:13px; padding:16px; border-radius:14px; }
  #page-campaigns textarea { min-height:190px; }
  #page-campaigns .workspace-head { margin-bottom:16px; }
  #page-campaigns .studio-checklist { padding:16px; border-radius:14px; }
  .button,.login-provider,.web-login form .button { min-height:44px; border-radius:10px; }
  .finance-pagination { padding-top:4px; }
  .finance-pagination .button { min-width:96px; }
  .finance-pagination span { flex:1; text-align:center; }
}

@media (max-width:430px) {
  .top { padding-inline:12px; }
  .notification-trigger { min-width:38px; }
  .profile-page-head { align-items:flex-start; }
  .profile-page-avatar { width:56px; height:56px; font-size:17px; }
  .profile-page-head h2 { font-size:28px; }
  .login-intro h2 { color:var(--mp-text)!important; }
  .login-brand strong { color:var(--mp-text); }
  .signed-out .web-login { padding:24px 22px max(26px,env(safe-area-inset-bottom)); }
  .signed-out .login-provider { justify-content:flex-start; padding-inline:22px; }
  .provider-strip .provider-card { min-height:88px!important; }
}

body { background: var(--mp-bg); }
.app { grid-template-columns: 248px minmax(0,1fr); }
.side { display:flex; flex-direction:column; background:var(--mp-surface); box-shadow:none; }
.mark { width:32px; height:32px; border-radius:7px; background:var(--mp-brand); color:#fff; box-shadow:none; font-size:15px; font-weight:850; }
.mark::before,.mark::after { display:none; }
.mark { overflow:hidden; background:transparent; }
.mark img { display:block; width:100%; height:100%; object-fit:contain; }
.side nav { margin-top:8px; }
.nav { border-radius:7px; font-size:13px; font-weight:600; }
.nav > span:empty { display:none; }
.nav.active { border-color:transparent; background:rgba(85,119,246,.13); color:#8fa6ff; }
.nav.active::before { left:-14px; height:26px; border-radius:0; background:var(--mp-brand); }
.theme-control { display:grid; gap:7px; margin-top:auto; padding:18px 8px 4px; border-top:1px solid var(--mp-border); }
.theme-control label { color:var(--mp-muted); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.theme-control select { min-height:38px; padding:8px 10px; border-radius:7px; }
.main { max-width:none; padding:28px 36px 100px; }
.top { min-height:62px; margin:-28px -36px 25px; padding:15px 36px; background:var(--mp-surface); }
.top h1 { font-size:20px; }
.hero,.card,.item,.notice,.composer-card,.studio-checklist { background:var(--mp-surface); box-shadow:none; }
.button { border-radius:6px; background:var(--mp-brand); box-shadow:none; }
.button.secondary { background:transparent; }

.mailbox-crumb { margin-bottom:24px; color:var(--mp-muted); font-size:13px; }
.mailbox-crumb span { margin:0 8px; color:var(--mp-border-strong); }
.connection-steps { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:34px; color:var(--mp-muted); font-size:12px; }
.connection-steps span { display:flex; align-items:center; gap:9px; border-bottom:1px solid var(--mp-border); padding-bottom:13px; }
.connection-steps b { display:grid; width:25px; height:25px; place-items:center; border:1px solid var(--mp-border-strong); border-radius:50%; font-size:11px; }
.connection-steps .active { color:var(--mp-text); border-color:var(--mp-brand); }
.connection-steps .active b { border-color:var(--mp-brand); color:#9fb1ff; }
.connection-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:38px; }
.connection-main { min-width:0; }
.connection-main .workspace-head { align-items:start; }
.connection-main .workspace-head h2 { font-size:32px; }
.provider-strip { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; margin:26px 0; }
.provider-strip .provider-card { min-width:0; overflow:hidden; display:flex; min-height:118px; align-items:center; justify-content:center; gap:12px; padding:14px 8px; border:1px solid var(--mp-border); border-radius:8px; background:transparent; color:var(--mp-text); box-shadow:none; cursor:pointer; }
.provider-strip .provider-card:hover { transform:none; border-color:var(--mp-brand); box-shadow:none; }
.provider-strip .provider-logo { width:40px; height:40px; border-radius:9px; background:var(--mp-surface-raised); font-size:13px; }
.provider-strip .provider-card strong { font-size:11px; line-height:1.2; text-align:center; }
.provider-strip .provider-skeleton { height:118px; border-radius:8px; }
.detect-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:end; padding-top:8px; }
.detect-form .button { min-width:146px; }
.detected-provider { margin-top:18px; padding:20px; border:1px solid var(--mp-border); border-radius:8px; background:var(--mp-surface-raised); }
.detected-provider[hidden] { display:none; }
.detected-head { display:flex; justify-content:space-between; gap:16px; align-items:start; }
.detected-head h3 { margin:4px 0 0; font-size:20px; }
.detected-label { color:#67d5a4; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.verified-dot { color:#67d5a4; font-size:12px; }
.provider-notice { padding:11px 12px; border-left:2px solid var(--mp-brand); background:rgba(85,119,246,.07); color:var(--mp-muted); }
.server-summary { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:15px 0; background:var(--mp-border); border:1px solid var(--mp-border); }
.server-summary span { display:grid; gap:5px; padding:12px; background:var(--mp-surface); color:var(--mp-muted); font-size:12px; }
.server-summary b { color:var(--mp-text); font-size:11px; }
.advanced-connect { margin-top:22px; padding:17px 0; border-top:1px solid var(--mp-border); border-bottom:1px solid var(--mp-border); }
.advanced-connect summary { cursor:pointer; font-weight:700; }
.advanced-connect summary span { margin-left:8px; color:var(--mp-muted); font-size:11px; font-weight:400; }
.access-panel { padding-left:30px; border-left:1px solid var(--mp-border); }
.access-panel h3 { margin-top:0; }
.access-panel ul { display:grid; gap:24px; margin:28px 0; padding:0; list-style:none; }
.access-panel li { display:grid; gap:3px; }
.access-panel li span,.privacy-block span { color:var(--mp-muted); font-size:12px; line-height:1.55; }
.privacy-block { display:grid; gap:6px; padding-top:22px; border-top:1px solid var(--mp-border); }
.web-login { display:grid; max-width:620px; gap:20px; margin:60px auto; padding:34px; border:1px solid var(--mp-border); border-radius:10px; background:var(--mp-surface); }
.web-login[hidden] { display:none; }
.web-login h2 { margin:5px 0; font-size:32px; }
.web-login form { display:grid; gap:10px; }
.web-login-divider { display:flex; align-items:center; gap:12px; color:var(--mp-muted); font-size:11px; }
.web-login-divider::before,.web-login-divider::after { height:1px; flex:1; background:var(--mp-border); content:""; }
.web-login-oauth { display:grid; gap:10px; }
.top-actions { display:flex; align-items:center; gap:9px; }
.command-trigger,.notification-trigger { min-height:36px; border:1px solid var(--mp-border); border-radius:6px; background:var(--mp-surface-raised); color:var(--mp-muted); cursor:pointer; }
.command-trigger { min-width:220px; padding:7px 10px; text-align:left; }
.command-trigger kbd { float:right; color:var(--mp-muted); }
.notification-trigger { padding:7px 10px; }
.notification-trigger b { margin-left:5px; color:var(--mp-text); }
.onboarding-card { display:grid; gap:14px; margin-top:18px; padding:20px; border:1px solid var(--mp-border); border-radius:8px; background:var(--mp-surface); }
.onboarding-card h3 { margin:3px 0; }
.onboarding-progress { width:100%; height:6px; overflow:hidden; border:0; border-radius:99px; background:var(--mp-surface-raised); appearance:none; }
.onboarding-progress::-webkit-progress-bar { background:var(--mp-surface-raised); }
.onboarding-progress::-webkit-progress-value { background:var(--mp-brand); transition:width .3s ease; }
.onboarding-progress::-moz-progress-bar { background:var(--mp-brand); transition:width .3s ease; }
.onboarding-steps { display:flex; gap:8px; overflow:auto; }
.onboarding-steps span { min-width:max-content; padding:7px 9px; border:1px solid var(--mp-border); border-radius:6px; color:var(--mp-muted); font-size:10px; }
.onboarding-steps .complete { border-color:rgba(73,201,140,.35); color:#67d5a4; }
.mailbox-actions { display:grid; gap:7px; margin-top:16px; }
.button.danger { border:1px solid rgba(240,111,111,.35); background:transparent; color:#f38a8a; }
.activity-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); gap:28px; }
.timeline { display:grid; }
.timeline-event { display:grid; grid-template-columns:12px 1fr; gap:10px; padding:14px 0; border-bottom:1px solid var(--mp-border); }
.timeline-event i { width:8px; height:8px; margin-top:6px; border-radius:50%; background:var(--mp-brand); }
.timeline-event div { display:grid; gap:3px; }
.timeline-event span { color:var(--mp-muted); font-size:11px; }
.notification-item { display:grid; gap:4px; padding:13px; border:1px solid var(--mp-border); border-radius:7px; background:var(--mp-surface); color:var(--mp-text); text-align:left; cursor:pointer; }
.notification-item.unread { border-left:3px solid var(--mp-brand); }
.notification-item span,.notification-item small { color:var(--mp-muted); font-size:11px; }
.campaign-launch-panel { margin:24px 0; padding:22px; border:1px solid var(--mp-brand); border-radius:9px; background:var(--mp-surface); scroll-margin-top:20px; }
.campaign-launch-panel[hidden] { display:none; }
.campaign-prerequisite-status { margin:14px 0 12px; color:var(--mp-muted); font-size:12px; }
.campaign-pagination { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:14px; }
.campaign-pagination[hidden] { display:none; }
.campaign-pagination span { min-width:90px; color:var(--mp-muted); font-size:12px; text-align:center; }
.preflight-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:16px 0; }
.preflight-grid span { padding:10px; border:1px solid var(--mp-border); border-radius:6px; color:var(--mp-muted); font-size:11px; }
.settings-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.saved-search-form { display:grid; grid-template-columns:1fr 1fr auto; gap:8px; margin-bottom:14px; }
.command-dialog { width:min(680px,calc(100vw - 28px)); max-height:75vh; padding:18px; border:1px solid var(--mp-border); border-radius:10px; background:var(--mp-surface); color:var(--mp-text); }
.command-dialog::backdrop { background:rgba(0,0,0,.65); backdrop-filter:blur(3px); }
.command-dialog > input { margin:10px 0 14px; }
.dialog-close { float:right; border:0; background:transparent; color:var(--mp-muted); cursor:pointer; }

.intelligence-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px; }
.intelligence-head h2 { max-width:760px; margin:5px 0 7px; font-size:32px; line-height:1.15; }
.intelligence-search { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; max-width:760px; margin-bottom:22px; }
.intelligence-search input { min-height:44px; }
.intelligence-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:24px; }
.intelligence-metric { display:grid; min-height:128px; align-content:space-between; padding:17px; border:1px solid var(--mp-border); border-radius:8px; background:var(--mp-surface); }
.intelligence-metric span,.intelligence-metric small { color:var(--mp-muted); font-size:12px; }
.intelligence-metric strong { font-size:29px; letter-spacing:-.035em; }
.metric-skeleton { height:128px; border:1px solid var(--mp-border); border-radius:8px; background:var(--mp-surface); opacity:.65; }
.provider-tabs { display:flex; gap:4px; overflow:auto; margin-bottom:0; border-bottom:1px solid var(--mp-border); }
.provider-tab { display:flex; min-width:max-content; align-items:center; gap:8px; padding:11px 12px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--mp-muted); cursor:pointer; text-transform:capitalize; }
.provider-tab b { display:grid; min-width:22px; height:20px; place-items:center; border-radius:5px; background:var(--mp-surface-raised); color:var(--mp-muted); font-size:10px; }
.provider-tab.active { border-bottom-color:var(--mp-brand); color:var(--mp-text); }
.intelligence-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; min-height:430px; }
.intelligence-table-shell { min-width:0; border-right:1px solid var(--mp-border); }
.intelligence-table-head,.intelligence-row { display:grid; grid-template-columns:minmax(210px,1.4fr) minmax(135px,.8fr) minmax(120px,.7fr) minmax(180px,1fr) minmax(100px,.6fr); gap:14px; align-items:center; width:100%; }
.intelligence-table-head { padding:13px 14px; border-bottom:1px solid var(--mp-border); color:var(--mp-muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.intelligence-row { padding:15px 14px; border:0; border-bottom:1px solid var(--mp-border); background:transparent; color:var(--mp-text); text-align:left; cursor:pointer; }
.intelligence-row:hover,.intelligence-row:focus-visible { background:var(--mp-surface-raised); }
.intelligence-row span { min-width:0; }
.intelligence-row b { display:block; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.intelligence-row small { display:block; overflow:hidden; margin-top:3px; color:var(--mp-muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.health-state { display:flex; align-items:center; gap:7px; font-size:11px; }
.health-state i { width:7px; height:7px; border-radius:50%; background:#e6aa4a; }
.health-state.healthy i { background:#49c98c; }
.health-state.attention i { background:#f06f6f; }
.intelligence-rail { padding:22px; background:var(--mp-surface); }
.intelligence-rail h3 { margin:5px 0; }
.signal-stack { display:grid; gap:0; margin:20px 0; border-top:1px solid var(--mp-border); }
.signal-stack span { padding:12px 0; border-bottom:1px solid var(--mp-border); color:var(--mp-muted); font-size:11px; }
.signal-stack b { margin-right:3px; color:var(--mp-text); font-size:16px; }
.search-results { margin-top:28px; padding-top:24px; border-top:1px solid var(--mp-border); scroll-margin-top:18px; }
.search-results[hidden] { display:none; }
.search-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.search-result { display:grid; width:100%; gap:3px; padding:13px; border:1px solid var(--mp-border); border-radius:7px; background:var(--mp-surface); color:var(--mp-text); text-align:left; }
button.search-result { cursor:pointer; }
button.search-result:hover { border-color:var(--mp-brand); }
.search-result span,.search-result small { color:var(--mp-muted); font-size:11px; }
.search-scope { margin-top:18px; color:var(--mp-muted); font-size:11px; }

@media(max-width:1180px){.intelligence-layout{grid-template-columns:1fr}.intelligence-table-shell{border-right:0}.intelligence-rail{border-top:1px solid var(--mp-border)}.intelligence-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1100px){.connection-layout{grid-template-columns:1fr}.access-panel{padding:24px 0 0;border-left:0;border-top:1px solid var(--mp-border)}.provider-strip{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.theme-control{display:none}.top{margin:-18px -16px 18px;padding:14px 16px}.connection-steps{margin-top:8px}.provider-strip{display:flex;overflow:auto;padding-bottom:5px}.provider-strip .provider-card{min-width:105px}.connection-layout{gap:22px}.access-panel{display:none}.intelligence-table-head{display:none}.intelligence-row{grid-template-columns:1fr 1fr}.intelligence-row .mailbox-identity{grid-column:1/-1}.intelligence-head{align-items:stretch;flex-direction:column}.intelligence-head .button{width:100%}.command-trigger{display:none}.activity-layout,.settings-grid{grid-template-columns:1fr}}
@media(max-width:560px){.connection-steps span{font-size:0}.connection-steps b{font-size:11px}.detect-form,.intelligence-search,.search-result-grid,.web-login form,.web-login-oauth,.saved-search-form,.preflight-grid{grid-template-columns:1fr}.server-summary{grid-template-columns:1fr}.connection-main .workspace-head h2,.intelligence-head h2{font-size:28px}.advanced-connect summary span{display:block;margin:4px 0 0}.intelligence-metrics{grid-template-columns:1fr 1fr}.intelligence-metric{min-height:112px}.intelligence-row{grid-template-columns:1fr}.intelligence-row .mailbox-identity{grid-column:auto}.intelligence-rail{display:block}.web-login{margin:24px 0;padding:22px}.top-actions .health{display:none}}

@media (max-width: 560px) {
  .metric { min-height: 116px; }
  .hero h2 { line-height: 1.02; }
  .workspace-head { align-items: stretch; flex-direction: column; }
  .workspace-head .button { width: 100%; }
  .provider-grid { grid-template-columns: 1fr; }
  .provider-card { min-height: 238px; }
  .provider-toolbar { align-items: flex-start; flex-direction: column; }
  .security-note,.verification-disclosure { grid-template-columns: 1fr; gap: 5px; }
  .composer-card { padding: 17px; }
  .composer-actions { align-items: stretch; flex-direction: column; }
  .composer-actions .button { width: 100%; }
  .personalization-help { grid-template-columns: 1fr; gap: 4px; }
}

.mailbox-view-toolbar{display:grid;grid-template-columns:1.3fr .7fr 2fr auto;gap:10px;margin:20px 0}.mailbox-message-list{display:grid;border:1px solid var(--mp-border);border-radius:18px;overflow:hidden}.mailbox-message{display:grid;grid-template-columns:minmax(150px,.7fr) 1.2fr 2fr auto;gap:16px;align-items:center;text-align:left;padding:15px 18px;border:0;border-bottom:1px solid var(--mp-border);background:var(--mp-surface);color:var(--mp-text);cursor:pointer}.mailbox-message:hover{background:var(--mp-surface-2)}.mailbox-message span,.mailbox-message small{color:var(--mp-muted)}.domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.domain-card{display:grid;gap:8px;text-align:left;padding:18px;border:1px solid var(--mp-border);border-radius:18px;background:var(--mp-surface);color:var(--mp-text);cursor:pointer}.domain-card:hover{border-color:var(--mp-accent)}.domain-card strong{font-size:32px}.domain-card small,.domain-card div{color:var(--mp-muted)}.domain-card b{color:var(--mp-text);margin-left:8px}@media(max-width:900px){.mailbox-view-toolbar{grid-template-columns:1fr 1fr}.mailbox-message{grid-template-columns:1fr 1fr}.mailbox-message span:nth-of-type(2){display:none}.domain-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.mailbox-view-toolbar,.domain-grid{grid-template-columns:1fr}.mailbox-message{grid-template-columns:1fr}}

/* railway-release: mailpilot-ui-stability-20260826 */

/* Dashboard primitives are legacy foundations only. Keeping them in a low-priority
   cascade layer prevents this extracted block from overriding the approved product
   system and its responsive rules merely because it appears later in the file. */
@layer legacy {
:root{--bg:#070b14;--panel:#101827;--line:#263550;--text:#f7f9ff;--muted:#9aa8bd;--a:#7c6cff;--b:#22d3ee;--ok:#36d399;--bad:#fb7185}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 90% 0,#17254a,transparent 34%),var(--bg);color:var(--text);font:15px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}button,input,select{font:inherit}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.side{position:sticky;top:0;height:100vh;padding:24px 16px;border-right:1px solid var(--line);background:#080d18dd;backdrop-filter:blur(20px)}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 24px}.mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--a),var(--b));box-shadow:0 12px 35px #536cff55;font-size:22px}.muted{color:var(--muted)}nav{display:grid;gap:5px}.nav{border:0;color:var(--muted);background:transparent;text-align:left;padding:12px 14px;border-radius:13px;cursor:pointer;display:flex;gap:10px;transition:.2s}.nav:hover,.nav.active{color:white;background:#18253b;transform:translateX(2px)}.nav[hidden]{display:none}.main{padding:26px clamp(18px,4vw,48px) 110px;max-width:1400px;width:100%}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.top h1{margin:0;font-size:28px}.health,.badge{padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.notice{padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:#111b2d;margin-bottom:18px}.notice.success{border-color:#36d39966;color:#a7f3d0}.notice.error{border-color:#fb718566;color:#fecdd3}.page{display:none;animation:up .25s}.page.active{display:block}@keyframes up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hero{padding:28px;border:1px solid #34486c;border-radius:28px;background:linear-gradient(135deg,#192543,#0e1729);overflow:hidden}.hero h2{font-size:clamp(29px,5vw,47px);line-height:1.05;max-width:750px;margin:12px 0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:18px}.grid.two,.form{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.item{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,var(--panel),#0d1421);padding:20px}.item{border-radius:15px;padding:15px}.metric strong{display:block;font-size:31px;margin:5px 0}.action{cursor:pointer;text-align:left;color:inherit;transition:.2s}.action:hover{transform:translateY(-3px);border-color:#6675ff}.action h3{margin:12px 0 5px}.button{border:0;border-radius:13px;padding:11px 15px;color:white;background:linear-gradient(135deg,var(--a),#5869ec);font-weight:750;cursor:pointer}.button.secondary{background:#1b2940;border:1px solid var(--line)}.button:disabled{opacity:.42;cursor:not-allowed}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.list{display:grid;gap:10px}.section-head,.item-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-head{margin-bottom:16px}.section-head h2{margin:0}.form{display:grid;gap:12px}.field{display:grid;gap:6px;color:var(--muted);font-size:13px}input,select{width:100%;border:1px solid var(--line);background:#09111f;color:white;border-radius:12px;padding:12px;outline:none}input:focus,select:focus{border-color:var(--a);box-shadow:0 0 0 3px #7c6cff22}.checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.check{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:9px;border-radius:11px;color:var(--muted)}.check input{width:auto}.gate{display:none;padding:25px;border:1px solid #695ee0;border-radius:24px;background:linear-gradient(135deg,#211c46,#111a2c);margin-bottom:20px}.gate.open{display:block}.empty{text-align:center;padding:36px;color:var(--muted)}.progress{width:100%;height:8px;border:0;border-radius:99px;overflow:hidden;background:#233047;appearance:none}.progress::-webkit-progress-bar{background:#233047}.progress::-webkit-progress-value{background:linear-gradient(90deg,var(--a),var(--b))}.progress::-moz-progress-bar{background:linear-gradient(90deg,var(--a),var(--b))}.toast{display:none;position:fixed;z-index:10;right:20px;bottom:22px;max-width:360px;padding:13px 16px;background:#17243a;border:1px solid var(--ok);border-radius:14px;box-shadow:0 20px 60px #0008}.toast.error{border-color:var(--bad)}.toast.show{display:block}.mobile-nav{display:none}@media(max-width:900px){.app{display:block}.side{display:none}.main{padding:18px 16px 105px}.grid{grid-template-columns:repeat(2,1fr)}.mobile-nav{display:flex;position:fixed;z-index:5;bottom:0;left:0;right:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#09111fee;border-top:1px solid var(--line);backdrop-filter:blur(18px);overflow:auto}.mobile-nav .nav{min-width:76px;display:grid;place-items:center;padding:7px;font-size:11px;gap:2px}.mobile-nav .nav span{font-size:19px}}@media(max-width:560px){.grid,.grid.two,.form,.checks{grid-template-columns:1fr}.hero h2{font-size:31px}.top h1{font-size:23px}}.section-gap-sm{margin-top:12px}.section-gap{margin-top:16px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
}

/* Read-only admin finance reporting. */
.admin-finance{margin-bottom:28px}.finance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.finance-layout,.finance-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.finance-revenue-row,.finance-user-row{display:flex;justify-content:space-between;gap:18px;align-items:center;text-align:left}.finance-revenue-row>div:last-child,.finance-user-row>span:last-child{text-align:right}.finance-user-table{display:grid;gap:1px;overflow:hidden;border:1px solid var(--mp-border);border-radius:8px}.finance-user-row{width:100%;padding:14px;border:0;border-bottom:1px solid var(--mp-border);background:var(--mp-surface);color:var(--mp-text);cursor:pointer}.finance-user-row:last-child{border-bottom:0}.finance-user-row:hover,.finance-user-row:focus-visible{background:var(--mp-surface-raised)}.finance-user-row span{display:grid;gap:3px;min-width:0}.finance-user-row strong{overflow:hidden;text-overflow:ellipsis}.finance-user-row small{color:var(--mp-muted)}.finance-detail{scroll-margin-top:20px}
@media(max-width:1000px){.finance-metrics{grid-template-columns:repeat(2,1fr)}.finance-layout{grid-template-columns:1fr}}@media(max-width:560px){.finance-metrics,.finance-detail-grid{grid-template-columns:1fr}.finance-revenue-row,.finance-user-row{align-items:flex-start;flex-direction:column}.finance-revenue-row>div:last-child,.finance-user-row>span:last-child{text-align:left}}

.finance-toolbar{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-bottom:14px}.finance-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:12px}.finance-pagination,.finance-export-row{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:12px}.finance-export-row{justify-content:flex-start}
@media(max-width:560px){.finance-toolbar,.finance-search{grid-template-columns:1fr}.finance-pagination{align-items:stretch;flex-wrap:wrap}.finance-pagination .button{flex:1}}


/* Focused unauthenticated entry */
.signed-out .app { display: block; }
.signed-out .side,
.signed-out .top,
.signed-out #auth-status,
.signed-out #access-gate,
.signed-out .page,
.signed-out .mobile-nav { display: none; }
.signed-out .main {
  width: min(100%, 600px);
  margin: 0 auto;
  padding: 28px 20px 46px;
}
.signed-out .web-login {
  margin: 0;
  min-height: calc(100vh - 56px);
  align-content:center;
  padding: clamp(30px, 6vw, 58px);
  border-color:#243652;
  border-radius:2px;
  background:radial-gradient(circle at 8% 92%,rgba(77,64,225,.28),transparent 34%),#07101f;
}
.login-brand{display:grid;justify-items:center;gap:13px;margin-bottom:6px;font-size:24px;letter-spacing:.24em}
.login-brand img{width:58px;height:58px;object-fit:contain}
.login-intro{text-align:center}
.login-intro h2{line-height:1.18}
.login-intro p{margin:12px 0 0;color:var(--mp-muted);line-height:1.55}
.login-label{color:#9d8cff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}
.login-provider{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:1px solid var(--mp-border);background:#0b1628}
.login-provider svg,.web-login form .button svg{width:18px;height:18px}
.login-provider .provider-letter{display:grid;place-items:center;width:20px;height:20px;font-weight:900}
.google-letter{color:#60a5fa}
.microsoft-letter{color:#67d5a4}
.web-login form .button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px}
.web-login input{min-height:48px}
.login-ready{display:flex;align-items:center;gap:10px;margin:0;padding:12px 14px;border:1px solid var(--mp-border);border-radius:6px;background:#0a1527;color:#9fb0c7}
.login-ready-dot{width:16px;height:16px;border:2px dotted #7c6cff;border-radius:50%}
.login-terms{margin:0;text-align:center;color:var(--mp-muted);font-size:11px}
.login-terms a{color:#9d8cff;text-decoration:none}
.telegram-login-button{background:#0b1628;color:#fff}
.telegram-login-button:hover{background:#12233b}

@media (max-width: 600px) {
  .signed-out .main { padding: 0; }
  .signed-out .web-login { min-height:100vh;padding: 30px 28px; border:0; border-radius: 0; }
  .signed-out .web-login h2 {
    margin: 8px 0 12px;
    font-size: 28px;
    line-height: 1.18;
  }
  .signed-out .web-login .muted { font-size: 16px; line-height: 1.5; }
  .signed-out .web-login-oauth { gap: 10px; }
}

@media (max-width: 900px) {
  .mobile-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: hidden;
    padding-inline: 6px;
  }
  .mobile-nav .nav {
    min-width: 0;
    padding: 7px 2px;
    gap: 3px;
    font-size: 9px;
    transform: none;
  }
  .mobile-nav .nav span { font-size: 9px; line-height: 1.15; white-space: nowrap; }
  .mobile-nav .nav svg { width: 18px; height: 18px; }
  body:not(.signed-out) #auth-status { display: none; }
  .readiness-card { grid-template-columns: 58px minmax(0, 1fr) auto; }
  .readiness-card .button {
    grid-column: auto;
    justify-self: end;
    padding: 7px 9px;
    font-size: 9px;
  }
  .summary-link { min-height: 56px; padding: 8px; }
  .readiness-card { min-height: 82px; padding: 9px 10px; }
  .next-action-card { padding: 14px; }
  .home-provider-grid { margin-block: 12px 9px; }
  .home-provider-grid button { min-height: 64px; }
  .home-metrics div { padding: 9px 10px; }
  #page-dashboard .onboarding-card { padding: 12px; }
  #page-dashboard .onboarding-card { gap: 8px; }
  #page-dashboard .onboarding-card h3,
  #page-dashboard .onboarding-progress { display: none; }
  #page-dashboard .onboarding-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; overflow: visible; }
  #page-dashboard .onboarding-steps span { display: grid; min-width: 0; min-height: 64px; grid-template-rows: 22px auto auto; place-items: center; gap: 2px; padding: 3px; border: 0; text-align: center; }
  #page-dashboard .onboarding-steps b { display: grid; width: 21px; height: 21px; place-items: center; border: 1px solid var(--mp-border-strong); border-radius: 50%; color: var(--mp-text); font-size: 9px; }
  #page-dashboard .onboarding-steps .complete b { border-color: var(--mp-brand); background: var(--mp-brand); }
  #page-dashboard .onboarding-steps strong { color: var(--mp-text); font-size: 9px; font-weight: 600; }
  #page-dashboard .onboarding-steps small { color: var(--mp-muted); font-size: 8px; }
}

/* Approved LANTRIVE mobile access and core workspace flow */
.mobile-mailbox-title { display:none; }
.provider-heading { display:block; margin-top:26px; }
.provider-help { margin:12px 0 0; color:var(--mp-muted); font-size:12px; text-align:center; }
.advanced-connect summary strong { display:block; color:var(--mp-text); }
.advanced-connect summary > span { display:block; margin-top:4px; color:var(--mp-muted); font-size:11px; font-weight:500; }

@media (max-width:900px) {
  body[data-active-page="mailboxes"] .top,
  body[data-active-page="intelligence"] .top { display:none; }
  body[data-active-page="mailboxes"] .main,
  body[data-active-page="intelligence"] .main { padding-top:12px; }

  #page-dashboard { padding-bottom:4px; }
  #page-dashboard .home-summary { gap:8px; }
  #page-dashboard .summary-link { min-height:54px; padding:8px 9px; }
  #page-dashboard .summary-link small { font-size:8px; }
  #page-dashboard .summary-link strong { font-size:10px; }
  #page-dashboard .readiness-card { min-height:78px; grid-template-columns:52px minmax(0,1fr) auto; gap:9px; padding:9px 10px; }
  #page-dashboard .readiness-ring { width:48px; height:48px; border-width:6px; }
  #page-dashboard .readiness-ring strong { font-size:15px; }
  #page-dashboard .readiness-card small { font-size:8px; }
  #page-dashboard .readiness-card h2 { margin:2px 0; font-size:15px; }
  #page-dashboard .readiness-card p { font-size:9px; line-height:1.3; }
  #page-dashboard .readiness-card .button { min-height:31px; padding:6px 8px; font-size:8px; }
  #page-dashboard .next-action-card { padding:12px; }
  #page-dashboard .next-action-heading { gap:10px; }
  #page-dashboard .next-action-card h2 { font-size:17px; }
  #page-dashboard .next-action-card p { font-size:10px; line-height:1.35; }
  #page-dashboard .home-provider-grid { margin:10px 0 8px; gap:7px; }
  #page-dashboard .home-provider-grid button { min-height:61px; padding:7px 3px; font-size:8px; }
  #page-dashboard .home-connect-button { min-height:37px; padding:8px 12px; }
  #page-dashboard .security-caption { margin-top:7px!important; font-size:9px; }
  #page-dashboard .home-metrics { margin-top:9px; }
  #page-dashboard .home-metrics div { padding:8px 9px; }
  #page-dashboard .home-metrics span,
  #page-dashboard .home-metrics small { font-size:8px; }
  #page-dashboard .home-metrics strong { font-size:19px; }
  #page-dashboard .onboarding-card { gap:8px; margin-top:9px; padding:11px; }
  #page-dashboard .onboarding-card h3,
  #page-dashboard .onboarding-progress { display:none; }
  #page-dashboard .onboarding-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  #page-dashboard .onboarding-step { min-width:0; }
  #page-dashboard .onboarding-steps > * { min-width:0; padding:0 3px; }
  #page-dashboard .onboarding-steps b { width:24px; height:24px; font-size:9px; }
  #page-dashboard .onboarding-steps strong { font-size:8px; line-height:1.2; text-align:center; }
  #page-dashboard .onboarding-steps small { font-size:7px; line-height:1.2; text-align:center; }
  #page-dashboard .home-activity-card { margin-top:9px; padding:10px 11px; }
  #page-dashboard .home-activity-card strong { font-size:10px; }
  #page-dashboard .home-activity-card p { font-size:8px; }
  #page-dashboard .home-activity-card .button { min-height:31px; padding:6px 8px; font-size:8px; }

  #page-mailboxes { padding-top:0; }
  #page-mailboxes .mailbox-crumb { display:flex; align-items:center; gap:5px; margin:0 0 4px; color:#a995ff; font-size:10px; font-weight:700; }
  #page-mailboxes .mailbox-crumb span { color:inherit; font-size:17px; line-height:1; }
  #page-mailboxes .mobile-mailbox-title { display:block; margin:0 0 12px; font-size:24px; letter-spacing:-.045em; }
  #page-mailboxes .connection-steps { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 0 18px; padding:0 0 13px; border-bottom:1px solid var(--mp-border); }
  #page-mailboxes .connection-steps::before { position:absolute; z-index:0; top:11px; right:16.666%; left:16.666%; height:1px; background:var(--mp-border); content:""; }
  #page-mailboxes .connection-steps span { position:relative; z-index:1; display:grid; justify-items:center; gap:5px; color:var(--mp-muted); font-size:8px; font-weight:650; }
  #page-mailboxes .connection-steps b { display:grid; width:23px; height:23px; place-items:center; border:1px solid var(--mp-border-strong); border-radius:50%; background:var(--mp-bg); color:var(--mp-muted); font-size:8px; }
  #page-mailboxes .connection-steps .active { color:#ad9bff; }
  #page-mailboxes .connection-steps .active b { border-color:#7b4dff; color:#c7bbff; box-shadow:0 0 0 2px rgba(123,77,255,.08); }
  #page-mailboxes .connection-layout { display:block; }
  #page-mailboxes .connection-main .workspace-head { display:none; }
  #page-mailboxes .provider-heading { margin:0 0 8px; font-size:8px; }
  #page-mailboxes .provider-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 16px; padding:0; overflow:visible; }
  #page-mailboxes .provider-strip .provider-card { min-width:0; min-height:92px; flex-direction:column; gap:7px; padding:9px 5px; border-radius:7px; }
  #page-mailboxes .provider-strip .provider-card:focus-visible { border-color:#7b4dff; }
  #page-mailboxes .provider-strip .provider-logo { width:34px; height:34px; border-radius:8px; font-size:10px; }
  #page-mailboxes .provider-strip .provider-logo { overflow:hidden; color:#fff; }
  #page-mailboxes .provider-strip .provider-card strong { font-size:9px; line-height:1.15; }
  #page-mailboxes .provider-strip .provider-skeleton { height:92px; }
  #page-mailboxes .detect-form { grid-template-columns:1fr; gap:9px; padding:0; }
  #page-mailboxes .detect-form .field { gap:5px; font-size:10px; }
  #page-mailboxes .detect-form input { min-height:42px; padding:9px 11px; font-size:12px; }
  #page-mailboxes .detect-form .button { width:100%; min-height:40px; padding:8px 12px; font-size:11px; }
  #page-mailboxes .provider-help { margin:8px 14px 0; font-size:8px; line-height:1.4; }
  #page-mailboxes .detected-provider { margin-top:12px; padding:13px; }
  #page-mailboxes .detected-head h3 { font-size:17px; }
  #page-mailboxes .detected-provider .button { min-height:38px; padding:8px 12px; font-size:10px; }
  #page-mailboxes .advanced-connect { margin-top:14px; border:1px solid var(--mp-border); border-radius:7px; background:var(--mp-surface); }
  #page-mailboxes .advanced-connect summary { position:relative; display:block; padding:11px 34px 11px 12px; }
  #page-mailboxes .advanced-connect summary strong { font-size:11px; }
  #page-mailboxes .advanced-connect summary > span { font-size:8px; }
  #page-mailboxes .advanced-connect summary::after { position:absolute; top:12px; right:13px; color:var(--mp-muted); content:"›"; font-size:17px; }
  #page-mailboxes .advanced-connect[open] summary::after { transform:rotate(90deg); }
  #page-mailboxes .advanced-connect > p,
  #page-mailboxes .advanced-connect > button { margin-right:12px; margin-left:12px; }
  #page-mailboxes .advanced-connect > button { margin-bottom:12px; }
  #page-mailboxes .access-panel { display:none; }

  #page-intelligence .intelligence-head { display:block; }
  #page-intelligence .intelligence-head .overline,
  #page-intelligence .intelligence-head p { display:none; }
  #page-intelligence .intelligence-head h2 { margin:0 0 12px; font-size:22px; letter-spacing:-.04em; }
  #page-intelligence .intelligence-head .button { display:none; }
  #page-intelligence .intelligence-search { grid-template-columns:minmax(0,1fr) 38px; gap:7px; margin:0 0 10px; }
  #page-intelligence .intelligence-search .button { width:38px; min-width:38px; overflow:hidden; padding:0; font-size:0; }
  #page-intelligence .intelligence-search .button::after { content:"⌕"; font-size:16px; }
  #page-intelligence .intelligence-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  #page-intelligence .intelligence-metrics > * { min-width:0; min-height:52px; padding:8px 6px; }
  #page-intelligence .intelligence-metrics strong { font-size:15px; }
  #page-intelligence .intelligence-metrics span { font-size:7px; line-height:1.2; }
  #page-intelligence .provider-tabs { display:flex; gap:6px; margin:10px 0; overflow-x:auto; scrollbar-width:none; }
  #page-intelligence .provider-tabs::-webkit-scrollbar { display:none; }
  #page-intelligence .provider-tabs button { flex:none; min-height:27px; padding:5px 8px; font-size:8px; }
  #page-intelligence .intelligence-layout { overflow:hidden; border:1px solid var(--mp-border); border-radius:7px; }
  #page-intelligence .intelligence-table-shell { border:0; }
  #page-intelligence .intelligence-row { grid-template-columns:minmax(0,1fr) auto auto; gap:6px 8px; padding:9px; }
  #page-intelligence .intelligence-row .mailbox-identity { grid-column:1/-1; }
  #page-intelligence .intelligence-rail { padding:12px; background:var(--mp-surface-raised); }
}

@media (max-width:600px) {
  .signed-out .main { padding:0; }
  .signed-out .web-login { min-height:100svh; align-content:center; gap:11px; padding:max(18px,env(safe-area-inset-top)) 24px max(18px,env(safe-area-inset-bottom)); border:0; border-radius:0; }
  .signed-out .login-brand { gap:7px; margin:0; font-size:18px; }
  .signed-out .login-brand img { width:42px; height:42px; }
  .signed-out .login-intro h2 { margin:3px 0 5px; font-size:22px; }
  .signed-out .login-intro p { margin:0; font-size:11px; line-height:1.35; }
  .signed-out .login-label { font-size:8px; }
  .signed-out .web-login-oauth { gap:7px; }
  .signed-out .login-provider,
  .signed-out .web-login form .button,
  .signed-out .web-login input { min-height:41px; }
  .signed-out .web-login form { gap:7px; }
  .signed-out .web-login form .field { gap:5px; font-size:9px; }
  .signed-out .web-login-divider { gap:9px; }
  .signed-out .login-ready { padding:9px 10px; font-size:9px; }
  .signed-out .login-terms { font-size:8px; line-height:1.35; }
}

/* Phase 1 mobile fidelity guard: keep the approved core-workspace composition intact. */
@media (max-width:430px) {
  #page-dashboard .readiness-card {
    grid-template-columns:52px minmax(0,1fr) auto;
    padding:9px 10px;
  }
  #page-dashboard .readiness-card .button {
    width:auto;
    min-height:31px;
    grid-column:auto;
    padding:6px 8px;
    font-size:8px;
  }
  #page-dashboard .home-provider-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  #page-dashboard .home-provider-grid button { min-height:61px; padding:7px 3px; font-size:8px; }
  #page-dashboard .home-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #page-dashboard .home-metrics div { min-height:0; padding:8px 9px; }
  #page-dashboard .home-metrics span,
  #page-dashboard .home-metrics small { font-size:8px; }
  #page-dashboard .onboarding-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #page-dashboard .onboarding-steps span {
    min-height:0;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    justify-items:center;
    text-align:center;
  }
  #page-dashboard .onboarding-steps b { grid-row:auto; }
  #page-dashboard .onboarding-steps strong,
  #page-dashboard .onboarding-steps small { text-align:center; }
}

/* Mobile workspace stability: every page must remain within the visual viewport. */
@media (max-width:900px) {
  html, body { max-width:100%; overflow-x:hidden; }
  .app, .main, .page, .workspace-head, .studio-layout,
  .composer-card, .studio-checklist, .activity-layout { min-width:0; max-width:100%; }
  .studio-layout { grid-template-columns:minmax(0,1fr); }
  .studio-checklist { position:static; overflow:hidden; }
  .studio-checklist ol { width:100%; max-width:100%; grid-template-columns:repeat(5,minmax(0,1fr)); overflow:visible; }
  .studio-checklist li { min-width:0; }
  .composer-card input, .composer-card textarea,
  .personalization-help, .composer-actions { min-width:0; max-width:100%; }
  .personalization-help span { overflow-wrap:anywhere; }
  .timeline-event { grid-template-columns:10px minmax(0,1fr); }
  .timeline-event strong, .timeline-event span { overflow-wrap:anywhere; }
  .top-actions { min-width:0; gap:7px; }
  .top-actions .workspace-avatar { width:32px; height:32px; }
}

@media (max-width:430px) {
  .mobile-brand strong { font-size:14px; }
  .mobile-workspace { display:none; }
  .top { min-height:58px; }
  #page-campaigns .workspace-head h2,
  #page-contacts .workspace-head h2,
  #page-activity .workspace-head h2 { font-size:25px; line-height:1.08; }
  #page-campaigns .workspace-head p,
  #page-contacts .workspace-head p,
  #page-activity .workspace-head p { font-size:12px; line-height:1.45; }
}

/* Release-blocker corrections: legible authentication and true small-screen reflow. */
.telegram-match-panel { display:grid; justify-items:center; gap:5px; padding:12px; border:1px solid rgba(123,77,255,.7); border-radius:12px; background:rgba(123,77,255,.1); text-align:center; }
.telegram-match-panel[hidden] { display:none; }
.telegram-match-panel span,.telegram-match-panel small { color:var(--mp-muted); font-size:11px; }
.telegram-match-panel strong { color:var(--mp-text); font-size:28px; letter-spacing:.18em; font-variant-numeric:tabular-nums; }
.login-provider > span:first-child { display:grid; width:24px; min-width:24px; place-items:center; }

@media (max-width:430px) {
  .main { width:100%; padding-right:14px; padding-left:14px; }
  #page-dashboard .readiness-card { grid-template-columns:52px minmax(0,1fr); padding:14px; }
  #page-dashboard .readiness-card .button { grid-column:1/-1; width:100%; min-height:44px; font-size:12px; }
  #page-dashboard .readiness-card small { font-size:10px; }
  #page-dashboard .readiness-card h2 { font-size:18px; }
  #page-dashboard .readiness-card p { font-size:12px; }
  #page-dashboard .next-action-card { padding:16px; }
  #page-dashboard .next-action-card h2 { font-size:21px; }
  #page-dashboard .next-action-card p { font-size:12px; }
  #page-dashboard .home-provider-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #page-dashboard .home-provider-grid button { min-height:82px; padding:10px 6px; font-size:12px; }
  #page-dashboard .home-connect-button { min-height:46px; font-size:14px; }
  #page-dashboard .home-metrics { grid-template-columns:1fr; }
  #page-dashboard .home-metrics div { min-height:70px; }
  #page-dashboard .home-metrics span,#page-dashboard .home-metrics small { font-size:11px; }
  #page-dashboard .onboarding-steps { grid-template-columns:1fr; }
  #page-dashboard .onboarding-steps span { min-height:54px; grid-template-columns:32px 1fr; grid-template-rows:auto auto; justify-items:start; text-align:left; }
  #page-dashboard .onboarding-steps b { grid-row:1/3; }
  #page-dashboard .onboarding-steps strong { font-size:12px; text-align:left; }
  #page-dashboard .onboarding-steps small { font-size:10px; text-align:left; }
  .finance-metrics,.finance-layout,.finance-detail-grid { grid-template-columns:1fr; }
  .finance-user-row { align-items:flex-start; flex-direction:column; }
  .finance-user-row > span:last-child { text-align:left; }
  .signed-out .login-provider { justify-content:flex-start; gap:12px; padding-inline:18px; text-align:left; }
}

/* Polished sign-in surface: one calm column with predictable provider alignment. */
.signed-out { background:#050d1a; }
.signed-out .main { width:min(100%,520px); padding:24px 18px; }
.signed-out .web-login {
  min-height:calc(100svh - 48px);
  gap:14px;
  padding:clamp(28px,6vw,48px);
  border:1px solid #20314d;
  border-radius:20px;
  background:radial-gradient(circle at 50% 0,rgba(111,71,245,.13),transparent 34%),#07111f;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}
.signed-out .login-brand { gap:9px; margin:0; font-size:19px; }
.signed-out .login-brand img { width:44px; height:44px; }
.signed-out .login-intro h2 { max-width:14ch; margin:4px auto 7px; font-size:clamp(25px,6vw,34px); letter-spacing:-.035em; }
.signed-out .login-intro p { max-width:34ch; margin:0 auto; font-size:13px; }
.signed-out .web-login-oauth { gap:8px; }
.signed-out .login-provider {
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  min-height:50px;
  justify-content:initial;
  gap:12px;
  padding:0 18px;
  border-radius:12px;
  text-align:left;
}
.signed-out .login-provider > span:first-child { width:26px; min-width:26px; }
.signed-out .login-provider strong,.signed-out .login-provider { font-size:14px; }
.signed-out .web-login form { gap:9px; }
.signed-out .web-login form .button,.signed-out .web-login input { min-height:50px; border-radius:12px; }
.signed-out .login-ready { padding:10px 12px; border-radius:10px; font-size:11px; }
.signed-out .login-terms { font-size:10px; }
@media (max-width:600px) {
  .signed-out .main { padding:0; }
  .signed-out .web-login { min-height:100svh; padding:max(24px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom)); border:0; border-radius:0; box-shadow:none; }
  .signed-out .login-intro h2 { font-size:27px; }
  .signed-out .login-intro p { font-size:12px; line-height:1.45; }
  .signed-out .login-label { font-size:10px; }
  .signed-out .web-login form .field { font-size:11px; }
  .signed-out .login-terms { font-size:9px; }
}

/* Campaign draft recovery and recipient preview. */
.campaign-history-card {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
}
.campaign-history-copy { min-width:0; }
.campaign-history-actions { display:flex; gap:8px; }
.campaign-history-actions .button { min-width:88px; }
.campaign-pagination {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 0 2px;
}
.campaign-pagination span { color:var(--mp-muted); font-size:.78rem; }
.campaign-preview-dialog {
  width:min(94vw,980px);
  max-width:none;
  padding:0;
  border:1px solid var(--mp-border);
  border-radius:16px;
  background:var(--mp-bg);
  color:var(--mp-text);
}
.campaign-preview-dialog::backdrop { background:rgba(2,8,20,.82); }
.campaign-preview-shell { display:grid; grid-template-rows:auto minmax(420px,72vh); }
.campaign-preview-shell > header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border-bottom:1px solid var(--mp-border);
  background:var(--mp-surface);
}
.campaign-preview-shell h2 { margin:3px 0; font-size:1.1rem; }
.campaign-preview-shell p { margin:0; font-size:.75rem; }
.campaign-preview-shell iframe { width:100%; height:100%; border:0; background:#fff; }

@media (max-width:600px) {
  .campaign-history-card { grid-template-columns:1fr; gap:12px; }
  .campaign-history-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .campaign-history-actions .button { width:100%; min-width:0; }
  .campaign-preview-dialog { width:100vw; height:100svh; max-height:none; border:0; border-radius:0; }
  .campaign-preview-shell { min-height:100svh; grid-template-rows:auto minmax(0,1fr); }
  .campaign-preview-shell > header { padding:max(14px,env(safe-area-inset-top)) 14px 12px; }
  .campaign-preview-shell h2 { font-size:1rem; }
}
