:root{--pink:#FFB5C5;--pink-soft:#FFE4EA;--ink:#000;--paper:#fff;--muted:#6b6b6b;--r:24px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--pink-soft);color:var(--ink);font:500 17px/1.4 ui-rounded,"SF Pro Rounded","Nunito","Arial Rounded MT Bold",system-ui,sans-serif;padding-bottom:env(safe-area-inset-bottom)}
.bar{gap:8px;position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#fff;padding:calc(12px + env(safe-area-inset-top)) 20px 12px}
.brand{font-weight:900;font-size:28px;letter-spacing:-1px}.brand span{color:var(--pink)}
.pill{background:var(--pink);color:#000;border-radius:999px;padding:6px 14px;font-weight:800}
main{max-width:760px;margin:0 auto;padding:16px}
.hero{background:var(--pink);border-radius:var(--r);padding:22px 20px;margin-bottom:16px}
.hero h1{margin:0;font-size:32px;font-weight:900;letter-spacing:-.5px}.hero p{margin:6px 0 0;font-weight:700}
.card{background:var(--paper);border-radius:var(--r);padding:18px;margin-bottom:14px;box-shadow:0 2px 0 rgba(0,0,0,.06)}
.top{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.card h3{margin:0 0 12px;font-size:20px;font-weight:900}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:block;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.4px}
input,textarea{display:block;width:100%;margin-top:6px;font:inherit;font-size:20px;font-weight:700;padding:12px 14px;border:2px solid #e6e6e6;border-radius:16px;background:#fafafa;color:#000}
textarea{font-size:16px;font-weight:500;min-height:46px;resize:vertical}
input:focus,textarea:focus{outline:none;border-color:#000;background:#fff}
.bad{border-color:#e0245e!important;background:#fff0f4}
.btn{display:block;width:100%;border:0;border-radius:999px;background:#000;color:#fff;font:inherit;font-size:20px;font-weight:900;padding:18px;margin:8px 0 24px;cursor:pointer}
.btn:active{transform:scale(.98)}.btn[disabled]{opacity:.5}
.err{color:#c2134f;font-weight:700;white-space:pre-line}
.done{text-align:center}.done h2{font-size:30px;margin:6px 0}
.mock{background:#000;color:var(--pink);border-radius:12px;padding:6px 10px;display:inline-block;font-size:13px;margin-top:8px}
.nav{display:flex;gap:6px;margin-left:auto;margin-right:10px}.nav a{color:#fff;text-decoration:none;font-weight:800;padding:6px 12px;border-radius:999px}.nav a.on{background:#fff;color:#000}
.seg{display:flex;background:#f1f1f1;border-radius:999px;padding:4px;margin-top:6px}.seg button{flex:1;border:0;background:none;font:inherit;font-weight:900;font-size:18px;padding:12px;border-radius:999px;color:#555}.seg button.on{background:#000;color:#fff}
.vendor{display:inline-block;background:#000;color:var(--pink);font-weight:900;font-size:13px;letter-spacing:.6px;text-transform:uppercase;border-radius:999px;padding:5px 12px;margin:6px 0 10px}
.sub{font-weight:900;font-size:13px;text-transform:uppercase;color:var(--muted);margin:14px 0 4px}
.item{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid #f0f0f0}.item:first-of-type{border-top:0}
.item span{flex:1;font-weight:700}.item input{width:110px;margin:0;text-align:center}
.unit{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase}
[hidden]{display:none!important}
.gate{text-align:center;padding:28px 20px}.gate h2{font-size:28px;font-weight:900;margin:0 0 4px}.gate p{margin:0 0 14px;color:var(--muted);font-weight:700}
.gate input{max-width:320px;margin:0 auto;text-align:center;font-size:28px;letter-spacing:6px}.gate .btn{max-width:320px;margin:14px auto 0}
.hi{font-size:20px;font-weight:800;margin:0 4px 12px}.hi a{color:#000;font-size:15px;margin-left:8px;text-decoration:underline}
.err.ok{color:#127a3a}
.item{flex-wrap:wrap}.item .note{flex-basis:100%;margin:2px 0 4px;font-size:16px;min-height:42px}
.addnote{display:inline-block;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;font-weight:800;margin-left:8px;padding:4px 6px;border-radius:999px;cursor:pointer}
.addnote:hover,.addnote:focus{background:var(--pink-soft);color:#000}
