:root{color-scheme:light;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18181b;background:#fafafa;--background:#fafafa;--card:#fff;--foreground:#18181b;--muted:#f4f4f5;--muted-foreground:#71717a;--border:#e4e4e7;--input:#d4d4d8;--primary:#e60023;--primary-hover:#cc001f;--primary-soft:#fff1f2;--destructive:#dc2626;--success:#15803d;--success-soft:#f0fdf4;--radius:12px;--shadow-sm:0 1px 2px rgb(0 0 0/.04);--shadow-card:0 1px 3px rgb(0 0 0/.04),0 1px 2px rgb(0 0 0/.03)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--background);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.topbar{position:sticky;top:0;z-index:20;border-bottom:1px solid rgb(228 228 231/.8);background:rgb(250 250 250/.82);backdrop-filter:blur(18px) saturate(1.4)}.topbar-inner{width:min(100% - 40px,1240px);height:64px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--foreground);text-decoration:none}.brand-mark,.auth-mark{display:grid;place-items:center;color:#fff;background:var(--primary);font-family:Georgia,serif;font-weight:800}.brand-mark{width:36px;height:36px;border-radius:10px;font-size:21px}.brand-copy{display:grid;gap:1px}.brand-copy strong{font-size:14px;line-height:1.2;letter-spacing:-.01em}.brand-copy small{font-size:11px;color:var(--muted-foreground)}
main{width:min(100% - 40px,1240px);margin:auto;padding:40px 0 80px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(32px,4vw,46px);line-height:1.05;letter-spacing:-.04em;font-weight:750}h2{margin-bottom:6px;font-size:20px;letter-spacing:-.025em}h3{margin-bottom:6px;font-size:18px;letter-spacing:-.02em}.eyebrow{margin-bottom:8px;color:var(--primary);font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.lead{max-width:630px;margin-bottom:0;color:var(--muted-foreground);font-size:16px;line-height:1.6}.muted,small{color:var(--muted-foreground)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-card)}.card-header{margin-bottom:22px}.card-header h2,.card-header p{margin-bottom:4px}
label{display:grid;gap:7px;margin:16px 0;color:#3f3f46;font-size:13px;font-weight:650}input,textarea{width:100%;min-height:44px;padding:10px 12px;color:var(--foreground);background:#fff;border:1px solid var(--input);border-radius:9px;outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#a1a1aa}input:hover,textarea:hover{border-color:#a1a1aa}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgb(230 0 35/.12)}textarea{min-height:112px;resize:vertical;line-height:1.5}label small{font-weight:450;line-height:1.4}code{padding:2px 5px;color:#3f3f46;background:var(--muted);border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}
button,.button{min-height:44px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:var(--primary);border:1px solid var(--primary);border-radius:9px;font-weight:680;font-size:13px;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}button:hover,.button:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button:active,.button:active{transform:translateY(1px)}button:focus-visible,.button:focus-visible,a:focus-visible{outline:3px solid rgb(230 0 35/.2);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.45}.button-full{width:100%}.button-outline{color:#3f3f46;background:#fff;border-color:var(--border);box-shadow:var(--shadow-sm)}.button-outline:hover{color:var(--foreground);background:var(--muted);border-color:#d4d4d8}.button-secondary{color:#3f3f46;background:var(--muted);border-color:var(--muted)}.button-secondary:hover{color:var(--foreground);background:#e4e4e7;border-color:#e4e4e7}.button-ghost{color:#52525b;background:transparent;border-color:transparent}.button-ghost:hover{color:var(--foreground);background:var(--muted);border-color:var(--muted)}.danger{color:var(--destructive)}.danger:hover{color:#b91c1c;background:#fef2f2;border-color:#fef2f2}
.hero{min-height:190px;display:grid;grid-template-columns:1fr minmax(370px,.7fr);gap:48px;align-items:end;padding:28px 0 38px;border-bottom:1px solid var(--border)}.hero-copy{padding-bottom:4px}.new-campaign{padding:18px}.new-campaign>label{margin:0 0 10px}.input-action{display:grid;grid-template-columns:1fr auto;gap:8px}.input-action button{min-width:112px}.section-bar{display:flex;justify-content:space-between;align-items:end;margin:30px 0 14px}.section-bar h2,.section-bar p{margin-bottom:0}.section-bar p{margin-top:4px;font-size:13px}.campaign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.campaign-card{min-height:190px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.campaign-card:hover{border-color:#d4d4d8;box-shadow:0 8px 24px rgb(0 0 0/.06);transform:translateY(-2px)}.campaign-card-top{display:flex;align-items:center;justify-content:space-between}.campaign-card h3{font-size:20px}.campaign-card p{margin-bottom:0;color:var(--muted-foreground);font-size:13px}.badge{width:fit-content;min-height:24px;padding:3px 8px;display:inline-flex;align-items:center;gap:6px;color:#52525b;background:var(--muted);border:1px solid var(--border);border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.badge-dot{width:6px;height:6px;background:#f59e0b;border-radius:50%}.arrow-icon{color:#a1a1aa;transition:transform .15s}.campaign-card:hover .arrow-icon{transform:translateX(3px);color:var(--foreground)}.card-version{color:#a1a1aa;font-size:11px}.empty{min-height:190px;grid-column:1/-1;padding:36px;display:grid;place-items:center;align-content:center;text-align:center;border-style:dashed;box-shadow:none}.empty p{max-width:420px;margin-bottom:0;color:var(--muted-foreground)}.empty-icon{width:42px;height:42px;margin-bottom:14px;display:grid;place-items:center;color:var(--muted-foreground);background:var(--muted);border-radius:10px}
.alert{margin-bottom:18px;padding:12px 14px;display:flex;align-items:center;gap:9px;border:1px solid;border-radius:9px;font-size:13px}.alert-success{color:var(--success);background:var(--success-soft);border-color:#bbf7d0}.alert-error,.error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}
.auth-shell{min-height:calc(100vh - 184px);display:grid;grid-template-columns:1fr 420px;align-items:center;gap:10vw}.auth-intro{max-width:520px}.auth-mark{width:52px;height:52px;margin-bottom:28px;border-radius:14px;font-size:30px}.auth{padding:28px}.auth form label:first-of-type{margin-top:0}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:24px}.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-shell{grid-template-columns:1fr 380px;gap:40px}}
@media(max-width:680px){.topbar-inner,main{width:min(100% - 28px,1240px)}main{padding-top:24px;padding-bottom:calc(48px + env(safe-area-inset-bottom))}.brand-copy small{display:none}.button-icon-mobile span{display:none}.button-icon-mobile{width:44px;padding:0}h1{font-size:34px}.hero{min-height:0;padding:14px 0 28px}.input-action{grid-template-columns:1fr}.input-action button{width:100%}.campaign-grid{grid-template-columns:1fr}.campaign-card{min-height:168px}.auth-shell{min-height:auto;grid-template-columns:1fr;gap:32px;padding-top:24px}.auth-intro{text-align:center}.auth-mark{margin-inline:auto}.auth-intro .lead{display:none}.auth{padding:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
