:root{--primary: #4f46e5;--primary-dark: #4338ca;--bg: #f6f7fb;--card: #fff;--text: #1f2937;--muted: #6b7280;--border: #e5e7eb;--danger: #dc2626;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button{font:inherit;cursor:pointer}.app{max-width:720px;margin:0 auto;padding:16px 16px 150px}.header h1{margin:8px 0 0;font-size:1.6rem}.sub{margin:4px 0 16px;color:var(--muted)}.steps ol{list-style:none;display:flex;gap:4px;padding:0;margin:0 0 16px;overflow-x:auto}.steps li{flex:1 0 auto}.steps li button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:4px 6px;color:var(--muted)}.steps .dot{width:28px;height:28px;border-radius:50%;background:var(--border);display:grid;place-items:center;font-size:.8rem;font-weight:600}.steps li.active .dot{background:var(--primary);color:#fff}.steps li.done .dot{background:#10b981;color:#fff}.steps li.active button{color:var(--text);font-weight:600}.steps .lbl{font-size:.7rem;white-space:nowrap}.steps-count{margin:0 0 8px;font-size:.9rem;color:var(--muted)}h2{margin:8px 0 4px}.opt{font-size:.85rem;font-weight:400;color:var(--muted)}.help{color:var(--muted);margin:0 0 12px}.options{display:grid;gap:10px}.card{display:flex;align-items:center;gap:12px;text-align:left;background:var(--card);border:2px solid var(--border);border-radius:14px;padding:14px;min-height:64px;transition:border-color .15s,box-shadow .15s}.card:hover{border-color:#c7d2fe}.card.on{border-color:var(--primary);box-shadow:0 0 0 3px #e0e7ff}.card-body{flex:1;display:flex;flex-direction:column}.card-title{font-weight:600}.card-desc{color:var(--muted);font-size:.85rem}.card-price{font-weight:600;white-space:nowrap;font-size:.9rem}.swatch{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);flex:none}.bar{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--border);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;max-width:720px;margin:0 auto}.price-box{display:flex;flex-direction:column}.price-label{font-size:.75rem;color:var(--muted)}.price-box strong{font-size:1.3rem}.nav{display:flex;gap:8px}.btn{border-radius:10px;padding:12px 20px;border:1px solid transparent;font-weight:600;min-height:44px}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover:not(:disabled){background:var(--primary-dark)}.btn.ghost{background:#fff;border-color:var(--border);color:var(--text)}.btn.danger{background:#fff;border-color:var(--danger);color:var(--danger)}.btn:disabled{opacity:.45;cursor:not-allowed}.hint{width:100%;margin:0;font-size:.8rem;color:var(--muted)}.summary{background:var(--card);border-radius:14px;padding:8px 16px 16px;border:1px solid var(--border)}.sum-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.sum-row>div:first-child{flex:1}.sum-title{font-size:.75rem;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}.sum-line{display:flex;justify-content:space-between;gap:12px}.sum-none{color:var(--muted);font-style:italic}.link{background:none;border:0;color:var(--primary);text-decoration:underline;align-self:flex-start}.sum-total{display:flex;justify-content:space-between;padding:14px 0;font-size:1.15rem}.actions{display:flex;flex-wrap:wrap;gap:8px}@media (min-width: 640px){.app{padding-top:32px}.steps .lbl{font-size:.8rem}}@media print{body{background:#fff}.bar,.steps,.actions,.link,.hint,.sub{display:none!important}.app{padding:0}.summary{border:0}}
