:root{--bg: #0b1120;--bg-2: #0f172a;--surface: #172033;--surface-2: #1f2b42;--text: #e8eef7;--muted: #94a3b8;--accent: #38bdf8;--accent-strong: #0ea5e9;--border: #29374f;--danger: #fb7185;--success: #4ade80;--shadow: 0 10px 30px rgba(0, 0, 0, .35);--radius: 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(1200px 600px at 80% -10%,rgba(14,165,233,.18),transparent 60%),radial-gradient(900px 500px at -10% 0%,rgba(56,189,248,.1),transparent 55%),var(--bg);-webkit-font-smoothing:antialiased}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:14px 24px;background:#0b1120bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;color:inherit;text-decoration:none}.brand .logo{font-size:22px}.nav{margin-left:auto;display:flex;gap:6px}.nav a{background:transparent;border:1px solid transparent;color:var(--muted);padding:8px 14px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;text-decoration:none;transition:color .15s,background .15s;white-space:nowrap}.nav a:hover{color:var(--text);background:var(--surface)}.nav a.active{background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:#012}.burger{display:none;margin-left:auto;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0 10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;z-index:40}.burger span{display:block;height:2px;width:100%;background:var(--text);border-radius:2px;transition:transform .2s ease,opacity .2s ease}.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;background:#02061066}main{max-width:1040px;margin:0 auto;padding:28px 24px 72px}.hero{text-align:center;padding:28px 0 8px;margin-bottom:28px}.hero h2{margin:0 0 8px;font-size:clamp(26px,5vw,40px);line-height:1.1;letter-spacing:-.02em;background:linear-gradient(180deg,#fff,#b9d9ec);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{margin:0 auto 22px;color:var(--muted);max-width:520px;font-size:15px}.search-bar{width:100%;max-width:560px;padding:14px 18px;font-size:15px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s}.search-bar::placeholder{color:var(--muted)}.search-bar:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #38bdf826}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease,border-color .18s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#38506f}.card-media{position:relative;overflow:hidden}.card-media img{width:100%;height:190px;object-fit:cover;display:block;background:var(--surface-2);transition:transform .4s ease}.card:hover .card-media img{transform:scale(1.06)}.rating-badge{position:absolute;top:12px;right:12px;background:#020814b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fbbf24;font-size:13px;font-weight:700;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08)}.card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}.card-body h3{margin:0;font-size:18px;letter-spacing:-.01em}.location{color:var(--muted);font-size:13px}.desc{color:var(--muted);font-size:13.5px;line-height:1.5;flex:1;margin:4px 0 0}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.price{font-weight:800;font-size:18px}.price span{font-weight:500;font-size:12px;color:var(--muted)}button.primary{background:linear-gradient(180deg,var(--accent),var(--accent-strong));border:none;color:#012;padding:10px 18px;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;transition:filter .15s,transform .1s}button.primary:hover{filter:brightness(1.08)}button.primary:active{transform:translateY(1px)}button.primary:disabled{opacity:.55;cursor:not-allowed}button.ghost{background:transparent;border:1px solid var(--border);color:var(--text);padding:10px 18px;border-radius:10px;font-weight:600;cursor:pointer}button.ghost:hover{background:var(--surface-2)}.banner{padding:12px 16px;border-radius:12px;font-size:14px;margin-bottom:20px}.banner.success{background:#4ade801f;border:1px solid rgba(74,222,128,.3);color:var(--success)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020610b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50;animation:fade .15s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:26px;width:100%;max-width:460px;box-shadow:var(--shadow);animation:pop .18s ease}@keyframes pop{0%{transform:scale(.96) translateY(6px);opacity:0}to{transform:none;opacity:1}}.modal h2{margin:4px 0 16px;font-size:22px;letter-spacing:-.01em}.modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;font-size:14px}.modal-close:hover{color:var(--text)}.field{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}.field label{font-size:12.5px;color:var(--muted);font-weight:600}.field input{padding:11px 13px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:16px}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #38bdf826}.row{display:flex;gap:12px}.row .field{flex:1}.total-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;margin:4px 0;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;font-size:14px;color:var(--muted)}.total-row strong{color:var(--text);font-size:18px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.error{color:var(--danger);font-size:13.5px;margin:0 0 12px}.empty,.loading{color:var(--muted);padding:56px 0;text-align:center;font-size:15px}.booking-list{display:flex;flex-direction:column;gap:14px}.booking-card{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 20px}.booking-main{min-width:200px;flex:1}.booking-main h3{margin:0 0 4px;font-size:16px}.booking-meta{display:flex;gap:28px;flex-wrap:wrap}.booking-meta>div{font-size:14px;display:flex;flex-direction:column;gap:3px}.meta-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.page{padding-top:8px}.page.narrow{max-width:640px;margin:0 auto}.page-title{font-size:clamp(24px,4vw,34px);letter-spacing:-.02em;margin:8px 0 6px}.page-lead{color:var(--muted);font-size:16px;margin:0 0 24px}.page p{line-height:1.7;color:#cbd6e6}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;transition:transform .18s,border-color .18s}.tile:hover{transform:translateY(-4px);border-color:#38506f}.tile-emoji{font-size:30px}.tile h3{margin:12px 0 6px;font-size:18px}.tile p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.stat-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}.stat{flex:1;min-width:120px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;text-align:center}.stat strong{display:block;font-size:28px;color:var(--accent)}.stat span{color:var(--muted);font-size:13px}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:8px 0 20px}.contact-card{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;text-decoration:none;color:var(--text);transition:border-color .18s,transform .18s}a.contact-card:hover{border-color:var(--accent);transform:translateY(-3px)}.contact-emoji{font-size:26px}.contact-card strong{font-size:15px}.contact-card span{color:var(--muted);font-size:14px}.note{color:var(--muted);font-size:13px;font-style:italic}.app-footer{max-width:1040px;margin:0 auto;padding:24px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--border);color:var(--muted);font-size:13px}@media(max-width:720px){.app-header{padding:12px 16px}.brand{font-size:16px}main{padding:18px 16px 56px}.hero{padding:12px 0 4px;margin-bottom:20px}.grid{grid-template-columns:1fr;gap:18px}.card-media img{height:200px}.modal{padding:22px 18px;border-radius:16px}.booking-meta{gap:18px}.burger{display:flex}.nav{position:absolute;top:calc(100% + 8px);right:12px;left:12px;z-index:30;flex-direction:column;gap:4px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .15s ease,transform .15s ease}.nav.open{opacity:1;transform:none;pointer-events:auto}.nav a{width:100%;text-align:left;padding:12px 14px;font-size:15px}}@media(max-width:380px){.brand span:not(.logo){display:none}.row{flex-direction:column;gap:0}}
