:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#eef3f3;--surface:#fff;--fg:#132a3a;--muted:#55707a;--border:#cddbdc;--accent:#2dd4bf;--accent-fg:#04332e;--accent-soft:#e6faf7;--danger:#b3261e;--danger-bg:#fbe8e6;--warn-bg:#fdf1de;--warn-fg:#8a5a00;--ok-bg:#e3f3e6;--ok-fg:#1e7e34;--radius-sm:8px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #101e2114;--shadow-md:0 6px 16px #101e211f;font-family:system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#10181a;--surface:#182224;--fg:#e7f0f0;--muted:#8fa8ac;--border:#2b3a3d;--accent:#2dd4bf;--accent-fg:#05282c;--accent-soft:#1c3a3e;--danger:#ff8a80;--danger-bg:#3a1c19;--warn-bg:#3a2c0f;--warn-fg:#ffcf6b;--ok-bg:#163a20;--ok-fg:#8fe0a3;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 6px 20px #0006}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);min-height:100%;margin:0;padding:0}body{font-size:16px;line-height:1.45}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px}#app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:1;justify-content:space-between;align-items:center;gap:.6rem;padding:.85rem 1.1rem;display:flex;position:sticky;top:0}.app-header__brand{align-items:center;gap:.55rem;min-width:0;display:flex}.app-header__mark{width:30px;height:30px;color:var(--accent);border-radius:8px;flex-shrink:0}.app-header h1{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.2rem;font-weight:700;overflow:hidden}.app-header h1 .app-header__suffix{color:var(--muted);font-weight:500}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .7rem .3rem .55rem;font-size:.82rem;font-weight:600;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.status-badge--ok{background:var(--ok-bg);color:var(--ok-fg)}.status-badge--warn{background:var(--warn-bg);color:var(--warn-fg)}.status-badge--error{background:var(--danger-bg);color:var(--danger)}@media (prefers-reduced-motion:no-preference){.status-badge--warn:before{animation:1.6s ease-in-out infinite pulse}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.app-content{flex:1;width:100%;max-width:640px;margin:0 auto;padding:1.25rem 1rem 2.5rem}.screen{flex-direction:column;gap:1.25rem;display:flex}.screen h2{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:1.55rem;font-weight:700}.field-group{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:.9rem 1.1rem}.field-group dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-top:1px solid var(--border);margin-top:.85rem;padding-top:.85rem;font-size:.75rem;font-weight:600}.field-group dt:first-child{border-top:none;margin-top:0;padding-top:0}.field-group dd{margin:.2rem 0 0;font-size:1.1rem;font-weight:500}label{margin-bottom:.35rem;font-weight:600;display:block}input[type=text],input[type=number],input[type=password],textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--fg);padding:.65rem .75rem;font-size:1.1rem;transition:border-color .15s}input[type=text]:focus,input[type=number]:focus,input[type=password]:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:6rem}.radio-group{flex-direction:column;gap:.6rem;display:flex}.radio-option{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:.65rem;padding:.8rem .9rem;transition:border-color .15s,background .15s;display:flex}.radio-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.radio-option input{width:1.3rem;height:1.3rem;accent-color:var(--accent);flex-shrink:0}.radio-option label{margin:0;font-weight:500}.btn{font:inherit;border-radius:var(--radius-md);cursor:pointer;border:none;width:100%;padding:.85rem 1.2rem;font-size:1.1rem;font-weight:600;transition:transform 80ms,box-shadow .15s,background .15s}.btn:active{transform:scale(.98)}.btn--primary{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-sm)}.btn--primary:not(:disabled):hover{box-shadow:var(--shadow-md)}.btn--primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn--secondary{color:var(--accent);border:1.5px solid var(--accent);background:0 0}.btn-row{gap:.75rem;display:flex}.btn-row .btn{flex:1}.choice-list{flex-direction:column;gap:.6rem;display:flex}.choice-list .btn{text-align:left;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.choice-list .btn:after{content:"";opacity:.7;border-top:2px solid;border-right:2px solid;flex-shrink:0;width:.5rem;height:.5rem;transform:rotate(45deg)}.signature-pad{flex-direction:column;gap:.5rem;display:flex}.signature-pad__canvas{border:1.5px dashed var(--border);border-radius:var(--radius-md);touch-action:none;background:#fff;width:100%;height:220px;box-shadow:inset 0 1px 4px #101e2114}.error-banner{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-sm);padding:.75rem .9rem;font-weight:500}.hint{color:var(--muted);font-size:.92rem}.photo-preview{border-radius:var(--radius-md);border:1px solid var(--border);max-width:100%;box-shadow:var(--shadow-sm)}.success-screen{text-align:center;align-items:center;padding:2.5rem 0}.success-screen:before{content:"";background:var(--ok-bg);background-image:linear-gradient(var(--ok-bg), var(--ok-bg)), linear-gradient(135deg, transparent 42%, var(--ok-fg) 42%, var(--ok-fg) 48%, transparent 48%), linear-gradient(45deg, transparent 55%, var(--ok-fg) 55%, var(--ok-fg) 61%, transparent 61%);background-repeat:no-repeat;background-size:cover;border-radius:50%;width:4rem;height:4rem;margin:0 auto .5rem;display:block}@media (prefers-reduced-motion:no-preference){.success-screen:before{animation:.35s cubic-bezier(.2,.9,.3,1.2) pop-in}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.success-screen p{font-size:1.15rem;font-weight:500}
