:root{--bg:#f5f6fa;--ink:#18233c;--muted:#6d778e;--line:#e3e7ef;--accent:#5148d9;--nav:#142039}*{box-sizing:border-box}body{margin:0;font:14px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.2;letter-spacing:-1px;margin-bottom:8px}h2{font-size:20px}h3{font-size:16px}a{color:var(--accent)}button,.button{font:inherit;border:0;background:var(--accent);color:white;border-radius:8px;padding:10px 16px;cursor:pointer;text-decoration:none;display:inline-block;font-weight:600}button:hover,.button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.subtle{background:transparent;color:inherit;padding:6px 9px}.danger{background:#fff0f0;color:#aa2929}.brand{font-size:25px;font-weight:800;display:flex;gap:12px;align-items:center;color:#a8a0ff}.brand>span{font-size:17px;color:inherit;line-height:1.2}.auth{max-width:460px;margin:8vh auto;padding:36px;background:white;border:1px solid var(--line);border-radius:18px}.auth .brand{margin-bottom:35px;color:var(--accent)}.auth p{color:var(--muted)}label{display:block;font-size:13px;font-weight:600;margin-bottom:16px}input,select,textarea{display:block;width:100%;border:1px solid #cfd5e1;border-radius:7px;background:white;color:var(--ink);padding:10px;font:inherit;margin-top:6px}input:focus,select:focus,textarea:focus{outline:2px solid #b9b4ff;outline-offset:1px}textarea{min-height:105px;resize:vertical}select[multiple]{min-height:110px}input[type=checkbox]{display:inline;width:auto;margin-right:8px}aside{position:fixed;inset:0 auto 0 0;width:236px;background:var(--nav);color:#bcc6db;padding:30px 20px;display:flex;flex-direction:column}aside .brand{padding:0 10px;margin-bottom:40px;color:white}.nav-label,.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:750;color:var(--muted)}.nav-label{padding-left:12px;color:#8390aa}nav{display:grid;gap:5px}nav button{text-align:left;background:transparent;color:#b9c5db;padding:11px 14px;font-weight:500}nav button.active{background:#2b3559;color:white}nav button span{display:inline-block;width:26px;color:#a99fff}.aside-foot{margin-top:auto;padding:24px 10px 0;font-size:12px}.aside-foot p{overflow-wrap:anywhere;margin:8px 0;color:#94a2bd}.dot{display:inline-block;width:7px;height:7px;background:#74d5ae;border-radius:50%;margin-right:6px}.workspace-main{margin-left:236px;padding:36px 42px;max-width:1800px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.intro{font-size:15px;color:var(--muted);max-width:700px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.card,.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.card .value{font-size:34px;letter-spacing:-1px;font-weight:700;display:block;margin-top:7px}.card .label{color:var(--muted);font-size:12px}.card small{color:#7c79bd}.columns{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.panel{margin-bottom:18px}.panel p{color:var(--muted)}.item{border-top:1px solid var(--line);padding:14px 0}.item:last-child{padding-bottom:0}.item p{margin:5px 0}.pill{display:inline-block;border-radius:20px;font-size:11px;padding:3px 8px;background:#eeecff;color:#5148bb;white-space:nowrap}.pill.green{background:#e9f6ef;color:#27845a}.pill.red{background:#fff0ed;color:#ad4534}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.toolbar label{margin:0;min-width:150px}.toolbar .search{flex:1}.toolbar input,.toolbar select{margin:0}.toolbar button{white-space:nowrap}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{padding:13px 16px;color:var(--muted);font-size:10px;letter-spacing:.7px;text-transform:uppercase;background:#fbfcfe;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:14px 16px;border-bottom:1px solid #eef0f6;max-width:280px;overflow-wrap:anywhere}td .secondary{padding:5px 10px;font-size:12px}tr:last-child td{border-bottom:0}td strong{font-size:13px}.empty{text-align:center;padding:60px 20px;color:var(--muted)}.pagination{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin:14px 0}.help{padding:13px 16px;border-radius:8px;background:#eeeffb;color:#5f648c;margin-bottom:20px;font-size:12px}footer{margin-top:38px;font-size:11px;color:#8b94a7;border-top:1px solid var(--line);padding-top:18px}dialog{border:1px solid var(--line);border-radius:14px;width:min(760px,95vw);max-height:90vh;padding:25px;color:var(--ink)}dialog::backdrop{background:#14203980}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}#editFields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}#editFields .wide{grid-column:1/-1}.dialog-actions{position:sticky;bottom:-25px;background:white;padding:16px 0;border-top:1px solid var(--line)}.error{color:#af3030!important}#notice{background:#e8f5ee;border:1px solid #bce1ce;padding:12px 16px;border-radius:8px;margin-bottom:20px;white-space:pre-wrap;overflow-wrap:anywhere}pre{background:#f1f3f8;border-radius:8px;padding:16px;white-space:pre-wrap;overflow-wrap:anywhere}code{font-size:12px}.auth button{width:100%}.muted{color:var(--muted)}.checkbox{display:flex;gap:8px;align-items:flex-start;font-weight:400}.checkbox input{flex:none;margin-top:5px}.auth .eyebrow{margin-top:10px}.consent-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}@media(max-width:1000px){.workspace-main{padding:25px 22px}.columns{grid-template-columns:1fr}aside{width:195px}.workspace-main{margin-left:195px}}@media(max-width:700px){aside{position:static;width:100%;padding:18px}.brand{font-size:23px}aside .brand{margin:0 0 16px}nav{display:flex;overflow:auto;gap:6px}nav button{white-space:nowrap;padding:8px 12px}nav button span,.nav-label,.aside-foot{display:none}.workspace-main{margin:0;padding:22px 16px}header{align-items:flex-start}header .button{font-size:11px;padding:8px}h1{font-size:26px}.cards{grid-template-columns:repeat(2,1fr);gap:10px}.card{padding:16px}.card .value{font-size:28px}.auth{margin:25px 12px;padding:25px}#editFields{grid-template-columns:1fr}#editFields .wide{grid-column:auto}.toolbar label{min-width:120px}}

@media(max-width:700px){.aside-foot{display:flex;justify-content:flex-end;margin:0;padding:8px 0 0;font-size:0}.aside-foot .dot,.aside-foot p{display:none}.aside-foot button{font-size:12px}}
.installer{max-width:580px;margin:30px auto}.installer h2{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}.installer h1{font-size:29px}@media(max-width:700px){.installer{margin:20px 12px}}

/* Marketing overview */
:root{--bg:#f3f5fc;--ink:#182145;--muted:#596382;--line:#e0e5f2;--accent:#4f46d4;--nav:#171739}
#workspace aside{background:linear-gradient(165deg,#211a53 0%,#171634 52%,#12172e 100%);border-right:1px solid #242449}
#workspace aside .brand{color:#fff;gap:14px}
#workspace nav button.active{background:#423780;box-shadow:inset 3px 0 #b1a5ff}
#workspace .workspace-main{max-width:1720px}
.report-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;overflow:hidden;padding:25px 29px;border-radius:19px;background:radial-gradient(ellipse at 95% -80%,#ff94d4 0%,transparent 64%),linear-gradient(112deg,#302489,#5740b6 64%,#763ab0);color:#fff;box-shadow:0 12px 30px #2b226127}
.report-hero h2{font-size:30px;line-height:1.18;margin:0 0 5px;letter-spacing:-.9px}
.report-hero p{margin:0;color:#ede9ff;font-size:13px}
.report-hero .report-kicker{margin:0 0 7px;color:#f1deff;letter-spacing:2px;font-size:10px;font-weight:800}
.report-filter{margin:0;width:min(270px,100%);flex:0 0 min(270px,42%);color:#fff}
.report-filter select{background:#fff;color:#272052;border:0;border-radius:10px;cursor:pointer;padding:9px 12px}
.report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:17px 0}
.report-metric{display:flex;flex-direction:column;min-width:0;padding:15px 17px 14px;border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 9px #16184108;background:#fff}
.report-metric span{font-size:12px;font-weight:750}
.report-metric strong{font-size:32px;letter-spacing:-1px;line-height:1.35;font-variant-numeric:tabular-nums}
.report-metric small{font-size:11px;color:#525e75}
.metric-0{background:#eeebff;border-color:#e1dbfd;color:#443298}
.metric-1{background:#e2f7ef;border-color:#cceee1;color:#145e51}
.metric-2{background:#e8efff;border-color:#dce5fc;color:#254d9d}
.metric-3{background:#fff0e3;border-color:#f9e2cf;color:#883d1e}
.report-grid{display:grid;grid-template-columns:minmax(0,1.82fr) minmax(0,1fr);gap:15px}
.report-panel{min-width:0;background:white;border:1px solid var(--line);border-radius:15px;margin-bottom:15px;padding:17px 19px;box-shadow:0 3px 9px #16184108}
.report-panel h2{font-size:18px;letter-spacing:-.25px;margin:0 0 3px}
.report-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.report-caption{font-size:12px;color:var(--muted);margin:0 0 9px}
.report-legend{display:flex;gap:13px;align-items:center;font-size:12px;color:var(--muted);margin:7px 0 3px}
.report-legend span::before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;background:#6653e5}
.report-legend .legend-received::before{background:#148671}
.report-panel svg{display:block;width:100%;height:auto}
.chart-grid{stroke:#e5e8f3;stroke-width:1}
.chart-label{font-size:11px;fill:#596382}
.chart-sent{fill:#6653e5}
.chart-received{fill:#148671}
.report-empty{min-height:152px;display:grid;place-items:center;text-align:center;color:var(--muted);background:#f6f6fe;border-radius:10px;margin-top:12px;padding:18px}
.report-item{border-top:1px solid #e9ecf5;padding:10px 0;overflow-wrap:anywhere}
.report-item p{color:var(--muted);font-size:12px;margin:3px 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.report-item:last-child{padding-bottom:0}
.report-link{background:transparent;color:#4a3ca9;font-weight:750;padding:2px 0;cursor:pointer;font-size:12px;text-align:left}
.report-link:hover{text-decoration:underline}
.report-count{background:#eeeaff;color:#4833a0;border-radius:12px;padding:3px 8px;font-size:11px;font-weight:700;white-space:nowrap}
.report-table{overflow:auto}
.report-table table{min-width:505px}
.report-table td,.report-table th{padding:8px 9px}
.report-table td:nth-child(2){white-space:nowrap}
.report-table progress{width:clamp(45px,11vw,135px);height:8px;margin:0 10px 0 0;vertical-align:middle;accent-color:#6955de}
.report-table progress::-webkit-progress-bar{background:#eeebff;border-radius:8px}
.report-table progress::-webkit-progress-value{background:linear-gradient(90deg,#6955de,#8767e8);border-radius:8px}
@media(max-width:1000px){.report-grid{grid-template-columns:1fr}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.report-hero{display:block;padding:20px}.report-hero h2{font-size:24px}.report-filter{margin-top:12px;width:100%}.report-metric{padding:11px 12px}.report-metric strong{font-size:27px}.report-metrics{gap:9px}.report-panel{padding:14px}}

/* Analytics theme, scoped so the operational screens retain their established controls. */
.analytics-view{
  --dash-bg:#080f1e;--dash-surface:#101b30;--dash-ink:#f3f7ff;--dash-muted:#a6b6d1;
  --dash-line:#233553;--dash-cyan:#70e4ff;--dash-violet:#ab95ff;--dash-mint:#66edc2;
  color:var(--dash-ink);
}
.analytics-view .workspace-main{
  max-width:none;min-height:100vh;
  background:radial-gradient(ellipse at 95% 0%,#182b4c 0%,transparent 34%),var(--dash-bg);
}
#workspace.analytics-view aside{
  background:linear-gradient(180deg,#121c31,#091121 70%);
  border-right:1px solid #23314d;
}
#workspace.analytics-view aside .brand{color:#8ee9ff;letter-spacing:.4px}
#workspace.analytics-view aside .brand>span{color:#f0f6ff;letter-spacing:0}
#workspace.analytics-view nav button.active{
  background:#1c3150;box-shadow:inset 3px 0 #6de8ff;color:#f3fbff;
}
#workspace.analytics-view nav button.active span{color:#75e8ff}
.analytics-view .workspace-main>header{margin-bottom:18px}
.analytics-view .workspace-main>header h1{font-size:25px;margin:0}
.analytics-view .workspace-main>header .eyebrow{color:#9eb2d4;margin-bottom:5px}
.analytics-view .workspace-main>header .secondary{
  background:#12233a;border-color:#324565;color:#e8f2ff;
}
.analytics-view footer{border-color:var(--dash-line);color:var(--dash-muted)}
.analytics .report-hero{
  min-height:146px;align-items:center;padding:26px 28px;border:1px solid #334b74;border-radius:20px;
  background:
    radial-gradient(ellipse at 80% -22%,#4366b16b 0%,transparent 65%),
    radial-gradient(ellipse at 38% 145%,#6d409c6b 0%,transparent 70%),
    linear-gradient(111deg,#182947,#15213d 65%,#132441);
  box-shadow:0 22px 50px #03071052;
}
.analytics .report-hero::after{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.38;
  background-image:radial-gradient(#97caff48 1px,transparent 1px);
  background-size:16px 16px;mask-image:linear-gradient(90deg,transparent 15%,#000);
}
.analytics .report-hero>div,.analytics .report-filter{position:relative;z-index:1;min-width:0}
.analytics .report-hero h2{font-size:clamp(25px,3.2vw,43px);font-weight:760;letter-spacing:-1.4px;overflow-wrap:anywhere}
.analytics .report-hero p{color:#c1d5f2;font-size:14px}
.analytics .report-hero .report-kicker{color:#85ebff;font-size:10px;letter-spacing:1.9px;margin-bottom:8px}
.analytics .report-filter{color:#d9e7ff}
.analytics .report-filter select{background:#111c33;color:#ecf5ff;border:1px solid #4c668d}
.analytics .report-filter select:focus-visible,.analytics button:focus-visible{outline:2px solid #74e6ff;outline-offset:3px}
.analytics .report-metrics{gap:12px;margin:15px 0}
.analytics .report-metric{
  position:relative;overflow:hidden;padding:14px 16px 16px;border-color:var(--dash-line);
  background:linear-gradient(140deg,#182540,#111c32);box-shadow:0 8px 24px #0003;
}
.analytics .report-metric::after{
  content:'';position:absolute;right:14px;top:17px;width:8px;height:8px;
  border-radius:50%;background:currentColor;box-shadow:0 0 16px currentColor;
}
.analytics .report-metric span{font-size:11px;letter-spacing:.45px;text-transform:uppercase;padding-right:13px}
.analytics .report-metric strong{color:var(--dash-ink);font-size:clamp(27px,3vw,39px);line-height:1.35}
.analytics .report-metric small{color:var(--dash-muted)}
.analytics .metric-0{color:var(--dash-cyan)}
.analytics .metric-1{color:var(--dash-mint)}
.analytics .metric-2{color:var(--dash-violet)}
.analytics .metric-3{color:#ffd38b}
.analytics .report-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.analytics .report-panel{
  background:linear-gradient(150deg,#142039,#101a2e);border:1px solid var(--dash-line);
  border-radius:17px;padding:17px 19px;box-shadow:0 9px 30px #0003;
}
.analytics .report-panel h2{font-size:18px;font-weight:720;letter-spacing:-.3px;color:var(--dash-ink)}
.analytics .report-caption,.analytics .report-legend,.analytics .report-item p{color:var(--dash-muted)}
.analytics .report-link,.analytics .report-panel a{color:#95d9ff}
.analytics .report-item{border-top-color:var(--dash-line)}
.analytics .report-count{background:#223451;color:#b6d8ff}
.analytics .report-empty{background:#0c162a;color:var(--dash-muted);border:1px dashed #304568;min-height:124px}
.analytics .donut-content{display:grid;grid-template-columns:minmax(105px,175px) minmax(0,1fr);gap:13px;align-items:center;margin-top:4px}
.analytics .donut-track{stroke:#283a56}
.analytics .donut-value{font-size:30px;fill:var(--dash-ink);font-weight:760;font-variant-numeric:tabular-nums}
.analytics .donut-unit{font-size:9px;fill:var(--dash-muted);letter-spacing:1.4px;font-weight:700}
.analytics .donut-legend{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.analytics .donut-legend li{
  display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;
  border-bottom:1px solid #253654;padding:0 0 5px;color:#d9e6fa;font-size:12px;
}
.analytics .donut-legend li:last-child{border-bottom:0}
.analytics .donut-legend span{overflow-wrap:anywhere}
.analytics .donut-legend li svg{width:10px;height:10px}
.analytics .donut-legend strong{color:var(--dash-ink);font-variant-numeric:tabular-nums}
.analytics .chart-grid{stroke:#2a3b58}
.analytics .chart-label{fill:#b3c4df}
.analytics .chart-sent,.analytics .legend-sent::before{fill:#a48aff;background:#a48aff}
.analytics .chart-received,.analytics .legend-received::before{fill:#4ddfc2;background:#4ddfc2}
.analytics .report-table th{background:#101b30;color:#a7bad9}
.analytics .report-table th,.analytics .report-table td{border-color:#253552}
.analytics .report-table td{color:#dce7fb}
.analytics .report-table progress{accent-color:#72dfff}
.analytics .report-table progress::-webkit-progress-bar{background:#293950}
.analytics .report-table progress::-webkit-progress-value{background:linear-gradient(90deg,#9985f8,#68dcf8)}
@media(max-width:1120px){.analytics .donut-content{grid-template-columns:minmax(95px,142px) minmax(0,1fr);gap:8px}}
@media(max-width:850px){.analytics .report-insights{grid-template-columns:1fr 1fr}.analytics .donut-content{grid-template-columns:1fr}.analytics .donut-content>svg{max-width:146px;margin:auto}.analytics .donut-legend{gap:5px}}
@media(max-width:550px){.analytics .report-insights{grid-template-columns:1fr}.analytics .donut-content{grid-template-columns:minmax(100px,142px) minmax(0,1fr)}.analytics .report-hero{padding:18px}.analytics .report-hero h2{letter-spacing:-.6px}.analytics .report-metric{padding:12px}.analytics .report-panel{padding:14px}}
.analytics .donut-legend small{display:inline-block;min-width:37px;text-align:right;color:#9eb2d4;font-size:10px;font-weight:500}
@media(min-width:551px) and (max-width:650px){.analytics .donut-legend small{display:none}}
