@import "https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700&family=Sora:wght@400;500;600;700&display=swap";:root{--bg:#05070f;--bg-soft:#0b1220;--bg-panel:#0c1221d6;--bg-card:#0f182bd9;--bg-glass:#0c122199;--stroke:#4d5b7759;--stroke-strong:#6f85a873;--text:#c7d1e0;--text-muted:#7e8aa4;--text-strong:#f8fafc;--accent:#22d3ee;--accent-strong:#38bdf8;--warning:#f97316;--success:#34d399;--danger:#fb7185;--shadow:0 18px 32px #0508148c;--shadow-soft:0 10px 22px #05081459;--radius-lg:18px;--radius-md:12px;--radius-sm:8px;--heading:"Sora", "Segoe UI", sans-serif;--body:"Manrope", "Segoe UI", sans-serif;font:16px/1.6 var(--body);color:var(--text);background:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-synthesis:none}*{box-sizing:border-box}body{background:radial-gradient(circle at top left, #18223b 0%, transparent 55%), radial-gradient(circle at 10% 30%, #22d3ee29, transparent 45%), radial-gradient(circle at 80% 10%, #f871711f, transparent 45%), radial-gradient(circle at 50% 80%, #22d3ee14, transparent 50%), var(--bg);color:var(--text);margin:0}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--heading);color:var(--text-strong);margin:0}p{margin:0}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--stroke);background:linear-gradient(160deg,#0a101ef5,#0e1424e6);flex-direction:column;gap:30px;width:270px;height:100vh;padding:28px 24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#041018;background:linear-gradient(135deg,#22d3ee,#3b82f6);border-radius:14px;place-items:center;width:44px;height:44px;font-weight:700;display:grid;box-shadow:0 8px 22px #22d3ee59}.brand h1{letter-spacing:1px;font-size:18px}.brand p{color:var(--text-muted);font-size:12px}.nav{flex-direction:column;gap:8px;display:flex}.nav-item{color:var(--text);background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;transition:all .2s;display:flex}.nav-item.active,.nav-item:hover{color:var(--text-strong);background:#22d3ee14;border-color:#22d3ee4d}.status-card{border:1px solid var(--stroke);background:#0e1424e6;border-radius:14px;align-items:center;gap:12px;margin-top:auto;padding:14px;display:flex}.status-card strong{color:var(--text-strong);font-size:14px;display:block}.status-card p{color:var(--text-muted);font-size:12px}.dot{border-radius:50%;width:10px;height:10px}.dot-online{background:var(--success);box-shadow:0 0 10px #34d399cc}.dot-offline{background:var(--danger);box-shadow:0 0 10px #fb7185b3}.page{flex:1;max-width:1280px;margin:0 auto;padding:32px 40px 48px}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-title h1{font-size:30px}.page-title p{color:var(--text-muted);font-size:14px}.header-actions{gap:12px;display:flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.panel{background:var(--bg-panel);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px}.panel-title{letter-spacing:1px;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:16px;font-size:14px;display:flex}.panel-title-row{justify-content:space-between}.segmented-control{border:1px solid var(--stroke);background:#94a3b81f;border-radius:999px;gap:4px;padding:4px;display:inline-flex}.segmented-btn{color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase;cursor:pointer;font-size:11px;font-family:var(--heading);background:0 0;border:none;border-radius:999px;padding:6px 12px;transition:all .2s}.segmented-btn.active{color:#041018;background:linear-gradient(120deg,#22d3ee,#3b82f6);box-shadow:0 10px 18px #22d3ee59}.input,.select,.textarea{border:1px solid var(--stroke);width:100%;color:var(--text-strong);font-family:var(--body);background:#0a0f1ce6;border-radius:12px;padding:12px 14px;transition:border .2s,box-shadow .2s;box-shadow:inset 0 0 0 1px #ffffff05}.input:focus,.select:focus,.textarea:focus{border-color:#22d3ee99;outline:none;box-shadow:0 0 0 3px #22d3ee1f}.input-group{flex-direction:column;gap:6px;display:flex}.input-group label{color:var(--text-muted);font-size:12px}.btn{font-family:var(--heading);letter-spacing:.5px;cursor:pointer;border:none;border-radius:999px;padding:10px 18px;font-size:13px;transition:transform .2s,box-shadow .2s,filter .2s}.btn-primary{color:#041018;background:linear-gradient(120deg,#22d3ee,#3b82f6);box-shadow:0 10px 22px #22d3ee59}.btn-secondary{color:var(--text-strong);border:1px solid var(--stroke);background:#94a3b81f}.btn:hover{filter:brightness(1.02);transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.card{background:var(--bg-card);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px;transition:transform .2s,border-color .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-soft);border-color:#38bdf873;transform:translateY(-2px)}.card-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.card-header h3{font-size:16px}.card-header p{color:var(--text-muted);font-size:12px}.stat-card h2{margin:8px 0 4px;font-size:28px}.stat-card p{color:var(--text-muted);font-size:12px}.stat-card span{color:var(--accent);font-size:12px}.pill{text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:11px;line-height:1}.pill-queued,.pill-running{color:#fdba74;background:#f9731629;border-color:#f9731666}.pill-completed{color:#6ee7b7;background:#34d39929;border-color:#34d39966}.pill-failed{color:#fecdd3;background:#fb718529;border-color:#fb718566}.pill-draft{color:#cbd5f5;background:#94a3b824;border-color:#94a3b84d}.pill-approved{color:#6ee7b7;background:#34d39929;border-color:#34d39966}.pill-pending{color:#fdba74;background:#f9731629;border-color:#f9731666}.meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.meta-grid span{color:var(--text-muted);font-size:11px;display:block}.meta-grid strong{color:var(--text-strong);font-size:16px}.progress{flex-direction:column;gap:6px;display:flex}.progress-track{background:#94a3b81f;border-radius:999px;width:100%;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(120deg,#22d3ee,#38bdf8);height:100%}.campaign-foot{color:var(--text-muted);justify-content:space-between;margin-top:12px;font-size:12px;display:flex}.upload-zone{border:1px dashed var(--stroke-strong);border-radius:var(--radius-lg);text-align:center;background:#070b14cc;padding:18px}.upload-zone strong{color:var(--text-strong);font-size:14px}.upload-meta{color:var(--text-muted);justify-content:space-between;margin-top:12px;font-size:12px;display:flex}.table{border-collapse:collapse;width:100%;font-size:13px}.table th,.table td{text-align:left;border-bottom:1px solid var(--stroke);padding:10px 0}.table tbody tr:hover{background:#0f182b59}.table th{color:var(--text-muted);font-weight:500}.log-status{font-weight:600}.log-status.sent{color:var(--success)}.log-status.failed{color:var(--danger)}.chart-wrap{width:100%;height:300px}.inline-badges{flex-wrap:wrap;gap:10px;display:flex}.badge{border:1px solid var(--stroke);background:#94a3b81a;border-radius:999px;padding:6px 10px;font-size:11px}.alert{color:#fecdd3;background:#fb71851f;border:1px solid #fb718559;border-radius:12px;padding:12px 14px;font-size:12px}.alert-error{color:#fb7185;background:#fb718526;border-color:#fb718580}@media (width<=960px){.app-shell{flex-direction:column}.sidebar{width:100%;height:auto;position:relative}.page{max-width:100%;padding:24px}.grid-2,.grid-3{grid-template-columns:1fr}.header-actions{flex-direction:column;width:100%}}
