:root{--bg:#f4f1ec;--card:#fff;--ink:#222;--muted:#6b6b6b;--accent:#e08a1e;--line:#e3ded6}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,sans-serif;background:var(--bg);color:var(--ink)}
.top{display:flex;gap:24px;align-items:center;padding:12px 20px;background:#2b2b2b;color:#fff}.top nav{flex:1;display:flex;gap:16px}.top a{color:#fff;text-decoration:none}
main{max-width:980px;margin:24px auto;padding:0 16px}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px;margin:16px 0}
.narrow{max-width:380px;margin:80px auto}h1{font-size:22px}h2{font-size:17px}label{display:block;margin:10px 0;font-weight:600;font-size:13px}
input,select{display:block;width:100%;padding:8px;margin-top:4px;border:1px solid #bbb;border-radius:6px;font:inherit}
button{background:var(--accent);color:#fff;border:0;padding:9px 16px;border-radius:6px;font:inherit;cursor:pointer}button.link{background:none;padding:0}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px;align-items:end}.inline{display:flex;gap:8px}.inline select{width:auto;margin:0}
.flash{padding:10px 14px;border-radius:6px}.flash.ok{background:#e4f3e4}.flash.err{background:#fde3e3}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.stat b{font-size:28px;display:block}.stat span,.hint{color:var(--muted)}
@media (max-width:600px){.top{flex-wrap:wrap}}
textarea{display:block;width:100%;padding:8px;margin-top:4px;border:1px solid #bbb;border-radius:6px;font:inherit}
.hint{font-weight:400}label .hint{display:block;font-size:12px;margin-top:2px}
.scroll{overflow:auto;max-height:70vh;padding:0}.matrix{width:auto;font-size:12px}.matrix th,.matrix td{padding:4px 8px;text-align:right;white-space:nowrap}
.matrix thead th{position:sticky;top:0;background:#f4f1ec}.matrix tbody th{position:sticky;left:0;background:#f4f1ec}.matrix td.none{background:#f3f3f3}
@media (max-width:600px){.top nav{order:3;width:100%;flex-wrap:wrap}}
label.check{display:flex;gap:8px;align-items:center;font-weight:600}label.check input{width:auto;margin:0}
button.danger{background:#b3261e}td input{min-width:90px}
button.secondary{background:transparent;color:inherit;border:1px solid currentColor}
details.brand summary{cursor:pointer;font-size:1.05rem;padding:.25rem 0}details.brand h3{margin:1rem 0 .25rem;font-size:.95rem;color:#6b6b66;text-transform:uppercase;letter-spacing:.04em}
.variants{margin:.1rem 0 .6rem 1.8rem;padding-left:.8rem;border-left:2px solid #e3e1da}
.defaultbtn{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
td.num,th.num{text-align:right}
button.small{padding:3px 10px;font-size:.85em}

.grid.start{align-items:start}.grid.start .hint{display:block;min-height:2.6em}
