:root{color:#18372b;background:#f5f5ef;min-width:20rem;font-family:system-ui,sans-serif}body{margin:0}body.modal-open{overflow:hidden}main{max-width:48rem;margin:auto;padding:3rem 1.5rem}.brand{letter-spacing:.05em;font-weight:750}h1{font-size:clamp(2rem,6vw,3rem);line-height:1.12}p{line-height:1.6}ul{padding:0;list-style:none}li{background:#fff;border-radius:.6rem;margin-top:.75rem;padding:1rem}small{margin-top:.25rem;display:block}button{color:#fff;font:inherit;cursor:pointer;background:#176b4d;border:0;border-radius:.5rem;padding:.7rem 1rem;font-weight:650}button:disabled{opacity:.6;cursor:wait}button.secondary{color:#18372b;background:#dfe9e3}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #e0a51b}label{gap:.35rem;font-weight:650;display:grid}input,textarea{box-sizing:border-box;width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #a9b8af;border-radius:.4rem;padding:.65rem}textarea{resize:vertical;min-height:5rem}.admin-shell{max-width:64rem}.admin-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-actions{gap:.5rem;display:flex}.admin-heading h1{margin-top:.25rem}.login-card,.product-card{background:#fff;border-radius:.7rem;gap:.8rem;padding:1.25rem;display:grid;box-shadow:0 1px 5px #18372b18}.login-card{max-width:28rem}.create-card{margin-bottom:1rem}.product-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;display:grid}.product-card h2,.product-card h3{margin:0}.check{align-items:center;gap:.6rem;display:flex}.check input{width:auto}.class-checks{border:1px solid #ccd7d2;border-radius:.45rem;flex-wrap:wrap;gap:.6rem 1rem;margin:0;padding:.75rem;display:flex}.class-checks legend{padding:0 .3rem;font-weight:700}.class-checks small{flex-basis:100%}.image-editor{border-top:1px solid #dce4df;gap:.65rem;padding-top:.9rem;display:grid}.image-preview{aspect-ratio:4/3;color:#617168;background:#eef2ef;border-radius:.5rem;place-items:center;display:grid;overflow:hidden}.image-preview img{object-fit:contain;width:100%;height:100%}.image-actions{flex-wrap:wrap;gap:.5rem;display:flex}.quiet{color:#4d6358}.warning{color:#962b1d;font-weight:700}.staff-search{gap:.5rem;margin:1.25rem 0;display:grid}.search-row{grid-template-columns:minmax(9rem,16rem) auto;gap:.75rem;display:grid}.code-input{letter-spacing:.15em;text-align:center;text-transform:uppercase;font-size:clamp(1.5rem,8vw,2.5rem);font-weight:750}.quote-card{background:#fff;border-radius:.7rem;gap:1rem;padding:1.25rem;display:grid;box-shadow:0 1px 5px #18372b18}.quote-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.quote-heading small{margin-top:.3rem;display:block}.quote-code{letter-spacing:.12em;font-size:clamp(1.75rem,9vw,3rem);font-weight:800}.total{white-space:nowrap;font-size:clamp(1.5rem,8vw,2.25rem)}.total.unavailable,.unavailable-item{color:#962b1d}.quote-card li{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.quote-card li>div{flex:1}.quote-card small{margin-top:.2rem}.quote-figures{text-align:right;grid-template-columns:repeat(3,minmax(4.5rem,auto));gap:.75rem;margin:0;display:grid}.quote-figures div{gap:.2rem;display:grid}.quote-figures dt{text-transform:uppercase;color:#4d6358;font-size:.72rem}.quote-figures dd{margin:0;font-weight:750}.complete{max-width:16rem}.catalog-list li{justify-content:space-between;align-items:center;gap:1rem;display:flex}.catalog-product{grid-template-columns:5rem minmax(0,1fr);align-items:center;gap:.8rem;min-width:0;display:grid}.product-image,.product-image-placeholder{object-fit:contain;background:#eef2ef;border-radius:.4rem;width:5rem;height:3.75rem}.product-image-placeholder{color:#617168;place-items:center;font-size:.78rem;display:grid}.product-image-placeholder[hidden]{display:none}.quantity-control{text-align:center;grid-template-columns:2.5rem 2rem 2.5rem;align-items:center;gap:.35rem;display:grid}.quantity-control button{padding:.55rem}.quantity-control output{font-weight:750}.selection-summary{background:#e8f1ec;border:1px solid #b8cabe;border-radius:.7rem;gap:.65rem;margin-top:1rem;padding:1rem;display:grid;position:sticky;bottom:1rem;box-shadow:0 2px 10px #18372b20}.result-dialog{box-sizing:border-box;width:min(42rem,100% - 2rem);max-height:calc(100dvh - 2rem);color:inherit;background:#fff;border:0;border-radius:.85rem;padding:0;overflow:auto;box-shadow:0 1rem 3rem #10251d55}.result-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#10251db8}.list-result{text-align:center;justify-items:center;gap:1rem;padding:1.25rem;display:grid}.result-dialog-heading{text-align:left;justify-content:space-between;align-items:flex-start;gap:1rem;width:100%;display:flex}.result-dialog-heading h2,.result-dialog-heading p{margin:0}.result-dialog-heading p{margin-top:.35rem}.dialog-close{flex:none}.list-result ul{text-align:left;width:100%;margin:0}.list-result svg{width:min(16rem,100%);height:auto;display:block}.customer-list-code{letter-spacing:.12em;overflow-wrap:anywhere;max-width:100%;font-size:clamp(2rem,10vw,3.75rem)}.camera-card{background:#fff;border-radius:.7rem;gap:.65rem;margin:1rem 0;padding:1rem;display:grid}.camera-preview{object-fit:cover;background:#10251d;border-radius:.5rem;width:100%;min-height:16rem;max-height:22rem;display:block}.camera-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.customer-shell button,.staff-shell button,.customer-shell input,.staff-shell input{min-height:2.75rem}@media (width<=50rem){.selection-summary{position:static}}@media (width<=40rem){.customer-shell,.staff-shell,.not-found-shell{box-sizing:border-box;padding:2rem 1rem calc(2rem + env(safe-area-inset-bottom))}.search-row{grid-template-columns:1fr}.quote-heading{grid-template-columns:minmax(0,1fr);display:grid}.quote-code{overflow-wrap:anywhere}.quote-card li{grid-template-columns:1fr;display:grid}.quote-figures{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.complete{width:100%;max-width:none}.camera-preview{aspect-ratio:4/3;min-height:0}.catalog-list li{align-items:stretch;display:grid}.catalog-product{grid-template-columns:4.5rem minmax(0,1fr)}.product-image,.product-image-placeholder{width:4.5rem;height:3.5rem}.quantity-control{grid-template-columns:2.75rem 2.25rem 2.75rem;justify-content:end;width:100%}.quantity-control button{padding:.55rem}.result-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.list-result{padding:1rem}.result-dialog-heading{grid-template-columns:minmax(0,1fr) auto;display:grid}.list-result svg{width:min(14rem,42dvh,100%)}.customer-list-code{font-size:clamp(1.6rem,9vw,2.75rem)}}
