:root{--bg:#f5f6f8;--surface:#fff;--text:#1a1d22;--muted:#6b7280;--primary:#1f6feb;--primary-text:#fff;--border:#d8dce3;--error:#c0271a;--info:#0a7a3c;--radius:12px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.screen{max-width:420px;padding:24px 20px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;min-height:100vh;margin:0 auto;display:flex}.brand{margin:8px 0 0;font-size:1.6rem}.muted{color:var(--muted);margin:0}.small{font-size:.85rem}.form{flex-direction:column;gap:14px;margin-top:8px;display:flex}label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}input[type=email],input[type=password],input[type=text],input:not([type]){border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:12px 14px;font-size:1rem}.check{color:var(--text);flex-direction:row;align-items:center;gap:10px}.check input{width:18px;height:18px}.btn{text-align:center;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;padding:14px 16px;font-size:1rem;text-decoration:none;display:block}.btn.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.btn.ghost{color:var(--primary);background:0 0;border:none}.btn.danger{color:var(--error);border-color:var(--error)}.btn:disabled{opacity:.6;cursor:default}.error{color:var(--error);margin:0}.info{color:var(--info);margin:0}.centered{text-align:center;margin-top:40vh}.home-head{justify-content:space-between;align-items:center;display:flex}.link{color:var(--primary);cursor:pointer;background:0 0;border:none;font-size:.95rem}.cards{flex-direction:column;gap:12px;margin-top:8px;display:flex}.card{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:18px 16px;font-size:1.05rem}.card.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.card:disabled{opacity:.7}.progress{justify-content:space-between;align-items:center;display:flex}.dots{gap:6px;display:flex}.dot{background:var(--border);border-radius:3px;width:22px;height:6px}.dot.on{background:var(--primary)}h2{margin:4px 0;font-size:1.25rem}.options{flex-direction:column;gap:10px;display:flex}.option{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);flex-direction:row;align-items:center;gap:10px;padding:14px 16px;font-size:1rem}.option.sel{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.list{flex-direction:column;gap:8px;display:flex}.row{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;padding:12px 14px}.row.sel{border-color:var(--primary)}.selected{color:var(--info);margin:0}.textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);resize:vertical;padding:12px 14px;font-family:inherit;font-size:1rem}.summary{flex-direction:column;gap:12px;margin:0;display:flex}.summary div{flex-direction:column;gap:2px;display:flex}.summary dt{color:var(--muted);font-size:.8rem}.summary dd{white-space:pre-wrap;margin:0}.nav{gap:12px;margin-top:8px;display:flex}.nav .btn{flex:1}.done{text-align:center;font-size:3rem}.photos{flex-direction:column;gap:14px;display:flex}.photo{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:8px;padding:10px;display:flex}.thumb{object-fit:cover;border-radius:8px;width:100%;max-height:220px}.photo .link{align-self:flex-end}.drafts{flex-direction:column;gap:8px;display:flex}.sub{color:var(--muted);margin:8px 0 0;font-size:1rem}.sigpad{border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface)}.sigcanvas{touch-action:none;width:100%;height:auto;display:block}.sig-saved{object-fit:contain;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;max-height:120px}.colors{gap:16px;display:flex}.color{flex-direction:column;flex:1;gap:6px}.color input[type=color]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;height:44px;padding:2px}
