.q-layout{display:grid;gap:2rem;align-items:start}
@media(min-width:1024px){.q-layout{grid-template-columns:minmax(0,1fr) minmax(320px,360px)}.q-sum{position:sticky;top:5.5rem}}
.q-main,.q-sum{min-width:0}
.q-step{font:500 .82rem var(--mono);letter-spacing:.06em;color:var(--muted);margin:0 0 .6rem}
.q-bar{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;margin-bottom:1.5rem}
.q-bar i{height:4px;border-radius:2px;background:var(--line)}.q-bar i.done{background:var(--muted)}.q-bar i.now{background:var(--cyan)}
.q-head h2{margin:0 0 .4rem}.q-head h2:focus{outline:none}.q-head h2:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.q-set{border:0;margin:0 0 1.6rem;padding:0;min-width:0;display:grid;gap:.6rem}
.q-set legend{font:500 .82rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0;margin-bottom:.7rem}
.q-card{display:flex;gap:.8rem;align-items:flex-start;min-height:48px;padding:.9rem 1rem;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:rgba(255,255,255,.02);transition:border-color .2s,background .2s}
.q-card input{margin-top:.2rem;width:1.15rem;height:1.15rem;flex:none;accent-color:var(--cyan)}
.q-card:hover{border-color:var(--muted)}.q-card:has(input:checked){border-color:var(--cyan);background:rgba(255,255,255,.05)}
.q-card:has(input:focus-visible){outline:3px solid var(--cyan);outline-offset:3px}
.q-ct{display:grid;gap:.15rem;min-width:0;overflow-wrap:anywhere}.q-ct small{color:var(--muted)}
.q-qty{display:flex;align-items:center;gap:.7rem;margin:.4rem 0 0 2rem;color:var(--muted);font-size:.9rem}.q-qty[hidden]{display:none}
.q-qty input{width:6rem;background:rgba(255,255,255,.04);color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:.55rem .7rem;font:inherit}
.q-err{border:1px solid var(--cyan);border-radius:8px;padding:1rem;margin:0 0 1.2rem}.q-err[hidden]{display:none}.q-err ul{margin:.4rem 0 0;padding-left:1.1rem}.q-err:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.q-nav{display:flex;gap:.8rem;justify-content:space-between;margin-top:1.5rem;flex-wrap:wrap}.q-nav [hidden]{display:none}.q-nav #q-next{margin-left:auto}
.q-reset{margin-top:1.5rem}
.q-sum ul,.q-lines{list-style:none;margin:.6rem 0;padding:0;display:grid;gap:.5rem}
.q-sum li,.q-lines li,.q-sub{display:flex;justify-content:space-between;gap:1rem;overflow-wrap:anywhere}.q-sum li b,.q-lines li b{flex:none}
.q-empty{color:var(--muted)}
.q-total{font:600 1.15rem/1.3 var(--mono);margin:.3rem 0;overflow-wrap:anywhere}.q-total-big{font-size:1.5rem;margin:1.2rem 0 .4rem}
.q-note{color:var(--muted);font-size:.88rem;margin:.4rem 0 0}
.q-block{margin:0 0 1rem}.q-block h3{margin:0 0 .4rem}.q-sub{border-top:1px solid var(--line);padding-top:.6rem;margin:.4rem 0 0}
.q-brief{margin-top:1rem}.q-brief p{white-space:pre-wrap;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.q-card{transition:none}}

.q-market{display:flex;align-items:center;gap:.6rem;margin:0 0 1rem;font-family:var(--mono);font-size:.8rem;color:var(--muted)}
.q-market select{background:transparent;color:var(--fg);border:1px solid var(--line);padding:.45rem .6rem;font:inherit;max-width:100%;min-height:44px}
.q-market select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.q-lines li b,.q-sub b,.q-list li b{text-align:right;overflow-wrap:anywhere}
.q-market{flex-wrap:wrap}
.q-market select{flex:1 1 11rem;width:100%;min-width:0;box-sizing:border-box}
.q-sum li,.q-lines li,.q-sub{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.15rem 1rem;word-break:normal;overflow-wrap:break-word;hyphens:none}
.q-sum li>span,.q-lines li>span,.q-sub>span{flex:1 1 9rem;min-width:0;white-space:normal;word-break:normal;overflow-wrap:break-word;hyphens:none}
.q-sum li b,.q-lines li b,.q-sub b{flex:0 0 auto;margin-left:auto;text-align:right;justify-self:end;white-space:nowrap;word-break:normal;overflow-wrap:normal;max-width:100%}
.q-total,.q-note,.q-ct{word-break:normal;overflow-wrap:break-word;hyphens:none}
.q-sum li b.q-long,.q-lines li b.q-long,.q-sub b.q-long{white-space:normal;flex:1 1 10rem;text-align:right}

.q-sum ul#q-list{margin:.8rem 0 0;gap:0}
.q-sum li.q-svc{display:block;padding:.85rem 0;border-top:1px solid var(--line);word-break:normal;overflow-wrap:break-word;hyphens:none}
.q-sum li.q-svc:first-child{border-top:0;padding-top:.2rem}
.q-sum li.q-empty{display:block;color:var(--muted)}
.q-sum .q-svc-n{display:block;font-weight:600;color:var(--fg);line-height:1.3}
.q-sum .q-svc-t{display:block;font-size:.8rem;color:var(--muted);margin-top:.1rem}
.q-sum li.q-svc .q-svc-p{display:block;flex:none;margin:.35rem 0 0;text-align:left;white-space:normal;max-width:none;font:600 1.05rem/1.3 var(--mono);color:var(--fg);overflow-wrap:break-word;word-break:normal}
.q-sum .q-svc-x{display:block;font-size:.78rem;color:var(--muted);margin-top:.1rem}
.q-sum .q-est{margin-top:1rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.q-sum .q-est-k{display:block;font:.7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.q-sum #q-total{font:700 1.6rem/1.2 var(--mono);color:var(--cyan);margin:.45rem 0 .25rem;overflow-wrap:break-word;word-break:normal;hyphens:none}
.q-sum .q-est-sub{font-size:.85rem;color:var(--muted);margin:0}
.q-sum .q-est-note{font-size:.8rem;color:var(--muted);margin:.8rem 0 0;line-height:1.45}
