/* Novaria Mail — dashboard. Webnova standard: dark, Inter 300, thin, one accent. */
:root{
  --bg:#0c0e10; --bg-2:#111417; --panel:#14181c; --panel-2:#181d22;
  --line:#232a30; --line-2:#2b343b;
  --text:#e7ecf0; --muted:#8b97a1; --muted-2:#5f6c76;
  --accent:#3ad6c5; --accent-dim:#1c6f67; --accent-ink:#04110f;
  --good:#3ad67f; --warn:#e5b24a; --bad:#e5665a;
  --radius:14px; --radius-sm:10px;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--text); font-family:var(--font); font-weight:300;
  font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-weight:300;letter-spacing:-.01em;margin:0}
strong,b{font-weight:600}
.mono{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace}

/* ---------- App shell ---------- */
.app{display:flex;min-height:100vh}
.sidebar{
  width:236px;flex:0 0 236px;background:var(--bg-2);border-right:1px solid var(--line);
  padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:6px
}
.brand{display:flex;align-items:center;gap:10px;padding:6px 10px 20px 10px}
.brand .mark{width:26px;height:26px;border-radius:8px;background:
  radial-gradient(120% 120% at 30% 20%,var(--accent),var(--accent-dim));box-shadow:0 0 22px -6px var(--accent)}
.brand .name{font-size:16px;letter-spacing:.02em}
.brand .name b{font-weight:600}
.nav a{
  display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--radius-sm);
  color:var(--muted);font-size:14px;transition:.14s
}
.nav a:hover{background:var(--panel);color:var(--text);text-decoration:none}
.nav a.active{background:var(--panel-2);color:var(--text)}
.nav a.active .ic{color:var(--accent)}
.ic{width:17px;height:17px;stroke:currentColor;stroke-width:1.25;fill:none;flex:0 0 17px}
.side-foot{margin-top:auto;padding:12px 10px 2px;border-top:1px solid var(--line);color:var(--muted-2);font-size:12px}
.side-foot .who{color:var(--muted);font-size:13px;margin-bottom:2px}

.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 30px;border-bottom:1px solid var(--line);background:rgba(12,14,16,.7);
  position:sticky;top:0;backdrop-filter:blur(8px);z-index:5
}
.topbar h1{font-size:19px}
.topbar .sub{color:var(--muted);font-size:13px;margin-top:2px}
.content{padding:26px 30px 60px;max-width:1120px;width:100%}

/* ---------- Bits ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted)}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;padding:3px 9px;border-radius:999px;font-weight:400;text-transform:capitalize}
.chip .dot{width:6px;height:6px;border-radius:50%}
.chip.sent,.chip.active{background:rgba(58,214,127,.1);color:#8fe6b4}
.chip.sent .dot,.chip.active .dot{background:var(--good)}
.chip.draft,.chip.pending{background:rgba(229,178,74,.1);color:#ecc98a}
.chip.draft .dot,.chip.pending .dot{background:var(--warn)}
.chip.scheduled,.chip.tested{background:rgba(58,150,214,.12);color:#8fc3e6}
.chip.scheduled .dot,.chip.tested .dot{background:#3a96d6}
.chip.sending{background:rgba(58,214,197,.12);color:#8fe6dd}
.chip.sending .dot{background:var(--accent)}
.chip.bounced,.chip.failed,.chip.cancelled,.chip.unsubscribed{background:rgba(229,102,90,.1);color:#eaa199}
.chip.bounced .dot,.chip.failed .dot,.chip.cancelled .dot,.chip.unsubscribed .dot{background:var(--bad)}

.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
.grid{display:grid;gap:16px}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-2{grid-template-columns:2fr 1fr}
@media(max-width:900px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}.sidebar{display:none}}

.tile .label{color:var(--muted);font-size:12.5px;text-transform:uppercase;letter-spacing:.08em}
.tile .value{font-size:30px;letter-spacing:-.02em;margin-top:8px}
.tile .value .unit{font-size:15px;color:var(--muted);margin-left:3px}
.tile .foot{color:var(--muted-2);font-size:12.5px;margin-top:6px}
.tile .value.accent{color:var(--accent)}

.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:30px 0 12px}

/* Tables */
table.data{width:100%;border-collapse:collapse;font-size:14px}
table.data th{text-align:left;color:var(--muted);font-weight:400;font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;border-bottom:1px solid var(--line)}
table.data td{padding:12px;border-bottom:1px solid var(--line);color:var(--text)}
table.data tr:hover td{background:var(--panel-2)}
table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}.muted-2{color:var(--muted-2)}

/* Meters */
.meter{height:7px;border-radius:999px;background:var(--line);overflow:hidden}
.meter>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent-dim),var(--accent))}
.meter.mono>span{background:var(--muted)}

/* Deliverability light */
.dns{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.dns:last-child{border-bottom:none}
.light{width:9px;height:9px;border-radius:50%}
.light.green{background:var(--good);box-shadow:0 0 10px -1px var(--good)}
.light.amber{background:var(--warn);box-shadow:0 0 10px -1px var(--warn)}
.light.red{background:var(--bad);box-shadow:0 0 10px -1px var(--bad)}

/* Email preview frame */
.preview-wrap{background:#e9e6df;border-radius:var(--radius);padding:16px;border:1px solid var(--line)}
.preview-wrap iframe{width:100%;height:760px;border:0;border-radius:8px;background:#fff;display:block}

/* Buttons + inputs */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--accent-ink);font-weight:500;font-size:14px;padding:9px 16px;border-radius:var(--radius-sm);border:0;cursor:pointer;transition:.14s}
.btn:hover{filter:brightness(1.08);text-decoration:none}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line-2)}
.btn.ghost:hover{background:var(--panel-2)}
.input{width:100%;background:var(--bg-2);border:1px solid var(--line-2);color:var(--text);border-radius:var(--radius-sm);padding:11px 13px;font-family:var(--font);font-size:14px}
.input:focus{outline:none;border-color:var(--accent-dim);box-shadow:0 0 0 3px rgba(58,214,197,.12)}
.search{max-width:320px}

.tooltip{border-bottom:1px dotted var(--muted-2);cursor:help}

/* ---------- Login ---------- */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;
  background:radial-gradient(1000px 600px at 50% -10%,rgba(58,214,197,.08),transparent),var(--bg)}
.login-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:34px 32px}
.login-card .brand{justify-content:center;padding-bottom:8px}
.login-card h2{text-align:center;font-size:20px;margin-bottom:4px}
.login-card p.sub{text-align:center;color:var(--muted);font-size:13.5px;margin:0 0 24px}
.login-card label{display:block;font-size:13px;color:var(--muted);margin:14px 0 6px}
.login-card .btn{width:100%;justify-content:center;margin-top:22px;padding:12px}
.login-card .err{background:rgba(229,102,90,.1);border:1px solid rgba(229,102,90,.3);color:#eaa199;font-size:13.5px;padding:10px 12px;border-radius:10px;margin-bottom:6px}
.login-foot{text-align:center;color:var(--muted-2);font-size:12px;margin-top:20px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
