:root{--bg:#f7f9fb;--card:#ffffff;--accent:#0a84ff;--muted:#6b7280;--success:#10b981}
*{box-sizing:border-box;font-family:Inter,system-ui,Segoe UI,Roboto,'Helvetica Neue',Arial}
body{background:linear-gradient(180deg,#eaf2ff 0%,var(--bg) 100%);margin:0;color:#111}
.container{max-width:900px;margin:28px auto;padding:20px}
.hero{text-align:center;margin-bottom:16px}
.hero h1{margin:0;font-size:1.6rem;color:#06324a}
.lead{margin:6px 0;color:var(--muted)}
.notes{font-size:0.9rem;color:var(--muted)}
.card{background:var(--card);padding:18px;margin:14px 0;border-radius:12px;box-shadow:0 6px 18px rgba(10,24,40,0.06)}
.card h2{margin:0 0 8px 0;color:#05324a}
label{display:block;margin:10px 0;color:#123}
input[type="text"],select{width:100%;padding:10px;border-radius:8px;border:1px solid #e6eef6;background:#fbfeff}
fieldset{border:0;margin:8px 0;padding:0}
legend{font-weight:600}
.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.checkbox-grid label{background:#f4f8fb;padding:8px;border-radius:8px;border:1px solid #e9f0fb}
.actions{display:flex;gap:8px;justify-content:flex-end;margin:14px 0}
.btn{padding:8px 14px;border-radius:10px;border:0;background:#e6f0ff;color:#05324a;cursor:pointer}
.btn.primary{background:var(--accent);color:#fff;box-shadow:0 6px 18px rgba(10,132,255,0.14)}

/* Neon submit button */
.btn-submit{background:linear-gradient(90deg,#ff36ff 0%, #00d4ff 100%);color:#06121a;font-weight:800;padding:12px 18px;border-radius:12px;box-shadow:0 8px 30px rgba(255,54,255,0.18), 0 8px 40px rgba(0,212,255,0.14);border:1px solid rgba(255,255,255,0.08);transition:transform .12s ease, box-shadow .12s ease, filter .12s ease}
.btn-submit:hover{transform:translateY(-2px) scale(1.02);filter:brightness(1.03);box-shadow:0 12px 40px rgba(255,54,255,0.22), 0 12px 60px rgba(0,212,255,0.18)}
.btn-submit:active{transform:translateY(0) scale(.995)}
.btn-submit:focus{outline:3px solid rgba(255,54,255,0.20);outline-offset:3px}

@media (max-width:600px){.actions{flex-direction:column}.btn{width:100%}.btn-submit{width:100%}}
.footer{text-align:center;padding:12px;color:var(--muted);font-size:0.9rem}
.modal{max-width:720px;padding:16px;border-radius:8px}
pre{background:#f8fbff;padding:12px;border-radius:8px;max-height:320px;overflow:auto}

/* Chart sizing helpers */
.chart-wrap{height:240px;max-height:360px;position:relative}
.chart-canvas{width:100% !important;height:100% !important;display:block}

@media (max-width:600px){.actions{flex-direction:column}.btn{width:100%}.btn-submit{width:100%}}