:root{--bg: #0f0f10;--card: #161618;--card-hover: #1c1c1f;--muted: #9aa0a6;--text: #ffffff;--accent: #e11d48;--line: #262628;--shadow: 0 10px 30px rgba(0,0,0,.25);--r: 12px;--pad: 20px;--gap: 16px;--fast: .18s;--ease: cubic-bezier(.2,.8,.2,1);--ring: 0 0 0 3px rgba(225,29,72,.25)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:16px/1.5 system-ui,Segoe UI,Roboto,Ubuntu,Helvetica Neue,Arial,sans-serif}#root{min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#333;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#444}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:var(--bg)}.brand{font-weight:700;letter-spacing:.3px}.progress ol{display:flex;gap:14px;margin:0;padding:0;list-style:none}.progress li{opacity:.5}.progress li.is-active{opacity:1;border-bottom:2px solid var(--accent);padding-bottom:2px}.layout{display:grid;grid-template-columns:1fr 340px;gap:24px;max-width:1200px;margin:24px auto;padding:0 24px}.step{background:var(--card);border-radius:var(--r);padding:var(--pad);margin-bottom:20px;opacity:0;transform:translateY(8px);transition:opacity var(--fast) var(--ease),transform var(--fast) var(--ease)}.step.is-active{opacity:1;transform:none}.step.is-locked{opacity:.35;filter:grayscale(20%);pointer-events:none}.step-inner h2{margin:0}.step-inner .muted{color:var(--muted);margin:2px 0 16px}.summary-rail{position:sticky;top:74px;height:fit-content;background:var(--card);border-radius:var(--r);padding:var(--pad)}.summary-rail h3{margin:0 0 10px}.summary-block{display:grid;gap:8px;margin-bottom:16px}.summary-block .row{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.summary-block .row strong{color:var(--text)}.summary-price .label{color:var(--muted);font-size:.9rem}.summary-price .price{font-size:1.6rem;margin:4px 0 12px}.nav{display:flex;gap:10px;margin-top:16px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--card-hover);color:var(--text);padding:10px 14px;border-radius:10px;cursor:pointer;transition:transform var(--fast) var(--ease),box-shadow var(--fast) var(--ease),opacity var(--fast)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus{outline:none;box-shadow:var(--ring)}.btn-primary{background:var(--accent)}.btn-primary.is-hidden{display:none}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border-radius:14px;overflow:hidden;background:var(--card-hover);cursor:pointer;transition:transform var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.card:hover{transform:translateY(-2px)}.card.is-selected{box-shadow:0 0 0 2px var(--accent)}.card .img{aspect-ratio:1.2/1;display:block;background:var(--bg);object-fit:cover;width:100%}.card .body{padding:14px}.card .name{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:2px}.card .title{font-weight:600;font-size:1rem}.subtag{margin:4px 0 8px}.badge{font-size:.72rem;color:var(--muted);background:var(--card);padding:2px 8px;border-radius:999px}.meters{display:grid;gap:8px;margin:10px 0 12px}.meter{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--muted)}.meter .bar{flex:1;height:8px;background:var(--card);border-radius:999px;overflow:hidden}.meter .bar>span{display:block;height:100%;width:0;background:var(--accent);transition:width .42s var(--ease)}.fit{display:flex;align-items:center;gap:8px}.fit .icon-img{width:18px;height:18px;opacity:.8}.loc-label{display:block;background:var(--card-hover);border-radius:10px;padding:12px}.loc-label input[type=checkbox]{margin-right:6px}.loc-colors{margin-top:10px}.loc-colors small{display:block;color:var(--muted);margin-bottom:4px}.loc-colors input[type=number]{display:block;width:80px;margin-top:4px;background:var(--card);color:var(--text);border:none;border-radius:8px;padding:8px 10px}.qty-input{display:block;margin-top:6px;width:160px;background:var(--card-hover);color:var(--text);border:none;border-radius:10px;padding:10px 12px}@media (max-width: 980px){.layout{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid{grid-template-columns:1fr}}
