@import "https://fonts.googleapis.com/css2?family=Sora:wght@600;700&family=DM+Sans:wght@400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--teal:#0d8c80;--teal-lt:#e6f7f5;--teal-dk:#075c55;--warn:#f59e0b;--danger:#ef4444;--ok:#10b981;--border:#e5e7eb;--muted:#9ca3af;--sub:#4b5563;--ink:#111827;--r:14px;--font-body:18px;--font-lg:22px;--touch:58px}html,body{height:100%}body{font-family:DM Sans,sans-serif;font-size:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;background:#f0f2f5;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}button,input,select,textarea{font-family:inherit}button{cursor:pointer;background:0 0;border:none}h1,h2,h3,.display{color:var(--ink);letter-spacing:-.2px;font-family:Sora,sans-serif;font-weight:700}.survey-shell{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;padding:24px 16px 40px;display:flex}.survey-header{align-items:center;gap:10px;width:100%;max-width:560px;padding:4px 4px 18px;display:flex}.survey-brand{color:var(--teal-dk);font-family:Sora,sans-serif;font-size:15px;font-weight:700}.survey-ward-badge{background:var(--teal-lt);color:var(--teal-dk);border-radius:999px;margin-left:auto;padding:5px 12px;font-size:13px;font-weight:600}.progress-dots{gap:6px;width:100%;max-width:560px;padding:0 4px 18px;display:flex}.progress-dots .dot{background:var(--border);border-radius:3px;flex:1;height:5px;transition:background .2s}.progress-dots .dot.done{background:var(--teal)}.progress-dots .dot.active{background:var(--teal);opacity:.5}.card{border-radius:var(--r);border:1px solid var(--border);background:#fff;width:100%;max-width:560px;padding:28px 24px;box-shadow:0 1px 3px #00000014}.card-title{color:var(--ink);margin-bottom:8px;font-family:Sora,sans-serif;font-size:20px;font-weight:700}.card-sub{color:var(--sub);margin-bottom:22px;font-size:15px;line-height:1.6}.option-btn{width:100%;min-height:var(--touch);border:2px solid var(--border);color:var(--ink);text-align:left;background:#fff;border-radius:12px;align-items:center;gap:12px;margin-bottom:12px;padding:14px 18px;font-size:17px;font-weight:600;transition:all .12s;display:flex}.option-btn:last-child{margin-bottom:0}.option-btn:hover{border-color:var(--teal);background:var(--teal-lt)}.option-btn.selected{border-color:var(--teal);background:var(--teal-lt);color:var(--teal-dk)}.option-btn:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.btn-primary{width:100%;min-height:var(--touch);background:var(--teal);color:#fff;border-radius:12px;font-size:17px;font-weight:700;transition:background .15s}.btn-primary:hover{background:var(--teal-dk)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-outline{width:100%;min-height:var(--touch);color:var(--sub);border:2px solid var(--border);background:#fff;border-radius:12px;margin-top:10px;font-size:16px;font-weight:600}.btn-outline:hover{border-color:var(--muted);color:var(--ink)}.field{margin-bottom:18px}.field label{color:var(--sub);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.field input,.field select{border:2px solid var(--border);width:100%;min-height:50px;color:var(--ink);border-radius:10px;padding:10px 14px;font-size:16px}.field input:focus,.field select:focus{border-color:var(--teal);outline:none}.field-readonly{border:2px solid var(--teal-lt);background:var(--teal-lt);width:100%;min-height:50px;color:var(--teal-dk);border-radius:10px;align-items:center;padding:10px 14px;font-size:16px;font-weight:600;display:flex}.scale-grid{grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:6px;display:grid}.scale-grid .option-btn{text-align:center;justify-content:center;min-height:50px;margin-bottom:0;padding:8px}.scale-caption{color:var(--muted);justify-content:space-between;margin-bottom:20px;padding:0 2px;font-size:12px;display:flex}.error-text{color:var(--danger);margin-top:6px;font-size:14px}.thanks-icon{background:var(--teal-lt);width:72px;height:72px;color:var(--teal);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:34px;display:flex}@media (width<=480px){.card{padding:22px 18px}.scale-grid{grid-template-columns:repeat(6,1fr);gap:6px}}.admin-shell{flex:1;width:100%;max-width:920px;margin:0 auto;padding:24px 20px 48px}.admin-topbar{align-items:center;gap:12px;margin-bottom:24px;display:flex}.admin-topbar .survey-brand{font-size:16px}.admin-topbar .live-dot{background:var(--ok);border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.admin-topbar .live-label{color:var(--ok);align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.admin-topbar .spacer{flex:1}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:18px 16px;box-shadow:0 1px 3px #0000000f}.stat-card .stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:12px;font-weight:600}.stat-card .stat-value{color:var(--teal-dk);font-family:Sora,sans-serif;font-size:26px;font-weight:700}.stat-card .stat-sub{color:var(--muted);margin-top:2px;font-size:12px}.admin-card{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:20px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.admin-card-hdr{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 18px;font-family:Sora,sans-serif;font-size:14px;font-weight:600;display:flex}.admin-card-body{padding:16px 18px}.ward-table{border-collapse:collapse;width:100%;font-size:14px}.ward-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);padding:8px 10px;font-size:12px;font-weight:600}.ward-table td{border-bottom:1px solid #f3f4f6;padding:10px}.ward-table tr:last-child td{border-bottom:none}.btn-export{background:var(--teal);color:#fff;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:700;display:inline-flex}.btn-export:hover{background:var(--teal-dk)}.btn-export:disabled{opacity:.5;cursor:not-allowed}.btn-logout{color:var(--sub);border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}.btn-logout:hover{border-color:var(--muted);color:var(--ink)}@media (width<=720px){.stat-grid{grid-template-columns:repeat(2,1fr)}}
