*{box-sizing:border-box}body{color:#202224;background:#f5f6fa;margin:0;font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer;color:#fff;background:#4880ff;border:none;border-radius:8px;padding:12px 16px;font-weight:600}input{border:1px solid #d8dbe7;border-radius:8px;outline:none;width:100%;padding:12px}.app-layout{min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #edf0f7;width:240px;padding:24px}.logo{color:#4880ff;margin-bottom:32px;font-size:20px}.sidebar nav{flex-direction:column;gap:12px;display:flex}.sidebar a,.sidebar button{color:#202224;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.sidebar a:hover,.sidebar button:hover{color:#fff;background:#4880ff}.content{flex:1;padding:32px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.card{background:#fff;border-radius:16px;margin-bottom:24px;padding:24px;box-shadow:0 4px 18px #0000000a}.card span{color:#777;font-size:14px}.card strong{margin-top:8px;font-size:28px;display:block}.chart-placeholder{min-height:320px}.fake-chart{background:linear-gradient(135deg,#dbe7ff,#f0f5ff);border-radius:12px;height:220px;margin-top:24px}.login-page,.public-page{border-radius:20%;place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border-radius:20%;flex-direction:column;gap:16px;width:400px;padding:32px;display:flex;box-shadow:0 4px 24px #00000014}.form{flex-direction:column;gap:16px;max-width:500px;display:flex}.table{flex-direction:column;gap:12px;display:flex}.table-row{border:1px solid #edf0f7;border-radius:12px;grid-template-columns:1fr 420px;align-items:center;gap:16px;padding:16px;display:grid}.table-row small{color:#777;margin-top:4px;display:block}.success{color:#00b69b;font-weight:600}.logo-box{background:#000;border-radius:14px;place-items:center;width:100%;height:72px;margin-bottom:32px;font-weight:700;display:grid}.grid-two{grid-template-columns:360px 1fr;align-items:flex-start;gap:24px;display:grid}.group-list,.lead-list{flex-direction:column;gap:12px;display:flex}.group-item{color:#202224;text-align:left;background:#f8fafc;border:1px solid #e5e7eb;padding:16px}.group-item.active,.group-item:hover{color:#fff;background:#4880ff}.group-item small,.lead-item small{opacity:.7;margin-top:4px;display:block}.inline-form{grid-template-columns:1fr 1fr auto;gap:12px;margin:24px 0;display:grid}.label{color:#64748b;margin:16px 0 8px;font-size:14px;font-weight:600;display:block}.lead-item{background:#fff;border:1px solid #edf0f7;border-radius:12px;justify-content:space-between;align-items:center;padding:14px;display:flex}.danger{background:#ef4444}@media (width<=900px){.grid-two,.inline-form,.stats-grid,.table-row{grid-template-columns:1fr}.sidebar{width:200px}}:root{--brand:#2563eb;--brand-dark:#1d4ed8;--ink:#172033;--muted:#64748b;--line:#e2e8f0;--surface:#fff}body{color:var(--ink);background:#f4f7fb}button,input,select{font:inherit}button{transition:transform .15s,background .15s,box-shadow .15s}button:not(:disabled):active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.65}input:focus,select:focus,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #2563eb2e}.content{width:min(100%,1440px);padding:40px clamp(20px,4vw,56px)}.content>h1{letter-spacing:-.035em;margin:0 0 28px;font-size:clamp(28px,3vw,38px)}.card{border:1px solid #e2e8f0e6;box-shadow:0 12px 30px #0f172a0e}.sidebar{border-right-color:var(--line);height:100vh;padding:20px 16px;position:sticky;top:0;box-shadow:8px 0 30px #0f172a06}.sidebar nav{height:calc(100% - 132px)}.sidebar a,.sidebar button{color:#475569;min-height:46px;font-weight:600}.sidebar a.active,.sidebar a:hover{color:var(--brand-dark);background:#eff6ff}.sidebar .logout-link{color:#b91c1c;margin-top:auto}.sidebar .logout-link:hover{color:#991b1b;background:#fef2f2}.menu-toggle{width:46px;margin-left:auto}.login-page{background:radial-gradient(circle at 10% 10%,#2563eb33,#0000 32%),linear-gradient(135deg,#07142d 0%,#102a56 48%,#e8f0ff 48%,#f8fafc 100%);padding:24px}.login-shell{background:#fffffffa;border:1px solid #ffffff38;border-radius:28px;grid-template-columns:1.08fr .92fr;width:min(100%,1040px);min-height:620px;display:grid;overflow:hidden;box-shadow:0 32px 80px #0208174d}.login-intro{color:#fff;background:linear-gradient(145deg,#081a38,#123b78);flex-direction:column;justify-content:center;padding:clamp(36px,6vw,72px);display:flex}.login-brand{border-bottom:2px solid #60a5faa6;align-items:baseline;gap:8px;width:fit-content;margin-bottom:56px;padding-bottom:12px;display:inline-flex}.login-brand-name{letter-spacing:-.04em;font-size:24px;font-weight:900}.login-brand-product{color:#93c5fd;letter-spacing:.04em;font-size:15px;font-weight:700}.login-intro h1{letter-spacing:-.045em;max-width:520px;margin:10px 0 16px;font-size:clamp(34px,4vw,52px);line-height:1.06}.login-intro>p,.login-heading p{color:#cbd5e1;margin:0;line-height:1.6}.security-note{color:#dbeafe;align-items:center;gap:10px;margin-top:42px;font-size:14px;display:flex}.eyebrow{color:#60a5fa;letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:800}.login-card{width:auto;box-shadow:none;border-radius:0;justify-content:center;padding:clamp(32px,6vw,64px)}.public-page .login-card{border:1px solid #e2e8f0e6;border-radius:20%;width:min(400px,100vw - 32px);box-shadow:0 18px 48px #0f172a1f}.login-heading{margin-bottom:14px}.login-heading h2{letter-spacing:-.03em;margin:8px 0;font-size:30px}.login-heading p{color:var(--muted)}.field-label{color:#334155;margin-bottom:-9px;font-size:13px;font-weight:700}.input-with-icon{position:relative}.input-with-icon svg{z-index:1;color:#94a3b8;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-with-icon input{border-color:var(--line);background:#f8fafc;min-height:50px;padding-left:44px}.primary-action{background:var(--brand);min-height:50px;margin-top:8px;box-shadow:0 10px 24px #2563eb40}.primary-action:not(:disabled):hover{background:var(--brand-dark)}.form-alert{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 14px;font-size:14px}@media (width<=760px){.login-page{background:#edf3ff;padding:14px}.login-shell{grid-template-columns:1fr;min-height:auto}.login-intro{padding:30px}.login-brand{margin-bottom:24px}.login-intro h1{font-size:32px}.security-note{margin-top:24px}.login-card{padding:32px 24px}}.draw-card{margin-top:24px}.muted{color:#64748b;margin-top:-6px}.empty-winner{color:#94a3b8}@media (width<=900px){.draw-controls{grid-template-columns:1fr}}.sidebar{transition:width .2s}.sidebar.collapsed{width:88px}.sidebar.collapsed .logo-box{height:48px}.sidebar.collapsed .logo-img{max-width:42px;max-height:42px}.menu-toggle{color:#202224;background:#f1f5f9;width:100%;margin-bottom:16px}.logo-img{object-fit:contain;max-width:140px;max-height:60px}.login-logo{object-fit:contain;background:#000;border-radius:14px;place-items:center;max-width:180px;max-height:80px;margin:0 auto 32px;font-weight:700;display:grid}.public-result-card{text-align:center;background:#fff;border-radius:20px;width:420px;padding:36px;box-shadow:0 4px 24px #00000014}.public-result-card span{color:#64748b;margin-top:20px;display:block}.public-result-card strong{margin:12px 0;font-size:34px;display:block}.draw-controls{grid-template-columns:1fr auto;gap:12px;margin:20px 0;display:grid}.draw-controls select{background:#fff;border:1px solid #d8dbe7;border-radius:8px;outline:none;width:100%;padding:12px}.draw-controls button:disabled{opacity:.5;cursor:not-allowed}.winner-box{background:#f8fafc;border:1px solid #edf0f7;border-radius:16px;margin-top:20px;padding:24px}.winner-box span{color:#64748b;font-size:14px}.winner-box strong{margin-top:8px;font-size:28px;display:block}.winner-box small{color:#64748b;margin-top:6px;display:block}.warning{color:#f97316;font-weight:600}@media (width<=900px){.draw-controls{grid-template-columns:1fr}}.draw-form{grid-template-columns:1fr 1.5fr auto;gap:12px;margin:20px 0;display:grid}.draw-form select,.draw-form input{background:#fff;border:1px solid #d8dbe7;border-radius:8px;outline:none;width:100%;padding:12px}.draw-form button:disabled{opacity:.5;cursor:not-allowed}.campaign-page{color:#071b38;background:radial-gradient(circle at 15% 10%,#f9731624,#0000 24%),linear-gradient(145deg,#eef2f4,#f9f5ee);min-height:100vh;padding:28px}.campaign-state{place-items:center;font-size:18px;font-weight:700;display:grid}.campaign-hero{background:#fff;border:5px solid #fff;border-radius:28px;width:min(1180px,100%);margin:0 auto;overflow:hidden;box-shadow:0 24px 65px #071b382e}.campaign-hero img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.campaign-content{grid-template-columns:.8fr 1.2fr;align-items:start;gap:40px;width:min(1080px,100% - 32px);margin:-30px auto 50px;display:grid;position:relative}.campaign-summary{padding:66px 12px 24px}.campaign-kicker,.campaign-form-heading>span{color:#ef7410;letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:900}.campaign-summary h1{letter-spacing:-.045em;margin:10px 0 14px;font-size:clamp(34px,4vw,52px);line-height:1.03}.campaign-summary>p{color:#526277;line-height:1.65}.campaign-meta{color:#063f28;flex-direction:column;gap:12px;margin:28px 0;font-weight:700;display:flex}.campaign-meta span{align-items:center;gap:9px;display:flex}.campaign-counter,.campaign-success-count{background:#ffffffb3;border:1px solid #ef741047;border-radius:16px;align-items:center;gap:12px;width:fit-content;padding:16px 20px;display:flex}.campaign-counter strong,.campaign-success-count strong{color:#ef7410;font-size:32px}.campaign-counter span,.campaign-success-count span{color:#526277;max-width:100px;font-size:13px;line-height:1.25}.campaign-form-card{background:#fffffffa;border:1px solid #fffc;border-radius:26px;padding:clamp(28px,4vw,46px);box-shadow:0 24px 60px #071b3826}.campaign-form-card form{flex-direction:column;gap:14px;display:flex}.campaign-form-heading{margin-bottom:10px}.campaign-form-heading h2{letter-spacing:-.035em;margin:7px 0;font-size:30px}.campaign-form-heading p{color:#64748b;margin:0}.campaign-form-card form>label,.campaign-form-grid label,.campaign-radio-group legend{color:#26364a;font-size:13px;font-weight:800}.campaign-form-card input[type=text],.campaign-form-card input:not([type]){background:#f8fafc;border-color:#dbe2ea;min-height:48px}.campaign-radio-group{border:0;margin:4px 0;padding:0}.campaign-radio-group>div{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:9px;display:grid}.campaign-radio-group label{position:relative}.campaign-radio-group input{opacity:0;position:absolute}.campaign-radio-group span{color:#526277;text-align:center;cursor:pointer;border:1px solid #dbe2ea;border-radius:10px;padding:12px 8px;display:block}.campaign-radio-group input:checked+span{color:#b84c08;background:#fff7ed;border-color:#ef7410;font-weight:800}.campaign-radio-group input:focus-visible+span{outline:3px solid #ef74102e}.campaign-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.campaign-form-grid>div{flex-direction:column;gap:14px;display:flex}.campaign-consents{background:#f8fafc;border-radius:14px;flex-direction:column;gap:12px;margin:8px 0;padding:16px;display:flex}.campaign-consents label{color:#526277;grid-template-columns:18px 1fr;align-items:start;gap:10px;font-size:12px;line-height:1.5;display:grid}.campaign-consents input{accent-color:#ef7410;width:17px;height:17px;margin-top:1px}.campaign-submit,.campaign-success button{background:#ef7410;min-height:52px;box-shadow:0 12px 25px #ef741040}.campaign-submit:not(:disabled):hover,.campaign-success button:hover{background:#cf5905}.campaign-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:520px;display:flex}.campaign-success>svg{color:#087443}.campaign-success>span{color:#087443;letter-spacing:.12em;text-transform:uppercase;margin-top:18px;font-size:12px;font-weight:900}.campaign-success h2{margin:8px 0;font-size:36px}.campaign-success>p{color:#64748b;margin:0 0 24px}.campaign-success button{margin-top:24px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.section-heading h3{margin:5px 0 0}.section-heading small{color:#64748b}.campaign-admin-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.campaign-admin-card{color:#172033;text-align:left;background:#f8fafc;border:1px solid #dbe2ea;padding:20px}.campaign-admin-card>span{color:#087443;font-weight:800}.campaign-admin-card>strong{color:#ef7410;font-size:38px}.campaign-admin-card>small{color:#64748b;display:block}.campaign-admin-card.active,.campaign-admin-card:hover{background:#fff7ed;border-color:#ef7410}.campaign-registration-panel{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:24px}.campaign-registration-panel a{color:#1d4ed8;align-items:center;gap:6px;font-weight:700;display:inline-flex}.campaign-panel-actions{align-items:center;gap:12px;display:flex}.campaign-panel-actions button{background:#087443;align-items:center;gap:6px;padding:9px 12px;display:inline-flex}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.page-heading h1{letter-spacing:-.035em;margin:5px 0 8px;font-size:clamp(28px,3vw,38px)}.page-heading>div>span{color:#2563eb;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:800}.page-heading p{color:#64748b;margin:0}.page-heading>button{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.campaign-create-card form{flex-direction:column;gap:12px;display:flex}.campaign-create-card label{color:#334155;font-size:13px;font-weight:800}.campaign-create-card textarea,.campaign-create-card select{resize:vertical;background:#fff;border:1px solid #d8dbe7;border-radius:8px;width:100%;padding:12px}.campaign-create-card input[type=file]{background:#f8fafc;padding:10px}.campaign-create-card form>button{width:fit-content;margin-top:8px}.campaign-create-grid{grid-template-columns:1fr 220px;gap:14px;display:grid}.campaign-create-grid>div{flex-direction:column;gap:8px;display:flex}.field-help{color:#64748b}.empty-state{color:#64748b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:180px;display:flex}.empty-state strong{color:#172033;margin:4px 0 0;font-size:18px}.campaign-registration-list{flex-direction:column;gap:9px;display:flex}.campaign-registration-row{border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:1fr auto;gap:20px;padding:14px 16px;display:grid}.campaign-registration-row strong,.campaign-registration-row small{display:block}.campaign-registration-row strong{margin:0 0 4px;font-size:16px}.campaign-registration-row small,.campaign-registration-row span{color:#64748b;font-size:13px}.campaign-registration-row>div:last-child{text-align:right}@media (width<=780px){.campaign-page{padding:12px}.campaign-hero{border-width:3px;border-radius:18px}.campaign-content{grid-template-columns:1fr;gap:18px;width:100%;margin:18px auto 30px}.campaign-summary{padding:20px 10px}.campaign-form-card{border-radius:20px;padding:24px 18px}.campaign-form-grid,.campaign-registration-row{grid-template-columns:1fr}.campaign-registration-row>div:last-child{text-align:left}.section-heading,.page-heading{flex-direction:column;align-items:flex-start}.campaign-create-grid{grid-template-columns:1fr}}@media (width<=900px){.draw-form{grid-template-columns:1fr}}
