*,*::before,*::after{box-sizing:border-box}
:root{--ink:#0f172a;--mute:#64748b;--line:#e2e8f0;--soft:#f1f5f9;--ok:#16a34a;--warn:#d97706;--bad:#dc2626}
body{margin:0;font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:var(--soft);font-size:15px;line-height:1.5}
a{color:inherit}
h1{font-size:24px;margin:0 0 16px;letter-spacing:-.01em}
h2{font-size:17px;margin:0 0 14px}
.muted{color:var(--mute)}
.aw{max-width:1100px;margin:0 auto;padding:0 16px}
main.aw{padding-top:22px;padding-bottom:60px}
.ah{background:var(--dark);color:#fff}
.ah .aw{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;flex-wrap:wrap}
.ab{font-weight:800;text-decoration:none;font-size:17px}
.ab small{font-weight:500;opacity:.6;margin-left:4px}
.ah nav{display:flex;gap:4px;flex-wrap:wrap}
.ah nav a{text-decoration:none;padding:8px 11px;border-radius:6px;font-size:14px;opacity:.8}
.ah nav a.on,.ah nav a:hover{opacity:1;background:rgba(255,255,255,.1)}
.pill{background:var(--bad);color:#fff;font-size:11px;padding:1px 7px;border-radius:10px;font-weight:700}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:7px;border:1.5px solid var(--line);background:#fff;font:inherit;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.ghost{background:transparent}
.btn.bad{background:var(--bad);border-color:var(--bad);color:#fff}
.btn.wa{background:#25d366;border-color:#25d366;color:#fff}
.btn.sm{padding:6px 11px;font-size:13px}
.btn.block{width:100%}
button.link{background:none;border:none;padding:0;font:inherit;font-size:13px;color:var(--mute);cursor:pointer;text-decoration:underline;margin-right:12px}
button.link.bad{color:var(--bad)}

input,select,textarea{font:inherit;font-size:15px;padding:10px 11px;border:1.5px solid var(--line);border-radius:7px;background:#fff;width:100%;margin-top:5px;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
label{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:12px}
label small{font-weight:400;color:var(--mute)}
input[type=checkbox],input[type=radio]{width:auto;margin:0 6px 0 0;vertical-align:-2px}
label.inline{display:flex;align-items:center;padding-top:22px}

.flash{background:#ecfdf5;color:#065f46;padding:12px 14px;border-radius:8px;margin-bottom:16px;font-weight:500}
.flash.bad{background:#fef2f2;color:#991b1b}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.stats>div{background:#fff;border-radius:10px;padding:14px 16px;border:1px solid var(--line)}
.stats a{text-decoration:none}
.stats b{display:block;font-size:22px;letter-spacing:-.02em}
.stats span{color:var(--mute);font-size:13px}
@media(max-width:700px){.stats{grid-template-columns:1fr 1fr}}

.bar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.tabs{display:flex;gap:4px;flex-wrap:wrap;flex:1}
.tabs a{text-decoration:none;padding:7px 12px;border-radius:7px;font-size:14px;font-weight:600;color:var(--mute)}
.tabs a.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.tabs small{opacity:.6;font-weight:500}
.search input{margin:0;width:220px;padding:8px 10px}

.list{display:flex;flex-direction:column;gap:8px}
.row{display:grid;grid-template-columns:110px 1fr auto auto auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}
.row.sold{opacity:.7}
.row.is-hidden{border-style:dashed}
.thumb{width:110px;aspect-ratio:4/3;border-radius:7px;background:var(--soft) center/cover;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--mute);text-decoration:none}
.info .t{font-weight:700;text-decoration:none;font-size:15.5px}
.info .s{color:var(--mute);font-size:13px}
.price{font-weight:800;font-size:17px}
.tag{background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent);font-size:11px;padding:1px 6px;border-radius:4px}
.tag.grey{background:var(--soft);color:var(--mute)}
.acts{display:flex;gap:6px;flex-wrap:wrap}
.seg{display:inline-flex;border:1.5px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.seg button,.seg label{border:none;background:none;padding:7px 11px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--mute);margin:0;border-right:1px solid var(--line)}
.seg>*:last-child{border-right:none}
.seg .on.available{background:var(--ok);color:#fff}
.seg .on.reserved{background:var(--warn);color:#fff}
.seg .on.sold{background:var(--bad);color:#fff}
.seg.big label{padding:11px 20px;font-size:15px;display:flex;align-items:center}
.seg.big input{display:none}
@media(max-width:800px){
 .row{grid-template-columns:90px 1fr;gap:10px}
 .thumb{width:90px}
 .row .price{grid-column:2}
 .row .status-form,.row .acts{grid-column:1/-1}
 .status-form .seg{width:100%}.status-form .seg button{flex:1}
 .search input{width:100%}.search{flex:1}
 .tabs{flex:0 0 100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .tabs a{flex:0 0 auto}
}
.empty{background:#fff;border:1.5px dashed var(--line);border-radius:10px;padding:40px;text-align:center;color:var(--mute)}

.head-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.head-row h1{margin:0}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:16px}
.card.danger{border-color:#fecaca}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}
@media(max-width:800px){.g3{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.g3{grid-template-columns:1fr}}
.checks{margin-top:14px;display:flex;gap:20px;flex-wrap:wrap}
.checks label{margin:0;font-weight:500}
.savebar{position:sticky;bottom:0;background:rgba(241,245,249,.95);backdrop-filter:blur(6px);padding:12px 0;display:flex;gap:10px;margin-bottom:16px;z-index:5}

.drop{display:block;border:2px dashed var(--line);border-radius:10px;padding:28px;text-align:center;cursor:pointer;background:var(--soft);font-weight:400;font-size:15px;color:var(--ink)}
.drop.over,.drop:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,#fff)}
.drop small{color:var(--mute)}
#progress{margin:10px 0;min-height:1em}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ph{position:relative;border-radius:8px;overflow:hidden;background:var(--soft);cursor:grab}
.ph.dragging{opacity:.4}
.ph img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;pointer-events:none}
.ph:first-child::before{content:"Main photo";position:absolute;top:6px;left:6px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px}
.phbar{display:flex;gap:1px;background:var(--line)}
.phbar button{flex:1;border:none;background:#fff;padding:7px 0;cursor:pointer;font-size:14px}
.phbar .del{color:var(--bad)}

.enqs{display:flex;flex-direction:column;gap:10px}
.enqc{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}
.enqc.new{border-left:4px solid var(--accent)}
.eh{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.enqc .contact{margin:8px 0 0;font-size:14px}
.enqc .msg{margin:8px 0;background:var(--soft);padding:10px 12px;border-radius:7px;white-space:pre-line}
.ef{margin-top:8px}

body.auth{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--dark);padding:16px}
.authbox{background:#fff;border-radius:14px;padding:30px;width:100%;max-width:380px}
.authbox h1{margin:0}

.ab{display:inline-flex;align-items:center;gap:8px}
.ab img{height:32px;width:auto;display:block}
.authlogo{width:100%;max-width:260px;display:block;margin:0 0 8px}
.ah .aw{padding-top:10px;padding-bottom:10px}
