
:root{
  --bg:#ffffff; --text:#0f172a; --muted:#475569; --card:#ffffff; --line:#e5e7eb; --accent:#059669;
}
:root.dark{
  --bg:#000000; --text:#e5e7eb; --muted:#9ca3af; --card:#111111; --line:#1f2937; --accent:#10b981;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);}
a{color:inherit}
header{position:sticky;top:0;background:rgba(255,255,255,.7);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line);z-index:50}
:root.dark header{background:rgba(17,17,17,.7)}
.container{max-width:1100px;margin:0 auto;padding:14px 16px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900}
.badge{background:#059669;color:#fff;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:800}
.controls{display:flex;align-items:center;gap:10px}
.search{position:relative}
.search input{border:1px solid var(--line);border-radius:12px;padding:8px 10px 8px 32px;background:#f3f4f6}
:root.dark .search input{background:#0f172a;color:#e5e7eb;border-color:#334155}
.search svg{position:absolute;left:8px;top:8px;opacity:.6}
.switch{border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:transparent;cursor:pointer}
.hero{position:relative;height:46vh;min-height:300px;display:flex;align-items:flex-end;color:#fff;background:#111}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.85)}
:root.dark .hero img{filter:brightness(.55)}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65),rgba(0,0,0,.2),transparent)}
.hero .content{position:relative;z-index:2;padding:0 16px 28px;max-width:1100px;margin:0 auto}
h1{font-size:40px;margin:0 0 6px}
.grid{display:grid;gap:16px;padding:24px 16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));max-width:1100px;margin:0 auto}
.card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);transition:box-shadow .2s}
.card:hover{box-shadow:0 14px 28px rgba(0,0,0,.12)}
.card img{width:100%;height:180px;object-fit:cover}
.card .p{padding:12px}
.region{font-size:12px;color:var(--accent);font-weight:800}
.card h3{margin:6px 0 6px;font-size:16px}
.card .blurb{font-size:13px;color:var(--muted)}
.card .meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.price{font-weight:900}
.btn{border:1px solid var(--line);border-radius:12px;padding:6px 10px;background:transparent;cursor:pointer}
.cta{max-width:1100px;margin:20px auto;padding:18px;border-radius:20px;background:linear-gradient(135deg,#059669,#0ea5e9);color:#fff}
footer{border-top:1px solid var(--line);color:var(--muted)}
.footer-inner{display:flex;justify-content:space-between;align-items:center;padding:18px 16px}
.notice{padding:6px 10px;background:#f8fafc;border-top:1px solid var(--line)}
:root.dark .notice{background:#0b1220}
/* Admin FAB & Panel */
.admin-fab{position:fixed;right:18px;bottom:18px;background:#059669;color:#fff;border:none;border-radius:999px;padding:10px 16px;font-weight:800;box-shadow:0 12px 22px rgba(5,150,105,.35);cursor:pointer;z-index:60}
.panel{position:fixed;inset:auto 0 0 0;background:var(--card);border-top:1px solid var(--line);transform:translateY(100%);transition:transform .2s;padding:16px;max-height:70vh;overflow:auto;z-index:55}
.panel.show{transform:translateY(0)}
.panel h3{margin:6px 0 10px}
.panel .grid{padding:0;max-width:none}
.small{font-size:12px;opacity:.8}
.form-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.input, .select, .textarea{border:1px solid var(--line);border-radius:10px;background:#f3f4f6;padding:8px 10px}
:root.dark .input, :root.dark .select, :root.dark .textarea{background:#0f172a;color:#e5e7eb;border-color:#334155}
.section{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:12px;background:var(--card)}
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th,.table td{border-bottom:1px solid var(--line);padding:8px;text-align:left}
.kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
/* Auth modal (placeholder) */
.modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.6);z-index:70}
.modal .box{width:min(96vw,420px);background:#0f172a;color:#e5e7eb;border:1px solid #334155;border-radius:16px;padding:16px}
.modal .row{display:flex;gap:10px;align-items:center}
.modal button{border-radius:12px;border:1px solid #334155;background:#111827;color:#e5e7eb;padding:10px 12px;cursor:pointer}
