@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@600;700&display=swap";:root{--bg:#f4f6f4;--text:#31465d;--muted:#31465dd1;--primary:#4b637d;--accent:#4b637d;--surface:#f4f6f4;--line:#d2d8da}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font-family:Manrope,sans-serif;position:relative}body:before,body:after{content:none}.app-shell{width:min(1280px,96vw);margin:20px auto 32px}.flat-section{box-shadow:none!important;background:0 0!important;border:0!important}.intro{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin-bottom:14px;padding:18px 20px;position:relative;overflow:hidden;box-shadow:0 14px 32px #4b637d29,0 2px 6px #4b637d14}.intro:after{content:none}.intro-pill{border:1px solid var(--line);background:var(--bg);color:var(--primary);letter-spacing:.14em;border-radius:999px;align-items:center;padding:8px 22px;font-size:.8rem;font-weight:800;display:inline-flex}.intro h1{max-width:850px;color:var(--text);margin:12px 0 8px;font-family:Sora,sans-serif;font-size:clamp(1.62rem,3.1vw,2.45rem);line-height:1.15}.intro p{color:var(--muted);max-width:780px;margin:0;font-size:1rem}.breadcrumb-wrap{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:16px 0 12px;padding:10px 14px;box-shadow:0 10px 20px #4b637d1f,0 2px 6px #4b637d14}.breadcrumb{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.breadcrumb-item{align-items:center;gap:6px;display:inline-flex}.breadcrumb-sep{color:var(--muted);font-weight:700}.breadcrumb-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 12px;font-weight:700}.breadcrumb-btn.active{border-color:var(--primary);color:var(--text);background:#4b637d1f}.stepper-wrap{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin:18px 0 12px;padding:12px;animation:.38s both fadeUp;box-shadow:0 12px 24px #4b637d24,0 2px 6px #4b637d14}.stepper{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.step{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;color:var(--text);border-radius:14px;align-items:center;gap:12px;padding:12px;transition:all .15s;display:flex}.step:hover{transform:translateY(-2px);box-shadow:0 8px 16px #4b637d26}.step-name{color:var(--text);margin:0;font-size:.95rem;font-weight:800}.step small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.75rem;display:block;overflow:hidden}.step-dot{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);border-radius:99px;flex:none;place-items:center;font-weight:700;display:grid}.step.active{border-color:var(--primary);background:var(--bg)}.step.active .step-dot{background:var(--primary);border-color:var(--primary);color:var(--surface)}.step.done{border-color:var(--primary);background:var(--surface)}.step.done .step-dot{background:var(--primary);border-color:var(--primary);color:var(--surface)}.stepper-meta{color:var(--muted);margin-top:10px;font-size:.84rem;font-weight:600}.step-material-preview{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:8px;min-width:0;margin-left:auto;padding:4px 8px 4px 4px;display:inline-flex}.step-material-preview img{object-fit:cover;border:1px solid var(--line);border-radius:999px;width:24px;height:24px}.step-material-preview span{color:var(--primary);white-space:nowrap;text-overflow:ellipsis;max-width:95px;font-size:.72rem;font-weight:700;overflow:hidden}.workspace{display:block}.workspace.with-summary{grid-template-columns:minmax(0,1fr) 330px;gap:14px;display:grid}.workspace-main,.workspace-side .summary-box{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 24px #4b637d24,0 2px 6px #4b637d14}.workspace-main{padding:18px}.workspace-main h2{color:var(--text);margin:0;font-family:Sora,sans-serif}.section-text{color:var(--muted);margin-top:8px;margin-bottom:14px}.material-grid,.product-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.material-card,.product-card{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:18px;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative;overflow:hidden}.product-card{cursor:default}.material-card:hover,.product-card:hover{transform:translateY(-5px);box-shadow:0 18px 28px #4b637d33}.material-card:focus-visible,.product-card:focus-visible{outline:none;box-shadow:0 0 0 3px #4b637d40}.material-card img{object-fit:cover;width:100%;height:188px;transition:transform .42s cubic-bezier(.2,.7,.2,1)}.product-card img{object-fit:cover;width:100%;height:164px;transition:transform .42s cubic-bezier(.2,.7,.2,1)}.material-card:hover img,.product-card:hover img{transform:scale(1.045)}.material-tag,.product-tag{background:var(--surface);border:1px solid var(--line);color:var(--primary);border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:700;position:absolute;top:12px;right:12px}.material-card-content,.product-body{padding:12px 14px}.product-card-actions{align-items:center;gap:10px;margin-top:10px;display:flex}.product-card-actions small{white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.add-cart-btn{border:1px solid var(--line);width:fit-content;color:var(--text);background:#4b637d14;border-radius:8px;margin-top:0;margin-left:auto;padding:7px 10px;font-size:.82rem;font-weight:700;line-height:1.1}.add-cart-btn:hover:not(:disabled){background:#4b637d24}.add-cart-btn:disabled{color:var(--muted);border-color:var(--line);background:#4b637d0f}.material-card-content h3,.product-body h3{color:var(--text);margin:0}.material-card-content p,.product-body p,.product-body small{color:var(--muted)}.material-card.active,.product-card.selected{border-color:var(--primary);animation:1.4s ease-out pulseOutline;box-shadow:0 0 0 3px #4b637d33}.product-select-indicator{border:1px solid var(--line);background:var(--surface);color:#0000;border-radius:999px;place-items:center;width:26px;height:26px;font-size:.9rem;font-weight:800;display:grid;position:absolute;top:12px;left:12px}.product-card.selected .product-select-indicator{border-color:var(--primary);background:var(--primary);color:var(--surface)}.toolbar,.form-grid{gap:10px;display:grid}.toolbar{grid-template-columns:260px 1fr;margin:12px 0 14px}.toolbar.single{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}input,select,textarea,button{border:1px solid var(--line);font:inherit;color:var(--text);background:var(--surface);border-radius:10px;padding:10px}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4b637d33}button{cursor:pointer;color:var(--surface);background:var(--primary);border:0;font-weight:700}button.selected{background:var(--accent);color:var(--text)}button:disabled{opacity:.6;cursor:not-allowed}.hint{background:var(--bg);border:1px solid var(--line);color:var(--muted);border-radius:12px;margin-top:12px;padding:12px}.details-list{gap:12px;margin-top:12px;display:grid}.detail-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:180px 1fr;gap:12px;padding:12px;display:grid}.detail-card img{object-fit:cover;border-radius:10px;width:100%;height:125px}.detail-card h3{color:var(--text);margin:0}.detail-card small{color:var(--muted)}.detail-card textarea,.general-notes{resize:vertical;width:100%;min-height:94px;margin-top:8px}.general-notes{margin-top:12px}.properties-panel{margin-top:16px}.properties-panel textarea{resize:vertical;width:100%;min-height:90px}.field{gap:6px;display:grid}.field span{color:var(--text);font-size:.88rem;font-weight:700}.quote-final{grid-template-columns:1fr 290px;align-items:center;gap:10px;margin-top:8px;display:grid}.actions{justify-content:space-between;gap:10px;margin-top:14px;display:flex}.actions .secondary{background:var(--bg);color:var(--text)}.properties-actions{align-items:center;gap:10px;margin-top:14px;margin-bottom:6px;display:flex}.back-to-products-btn{background:var(--primary);color:var(--surface);border:1px solid var(--primary);box-shadow:0 10px 16px #4b637d33}.back-to-products-btn:hover{filter:brightness(.96)}.error{color:var(--text);background:#d2d8da8c;border:1px solid #d2d8da;border-radius:10px;margin-top:12px;padding:10px}.workspace-side .summary-box{padding:0;animation:.42s both fadeUp;position:sticky;top:16px}.summary-box h4{letter-spacing:.16em;color:var(--primary);margin:0;padding:16px 16px 0;font-size:.9rem}.summary-box>p{color:var(--muted);border-bottom:1px solid var(--line);margin:4px 0 0;padding:0 16px 14px}.summary-image{border:1px solid var(--line);border-radius:12px;margin:14px 16px;overflow:hidden}.summary-image img{object-fit:cover;width:100%;height:138px}.summary-box dl{margin:0;padding:4px 16px 16px}.summary-box dl div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:10px;padding:6px 0;display:flex}.summary-box dt{color:var(--muted)}.summary-box dd{text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:160px;margin:0;font-weight:700;overflow:hidden}.summary-breadcrumb{border-bottom:1px solid var(--line);gap:4px;padding:0 16px 12px;display:grid}.summary-breadcrumb strong{color:var(--muted);font-size:.82rem}.summary-breadcrumb span{font-size:.9rem;font-weight:700}.summary-item-detail{border-bottom:1px solid var(--line);gap:8px;padding:12px 16px;display:grid}.summary-item-detail h5{letter-spacing:.1em;color:var(--primary);margin:0;font-size:.84rem}.summary-item-detail-title{margin:0;font-weight:700}.summary-item-detail-empty{color:var(--muted);margin:0;font-size:.9rem}.summary-item-detail small{color:var(--muted)}.summary-item-detail textarea{resize:vertical;width:100%;min-height:82px}.summary-products{gap:10px;padding:12px 16px 16px;display:grid}.summary-item{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:6px;padding:10px;display:grid}.summary-item.focused{border-color:var(--primary);box-shadow:0 0 0 2px #4b637d26}.summary-item button{border:1px solid var(--line);background:var(--bg);width:fit-content;color:var(--text);padding:6px 10px;font-size:.85rem;font-weight:700}.summary-item button.remove{color:var(--muted);background:0 0;border-color:#31465d4d}.summary-item small{color:var(--muted)}.summary-total{border-top:1px solid var(--line);padding:12px 16px 16px}.summary-total textarea{resize:vertical;width:100%;min-height:96px}.submit-quote-btn{width:100%;margin-top:10px}.send-feedback{margin:8px 0 0;font-size:.86rem}.send-feedback.success{color:#0d6b42}.send-feedback.error{color:#9d2f36}.loading{color:var(--muted)}.empty-state{border:1px dashed var(--line);color:var(--muted);border-radius:12px;margin-top:10px;padding:12px}.stage-panel{animation:.32s cubic-bezier(.21,.61,.35,1) both stageIn}.material-grid>*,.product-grid>*{animation:.36s both fadeUp}.material-grid>:first-child,.product-grid>:first-child{animation-delay:30ms}.material-grid>:nth-child(2),.product-grid>:nth-child(2){animation-delay:70ms}.material-grid>:nth-child(3),.product-grid>:nth-child(3){animation-delay:.11s}.material-grid>:nth-child(4),.product-grid>:nth-child(4){animation-delay:.15s}@keyframes stageIn{0%{opacity:0;transform:translateY(8px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseOutline{0%{box-shadow:0 0 #4b637d59}to{box-shadow:0 0 0 3px #4b637d33}}@keyframes drift{0%,to{transform:translate(0,0)}50%{transform:translate(-12px,10px)}}@keyframes scanShift{0%{transform:translate(-1.5%)rotate(.001deg)}50%{transform:translate(1.5%)rotate(.001deg)}to{transform:translate(-1.5%)rotate(.001deg)}}@media (width<=1120px){.workspace.with-summary{grid-template-columns:1fr}.workspace-side{order:-1}.workspace-side .summary-box{position:static}}@media (width<=900px){.stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-card{grid-template-columns:1fr}.step-material-preview{display:none}}@media (width<=720px){.toolbar,.form-grid,.quote-final{grid-template-columns:1fr}.intro h1{font-size:1.8rem}}@media (width<=520px){.stepper{grid-template-columns:1fr}.properties-actions{flex-direction:column;align-items:stretch}.properties-actions button{width:100%}.actions{flex-direction:column}.actions button{width:100%}}
