@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');

:root {
  --ink: #142c2a;
  --ink-2: #1c3b38;
  --paper: #f2f0e8;
  --paper-2: #e7e5dc;
  --white: #fffef9;
  --coral: #ef6b56;
  --coral-deep: #d95543;
  --acid: #dff168;
  --line: rgba(20, 44, 42, .16);
  --muted: #6b7975;
  --danger: #a83b32;
  --sidebar: 248px;
  --mono: "DM Mono", monospace;
  --sans: "Manrope", sans-serif;
  --serif: "Playfair Display", Georgia, serif;
}

* { box-sizing: border-box; }
[hidden] { display:none!important; }
html { font-size: 16px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); line-height: 1.5; }
button, input, select, textarea { font: inherit; color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; z-index: 20; inset: 0 auto 0 0; width: var(--sidebar); color: #eef2e8; background: var(--ink); display: flex; flex-direction: column; }
.sidebar-head { min-height: 106px; padding: 26px 24px; border-bottom: 1px solid rgba(255,255,255,.12); display: flex; align-items: center; justify-content: space-between; }
.logo-lockup { display: flex; gap: 12px; align-items: center; }
.logo-lockup strong, .logo-lockup small { display: block; }
.logo-lockup strong { font-size: .75rem; letter-spacing: .08em; }
.logo-lockup small { margin-top: 3px; color: rgba(255,255,255,.55); font: .58rem var(--mono); letter-spacing: .08em; }
.brand-mark { width: 56px; height: 56px; border-radius: 50%; background: var(--coral); color: var(--ink); display: grid; place-items: center; font: 700 1rem var(--serif); }
.brand-mark.small { width: 38px; height: 38px; flex: 0 0 38px; font-size: .72rem; }
.brand-logo-image { width: 42px; height: 42px; flex: 0 0 42px; object-fit: contain; padding: 3px; background: #fff; border-radius: 2px; }
.main-nav { padding: 26px 14px; display: grid; gap: 3px; }
.nav-label { padding: 18px 12px 8px; color: rgba(255,255,255,.38); font: .62rem var(--mono); letter-spacing: .14em; }
.main-nav a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 13px; border-radius: 3px; color: rgba(255,255,255,.68); font-size: .84rem; font-weight: 600; }
.main-nav a:hover { color: white; background: rgba(255,255,255,.06); }
.main-nav a.active { color: var(--ink); background: var(--acid); }
.nav-icon { width: 20px; font: 1rem var(--mono); text-align: center; }
.sidebar-foot { margin-top: auto; padding: 16px; border-top: 1px solid rgba(255,255,255,.12); }
.user-card { display: grid; grid-template-columns: 36px 1fr auto; gap: 10px; align-items: center; }
.user-card strong, .user-card small { display: block; }
.user-card strong { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .74rem; }
.user-card small { color: rgba(255,255,255,.46); font: .62rem var(--mono); text-transform: uppercase; }
.avatar { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; display: grid; place-items: center; background: var(--coral); color: var(--ink); font: 500 .68rem var(--mono); }
.avatar.pale { background: #dbe6d5; }

.workspace { width: calc(100% - var(--sidebar)); min-width: 0; margin-left: var(--sidebar); padding: 0 34px 40px; }
.topbar { min-height: 106px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.topbar h1 { margin: 2px 0 0; font: 600 clamp(1.45rem, 2.4vw, 2.1rem) var(--serif); }
.top-kicker, .eyebrow, .step-label, .rail-title { color: var(--coral-deep); font: .64rem var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.top-actions { display: flex; align-items: center; gap: 24px; }
.command-hint { height: 38px; padding: 0 12px; border: 1px solid var(--line); background: transparent; display: flex; align-items: center; gap: 5px; color: var(--muted); }
.command-hint kbd { padding: 2px 5px; border: 1px solid var(--line); background: var(--white); font: .65rem var(--mono); }
.command-hint span { margin-left: 6px; font-size: .73rem; }
.today { color: var(--muted); font: .68rem var(--mono); text-transform: uppercase; }

.metric-grid { padding: 34px 0 26px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.metric { min-height: 180px; padding: 20px; border: 1px solid var(--line); display: flex; flex-direction: column; }
.metric > span { font: .63rem var(--mono); letter-spacing: .12em; }
.metric strong { margin-top: auto; font: 600 clamp(2.8rem,5vw,4.5rem)/.9 var(--serif); }
.metric small { margin-top: 12px; font-size: .7rem; }
.metric.dark { color: white; background: var(--ink-2); }
.metric.dark small { color: rgba(255,255,255,.6); }
.metric.coral { background: var(--coral); }
.metric.light { background: var(--white); }
.metric.action-card { color: var(--paper); background: #253e3b; }
.metric.action-card strong { font-size: 2.25rem; }
.metric.action-card a { margin-top: auto; color: var(--acid); font: .7rem var(--mono); }

.dashboard-split { display: grid; grid-template-columns: 1.35fr 1fr; gap: 12px; }
.panel { min-height: 330px; padding: 22px; border: 1px solid var(--line); background: var(--white); }
.panel.campaign-panel { background: #e8dfcf; }
.panel-head { display: flex; justify-content: space-between; align-items: start; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.panel-head > div { display: flex; align-items: baseline; gap: 12px; }
.panel-head h2 { margin: 0; font: 600 1.15rem var(--serif); }
.panel-head a { color: var(--coral-deep); font: .65rem var(--mono); }
.section-index { color: var(--muted); font: .62rem var(--mono); }
.relationship-row { padding: 13px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 38px 1fr auto 44px; gap: 10px; align-items: center; }
.relationship-row strong, .relationship-row small { display: block; }
.relationship-row strong { font-size: .78rem; }
.relationship-row small { color: var(--muted); font-size: .68rem; }
.relationship-row time { color: var(--muted); font: .62rem var(--mono); text-align: right; }
.campaign-stack article { padding: 15px 0; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 20px; }
.campaign-stack h3 { margin: 8px 0 2px; font-size: .84rem; }
.campaign-stack p, .campaign-stack small { margin: 0; color: var(--muted); font-size: .68rem; }
.campaign-stack > article > small { text-align: right; }
.signal-strip { margin-top: 12px; min-height: 76px; padding: 18px 22px; color: white; background: var(--ink); display: grid; grid-template-columns: 170px 1fr auto; gap: 24px; align-items: center; }
.signal-strip > div { display: flex; align-items: center; gap: 10px; font: .65rem var(--mono); letter-spacing: .12em; }
.signal-strip p { margin: 0; color: rgba(255,255,255,.66); font-size: .76rem; }
.signal-strip a { color: var(--acid); font: .65rem var(--mono); }
.pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 5px rgba(223,241,104,.13); }

.button { min-height: 42px; padding: 0 16px; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 16px; font-size: .73rem; font-weight: 700; }
.button:disabled { opacity: .4; cursor: not-allowed; }
.button.primary { color: white; background: var(--ink); }
.button.primary:hover { background: var(--ink-2); }
.button.outline { border-color: var(--line); background: transparent; }
.button.ghost { border: 0; background: transparent; }
.coral-button { color: var(--ink); background: var(--coral); }
.dark-button { color: white; background: var(--ink); }
.icon-button { width: 36px; height: 36px; border: 1px solid var(--line); background: transparent; display: grid; place-items: center; }

.list-toolbar, .intro-line { padding: 26px 0 18px; display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.intro-line { min-height: 92px; border-bottom: 1px solid var(--line); }
.intro-line p { margin: 0; color: var(--muted); font: 1rem var(--serif); }
.search-filter, .toolbar-actions { display: flex; gap: 8px; }
.searchbox { width: min(440px,46vw); height: 42px; border: 1px solid var(--line); background: var(--white); display: flex; align-items: center; gap: 10px; padding: 0 12px; }
.searchbox input { width: 100%; border: 0; outline: 0; background: transparent; font-size: .76rem; }
select, input, textarea { border: 1px solid var(--line); background: var(--white); border-radius: 0; }
.search-filter select { min-width: 140px; padding: 0 12px; font-size: .74rem; }
.list-meta { padding: 0 2px 12px; display: flex; justify-content: space-between; color: var(--muted); font: .65rem var(--mono); }
.bulk-action-bar { min-height:58px; margin-bottom:10px; padding:9px 12px; border:1px solid var(--line); background:var(--ink); display:flex; align-items:center; gap:9px; }
.bulk-action-bar > span { min-width:92px; color:rgba(255,255,255,.65); font:.58rem var(--mono); text-transform:uppercase; }
.bulk-action-bar > span strong { color:var(--acid); }
.bulk-action-bar select { min-height:38px; padding:7px 30px 7px 9px; font-size:.65rem; }
.bulk-action-bar label { display:flex; align-items:center; gap:7px; color:rgba(255,255,255,.55); font:.56rem var(--mono); }
.bulk-action-bar label select { min-width:180px; }
.bulk-action-bar .button { min-height:38px; margin-left:auto; }
.bulk-action-bar .button:disabled { opacity:.4; cursor:not-allowed; }
.data-panel, .campaign-ledger { border: 1px solid var(--line); background: var(--white); }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { padding: 13px 14px; color: var(--muted); background: var(--paper-2); font: 500 .62rem var(--mono); text-align: left; letter-spacing: .07em; }
td { padding: 14px; border-top: 1px solid var(--line); font-size: .74rem; vertical-align: middle; }
.select-cell { width:42px; min-width:42px; padding-left:12px; padding-right:6px; text-align:center; }
.select-cell input { width:16px; height:16px; accent-color:var(--ink); cursor:pointer; }
.primary-cell { min-width: 190px; display: flex; align-items: center; gap: 10px; }
.primary-cell strong, .primary-cell small, .subline { display: block; }
.primary-cell small, .subline { margin-top: 3px; color: var(--muted); font-size: .64rem; }
.customer-number { color:var(--coral-deep)!important; font-family:var(--mono); letter-spacing:.04em; }
.customer-type { display:inline-flex; padding:4px 7px; border:1px solid var(--line); background:var(--paper); font:.57rem var(--mono); text-transform:uppercase; white-space:nowrap; }
.customer-type.type-private_group { color:#76521e; background:#f3e4c4; }
.customer-type.type-corporate { color:#236b67; background:#dceceb; }
.customer-type.type-government { color:#614d85; background:#ebe4f4; }
.customer-type.type-community { color:#8a4e5f; background:#f4e1e7; }
.inline-customer-form { margin:0; }
.inline-customer-select { max-width:190px; min-height:30px; padding:4px 25px 4px 7px; border:1px solid var(--line); color:#43534f; background:var(--paper); font:.56rem var(--mono); text-transform:uppercase; cursor:pointer; }
.inline-customer-select:hover,.inline-customer-select:focus { border-color:var(--coral); outline:0; }
.inline-customer-select.is-saved { border-color:#4d965b; box-shadow:0 0 0 2px rgba(77,150,91,.15); }
.inline-customer-select.type-private_group,.inline-customer-select.status-lead { color:#76521e; background:#f3e4c4; }
.inline-customer-select.type-corporate,.inline-customer-select.status-active,.inline-customer-select.status-repeat { color:#236b67; background:#dceceb; }
.inline-customer-select.type-government { color:#614d85; background:#ebe4f4; }
.inline-customer-select.type-community,.inline-customer-select.status-vip { color:#8a4e5f; background:#f4e1e7; }
.inline-customer-select.status-dormant,.inline-customer-select.status-archived { color:#6e706e; background:#e5e4df; }
.record-tags { margin-top:12px; display:flex; flex-wrap:wrap; gap:5px; }
.record-tags span { padding:4px 7px; border:1px solid #cad2c8; color:#52615d; background:#f3f5ed; font:.52rem var(--mono); letter-spacing:.03em; }
.record-tags.compact { max-width:230px; margin-top:7px; }
.record-tags.compact span { padding:3px 5px; }
.tag { display: inline-flex; padding: 4px 7px; border: 1px solid currentColor; color: #596662; font: 500 .57rem var(--mono); text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.tag.vip, .tag.preferred, .tag.verified, .tag.approved, .tag.sent { color: #397049; background: #e3f0d6; }
.tag.active, .tag.repeat, .tag.scheduled { color: #236b67; background: #dceceb; }
.tag.lead, .tag.trial, .tag.pending, .tag.waiting_approval { color: #8c5a22; background: #f3e4c4; }
.tag.dormant, .tag.inactive, .tag.cancelled { color: #6e706e; background: #e5e4df; }
.tag.blacklist { color: var(--danger); background: #f1d6d1; }
.consent { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: .66rem; text-transform: capitalize; white-space: nowrap; }
.consent i { width: 7px; height: 7px; border-radius: 50%; background: #aaa; }
.consent.subscribed i { background: #4d965b; }
.consent.unsubscribed i { background: var(--danger); }
.consent.transactional i { background: #bf8e3f; }
.row-menu, .card-action { border: 0; background: transparent; }

.vendor-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.vendor-card { position: relative; min-height: 380px; padding: 20px 20px 84px; border: 1px solid var(--line); background: var(--white); }
.vendor-top { display: flex; justify-content: space-between; }
.service-icon { width: 40px; height: 40px; display: grid; place-items: center; color: var(--paper); background: var(--ink); font: .65rem var(--mono); }
.service-label { display: block; margin-top: 22px; color: var(--coral-deep); font: .6rem var(--mono); text-transform: uppercase; letter-spacing: .1em; }
.vendor-card h3 { margin: 5px 0; font: 600 1.25rem var(--serif); }
.vendor-card > p { margin: 0; color: var(--muted); font-size: .7rem; }
.vendor-detail { margin-top: 26px; padding-top: 13px; border-top: 1px solid var(--line); }
.vendor-detail span, .vendor-detail strong, .vendor-detail small { display: block; }
.vendor-detail span { color: var(--muted); font: .56rem var(--mono); }
.vendor-detail strong { margin-top: 5px; font-size: .75rem; }
.vendor-detail small { color: var(--muted); font-size: .65rem; }
.vendor-bottom { position: absolute; left: 20px; right: 20px; bottom: 46px; display: flex; justify-content: space-between; color: var(--muted); font: .58rem var(--mono); }
.card-action { position: absolute; left: 20px; bottom: 14px; color: var(--coral-deep); padding: 0; font: .62rem var(--mono); }
.wide { grid-column: 1/-1; }
.pagination { min-height:66px; padding:12px 0; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.pagination > span { color:var(--muted); font:.58rem var(--mono); text-transform:uppercase; }
.pagination > div { display:flex; flex-wrap:wrap; gap:5px; }
.pagination a { min-width:34px; height:34px; padding:0 9px; border:1px solid var(--line); color:var(--ink); background:var(--white); display:grid; place-items:center; font:.6rem var(--mono); }
.pagination a:hover,.pagination a.active { border-color:var(--ink); color:white; background:var(--ink); }

.destination-board { padding-top: 18px; display: grid; grid-template-columns: minmax(260px,.75fr) 1.5fr; gap: 12px; }
.destination-map-shell { position:relative; min-height:520px; overflow:hidden; background:var(--ink); }
#destination-map { position:absolute; inset:0; z-index:1; background:#cfdad4; }
.map-caption { position:absolute; z-index:500; left:18px; bottom:18px; padding:11px 13px; color:white; background:rgba(20,44,42,.9); pointer-events:none; }
.map-caption span,.map-caption small { display:block; }
.map-caption span { color:var(--acid); font:600 1rem var(--serif); }
.map-caption small { margin-top:2px; color:rgba(255,255,255,.62); font:.52rem var(--mono); letter-spacing:.08em; }
.pb-map-marker { width:18px!important; height:18px!important; margin:-9px 0 0 -9px!important; border:3px solid white; border-radius:50%; background:var(--coral); box-shadow:0 3px 12px rgba(20,44,42,.4); }
.leaflet-popup-content-wrapper,.leaflet-popup-tip { border-radius:0; color:var(--ink); background:var(--white); }
.leaflet-popup-content strong,.leaflet-popup-content small { display:block; }
.leaflet-popup-content strong { font-family:var(--serif); font-size:1rem; }
.leaflet-popup-content small { color:var(--muted); font:.58rem var(--mono); }
.map-abstract { position: relative; min-height: 520px; overflow: hidden; padding: 26px; color: white; background: var(--ink); }
.map-abstract::before, .map-abstract::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.13); border-radius:50%; }
.map-abstract::before { width: 360px; height: 360px; left:-100px; top:90px; }
.map-abstract::after { width: 190px; height: 190px; right:-40px; top:-50px; }
.map-abstract strong { position: relative; z-index: 2; display:block; margin-top: 200px; color: var(--acid); font: 600 2.8rem/.86 var(--serif); }
.map-abstract small { position:absolute; bottom:24px; font: .58rem var(--mono); letter-spacing:.12em; }
.map-line { position:absolute; height:1px; background:rgba(255,255,255,.2); transform-origin:left; }
.map-line::after { content:""; position:absolute; right:0; top:-4px; width:9px; height:9px; border-radius:50%; background:var(--coral); }
.map-line.l1 { width:230px; left:50px; top:110px; transform:rotate(21deg); }
.map-line.l2 { width:320px; left:20px; top:330px; transform:rotate(-18deg); }
.map-line.l3 { width:140px; right:20px; top:250px; transform:rotate(55deg); }
.destination-list { border: 1px solid var(--line); background: var(--white); }
.destination-record { border-bottom:1px solid var(--line); }
.destination-record:last-child { border-bottom:0; }
.destination-summary { min-height:104px; padding:16px 20px; display:grid; grid-template-columns:40px 1fr 90px auto 20px; align-items:center; gap:14px; cursor:pointer; list-style:none; }
.destination-summary::-webkit-details-marker { display:none; }
.destination-summary:hover,.destination-record[open] > .destination-summary { background:#f7f3e8; }
.destination-summary > i { font-style:normal; font-size:1rem; transition:transform .2s ease; }
.destination-record[open] > .destination-summary > i { transform:rotate(45deg); }
.destination-number { color:var(--coral-deep); font:.62rem var(--mono); }
.destination-summary > div > span { color:var(--muted); font:.58rem var(--mono); text-transform:uppercase; }
.destination-list h3 { margin:2px 0; font:600 1.15rem var(--serif); }
.destination-list p { margin:0; color:var(--muted); font-size:.66rem; }
.destination-edit { margin-top:7px; padding:0; border:0; color:var(--coral-deep); background:none; font:.54rem var(--mono); cursor:pointer; }
.coverage strong,.coverage small { display:block; }
.coverage strong { font:600 1.4rem var(--serif); }
.coverage small { color:var(--muted); font:.52rem var(--mono); }
.destination-intelligence { padding:28px 28px 34px 74px; border-top:1px solid var(--line); background:#fbfaf5; }
.destination-section-head { margin-bottom:14px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.destination-section-head.compact { margin-top:30px; }
.destination-section-head span,.destination-notes > span { color:var(--coral-deep); font:.54rem var(--mono); letter-spacing:.1em; }
.destination-section-head h4 { margin:3px 0 0; font:600 1.35rem var(--serif); }
.experience-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.experience-grid article { min-height:112px; padding:15px; border:1px solid var(--line); background:white; display:flex; flex-direction:column; align-items:flex-start; }
.experience-grid article > span { color:var(--muted); font:.5rem var(--mono); text-transform:uppercase; }
.experience-grid article > strong { margin:10px 0 auto; font:.9rem/1.2 var(--serif); }
.experience-grid article > small { margin-top:10px; color:var(--muted); font-size:.55rem; }
.intelligence-empty { padding:20px; border:1px dashed var(--line); }
.intelligence-empty strong { font:.95rem var(--serif); }
.intelligence-empty p { margin:5px 0 10px; line-height:1.5; }
.intelligence-empty a { color:var(--coral-deep); font:.58rem var(--mono); }
.area-partner-list { border-top:1px solid var(--line); }
.area-partner-list article { padding:12px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr auto; gap:16px; }
.area-partner-list article > div:last-child { text-align:right; }
.area-partner-list span,.area-partner-list strong,.area-partner-list small { display:block; }
.area-partner-list span { color:var(--coral-deep); font:.5rem var(--mono); text-transform:uppercase; }
.area-partner-list strong { margin:3px 0; font-size:.7rem; }
.area-partner-list small { color:var(--muted); font-size:.55rem; }
.area-empty { padding:15px 0; }
.destination-notes { margin-top:24px; padding:18px; color:#dfe8e1; background:var(--ink); }
.destination-notes p { margin:7px 0 0; color:#dfe8e1; line-height:1.55; }

.campaign-ledger { margin-top: 18px; }
.ledger-head, .campaign-ledger article { display:grid; grid-template-columns:2fr 1.2fr .65fr .8fr .65fr; gap:16px; align-items:center; }
.ledger-head { padding:13px 18px; color:var(--muted); background:var(--paper-2); font:.58rem var(--mono); }
.campaign-ledger article { min-height:86px; padding:15px 18px; border-top:1px solid var(--line); }
.campaign-ledger strong,.campaign-ledger small { display:block; }
.campaign-ledger strong { font-size:.76rem; }
.campaign-ledger small,.campaign-ledger time { color:var(--muted); font:.62rem var(--mono); }
.inline-approval { margin-top:5px; }
.inline-approval button { padding:0; border:0; color:var(--coral-deep); background:transparent; font:.56rem var(--mono); }

.sender-grid { padding-top:18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.sender-grid article { min-height:200px; padding:22px; border:1px solid var(--line); background:var(--white); display:grid; grid-template-columns:54px 1fr; gap:16px; position:relative; }
.sender-avatar { width:54px; height:54px; display:grid; place-items:center; color:white; background:var(--ink); font:600 .85rem var(--serif); }
.sender-grid h3 { margin:14px 0 5px; font:600 1.15rem var(--serif); }
.sender-grid p { margin:0; color:var(--muted); font-size:.7rem; line-height:1.8; }
.dns-status { position:absolute; left:92px; bottom:20px; display:flex; gap:6px; }
.dns-status span { padding:3px 6px; color:#936330; background:#f3e4c4; font:.53rem var(--mono); }
.brand-settings { padding-top:22px; display:grid; grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr); gap:12px; }
.brand-preview { min-height:470px; padding:28px; color:white; background:var(--ink); display:flex; flex-direction:column; }
.brand-preview-logo { min-height:170px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.04); }
.brand-preview-logo img { max-width:72%; max-height:120px; object-fit:contain; }
.brand-preview-logo .brand-mark { width:84px; height:84px; font-size:1.3rem; }
.brand-preview h2 { margin:auto 0 5px; color:var(--acid); font:600 2.25rem/.95 var(--serif); }
.brand-preview p { margin:0; color:rgba(255,255,255,.58); font:.65rem var(--mono); letter-spacing:.08em; }
.brand-form-panel { padding:28px; border:1px solid var(--line); background:var(--white); }
.brand-form-panel h2 { margin:5px 0 6px; font:600 1.5rem var(--serif); }
.brand-form-panel > p { margin:0 0 22px; color:var(--muted); font-size:.72rem; }
.brand-form-panel label { display:grid; gap:7px; margin-top:15px; color:var(--muted); font-size:.68rem; font-weight:600; }
.brand-form-panel input { min-height:44px; padding:9px 11px; }
.brand-form-panel .button { margin-top:24px; }
.logo-upload-field { padding:18px; border:1px dashed var(--line); background:var(--paper); }
.logo-upload-field small { color:var(--muted); font-size:.6rem; font-weight:400; }
.team-summary { padding:18px 0 12px; display:grid; grid-template-columns:220px 1fr; gap:12px; }
.team-summary article,.team-summary > div { min-height:140px; padding:20px; border:1px solid var(--line); background:var(--white); }
.team-summary article { color:white; background:var(--ink); display:flex; flex-direction:column; }
.team-summary article > span { color:var(--acid); font:.6rem var(--mono); letter-spacing:.1em; }
.team-summary article strong { margin-top:auto; font:600 2.7rem/.9 var(--serif); }
.team-summary article small { color:rgba(255,255,255,.55); font-size:.64rem; }
.team-summary > div { display:flex; flex-direction:column; justify-content:center; }
.team-summary > div p { max-width:720px; margin:8px 0 0; color:var(--muted); font-size:.74rem; }
.team-list { border:1px solid var(--line); background:var(--white); }
.team-list-head,.team-row { display:grid; grid-template-columns:1.55fr .65fr .9fr .85fr 1.1fr; gap:14px; align-items:center; }
.team-list-head { padding:12px 16px; color:var(--muted); background:var(--paper-2); font:.58rem var(--mono); letter-spacing:.06em; }
.team-row { min-height:78px; padding:13px 16px; border-top:1px solid var(--line); }
.team-row.is-inactive { opacity:.58; }
.team-row time { color:var(--muted); font:.62rem var(--mono); }
.role-form select { min-height:34px; padding:5px 8px; font-size:.68rem; }
.team-actions { display:flex; flex-wrap:wrap; gap:5px 12px; align-items:center; }
.team-actions form { margin:0; }
.team-actions button { padding:0; border:0; color:var(--coral-deep); background:transparent; font:.58rem var(--mono); }
.owner-lock { color:var(--muted); font:.58rem var(--mono); }
.password-generator { display:grid; grid-template-columns:1fr auto; }
.password-generator button { padding:0 11px; border:1px solid var(--line); border-left:0; color:var(--coral-deep); background:var(--paper); font:.6rem var(--mono); }
.tag-library-layout { padding:18px 0; display:grid; grid-template-columns:minmax(240px,.62fr) minmax(440px,1.38fr); gap:12px; align-items:start; }
.tag-create-panel,.tag-library-list { border:1px solid var(--line); background:var(--white); }
.tag-create-panel { position:sticky; top:18px; padding:22px; }
.tag-create-panel h2 { margin:5px 0 18px; font:600 1.6rem var(--serif); }
.tag-create-panel label { display:grid; gap:6px; margin-top:13px; color:var(--muted); font-size:.66rem; font-weight:600; }
.tag-create-panel input,.tag-create-panel select { min-height:42px; padding:8px 10px; }
.tag-create-panel .button { width:100%; margin-top:18px; }
.tag-library-list { padding:0 18px; }
.tag-library-group + .tag-library-group { border-top:1px solid var(--line); }
.tag-library-group > header { min-height:58px; display:flex; align-items:center; justify-content:space-between; color:var(--coral-deep); font:.6rem var(--mono); letter-spacing:.08em; }
.tag-library-group > header strong { width:30px; height:30px; display:grid; place-items:center; color:white; background:var(--ink); font:.62rem var(--mono); }
.tag-library-group article { min-height:54px; padding:10px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:16px; }
.tag-library-group article.is-inactive { opacity:.48; }
.tag-library-group article strong,.tag-library-group article small { display:block; }
.tag-library-group article strong { font-size:.72rem; }
.tag-library-group article small { margin-top:2px; color:var(--muted); font:.52rem var(--mono); text-transform:uppercase; }
.tag-library-group article button { padding:0; border:0; color:var(--coral-deep); background:transparent; font:.56rem var(--mono); }
.notice.no-margin { margin:15px 0 0; }
.reset-user-copy { margin:14px 0 0; color:var(--muted); font-size:.72rem; }
.destination-picker-wrap { margin-top:14px; }
.destination-picker-wrap > span,.destination-picker-wrap > small { display:block; }
.destination-picker-wrap > span { color:var(--muted); font-size:.66rem; font-weight:600; }
.destination-picker-wrap > small { margin-top:5px; color:var(--muted); font-size:.58rem; }
#destination-picker-map { height:210px; margin-top:7px; border:1px solid var(--line); background:var(--paper-2); }

.email-studio { height:calc(100vh - 106px); margin:0 -34px -40px; display:grid; grid-template-columns:255px minmax(430px,1fr) 230px; overflow:hidden; }
.builder-rail,.builder-inspector { padding:22px 18px; overflow-y:auto; background:var(--white); }
.builder-rail { border-right:1px solid var(--line); }
.builder-inspector { border-left:1px solid var(--line); }
.builder-rail > p { margin:3px 0 14px; color:var(--muted); font-size:.65rem; }
.block-library { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.block-library button { min-height:68px; padding:10px; border:1px solid var(--line); background:var(--paper); display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; font-size:.62rem; }
.block-library button:hover { border-color:var(--coral); background:#fff0e8; }
.block-library button span { font:1rem var(--serif); }
.rail-title.second { display:block; margin-top:26px; padding-top:18px; border-top:1px solid var(--line); }
.builder-rail label,.modal-form label { display:grid; gap:6px; margin-top:12px; color:var(--muted); font-size:.66rem; font-weight:600; }
.builder-rail input,.builder-rail select,.modal-form input,.modal-form select,.modal-form textarea { width:100%; min-height:39px; padding:8px 10px; color:var(--ink); font-size:.72rem; outline:none; }
.builder-rail input:focus,.builder-rail select:focus,.modal-form input:focus,.modal-form textarea:focus,.modal-form select:focus { border-color:var(--coral); box-shadow:0 0 0 2px rgba(239,107,86,.13); }
.consent-lock { margin-top:16px; padding:10px; color:#2f6940; background:#e4efdc; display:flex; gap:9px; }
.consent-lock p,.consent-lock strong { margin:0; display:block; font-size:.6rem; }
.builder-canvas-wrap { min-width:0; overflow:auto; background:#d9d7cf; }
.builder-toolbar { position:sticky; z-index:3; top:0; height:52px; padding:0 15px; border-bottom:1px solid var(--line); background:rgba(242,240,232,.94); display:flex; align-items:center; justify-content:space-between; }
.builder-toolbar > div { display:flex; }
.builder-toolbar button:not(.icon-button) { padding:5px 9px; border:0; background:transparent; color:var(--muted); font-size:.62rem; }
.builder-toolbar button.active { color:var(--ink); border-bottom:2px solid var(--coral); }
.builder-toolbar span { color:var(--muted); font:.57rem var(--mono); }
.email-canvas { --email-heading-font:Georgia,'Times New Roman',serif; --email-body-font:Arial,Helvetica,sans-serif; width:min(620px,calc(100% - 48px)); min-height:760px; margin:24px auto; background:white; box-shadow:0 8px 40px rgba(20,44,42,.12); font-family:var(--email-body-font); }
.email-canvas.mobile-preview { width:min(360px,calc(100% - 24px)); }
.email-preview-brand { height:78px; padding:20px 28px; color:white; background:var(--ink); display:flex; justify-content:space-between; align-items:center; }
.email-preview-brand strong { font:600 1rem var(--email-heading-font); letter-spacing:.04em; }
.email-preview-brand span { color:var(--acid); font:.5rem var(--mono); letter-spacing:.1em; }
.email-brand-identity { display:flex; align-items:center; gap:12px; }
.email-brand-identity img { width:58px; height:38px; object-fit:contain; padding:0; background:transparent; }
.email-brand-identity > span { display:grid; gap:2px; }
.email-brand-identity > span small { color:rgba(255,255,255,.55); font:.48rem var(--mono); letter-spacing:.08em; }
.email-blocks { padding:30px 36px 8px; }
.email-block { position:relative; padding:14px; border:1px solid transparent; }
.email-block:hover,.email-block:focus-within { border-color:var(--coral); }
.email-block h2 { margin:0; font:600 2.15rem/1.05 var(--email-heading-font); }
.email-block p { margin:0; color:#4e5c58; font-size:.8rem; line-height:1.75; }
.email-block a { display:inline-block; padding:11px 17px; color:white; background:var(--coral-deep); font-size:.7rem; font-weight:700; }
.email-block img { width:100%; min-height:180px; object-fit:cover; background:var(--paper); }
.email-block .trip-placeholder { padding:22px; color:white; background:var(--ink-2); }
.email-block .trip-placeholder small,.email-block .trip-placeholder strong { display:block; }
.email-block .trip-placeholder small { color:var(--acid); font:.55rem var(--mono); }
.email-block .trip-placeholder strong { margin-top:6px; font:600 1.45rem var(--email-heading-font); }
.email-block .divider { height:1px; background:var(--line); }
.email-block .email-kicker { color:var(--coral-deep); font:.55rem var(--mono); letter-spacing:.1em; }
.itinerary-card { padding:20px; border:1px solid var(--line); }
.itinerary-card > h3,.price-card h3 { margin:5px 0 16px; font:600 1.4rem var(--email-heading-font); }
.itinerary-day { position:relative; padding:12px 24px 12px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:62px 1fr; gap:12px; }
.itinerary-day > strong { color:var(--coral-deep); font:.58rem var(--mono); }
.itinerary-day b { display:block; font-size:.76rem; }
.itinerary-day p { margin:3px 0 0; font-size:.67rem; line-height:1.5; }
.itinerary-day .remove-day { position:absolute; right:0; top:9px; border:0; color:var(--danger); background:transparent; }
.block-editor-tools { margin:0 0 10px; padding:8px; border:1px dashed var(--line); background:var(--paper); display:flex; gap:8px; align-items:center; }
.block-editor-tools input { min-width:0; min-height:32px; flex:1; padding:5px 8px; font-size:.62rem; }
.block-editor-tools button { min-height:32px; padding:0 9px; border:0; color:white; background:var(--ink); font-size:.58rem; }
.price-card { padding:23px; color:white; background:var(--ink-2); }
.price-card .email-kicker { color:var(--acid); }
.price-card h3 { color:white; margin-bottom:5px; }
.price-amount { display:block; margin:14px 0 5px; color:var(--acid); font:600 2rem/.95 var(--email-heading-font); }
.price-card > p { color:rgba(255,255,255,.62); }
.offer-deadline { margin-top:18px; padding-top:13px; border-top:1px solid rgba(255,255,255,.2); display:flex; justify-content:space-between; gap:12px; }
.offer-deadline span { color:rgba(255,255,255,.5); font:.5rem var(--mono); }
.offer-deadline time { color:white; font:.62rem var(--mono); text-align:right; }
.video-card { overflow:hidden; border:1px solid var(--line); background:var(--paper); }
.video-preview { min-height:220px; padding:20px; color:white; background:linear-gradient(135deg,#1c3b38,#102c2a); background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; position:relative; }
.video-preview::after { content:""; position:absolute; z-index:1; inset:0; background:rgba(12,31,29,.3); }
.video-preview img { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; }
.video-play { position:relative; z-index:2; width:58px; height:58px; border:2px solid white; border-radius:50%; display:grid; place-items:center; padding-left:3px; color:white; background:rgba(20,44,42,.62); font-size:1rem; }
.video-copy { padding:16px 18px; }
.video-copy h3 { margin:0 0 4px; font:600 1.15rem var(--email-heading-font); }
.video-copy p { margin:0; font-size:.67rem; }
.email-safety-note { margin-top:5px; color:var(--muted); font-size:.55rem; }
.block-remove { display:none; position:absolute; z-index:2; right:-8px; top:-8px; width:23px; height:23px; border:0; border-radius:50%; color:white; background:var(--danger); }
.email-block:hover .block-remove { display:block; }
.canvas-add { width:calc(100% - 72px); margin:8px 36px 30px; padding:12px; border:1px dashed var(--line); color:var(--muted); background:transparent; font-size:.66rem; }
.email-canvas footer { padding:25px 36px; color:rgba(255,255,255,.65); background:var(--ink); text-align:center; }
.email-canvas footer strong { color:white; font:600 .8rem var(--email-heading-font); }
.email-canvas footer p,.email-canvas footer a { margin:7px 0; font-size:.54rem; }
.email-canvas footer a { text-decoration:underline; }
.check-list { margin-top:15px; display:grid; gap:10px; }
.check-list span { display:flex; gap:8px; color:#96622f; font-size:.62rem; }
.check-list i { width:16px; height:16px; flex:0 0 16px; border-radius:50%; display:grid; place-items:center; color:white; background:#c5904a; font:normal .56rem var(--mono); }
.check-list .done { color:#42714b; }
.check-list .done i { background:#4d8657; }
.personalization { margin-top:24px; padding-top:18px; border-top:1px solid var(--line); }
.personalization .rail-title { display:block; margin-bottom:10px; }
.personalization button { margin:0 3px 5px 0; padding:5px 7px; border:1px solid var(--line); background:var(--paper); font:.54rem var(--mono); }
.builder-actions { margin-top:24px; display:grid; gap:7px; }
.provider-note { color:var(--muted); font-size:.58rem; line-height:1.5; }

.modal { width:min(720px,calc(100vw - 28px)); max-height:90vh; padding:0; border:0; color:var(--ink); background:var(--white); box-shadow:0 25px 80px rgba(20,44,42,.25); }
.import-preview-modal { width:min(1120px,calc(100vw - 28px)); }
.import-preview-body { max-height:calc(90vh - 150px); padding:20px 24px; overflow:auto; }
.import-preview-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.import-preview-summary article { min-height:82px; padding:14px; border:1px solid var(--line); background:var(--paper); display:flex; flex-direction:column; justify-content:space-between; }
.import-preview-summary article.conflict { background:#f7ecd6; }
.import-preview-summary article.invalid { background:#f5dfdb; }
.import-preview-summary strong { font:600 1.8rem var(--serif); }
.import-preview-summary span { color:var(--muted); font:.54rem var(--mono); letter-spacing:.08em; }
.duplicate-choice { margin:18px 0; padding:14px; border:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.duplicate-choice legend { padding:0 6px; color:var(--coral-deep); font:.58rem var(--mono); letter-spacing:.07em; }
.duplicate-choice label { position:relative; display:block; margin:0; cursor:pointer; }
.duplicate-choice input { position:absolute; opacity:0; pointer-events:none; }
.duplicate-choice label span { min-height:72px; padding:12px; border:1px solid var(--line); background:var(--paper); display:block; }
.duplicate-choice input:checked + span { border-color:var(--ink); box-shadow:inset 4px 0 0 var(--coral); background:white; }
.duplicate-choice strong,.duplicate-choice small { display:block; }
.duplicate-choice strong { font-size:.7rem; }
.duplicate-choice small { margin-top:5px; color:var(--muted); font-size:.6rem; line-height:1.45; }
.import-preview-table { max-height:420px; overflow:auto; border:1px solid var(--line); }
.import-preview-table table { min-width:860px; }
.import-preview-table td { vertical-align:top; }
.preview-state { display:inline-flex; padding:4px 6px; border:1px solid currentColor; font:.52rem var(--mono); text-transform:uppercase; white-space:nowrap; }
.preview-state.state-new { color:#397049; background:#e3f0d6; }
.preview-state.state-conflict { color:#8c5a22; background:#f3e4c4; }
.preview-state.state-unchanged { color:#6e706e; background:#e5e4df; }
.preview-changes { display:grid; gap:5px; }
.preview-changes span { display:grid; grid-template-columns:54px minmax(90px,1fr) 14px minmax(90px,1fr); gap:5px; align-items:start; font-size:.58rem; }
.preview-changes b { color:var(--muted); font:.52rem var(--mono); text-transform:uppercase; }
.preview-changes del { color:#8a5454; }
.preview-changes ins { color:#276c55; text-decoration:none; font-weight:700; }
.preview-changes i { color:var(--coral-deep); font-style:normal; }
.preview-limit { color:var(--muted); font-size:.62rem; }
.invalid-row-list { margin-top:13px; padding:12px; border:1px solid #e6b8af; background:#fff2ef; }
.invalid-row-list summary { color:var(--danger); cursor:pointer; font:.6rem var(--mono); }
.invalid-row-list p { margin:6px 0 0; color:#74443d; font-size:.6rem; }
.modal::backdrop { background:rgba(8,24,22,.65); backdrop-filter:blur(2px); }
.small-modal { width:min(520px,calc(100vw - 28px)); }
.modal-form header,.modal-form footer { padding:20px 24px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.modal-form footer { justify-content:flex-end; border:0; border-top:1px solid var(--line); }
.modal-form h2 { margin:3px 0 0; font:600 1.55rem var(--serif); }
.form-grid { padding:8px 24px 24px; display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
.form-grid.single { grid-template-columns:1fr; }
.form-grid .full { grid-column:1/-1; }
.tag-picker { margin:17px 0 0; padding:14px; border:1px solid var(--line); }
.tag-picker legend { padding:0 6px; color:var(--muted); font-size:.66rem; font-weight:600; }
.tag-picker > div { display:flex; flex-wrap:wrap; gap:7px; }
.tag-picker label { position:relative; display:block; margin:0; cursor:pointer; }
.tag-picker input { position:absolute; width:1px; height:1px; min-height:0; opacity:0; pointer-events:none; }
.tag-picker label span { display:block; padding:7px 9px; border:1px solid var(--line); color:var(--muted); background:var(--paper); font:.58rem var(--mono); }
.tag-picker input:checked + span { border-color:var(--ink); color:white; background:var(--ink); }
.tag-picker input:focus-visible + span { outline:2px solid var(--coral); outline-offset:2px; }
.tag-picker > small { display:block; margin-top:10px; color:var(--muted); font-size:.56rem; }
.field-help { color:var(--muted); font-size:.58rem; font-weight:400; }
.form-section-title { margin-top:18px; padding-top:15px; border-top:1px solid var(--line); }
.form-section-title span,.group-contacts-head span { display:block; color:var(--coral-deep); font:.58rem var(--mono); letter-spacing:.1em; }
.form-section-title small,.group-contacts-head small { display:block; margin-top:3px; color:var(--muted); font-size:.62rem; }
.group-contacts { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.group-contacts-head { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.group-contacts-head .button { min-height:34px; padding:0 10px; }
.customer-contact-row { margin-top:12px; padding:13px; border:1px solid var(--line); background:var(--paper); }
.contact-row-head { display:flex; align-items:center; justify-content:space-between; }
.contact-row-head strong { font:600 .76rem var(--serif); }
.contact-row-head button { width:28px; height:28px; border:0; color:white; background:var(--danger); }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 10px; }
.contact-fields .full { grid-column:1/-1; }
.modal-form textarea { resize:vertical; }
.notice { margin:16px 24px; padding:11px 13px; border-left:3px solid currentColor; font-size:.7rem; }
.notice.warning { color:#8b5d25; background:#f7ecd6; }
.notice.danger { color:var(--danger); background:#f5dfdb; }
.notice.success { color:#367044; background:#e3efdf; }
.upload-zone { margin:24px; padding:32px 24px; border:1px dashed var(--line); text-align:center; }
.upload-zone > span { display:inline-grid; width:48px; height:48px; place-items:center; color:white; background:var(--ink); font:.64rem var(--mono); }
.upload-zone h3 { margin:14px 0 5px; font:600 1.15rem var(--serif); }
.upload-zone p { color:var(--muted); font-size:.68rem; }
.upload-zone input { margin-top:10px; border:0; }
.toast { position:fixed; z-index:50; right:22px; top:22px; width:min(360px,calc(100vw - 44px)); padding:13px 42px 13px 15px; color:white; background:var(--ink); box-shadow:0 12px 35px rgba(20,44,42,.2); font-size:.72rem; }
.toast.danger { background:var(--danger); }
.toast button { position:absolute; right:8px; top:7px; border:0; color:white; background:transparent; font-size:1.1rem; }
.empty-state { min-height:260px; padding:28px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.empty-state > span { color:var(--coral); font:2rem var(--serif); }
.empty-state h3 { margin:10px 0 4px; font:600 1.25rem var(--serif); }
.empty-state p { max-width:420px; margin:0 0 18px; color:var(--muted); font-size:.72rem; }
.empty-state.aligned { align-items:flex-start; text-align:left; }
.setup-panel { margin:50px auto; max-width:620px; padding:40px; border:1px solid var(--line); background:var(--white); }
.setup-panel h2 { font:600 2rem var(--serif); }
.setup-panel p { color:var(--muted); font-size:.78rem; }

.auth-page { min-height:100vh; background:var(--ink); }
.auth-shell { min-height:100vh; display:grid; grid-template-columns:1.2fr .8fr; }
.auth-brand { position:relative; overflow:hidden; padding:clamp(40px,7vw,90px); color:white; background:var(--ink); display:flex; flex-direction:column; justify-content:center; }
.auth-brand::after { content:""; position:absolute; width:600px; height:600px; right:-230px; bottom:-230px; border:1px solid rgba(255,255,255,.15); border-radius:50%; box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02); }
.auth-brand h1 { position:relative; z-index:1; max-width:700px; margin:30px 0 20px; font:600 clamp(3.2rem,7vw,6.7rem)/.85 var(--serif); }
.auth-brand > p:not(.eyebrow) { max-width:480px; color:rgba(255,255,255,.58); font-size:.83rem; }
.auth-brand .eyebrow { margin-top:35px; color:var(--acid); }
.auth-coordinate { position:absolute; left:clamp(40px,7vw,90px); bottom:40px; color:rgba(255,255,255,.34); font:.58rem var(--mono); letter-spacing:.12em; }
.auth-card { padding:clamp(34px,6vw,78px); background:var(--paper); display:flex; flex-direction:column; justify-content:center; }
.auth-card h2 { margin:9px 0 5px; font:600 2rem var(--serif); }
.muted { color:var(--muted); font-size:.75rem; }
.stack-form { margin-top:22px; display:grid; gap:16px; }
.stack-form label { display:grid; gap:6px; color:var(--muted); font-size:.68rem; font-weight:600; }
.stack-form input { height:48px; padding:0 13px; outline:0; }
.stack-form input:focus { border-color:var(--coral); }
.stack-form .button { margin-top:6px; height:50px; justify-content:space-between; }
.auth-help { margin-top:20px; color:var(--muted); font-size:.67rem; }
.auth-help a { color:var(--coral-deep); text-decoration:underline; }
code { font-family:var(--mono); }
.mobile-only { display:none; }

@media (max-width: 1100px) {
  :root { --sidebar: 214px; }
  .workspace { padding-left:22px; padding-right:22px; }
  .metric-grid { grid-template-columns:repeat(2,1fr); }
  .vendor-grid { grid-template-columns:repeat(2,1fr); }
  .email-studio { margin-left:-22px; margin-right:-22px; grid-template-columns:230px minmax(390px,1fr); }
  .builder-inspector { position:fixed; right:0; bottom:0; z-index:6; width:230px; max-height:55vh; box-shadow:-10px -10px 30px rgba(20,44,42,.15); }
}

@media (max-width: 760px) {
  .mobile-only { display:grid; }
  .app-shell { display:block; }
  .sidebar { width:min(290px,86vw); transform:translateX(-105%); transition:transform .2s ease; }
  .sidebar.open { transform:translateX(0); }
  .workspace { width:auto; margin-left:0; padding:0 15px 28px; }
  .topbar { min-height:84px; }
  .topbar { justify-content:flex-start; }
  .top-actions { margin-left:auto; }
  .command-hint,.today { display:none; }
  .metric-grid,.dashboard-split,.vendor-grid,.sender-grid,.destination-board,.brand-settings,.team-summary,.tag-library-layout { grid-template-columns:1fr; }
  .tag-create-panel { position:static; }
  .team-list-head { display:none; }
  .team-row { grid-template-columns:1fr 1fr; padding:18px; }
  .team-row > .primary-cell { grid-column:1/-1; }
  .metric { min-height:150px; }
  .signal-strip { grid-template-columns:1fr; gap:9px; }
  .list-toolbar,.intro-line { align-items:stretch; flex-direction:column; }
  .search-filter,.toolbar-actions { width:100%; }
  .searchbox { width:100%; }
  .bulk-action-bar { align-items:stretch; flex-direction:column; }
  .bulk-action-bar > span { min-width:0; }
  .bulk-action-bar label { align-items:stretch; flex-direction:column; }
  .bulk-action-bar label select,.bulk-action-bar select,.bulk-action-bar .button { width:100%; margin-left:0; }
  .pagination { align-items:flex-start; flex-direction:column; }
  .list-meta span:last-child { display:none; }
  .destination-board { padding-top:12px; }
  .destination-map-shell { min-height:360px; }
  .map-abstract { min-height:280px; }
  .map-abstract strong { margin-top:95px; }
  .destination-summary { grid-template-columns:30px 1fr auto 18px; }
  .destination-list .coverage { display:none; }
  .destination-summary > .tag { display:none; }
  .destination-intelligence { padding:22px 16px; }
  .destination-section-head { align-items:flex-start; flex-direction:column; }
  .experience-grid { grid-template-columns:1fr; }
  .ledger-head { display:none; }
  .campaign-ledger article { grid-template-columns:1fr auto; }
  .campaign-ledger article > div:nth-child(2),.campaign-ledger article > div:nth-child(3) { display:none; }
  .email-studio { height:auto; min-height:calc(100vh - 84px); margin:0 -15px -28px; display:block; overflow:visible; }
  .builder-rail { border:0; border-bottom:1px solid var(--line); }
  .builder-canvas-wrap { padding-bottom:20px; }
  .builder-inspector { position:static; width:auto; max-height:none; box-shadow:none; border:0; border-top:1px solid var(--line); }
  .email-canvas { width:calc(100% - 24px); margin:12px auto; }
  .email-blocks { padding:22px 15px 6px; }
  .email-block h2 { font-size:1.7rem; }
  .canvas-add { width:calc(100% - 30px); margin:8px 15px 24px; }
  .auth-shell { grid-template-columns:1fr; }
  .auth-brand { min-height:42vh; padding:34px 24px; }
  .auth-brand h1 { font-size:3.1rem; }
  .auth-coordinate { display:none; }
  .auth-card { min-height:58vh; padding:34px 24px; }
  .form-grid { grid-template-columns:1fr; }
  .form-grid .full { grid-column:auto; }
  .contact-fields { grid-template-columns:1fr; }
  .import-preview-summary,.duplicate-choice { grid-template-columns:1fr 1fr; }
}

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