:root{--c:#1f6f5c;--c2:#e8f3ef;--ink:#1d2b27;--mut:#62736d;--bg:#f7faf9;--card:#fff;--line:#d9e4e0;--warn:#b25e00;--err:#a12a2a;--r:12px}
@media (prefers-color-scheme:dark){:root{--c:#4fb59c;--c2:#1c2d28;--ink:#e6efec;--mut:#9bb0aa;--bg:#121a18;--card:#192421;--line:#2b3b36;--warn:#e0a050;--err:#e08080}}
*{box-sizing:border-box}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--c)}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
.top{background:var(--c);color:#fff}
.top a{color:#fff;text-decoration:none}
.bar{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;padding-top:10px;padding-bottom:10px}
.brand{font-weight:700;font-size:1.2rem}
nav{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}
nav a,nav .link{color:#fff;font-size:.95rem}
main{padding-top:20px;padding-bottom:32px;min-height:60vh}
h1{font-size:1.6rem;margin:.2em 0 .4em}h2{font-size:1.2rem;margin:1.4em 0 .4em}
.lead{color:var(--mut)}.muted{color:var(--mut)}.small{font-size:.9rem}
.flash{padding:10px 14px;border-radius:var(--r);margin:0 0 16px;border:1px solid var(--line)}
.flash.ok{background:var(--c2);border-color:var(--c)}.flash.err{background:#fdecec;border-color:var(--err);color:#6a1a1a}
@media (prefers-color-scheme:dark){.flash.err{background:#3a1f1f;color:#f0c0c0}}
.narrow{max-width:460px;margin:20px auto}
.form{display:flex;flex-direction:column;gap:14px;margin:12px 0}
.form.row{flex-direction:row;align-items:end;flex-wrap:wrap}.grow{flex:1;min-width:200px}
label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.95rem}
label small,small{font-weight:400;color:var(--mut)}
label.check{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400}
input,select,textarea{font:inherit;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);width:100%}
input[type=checkbox]{width:auto;margin-top:5px}input[type=file]{padding:7px}
input.mini{width:60px;padding:3px 6px;display:inline-block;margin:0 4px}
.btn{display:inline-block;background:var(--c);color:#fff;border:1px solid var(--c);border-radius:8px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn.ghost{background:transparent;color:var(--c)}.btn.ghost.on{background:var(--c2)}
.btn.danger{background:#a12a2a;border-color:#a12a2a;color:#fff}
.link{background:none;border:0;padding:0;font:inherit;color:var(--c);cursor:pointer;text-decoration:underline}
.top .link{color:#fff}
form.inline,details.inline{display:inline-block;margin:2px 4px 2px 0}
details.inline>summary{list-style:none;cursor:pointer}details.inline>summary::-webkit-details-marker{display:none}
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:14px 0}
.filters .actions{grid-column:1/-1}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;color:inherit;text-decoration:none}
.card:hover{border-color:var(--c)}
.ph{position:relative;aspect-ratio:4/3;background:var(--c2);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}
.noimg{font-size:3rem;display:flex;align-items:center;justify-content:center;background:var(--c2);width:100%;height:100%}
.noimg.big{height:300px;border-radius:var(--r)}
.cb{padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.meta{color:var(--mut);font-size:.88rem}
.price{font-weight:700}.price.free{color:var(--c)}.price.big{font-size:1.4rem}
.badge{display:inline-block;background:var(--c2);border:1px solid var(--line);border-radius:99px;padding:1px 10px;font-size:.8rem}
.badge.warn{color:var(--warn);border-color:var(--warn)}.badge.okb{color:var(--c);border-color:var(--c)}
.ph .badge{position:absolute;top:8px;left:8px;background:var(--card)}
.pill{background:#c0392b;color:#fff;border-radius:99px;padding:0 7px;font-size:.78rem;font-weight:700}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.detail img.big{width:100%;border-radius:var(--r);border:1px solid var(--line)}
@media (max-width:760px){.detail{grid-template-columns:1fr}}
.desc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:12px 0}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:14px 0}
.box h2{margin-top:0}details.box>summary{cursor:pointer;font-weight:600}
.tbl{border-collapse:collapse;width:100%;background:var(--card);font-size:.92rem}
.tbl th,.tbl td{border:1px solid var(--line);padding:7px 9px;text-align:left;vertical-align:top}
.scroll{overflow-x:auto}
.list{display:flex;flex-direction:column;gap:8px}
.row-link{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;color:inherit;text-decoration:none}
.minicard{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px;color:inherit;text-decoration:none;margin-bottom:12px}
.minicard img,.minicard .noimg{width:72px;height:72px;object-fit:cover;border-radius:8px;font-size:1.8rem;flex:none}
.chat{display:flex;flex-direction:column;gap:10px;margin:16px 0}
.msg{max-width:85%;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px 12px;align-self:flex-start;overflow-wrap:anywhere}
.msg.mine{align-self:flex-end;background:var(--c2);border-color:var(--c)}
.msg .who{font-size:.78rem;color:var(--mut);margin-bottom:2px}
.pager{display:flex;gap:12px;align-items:center;margin-top:20px}
.empty{padding:30px;text-align:center;color:var(--mut);background:var(--card);border:1px dashed var(--line);border-radius:var(--r)}
.legal{max-width:760px}.legal ul{padding-left:20px}
.foot{padding-top:16px;padding-bottom:28px;font-size:.85rem;color:var(--mut);border-top:1px solid var(--line)}
