:root{--border:#eee;--pad:16px;--gap:8px;--sidebar-w:420px;--sidebar-w-min:300px;--sidebar-w-max:600px;--sidebar-collapsed-w:60px;--btn-bg:#111;--btn-fg:#fff}html,body,#__next{height:100%;margin:0}.responsive-sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w-min);max-width:var(--sidebar-w-max);background:var(--panel);height:100%;box-shadow:var(--shadow);border-right:1px solid var(--border);z-index:10;transition:width .3s,transform .3s;position:relative;overflow:hidden}.responsive-sidebar.collapsed{width:var(--sidebar-collapsed-w);min-width:var(--sidebar-collapsed-w);z-index:1000;position:fixed;top:0;left:0}.responsive-sidebar.hovering{grid-column:unset;pointer-events:auto;box-shadow:0 0 20px rgba(0,0,0,.3)}.sidebar-resize-handle{cursor:col-resize;z-index:15;background:#888;border-left:1px solid #444;justify-content:center;align-items:center;width:6px;height:100%;transition:background-color .2s;display:flex;position:absolute;top:0;right:-3px}.sidebar-resize-handle:before{content:"";background:#000;width:1px;height:20px}.sidebar-resize-handle:hover{background:#999}.sidebar-resize-handle:active{background:#aaa}.sidebar-header{border-bottom:1px solid var(--border);background:#f8f9fa;flex-shrink:0;justify-content:space-between;align-items:center;min-height:48px;padding:12px 16px;display:flex}.sidebar-back-btn{color:#666;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:6px;padding:6px 12px;font-size:12px;transition:all .15s}.sidebar-back-btn:hover{color:#333;background:#f0f0f0;border-color:#ccc}.sidebar-brand{color:#333;text-align:center;flex:1;font-size:14px;font-weight:600}.sidebar-collapse-btn{color:#666;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:6px;justify-content:center;align-items:center;min-width:32px;padding:6px 10px;font-family:monospace;font-size:16px;transition:all .15s;display:flex}.sidebar-collapse-btn:hover{color:#333;background:#f0f0f0;border-color:#ccc}.sidebar-collapsed-header{border-bottom:1px solid var(--border);background:#f8f9fa;flex-shrink:0;justify-content:center;align-items:center;min-height:32px;padding:8px;display:flex}.sidebar-expand-btn{color:#666;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:6px;justify-content:center;align-items:center;min-width:28px;padding:6px 8px;font-size:14px;transition:all .15s;display:flex}.sidebar-expand-btn:hover{color:#333;background:#f0f0f0;border-color:#ccc}.sidebar-content-container{height:100%;transition:transform .3s;overflow:hidden}.sidebar-content{height:calc(100% - 48px);padding:var(--pad);overflow-x:hidden;overflow-y:auto}.sidebar-content .label{flex-direction:column;gap:4px;margin-bottom:8px;font-size:12px;display:flex}.sidebar-content input[type=text],.sidebar-content input[type=number],.sidebar-content select,.sidebar-content textarea{box-sizing:border-box;background:#fff;border:1px solid #dcdcdc;border-radius:8px;outline:none;width:100%;padding:8px 10px;transition:box-shadow .15s,border-color .15s}.sidebar-content input:focus,.sidebar-content select:focus,.sidebar-content textarea:focus{border-color:var(--accent);box-shadow:var(--ring)}.sidebar-content .control-grid{gap:var(--gap);margin-top:var(--gap);grid-template-columns:1fr 1fr;display:grid}.sidebar-content .row{gap:var(--gap);margin-top:12px;display:flex}.responsive-sidebar.collapsed .sidebar-content{opacity:0;pointer-events:none}.responsive-sidebar.hovering .sidebar-content{opacity:1;pointer-events:auto}.sidebar-overlay{z-index:999;pointer-events:none;background:rgba(0,0,0,.1);width:100%;height:100%;position:fixed;top:0;left:0}.app{grid-template-columns:var(--sidebar-w)1fr;height:100vh;min-height:400px;transition:grid-template-columns .3s;display:grid}.app.sidebar-collapsed{grid-template-columns:1fr}@media (max-width:768px){.responsive-sidebar{z-index:1000;transition:transform .3s;position:fixed;top:0;left:0;transform:translate(-100%)}.responsive-sidebar:not(.collapsed){transform:translate(0)}.responsive-sidebar.collapsed{transform:translateX(calc(-100% + var(--sidebar-collapsed-width)))}.app{grid-template-columns:1fr}}.canvasWrap{box-sizing:border-box;width:100%;max-width:100%;height:100%;min-height:400px;position:relative;overflow:hidden}.sidebar{padding:var(--pad);border-right:1px solid var(--border);overflow:auto}.h3{margin:0 0 8px;font:600 16px/1.2 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial}.control-grid{gap:var(--gap);margin-top:var(--gap);grid-template-columns:1fr 1fr;display:grid}.label{flex-direction:column;gap:4px;font-size:12px;display:flex}.hr{border:none;border-top:1px solid var(--border);margin:12px 0}.row{gap:var(--gap);margin-top:12px;display:flex}.btn{background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;border:0;border-radius:6px;padding:8px 12px}.holes-list{margin:6px 0 0;padding-left:0;list-style:none}.holes-list li{font-size:12px}.holes-list button{margin-left:6px}:root{--bg:#fafafa;--panel:#fff;--ink:#171717;--muted:#6b7280;--ring:0 0 0 3px rgba(59,130,246,.35);--radius:10px;--shadow:0 10px 25px rgba(0,0,0,.06),0 2px 8px rgba(0,0,0,.06);--accent:#2563eb;--accent-ink:#fff}html,body{background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial}.app{background:linear-gradient(rgba(0,0,0,.02),transparent)}.sidebar{background:var(--panel);box-shadow:var(--shadow);z-index:10;position:relative}.brand{letter-spacing:.3px;font-size:18px;font-weight:800}.topbar{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.topbar__row{gap:8px}.namebar{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.sidebar input[type=text],.sidebar input[type=number],.sidebar select,.sidebar textarea{background:#fff;border:1px solid #dcdcdc;border-radius:8px;outline:none;width:100%;padding:8px 10px;transition:box-shadow .15s,border-color .15s}.sidebar input:focus,.sidebar select:focus,.sidebar textarea:focus{border-color:var(--accent);box-shadow:var(--ring)}.sidebar input[type=text].field-error,.sidebar input[type=number].field-error,.sidebar select.field-error,.sidebar textarea.field-error{background-color:#fef2f2;border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.1)}.sidebar input[type=text].field-error:focus,.sidebar input[type=number].field-error:focus,.sidebar select.field-error:focus,.sidebar textarea.field-error:focus{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.2)}input[type=text].field-error,input[type=number].field-error,select.field-error,textarea.field-error{background-color:#fef2f2!important;border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.1)!important}input[type=text].field-error:focus,input[type=number].field-error:focus,select.field-error:focus,textarea.field-error:focus{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.2)!important}.form input[type=text],.form input[type=email],.form input[type=password],.form input[type=tel],.form input[type=number],.form select,.form textarea{background:#fff;border:1px solid #dcdcdc;border-radius:8px;outline:none;max-width:100%;padding:8px 10px;transition:box-shadow .15s,border-color .15s}.form .row input[type=text],.form .row input[type=email],.form .row input[type=password],.form .row input[type=tel],.form .row input[type=number],.form .row select,.form .row textarea{flex:1;width:auto;min-width:0}.form .row .btn{flex:none}.form .label{min-width:0}.form .row{flex-wrap:wrap}.form .row>*{min-width:0}.form .control-grid{width:100%}@media (max-width:700px){.form .control-grid{grid-template-columns:1fr!important}}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--accent);box-shadow:var(--ring)}.sidebar input[type=range]{accent-color:var(--accent)}.controls-overhaul{flex-direction:column;gap:20px;display:flex}.control-section{border-radius:var(--radius);background:#f8f9fa;border:1px solid #e9ecef;padding:16px}.section-title{color:var(--ink);text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px;font-size:14px;font-weight:600}.dimensions-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.dimension-input{flex-direction:column;gap:6px;display:flex}.dimension-input label{color:var(--muted);font-size:12px;font-weight:500}.config-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.config-input{flex-direction:column;gap:6px;display:flex}.config-input label{color:var(--muted);font-size:12px;font-weight:500}.input-hint{color:var(--muted);opacity:.8;margin-top:2px;font-size:11px}.lid-config{flex-direction:column;gap:16px;display:flex}.lid-input{flex-direction:column;gap:6px;display:flex}.lid-input label{color:var(--muted);font-size:12px;font-weight:500}.material-config{flex-direction:column;gap:16px;display:flex}.material-input{flex-direction:column;gap:6px;display:flex}.material-input label{color:var(--muted);font-size:12px;font-weight:500}.material-input-row{align-items:center;gap:8px;display:flex}.material-option{align-items:center;gap:8px;margin-top:8px;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:8px;margin-bottom:0;display:flex}.checkbox-text{color:var(--ink);font-size:13px;font-weight:500}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.panel-content{flex-direction:column;gap:16px;display:flex}.panel-input-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.panel-input-grid-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.panel-input-group{flex-direction:column;gap:6px;display:flex}.panel-input-group label{color:var(--muted);font-size:12px;font-weight:500}.panel-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.panel-options{align-items:center;gap:12px;margin-top:8px;display:flex}.panel-checkbox{cursor:pointer;align-items:center;gap:6px;display:flex}.panel-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.panel-checkbox-label{color:var(--ink);font-size:13px;font-weight:500}.file-upload-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-upload-label{cursor:pointer;display:inline-flex}@media (max-width:600px){.dimensions-grid,.config-grid,.panel-input-grid,.panel-input-grid-3{grid-template-columns:1fr;gap:12px}}.pcb-modal{z-index:1000;background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.pcb-modal-content{background-color:#fff;border-radius:12px;flex-direction:column;width:90vw;max-width:1400px;height:90vh;max-height:900px;display:flex;box-shadow:0 20px 40px rgba(0,0,0,.3)}.pcb-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.pcb-modal-title{margin:0;font-size:20px;font-weight:600}.pcb-modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;padding:4px;font-size:24px}.pcb-modal-close:hover{color:#374151;background-color:#f3f4f6}.pcb-modal-body{flex:1;display:flex;overflow:hidden}.pcb-modal-preview{background-color:#f8f9fa;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.pcb-modal-controls{background-color:#fff;border-left:1px solid #e5e7eb;width:400px;padding:24px;overflow-y:auto}.pcb-modal-section{margin-bottom:32px}.pcb-modal-section-title{color:#111827;margin:0 0 16px;font-size:16px;font-weight:600}.pcb-modal-input-group{flex-direction:column;gap:12px;display:flex}.pcb-modal-input{flex-direction:column;gap:4px;display:flex}.pcb-modal-label{color:#374151;font-size:14px;font-weight:500}.pcb-modal-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pcb-modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}.sidebar input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(90deg,var(--accent)0,var(--accent)0)no-repeat,#e5e7eb;cursor:pointer;pointer-events:auto;touch-action:manipulation;z-index:2;background-size:0% 100%;border-radius:4px;width:100%;height:6px;position:relative}.sidebar input[type=range]::-webkit-slider-runnable-track{background:#e5e7eb;border-radius:4px;height:6px}.sidebar input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--accent);border:2px solid #fff;border-radius:50%;width:16px;height:16px;margin-top:-5px;box-shadow:0 1px 3px rgba(0,0,0,.2)}.sidebar input[type=range]::-moz-range-track{background:#e5e7eb;border-radius:4px;height:6px}.sidebar input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px rgba(0,0,0,.2)}.sidebar input[type=range]::-ms-track{color:transparent;background:0 0;border-color:transparent;border-radius:4px;height:6px}.sidebar input[type=range]::-ms-fill-lower{background:#e5e7eb;border-radius:4px}.sidebar input[type=range]::-ms-fill-upper{background:#e5e7eb;border-radius:4px}.sidebar input[type=range]::-ms-thumb{background:var(--accent);border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px rgba(0,0,0,.2)}.btn{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:10px 14px;font-weight:600;text-decoration:none;transition:transform 40ms,box-shadow .15s;display:inline-flex;box-shadow:0 1px rgba(0,0,0,.04)}.btn:hover{box-shadow:0 6px 14px rgba(37,99,235,.25)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.secondary{color:var(--accent);border:1px solid var(--accent);box-shadow:none;background:0 0}.btn.secondary:hover{background:rgba(37,99,235,.05);box-shadow:0 4px 10px rgba(37,99,235,.15)}.btn.tertiary{color:var(--accent);box-shadow:none;background:0 0;border:none;padding:8px 10px;text-decoration:none}.btn.tertiary:hover{background:rgba(37,99,235,.05);text-decoration:none}.modal-backdrop{z-index:2147483600;background:rgba(0,0,0,.28);position:fixed;top:0;bottom:0;left:0;right:0}.modal-panel{z-index:2147483601;background:#fff;border:1px solid #ddd;border-radius:12px;width:min(640px,92vw);max-height:86vh;padding:14px;position:fixed;top:8%;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 12px 28px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.08)}.modal-title{justify-content:space-between;align-items:center;margin:2px 0 10px;font-size:16px;font-weight:800;display:flex}.modal-close{color:#444;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:6px;padding:6px 8px}.modal-close:hover{background:#f8fafc}.modal-actions{justify-content:flex-end;gap:8px;margin-top:10px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px}.projects-wrap{max-width:1000px;margin:0 auto;padding:24px 20px}.projects-topbar{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.projects-title{letter-spacing:.2px;font-size:20px;font-weight:800}.beta-badge{color:#2563eb;text-transform:uppercase;letter-spacing:.4px;background:#e8f0ff;border:1px solid #c3d4ff;border-radius:999px;align-items:center;gap:6px;margin-left:8px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.pill{color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;display:inline-flex}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.features-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.feature-item{flex-direction:column;gap:6px;display:flex}.hero-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:14px;display:grid}@media (max-width:820px){.hero-grid{grid-template-columns:1fr}}.hero-media{height:280px;box-shadow:var(--shadow);background:radial-gradient(1200px 400px at -20% -10%,rgba(59,130,246,.15),transparent 60%),linear-gradient(135deg,#f8fafc,#eef2ff);border:1px solid #e5e7eb;border-radius:12px}.img-placeholder{background:#eef0f3;border:1px solid #e5e7eb;border-radius:10px;box-shadow:inset 0 1px rgba(255,255,255,.6)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:0;list-style:none;display:grid}.project-card{flex-direction:column;gap:10px;display:flex}.project-meta{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.project-actions{gap:8px;display:flex}.projects-empty{text-align:center;color:var(--muted);padding:24px}.project-card--new{background:#f8fafc;border:2px dashed #d1d5db;justify-content:center;align-items:center;transition:border-color .2s,background .2s,transform .15s}.project-card--new:hover{border-color:var(--accent);background:#eef2ff;transform:translateY(-1px)}.project-card__link{color:inherit;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-weight:700;text-decoration:none;display:flex}.project-card__plus{color:var(--accent);font-size:28px}.skeleton{background:#eef0f3;border-radius:8px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:1.2s infinite sh;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-100%)}@keyframes sh{to{transform:translate(100%)}}.btn:active{transform:translateY(1px)}.section{border-radius:var(--radius);background:#fff;border:1px solid #eaeaea}.section+.section{margin-top:10px}.section__header{cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:10px 12px;font-weight:700;display:flex;position:relative}.section__header:hover{background:#fafafa}.section__title{width:max-content;position:absolute;left:50%;transform:translate(-50%)}.section__badge,.section__status{order:10;margin-left:auto}.section__badge{color:rgba(37,99,235,.9);background:rgba(191,219,254,.6);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.section__body{padding:8px 12px 12px}.chev{transition:transform .15s;display:inline-block}.section__header[data-open=true] .chev{transform:rotate(90deg)}.section__status{color:#16a34a;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:900;display:inline-flex;box-shadow:inset 0 1px rgba(255,255,255,.8)}#notes .title{color:#111;font-weight:700}#notes ul{margin:6px 0 0 16px}.save-area{border-radius:var(--radius);background:#f8f9fa;border:1px solid #e9ecef;margin-bottom:12px;padding:16px}.save-status{color:var(--muted);align-items:center;gap:4px;margin-bottom:12px;font-size:12px;display:flex}.unsaved-indicator{color:#dc2626;font-weight:500}.save-form{grid-template-columns:1fr auto;align-items:start;gap:12px;display:grid}@media (max-width:768px){.save-form{grid-template-columns:1fr;gap:8px}}.project-name-group{flex-direction:column;display:flex}.project-name-input{box-sizing:border-box;background:#fff;border:1px solid #dcdcdc;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;font-weight:500}.project-name-input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.save-button-group{flex-direction:column;align-items:stretch;min-width:120px;display:flex}@media (max-width:768px){.save-button-group{width:100%;min-width:auto}}.canvasWrap{z-index:0;background:radial-gradient(1200px 600px at 60% -100px,#eaeef7 0%,transparent 60%);position:relative}.quoteHud{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;z-index:20;background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.14);border-radius:12px;flex-direction:column;gap:10px;min-width:280px;padding:12px 14px;transition:left .3s;display:flex;position:absolute;bottom:20px;left:20px;box-shadow:0 12px 32px rgba(15,23,42,.15)}.sidebar-collapsed .quoteHud{left:calc(var(--sidebar-collapsed-w) + 20px)}.quoteHud__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.quoteHud__row .label{margin:0}.quoteHud__price{flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.quoteHud__priceLabel{color:var(--muted);font-weight:500}.quoteHud__priceValue{font-variant-numeric:tabular-nums;font-size:16px}.quoteHud__priceEach{color:var(--muted);font-weight:500}.quoteHud__loading{color:var(--muted);font-size:13px}.quoteHud__actions{gap:8px;display:flex}.hud input[type=text],.hud input[type=number],.hud select,.hud textarea,.quoteHud input[type=text],.quoteHud input[type=number],.quoteHud select,.quoteHud textarea{box-sizing:border-box;background:#fff;border:1px solid #dcdcdc;border-radius:6px;width:auto;padding:6px 8px;font-size:12px;font-weight:500}.hud input[type=text]:focus,.hud input[type=number]:focus,.hud select:focus,.hud textarea:focus,.quoteHud input[type=text]:focus,.quoteHud input[type=number]:focus,.quoteHud select:focus,.quoteHud textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px rgba(37,99,235,.2)}.hud .label,.quoteHud .label{flex-direction:row;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:500;display:flex}.hud input[type=checkbox],.quoteHud input[type=checkbox]{accent-color:var(--accent);margin:0}.quoteHud__meta{color:var(--muted);align-items:baseline;gap:6px;min-height:18px;font-size:13px;display:flex}.quoteHud__shipLabel{text-transform:uppercase;letter-spacing:.05em;color:rgba(15,23,42,.6);font-size:11px;font-weight:600}.quoteHud__shipDate{color:rgba(15,23,42,.95);font-size:14px;font-weight:600}@media (max-width:840px){.quoteHud{min-width:0;bottom:16px;left:16px;right:16px}.quoteHud__actions{flex-direction:column}}@media (max-height:600px){.quoteHud{padding:8px 10px;bottom:8px}.canvasWrap{min-height:300px}}.cartWidget{z-index:60;position:fixed;top:16px;right:16px}.cartWidget__button{color:rgba(15,23,42,.75);cursor:pointer;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;transition:box-shadow .15s,transform .1s;display:inline-flex;position:relative}.cartWidget__button:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,23,42,.18)}.cartWidget__badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;display:inline-flex;position:absolute;top:-6px;right:-6px}.cartWidget__popover{background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:12px;gap:12px;width:280px;padding:12px;display:grid;position:absolute;top:44px;right:0;box-shadow:0 18px 32px rgba(15,23,42,.18)}.cartWidget__header{justify-content:space-between;font-weight:600;display:flex}.cartWidget__body{max-height:240px;overflow-y:auto}.cartWidget__empty{color:var(--muted);font-size:12px}.cartWidget__list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.cartWidget__list li{font-size:12px}.cartWidget__line{color:rgba(15,23,42,.9);justify-content:space-between;font-weight:600;display:flex}.cartWidget__meta{color:var(--muted);margin-top:2px;font-size:11px}.cartWidget__actions{gap:8px;display:flex}@media (max-width:600px){.cartWidget{top:12px;right:12px}.cartWidget__popover{width:min(280px,100vw - 24px)}}.cartPage{gap:16px;max-width:1040px;margin:0 auto;padding:24px 20px;display:grid}.cartPage__topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.cartPage__actions{align-items:center;gap:8px;display:flex}.cartPage__empty{text-align:center;gap:12px;padding:32px;display:grid}.cartPage__layout{grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr);gap:16px;display:grid}.cartPage__list ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.cartPage__item{border-bottom:1px solid rgba(15,23,42,.08);padding-bottom:12px}.cartPage__item:last-child{border-bottom:0;padding-bottom:0}.cartPage__itemHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cartPage__itemTitle{font-size:16px;font-weight:700}.cartPage__itemLink{color:inherit;text-decoration:none}.cartPage__itemLink:hover{text-decoration:underline}.cartPage__itemVersion{color:var(--muted);margin-left:6px;font-size:14px;font-weight:500}.cartPage__itemSummary{color:rgba(55,65,81,.9);margin-top:2px;font-size:13px}.cartPage__itemMeta{color:var(--muted);flex-wrap:wrap;gap:8px;margin-top:6px;font-size:12px;display:flex}.cartPage__itemMeta label{align-items:center;gap:4px;display:inline-flex}.cartPage__itemMeta input[type=number]{border:1px solid rgba(148,163,184,.6);border-radius:6px;width:64px;padding:4px 6px;font-size:12px}.cartPage__itemPrice{font-size:16px;font-weight:700}.cartPage__itemFooter{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.cartPage__itemFooterActions{align-items:center;gap:8px;display:flex}.cartPage__summary{align-self:start;gap:12px;display:grid}.cartPage__summaryTitle{font-size:16px;font-weight:700}.cartPage__summaryRow{justify-content:space-between;align-items:center;font-size:14px;display:flex}.cartPage__summaryRow--muted{color:var(--muted)}.cartPage__disclaimer{color:var(--muted);text-align:right;font-size:12px}@media (max-width:860px){.cartPage__layout{grid-template-columns:1fr}.cartPage__summary{position:-webkit-sticky;position:sticky;top:80px}}.checkoutPage{gap:16px;max-width:1040px;margin:0 auto;padding:24px 20px;display:grid}.checkoutPage__topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.checkoutPage__actions{align-items:center;gap:8px;display:flex}.checkoutPage__progress{border-bottom:1px solid rgba(15,23,42,.08);align-items:center;gap:24px;margin-bottom:16px;padding:16px 0;display:flex}.checkoutPage__progressStep{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.checkoutPage__progressStep.active{color:var(--accent);font-weight:600}.checkoutPage__progressStep.completed{color:#10b981;font-weight:600}.checkoutPage__progressNumber{color:#6b7280;background:#e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:flex}.checkoutPage__progressStep.active .checkoutPage__progressNumber{background:var(--accent);color:#fff}.checkoutPage__progressStep.completed .checkoutPage__progressNumber{color:#fff;background:#10b981}.checkoutPage__error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.checkoutPage__layout{grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr);gap:16px;display:grid}.checkoutPage__main{gap:16px;display:grid}.checkoutPage__stepTitle{margin-bottom:16px;font-size:18px;font-weight:700}.checkoutPage__sectionTitle{color:rgba(15,23,42,.9);margin-bottom:12px;font-size:16px;font-weight:600}.checkoutPage__summary{align-self:start;gap:12px;display:grid;position:-webkit-sticky;position:sticky;top:80px}.checkoutPage__summaryTitle{font-size:16px;font-weight:700}.checkoutPage__cartItems{gap:8px;margin-bottom:12px;display:grid}.checkoutPage__cartItem{border-bottom:1px solid rgba(15,23,42,.08);gap:4px;padding:8px 0;display:grid}.checkoutPage__cartItem:last-child{border-bottom:none}.checkoutPage__cartItemName{color:rgba(15,23,42,.9);font-size:14px;font-weight:600}.checkoutPage__cartItemDetails{color:var(--muted);font-size:12px}.checkoutPage__cartItemTotal{text-align:right;font-size:14px;font-weight:600}.checkoutPage__summaryDivider{background:rgba(15,23,42,.08);height:1px;margin:8px 0}.checkoutPage__summaryRow{justify-content:space-between;align-items:center;font-size:14px;display:flex}.checkoutPage__summaryTotal{border-top:1px solid rgba(15,23,42,.08);justify-content:space-between;align-items:center;padding-top:8px;font-size:16px;font-weight:700;display:flex}.checkoutPage__loading{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.checkoutPage__spinner{border:2px solid #e5e7eb;border-top:2px solid var(--accent);border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin}.checkoutPage__placeholder{color:var(--muted);font-style:italic}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.checkoutPage__calculationStatus{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:16px;padding:12px}.address-list{gap:12px;display:grid}.address-card{border:1px solid rgba(15,23,42,.08);border-radius:8px;padding:16px;transition:all .15s}.address-card:hover{border-color:var(--accent);background:#f8fafc}.address-card.selected{border-color:var(--accent);background:#f0f9ff}.address-card .address-name{margin-bottom:4px;font-weight:600}.address-card .address-details{color:var(--muted);font-size:13px;line-height:1.4}.address-card .address-default{color:#10b981;margin-left:8px;font-size:12px}.form-grid.three-columns{grid-template-columns:1fr 1fr 1fr}.checkoutPage__section label{color:rgba(15,23,42,.9);margin-bottom:4px;font-size:14px;font-weight:500;display:block}.checkoutPage__section input,.checkoutPage__section select{box-sizing:border-box;border:1px solid rgba(15,23,42,.12);border-radius:6px;width:100%;padding:8px 12px;font-size:14px;transition:border-color .15s}.checkoutPage__section input:focus,.checkoutPage__section select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.checkoutPage__section .form-actions{gap:12px;margin-top:16px;display:flex}.payment-method-options{gap:16px;margin-bottom:16px;display:flex}.payment-method-option{cursor:pointer;border:1px solid rgba(15,23,42,.12);border-radius:8px;align-items:center;gap:8px;padding:12px;transition:all .15s;display:flex}.payment-method-option:hover{border-color:var(--accent);background:#f8fafc}.payment-method-option.selected{border-color:var(--accent);background:#f0f9ff}.payment-method-option input[type=radio]{width:auto;margin:0}.field-error-message{color:#dc2626;margin-top:4px;font-size:12px;font-weight:500}.checkoutPage__section{margin-bottom:24px}.checkoutPage__sectionTitle{color:#374151;border-bottom:1px solid #e5e7eb;margin-bottom:16px;padding-bottom:8px;font-size:16px;font-weight:600}input[type=text]:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.payment-security{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;margin:16px 0;padding:16px;display:flex}.payment-security-icon{color:#10b981;font-size:20px}.payment-security-text{color:#6b7280;font-size:14px}.payment-security-text strong{color:#374151;font-weight:600}@media (max-width:860px){.checkoutPage__layout{grid-template-columns:1fr}.checkoutPage__summary{position:static}.checkoutPage__progress{flex-wrap:wrap;gap:16px}.form-grid.two-columns,.form-grid.three-columns{grid-template-columns:1fr}}.slider-field{gap:6px}.slider-row{justify-content:space-between;align-items:center;font-size:12px;display:flex}.slider-label{color:var(--ink);opacity:.9}.slider-value{font-variant-numeric:tabular-nums;color:#111}.SliderRoot{-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;align-items:center;width:100%;height:24px;display:flex;position:relative}.SliderTrack{pointer-events:auto;cursor:pointer;background:#e5e7eb;border-radius:9999px;flex-grow:1;height:6px;position:relative}.SliderRange{background:var(--accent);border-radius:9999px;height:100%;position:absolute}.SliderThumb{background-color:var(--accent);pointer-events:auto;cursor:grab;border:2px solid #fff;border-radius:9999px;width:16px;height:16px;display:block;box-shadow:0 1px 3px rgba(0,0,0,.2)}.SliderThumb:hover{box-shadow:0 6px 14px rgba(37,99,235,.25)}.SliderThumb:focus{box-shadow:var(--ring);outline:none}.SliderThumb:active{cursor:grabbing}.section,.section__body{position:relative}.slider-field{z-index:2;position:relative}.SliderRoot{z-index:3;position:relative}.SliderTrack,.SliderThumb{z-index:4;pointer-events:auto;position:relative}.admin-user-row:hover{background:rgba(59,130,246,.08)}.admin-user-row:hover span:last-child{color:#2563eb}.checkoutPage__addressSelect{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;margin-bottom:16px;padding:12px 16px;font-size:16px}.checkoutPage__addressSelect:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.checkoutPage__addressActions{gap:12px;margin-top:16px;display:flex}.checkoutPage__editBtn,.checkoutPage__newBtn{cursor:pointer;border:1px solid;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.checkoutPage__editBtn{color:#374151;background:#f3f4f6;border-color:#d1d5db}.checkoutPage__editBtn:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.checkoutPage__editBtn:disabled{opacity:.5;cursor:not-allowed}.checkoutPage__newBtn{background:var(--accent);border-color:var(--accent);color:#fff}.checkoutPage__newBtn:hover{background:#1d4ed8;border-color:#1d4ed8}.form-grid{gap:16px;display:grid}.form-grid.two-columns{grid-template-columns:1fr 1fr}.form-grid.two-columns>div{flex-direction:column;display:flex}.form-grid label{color:#374151;margin-bottom:6px;font-size:14px;font-weight:500}.form-grid input,.form-grid select{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:12px 16px;font-size:16px;transition:all .2s}.form-grid input:focus,.form-grid select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-grid input::placeholder{color:#9ca3af}.form-actions{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:20px}.form-actions .btn{border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 24px;font-size:16px;font-weight:600;transition:all .2s;display:flex}.checkoutPage__checkbox{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;margin:16px 0;padding:16px;transition:all .2s;display:flex}.checkoutPage__checkbox:hover{background:#f1f5f9;border-color:#cbd5e1}.checkoutPage__checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);margin:0}.checkoutPage__checkbox span{color:#374151;font-size:14px;font-weight:500}
