:root{--accent: #f59e0b;--accent-soft: rgba(245, 158, 11, .16);--ink: #0f172a;--ink-soft: #475569;--line: #e2e8f0;--danger: #e23b3b;--card: #ffffff}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--ink);background:radial-gradient(120% 80% at 100% 0%,rgba(245,158,11,.22),transparent 60%),radial-gradient(140% 90% at 0% 100%,rgba(37,99,235,.18),transparent 55%),linear-gradient(160deg,#0b1120,#111a2e 60%,#0b1120);background-attachment:fixed}#app{max-width:560px;margin:0 auto;padding:20px 16px 40px}.hero{position:relative;overflow:hidden;border-radius:22px;padding:22px 20px;margin-bottom:16px;color:#f8fafc;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff0f}.hero:after{content:"";position:absolute;top:-60px;right:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.35),transparent 70%)}.eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.badge{float:right;padding:5px 14px;font-size:12px;font-weight:600;color:var(--accent);border:1px solid rgba(245,158,11,.5);border-radius:999px}.hero-title{font-size:26px;line-height:1.15;font-weight:800;margin:10px 0 6px}.hero-sub{margin:0 0 10px;font-size:15px;color:#cbd5e1}.hero-note{margin:0;font-size:13px;line-height:1.5;color:#94a3b8}.card{background:var(--card);border-radius:18px;padding:20px 18px;box-shadow:0 12px 30px #02061759}.field{margin-bottom:20px}.label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}input[type=text]{width:100%;padding:13px 14px;font-size:16px;color:var(--ink);background:#f8fafc;border:1.5px solid var(--line);border-radius:12px;transition:border-color .15s,box-shadow .15s}input[type=text]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input.invalid{border-color:var(--danger)}button{font:inherit;cursor:pointer;border:none;border-radius:12px}.btn-primary{width:100%;padding:15px;font-size:16px;font-weight:700;color:#fff;background:var(--ink);transition:opacity .15s,transform .05s}.btn-primary:hover{opacity:.92}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.55;cursor:default}.btn-secondary{width:100%;padding:13px;font-size:15px;font-weight:600;color:var(--ink);background:#fff;border:1.5px solid var(--line)}.btn-secondary:hover{border-color:var(--accent)}.roles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role{padding:13px 10px;font-size:15px;font-weight:600;color:var(--ink);background:#f8fafc;border:1.5px solid var(--line)}.role:hover{border-color:#f59e0b80}.role.active{color:#92500a;background:var(--accent-soft);border-color:var(--accent)}.consents{display:flex;flex-direction:column;gap:12px;padding:16px;margin-bottom:18px;background:#f8fafc;border-radius:14px}.check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;color:var(--ink)}.check input{width:20px;height:20px;margin-top:1px;flex-shrink:0;accent-color:var(--accent)}a{color:#b45309;font-weight:600}.status{font-size:13px;margin-top:8px;color:var(--ink-soft)}.status.ok{color:#15803d;font-weight:600}.error{color:var(--danger);font-size:13px;margin-top:6px}.error:empty{margin:0}.done{text-align:center}.done h1{font-size:22px;margin:8px 0}.done p{color:var(--ink-soft);margin:0 0 20px}#survey h1{font-size:19px;line-height:1.25}#ref-sources{margin:14px 0 4px}.ref-custom{margin-top:12px;text-align:left}#ref-input{margin-bottom:10px}.done-note{font-size:13px}.hidden{display:none}
