:root{font:15px system-ui,sans-serif;color:#172c32;background:#f4f7f5;--ink:#172c32;--accent:#006a55;--muted:#526763;--line:#dbe5df}
.dashboard{min-height:100vh;display:grid;grid-template-columns:206px minmax(0,1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"head head" "side main" "side foot"}
.dashboard .dashboard-header{grid-area:head;padding:14px 24px;gap:12px;flex-wrap:wrap}
.dashboard-header .brand{min-width:0;overflow-wrap:anywhere}
.brand-logo{width:42px;height:42px;object-fit:contain;flex:none}
.dashboard-header .brand-logo{width:auto;max-width:min(220px,65vw);object-position:left center}
.sidebar{grid-area:side;background:#fff;border-right:1px solid var(--line);padding:25px 14px}
.sidebar .eyebrow{padding-inline:12px}
.sidebar nav{display:grid;gap:6px;border:0;margin-top:14px;overflow:visible}
.sidebar nav button{border:0;border-radius:8px;text-align:left;white-space:nowrap;padding:11px 12px}
.sidebar nav button span{display:inline-block;width:20px;color:var(--accent);font-size:17px}
.sidebar nav button[aria-current]{background:#e5f3e9;color:#005440}
.dashboard .dashboard-main{grid-area:main;width:100%;padding:24px clamp(16px,3vw,38px) 42px;margin:0 auto;min-width:0}
.dashboard-footer{grid-area:foot;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;border-top:1px solid var(--line);padding:15px clamp(16px,3vw,38px);color:var(--muted);background:white;font-size:13px}
.dashboard-footer small{margin-left:auto}
.dashboard .stat{color:var(--metric-ink);background:var(--metric-bg);border-color:var(--metric-border);border-top-width:3px}
.dashboard .stat span{color:inherit}
.stat-blue{--metric-ink:#214ea0;--metric-bg:#eff5ff;--metric-border:#a7c3fa}
.stat-teal{--metric-ink:#0b615c;--metric-bg:#e8faf5;--metric-border:#8ed8c8}
.stat-violet{--metric-ink:#50329b;--metric-bg:#f3eeff;--metric-border:#c8b4f7}
.stat-green{--metric-ink:#306426;--metric-bg:#eff9e9;--metric-border:#a6d295}
.stat-amber{--metric-ink:#805111;--metric-bg:#fff6e6;--metric-border:#f2cd82}
.stat-rose{--metric-ink:#953a61;--metric-bg:#fff0f6;--metric-border:#efabcb}
.trend-card{margin-bottom:14px}
.trend-card meter{appearance:none;height:13px}
.trend-card meter::-webkit-meter-bar{background:#eef0fb;border:0;border-radius:20px}
.trend-card meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#6555d9,#9e70ea);border-radius:20px}
.trend-card meter::-moz-meter-bar{background:linear-gradient(90deg,#6555d9,#9e70ea);border-radius:20px}
.branding-card{display:grid;justify-items:start;gap:18px}
.favicon-preview{width:28px;height:28px;object-fit:contain}
@media(max-width:760px){
  .dashboard{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"head" "side" "main" "foot"}
  .sidebar{padding:5px 12px;border-right:0;border-bottom:1px solid var(--line)}
  .sidebar .eyebrow{display:none}
  .sidebar nav{display:flex;overflow:auto;margin:0;padding-block:4px}
  .dashboard-footer small{margin-left:0}
}
.login-page{min-height:100vh;display:grid;place-items:center;background:#edf4ef}
.login-shell{width:min(880px,100%);display:grid;grid-template-columns:1.1fr 1fr;gap:0}
.login-intro,.login-form{padding:clamp(24px,5vw,48px)}
.login-intro{background:#dcefe4;border-radius:18px 0 0 18px}
.login-intro .eyebrow{margin-top:32px}
.login-form{background:#fff;border:1px solid var(--line);border-radius:0 18px 18px 0;align-content:center}
.login-form button{width:100%;margin-top:8px}
.login-error{color:#984629}
.campaign-views{margin-bottom:16px}
.banner-stage{border:1px solid var(--line);padding:12px;border-radius:10px;background:#f4f7f5}
#bannerSample{max-width:100%;margin:auto;text-align:center}
#bannerSample img{display:block;width:100%;object-fit:contain;background:white}
@media(max-width:620px){.login-shell{grid-template-columns:1fr}.login-intro{border-radius:18px 18px 0 0}.login-form{border-radius:0 0 18px 18px}.login-intro .eyebrow{margin-top:18px}}
*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;padding:18px max(24px,calc((100% - 1160px)/2));background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:19px}.brand small{display:block;font-size:9px;letter-spacing:.16em;color:var(--muted)}.mark{background:#006a55;color:white;padding:8px 13px;border-radius:11px}.badge{background:#e3f3e9;color:#195443;border-radius:20px;padding:5px 11px;font-size:12px}.badge.paused,.badge.draft{background:#f2ece0;color:#66512e}main{max-width:1208px;margin:auto;padding:35px 24px 70px}.intro{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#e5f3e9;border:1px solid #d2e6d9;border-radius:20px;padding:27px 32px}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--accent);font-weight:800}h1{font-size:clamp(29px,5vw,46px);margin:5px 0;letter-spacing:-.045em}p{color:var(--muted)}.intro p:last-child{margin-bottom:0}nav{display:flex;gap:9px;overflow:auto;border-bottom:1px solid var(--line);margin-top:23px}button{background:var(--accent);color:#fff;border:1px solid transparent;border-radius:9px;padding:10px 14px;font:inherit;font-weight:650;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.6;cursor:wait}button.plain,nav button{background:transparent;color:var(--ink)}button.plain{border-color:var(--line)}nav button{border-radius:0;border-bottom:3px solid transparent}nav button[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}h2{font-size:20px;margin:0}.section-head,.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.card,.stat{background:white;border:1px solid var(--line);border-radius:14px;padding:18px}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));margin:15px 0}.stat strong{display:block;font-size:25px;margin-top:8px}.stat span,small{color:var(--muted)}.stack{display:grid;gap:12px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.row .spacer{flex:1}.thumb{width:82px;height:50px;object-fit:contain;background:#edf3ef;border-radius:7px}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.filters label{margin:0;min-width:125px;flex:1}.table{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}.trend{display:grid;gap:8px;margin:14px 0}.bar{display:grid;grid-template-columns:100px 1fr 60px;align-items:center;gap:8px;font-size:12px}.bar meter{width:100%}dialog{width:min(580px,calc(100vw - 32px));max-height:90vh;border:1px solid var(--line);border-radius:17px;padding:22px;color:var(--ink)}dialog::backdrop{background:#112d2acc}label{display:block;font-weight:600;font-size:13px;margin:12px 0}input,select,textarea{width:100%;padding:9px;border:1px solid #aabdb5;border-radius:8px;background:white;color:var(--ink);font:inherit;margin-top:4px}input[type=checkbox]{width:auto;margin-right:7px}fieldset{border:1px solid var(--line);border-radius:8px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preview{display:block;max-width:100%;max-height:160px;margin:8px auto}#notice,#form-error{color:#984629}textarea{font-family:monospace;min-height:85px}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #137d69;outline-offset:2px}@media(max-width:550px){main{padding:19px 14px}.intro{display:block;padding:18px}.intro button{margin-top:14px}.card{padding:12px}}
