/* ZBMail's existing stylesheet is kept separately; only the tenant-safe DOM bridge lives here. */
:root{--line:var(--border);--stage-bar:34px}
body{font-size:13px;background:radial-gradient(900px 450px at 90% 0%,rgba(79,110,247,.04),transparent 65%),#0a0b0d;line-height:1.5}
.environment{position:sticky;top:0;z-index:30;min-height:var(--stage-bar);padding:8px 12px;background:#201e32;color:#d7d2f1;font-size:11px;letter-spacing:.2px;border-bottom:1px solid var(--border)}
.shell{grid-template-columns:264px minmax(0,1fr);min-height:calc(100vh - var(--stage-bar));align-items:start}
.shell>aside.sidebar{position:sticky;top:var(--stage-bar);bottom:auto;left:auto;width:auto;height:calc(100vh - var(--stage-bar));padding:12px;gap:8px;box-shadow:none;animation:none;backdrop-filter:none}
.sidebar::before{inset:8px;z-index:-1}.sidebar-head{margin:0 0 4px;padding:14px 10px;gap:10px;animation:none;flex-shrink:0}
.sidebar-head .brand-mark{width:44px;height:44px;min-width:44px;margin:0;background:var(--accent);color:var(--accent-ink,#fff);font-size:20px;box-shadow:0 10px 24px var(--accent-soft)}
.sidebar-head .brand-logo{width:48px;height:48px;margin:0;object-fit:contain;object-position:center;flex-shrink:0}
.sidebar-head .brand-title{font-size:17px;margin:0;line-height:1.3}.sidebar-head .brand-sub{margin:4px 0 0;font-size:11px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
nav.side-nav{margin:0;padding:0;gap:6px;display:flex;flex-direction:column}
nav .side-link{min-height:50px;padding:8px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.04);gap:10px;flex-shrink:0;width:100%}
nav .side-copy strong{font-size:12px;line-height:1.3}nav .side-copy small{font-size:10px;line-height:1.35;font-weight:400}
nav .side-icon{width:32px;height:32px;flex:0 0 32px;border-radius:10px}nav .side-icon svg{width:16px;height:16px}
body nav .side-link.selected{background:linear-gradient(135deg,var(--accent-soft),rgba(255,255,255,.02));border-color:var(--accent);color:var(--text)}
nav .side-link.active .side-copy small{color:var(--muted)}nav .side-link.active::before{background:var(--accent)}
.sidebar-foot{margin:12px 0 0;padding:12px;display:grid;gap:10px;animation:none;box-shadow:none;flex-shrink:0;font-size:11px}.sidebar-foot #identity{overflow-wrap:anywhere}.sidebar-foot #logout{padding:8px 10px;font-size:11px}
.shell>main{max-width:none;padding:20px 24px;width:100%;min-width:0}
#workspace>.shell-topbar{padding:18px 22px;margin:0 0 20px;border-radius:22px;min-height:100px;gap:14px;background:linear-gradient(115deg,#17181b,#111216 70%,var(--accent-soft));box-shadow:none;transform:none}
.shell-topbar h2{font-size:23px;margin:3px 0 0;line-height:1.2;letter-spacing:-.035em}.shell-topbar .eyebrow{font-size:9px;letter-spacing:1.6px}.shell-topbar .page-lead{font-size:12px;margin:7px 0 0;line-height:1.45}
.shell-topbar-right{gap:8px;flex-shrink:0}.top-pill{min-height:32px;padding:0 12px;font-size:10px;white-space:nowrap}.top-pill-dot{width:6px;height:6px;background:#c9a85a;box-shadow:0 0 0 4px rgba(201,168,90,.1)}
.panel{border-radius:20px;padding:20px;margin-bottom:18px;background:linear-gradient(180deg,#1a1b1e,#141517);border-color:var(--border);box-shadow:0 10px 28px rgba(0,0,0,.1)}
.panel h3{font-size:16px;margin-bottom:10px}.panel p{line-height:1.65}.panel .muted{margin-bottom:16px}
.cards{gap:12px;margin-bottom:18px}.metric{padding:20px 16px;border-radius:18px;background:linear-gradient(180deg,#191a1c,#151618);border-color:var(--border)}.metric small{font-size:10px;text-transform:uppercase;letter-spacing:.3px}.metric strong{font-size:26px;margin-top:8px;line-height:1.3;font-weight:800}.metric p{font-size:11px;line-height:1.5}
form{gap:14px}form.grid{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}label{gap:7px;font-size:12px;color:var(--soft)}input,select,textarea{background:#101114;color:var(--text);border:1px solid var(--border-strong);border-radius:11px;padding:10px 12px;font-size:13px}input:not([type=checkbox]):not([type=color]),select{min-height:40px}input[type=color]{height:40px;padding:5px 8px}input[type=checkbox]{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--accent)}input[type=file]{padding:7px;font-size:12px}input::file-selector-button{font:inherit;background:#282a30;color:var(--text);border:1px solid var(--border-strong);border-radius:7px;padding:6px 9px;margin-right:10px}textarea{font-family:inherit}
button{border-radius:11px;min-height:38px;padding:9px 14px;font-size:12px;font-weight:700}button.secondary{background:linear-gradient(180deg,#292a30,#232429);color:var(--text);border:1px solid var(--border)}button.small{min-height:32px;padding:6px 10px;font-size:11px}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.actions{gap:8px}.table-wrap{border-radius:18px;margin-bottom:18px;max-width:100%}table{background:#191a1d}th{padding:13px 16px;font-size:10px;letter-spacing:.65px;background:#161719}td{padding:14px 16px;font-size:12px;border-color:var(--border)}tbody tr:hover{background:rgba(255,255,255,.025)}.badge{font-size:10px;padding:4px 8px;background:var(--green-soft);color:#82e6b9;border:1px solid rgba(50,196,141,.18)}.badge.off{background:var(--red-soft);color:#ffc0c0}.badge.pending{background:var(--yellow-soft);color:#f0d28e}
dialog{background:#191a1e;border-color:var(--border-strong);border-radius:20px;padding:22px;max-height:calc(100dvh - 32px)}dialog label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px}dialog label:has(input[type=checkbox]) input{flex-shrink:0}
.login{max-width:460px;margin:8vh auto;padding:30px}.login h2{font-size:27px}.login form{gap:17px}#notice{font-size:12px;border:1px solid rgba(50,196,141,.2);margin-bottom:16px}
@media(max-width:1100px){.shell{grid-template-columns:234px minmax(0,1fr)}.shell>main{padding:18px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.shell-topbar-right .top-pill{display:none}}
@media(max-width:700px){:root{--stage-bar:34px}.environment{position:relative;font-size:10px}.shell{display:block}.shell>aside.sidebar{position:relative;top:0;height:auto;max-height:none;width:100%;padding:12px;border-right:0;border-bottom:1px solid var(--border);overflow:visible}.sidebar::before{display:none}.sidebar-head{padding:10px;margin:0}.sidebar-head .brand-mark{display:grid}nav.side-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}nav .side-link{min-height:44px;padding:6px 8px;gap:7px}nav .side-copy small{display:none}nav .side-copy strong{font-size:11px}nav .side-icon{width:28px;height:28px;flex-basis:28px}.sidebar-foot{display:flex;align-items:center;justify-content:space-between;padding:10px;margin:4px 0 0;gap:12px}.sidebar-foot #identity{min-width:0;flex:1}.sidebar-foot #logout{flex-shrink:0}.shell>main{padding:14px}#workspace>.shell-topbar{padding:16px;border-radius:18px;min-height:90px;margin-bottom:14px}.shell-topbar h2{font-size:21px}.shell-topbar .page-lead{font-size:11px}.shell-topbar .eyebrow{display:none}.shell-topbar-right{width:auto}.panel{padding:16px;border-radius:17px}.cards{gap:8px}.metric{padding:16px 12px}.metric strong{font-size:22px}form.grid{grid-template-columns:minmax(0,1fr)}.login{margin:22px auto;padding:22px}.login h2{font-size:24px}.template-layout{gap:14px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Shared layout, v2: readable type, restrained surfaces and bounded forms on every tab. */
:root{--panel:#16181d;--border:rgba(255,255,255,.085);--border-strong:rgba(255,255,255,.15);--muted:#a1a7b3;--soft:#d1d5df}
body{font-size:14px;background:#0e1014}
.shell{grid-template-columns:244px minmax(0,1fr)}
.shell>aside.sidebar{background:#121419;padding:12px 10px;border-color:var(--border)}.sidebar::before{display:none}.sidebar-head{border:0;border-radius:0;background:none;box-shadow:none;padding:12px 8px}.sidebar-head:hover .brand-mark{transform:none}.sidebar-head .brand-mark{border-radius:12px;box-shadow:none}
nav .side-link{border:0;background:transparent;border-radius:8px;min-height:45px;padding:8px 10px;box-shadow:none;transition:background .15s}nav .side-link:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.045)}nav .side-link::before{display:none}body nav .side-link.selected{border:0;background:var(--accent-soft);box-shadow:none}.side-link.active .side-icon,.side-link:hover .side-icon{box-shadow:none;transform:none;border:0}
nav .side-copy strong{font-size:13px;font-weight:600}nav .side-copy small{font-size:10.5px;margin-top:2px}nav .side-icon{background:none;border:0;width:24px;height:28px;flex-basis:24px;box-shadow:none}nav .side-icon svg{width:18px;height:18px}.sidebar-foot{margin-top:auto;background:none;border:0;border-top:1px solid var(--border);border-radius:0;padding:16px 8px 4px}
.shell>main{max-width:1440px;padding:24px 28px;margin:0 auto}
#workspace>.shell-topbar{border:0;border-bottom:1px solid var(--border);border-radius:0;padding:0 0 18px;background:none;min-height:74px;margin-bottom:22px}
.shell-topbar h2{font-size:25px;font-weight:700;letter-spacing:-.025em}.shell-topbar .eyebrow{display:none}.shell-topbar .page-lead{font-size:13px}.top-pill{border-radius:7px;background:#1b1d24;box-shadow:none}
.panel{padding:22px;border-radius:12px;background:var(--panel);box-shadow:none;margin-bottom:16px}.panel h3{font-size:16px;font-weight:650}.panel p{max-width:86ch;font-size:13px;line-height:1.65}.panel .muted{margin:6px 0 16px}.panel.actions .muted{margin:0}.panel.actions{padding:14px 18px;gap:12px}
.panel form{max-width:none}.template-layout .panel,.template-layout form{max-width:none}form.grid{gap:18px 20px}label{font-size:13px;color:#cbd0dc}input,select,textarea{font-size:14px;border-radius:8px;padding:10px 12px;background:#101217}form>button{justify-self:start}button{font-size:13px;min-height:39px;border-radius:8px}button.secondary{background:#24272e;box-shadow:none}button.small{font-size:12px;min-height:33px}.actions{gap:8px}
.metric{background:var(--panel);padding:18px;border-radius:10px}.metric small{font-size:12px;text-transform:none;letter-spacing:0}.metric strong{font-size:25px}.metric p{font-size:12px}.cards{gap:12px}.table-wrap{border-radius:10px;background:var(--panel)}table{background:var(--panel)}th{font-size:11px;background:#1b1e24;text-transform:none;letter-spacing:.2px;padding:13px 16px}td{font-size:13px;padding:14px 16px}.empty{min-height:105px;padding:35px 22px;border:1px dashed var(--border-strong);background:transparent;display:grid;place-items:center}
details.workspace-disclosure{padding:0;max-width:1040px}.workspace-disclosure>summary{cursor:pointer;list-style:none;display:flex;gap:12px;align-items:center;padding:16px 20px;min-height:56px}.workspace-disclosure>summary::-webkit-details-marker{display:none}.workspace-disclosure>summary::before{content:'+';font-size:20px;font-weight:400;color:var(--muted);width:14px;flex-shrink:0}.workspace-disclosure[open]>summary::before{content:'−'}.workspace-disclosure>summary strong{font-size:14px;font-weight:600}.workspace-disclosure>summary>span{font-size:12px;color:var(--muted);margin-left:auto;text-align:right}.workspace-disclosure[open]>summary{border-bottom:1px solid var(--border)}.disclosure-body{padding:20px}.disclosure-body>.panel{padding:0;border:0;border-radius:0;background:none;box-shadow:none}.disclosure-body>.panel:last-child{margin-bottom:0}.workspace-disclosure summary:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.workspace-disclosure form{max-width:900px}.inline-help{margin:0 0 18px;color:var(--muted);font-size:12px}.inline-help>summary{cursor:pointer}.inline-help>p{margin-top:10px}
.campaign-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.campaign-toolbar h3{font-size:16px;margin:0}.campaign-toolbar p.muted{font-size:12px;margin:4px 0 0}.campaign-toolbar button{flex-shrink:0}#campaign-technical{max-width:none}#campaign-technical .disclosure-body{display:grid;gap:18px}#queue-health h3{font-size:14px}#rate-summary{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}#rate-summary h4{margin:0 0 6px}.disclosure-body>details.panel>summary{font-size:13px;cursor:pointer}.disclosure-body>details.panel>form{margin-top:16px}#snapshot-form-section{scroll-margin-top:60px}
.campaign-prerequisites{border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:18px}.campaign-prerequisites p{margin:0 0 10px}.sidebar-head .brand-copy{overflow-wrap:anywhere}.sidebar-head{isolation:isolate}.sidebar-head .brand-logo{position:static}
#menu-toggle{display:none}dialog{border-radius:12px;background:#191c23}#notice{border-radius:8px}.login{max-width:460px}
@media(max-width:1100px){.shell{grid-template-columns:224px minmax(0,1fr)}.shell>main{padding:22px}.panel{padding:20px}}
@media(max-width:700px){.shell{display:block}.shell>aside.sidebar{padding:10px 14px}.sidebar-head{padding:0;gap:10px}.sidebar-head .brand-copy{flex:1}.sidebar-head .brand-title{font-size:16px}.sidebar-head .brand-sub{font-size:10px}.sidebar-head .brand-mark,.sidebar-head .brand-logo{width:38px;height:38px;min-width:38px}#menu-toggle{display:block;margin-left:auto;min-height:36px;font-size:12px}.sidebar:has(#nav[hidden]) #menu-toggle{display:none}.shell>aside.sidebar #nav,.shell>aside.sidebar .sidebar-foot{display:none}.shell>aside.sidebar.mobile-open #nav:not([hidden]){display:grid;margin-top:12px}.shell>aside.sidebar.mobile-open .sidebar-foot{display:flex;margin-top:12px}.shell>main{padding:20px 14px}.shell-topbar-right{align-self:center}#workspace>.shell-topbar{flex-direction:row;align-items:center;padding:0 0 16px;min-height:64px;gap:10px;margin-bottom:18px}.shell-topbar h2{font-size:22px}.shell-topbar .page-lead{font-size:12px}.shell-topbar-right button{font-size:12px;min-height:36px;padding:8px 10px}.panel{padding:18px 16px;border-radius:10px}.cards{gap:8px}.metric{padding:15px 12px}.metric strong{font-size:22px}.metric small{font-size:11px}form.grid{grid-template-columns:minmax(0,1fr);gap:16px}.workspace-disclosure>summary{padding:15px 16px;flex-wrap:wrap;gap:8px}.workspace-disclosure>summary>span{width:100%;text-align:left;margin:0 0 0 22px;font-size:11px}.disclosure-body{padding:18px 16px}.campaign-toolbar{align-items:flex-start;gap:10px}.campaign-toolbar h3{font-size:15px}.campaign-toolbar button{font-size:12px;padding:9px 11px}.template-layout{gap:16px}.login{margin:18px auto;padding:22px}nav .side-copy strong{font-size:12px}}
