:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef2ef;--bg-soft:#e4ebe6;--surface:#fff;--surface-2:#f7faf8;--ink:#0f1f17;--ink-soft:#24352c;--muted:#5f7267;--line:#d3ddd7;--line-strong:#b8c7be;--accent:#1a5c3a;--accent-hover:#144a2e;--accent-soft:#e3f2ea;--accent-ring:#1a5c3a47;--danger:#a33b3b;--danger-soft:#fceeee;--warn:#9a5b1a;--ok:#1a5c3a;--shadow-sm:0 1px 2px #0f1f170d;--shadow:0 1px 2px #0f1f170a, 0 10px 28px #0f1f170f;--radius:14px;--radius-sm:10px;--font:"Plus Jakarta Sans", "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--sidebar-w:248px;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button,input,select,textarea{font:inherit}a{color:var(--accent)}code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:.08rem .35rem;font-size:.86em}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{color:#e8f0eb;background:linear-gradient(#12261c 0%,#0f1f17 55%,#0c1913 100%);border-right:1px solid #ffffff0a;flex-direction:column;gap:1.5rem;height:100vh;padding:1.35rem 1rem 1.1rem;display:flex;position:sticky;top:0}.brand-mark{align-items:center;gap:.75rem;padding:.25rem .4rem;display:flex}.brand-mark .logo{letter-spacing:.04em;color:#fff;background:linear-gradient(145deg,#2d8a57,#1a5c3a);border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:.78rem;font-weight:700;display:grid;box-shadow:inset 0 1px #fff3}.brand-mark .brand-text{gap:.1rem;min-width:0;display:grid}.brand-mark strong{letter-spacing:-.02em;font-size:.98rem;font-weight:700}.brand-mark span{color:#e8f0eb94;font-size:.75rem}.side-nav{flex:1;gap:.35rem;display:grid}.side-nav button{text-align:left;color:#e8f0ebb8;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:background .16s var(--ease), color .16s var(--ease);background:0 0;border:0;align-items:center;gap:.65rem;padding:.7rem .8rem;display:flex}.side-nav button:hover{color:#fff;background:#ffffff0f}.side-nav button.active{color:#fff;background:#2d8a5747;box-shadow:inset 0 0 0 1px #d8f3dc1f}.nav-icon{opacity:.9;flex-shrink:0;width:1.15rem;height:1.15rem}.sidebar-footer{border-top:1px solid #ffffff14;padding-top:.5rem}.sidebar-footer .btn{color:#e8f0ebcc;background:0 0;border-color:#ffffff24;justify-content:center;width:100%}.sidebar-footer .btn:hover{color:#fff;background:#ffffff0f}.main{background:radial-gradient(900px 420px at 100% -10%, #2d8a5714, transparent 55%), radial-gradient(700px 360px at -5% 0%, #1a5c3a0d, transparent 50%), var(--bg);min-width:0;padding:1.5rem 1.75rem 2.75rem}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.35rem;display:flex}.page-header h1{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:1.55rem;font-weight:700}.page-header .lede{color:var(--muted);max-width:42rem;margin:.35rem 0 0;font-size:.95rem;line-height:1.45}.page-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:var(--radius-sm);cursor:pointer;transition:background .14s var(--ease), border-color .14s var(--ease), color .14s var(--ease), box-shadow .14s var(--ease), transform .14s var(--ease);justify-content:center;align-items:center;gap:.4rem;padding:.55rem .95rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--bg-soft);color:var(--ink)}.btn.danger{color:var(--danger);background:#fff;border-color:#ecc8c8}.btn.danger:hover:not(:disabled){background:var(--danger-soft)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.sm{padding:.35rem .7rem;font-size:.82rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.2rem 1.3rem}.panel+.panel{margin-top:1rem}.panel-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.panel-head h2,.panel h2,.panel h3{letter-spacing:-.015em;color:var(--ink);margin:0;font-size:1rem;font-weight:600}.panel-head .hint,.section-hint{color:var(--muted);margin:.25rem 0 0;font-size:.85rem;line-height:1.4}.grid{gap:.9rem;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stack{gap:1rem;display:grid}.toolbar{flex-wrap:wrap;align-items:end;gap:.65rem;margin-bottom:.25rem;display:flex}.row-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}label{color:var(--muted);gap:.4rem;font-size:.82rem;font-weight:600;display:grid}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);transition:border-color .14s var(--ease), box-shadow .14s var(--ease);background:#fff;padding:.62rem .78rem}input:hover,select:hover,textarea:hover{border-color:var(--line-strong)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}textarea{resize:vertical;min-height:96px;font-family:var(--mono);font-size:.82rem;line-height:1.45}input[readonly],textarea[readonly]{background:var(--surface-2);color:var(--ink-soft)}.table-wrap{margin:0 -.25rem;padding:0 .25rem;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.8rem .55rem}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom-color:var(--line-strong);font-size:.75rem;font-weight:600}.table tbody tr{transition:background .12s var(--ease)}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:0}.mono{font-family:var(--mono);font-size:.84rem}.muted{color:var(--muted)}.badge{background:var(--accent-soft);color:var(--ok);letter-spacing:.01em;border-radius:7px;align-items:center;gap:.3rem;padding:.18rem .5rem;font-size:.74rem;font-weight:600;display:inline-flex}.badge:before{content:"";opacity:.85;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.off{background:var(--danger-soft);color:var(--danger)}.metric-cards{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:.75rem;display:grid}.metric{border:1px solid var(--line);border-radius:var(--radius-sm);background:linear-gradient(180deg, #fff 0%, var(--surface-2) 100%);transition:border-color .16s var(--ease), transform .16s var(--ease);padding:.85rem .9rem}.metric:hover{border-color:var(--line-strong);transform:translateY(-1px)}.metric .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem;font-weight:600}.metric .value{letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:.35rem;font-size:1.35rem;font-weight:700}.error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);border:1px solid #ecc8c8;padding:.75rem .9rem;font-size:.9rem}.empty{text-align:center;color:var(--muted);padding:2rem 1rem}.empty strong{color:var(--ink-soft);margin-bottom:.25rem;display:block}.secret-box{color:#d8f3dc;border-radius:var(--radius-sm);font-family:var(--mono);word-break:break-all;background:linear-gradient(165deg,#12261c,#0c1913);border:1px solid #d8f3dc1f;padding:.95rem 1rem;font-size:.84rem;box-shadow:inset 0 1px #ffffff0a}.copy-row{border-bottom:1px solid var(--line);gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;display:grid}.copy-row:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.copy-row .actions{gap:.4rem;display:flex}.flash-banner{background:linear-gradient(#f3fbf6,#fff);border-color:#2d8a5759}.campaign-meta{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.funnel-chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:7px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.78rem;display:inline-flex}.chip strong{color:var(--ink);font-weight:600}.login{background:#0f1f17;grid-template-columns:minmax(0,1.05fr) minmax(320px,460px);min-height:100vh;display:grid}.login-hero{color:#e8f0eb;background:radial-gradient(80% 60% at 20% 20%,#2d8a5759,#0000 55%),radial-gradient(50% 40% at 90% 80%,#1a5c3a66,#0000 50%),linear-gradient(160deg,#163325 0%,#0f1f17 45%,#0a1510 100%);flex-direction:column;justify-content:space-between;padding:2.5rem 3rem;display:flex;position:relative;overflow:hidden}.login-hero:after{content:"";pointer-events:none;background-image:linear-gradient(#e8f0eb0a 1px,#0000 1px),linear-gradient(90deg,#e8f0eb0a 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000008c,#0000 85%);mask-image:linear-gradient(#0000008c,#0000 85%)}.login-hero-content{z-index:1;max-width:28rem;position:relative}.login-hero .eyebrow{letter-spacing:.06em;text-transform:uppercase;color:#d8f3dcb3;align-items:center;gap:.4rem;margin-bottom:1.25rem;font-size:.78rem;font-weight:600;display:inline-flex}.login-hero h1{letter-spacing:-.035em;margin:0;font-size:clamp(2rem,3.5vw,2.75rem);font-weight:700;line-height:1.1}.login-hero p{color:#e8f0ebad;margin:1rem 0 0;font-size:1.05rem;line-height:1.5}.login-hero-foot{z-index:1;color:#e8f0eb73;font-size:.82rem;position:relative}.login-panel{background:radial-gradient(600px 300px at 50% 0%, #2d8a5714, transparent 60%), var(--bg);place-items:center;padding:2rem 1.5rem;display:grid}.login-card{width:min(400px,100%);animation:rise .42s var(--ease) both}.login-card h2{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.35rem}.login-card .lede{color:var(--muted);margin:0 0 1.25rem;font-size:.92rem;line-height:1.45}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;gap:.75rem;height:auto;padding:.9rem 1rem;position:relative}.side-nav{flex:1;gap:.35rem;display:flex}.side-nav button{width:auto;padding:.55rem .75rem}.sidebar-footer{border-top:0;padding-top:0}.sidebar-footer .btn{width:auto}.main{padding:1.15rem 1rem 2rem}.grid.two,.grid.three{grid-template-columns:1fr}.page-header{flex-direction:column}.login{grid-template-columns:1fr}.login-hero{min-height:220px;padding:1.75rem 1.5rem}.login-hero h1{font-size:1.75rem}}@media (width<=560px){.side-nav button span.label,.brand-mark .brand-text span{display:none}}
