:root{--background:#f4efe4;--surface:#fffdf8;--surface-strong:#f9f3e6;--border:#d9cfbe;--foreground:#1d1a16;--muted:#6d665d;--accent:#20506f;--accent-strong:#16384d;--ok:#1f6a45;--warn:#915f00;--error:#8b2e2e}html{height:100%}html,body{min-height:100%}body{color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:anywhere;font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box;margin:0;padding:0}a{color:var(--accent);text-decoration:none}main.page{width:min(1240px,100% - 2rem);margin:0 auto;padding:1.25rem 0 4rem}.gate-shell{place-items:center;min-height:100vh;padding:1rem;display:grid}.gate-card{border:1px solid var(--border);background:var(--surface);border-radius:1rem;gap:1rem;width:min(100%,28rem);padding:1.25rem;display:grid}.gate-head{grid-template-columns:1fr}.gate-form{gap:.9rem;display:grid}h1,h2{line-height:1.1}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:1.15rem}p,li,td,th{line-height:1.5}code{background:#f0e7d8;border-radius:.4rem;padding:.1rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.builder-shell,.page-header,.card-row,.grid,.stack,.simple-list,.section-head,.field-grid,.quote-lines{gap:1rem;display:grid}.builder-shell{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.25rem}.page-header{margin-bottom:1rem}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:1rem}.card{border:1px solid var(--border);background:var(--surface);border-radius:1rem;padding:1rem}.quote-panel{border:1px solid var(--border);background:var(--surface);border-radius:1rem;padding:1.1rem;position:static;top:auto}.card-label,.eyebrow,th,.muted{color:var(--muted)}.card-label,.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}.stat{margin-top:.5rem;font-size:2rem;font-weight:700}.small-stat{font-size:1.25rem}.section-head{grid-template-columns:repeat(2,minmax(0,auto));justify-content:space-between;align-items:center}.tight{gap:.35rem}.custom-row{grid-template-columns:minmax(0,1fr) auto;gap:.75rem;display:grid}.text-input,.primary-button,.mini-button{border:1px solid var(--border);font:inherit;border-radius:.9rem}.text-input{width:100%;min-height:2.9rem;color:var(--foreground);background:var(--surface);padding:.75rem .9rem;font-size:1rem}.text-input::placeholder{color:#8a837a}.primary-button,.mini-button{background:var(--surface);color:var(--foreground)}.primary-button{color:#16384d;background:#d9ecfb;min-height:2.9rem;padding:.75rem 1rem;font-size:1rem;font-weight:700}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.product-card{border:1px solid var(--border);background:var(--surface);border-radius:1.1rem;gap:.9rem;min-height:12.4rem;padding:1rem;display:grid}.product-card-top,.quote-line-shell{grid-template-columns:92px minmax(0,1fr);align-items:start;gap:.9rem;display:grid}.product-media,.quote-line-media{border:1px solid var(--border);background-color:var(--surface-strong);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:1rem;width:100%;display:block;overflow:hidden}.product-media{aspect-ratio:1}.quote-line-media{aspect-ratio:1;max-width:82px}.product-card .primary-button{width:100%}.product-name,.quote-line-name{overflow-wrap:normal;word-break:normal;font-size:1.05rem;font-weight:700}.inventory-line-head,.quote-line-head{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.product-model{color:#16384d;overflow-wrap:normal;word-break:normal;font-size:1.2rem;font-weight:600;line-height:1.35}.line-remove-button{border:1px solid var(--border);background:var(--surface);color:var(--error);font:inherit;white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.85rem;line-height:1.2}.inventory-remove-button{border:1px solid var(--border);background:var(--surface);color:var(--error);font:inherit;white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.82rem;line-height:1.2}.missing-price{color:var(--warn);font-weight:600}.price-button{border:1px solid var(--border);background:var(--surface-strong);width:fit-content;min-height:2.5rem;color:var(--accent-strong);font:inherit;border-radius:999px;justify-content:center;align-items:center;padding:.45rem .8rem;font-weight:700;display:inline-flex}.missing-price-button{color:var(--warn)}.price-input{max-width:9rem;min-height:2.5rem}.stock-input{max-width:12rem;min-height:2.5rem}.stock-button{border:1px solid var(--border);background:var(--surface);width:fit-content;min-height:2.2rem;color:var(--muted);font:inherit;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .75rem;font-size:.95rem;font-weight:600;display:inline-flex}.quote-lines{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.quote-line{border:1px solid var(--border);background:var(--surface);border-radius:1rem;gap:.85rem;min-height:100%;padding:.95rem;display:grid}.line-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.mini-button{min-height:2.2rem;padding:.45rem .75rem}.mini-button.danger{color:var(--error)}.qty-pill{background:var(--surface-strong);border-radius:999px;justify-content:center;align-items:center;min-width:2.4rem;min-height:2.2rem;padding:0 .65rem;font-weight:700;display:inline-flex}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.field{gap:.5rem;display:grid}.field span{color:var(--muted);font-size:1.2rem;font-weight:600}.field .text-input{min-height:4.4rem;padding:1rem 1.15rem;font-size:1.7rem}.totals-card{border-top:1px solid var(--border);gap:.9rem;padding-top:1.2rem;display:grid}.totals-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.totals-row span{font-size:1.25rem}.totals-row strong{font-size:1.45rem}.panel-note,.error-text{border-radius:.9rem;padding:.85rem 1rem;font-size:.95rem}.panel-note{color:var(--warn);background:#fff5e3}.success-note{color:var(--ok);background:#ecf6ef}.error-text{color:var(--error);background:#f9ecec}.table-wrap{overflow-x:auto}.text-link{color:var(--accent);font-size:.95rem;font-weight:600}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.8rem .5rem}th{font-size:.85rem;font-weight:600}.simple-list{list-style:none}.simple-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;gap:1rem;padding-bottom:.8rem;display:flex}.empty-state{color:var(--muted)}.table-title{font-weight:700}.table-input{min-height:2.6rem;padding:.55rem .75rem}.inline-edit{grid-template-columns:minmax(0,1fr) auto;gap:.6rem;min-width:14rem;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.primary-button:hover,.mini-button:hover,.line-remove-button:hover,.inventory-remove-button:hover,.stock-button:hover{border-color:#b8ad98}.primary-button:disabled,.mini-button:disabled{color:#998f84;background:#f2ede5}@media (max-width:1040px){.product-grid,.quote-lines{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){main.page{width:min(100% - 1rem,1080px);padding-top:1rem;padding-bottom:2rem}.field-grid,.custom-row,.inline-edit{grid-template-columns:1fr}.section-head{grid-template-columns:1fr;justify-content:start;gap:.5rem}.product-grid,.quote-lines{grid-template-columns:1fr;gap:.75rem}.product-card{gap:.75rem;min-height:auto;padding:.9rem}.product-card-top,.quote-line-shell{grid-template-columns:76px minmax(0,1fr);gap:.75rem}.quote-panel,.card{padding:.9rem}.quote-line{gap:.7rem;padding:.8rem}.line-controls{gap:.45rem}.line-controls .mini-button{flex:4.25rem}.line-controls .mini-button.danger{flex-basis:100%}.qty-pill{min-width:3rem}.totals-row{flex-direction:column;align-items:start;gap:.25rem}.table-wrap{overflow:visible}table,tbody,tr,td{display:block}thead{display:none}table{border-collapse:separate}tr{border-bottom:1px solid var(--border);padding:.9rem 0}tr:first-child{padding-top:0}td{border-bottom:0;grid-template-columns:minmax(5.5rem,6.5rem) minmax(0,1fr);gap:.6rem;padding:.35rem 0;display:grid}td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}td:first-child{padding-top:0}td:last-child{padding-bottom:0}.inline-edit{min-width:0}.inline-edit .mini-button{width:100%}}
