:root{--blue:#0b3d91;--blue-dark:#082c69;--green:#15803d;--red:#b91c1c;--amber:#b45309;--ink:#111827;--muted:#4b5563;--line:#d1d5db;--bg:#f3f4f6;--card:#fff}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:18px;line-height:1.4}h1,h2,h3,p{margin:0}.wizard{max-width:560px;min-height:100dvh;padding:12px 16px calc(20px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;margin:0 auto;display:flex}.topbar{align-items:center;gap:12px;min-height:36px;display:flex}.back{color:var(--blue);background:0 0;border:0;padding:8px 8px 8px 0;font-size:18px;font-weight:600}.progress{background:var(--line);border-radius:6px;flex:1;height:12px;overflow:hidden}.progress>div{background:var(--blue);height:100%;transition:width .25s}.progress-label{color:var(--muted);font-variant-numeric:tabular-nums;font-size:15px}.step{flex-direction:column;flex:1;gap:18px;display:flex}.step-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--blue);font-size:16px;font-weight:700}.instruction{font-size:30px;font-weight:800;line-height:1.2}.hint{color:var(--muted);font-size:18px}.spacer{flex:1}.btn{letter-spacing:.02em;text-align:center;color:#fff;background:var(--blue);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:0;border-radius:16px;justify-content:center;align-items:center;width:100%;min-height:76px;padding:16px;font-size:26px;font-weight:800;display:flex;position:relative}.btn:active{background:var(--blue-dark)}.btn:disabled{opacity:.45}.btn.green{background:var(--green)}.btn.red{background:var(--red)}.btn.outline{background:var(--card);color:var(--blue);border:3px solid var(--blue)}.btn.small{min-height:56px;font-size:19px}.btn.huge{min-height:140px;font-size:32px}.btn.camera{flex-direction:column;gap:8px;min-height:190px;font-size:30px}.btn.camera .icon{font-size:64px;line-height:1}.btn input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.row{align-items:flex-end;gap:12px;display:flex}.row>*{flex:1}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:18px;font-weight:700}.field input,.field textarea{width:100%;font:inherit;border:2px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:14px;font-size:22px}.field input:focus,.field textarea:focus{border-color:var(--blue);outline:none}.field textarea{resize:vertical;min-height:220px}.preview{object-fit:contain;background:#000;border-radius:12px;width:100%;max-height:42dvh}.saved{color:var(--green);text-align:center;background:#dcfce7;border-radius:12px;padding:28px 16px;font-size:24px;font-weight:800}.status{text-align:center;color:var(--muted);font-size:20px;font-weight:700}.error{color:var(--red);background:#fee2e2;border-radius:12px;padding:12px 14px;font-size:18px;font-weight:700}.notice{color:var(--amber);background:#fef3c7;border-radius:12px;padding:12px 14px;font-size:18px;font-weight:700}.values{background:var(--card);border-radius:14px;padding:4px 16px}.values div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;font-size:20px;display:flex}.values div:last-child{border-bottom:0}.values dt{color:var(--muted)}.values dd{text-align:right;word-break:break-all;margin:0;font-weight:800}.values dd.missing{color:var(--red)}.counter{justify-content:center;align-items:center;gap:14px;display:flex}.counter button{background:var(--blue);color:#fff;touch-action:manipulation;border:0;border-radius:50%;width:96px;height:96px;font-size:56px;font-weight:700;line-height:1}.counter input{width:130px;font:inherit;text-align:center;color:var(--ink);appearance:textfield;background:0 0;border:0;font-size:80px;font-weight:800}.counter input::-webkit-outer-spin-button{-webkit-appearance:none}.counter input::-webkit-inner-spin-button{-webkit-appearance:none}.card{background:var(--card);border-radius:14px;padding:16px}.review-banner{background:var(--red);color:#fff;border-radius:16px;padding:22px 18px}.review-banner h1{margin-bottom:10px;font-size:30px;line-height:1.15}.review-banner p{font-size:20px}.reasons{margin:8px 0 0;padding-left:22px}.reasons li{margin-bottom:4px}.section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-bottom:8px;font-size:18px;font-weight:800}.line{border-bottom:1px solid var(--line);padding:12px 0}.line-head{justify-content:space-between;gap:12px;font-size:19px;font-weight:800;display:flex}.line-sub{color:var(--muted);font-size:16px}.line-why{margin-top:4px;font-size:16px}.total{justify-content:space-between;align-items:baseline;gap:12px;padding-top:14px;font-size:20px;font-weight:800;display:flex}.total strong{font-size:26px}.talk h3{margin-bottom:2px;font-size:19px}.talk p{margin-bottom:12px;font-size:18px}.talk p:last-child{margin-bottom:0}.talk .objection{font-style:italic}.admin{flex-direction:column;gap:16px;max-width:1000px;margin:0 auto;padding:16px;font-size:16px;display:flex}.admin h1{font-size:24px}.admin h2{margin-bottom:8px;font-size:18px}.admin nav{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:16px;padding-bottom:12px;display:flex}.admin a{color:var(--blue);font-weight:600}.table-wrap{overflow-x:auto}.admin table{border-collapse:collapse;background:var(--card);width:100%}.admin th,.admin td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.admin th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:13px}.admin input[type=text],.admin input[type=number],.admin input[type=password]{width:100%;min-width:70px;font:inherit;border:1px solid var(--line);border-radius:6px;padding:6px 8px}.admin button{font:inherit;color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:6px;padding:8px 14px;font-weight:700}.badge{color:#fff;background:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700;display:inline-block}.badge.quoted{background:var(--green)}.badge.review_required{background:var(--red)}.photos{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.photos figure{margin:0}.photos img{border-radius:8px;width:100%;display:block}.photos figcaption{color:var(--muted);margin-top:4px;font-size:14px}.kv{grid-template-columns:max-content 1fr;gap:4px 16px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600}
