:root{--bg:#09090a;--panel:#141417;--raised:#1d1b18;--text:#f7f3ea;--muted:#aaa49a;--line:#2a2826;--gold:#c79640;--gold2:#f2c973;--ok:#3ab875;--bad:#d95656;--input:#201f22;--shadow:#0008}body[data-theme=light]{--bg:#f7f5ed;--panel:#ffffff;--raised:#f0ece1;--text:#15120d;--muted:#6d675d;--line:#ded8ca;--input:#faf8f2;--shadow:#0002}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}.topbar{height:78px;position:sticky;top:0;z-index:30;display:flex;align-items:center;padding:0 3.3%;background:color-mix(in srgb,var(--panel) 92%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{border:0;background:none;color:var(--gold2);display:grid;text-align:left;padding:0}.brand span{font-weight:850;font-size:21px;letter-spacing:-.5px}.brand small{text-transform:uppercase;letter-spacing:2px;font-size:9px;color:var(--muted);margin-top:2px}.topbar nav{margin-left:auto;display:flex;align-items:center;gap:25px}.topbar nav button:not(.icon-btn){border:0;background:none}.topbar nav button:hover{color:var(--gold2)}.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--raised);display:grid;place-items:center}.hamb{display:none;margin-left:auto;background:none;border:0;font-size:24px}.hero{min-height:520px;margin:22px 2.2% 0;border-radius:22px;padding:58px 4% 128px;position:relative;overflow:hidden;background:linear-gradient(135deg,#111113 0,#211a10 56%,#070707 100%);border:1px solid #2d2418}.hero:after{content:"";position:absolute;inset:auto 5% 25% auto;width:360px;height:360px;border:1px solid #f2c97328;border-radius:50%;box-shadow:0 0 0 70px #f2c97310}.hero h1{max-width:760px;font-size:clamp(40px,5vw,72px);line-height:1.02;letter-spacing:0;margin:14px 0}.hero p{max-width:660px;color:#d8d0c2;font-size:18px;line-height:1.6}.eyebrow{font-size:11px;letter-spacing:2.3px;text-transform:uppercase;color:var(--gold2);font-weight:800}.search{position:absolute;z-index:2;left:4%;right:4%;bottom:38px;display:grid;grid-template-columns:1.4fr repeat(5,1fr) auto;gap:0;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 24px 70px var(--shadow)}.search label{border-right:1px solid var(--line);padding:6px 13px;font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase}.search input,.search select{display:block;width:100%;border:0;background:transparent;color:var(--text);margin-top:7px;min-width:0}.search button{align-self:stretch}.gold{border:0;border-radius:10px;background:linear-gradient(135deg,#f2c973,#bd8730);color:#111;padding:12px 18px;font-weight:800}.gold:hover{filter:brightness(1.05)}.ghost{border:1px solid var(--line);background:var(--raised);border-radius:10px;padding:10px 14px}.section{padding:58px 3.3%}.page{min-height:70vh}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-title h2,.page h1{font-size:34px;letter-spacing:0;margin:8px 0 0}.section-title select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px 12px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.card,.panel,.adminCards article,.booking,.empty,.reserve{background:var(--panel);border:1px solid var(--line);border-radius:8px}.card{overflow:hidden;cursor:pointer;transition:.2s}.card:hover{transform:translateY(-4px);border-color:var(--gold)}.photo{height:225px;margin:12px;border-radius:7px;background:linear-gradient(135deg,#6c4a22,#111);background-size:cover;background-position:center;position:relative;overflow:hidden}.photo:after,.gallery>div:after{content:"";position:absolute;inset:0;background:linear-gradient(25deg,#0008,transparent 60%)}.photo b,.rating{position:absolute;z-index:2;top:12px;border-radius:20px;background:#09090acc;color:var(--gold2);font-size:11px;padding:6px 9px}.photo b{left:12px}.rating{right:12px}.card-copy{padding:0 18px 18px;position:relative}.card-copy h3{margin:2px 0 7px;font-size:18px}.card-copy p{margin:5px 0;color:var(--muted);font-size:12px}.card-copy strong{display:block;margin-top:16px;color:var(--gold2)}small{color:var(--muted)}.card-copy button{position:absolute;right:16px;bottom:16px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--raised)}.loading,.empty{padding:38px;text-align:center;color:var(--muted);grid-column:1/-1}.detailPage{padding:38px 3.3% 80px}.back{border:0;background:none;color:var(--gold2);margin-bottom:25px}.detailTitle{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.detailTitle h1{font-size:46px;letter-spacing:0;margin:8px 0}.detailTitle p,.muted{color:var(--muted)}.gallery{height:430px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.gallery>div{border-radius:8px;background:linear-gradient(135deg,#5a3f22,#111);background-size:cover;background-position:center;position:relative;overflow:hidden}.gallery-main span{position:absolute;z-index:2;left:24px;bottom:22px;font:28px Georgia,serif;color:#fff}.detailGrid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:55px;margin-top:36px}.detailGrid article{line-height:1.7}.detailGrid hr{border:0;border-top:1px solid var(--line);margin:28px 0}.chips{display:flex;flex-wrap:wrap;gap:10px}.chips span{border:1px solid var(--line);background:var(--raised);border-radius:20px;padding:9px 12px;font-size:13px}.reserve{padding:22px;height:max-content;position:sticky;top:100px;box-shadow:0 22px 60px var(--shadow)}.reserve h2{margin-top:0;color:var(--gold2)}.reserve p{background:var(--raised);padding:13px;border-radius:7px}.reserve button{width:100%;margin:8px 0 12px}.stack{display:grid;gap:16px}.booking{padding:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.booking h2{margin:8px 0}.booking p{color:var(--muted)}.status{border-radius:20px;padding:5px 9px;font-size:10px;font-weight:800}.status.pending{color:var(--gold2);background:#8b64252c}.status.confirmed,.status.received{color:var(--ok);background:#16804b24}.status.cancelled,.status.refunded{color:var(--bad);background:#b8353524}.sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;background:var(--panel);border-right:1px solid var(--line);padding:28px 16px}.sidebar nav{display:grid;gap:8px;margin-top:46px}.sidebar nav button{text-align:left;border:0;background:none;border-radius:8px;padding:13px 14px;color:var(--muted)}.sidebar nav button.active,.sidebar nav button:hover{background:var(--raised);color:var(--gold2)}.adminBody{margin-left:240px;min-height:100vh;padding:0 3.3% 52px}.adminHead{height:100px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);margin-bottom:24px}.adminHead div{margin-right:auto}.adminHead h1{margin:0;font-size:28px}.adminHead p{color:var(--muted);margin:5px 0 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metrics article{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px}.metrics span{color:var(--muted);font-size:12px}.metrics strong{display:block;font-size:25px;margin-top:10px}.panel{padding:20px;margin-top:20px;overflow:auto}.table{min-width:980px}.thead,.tr{display:grid;grid-template-columns:1fr 1.1fr 1.25fr 1.25fr 1fr 1fr 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:13px 8px;font-size:12px}.thead{color:var(--muted);font-size:10px;text-transform:uppercase}.tr select{background:var(--input);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:7px}.tr button,.actions button{border:0;border-radius:7px;background:var(--gold);color:#111;padding:8px 10px;font-size:11px;font-weight:800}.ref{color:var(--gold2);font-weight:800}.adminCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.adminCards article{padding:14px}.adminCards h3{margin:12px 0 7px}.adminCards p{color:var(--muted);font-size:12px}.adminCards strong{color:var(--gold2)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#111;font-weight:850}.row{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;border-bottom:1px solid var(--line);padding:15px 0}dialog{width:min(760px,calc(100% - 28px));max-height:92vh;overflow:auto;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:28px;box-shadow:0 30px 90px var(--shadow)}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}dialog .x{position:absolute;right:16px;top:12px;background:none;border:0;font-size:26px}.form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form label{font-size:12px;color:var(--muted);font-weight:750}.form input,.form select,.form textarea{display:block;width:100%;margin-top:7px;background:var(--input);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:11px}.form textarea{resize:vertical}.wide{grid-column:1/-1}.check{display:flex!important;gap:9px;align-items:center;background:var(--raised);padding:11px;border-radius:8px}.check input{width:auto;margin:0}.upload{border:1px dashed var(--gold);border-radius:8px;padding:16px}.upload span{display:block;margin-top:8px;color:var(--muted);font-size:11px}.image-admin{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.image-admin figure{margin:0;background:var(--raised);border:1px solid var(--line);border-radius:8px;overflow:hidden}.image-admin img{width:100%;height:110px;object-fit:cover;display:block}.image-admin button{width:100%;border:0;background:var(--bad);color:white;padding:8px;font-size:11px}.note{background:var(--raised);border-left:3px solid var(--gold);padding:13px;display:grid;gap:5px}#toast{position:fixed;right:22px;bottom:22px;z-index:100;background:var(--text);color:var(--bg);padding:14px 18px;border-radius:9px;font-weight:800;box-shadow:0 16px 44px var(--shadow);transform:translateY(90px);opacity:0;transition:.22s}#toast.show{transform:none;opacity:1}footer{padding:38px 3.3%;border-top:1px solid var(--line);display:flex;align-items:center;gap:30px}footer p{margin-left:auto;color:var(--muted)}
@media(max-width:1150px){.search{grid-template-columns:repeat(3,1fr)}.search button{grid-column:1/-1}.cards{grid-template-columns:repeat(2,1fr)}.detailGrid{grid-template-columns:1fr}.reserve{position:static;grid-row:1}.metrics{grid-template-columns:repeat(2,1fr)}.adminCards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{height:68px;padding:0 18px}.topbar nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--panel);border-bottom:1px solid var(--line);padding:14px;flex-direction:column;align-items:stretch}.topbar nav.open{display:flex}.topbar nav button{padding:12px}.hamb{display:block}.hero{margin:12px;border-radius:14px;min-height:650px;padding:42px 22px 330px}.hero h1{font-size:41px}.hero p{font-size:15px}.search{left:14px;right:14px;bottom:18px;grid-template-columns:1fr 1fr}.search label{border-right:0;border-bottom:1px solid var(--line)}.search label:first-child,.search button{grid-column:1/-1}.section{padding:40px 18px}.section-title{align-items:start;flex-direction:column}.cards,.adminCards,.metrics{grid-template-columns:1fr}.photo{height:245px}.detailPage{padding:24px 18px 60px}.detailTitle{display:block}.detailTitle h1{font-size:36px}.gallery{height:360px;grid-template-columns:1fr 1fr}.gallery-main{grid-column:1/-1}.detailGrid{gap:25px}.booking{display:block}.sidebar{position:static;width:auto;padding:16px;overflow:auto}.sidebar nav{display:flex;min-width:max-content;margin-top:16px}.adminBody{margin:0;padding:0 14px 44px}.adminHead{height:auto;min-height:88px;flex-wrap:wrap;padding:14px 0}.adminHead h1{font-size:23px}.adminHead p{display:none}.form{grid-template-columns:1fr}.wide{grid-column:1}.image-admin{grid-template-columns:repeat(2,1fr)}footer{display:grid}footer p{margin:0}.thead,.tr{grid-template-columns:repeat(8,130px)}#toast{left:14px;right:14px;bottom:14px;text-align:center}}

