:root{
  --bg:#f5f6f3; --panel:#fff; --ink:#1d2421; --muted:#66706b; --line:#e2e5df;
  --accent:#2f6b4f; --accent-ink:#fff; --accent-soft:#e6f0ea;
  --ok:#2f6b4f; --ok-bg:#e9f4ee; --err:#a3302a; --err-bg:#fbeceb; --warn-bg:#fdf5e4; --warn:#7a5a12;
  --radius:10px; --shadow:0 1px 2px rgba(0,0,0,.04),0 2px 8px rgba(0,0,0,.04);
}
@media (prefers-color-scheme: dark){:root{
  --bg:#141816; --panel:#1c211f; --ink:#e6ebe8; --muted:#9aa49f; --line:#2c3330;
  --accent:#5fae86; --accent-ink:#0f1512; --accent-soft:#213128;
  --ok:#7fc8a1; --ok-bg:#1d2d24; --err:#f0928b; --err-bg:#3a2120; --warn-bg:#352c17; --warn:#e9cf8f;
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--accent)}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.top{background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:17px}
.logo-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-weight:700}
.who{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px}
.who form{margin:0}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin}
.tab{padding:10px 14px;text-decoration:none;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap;font-weight:500}
.tab:hover{color:var(--ink)}
.tab.on{color:var(--ink);border-bottom-color:var(--accent)}
.tab-cart{font-weight:600}
.tab-right{margin-left:auto}
.badge{display:inline-block;min-width:22px;padding:0 6px;border-radius:11px;background:var(--accent);color:var(--accent-ink);font-size:12px;text-align:center;line-height:20px}
main{padding:20px 16px 40px}
h1{font-size:24px;margin:0 0 4px}
h2{font-size:17px;margin:0 0 12px}
.head-row{margin-bottom:16px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-bottom:16px}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
@media (max-width:900px){.cols{grid-template-columns:1fr}}
.summary{position:sticky;top:120px}
@media (max-width:900px){.summary{position:static}}
.muted{color:var(--muted)} .small{font-size:13px} .strong{font-weight:600} .mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.grid{width:100%;border-collapse:collapse}
.grid th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600;text-align:left;padding:8px;border-bottom:1px solid var(--line)}
.grid td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.grid tr:last-child td{border-bottom:0}
.grid tr.gone td{color:var(--muted);text-decoration:line-through}
.qty-col{width:1%;white-space:nowrap}
.qty-col form{display:flex;align-items:center;gap:6px;margin:0;flex-wrap:nowrap}
.qty-col .in-cart{white-space:nowrap}
.add-form{display:grid!important;grid-template-columns:76px auto;gap:6px}
.add-form .in-cart{grid-column:1/-1}
input,select,textarea{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.qty-col input[type=number]{width:76px;text-align:right}
.btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:8px 14px;cursor:pointer;text-decoration:none;display:inline-block;font-weight:500}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn.primary:hover{filter:brightness(1.07)}
.btn.big{width:100%;padding:12px;font-size:16px}
.btn.small{padding:5px 10px;font-size:13px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.link{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline}
.link.danger{color:var(--err)}
.in-cart{font-size:13px;color:var(--ok)}
.stack{display:grid;gap:12px}
.stack label{display:grid;gap:4px;font-weight:500}
label.check{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:14px}
label.check input{width:auto;margin-top:3px}
.ok,.err,.warn,.note{padding:10px 12px;border-radius:8px}
.ok{background:var(--ok-bg);color:var(--ok)} .err{background:var(--err-bg);color:var(--err)} .warn,.note{background:var(--warn-bg);color:var(--warn)}
.ok.big{font-size:18px;font-weight:600}
.auth{display:grid;place-items:center;padding:40px 0}
.auth .card{width:100%;max-width:420px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.summary dl,.summary-inline{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:0 0 14px}
.summary dd,.summary-inline dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.summary .sep{border-top:1px solid var(--line);padding-top:8px;margin-top:4px;font-weight:600}
.summary .total{font-size:18px;font-weight:700}
.addr-form{margin:14px 0}
.empty p{font-size:16px}
.brand-links{display:flex;gap:8px;flex-wrap:wrap}
.actions form{display:flex;gap:10px;margin:0}
.foot{color:var(--muted);font-size:12px;padding:16px;text-align:center}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;box-shadow:var(--shadow);z-index:10}
.js .js-hide{display:none}
@media (max-width:700px){
  .grid thead{display:none}
  .grid tr{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}
  .grid td{border:0;padding:2px 0}
  .grid td:first-child{grid-column:1/-1;font-weight:600}
  .grid td[data-l]:not(:first-child)::before{content:attr(data-l) ": ";color:var(--muted);font-size:12px}
  .grid td.num{text-align:left}
  .qty-col{grid-column:1/-1;width:auto}
  .tab-right{margin-left:0}
}
