@font-face{font-family:Manrope;src:url("/fonts/manrope-400.ttf")}@font-face{font-family:Manrope;src:url("/fonts/manrope-700.ttf");font-weight:700}
:root{--accent:#0f766e;--ink:#17221f;--muted:#64716c;--line:#dce5e1;--paper:#fff;--wash:#f4f8f6;--shadow:0 18px 50px rgba(23,34,31,.09)}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:linear-gradient(180deg,#f9fbfa,#eff5f2);color:var(--ink);font-family:Manrope,sans-serif;font-size:15px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}
.store-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px clamp(18px,4vw,64px);background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.store-identity{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.store-identity>span:last-child{display:grid}.store-identity small{color:var(--muted);font-size:11px}.store-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--accent);color:white;font-weight:700;box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 28%,transparent)}
.store-header nav{display:flex;align-items:center;gap:16px}.store-header a{color:var(--ink);font-weight:700;text-decoration:none;font-size:13px}.quiet-button,.text-button{border:0;background:none;color:var(--accent);font-weight:700;cursor:pointer}
main{width:min(1320px,calc(100% - 36px));margin:auto;padding:40px 0 80px}.store-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:32px;align-items:end;padding:44px;border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 92% 10%,color-mix(in srgb,var(--accent) 14%,white),transparent 38%),var(--paper);box-shadow:var(--shadow)}.store-kicker{display:block;margin-bottom:8px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.store-hero h1{max-width:820px;margin:0;font-size:clamp(30px,4vw,55px);line-height:1.06;letter-spacing:-.045em}.store-hero p{max-width:720px;margin:16px 0 0;color:var(--muted);font-size:16px;line-height:1.7}
.access-panel{padding:20px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--accent) 6%,white)}.access-panel strong{display:block;margin-bottom:7px}.access-panel p{margin:0 0 14px;font-size:13px;line-height:1.55}.primary-button,.cart-button{min-height:44px;border:0;border-radius:12px;padding:0 18px;background:var(--accent);color:white;font-weight:700;cursor:pointer}.primary-button:disabled{opacity:.5;cursor:not-allowed}
.store-toolbar{display:flex;align-items:end;gap:16px;margin:26px 0 18px}.store-search{display:grid;flex:1;gap:6px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.store-search input,input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:white;color:var(--ink);outline:none}.store-search input:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}#catalogue-count{color:var(--muted);font-size:13px}.cart-button span{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:6px;border-radius:99px;background:white;color:var(--accent);font-size:11px}
.catalogue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.product-card{display:flex;flex-direction:column;min-height:250px;padding:20px;border:1px solid var(--line);border-radius:18px;background:white}.product-card .product-meta{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.product-card h2{margin:18px 0 5px;font-size:17px;line-height:1.3}.product-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.product-card footer{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px}.product-price{display:grid}.product-price strong{font-size:17px}.product-price small{color:var(--muted)}.add-button{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--wash);color:var(--accent);font-size:21px;cursor:pointer}.locked-price{color:var(--muted);font-size:12px;font-weight:700}
.empty-state{grid-column:1/-1;padding:54px 22px;border:1px dashed var(--line);border-radius:18px;background:rgba(255,255,255,.6);text-align:center}.empty-state h2{margin:0 0 8px}.empty-state p{margin:0;color:var(--muted)}
dialog{width:min(680px,calc(100% - 24px));max-height:90vh;padding:0;border:0;border-radius:22px;box-shadow:0 30px 100px rgba(20,32,28,.26)}dialog::backdrop{background:rgba(18,28,25,.46);backdrop-filter:blur(5px)}.dialog-shell{position:relative;display:grid;gap:16px;padding:30px}.dialog-shell.wide{width:100%}.dialog-shell h2{margin:0;font-size:25px}.dialog-shell p{margin:0;color:var(--muted)}.dialog-close{position:absolute;top:15px;right:15px;width:36px;height:36px;border:0;border-radius:10px;background:var(--wash);font-size:20px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label,.dialog-shell>label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.form-grid .wide{grid-column:1/-1}.form-grid small{font-weight:400}.check-row{display:flex!important;grid-column:1/-1;align-items:flex-start;gap:8px}.check-row input{width:auto}.form-error{min-height:18px;color:#b42318!important;font-size:12px}.address-title{grid-column:1/-1;margin:4px 0 -2px;font-weight:700}
#cart-lines{display:grid;gap:10px;max-height:300px;overflow:auto}.cart-line{display:grid;grid-template-columns:1fr 90px 110px auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px}.cart-line input{padding:8px}.cart-line button{border:0;background:none;color:#b42318;cursor:pointer}.order-total{display:flex;justify-content:space-between;padding:16px 0;border-top:1px solid var(--line);font-size:17px;font-weight:700}
.account-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;margin-top:24px}.account-sidebar,.account-panel{padding:22px;border:1px solid var(--line);border-radius:18px;background:white}.pin-box{margin-top:18px;padding:14px;border-radius:12px;background:var(--wash)}.pin-box strong{display:block;margin-top:4px;font-family:ui-monospace,monospace;font-size:16px;letter-spacing:.04em}.supplier-list{display:grid;gap:8px;margin-top:18px}.supplier-chip{padding:10px;border:1px solid var(--line);border-radius:10px}.supplier-chip span{display:block;color:var(--muted);font-size:11px}.order-list{display:grid;gap:10px}.buyer-order{display:grid;grid-template-columns:1fr repeat(3,auto);align-items:center;gap:20px;padding:15px;border:1px solid var(--line);border-radius:12px}.buyer-order small{display:block;color:var(--muted)}.status{padding:5px 9px;border-radius:99px;background:var(--wash);font-size:11px;font-weight:700}
@media(max-width:980px){.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.store-hero{grid-template-columns:1fr}.account-layout{grid-template-columns:1fr}.store-header nav a{display:none}}
@media(max-width:620px){main{width:min(100% - 24px,1320px);padding-top:18px}.store-header{padding:11px 14px}.store-identity small{display:none}.store-hero{padding:25px 20px;border-radius:20px}.store-hero h1{font-size:32px}.store-toolbar{align-items:stretch;flex-wrap:wrap}.store-search{flex-basis:100%}.catalogue-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide,.check-row,.address-title{grid-column:auto}.dialog-shell{padding:25px 18px}.cart-line{grid-template-columns:1fr 74px auto}.cart-line .line-total{display:none}.buyer-order{grid-template-columns:1fr auto}.buyer-order>*:nth-child(3){display:none}}
.primary-button[aria-busy="true"]{cursor:wait;opacity:.76}.primary-button[aria-busy="true"]::before{display:inline-block;width:10px;height:10px;margin-right:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;content:"";vertical-align:-1px;animation:store-button-spin .7s linear infinite}@keyframes store-button-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.primary-button[aria-busy="true"]::before{animation:none}}