.search{grid-template-columns:1.35fr repeat(6,1fr) auto}
.account-grid,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}
.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.account-form h2,.panel h2{margin-top:0}
.mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.list{display:grid;gap:8px;margin-top:18px}
.list p{display:grid;grid-template-columns:1fr auto;gap:12px;border-top:1px solid var(--line);padding-top:10px;color:var(--muted)}
.list b{color:var(--text)}
.table{min-width:1180px}
.thead,.tr{grid-template-columns:.8fr 1fr 1.35fr 1.05fr 1.1fr .9fr .95fr .95fr auto}
@media(max-width:1150px){.settings-grid{grid-template-columns:1fr}.mini-grid{grid-template-columns:1fr 1fr}.search{grid-template-columns:repeat(4,1fr)}.search button{grid-column:1/-1}}
@media(max-width:760px){.account-grid,.settings-grid{grid-template-columns:1fr}.mini-grid{grid-template-columns:1fr}.thead,.tr{grid-template-columns:repeat(9,130px)}}

select option{background:#fff;color:#111}
body[data-theme=dark] select option{background:#151518;color:#f7f3ea}
body[data-theme=light] .hero{background:linear-gradient(135deg,#17130d 0,#2a2114 55%,#080807 100%);color:#fff}
body[data-theme=light] .hero h1,body[data-theme=light] .hero .eyebrow{color:#fff}
body[data-theme=light] .hero .eyebrow{color:var(--gold2)}
body[data-theme=light] .search{background:#fff;color:#15120d}
body[data-theme=light] .search input,body[data-theme=light] .search select{color:#15120d}
.settings-grid .panel{box-shadow:0 18px 50px var(--shadow)}
.settings-grid .panel h2{font-size:25px;margin-bottom:22px}
.list p{align-items:center;grid-template-columns:1fr auto auto}
.list em{display:flex;gap:8px;font-style:normal}
.list button{border:1px solid var(--line);background:var(--raised);color:var(--text);border-radius:7px;padding:7px 10px;font-size:11px;font-weight:800}
.list button:hover{border-color:var(--gold);color:var(--gold2)}
.list button.danger{background:#5f1f1f;color:#fff;border-color:#7c3030}
body[data-theme=light] .list button.danger{background:#fff0f0;color:#a52525;border-color:#edcaca}
body[data-theme=light] .panel,body[data-theme=light] .adminCards article,body[data-theme=light] .booking,body[data-theme=light] .empty,body[data-theme=light] .reserve{background:#fff;color:#15120d}
body[data-theme=light] .form input,body[data-theme=light] .form select,body[data-theme=light] .form textarea{background:#fffdf8;color:#15120d}
body[data-theme=light] .check{background:#f0ece1;color:#15120d}
.compact-section{padding-top:36px;padding-bottom:20px}
.city-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.city-card{min-height:235px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#5d401f,#111);background-size:cover;background-position:center;position:relative;overflow:hidden;text-align:left;padding:24px;color:white;display:flex;flex-direction:column;justify-content:flex-start;box-shadow:0 18px 55px var(--shadow)}
.city-card:before,.type-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#000b 0,#0002 45%,#0009 100%)}
.city-card span,.city-card small,.type-card span,.type-card small{position:relative;z-index:2}
.city-card span{font-size:30px;font-weight:850;line-height:1}
.city-card small{margin-top:8px;color:#f2e7d3;font-weight:700}
.city-card-0,.city-card-1{grid-column:span 3}
.city-card-2,.city-card-3,.city-card-4{grid-column:span 2}
.type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.type-card{height:235px;border:0;border-radius:8px;background:linear-gradient(135deg,#40382b,#111);background-size:cover;background-position:center;position:relative;overflow:hidden;text-align:left;padding:18px;color:white;display:flex;flex-direction:column;justify-content:flex-end}
.type-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,#f2c97322,transparent 30%)}
.type-card span{font-size:20px;font-weight:850}
.type-card small{color:#f2e7d3;font-weight:700;margin-top:4px}
.type-card-0{background-image:linear-gradient(135deg,#5d5146,#171717)}
.type-card-1{background-image:linear-gradient(135deg,#6c4f2d,#171717)}
.type-card-2{background-image:linear-gradient(135deg,#8b6b3e,#171717)}
.type-card-3{background-image:linear-gradient(135deg,#4d6543,#171717)}
.image-list p{grid-template-columns:62px 1fr auto auto}
.image-list img,.image-list i{width:62px;height:46px;border-radius:6px;object-fit:cover;background:linear-gradient(135deg,#6c4a22,#111);display:block}
@media(max-width:1150px){.city-grid{grid-template-columns:repeat(2,1fr)}.city-card,.city-card-0,.city-card-1,.city-card-2,.city-card-3,.city-card-4{grid-column:auto}.type-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.city-grid,.type-grid{grid-template-columns:1fr}.city-card,.type-card{min-height:210px;height:210px}.city-card span{font-size:26px}.image-list p{grid-template-columns:54px 1fr}.image-list em{grid-column:2}}
