:root{--bg:#071121;--panel:#0d1930;--panel2:#0a1529;--line:#203250;--text:#e7eefc;--muted:#8ca0c4;--accent:#4d8dff;--green:#1fa36e;--red:#d85c54;--amber:#b88a1f}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top,#0b1f47 0%,#071121 48%,#06101d 100%);color:var(--text)}
a{text-decoration:none;color:inherit}
.layout{display:flex;min-height:100vh}
.sidebar{width:192px;background:rgba(8,17,33,.9);border-right:1px solid var(--line);padding:14px 10px;position:sticky;top:0;height:100vh}
.brand{font-size:18px;font-weight:800;margin-bottom:14px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.nav a{display:block;padding:9px 11px;border-radius:10px;color:#cfe0ff;margin-bottom:4px;font-size:14px}
.nav a.active,.nav a:hover{background:#162544}
.main{flex:1;padding:18px 18px 22px}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.page-title{font-size:22px;font-weight:800}.userbox{font-size:13px;color:var(--muted)}
.strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}
.strip-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.box{background:rgba(13,25,48,.94);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.k{color:var(--muted);font-size:12px;margin-bottom:4px}.v{font-size:22px;font-weight:800;line-height:1.1}.v.sm{font-size:17px}
.stack{display:grid;grid-template-columns:1.25fr .95fr;gap:12px}
.panel{background:rgba(13,25,48,.94);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.panel-title{font-size:17px;font-weight:800;margin:0 0 10px}
.compact-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-items:start}
.compact-form .wide{grid-column:span 2}.compact-form .full{grid-column:1 / -1}
.input,.textarea,.select{width:100%;padding:9px 10px;border-radius:9px;border:1px solid var(--line);background:#091427;color:var(--text);font-size:13px}
.textarea{min-height:120px;resize:vertical}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:9px;border:1px solid var(--line);background:#172744;color:#fff;font-weight:700;cursor:pointer;font-size:13px}
.btn.primary{background:var(--accent);border-color:var(--accent)} .btn.green{background:var(--green);border-color:var(--green)} .btn.red{background:var(--red);border-color:var(--red)} .btn.ghost{background:#11203a}
.table{width:100%;border-collapse:collapse}.table th,.table td{padding:8px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:13px}.table th{color:#9eb4db;font-size:12px}
.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#1a2742;border:1px solid #2d4164}
.badge.sent{background:rgba(31,163,110,.12);border-color:rgba(31,163,110,.35);color:#87e1b6}
.badge.queued,.badge.sending{background:rgba(77,141,255,.12);border-color:rgba(77,141,255,.35);color:#9fc3ff}
.badge.failed,.badge.partial{background:rgba(216,92,84,.12);border-color:rgba(216,92,84,.35);color:#ffb7b2}
.badge.draft,.badge.pending{background:rgba(184,138,31,.12);border-color:rgba(184,138,31,.35);color:#f5d58b}
.note{color:#9fc0ff;background:rgba(77,141,255,.1);border:1px solid rgba(77,141,255,.35);padding:10px 12px;border-radius:10px;margin-bottom:10px;font-size:13px}
.error{color:#ffb3af;background:rgba(217,83,79,.1);border:1px solid rgba(217,83,79,.35);padding:10px 12px;border-radius:10px;margin-bottom:10px;font-size:13px}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:400px;max-width:100%;background:rgba(13,25,48,.95);border:1px solid var(--line);border-radius:16px;padding:22px}
.login-title{font-size:26px;font-weight:800;margin:0 0 6px}.login-sub{color:var(--muted);margin-bottom:16px;font-size:14px}
.actions{display:flex;gap:8px;flex-wrap:wrap}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}
pre.preview{background:#091427;border:1px solid var(--line);padding:12px;border-radius:10px;overflow:auto;font-size:12px}
@media (max-width:1200px){.strip{grid-template-columns:repeat(3,minmax(0,1fr))}.strip-4{grid-template-columns:repeat(2,minmax(0,1fr))}.stack,.split{grid-template-columns:1fr}.compact-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
