:root{--bg:#18181b;--surface:#27272a;--border:#3f3f46;--text:#fafafa;--muted:#a1a1aa;--accent:#00dc82}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:19px;line-height:1.6}.wrap{max-width:640px;margin:0 auto;padding:40px 24px 56px}.brand{text-align:center;margin-bottom:28px;display:block}.brand img{width:180px;max-width:60%;height:auto}.title{text-align:center;margin:0 0 32px;font-size:2rem;font-weight:800}.subtitle{margin:0;font-size:1.5rem;font-weight:700}.panel{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:20px;padding:32px 28px;display:flex}[hidden]{display:none!important}.panel[hidden]{display:none}.lead{margin:0;font-size:1.125rem}.muted{color:var(--muted);margin:0;font-size:1rem}.steps{text-align:left;align-self:stretch;margin:0;padding-left:1.4em}.steps li{margin-bottom:10px}.qr-card{background:#fff;border-radius:12px;padding:16px;line-height:0}#qr{width:320px;max-width:100%;height:320px;display:block}.tick{width:72px;height:72px;color:var(--accent);background:#00dc821f;border:2px solid #00dc824d;border-radius:50%;place-items:center;font-size:34px;display:grid}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.btn{background:var(--accent);color:#000;cursor:pointer;border:0;border-radius:12px;min-height:52px;padding:16px 32px;font-family:inherit;font-size:1.0625rem;font-weight:700}.btn:hover{filter:brightness(1.08)}.btn:focus-visible{outline-offset:3px;outline:3px solid #fff}.foot{text-align:center;color:var(--muted);margin-top:40px;font-size:.9375rem}.foot p{margin:0 0 12px}.foot .links{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.foot a{color:var(--muted)}.foot a:hover{color:var(--text)}.picker,.record-form,.sent{text-align:left;align-self:stretch}.dropzone{border:2px dashed var(--border);cursor:pointer;text-align:center;background:var(--bg);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:32px 20px;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:#00dc820f}.dropzone strong{font-size:1.125rem}.file-list{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.file-row{background:var(--bg);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.file-state{color:var(--muted);white-space:nowrap;font-size:.9375rem}.file-state.done{color:var(--accent)}.file-state.failed{color:#ff8f8f}.or-line{text-align:center;margin:26px 0 4px}.sent{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:20px 0 10px;font-size:.875rem;font-weight:700}.type-row{flex-wrap:wrap;gap:10px;display:flex}.type-btn{background:var(--bg);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:10px;min-height:48px;padding:12px 18px;font-family:inherit;font-size:1rem}.type-btn:hover{border-color:var(--accent);color:var(--accent)}.type-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.record-form{flex-direction:column;gap:16px;display:flex}.form-title{margin:0;font-size:1.25rem}.linkish{color:var(--muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:4px 0;font-family:inherit;font-size:1rem}.linkish:hover{color:var(--text)}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field>span{color:var(--muted);font-size:.9375rem}.input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;width:100%;min-height:52px;padding:14px;font-family:inherit;font-size:1.0625rem}.input:focus{border-color:var(--accent);outline:none}textarea.input{resize:vertical;min-height:88px}.err{color:#ff8f8f;margin:0 0 6px;font-size:1rem}#form-error-box{flex-direction:column;align-items:flex-start;display:flex}.help{text-align:left;color:var(--muted);align-self:stretch}.help summary{cursor:pointer;color:var(--text);padding:8px 0}.help p{margin:8px 0;font-size:1rem}
