:root{--bg: #f4f5f7;--card: #ffffff;--border: #e2e5ea;--text: #1f2430;--muted: #6b7280;--primary: #2563eb;--primary-dark: #1d4ed8;--danger: #dc2626;--success: #16a34a}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}.container{max-width:720px;margin:0 auto;padding:24px 16px 80px}.survey-header h1{font-size:1.6rem;margin:8px 0}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px 24px;margin-bottom:16px;box-shadow:0 1px 2px #00000008}.card h2{font-size:1.1rem;margin:0 0 4px;color:var(--primary-dark)}.muted{color:var(--muted);font-size:.92rem}.field{margin:16px 0}.field-label{display:block;font-weight:600;margin-bottom:4px}.req{color:var(--danger);margin-left:4px}.help{color:var(--muted);font-size:.85rem;margin:0 0 6px;font-style:italic}input[type=text],input[type=email],input[type=number],textarea,select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-family:inherit;background:#fff}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.checkbox input{width:auto}.rating{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rating-label{color:var(--muted);font-size:.8rem}.rating-dot{width:42px;height:42px;border:1px solid var(--border);border-radius:50%;background:#fff;cursor:pointer;font-size:.95rem}.rating-dot.active{background:var(--primary);color:#fff;border-color:var(--primary)}.group-instance{border:1px dashed var(--border);border-radius:10px;padding:4px 16px 12px;margin:12px 0;background:#fafbfc}.group-instance-title{font-weight:700;color:var(--primary-dark);margin-top:12px}.group-actions{display:flex;gap:8px}.ghost-btn{background:transparent;border:1px solid var(--primary);color:var(--primary);padding:6px 14px;border-radius:8px;cursor:pointer;font-size:.9rem}.ghost-btn.danger{border-color:var(--danger);color:var(--danger)}.submit-btn{width:100%;background:var(--primary);color:#fff;border:none;padding:14px;border-radius:10px;font-size:1.05rem;font-weight:600;cursor:pointer}.submit-btn:hover{background:var(--primary-dark)}.submit-btn:disabled{opacity:.6;cursor:default}.error-card{border-color:var(--danger);color:var(--danger);background:#fef2f2}.success-card{text-align:center}.success-card h2{color:var(--success)}
