@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--paper:#eff3f1;--ink:#16232c;--muted:#57697a;--dark:#1b2e3a;--accent:#35d6a8;--rule:#d7dedc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Space Grotesk',sans-serif;line-height:1.6}a{color:inherit}button,input,textarea,select{font:inherit}button,.button{cursor:pointer;border:1px solid var(--ink);padding:12px 20px;background:var(--accent);color:var(--ink);font-weight:600;text-decoration:none;display:inline-block;border-radius:2px}button:hover,.button:hover{filter:brightness(.95)}button:disabled{cursor:wait;opacity:.55}.secondary{background:transparent}.small{padding:7px 12px;font-size:14px}:focus-visible{outline:3px solid #128064;outline-offset:4px}.wrap{max-width:1180px;margin:auto;padding:0 28px}header{background:var(--paper);border-bottom:1px solid var(--rule)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:700;text-decoration:none;line-height:1.2}.brand small{display:block;font:10px 'IBM Plex Mono',monospace;letter-spacing:.14em;margin-top:6px}nav{display:flex;align-items:center;gap:22px}.hero{background:var(--dark);color:var(--paper);padding:64px 0 60px;background-image:linear-gradient(#d6fbee0c 1px,transparent 1px),linear-gradient(90deg,#d6fbee0c 1px,transparent 1px);background-size:36px 36px}.eyebrow{font:12px 'IBM Plex Mono',monospace;letter-spacing:.13em;color:var(--accent);text-transform:uppercase}.hero h1{font-size:clamp(38px,6vw,66px);letter-spacing:-.05em;line-height:1.1;margin:18px 0}.hero p{max-width:550px;color:#d0dedb}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px}.note{font:12px 'IBM Plex Mono',monospace;color:#b7cbc5}main{padding:40px 0 80px}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}input,textarea,select{width:100%;padding:12px;background:white;border:1px solid #9daead;border-radius:2px;color:var(--ink)}input[type=checkbox]{width:auto}input[type=search]{max-width:360px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product{background:white;border:1px solid var(--rule);display:flex;flex-direction:column}.photo{aspect-ratio:4/3;background:#e2eae6;display:grid;place-items:center;overflow:hidden}.photo img{width:100%;height:100%;object-fit:contain}.placeholder{color:#758c84;font:13px 'IBM Plex Mono',monospace;letter-spacing:.12em}.product-content{padding:24px;display:flex;flex-direction:column;flex:1}.product h2{font-size:21px;margin:0}.description{color:var(--muted);font-size:14px;white-space:pre-line;overflow-wrap:anywhere}.product-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px}.price{font-size:22px;font-weight:600;white-space:nowrap}.empty{padding:56px 28px;text-align:center;border:1px dashed #9daead;background:#ffffff70;grid-column:1/-1}.empty h2{margin-top:0}.muted{color:var(--muted)}.panel{padding:28px;background:white;border:1px solid var(--rule);margin-bottom:24px}.panel h2{margin-top:0;letter-spacing:-.03em}.columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:28px;align-items:start}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:14px;font-weight:500}label input,label textarea,label select{margin-top:6px}.wide{grid-column:1/-1}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.message{padding:14px 18px;background:#e1f7ee;border-left:3px solid #128064;margin:20px 0;white-space:pre-line}.message.error{background:#fff0e9;border-color:#a83e20}.message:empty{display:none}[hidden]{display:none!important}.cart-row{display:grid;grid-template-columns:1fr 76px auto;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--rule)}.cart-row p{margin:0}.cart-row button{grid-column:3;font-size:12px;padding:5px 9px;background:transparent}.total-row{display:flex;justify-content:space-between;gap:12px;margin:14px 0}.total{font-size:24px;font-weight:700;border-top:1px solid var(--rule);padding-top:18px}.bank{background:var(--dark);color:var(--paper);padding:28px;border-left:4px solid var(--accent)}.bank dt{color:#b7cbc5;font:11px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.1em;margin-top:16px}.bank dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:20px}.reference{font:13px 'IBM Plex Mono',monospace;overflow-wrap:anywhere}.tabs{display:flex;gap:10px;margin:28px 0;flex-wrap:wrap}.tabs button[aria-selected=true]{background:var(--dark);color:white}.admin-product{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--rule);padding:16px 0}.order{border:1px solid var(--rule);padding:24px;margin-bottom:20px}.order h3{margin-top:0}.order ul{padding-left:20px}.order address{white-space:pre-line;font-style:normal}.order select{max-width:230px}.auth{max-width:480px;margin:0 auto}.auth label{margin:18px 0}.loading{height:260px;background:linear-gradient(110deg,#e0e8e4 30%,#f8faf9 50%,#e0e8e4 70%);background-size:200% 100%;animation:loading 1.4s infinite}@keyframes loading{to{background-position:-200% 0}}footer{border-top:1px solid var(--rule);padding:26px 0;font-size:13px;color:var(--muted)}footer .wrap{display:flex;justify-content:space-between;gap:20px}body{overflow-wrap:break-word}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:850px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.columns{grid-template-columns:1fr}}@media(max-width:540px){.wrap{padding:0 18px}.grid,.fields{grid-template-columns:1fr}.hero{padding:40px 0}.hero-bottom,.toolbar{align-items:start;flex-direction:column}.nav{gap:12px}.brand{font-size:13px}nav{gap:12px;font-size:13px}nav button{padding:9px 12px}.panel{padding:20px}.cart-row{grid-template-columns:1fr 65px auto}.price{font-size:20px}footer .wrap{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}@media print{header,footer,button,.toolbar,.hero{display:none!important}.bank{background:white;color:#16232c}.bank dt{color:#57697a}main{padding:0}}
