:root{--paper:#f8f6f3;--ink:#282927;--muted:#77736e;--line:#e2ded8;--pink:#e4cbce;--pinkdark:#785056}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:0;background:var(--ink);color:white;border-radius:9px;padding:12px 17px;font-weight:550}button:hover{filter:brightness(.9)}button:disabled{opacity:.45;cursor:wait}a{color:inherit}input,select,textarea{width:100%;background:white;border:1px solid #ccc7c1;border-radius:8px;padding:11px 12px}input[type=checkbox]{width:auto;accent-color:var(--pinkdark)}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #c8afb5;outline-offset:2px}label{display:block;margin:13px 0 5px;font-size:13px;font-weight:550}.check{display:flex;align-items:center;gap:9px}.header{max-width:1400px;margin:auto;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px}.brand{text-decoration:none;letter-spacing:3px;font-size:22px;white-space:nowrap}.brand span{font-size:12px;letter-spacing:2px;margin-left:8px}.header nav{display:flex;gap:12px;align-items:center}.plain{background:transparent;color:var(--ink);border:1px solid var(--line)}.soft{background:var(--pink);color:var(--ink)}.danger{background:#f7e1df;color:#8b3029}.small{font-size:12px;padding:7px 10px}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:11px;color:var(--muted)}main{max-width:1400px;padding:35px 5% 65px;margin:auto}h1{font-size:clamp(32px,5vw,62px);line-height:1.1;letter-spacing:-2px;font-weight:450;margin:15px 0 20px}h2{font-size:24px;font-weight:500;letter-spacing:-.5px;margin:0 0 16px}h3{font-size:18px;margin:0 0 5px}p{margin:8px 0 15px}.intro{max-width:550px;color:var(--muted)}.hero{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.hero-note{max-width:200px;border-left:2px solid var(--pink);padding-left:18px;font-size:13px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.filters button{border-radius:30px;background:transparent;border:1px solid var(--line);color:var(--ink);padding:8px 16px}.filters button.active{background:var(--ink);color:white}.catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden}.photo{height:230px;background:#eae6e1;display:flex;align-items:center;justify-content:center;position:relative}.photo img{width:100%;height:100%;object-fit:cover}.photo .placeholder{font-size:12px;letter-spacing:3px;color:#9b9189}.card-body{padding:18px}.card h3{font-weight:500}.description{font-size:13px;color:var(--muted);white-space:pre-wrap;max-height:85px;overflow:auto}.price{font-size:18px;margin:9px 0}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row>*{min-width:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{width:100%}.panel{padding:24px;border:1px solid var(--line);border-radius:13px;background:white}.cart-panel{position:sticky;top:20px}.cart-panel h2{font-size:21px}.cart-line{padding:15px 0;border-bottom:1px solid var(--line)}.cart-line strong{display:block;font-size:14px}.cart-line small{display:block;color:var(--muted)}.qty{width:68px;padding:6px}.total{display:flex;justify-content:space-between;font-size:20px;margin:22px 0 10px}.note{font-size:12px;color:var(--muted);line-height:1.65}.actions{display:grid;gap:10px;margin:16px 0}.empty{padding:45px 24px;background:white;border:1px dashed #cfc7c0;border-radius:12px;color:var(--muted);text-align:center;grid-column:1/-1}.status{font-size:13px;white-space:pre-wrap}.status.error{color:#a23329}.status.success{color:#336d46}.global-status{margin-bottom:16px;min-height:20px}.admin-title{font-size:36px;letter-spacing:-1px}.admin-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:25px;align-items:start}.admin-list{display:grid;gap:9px;max-height:650px;overflow:auto}.product-button{text-align:left;background:white;border:1px solid var(--line);color:var(--ink);display:flex;gap:12px;align-items:center;padding:12px}.product-button img{width:46px;height:52px;object-fit:cover;border-radius:5px}.product-button span{flex:1}.product-button small{display:block;color:var(--muted);font-weight:400}.tabs{display:flex;gap:10px;margin-bottom:25px}.login{max-width:430px;margin:60px auto}.admin-gallery{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0}.thumb{width:100px}.thumb img{width:100px;height:100px;object-fit:cover;border-radius:7px}.thumb button{width:100%;margin-top:5px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:10px 7px;border-bottom:1px solid var(--line)}td input[type=number]{min-width:110px}.category-row{display:grid;grid-template-columns:1fr 90px auto auto;gap:9px;align-items:center;margin-bottom:12px}.footer{max-width:1400px;margin:auto;border-top:1px solid var(--line);padding:25px 5%;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}dialog{border:0;border-radius:14px;width:min(700px,94vw);max-height:90vh;padding:24px}dialog::backdrop{background:#0008}dialog img{width:100%;border:1px solid var(--line)}.gallery-buttons{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}.gallery-buttons button{padding:5px 9px;font-size:12px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}[hidden]{display:none!important}@media(max-width:1200px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-layout{grid-template-columns:minmax(0,1fr) 310px}}@media(max-width:850px){.catalog-layout,.admin-layout{grid-template-columns:1fr}.cart-panel{position:static}.hero-note{display:none}.admin-list{max-height:250px}.header{padding:20px}.brand{font-size:20px}.brand span{font-size:10px;margin-left:3px}main{padding:25px 20px}.photo{height:250px}}@media(max-width:500px){.grid{grid-template-columns:1fr}.two{grid-template-columns:1fr}.photo{height:330px}.header nav a{font-size:12px}.brand{letter-spacing:2px}.category-row{grid-template-columns:1fr 70px}.hero{margin-bottom:20px}.footer{gap:15px}.header nav{gap:6px}}
