:root{--bg:#f5f2e9;--surface:#fff;--ink:#1c2130;--ink-soft:#5b6272;--ink-faint:#8a8f7f;--line:#dad2bc;--accent:#ff6a2c;--accent-soft:#ffe3cc;--ok:#2f7d4f;--ok-soft:#e1f2e7;--bad:#b3261e;--bad-soft:#fbe3e1;--shadow:0 1px 2px #1c21300f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#14161d;--surface:#1b1e27;--ink:#ece8dc;--ink-soft:#a5abb8;--ink-faint:#6e7480;--line:#2c303c;--accent-soft:#3a2418;--ok-soft:#173323;--bad-soft:#3a1a18;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:var(--accent)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.muted{color:var(--ink-soft)}.small{font-size:12px}.center{text-align:center;padding:40px 0}.error{color:var(--bad);background:var(--bad-soft);border-radius:6px;padding:8px 10px}.notice{background:var(--accent-soft);cursor:default;border-radius:8px;margin:10px 0;padding:10px 14px}.notice.ok{background:var(--ok-soft)}button,.button{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:7px 12px;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:default}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:#1c2130;font-weight:600}button.small{padding:4px 8px;font-size:12px}button.big{padding:12px 22px;font-size:16px}button.link{color:var(--ink-soft);background:0 0;border:none;padding:4px}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;padding:7px 10px}textarea{width:100%;min-height:70px}label{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}label>input,label>select,label>textarea{font-size:14px}label.check,label.radio{color:var(--ink);flex-direction:row;align-items:center;gap:6px;font-size:14px}.shell header.top{z-index:10;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;padding:10px 20px;display:flex;position:sticky;top:0}.brand{letter-spacing:.06em;color:var(--ink);font-size:18px;font-weight:800;text-decoration:none}.brand span{color:var(--accent)}.brand.big{text-align:center;margin-bottom:10px;font-size:26px}header nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}header nav a,.tabs a{color:var(--ink-soft);border-radius:8px;padding:6px 10px;text-decoration:none}header nav a.active,.tabs a.active{background:var(--accent-soft);color:var(--ink)}.top-right{align-items:center;gap:10px;display:flex}.who{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:13px;overflow:hidden}.badge{background:var(--accent);color:#1c2130;border-radius:10px;padding:0 6px;font-size:11px}main{padding:16px 20px 60px}.page{max-width:1200px;margin:0 auto}.page.narrow{max-width:520px}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:16px;padding-bottom:8px;display:flex}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:8px;margin:10px 0;padding:14px 16px;display:flex}.card.stat{min-width:180px}.card.stat b{font-size:20px}.row{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;display:flex}.row.between{justify-content:space-between}.two{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:end;gap:12px 14px;display:grid}.form-grid>label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.form-grid>label>input,.form-grid>label>select{width:100%;height:40px}.form-grid>label.wide{white-space:normal}.form-grid .wide{grid-column:1/-1}.instructions{white-space:pre-wrap;background:var(--bg);border-radius:8px;margin:0;padding:10px;font-size:13px}.table{border-collapse:collapse;background:var(--surface);border-radius:12px;width:100%;margin:10px 0;overflow:hidden}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.table th{color:var(--ink-soft);font-size:12px;font-weight:600}.table.compact td,.table.compact th{padding:5px 8px}.table .num{text-align:right;white-space:nowrap}.table tr.sub td{background:color-mix(in srgb, var(--bg) 50%, transparent)}.table tr.pending td{background:var(--accent-soft)}.tag{background:var(--bg);color:var(--ink-soft);border-radius:10px;padding:1px 8px;font-size:12px;display:inline-block}.tag.ok,.tag.s-paid,.tag.s-delivered{background:var(--ok-soft);color:var(--ok)}.tag.out,.tag.s-cancelled{background:var(--bad-soft);color:var(--bad)}.tag.mto,.tag.s-pending,.tag.s-partial{background:var(--accent-soft);color:var(--ink)}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login .card{gap:12px;width:min(360px,100%);padding:24px}.login .card.wide{width:min(560px,100%)}.login .card.wide .form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.login .foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.invite{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.invite input{flex:260px;min-width:0;font-family:ui-monospace,monospace}.catalog{grid-template-columns:250px 1fr;gap:20px;max-width:1400px;margin:0 auto;display:grid}.cats{align-self:start;max-height:calc(100vh - 90px);position:sticky;top:70px;overflow:auto}.cats h4{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;margin:4px 8px 8px;font-size:12px}.cats button{text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;gap:8px;width:100%;padding:6px 8px;display:flex}.cats button.on{background:var(--accent-soft);font-weight:600}.cats button.child{padding-left:22px;font-size:13px}.cats small{color:var(--ink-faint)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.search{flex:1;min-width:200px}.grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.pcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.pimg{aspect-ratio:1;background:#fff;border:none;border-radius:0;width:100%;padding:0;display:block}.pimg img{object-fit:contain;width:100%;height:100%}.noimg{background:var(--bg);width:100%;height:100%;min-height:120px}.pbody{flex-direction:column;flex:1;gap:6px;padding:10px 12px 12px;display:flex}.pname{cursor:pointer;font-weight:600;line-height:1.3}.price b{font-size:16px}.more{margin:20px auto;display:block}.stepper{align-items:center;gap:4px;display:inline-flex}.stepper input{text-align:center;width:64px}.stepper button{width:30px;padding:5px 0}.modal{z-index:50;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:14px;width:100%;max-width:900px;max-height:92vh;padding:20px;position:relative;overflow:auto}.modal-top{align-items:center;gap:8px;margin-bottom:12px;display:flex}.modal-top .keys{flex:1}.photo-box{position:relative}.photo-box .nav{opacity:.85;border-radius:50%;width:38px;height:38px;padding:0;font-size:22px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.photo-box .nav.left{left:8px}.photo-box .nav.right{right:8px}.photo-box .counter{color:#fff;background:#0000008c;border-radius:10px;padding:1px 8px;font-size:12px;position:absolute;bottom:8px;right:10px}.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.stats .card{justify-content:flex-start;margin:0}.detail{grid-template-columns:1fr 1fr;gap:20px;display:grid}.detail img.big{aspect-ratio:1;object-fit:contain;background:#fff;border-radius:10px;width:100%}.thumbs{gap:6px;margin-top:6px;display:flex}.thumbs img{object-fit:cover;cursor:pointer;opacity:.6;border-radius:6px;width:56px;height:56px}.thumbs img.on{opacity:1;outline:2px solid var(--accent)}dl{grid-template-columns:auto 1fr;gap:4px 12px;display:grid}dt{color:var(--ink-soft)}dd{margin:0}@media (width<=760px){.catalog{grid-template-columns:1fr}.cats{max-height:220px;position:static}.two,.detail{grid-template-columns:1fr}main{padding:12px 12px 60px}.table{display:block;overflow-x:auto}}
