:root {
  --ink: #132b2a;
  --muted: #647774;
  --forest: #103d38;
  --forest-2: #0a2f2b;
  --teal: #1d746a;
  --lime: #dff36a;
  --orange: #ff805e;
  --sand: #f3efe5;
  --cream: #fbfaf6;
  --white: #ffffff;
  --line: #dfe7e3;
  --soft-line: rgba(19, 43, 42, .11);
  --success: #13795b;
  --danger: #cb4b43;
  --warning: #a86908;
  --shadow-sm: 0 10px 30px rgba(13, 50, 46, .08);
  --shadow: 0 22px 60px rgba(13, 50, 46, .12);
  --shadow-lg: 0 36px 90px rgba(13, 50, 46, .18);
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 32px;
  --font-display: "Manrope", sans-serif;
  --font-body: "DM Sans", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--font-body); overflow-x: hidden; -webkit-font-smoothing: antialiased; }
body.menu-open, body.lightbox-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { color: inherit; font: inherit; }
button, select { cursor: pointer; }
button { border: 0; }
input, select, textarea { outline: 0; }
svg { width: 1.15em; height: 1.15em; stroke-width: 2; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.section { padding: 96px 0; }
.button { align-items: center; background: var(--orange); border: 1px solid var(--orange); border-radius: 999px; color: #fff; display: inline-flex; font-family: var(--font-display); font-size: 14px; font-weight: 800; gap: 9px; justify-content: center; min-height: 48px; padding: 0 22px; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { box-shadow: 0 12px 24px rgba(255, 128, 94, .22); transform: translateY(-2px); }
.button-dark { background: var(--forest-2); border-color: var(--forest-2); color: #fff; }
.button-dark:hover { background: var(--forest); box-shadow: 0 12px 24px rgba(10, 47, 43, .2); }
.button-ghost { background: transparent; border-color: transparent; color: var(--ink); }
.button-ghost:hover { background: #eef3f0; box-shadow: none; }
.button-light { background: white; border-color: white; color: var(--forest-2); }
.button-outline-light { background: transparent; border-color: rgba(255,255,255,.45); color: white; }
.button-lime { background: var(--lime); border-color: var(--lime); color: var(--forest-2); }
.button-muted { background: #edf1ef; border-color: #edf1ef; color: #85928f; }
.button:disabled { box-shadow: none; cursor: not-allowed; opacity: .55; transform: none; }
.text-link { align-items: center; color: var(--teal); display: inline-flex; font-weight: 700; gap: 8px; }
.section-heading h2, .section-heading-mini h2 { font-family: var(--font-display); margin: 8px 0 0; letter-spacing: -.04em; }
.section-heading h2 { font-size: clamp(34px, 4vw, 54px); line-height: 1.04; }
.section-heading p { color: var(--muted); font-size: 17px; line-height: 1.65; margin: 0; max-width: 470px; }
.split-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 42px; }
.centered-heading { margin: 0 auto 48px; max-width: 720px; text-align: center; }
.centered-heading p { margin: 16px auto 0; }
.section-kicker, .dashboard-kicker, .form-kicker { color: var(--teal); display: block; font-family: var(--font-display); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.section-kicker-orange { color: #e25d3f; }
.section-kicker.light, .eyebrow-light { color: var(--lime); }

/* Header */
.announcement-bar { background: var(--forest-2); color: #d7e9e5; font-size: 12px; }
.announcement-inner { align-items: center; display: flex; height: 34px; justify-content: space-between; }
.announcement-inner span, .announcement-inner a { align-items: center; display: flex; gap: 7px; }
.announcement-inner a { color: #fff; font-weight: 700; }
.announcement-inner svg { color: var(--lime); }
.site-header { background: rgba(251, 250, 246, .9); border-bottom: 1px solid transparent; position: sticky; top: 0; transition: border .2s, box-shadow .2s; z-index: 50; backdrop-filter: blur(18px); }
.site-header.is-scrolled { border-color: var(--line); box-shadow: 0 8px 32px rgba(13,50,46,.06); }
.header-inner { align-items: center; display: flex; height: 76px; justify-content: space-between; }
.brand { align-items: center; display: inline-flex; flex-shrink: 0; gap: 11px; }
.brand-mark { align-items: center; background: var(--forest); border-radius: 14px; color: var(--lime); display: inline-flex; height: 42px; justify-content: center; width: 42px; }
.brand-mark svg { height: 23px; width: 23px; }
.brand-copy { display: flex; flex-direction: column; }
.brand-copy strong { font-family: var(--font-display); font-size: 19px; font-weight: 800; letter-spacing: -.06em; line-height: 1; }
.brand-copy strong span { color: var(--orange); }
.brand-copy small { color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .08em; margin-top: 5px; text-transform: uppercase; }
.desktop-nav { align-items: center; display: flex; gap: 36px; }
.desktop-nav a { font-size: 14px; font-weight: 700; position: relative; }
.desktop-nav a::after { background: var(--orange); bottom: -10px; content: ""; height: 2px; left: 50%; position: absolute; transform: translateX(-50%) scaleX(0); transition: transform .2s; width: 22px; }
.desktop-nav a:hover::after { transform: translateX(-50%) scaleX(1); }
.header-actions { align-items: center; display: flex; gap: 6px; }
.header-actions .button { min-height: 43px; padding-inline: 17px; }
.menu-toggle { align-items: center; background: transparent; display: none; height: 42px; justify-content: center; width: 42px; }
.mobile-menu { background: var(--cream); border-top: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.mobile-menu .container { display: grid; gap: 4px; padding: 14px 0 20px; }
.mobile-menu a { align-items: center; border-radius: 12px; display: flex; font-weight: 700; gap: 11px; padding: 12px; }
.mobile-menu a:hover { background: #eef3f0; }

/* Hero */
.hero-section { background: #f1f5ef; min-height: 670px; overflow: hidden; padding: 66px 0 76px; position: relative; }
.hero-glow { border-radius: 50%; filter: blur(4px); pointer-events: none; position: absolute; }
.hero-glow-one { background: rgba(223,243,106,.34); height: 430px; left: -190px; top: 20px; width: 430px; }
.hero-glow-two { background: rgba(119,197,183,.17); bottom: -220px; height: 520px; right: 10%; width: 520px; }
.hero-grid { align-items: center; display: grid; gap: 62px; grid-template-columns: 1.02fr .98fr; position: relative; }
.hero-content { padding-top: 5px; position: relative; z-index: 6; }
.hero-eyebrow { align-items: center; background: white; border: 1px solid var(--line); border-radius: 999px; box-shadow: 0 7px 18px rgba(13,50,46,.06); color: var(--teal); display: inline-flex; font-family: var(--font-display); font-size: 11px; font-weight: 800; gap: 7px; letter-spacing: .08em; padding: 9px 13px; text-transform: uppercase; }
.hero-content h1 { font-family: var(--font-display); font-size: clamp(52px, 6vw, 76px); letter-spacing: -.065em; line-height: .97; margin: 23px 0 22px; }
.hero-content h1 em { color: var(--teal); font-style: normal; }
.hero-content > p { color: #566d69; font-size: 18px; line-height: 1.68; margin: 0; max-width: 560px; }
.hero-search { align-items: stretch; background: white; border: 1px solid rgba(13,50,46,.08); border-radius: 22px; box-shadow: 0 20px 55px rgba(13,50,46,.13); display: grid; grid-template-columns: 1.2fr 1fr auto; margin: 32px -115px 0 0; padding: 7px; position: relative; z-index: 5; }
.hero-field { border-right: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 6px 16px; }
.hero-field > span:first-child { color: var(--ink); font-size: 10px; font-weight: 800; letter-spacing: .05em; margin-bottom: 5px; text-transform: uppercase; }
.hero-field > span:last-child { align-items: center; display: flex; gap: 8px; }
.hero-field svg { color: var(--orange); flex-shrink: 0; }
.hero-field select { appearance: none; background: transparent; border: 0; color: var(--muted); font-size: 14px; font-weight: 600; min-width: 0; width: 100%; }
.hero-search-button { align-items: center; background: var(--orange); border-radius: 16px; color: white; display: flex; font-family: var(--font-display); font-size: 13px; font-weight: 800; gap: 8px; justify-content: center; min-width: 145px; padding: 0 18px; transition: background .2s, transform .2s; }
.hero-search-button:hover { background: #f4714e; transform: translateY(-1px); }
.hero-trending { align-items: center; display: flex; flex-wrap: wrap; font-size: 12px; gap: 10px; margin-top: 20px; }
.hero-trending span { color: var(--muted); font-weight: 600; }
.hero-trending a { border-bottom: 1px solid #aebdba; font-weight: 700; }
.hero-visual { height: 535px; position: relative; z-index: 2; }
.hero-image-main { border: 9px solid white; border-radius: 165px 165px 30px 30px; box-shadow: var(--shadow-lg); height: 510px; overflow: hidden; position: absolute; right: 0; top: 0; width: 390px; }
.hero-image-main::after { background: linear-gradient(180deg, transparent 65%, rgba(9,42,38,.35)); content: ""; inset: 0; position: absolute; }
.hero-image-main img { height: 100%; object-fit: cover; width: 100%; }
.hero-image-small { background: white; border: 7px solid white; border-radius: 22px; bottom: 5px; box-shadow: var(--shadow); height: 180px; left: 60px; overflow: hidden; position: absolute; transform: rotate(-3deg); width: 205px; z-index: 3; }
.hero-image-small img { height: 135px; object-fit: cover; width: 100%; }
.hero-image-small span { align-items: center; display: flex; font-family: var(--font-display); font-size: 11px; font-weight: 800; gap: 7px; padding: 10px; }
.hero-image-small svg { color: var(--orange); }
.hero-float-card { align-items: center; background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.8); border-radius: 16px; box-shadow: var(--shadow); display: flex; gap: 10px; padding: 11px 14px; position: absolute; z-index: 4; backdrop-filter: blur(10px); }
.hero-float-rating { left: 15px; top: 83px; }
.hero-float-contact { bottom: 75px; right: -25px; }
.float-icon { align-items: center; background: #fff2e9; border-radius: 12px; color: var(--orange); display: flex; height: 38px; justify-content: center; width: 38px; }
.hero-float-card > span:last-child { display: flex; flex-direction: column; }
.hero-float-card strong { font-family: var(--font-display); font-size: 13px; }
.hero-float-card small { color: var(--muted); font-size: 10px; margin-top: 2px; }
.hero-watermark { bottom: -25px; color: rgba(16,61,56,.07); font-family: var(--font-display); font-size: 160px; font-weight: 800; left: 80px; line-height: 1; position: absolute; }

.proof-strip { background: white; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); }
.proof-grid { align-items: center; display: grid; grid-template-columns: .7fr .85fr .7fr 1.5fr; min-height: 104px; }
.proof-grid > div { border-right: 1px solid var(--line); display: flex; flex-direction: column; padding: 0 28px; }
.proof-grid > div:first-child { padding-left: 0; }
.proof-grid > div:last-child { border: 0; padding-right: 0; }
.proof-grid strong { font-family: var(--font-display); font-size: 23px; letter-spacing: -.04em; }
.proof-grid span { color: var(--muted); font-size: 11px; margin-top: 2px; }
.proof-people { align-items: center; flex-direction: row !important; padding-left: 34px !important; }
.proof-avatar { align-items: center; background: var(--sand); border: 3px solid white; border-radius: 50%; color: var(--forest) !important; display: flex; font-size: 9px !important; font-weight: 800; height: 34px; justify-content: center; margin: 0 0 0 -8px !important; width: 34px; }
.proof-avatar:first-child { margin-left: 0 !important; }
.proof-people p { color: var(--muted); font-size: 10px; line-height: 1.4; margin: 0 0 0 12px; }
.proof-people p strong { color: var(--ink); font-size: 12px; }

/* Home sections */
.amenity-section { background: var(--cream); }
.amenity-grid { display: grid; gap: 13px; grid-template-columns: repeat(4, 1fr); }
.amenity-card { align-items: center; background: white; border: 1px solid var(--line); border-radius: 18px; display: grid; gap: 12px; grid-template-columns: auto 1fr auto; min-height: 84px; padding: 15px; transition: border .2s, box-shadow .2s, transform .2s; }
.amenity-card:hover { border-color: #b9cfca; box-shadow: var(--shadow-sm); transform: translateY(-3px); }
.amenity-card > span { align-items: center; background: #edf6f3; border-radius: 13px; color: var(--teal); display: flex; height: 48px; justify-content: center; width: 48px; }
.amenity-card strong { font-family: var(--font-display); font-size: 13px; }
.amenity-card > svg { color: #9baba7; height: 16px; width: 16px; }
.listing-section { background: #f1f5ef; }
.listing-heading { margin-bottom: 28px; }
.sort-form label { align-items: center; background: white; border: 1px solid var(--line); border-radius: 999px; display: flex; gap: 8px; padding: 0 14px; }
.sort-form select { appearance: none; background: transparent; border: 0; font-size: 12px; font-weight: 700; height: 42px; }
.listing-filter-bar { align-items: center; background: white; border: 1px solid var(--line); border-radius: 18px; display: grid; gap: 0; grid-template-columns: 1.4fr 1fr .8fr 1fr auto auto; margin-bottom: 32px; padding: 6px; }
.listing-filter-bar label { border-right: 1px solid var(--line); padding: 0 13px; }
.listing-filter-bar input, .listing-filter-bar select { appearance: none; background: white; border: 0; font-size: 12px; font-weight: 600; height: 42px; width: 100%; }
.filter-search { align-items: center; display: flex; gap: 8px; }
.filter-search svg { color: var(--orange); flex-shrink: 0; }
.listing-filter-bar button { align-items: center; background: var(--forest); border-radius: 13px; color: white; display: flex; font-size: 12px; font-weight: 800; gap: 7px; height: 44px; justify-content: center; padding: 0 18px; }
.listing-filter-bar > a { align-items: center; display: flex; height: 42px; justify-content: center; width: 42px; }
.listing-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, 1fr); }
.listing-card { background: white; border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 4px 0 rgba(13,50,46,.01); min-width: 0; overflow: hidden; position: relative; transition: box-shadow .25s, transform .25s; }
.listing-card:hover { box-shadow: var(--shadow); transform: translateY(-5px); }
.listing-image { display: block; height: 245px; overflow: hidden; position: relative; }
.listing-image::after { background: linear-gradient(180deg, rgba(5,30,27,.04), rgba(5,30,27,.35)); content: ""; inset: 0; position: absolute; }
.listing-image img { height: 100%; object-fit: cover; transition: transform .5s; width: 100%; }
.listing-card:hover .listing-image img { transform: scale(1.04); }
.listing-featured, .listing-photo-meta { align-items: center; backdrop-filter: blur(8px); border-radius: 999px; display: flex; font-size: 9px; font-weight: 800; gap: 5px; padding: 7px 9px; position: absolute; top: 14px; z-index: 2; }
.listing-featured { background: var(--lime); color: var(--forest-2); left: 14px; text-transform: uppercase; }
.listing-photo-meta { background: rgba(8,43,39,.7); color: white; right: 14px; }
.favorite-form { position: absolute; right: 15px; top: 208px; z-index: 3; }
.favorite-button { align-items: center; background: white; border-radius: 50%; box-shadow: 0 8px 20px rgba(13,50,46,.15); display: flex; height: 43px; justify-content: center; transition: color .2s, transform .2s; width: 43px; }
.favorite-button:hover { transform: scale(1.07); }
.favorite-button.is-saved { color: var(--orange); }
.favorite-button.is-saved svg { fill: currentColor; }
.listing-body { display: block; padding: 20px 20px 18px; }
.listing-location { align-items: center; color: var(--teal); display: flex; font-size: 10px; font-weight: 800; gap: 5px; letter-spacing: .07em; text-transform: uppercase; }
.listing-body h3 { font-family: var(--font-display); font-size: 20px; letter-spacing: -.035em; margin: 8px 0 8px; }
.listing-body > p { color: var(--muted); font-size: 12px; line-height: 1.55; margin: 0; min-height: 38px; }
.listing-specs { display: flex; gap: 14px; margin-top: 15px; }
.listing-specs span { align-items: center; color: #526763; display: flex; font-size: 11px; gap: 5px; }
.listing-specs svg { color: var(--teal); }
.listing-footer { align-items: end; border-top: 1px solid var(--line); display: flex; justify-content: space-between; margin-top: 17px; padding-top: 15px; }
.listing-footer > span:first-child { display: block; font-size: 10px; }
.listing-footer small { color: var(--muted); display: block; }
.listing-footer strong { font-family: var(--font-display); font-size: 18px; }
.round-arrow { align-items: center; background: var(--forest); border-radius: 50%; color: white; display: flex !important; height: 34px; justify-content: center; width: 34px; }
.empty-public { align-items: center; background: white; border: 1px dashed #bdcbc7; border-radius: 24px; display: flex; flex-direction: column; padding: 60px 20px; text-align: center; }
.empty-public > span { align-items: center; background: #edf6f3; border-radius: 50%; color: var(--teal); display: flex; height: 70px; justify-content: center; width: 70px; }
.empty-public h3 { font-family: var(--font-display); font-size: 24px; margin: 18px 0 5px; }
.empty-public p { color: var(--muted); margin: 0 0 22px; }
.how-section { background: var(--cream); }
.how-panel { background: var(--forest-2); border-radius: 36px; color: white; display: grid; gap: 55px; grid-template-columns: .7fr 1.3fr; overflow: hidden; padding: 58px; position: relative; }
.how-panel::after { border: 70px solid rgba(223,243,106,.07); border-radius: 50%; content: ""; height: 350px; left: -210px; position: absolute; top: -210px; width: 350px; }
.how-intro { position: relative; z-index: 1; }
.how-intro h2 { font-family: var(--font-display); font-size: 42px; letter-spacing: -.055em; line-height: 1.06; margin: 10px 0 18px; }
.how-intro p { color: #bad0cb; font-size: 15px; line-height: 1.65; margin: 0 0 28px; }
.how-steps { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.how-steps article { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: 21px; padding: 24px 20px; position: relative; }
.how-steps article > span { color: rgba(255,255,255,.3); font-family: var(--font-display); font-size: 11px; font-weight: 800; position: absolute; right: 17px; top: 15px; }
.how-steps article > svg { background: var(--lime); border-radius: 13px; color: var(--forest-2); height: 45px; padding: 11px; width: 45px; }
.how-steps h3 { font-family: var(--font-display); font-size: 17px; letter-spacing: -.03em; margin: 20px 0 8px; }
.how-steps p { color: #aec5c0; font-size: 12px; line-height: 1.55; margin: 0; }
.credit-section { background: #f1f5ef; }
.credit-rule { align-items: center; background: white; border: 1px solid var(--line); border-radius: 18px; display: flex; gap: 15px; margin: 0 auto 28px; max-width: 650px; padding: 13px 18px; }
.credit-rule > span { align-items: center; background: #edf6f3; border-radius: 12px; color: var(--teal); display: flex; height: 44px; justify-content: center; width: 44px; }
.credit-rule p { display: flex; flex-direction: column; margin: 0; }
.credit-rule strong { font-family: var(--font-display); font-size: 13px; }
.credit-rule small { color: var(--muted); font-size: 10px; margin-top: 3px; }
.plan-grid { align-items: stretch; display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.plan-card { background: white; border: 1px solid var(--line); border-radius: 24px; display: flex; flex-direction: column; padding: 28px; position: relative; }
.plan-card.is-featured { border: 2px solid var(--forest); box-shadow: var(--shadow); transform: translateY(-8px); }
.plan-popular { background: var(--lime); border-radius: 999px; color: var(--forest-2); font-size: 9px; font-weight: 800; left: 50%; letter-spacing: .08em; padding: 7px 13px; position: absolute; text-transform: uppercase; top: 0; transform: translate(-50%, -50%); white-space: nowrap; }
.plan-top { align-items: center; display: flex; justify-content: space-between; }
.plan-top > span, .dashboard-plan-top > span { align-items: center; background: #edf6f3; border-radius: 13px; color: var(--teal); display: flex; height: 46px; justify-content: center; width: 46px; }
.plan-top small, .dashboard-plan-top small { background: #f2f4f2; border-radius: 999px; color: var(--muted); font-size: 10px; font-weight: 800; padding: 7px 10px; text-transform: uppercase; }
.plan-card h3 { font-family: var(--font-display); font-size: 22px; letter-spacing: -.04em; margin: 20px 0 6px; }
.plan-card > p { color: var(--muted); font-size: 12px; line-height: 1.55; margin: 0; min-height: 38px; }
.plan-price { align-items: baseline; display: flex; flex-wrap: wrap; gap: 8px; margin: 23px 0 18px; }
.plan-price strong { font-family: var(--font-display); font-size: 29px; letter-spacing: -.05em; }
.plan-price span { color: var(--muted); font-size: 10px; }
.plan-card ul { border-top: 1px solid var(--line); display: grid; gap: 11px; list-style: none; margin: 0 0 25px; padding: 20px 0 0; }
.plan-card li { align-items: center; display: flex; font-size: 12px; gap: 8px; }
.plan-card li svg { color: var(--teal); }
.plan-card .button { margin-top: auto; width: 100%; }
.plan-note { align-items: center; color: var(--muted); display: flex; font-size: 11px; gap: 7px; justify-content: center; margin: 28px 0 0; }
.host-cta-section { background: var(--cream); padding-top: 35px; }
.host-cta { background: #b85b43; border-radius: 34px; color: white; display: grid; grid-template-columns: .9fr 1.1fr; min-height: 460px; overflow: hidden; }
.host-cta-art { min-height: 460px; overflow: hidden; position: relative; }
.host-cta-art::after { background: linear-gradient(90deg, transparent 55%, #b85b43); content: ""; inset: 0; position: absolute; }
.host-cta-art img { height: 100%; object-fit: cover; width: 100%; }
.host-cta-art span { background: var(--lime); border-radius: 50%; height: 120px; left: 18%; opacity: .7; position: absolute; top: 16%; width: 120px; }
.host-cta-content { align-self: center; max-width: 520px; padding: 55px 65px 55px 35px; position: relative; z-index: 2; }
.host-cta-content h2 { font-family: var(--font-display); font-size: 45px; letter-spacing: -.055em; line-height: 1.04; margin: 10px 0 16px; }
.host-cta-content > p { color: #f4d8d0; font-size: 15px; line-height: 1.65; margin: 0 0 26px; }
.host-cta-content > div { display: flex; gap: 10px; }

/* Footer / global feedback */
.site-footer { background: #092b28; color: white; padding: 75px 0 95px; }
.footer-grid { display: grid; gap: 55px; grid-template-columns: 1.65fr .7fr .8fr 1fr; }
.brand-light .brand-copy strong { color: white; }
.brand-light .brand-mark { background: rgba(255,255,255,.1); }
.footer-brand p, .footer-note p { color: #9db7b2; font-size: 13px; line-height: 1.6; margin: 20px 0 0; max-width: 310px; }
.footer-links, .footer-note { display: flex; flex-direction: column; gap: 12px; }
.footer-links strong, .footer-note strong { font-family: var(--font-display); font-size: 13px; margin-bottom: 5px; }
.footer-links a { color: #9db7b2; font-size: 12px; }
.footer-links a:hover { color: var(--lime); }
.footer-note p { margin-top: 0; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); color: #76948e; display: flex; font-size: 10px; justify-content: space-between; margin-top: 55px; padding-top: 22px; }
.mobile-bottom-nav { display: none; }
.toast { align-items: center; background: white; border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow); display: flex; font-size: 13px; font-weight: 700; gap: 10px; max-width: 410px; padding: 14px 17px; position: fixed; right: 22px; top: 126px; z-index: 90; animation: toast-in .35s ease; }
.toast-success svg { color: var(--success); }
.toast-warning svg { color: var(--warning); }
.toast-error svg { color: var(--danger); }
.toast.is-hiding { opacity: 0; transform: translateY(-8px); transition: .25s; }
@keyframes toast-in { from { opacity: 0; transform: translateY(-10px); } }

/* Detail */
.detail-top { background: white; padding: 34px 0 26px; }
.breadcrumbs { align-items: center; color: var(--muted); display: flex; font-size: 11px; gap: 7px; margin-bottom: 22px; }
.breadcrumbs svg { height: 13px; width: 13px; }
.breadcrumbs span { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.detail-title-row { align-items: flex-end; display: flex; justify-content: space-between; }
.detail-location { align-items: center; color: var(--teal); display: flex; font-size: 11px; font-weight: 700; gap: 6px; }
.detail-title-row h1 { font-family: var(--font-display); font-size: clamp(34px, 5vw, 52px); letter-spacing: -.055em; line-height: 1.05; margin: 8px 0 12px; }
.detail-meta { color: var(--muted); display: flex; flex-wrap: wrap; font-size: 11px; gap: 17px; }
.detail-meta span { align-items: center; display: flex; gap: 6px; }
.detail-meta svg { color: var(--teal); }
.detail-save { align-items: center; background: white; border: 1px solid var(--line); border-radius: 999px; display: flex; font-weight: 700; gap: 8px; min-height: 43px; padding: 0 17px; }
.detail-save.is-saved { color: var(--orange); }
.detail-save.is-saved svg { fill: currentColor; }
.detail-gallery { display: grid; gap: 8px; grid-template-columns: 1.7fr .8fr .8fr; grid-template-rows: 218px 218px; margin-top: 8px; overflow: hidden; position: relative; }
.gallery-item { background: #e8eeeb; overflow: hidden; padding: 0; }
.gallery-item img { height: 100%; object-fit: cover; transition: transform .4s; width: 100%; }
.gallery-item:hover img { transform: scale(1.03); }
.gallery-item-1 { border-radius: 26px 0 0 26px; grid-row: 1 / 3; }
.gallery-item-2 { grid-column: 2; grid-row: 1; }
.gallery-item-3 { grid-column: 2; grid-row: 2; }
.gallery-item-4 { border-radius: 0 26px 0 0; grid-column: 3; grid-row: 1; }
.gallery-item-5 { border-radius: 0 0 26px 0; grid-column: 3; grid-row: 2; }
.detail-gallery.gallery-count-3 { grid-template-columns: 1.7fr .8fr; }
.detail-gallery.gallery-count-3 .gallery-item-2 { border-radius: 0 26px 0 0; }
.detail-gallery.gallery-count-3 .gallery-item-3 { border-radius: 0 0 26px 0; }
.detail-gallery.gallery-count-2 { grid-template-columns: 1.7fr .8fr; }
.detail-gallery.gallery-count-2 .gallery-item-2 { border-radius: 0 26px 26px 0; grid-column: 2; grid-row: 1 / 3; }
.detail-gallery.gallery-count-1 { display: block; }
.detail-gallery.gallery-count-1 .gallery-item-1 { height: 436px; width: 100%; }
.detail-gallery.gallery-count-4 .gallery-item-4 { border-radius: 0 26px 26px 0; grid-row: 1 / 3; }
.gallery-count { align-items: center; background: white; border-radius: 999px; bottom: 16px; box-shadow: var(--shadow-sm); display: flex; font-size: 11px; font-weight: 800; gap: 7px; padding: 10px 14px; position: absolute; right: 16px; }
.detail-section { background: var(--cream); padding-top: 70px; }
.detail-layout { align-items: start; display: grid; gap: 80px; grid-template-columns: 1fr 370px; }
.host-summary { align-items: center; display: flex; }
.host-avatar { align-items: center; background: var(--forest); border: 4px solid #dae7e3; border-radius: 50%; color: white; display: flex; font-family: var(--font-display); font-size: 18px; font-weight: 800; height: 55px; justify-content: center; margin-right: 12px; width: 55px; }
.host-summary > span:nth-child(2) { display: flex; flex-direction: column; }
.host-summary small { color: var(--muted); font-size: 10px; }
.host-summary strong { font-family: var(--font-display); font-size: 14px; margin-top: 2px; }
.verified-host { align-items: center; background: #e9f3f0; border-radius: 999px; color: var(--teal); display: flex; font-size: 9px; font-weight: 800; gap: 5px; margin-left: auto; padding: 8px 10px; text-transform: uppercase; }
.detail-copy { margin-top: 45px; }
.detail-copy h2 { font-family: var(--font-display); font-size: 31px; letter-spacing: -.045em; line-height: 1.24; margin: 9px 0 18px; }
.detail-copy p { color: var(--muted); font-size: 15px; line-height: 1.8; margin: 0; }
.detail-divider { background: var(--line); height: 1px; margin: 42px 0; }
.section-heading-mini h2 { font-size: 27px; }
.detail-amenities { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; margin-top: 25px; }
.detail-amenities span { align-items: center; border: 1px solid var(--line); border-radius: 15px; display: flex; font-size: 13px; font-weight: 600; gap: 10px; padding: 14px; }
.detail-amenities svg { color: var(--teal); }
.rules-list { display: grid; gap: 12px; list-style: none; margin: 24px 0 0; padding: 0; }
.rules-list li { align-items: center; color: var(--muted); display: flex; font-size: 13px; gap: 10px; }
.rules-list svg { color: var(--teal); }
.location-panel { align-items: center; background: #edf4f1; border-radius: 22px; display: flex; gap: 20px; padding: 25px; }
.location-icon { align-items: center; background: var(--forest); border-radius: 18px; color: var(--lime); display: flex; flex-shrink: 0; height: 65px; justify-content: center; width: 65px; }
.location-icon svg { height: 27px; width: 27px; }
.location-panel h2 { font-family: var(--font-display); font-size: 24px; margin: 6px 0; }
.location-panel p { color: var(--muted); font-size: 12px; line-height: 1.5; margin: 0; }
.booking-card { background: white; border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); padding: 25px; position: sticky; top: 104px; }
.booking-price { align-items: end; display: flex; justify-content: space-between; }
.booking-price > span { display: flex; flex-direction: column; }
.booking-price small { color: var(--muted); font-size: 10px; }
.booking-price strong { font-family: var(--font-display); font-size: 27px; letter-spacing: -.04em; }
.booking-price em { color: var(--muted); font-size: 12px; font-style: normal; margin-bottom: 5px; }
.booking-note { align-items: start; background: #edf6f3; border-radius: 12px; color: #47645f; display: flex; font-size: 10px; gap: 8px; line-height: 1.45; margin: 16px 0; padding: 10px; }
.booking-note svg { color: var(--teal); flex-shrink: 0; }
.interest-form { display: grid; gap: 11px; }
.interest-form label { display: flex; flex-direction: column; gap: 5px; }
.interest-form label > span { font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.interest-form input, .interest-form select, .interest-form textarea { background: white; border: 1px solid var(--line); border-radius: 11px; font-size: 12px; padding: 11px; resize: vertical; width: 100%; }
.interest-form input:focus, .interest-form select:focus, .interest-form textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(29,116,106,.1); }
.interest-dates { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; }
.interest-form .button, .whatsapp-button { border-radius: 13px; width: 100%; }
.booking-or { align-items: center; color: #9baba7; display: flex; font-size: 9px; gap: 10px; margin: 12px 0; text-transform: uppercase; }
.booking-or::before, .booking-or::after { background: var(--line); content: ""; flex: 1; height: 1px; }
.whatsapp-button { background: #1ba467; border-color: #1ba467; }
.related-section { background: #f1f5ef; padding-top: 75px; }
.lightbox { align-items: center; background: rgba(4,20,18,.94); display: flex; inset: 0; justify-content: center; position: fixed; z-index: 120; }
.lightbox[hidden] { display: none; }
.lightbox > img { max-height: 82vh; max-width: min(1000px, 86vw); object-fit: contain; }
.lightbox-close { background: rgba(255,255,255,.12); border-radius: 50%; color: white; height: 44px; position: absolute; right: 24px; top: 24px; width: 44px; }
.lightbox-nav { background: rgba(255,255,255,.12); border-radius: 50%; color: white; height: 50px; position: absolute; top: 50%; transform: translateY(-50%); width: 50px; }
.lightbox-nav.prev { left: 24px; }.lightbox-nav.next { right: 24px; }
.lightbox > span { bottom: 25px; color: white; font-size: 12px; position: absolute; }

/* Auth */
.auth-body { background: white; min-height: 100vh; }
.auth-shell { display: grid; grid-template-columns: 45% 55%; min-height: 100vh; }
.auth-visual { background: var(--forest); overflow: hidden; padding: 42px; position: relative; }
.auth-visual > img { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.auth-visual-overlay { background: linear-gradient(180deg, rgba(7,36,33,.18), rgba(7,36,33,.9)); inset: 0; position: absolute; }
.auth-brand { position: relative; z-index: 2; }
.auth-quote { bottom: 70px; color: white; left: 55px; max-width: 480px; position: absolute; right: 40px; z-index: 2; }
.eyebrow-light { align-items: center; display: flex; font-size: 10px; font-weight: 800; gap: 7px; letter-spacing: .1em; text-transform: uppercase; }
.auth-quote h2 { font-family: var(--font-display); font-size: clamp(36px, 4vw, 57px); letter-spacing: -.06em; line-height: 1.03; margin: 14px 0; }
.auth-quote p { color: #c1d5d0; font-size: 14px; line-height: 1.6; margin: 0; }
.auth-content { align-items: center; display: flex; justify-content: center; padding: 75px 8%; position: relative; }
.auth-back { align-items: center; color: var(--muted); display: flex; font-size: 12px; font-weight: 700; gap: 7px; left: 7%; position: absolute; top: 36px; }
.auth-form-wrap { max-width: 500px; width: 100%; }
.auth-form-wrap h1 { font-family: var(--font-display); font-size: 43px; letter-spacing: -.055em; margin: 8px 0 9px; }
.auth-lead { color: var(--muted); font-size: 14px; line-height: 1.6; margin: 0 0 30px; }
.auth-form { display: grid; gap: 17px; }
.form-group { display: flex; flex-direction: column; gap: 7px; }
.form-group > span:first-child { font-size: 11px; font-weight: 800; }
.form-group > span:first-child small { color: var(--muted); font-weight: 500; }
.form-group input, .form-group textarea, .form-group select { background: white; border: 1px solid var(--line); border-radius: 12px; font-size: 13px; padding: 13px 14px; resize: vertical; transition: border .2s, box-shadow .2s; width: 100%; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(29,116,106,.1); }
.input-icon { align-items: center; display: flex; position: relative; }
.input-icon > svg { color: #8da19c; left: 14px; position: absolute; }
.input-icon input { padding-left: 42px; }
.password-input button { align-items: center; background: transparent; color: #8da19c; display: flex; padding: 0; position: absolute; right: 13px; }
.field-error { color: var(--danger); display: block; font-size: 10px; line-height: 1.4; }
.form-row { display: grid; gap: 14px; grid-template-columns: repeat(2, 1fr); }
.auth-submit { border-radius: 12px; margin-top: 3px; width: 100%; }
.terms-check { align-items: center; color: var(--muted); display: flex; font-size: 11px; gap: 8px; }
.terms-check input { accent-color: var(--teal); }
.auth-switch { color: var(--muted); font-size: 12px; margin: 25px 0 0; text-align: center; }
.auth-switch a { color: var(--teal); font-weight: 800; }
.demo-credentials { background: #edf6f3; border: 1px solid #d9e9e4; border-radius: 14px; display: flex; gap: 11px; margin-top: 22px; padding: 13px; }
.demo-credentials > svg { color: var(--teal); flex-shrink: 0; }
.demo-credentials div { display: flex; flex-direction: column; }
.demo-credentials strong { font-size: 10px; margin-bottom: 4px; text-transform: uppercase; }
.demo-credentials span { color: var(--muted); font-size: 10px; line-height: 1.45; }

/* Dashboard */
.dashboard-body { background: #f3f6f4; min-height: 100vh; }
.dashboard-shell { display: flex; min-height: 100vh; }
.dashboard-sidebar { background: var(--forest-2); color: white; display: flex; flex-direction: column; flex-shrink: 0; min-height: 100vh; padding: 25px 17px 18px; position: fixed; width: 255px; z-index: 70; }
.sidebar-top { align-items: center; display: flex; justify-content: space-between; padding: 0 5px; }
.sidebar-top .brand-copy small { color: #7fa09a; }
.sidebar-close { background: transparent; color: white; display: none; }
.sidebar-nav { display: flex; flex-direction: column; gap: 5px; margin-top: 45px; }
.sidebar-nav > a { align-items: center; border-radius: 12px; color: #a8c0bb; display: flex; font-size: 12px; font-weight: 700; gap: 11px; min-height: 45px; padding: 0 12px; }
.sidebar-nav > a:hover { background: rgba(255,255,255,.06); color: white; }
.sidebar-nav > a.is-active { background: var(--lime); color: var(--forest-2); }
.nav-balance { background: rgba(255,255,255,.13); border-radius: 999px; font-size: 9px; margin-left: auto; padding: 4px 7px; }
.is-active .nav-balance { background: rgba(16,61,56,.13); }
.nav-divider { background: rgba(255,255,255,.1); height: 1px; margin: 14px 10px; }
.sidebar-profile { align-items: center; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; display: grid; gap: 9px; grid-template-columns: auto 1fr auto; margin-top: auto; padding: 10px; }
.profile-avatar { align-items: center; background: var(--lime); border-radius: 50%; color: var(--forest-2); display: flex; flex-shrink: 0; font-family: var(--font-display); font-size: 12px; font-weight: 800; height: 36px; justify-content: center; width: 36px; }
.sidebar-profile > span:nth-child(2) { display: flex; flex-direction: column; min-width: 0; }
.sidebar-profile strong { font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-profile small { color: #78958f; font-size: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-profile form button { background: transparent; color: #83a09a; padding: 4px; }
.dashboard-main { margin-left: 255px; min-width: 0; width: calc(100% - 255px); }
.dashboard-header { align-items: center; background: rgba(255,255,255,.9); border-bottom: 1px solid var(--line); display: flex; height: 76px; justify-content: space-between; padding: 0 35px; position: sticky; top: 0; z-index: 40; backdrop-filter: blur(15px); }
.dashboard-header > div:first-of-type { display: flex; flex-direction: column; }
.dashboard-header span { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.dashboard-header strong { font-family: var(--font-display); font-size: 12px; }
.mobile-sidebar-toggle { align-items: center; background: transparent; display: none; }
.credit-balance { align-items: center; background: #edf6f3; border-radius: 12px; display: flex; gap: 10px; padding: 8px 11px; }
.credit-balance > svg:first-child { color: var(--teal); }
.credit-balance > span { display: flex; flex-direction: column; }
.credit-balance small { color: var(--muted); font-size: 7px; letter-spacing: .06em; text-transform: uppercase; }
.credit-balance strong { color: var(--ink); font-size: 10px; }
.credit-balance > svg:last-child { color: #8ca09b; height: 14px; width: 14px; }
.dashboard-content { margin: 0 auto; max-width: 1450px; padding: 35px; }
.dashboard-alert { align-items: center; border-bottom: 1px solid; display: flex; font-size: 12px; font-weight: 700; gap: 9px; padding: 12px 35px; }
.dashboard-alert.success { background: #e8f5ef; border-color: #cfe8dc; color: var(--success); }
.dashboard-alert.error { background: #fbedeb; border-color: #f0d0cc; color: var(--danger); }
.dashboard-alert.warning { background: #fff5dd; border-color: #f3e1b7; color: var(--warning); }
.dashboard-page-heading { align-items: flex-end; display: flex; justify-content: space-between; margin-bottom: 30px; }
.dashboard-page-heading h1 { font-family: var(--font-display); font-size: 34px; letter-spacing: -.055em; margin: 5px 0 3px; }
.dashboard-page-heading p { color: var(--muted); font-size: 12px; margin: 0; }
.dashboard-page-heading .button { border-radius: 12px; min-height: 43px; }
.back-link { align-items: center; color: var(--muted); display: flex; font-size: 10px; font-weight: 700; gap: 6px; margin-bottom: 16px; }
.metric-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr); }
.metric-card { align-items: flex-start; background: white; border: 1px solid var(--line); border-radius: 18px; display: flex; gap: 14px; min-width: 0; padding: 18px; }
.metric-card.accent { background: var(--forest); border-color: var(--forest); color: white; }
.metric-icon { align-items: center; background: #edf6f3; border-radius: 12px; color: var(--teal); display: flex; flex-shrink: 0; height: 43px; justify-content: center; width: 43px; }
.metric-card.accent .metric-icon { background: rgba(255,255,255,.12); color: var(--lime); }
.metric-card > div { display: flex; flex-direction: column; min-width: 0; }
.metric-card small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.metric-card.accent small, .metric-card.accent span { color: #9fc0b9; }
.metric-card strong { font-family: var(--font-display); font-size: 25px; letter-spacing: -.04em; margin-top: 3px; }
.metric-card span, .metric-card a { color: var(--muted); font-size: 9px; margin-top: 2px; }
.metric-card a { align-items: center; color: var(--lime); display: flex; font-weight: 700; gap: 4px; }
.metric-card a svg { width: 10px; }
.dashboard-grid-main { align-items: start; display: grid; gap: 16px; grid-template-columns: 1.5fr .8fr; margin-top: 18px; }
.dashboard-panel { background: white; border: 1px solid var(--line); border-radius: 18px; }
.panel-heading { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding: 18px 20px; }
.panel-heading h2 { font-family: var(--font-display); font-size: 18px; letter-spacing: -.04em; margin: 3px 0 0; }
.panel-heading > a { align-items: center; color: var(--teal); display: flex; font-size: 10px; font-weight: 800; gap: 4px; }
.panel-count { align-items: center; background: #edf6f3; border-radius: 50%; color: var(--teal); display: flex; font-size: 10px; font-weight: 800; height: 28px; justify-content: center; width: 28px; }
.dashboard-listings { display: grid; }
.dashboard-listing-row { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 14px; grid-template-columns: 98px 1fr auto; padding: 14px 18px; }
.dashboard-listing-row:last-child { border: 0; }
.dashboard-listing-row > img { border-radius: 12px; height: 76px; object-fit: cover; width: 98px; }
.dashboard-listing-info { min-width: 0; }
.status-badge { align-items: center; border-radius: 999px; display: inline-flex; font-size: 8px; font-style: normal; font-weight: 800; gap: 4px; letter-spacing: .05em; padding: 5px 7px; text-transform: uppercase; }
.status-badge svg { height: 10px; width: 10px; }
.status-approved, .status-paid { background: #e4f3ec; color: var(--success); }
.status-pending { background: #fff2d8; color: #966311; }
.status-draft { background: #eef1f0; color: #687a76; }
.status-rejected { background: #fae9e7; color: var(--danger); }
.status-expired { background: #f1e9f8; color: #775590; }
.dashboard-listing-info h3 { font-family: var(--font-display); font-size: 14px; margin: 6px 0 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-listing-info p { align-items: center; color: var(--muted); display: flex; font-size: 9px; gap: 4px; margin: 0; }
.dashboard-listing-info p svg { color: var(--teal); height: 11px; width: 11px; }
.dashboard-listing-info p span { background: #b8c5c2; border-radius: 50%; height: 2px; margin: 0 3px; width: 2px; }
.dashboard-listing-info > small { color: #879793; display: block; font-size: 8px; margin-top: 4px; }
.dashboard-listing-info > small.rejection-copy { color: var(--danger); }
.dashboard-listing-actions { align-items: center; display: flex; gap: 6px; }
.icon-action { align-items: center; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); display: flex; height: 33px; justify-content: center; width: 33px; }
.icon-action:hover { border-color: var(--teal); color: var(--teal); }
.button-small { border-radius: 9px; font-size: 9px; min-height: 33px; padding: 0 12px; }
.lead-list { display: grid; }
.lead-list article { align-items: start; border-bottom: 1px solid var(--line); display: grid; gap: 10px; grid-template-columns: auto 1fr auto; padding: 14px 17px; }
.lead-list article:last-child { border: 0; }
.lead-avatar { align-items: center; background: #edf6f3; border-radius: 50%; color: var(--teal); display: flex; font-size: 10px; font-weight: 800; height: 34px; justify-content: center; width: 34px; }
.lead-list article > div { display: flex; flex-direction: column; min-width: 0; }
.lead-list strong { font-size: 10px; }
.lead-list small { color: var(--muted); font-size: 8px; margin-top: 2px; }
.lead-list p { color: #526763; font-size: 9px; line-height: 1.45; margin: 7px 0 0; }
.lead-list article > a { align-items: center; background: #e4f3ec; border-radius: 9px; color: var(--success); display: flex; height: 31px; justify-content: center; width: 31px; }
.panel-empty { align-items: center; color: var(--muted); display: flex; flex-direction: column; padding: 45px 20px; text-align: center; }
.panel-empty > svg { color: var(--teal); height: 35px; width: 35px; }
.panel-empty h3 { color: var(--ink); font-family: var(--font-display); margin: 12px 0 4px; }
.panel-empty p { font-size: 11px; line-height: 1.5; margin: 0 0 15px; }
.panel-empty.compact { padding: 30px 18px; }
.transaction-preview { margin-top: 16px; }
.transaction-list { display: grid; }
.transaction-list article { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 11px; grid-template-columns: auto 1fr auto; padding: 12px 18px; }
.transaction-list article:last-child { border: 0; }
.transaction-icon { align-items: center; background: #edf1ef; border-radius: 9px; color: var(--muted); display: flex; height: 32px; justify-content: center; width: 32px; }
.transaction-icon.positive { background: #e4f3ec; color: var(--success); }
.transaction-icon.negative { background: #fff0eb; color: #d45f40; }
.transaction-list article > div { display: flex; flex-direction: column; }
.transaction-list strong { font-size: 10px; }
.transaction-list small { color: var(--muted); font-size: 8px; margin-top: 2px; }
.transaction-list em { font-size: 10px; font-style: normal; font-weight: 800; }
.positive { color: var(--success); }.negative { color: #d45f40; }

/* Listing editor */
.listing-editor { align-items: start; display: grid; gap: 18px; grid-template-columns: 1fr 285px; }
.editor-main { display: grid; gap: 15px; min-width: 0; }
.form-section { padding: 23px; }
.form-section-heading { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: 12px; margin-bottom: 22px; padding-bottom: 16px; }
.form-section-heading > span { align-items: center; background: var(--forest); border-radius: 10px; color: var(--lime); display: flex; flex-shrink: 0; font-family: var(--font-display); font-size: 10px; font-weight: 800; height: 35px; justify-content: center; width: 35px; }
.form-section-heading h2 { font-family: var(--font-display); font-size: 17px; margin: 0; }
.form-section-heading p { color: var(--muted); font-size: 9px; margin: 2px 0 0; }
.form-stack { display: grid; gap: 16px; }
.form-row-four { grid-template-columns: 1.4fr repeat(3, .7fr); }
.currency-input { align-items: center; display: flex; position: relative; }
.currency-input > span { color: var(--muted); font-size: 11px; font-weight: 700; left: 13px; position: absolute; }
.currency-input input { padding-left: 37px; }
.amenity-check-grid { display: grid; gap: 9px; grid-template-columns: repeat(3, 1fr); }
.amenity-check-grid label { cursor: pointer; }
.amenity-check-grid input { opacity: 0; position: absolute; }
.amenity-check-grid label > span { align-items: center; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); display: flex; font-size: 10px; font-weight: 700; gap: 8px; min-height: 43px; padding: 0 12px; transition: .2s; }
.amenity-check-grid label > span svg { color: var(--teal); }
.amenity-check-grid input:checked + span { background: #edf6f3; border-color: var(--teal); color: var(--ink); }
.existing-images, .upload-preview { display: grid; gap: 8px; grid-template-columns: repeat(4, 1fr); margin-bottom: 15px; }
.existing-images figure, .upload-preview figure { border: 1px solid var(--line); border-radius: 11px; margin: 0; overflow: hidden; position: relative; }
.existing-images img, .upload-preview img { height: 90px; object-fit: cover; width: 100%; }
.existing-images figcaption { background: rgba(8,43,39,.78); bottom: 0; color: white; font-size: 7px; left: 0; padding: 5px 7px; position: absolute; right: 0; }
.upload-dropzone { border: 1px dashed #aabdb8; border-radius: 14px; cursor: pointer; display: block; padding: 28px; text-align: center; }
.upload-dropzone:hover { background: #f5f9f7; border-color: var(--teal); }
.upload-dropzone input { display: none; }
.upload-dropzone > span { align-items: center; display: flex; flex-direction: column; }
.upload-dropzone svg { color: var(--teal); height: 29px; margin-bottom: 9px; width: 29px; }
.upload-dropzone strong { font-size: 11px; }
.upload-dropzone small { color: var(--muted); font-size: 9px; margin-top: 3px; }
.editor-sidebar { display: grid; gap: 13px; position: sticky; top: 92px; }
.editor-save-card { padding: 20px; }
.editor-save-card h2 { font-family: var(--font-display); font-size: 19px; margin: 6px 0 8px; }
.editor-save-card p, .editor-tip p { color: var(--muted); font-size: 10px; line-height: 1.5; margin: 0 0 17px; }
.editor-save-card .button { border-radius: 11px; width: 100%; }
.editor-save-card > a { color: var(--muted); display: block; font-size: 9px; font-weight: 700; margin-top: 12px; text-align: center; }
.editor-tip { align-items: start; background: #fff7df; border: 1px solid #f2e2af; border-radius: 15px; display: flex; gap: 10px; padding: 15px; }
.editor-tip > svg { color: #b87a12; flex-shrink: 0; }
.editor-tip strong { font-size: 10px; }
.editor-tip p { margin: 4px 0 0; }
.publication-section { margin-top: 22px; }
.publication-card { align-items: start; display: grid; gap: 35px; grid-template-columns: .8fr 1.2fr; padding: 27px; }
.publication-card h2 { font-family: var(--font-display); font-size: 24px; letter-spacing: -.04em; margin: 6px 0 9px; }
.publication-card > div > p { color: var(--muted); font-size: 11px; line-height: 1.55; }
.publication-options { display: grid; gap: 9px; grid-template-columns: 1fr 1fr; }
.publication-options > label { cursor: pointer; }
.publication-options > label > input { opacity: 0; position: absolute; }
.publication-options > label > span { border: 1px solid var(--line); border-radius: 13px; display: grid; gap: 4px; grid-template-columns: auto 1fr auto; padding: 13px; }
.publication-options > label > span > svg { color: var(--teal); grid-row: 1 / 3; margin-top: 2px; }
.publication-options > label > span strong { font-size: 10px; }
.publication-options > label > span small { color: var(--muted); font-size: 8px; }
.publication-options > label > span em { color: var(--teal); font-size: 9px; font-style: normal; font-weight: 800; grid-column: 3; grid-row: 1 / 3; }
.publication-options > label > input:checked + span { background: #edf6f3; border-color: var(--teal); box-shadow: 0 0 0 2px rgba(29,116,106,.08); }
.publication-options .button, .publication-options > small { grid-column: 1 / -1; }
.publication-options .button { border-radius: 11px; }
.publication-options > small { color: var(--muted); font-size: 9px; text-align: center; }
.publication-options > small a { color: var(--teal); font-weight: 700; }
.rejection-box { align-items: start; background: #fae9e7; border-radius: 11px; color: var(--danger); display: flex; font-size: 9px; gap: 8px; margin-top: 12px; padding: 10px; }
.danger-zone { align-items: center; border: 1px solid #efcfcb; border-radius: 15px; display: flex; justify-content: space-between; margin-top: 14px; padding: 13px 16px; }
.danger-zone > span { display: flex; flex-direction: column; }
.danger-zone strong { color: var(--danger); font-size: 10px; }
.danger-zone small { color: var(--muted); font-size: 8px; }
.danger-zone button { align-items: center; background: transparent; color: var(--danger); display: flex; font-size: 9px; font-weight: 800; gap: 6px; }

/* Credits and admin */
.wallet-total { align-items: center; background: var(--forest); border-radius: 15px; color: white; display: flex; gap: 11px; padding: 11px 16px; }
.wallet-total > span { align-items: center; background: rgba(255,255,255,.12); border-radius: 10px; color: var(--lime); display: flex; height: 39px; justify-content: center; width: 39px; }
.wallet-total > div { display: flex; flex-direction: column; }
.wallet-total small { color: #96b8b1; font-size: 8px; text-transform: uppercase; }
.wallet-total strong { font-family: var(--font-display); font-size: 13px; }
.credit-explainer { align-items: center; background: #e8f2ef; border: 1px solid #d5e5e0; border-radius: 16px; display: flex; gap: 13px; margin-bottom: 26px; padding: 14px 17px; }
.credit-explainer > span { align-items: center; background: white; border-radius: 10px; color: var(--teal); display: flex; flex-shrink: 0; height: 37px; justify-content: center; width: 37px; }
.credit-explainer strong { font-size: 10px; }
.credit-explainer p { color: var(--muted); font-size: 9px; margin: 3px 0 0; }
.credit-dashboard-section .section-heading-mini { margin-bottom: 18px; }
.dashboard-plan-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.dashboard-plan { background: white; border: 1px solid var(--line); border-radius: 18px; display: flex; flex-direction: column; padding: 20px; position: relative; }
.dashboard-plan.is-featured { border: 2px solid var(--forest); box-shadow: var(--shadow-sm); }
.dashboard-plan-top { align-items: center; display: flex; justify-content: space-between; }
.dashboard-plan h3 { font-family: var(--font-display); font-size: 19px; margin: 15px 0 5px; }
.dashboard-plan > p { color: var(--muted); font-size: 9px; line-height: 1.5; margin: 0; min-height: 28px; }
.dashboard-plan-price { display: flex; flex-direction: column; margin: 18px 0; }
.dashboard-plan-price strong { font-family: var(--font-display); font-size: 24px; }
.dashboard-plan-price span { color: var(--muted); font-size: 8px; }
.dashboard-plan ul { border-top: 1px solid var(--line); display: grid; gap: 8px; list-style: none; margin: 0 0 18px; padding: 16px 0 0; }
.dashboard-plan li { align-items: center; display: flex; font-size: 9px; gap: 6px; }
.dashboard-plan li svg { color: var(--teal); }
.dashboard-plan form, .dashboard-plan .button { margin-top: auto; width: 100%; }
.dashboard-plan .button { border-radius: 10px; font-size: 10px; min-height: 40px; }
.order-section, .statement-section { margin-top: 18px; }
.order-list article { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 11px; grid-template-columns: auto 1.2fr .8fr auto auto; padding: 12px 18px; }
.order-list article:last-child { border: 0; }
.order-list article > div { display: flex; flex-direction: column; }
.order-list strong { font-size: 10px; }.order-list small { color: var(--muted); font-size: 8px; }.order-list > article > span { font-size: 9px; }
.copy-pix { align-items: center; background: #edf6f3; border-radius: 8px; color: var(--teal); display: flex; font-size: 8px; font-weight: 800; gap: 5px; padding: 8px; }
.admin-live { align-items: center; background: #e4f3ec; border-radius: 999px; color: var(--success); display: flex; font-size: 9px; font-weight: 800; gap: 6px; padding: 9px 12px; text-transform: uppercase; }
.admin-layout { align-items: start; display: grid; gap: 16px; grid-template-columns: 1.45fr .8fr; margin-top: 18px; }
.moderation-list { display: grid; }
.moderation-list article { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 13px; grid-template-columns: 90px 1fr auto; padding: 14px 18px; position: relative; }
.moderation-list article:last-child { border: 0; }
.moderation-list article > img { border-radius: 11px; height: 70px; object-fit: cover; width: 90px; }
.moderation-info { min-width: 0; }
.moderation-info h3 { font-family: var(--font-display); font-size: 13px; margin: 5px 0 3px; }
.moderation-info p, .moderation-info small { color: var(--muted); display: block; font-size: 8px; margin: 0; }
.moderation-actions { display: flex; gap: 5px; }
.moderation-actions .button { border-radius: 8px; font-size: 8px; min-height: 32px; padding: 0 9px; }
.approve-button { background: var(--success); border-color: var(--success); }
.reject-button { background: white; border-color: #edcac6; color: var(--danger); }
.reject-form { background: #fff4f2; bottom: 0; display: flex; gap: 6px; grid-column: 1 / -1; padding: 9px 12px; }
.reject-form[hidden] { display: none; }
.reject-form input { border: 1px solid #e7c3bf; border-radius: 8px; flex: 1; font-size: 9px; padding: 8px; }
.reject-form button { background: var(--danger); border-radius: 8px; color: white; font-size: 8px; font-weight: 800; padding: 0 10px; }
.admin-order-list { display: grid; }
.admin-order-list article { border-bottom: 1px solid var(--line); padding: 14px 17px; }
.admin-order-list article:last-child { border: 0; }
.admin-order-list article > div { display: flex; flex-direction: column; }
.order-code { color: var(--teal); font-size: 7px; font-weight: 800; }
.admin-order-list strong { font-size: 10px; margin-top: 3px; }
.admin-order-list small { color: var(--muted); font-size: 8px; }
.order-value { align-items: flex-end; margin-top: -26px; }
.order-value strong { font-family: var(--font-display); font-size: 14px; }
.admin-order-list form { margin-top: 11px; }
.admin-order-list form button { align-items: center; background: #e4f3ec; border-radius: 8px; color: var(--success); display: flex; font-size: 8px; font-weight: 800; gap: 6px; justify-content: center; padding: 9px; width: 100%; }
.users-section { margin-top: 16px; }
.admin-user-list { display: grid; }
.admin-user-list article { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 11px; grid-template-columns: auto 1.5fr .6fr .6fr auto; padding: 11px 18px; }
.admin-user-list article:last-child { border: 0; }
.admin-user-list article > div { display: flex; flex-direction: column; }
.admin-user-list strong { font-size: 10px; }.admin-user-list small { color: var(--muted); font-size: 8px; }.admin-user-list article > span:not(.profile-avatar):not(.status-badge), .admin-user-list em { color: var(--muted); font-size: 9px; font-style: normal; }

/* Admin analytics and management */
.admin-dashboard-heading { align-items: end; }
.period-switch { align-items: center; background: #e8efeb; border-radius: 11px; display: flex; gap: 3px; padding: 4px; }
.period-switch a { border-radius: 8px; color: var(--muted); font-size: 10px; font-weight: 800; padding: 9px 13px; }
.period-switch a.is-active { background: white; box-shadow: 0 3px 12px rgba(14,51,47,.08); color: var(--forest); }
.analytics-metric-grid { display: grid; gap: 11px; grid-template-columns: repeat(4, 1fr); margin-bottom: 16px; }
.analytics-card { background: white; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 5px 22px rgba(14,51,47,.035); min-width: 0; padding: 15px; }
.analytics-card-top { align-items: center; display: flex; justify-content: space-between; margin-bottom: 13px; }
.analytics-icon { align-items: center; background: var(--mint); border-radius: 10px; color: var(--teal); display: inline-flex; height: 34px; justify-content: center; width: 34px; }
.analytics-icon svg { height: 16px; width: 16px; }
.analytics-card > small { color: var(--muted); display: block; font-size: 8px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.analytics-card > strong { display: block; font-family: var(--font-display); font-size: 25px; letter-spacing: -.04em; margin: 4px 0 2px; }
.analytics-card > p { color: var(--muted); font-size: 8px; margin: 0; }
.metric-delta { align-items: center; background: #e8f6ef; border-radius: 20px; color: var(--success); display: flex; font-size: 7px; font-weight: 800; gap: 3px; padding: 5px 7px; }
.metric-delta svg { height: 11px; width: 11px; }
.metric-delta.is-down { background: #fff0ee; color: var(--danger); }
.analytics-card-accent { background: #fff5eb; border-color: #f2dac4; }
.analytics-card-accent .analytics-icon { background: #ffe2c8; color: var(--orange); }
.analytics-card-dark { background: var(--forest-2); border-color: var(--forest-2); color: white; }
.analytics-card-dark .analytics-icon { background: rgba(255,255,255,.12); color: #8fd8b8; }
.analytics-card-dark > small, .analytics-card-dark > p { color: rgba(255,255,255,.65); }
.analytics-primary-grid { display: grid; gap: 16px; grid-template-columns: minmax(0, 1.75fr) minmax(270px, .75fr); margin-bottom: 16px; }
.trend-panel, .channel-panel, .top-ranches-panel { overflow: hidden; }
.chart-legend { align-items: center; display: flex; gap: 13px; }
.chart-legend span { align-items: center; color: var(--muted); display: flex; font-size: 8px; gap: 5px; }
.chart-legend i { border-radius: 50%; display: block; height: 7px; width: 7px; }
.legend-pageviews { background: var(--teal); }.legend-visitors { background: var(--orange); }
.trend-chart { height: 220px; padding: 5px 18px 0; }
.trend-chart svg { height: 100%; overflow: visible; width: 100%; }
.trend-chart line { stroke: #e7eeea; stroke-dasharray: 3 4; stroke-width: 1; }
.chart-line { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; vector-effect: non-scaling-stroke; }
.chart-line.pageviews { stroke: var(--teal); }.chart-line.visitors { stroke: var(--orange); }
.chart-axis { color: var(--muted); display: flex; font-size: 7px; justify-content: space-between; padding: 0 21px 15px; }
.source-list { display: grid; gap: 13px; padding: 15px 18px; }
.source-list p { align-items: center; display: flex; justify-content: space-between; margin: 0 0 5px; }
.source-list strong { font-size: 9px; }.source-list p span { color: var(--muted); font-size: 7px; }
.source-track { background: #edf1ef; border-radius: 10px; display: block; height: 5px; overflow: hidden; }
.source-track i { background: linear-gradient(90deg, var(--teal), #60ae8d); border-radius: inherit; display: block; height: 100%; min-width: 3px; }
.device-summary { border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3,1fr); padding: 13px 8px; }
.device-summary > span { align-items: center; display: flex; flex-direction: column; text-align: center; }
.device-summary svg { color: var(--orange); height: 15px; margin-bottom: 4px; width: 15px; }.device-summary strong { font-size: 8px; }.device-summary small { color: var(--muted); font-size: 7px; }
.top-ranches-panel { margin-bottom: 16px; }
.panel-link { align-items: center; color: var(--teal); display: flex; font-size: 8px; font-weight: 800; gap: 5px; }.panel-link svg { height: 13px; width: 13px; }
.admin-table-wrap { overflow-x: auto; width: 100%; }
.admin-table { border-collapse: collapse; min-width: 760px; width: 100%; }
.admin-table th { background: #f8faf9; color: var(--muted); font-size: 7px; letter-spacing: .05em; padding: 10px 15px; text-align: left; text-transform: uppercase; }
.admin-table td { border-top: 1px solid var(--line); color: #41534f; font-size: 9px; padding: 11px 15px; vertical-align: middle; }
.admin-table tbody tr:hover { background: #fbfdfc; }
.table-ranch, .table-user { align-items: center; display: flex; gap: 10px; min-width: 210px; }
.table-ranch img { border-radius: 8px; height: 43px; object-fit: cover; width: 56px; }
.table-ranch span, .table-user > span:last-child { display: flex; flex-direction: column; }
.table-ranch strong, .table-user strong { color: var(--ink); font-size: 9px; }.table-ranch small, .table-user small, .table-subline { color: var(--muted); display: block; font-size: 7px; margin-top: 2px; }
.admin-operation-grid { margin-top: 0; }
.metric-definition { align-items: flex-start; color: var(--muted); display: flex; font-size: 8px; gap: 7px; line-height: 1.6; margin: 15px 3px 0; }.metric-definition svg { flex: 0 0 auto; height: 14px; width: 14px; }
.admin-filter-bar { align-items: center; background: white; border: 1px solid var(--line); border-radius: 13px; display: grid; gap: 8px; grid-template-columns: minmax(250px,1fr) 170px auto auto; margin-bottom: 14px; padding: 9px; }
.admin-filter-wide { grid-template-columns: minmax(230px,1fr) 155px 180px auto auto; }
.admin-filter-bar label { align-items: center; background: #f7f9f8; border-radius: 9px; display: flex; gap: 7px; padding: 0 10px; }.admin-filter-bar label svg { color: var(--muted); height: 15px; width: 15px; }
.admin-filter-bar input, .admin-filter-bar select { background: #f7f9f8; border: 0; border-radius: 9px; color: var(--ink); font-size: 9px; min-height: 38px; outline: 0; padding: 0 10px; width: 100%; }
.admin-filter-bar label input { padding-inline: 0; }.admin-filter-bar button { align-items: center; background: var(--forest); border-radius: 9px; color: white; display: flex; font-size: 8px; font-weight: 800; gap: 5px; min-height: 38px; padding: 0 14px; }.admin-filter-bar button svg { height: 13px; width: 13px; }.admin-filter-bar > a { color: var(--muted); font-size: 8px; padding: 8px; }
.admin-management-panel { overflow: visible; }
.table-actions { align-items: center; display: flex; gap: 5px; }
.icon-action, .credit-adjust > summary { align-items: center; background: #eef4f1; border: 0; border-radius: 7px; color: var(--forest); cursor: pointer; display: inline-flex; height: 29px; justify-content: center; list-style: none; padding: 0; width: 29px; }
.icon-action svg, .credit-adjust > summary svg { height: 13px; width: 13px; }.icon-action.is-success { background: #e5f4ec; color: var(--success); }.icon-action.is-warning { background: #fff5e8; color: #a66320; }.icon-action.is-danger { background: #fff0ee; color: var(--danger); }
.credit-adjust { position: relative; }.credit-adjust > summary::-webkit-details-marker { display: none; }
.credit-adjust form { background: white; border: 1px solid var(--line); border-radius: 11px; box-shadow: 0 12px 40px rgba(14,51,47,.16); display: grid; gap: 7px; padding: 12px; position: absolute; right: 0; top: 35px; width: 220px; z-index: 8; }.credit-adjust form strong { font-size: 10px; }.credit-adjust input { background: #f6f8f7; border: 1px solid var(--line); border-radius: 7px; font-size: 8px; padding: 8px; }.credit-adjust form button { background: var(--forest); border-radius: 7px; color: white; font-size: 8px; font-weight: 800; padding: 8px; }
.muted-dash { color: var(--muted); }
.admin-plan-grid { display: grid; gap: 14px; grid-template-columns: repeat(3,1fr); }
.admin-plan-card { background: white; border: 1px solid var(--line); border-radius: 16px; padding: 18px; }.admin-plan-card.is-featured { border-color: #e1a76e; box-shadow: 0 8px 28px rgba(202,112,45,.1); }.admin-plan-card.is-disabled { opacity: .65; }
.admin-plan-card-head { align-items: center; display: flex; justify-content: space-between; }.admin-plan-card-head > div { display: flex; gap: 5px; }.admin-plan-card h2 { font-family: var(--font-display); font-size: 20px; margin: 14px 0 5px; }.admin-plan-card > p { color: var(--muted); font-size: 9px; line-height: 1.55; min-height: 42px; }.admin-plan-price { display: block; font-family: var(--font-display); font-size: 25px; margin: 13px 0; }.admin-plan-card ul { border-block: 1px solid var(--line); display: grid; gap: 7px; list-style: none; margin: 0; padding: 13px 0; }.admin-plan-card li { align-items: center; color: #43534f; display: flex; font-size: 8px; gap: 7px; }.admin-plan-card li svg { color: var(--teal); height: 13px; width: 13px; }.admin-plan-performance { display: grid; grid-template-columns: 1fr 1fr; padding: 13px 0; }.admin-plan-performance span { display: flex; flex-direction: column; }.admin-plan-performance small { color: var(--muted); font-size: 7px; }.admin-plan-performance strong { font-size: 11px; margin-top: 2px; }.plan-card-actions { display: flex; gap: 5px; }.plan-card-actions > button, .plan-card-actions form button { align-items: center; background: #edf3f0; border-radius: 7px; color: var(--forest); display: flex; font-size: 8px; font-weight: 700; gap: 5px; min-height: 31px; padding: 0 9px; }.plan-card-actions form { display: flex; }.plan-card-actions svg { height: 12px; width: 12px; }.plan-card-actions .danger-text { color: var(--danger); padding-inline: 8px; }
.admin-dialog { border: 0; border-radius: 18px; box-shadow: 0 30px 80px rgba(4,25,22,.24); max-width: 680px; padding: 0; width: calc(100% - 28px); }.admin-dialog::backdrop { background: rgba(4,25,22,.6); backdrop-filter: blur(3px); }.plan-editor-form { padding: 23px; }.dialog-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 17px; }.dialog-heading h2 { font-family: var(--font-display); font-size: 25px; margin: 3px 0 0; }.dialog-heading button { align-items: center; background: #eef2f0; border-radius: 50%; display: flex; height: 33px; justify-content: center; width: 33px; }.dialog-heading svg { height: 16px; width: 16px; }.plan-editor-form > label, .plan-editor-form .form-row label { color: var(--ink); display: grid; font-size: 8px; font-weight: 800; gap: 5px; }.plan-editor-form input, .plan-editor-form textarea { background: #f7f9f8; border: 1px solid var(--line); border-radius: 9px; font: inherit; font-size: 10px; padding: 10px; width: 100%; }.checkbox-line { display: flex; gap: 20px; margin: 14px 0; }.checkbox-line label { align-items: center; display: flex; font-size: 9px; gap: 6px; }.checkbox-line input { width: auto; }.form-submit { width: 100%; }
.settings-grid { display: grid; gap: 13px; grid-template-columns: repeat(3,1fr); margin-bottom: 16px; }.setting-card { align-items: flex-start; display: flex; gap: 12px; padding: 17px; }.setting-card > div { display: flex; flex-direction: column; }.setting-card small { color: var(--muted); font-size: 7px; font-weight: 800; text-transform: uppercase; }.setting-card strong { font-size: 12px; margin: 4px 0; }.setting-card p { color: var(--muted); font-size: 8px; line-height: 1.5; margin: 0; }
.reset-panel { border-color: #f0c6c1; padding: 22px; }.reset-warning { align-items: flex-start; display: flex; gap: 15px; }.reset-warning > span { align-items: center; background: #fff0ee; border-radius: 12px; color: var(--danger); display: flex; flex: 0 0 auto; height: 42px; justify-content: center; width: 42px; }.reset-warning svg { height: 20px; width: 20px; }.reset-warning h2 { font-family: var(--font-display); font-size: 22px; margin: 3px 0 5px; }.reset-warning p { color: var(--muted); font-size: 9px; line-height: 1.6; margin: 0; max-width: 750px; }.reset-panel form { background: #fff7f6; border-radius: 12px; display: grid; gap: 10px; grid-template-columns: 1fr 1fr auto; margin-top: 19px; padding: 13px; }.reset-panel label { color: #6f3e39; display: grid; font-size: 8px; font-weight: 700; gap: 5px; }.reset-panel input { background: white; border: 1px solid #ebcbc7; border-radius: 8px; font-size: 9px; min-height: 38px; padding: 0 10px; }.danger-button { align-items: center; align-self: end; background: var(--danger); border-radius: 8px; color: white; display: flex; font-size: 8px; font-weight: 800; gap: 6px; min-height: 38px; padding: 0 14px; }.danger-button svg { height: 14px; width: 14px; }

.location-seo-note { background: #eef6f2; border-radius: 10px; justify-content: center; padding: 9px 11px; }.location-seo-note > small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.footer-legal { align-items: center; display: flex; gap: 15px; }.footer-legal a { color: inherit; }.footer-legal svg { height: 14px; width: 14px; }
.legal-hero { background: linear-gradient(135deg, var(--forest-2), #1c5c53); color: white; padding: 80px 0 60px; }.legal-hero .eyebrow { color: #a9d9c5; }.legal-hero h1 { font-family: var(--font-display); font-size: clamp(38px,6vw,64px); letter-spacing: -.055em; margin: 12px 0 8px; }.legal-hero p { color: rgba(255,255,255,.75); font-size: 16px; margin: 0 0 15px; }.legal-hero small { color: rgba(255,255,255,.55); }
.legal-section { padding: 70px 0 100px; }.legal-layout { align-items: start; display: grid; gap: 70px; grid-template-columns: 210px minmax(0,760px); justify-content: center; }.legal-layout aside { border-left: 2px solid var(--line); display: grid; gap: 4px; position: sticky; top: 105px; }.legal-layout aside a { color: var(--muted); font-size: 11px; padding: 7px 13px; }.legal-layout aside a:hover { color: var(--teal); }.legal-content h2 { font-family: var(--font-display); font-size: 23px; letter-spacing: -.025em; margin: 34px 0 8px; scroll-margin-top: 110px; }.legal-content h2:first-child { margin-top: 0; }.legal-content p { color: #53635f; font-size: 14px; line-height: 1.85; margin: 0; }

/* Errors */
.error-page { align-items: center; display: flex; flex-direction: column; min-height: 620px; padding: 90px 20px; text-align: center; }
.error-visual { align-items: center; color: var(--teal); display: flex; justify-content: center; margin-bottom: 25px; position: relative; }
.error-visual span { color: #e2ebe7; font-family: var(--font-display); font-size: 130px; font-weight: 800; letter-spacing: -.08em; line-height: 1; }
.error-visual svg { height: 55px; position: absolute; width: 55px; }
.error-page h1 { font-family: var(--font-display); font-size: 40px; letter-spacing: -.05em; margin: 7px 0; }
.error-page p { color: var(--muted); margin: 0 0 25px; }
.debug-error { background: #fff2ef; border-radius: 12px; color: var(--danger); font-size: 11px; max-width: 700px; overflow: auto; padding: 12px; text-align: left; white-space: pre-wrap; }

@media (max-width: 1100px) {
  .desktop-nav { gap: 20px; }
  .hero-grid { gap: 30px; }
  .hero-search { margin-right: -60px; }
  .hero-image-main { width: 350px; }
  .hero-image-small { left: -10px; }
  .hero-float-rating { left: -15px; }
  .proof-grid { grid-template-columns: repeat(3, 1fr); }
  .proof-people { display: none !important; }
  .proof-grid > div:nth-child(3) { border: 0; }
  .how-panel { gap: 35px; grid-template-columns: 1fr; }
  .detail-layout { gap: 40px; grid-template-columns: 1fr 340px; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .admin-layout { grid-template-columns: 1fr; }
  .analytics-metric-grid { grid-template-columns: repeat(2,1fr); }
  .admin-plan-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
  .desktop-nav, .account-link { display: none; }
  .menu-toggle { display: flex; }
  .hero-section { padding-top: 50px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-content { text-align: center; }
  .hero-content > p { margin-inline: auto; }
  .hero-search { margin-right: 0; text-align: left; }
  .hero-trending { justify-content: center; }
  .hero-visual { margin: 20px auto 0; max-width: 560px; width: 100%; }
  .hero-image-main { left: 50%; right: auto; transform: translateX(-40%); }
  .hero-image-small { left: 10px; }
  .hero-float-rating { left: 0; }
  .hero-float-contact { right: 0; }
  .amenity-grid { grid-template-columns: repeat(2, 1fr); }
  .listing-grid { grid-template-columns: repeat(2, 1fr); }
  .listing-filter-bar { grid-template-columns: 1fr 1fr; }
  .listing-filter-bar label { border-bottom: 1px solid var(--line); }
  .listing-filter-bar button { margin: 6px; }
  .plan-grid { grid-template-columns: 1fr; margin-inline: auto; max-width: 500px; }
  .plan-card.is-featured { transform: none; }
  .host-cta { grid-template-columns: 1fr; }
  .host-cta-art { min-height: 280px; }
  .host-cta-art::after { background: linear-gradient(180deg, transparent 50%, #b85b43); }
  .host-cta-content { padding: 20px 35px 50px; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-note { display: none; }
  .detail-gallery { grid-template-columns: 1.5fr 1fr; }
  .gallery-item-4, .gallery-item-5 { display: none; }
  .gallery-item-2, .gallery-item-3 { border-radius: 0 26px 0 0; grid-column: 2; }
  .gallery-item-3 { border-radius: 0 0 26px 0; }
  .detail-layout { grid-template-columns: 1fr; }
  .booking-card { position: static; }
  .auth-shell { grid-template-columns: 1fr; }
  .auth-visual { display: none; }
  .dashboard-sidebar { transform: translateX(-100%); transition: transform .25s; }
  .dashboard-sidebar.is-open { transform: translateX(0); }
  .sidebar-close { display: block; }
  .sidebar-backdrop { background: rgba(4,25,22,.5); inset: 0; position: fixed; z-index: 60; }
  .dashboard-main { margin: 0; width: 100%; }
  .mobile-sidebar-toggle { display: flex; }
  .dashboard-header { justify-content: flex-start; gap: 18px; }
  .credit-balance { margin-left: auto; }
  .dashboard-grid-main { grid-template-columns: 1fr; }
  .listing-editor { grid-template-columns: 1fr; }
  .editor-sidebar { grid-row: 1; position: static; }
  .publication-card { grid-template-columns: 1fr; }
  .dashboard-plan-grid { grid-template-columns: 1fr; }
  .analytics-primary-grid { grid-template-columns: 1fr; }
  .settings-grid { grid-template-columns: 1fr; }
  .reset-panel form { grid-template-columns: 1fr; }
  .admin-filter-bar, .admin-filter-wide { grid-template-columns: 1fr 160px auto auto; }
  .admin-filter-wide select:nth-of-type(2) { grid-column: span 2; }
  .legal-layout { gap: 35px; grid-template-columns: 160px minmax(0,1fr); }
}

@media (max-width: 650px) {
  .container { max-width: calc(100% - 28px); width: calc(100% - 28px); }
  .section { padding: 66px 0; }
  .announcement-inner { justify-content: center; }
  .announcement-inner > a { display: none; }
  .header-inner { height: 66px; }
  .brand-mark { border-radius: 11px; height: 37px; width: 37px; }
  .brand-copy strong { font-size: 17px; }
  .brand-copy small { display: none; }
  .header-cta { display: none; }
  .hero-section { min-height: auto; padding: 45px 0 58px; }
  .hero-grid, .hero-content, .hero-search { max-width: 100%; min-width: 0; }
  .hero-content h1 { font-size: 43px; overflow-wrap: anywhere; }
  .hero-content > p { font-size: 15px; }
  .hero-search { grid-template-columns: 1fr; padding: 8px; }
  .hero-field { border-bottom: 1px solid var(--line); border-right: 0; min-height: 61px; }
  .hero-search-button { min-height: 50px; }
  .hero-visual { height: 420px; }
  .hero-image-main { border-width: 7px; border-radius: 115px 115px 24px 24px; height: 400px; transform: translateX(-50%); width: min(310px, 78vw); }
  .hero-image-small { bottom: -8px; height: 135px; left: -5px; width: 145px; }
  .hero-image-small img { height: 95px; }
  .hero-image-small span { font-size: 8px; }
  .hero-float-card { padding: 8px 10px; }
  .hero-float-rating { left: -2px; top: 70px; }
  .hero-float-contact { bottom: 42px; right: -3px; }
  .float-icon { height: 31px; width: 31px; }
  .hero-float-card strong { font-size: 10px; }.hero-float-card small { font-size: 8px; }
  .proof-grid { grid-template-columns: repeat(3, 1fr); min-height: 88px; }
  .proof-grid > div { padding: 0 10px; text-align: center; }
  .proof-grid strong { font-size: 17px; }.proof-grid span { font-size: 8px; }
  .split-heading { align-items: start; flex-direction: column; gap: 16px; }
  .section-heading h2 { font-size: 36px; }
  .amenity-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .amenity-card { gap: 8px; grid-template-columns: auto 1fr; min-height: 68px; padding: 10px; }
  .amenity-card > span { height: 40px; width: 40px; }
  .amenity-card > svg { display: none; }
  .amenity-card strong { font-size: 11px; }
  .listing-filter-bar { grid-template-columns: 1fr; }
  .listing-filter-bar label { border-right: 0; }
  .listing-filter-bar > a { position: absolute; right: 25px; }
  .listing-grid { grid-template-columns: 1fr; }
  .listing-image { height: 235px; }
  .favorite-form { top: 198px; }
  .how-panel { border-radius: 25px; padding: 32px 22px; }
  .how-intro h2 { font-size: 34px; }
  .how-steps { grid-template-columns: 1fr; }
  .how-steps article { display: grid; gap: 4px 12px; grid-template-columns: auto 1fr; }
  .how-steps article > svg { grid-row: 1 / 3; }
  .how-steps h3 { margin: 4px 0 0; }.how-steps p { margin: 0; }
  .host-cta { border-radius: 24px; }
  .host-cta-content h2 { font-size: 35px; }
  .host-cta-content > div { align-items: stretch; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .site-footer { padding-bottom: 125px; }
  .mobile-bottom-nav { align-items: end; background: rgba(255,255,255,.94); border-top: 1px solid var(--line); bottom: 0; display: grid; grid-template-columns: repeat(5,1fr); left: 0; padding: 7px 7px 8px; position: fixed; right: 0; z-index: 80; backdrop-filter: blur(15px); }
  .mobile-bottom-nav > a { align-items: center; color: var(--muted); display: flex; flex-direction: column; font-size: 8px; gap: 3px; justify-content: center; }
  .mobile-bottom-nav > a svg { height: 19px; width: 19px; }
  .mobile-bottom-nav .mobile-publish { color: var(--forest-2); transform: translateY(-8px); }
  .mobile-publish > span { align-items: center; background: var(--orange); border: 5px solid var(--cream); border-radius: 50%; color: white; display: flex; height: 51px; justify-content: center; width: 51px; }
  .mobile-publish small { font-size: 8px; font-weight: 700; }
  .toast { left: 14px; max-width: none; right: 14px; top: 112px; }
  .detail-title-row { align-items: start; gap: 12px; }
  .detail-title-row h1 { font-size: 35px; }
  .detail-save { font-size: 0; height: 41px; min-height: 41px; padding: 0; width: 41px; }
  .detail-save svg { height: 18px; width: 18px; }
  .detail-gallery { display: block; height: 280px; width: 100%; }
  .gallery-item { display: none; height: 100%; width: 100%; }
  .gallery-item-1 { border-radius: 20px; display: block; }
  .detail-section { padding-top: 50px; }
  .detail-amenities { grid-template-columns: 1fr; }
  .verified-host { display: none; }
  .location-panel { align-items: start; }
  .related-section { padding-bottom: 90px; }
  .lightbox-nav { height: 40px; width: 40px; }.lightbox-nav.prev { left: 8px; }.lightbox-nav.next { right: 8px; }
  .auth-content { align-items: start; padding: 100px 22px 45px; }
  .auth-back { left: 22px; }
  .auth-form-wrap h1 { font-size: 36px; }
  .form-row { grid-template-columns: 1fr; }
  .dashboard-header { height: 65px; padding: 0 15px; }
  .dashboard-header > div:first-of-type { display: none; }
  .dashboard-content { padding: 24px 14px 90px; }
  .dashboard-page-heading { align-items: start; flex-direction: column; gap: 16px; }
  .dashboard-page-heading h1 { font-size: 29px; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .metric-card { flex-direction: column; gap: 9px; padding: 14px; }
  .metric-card strong { font-size: 21px; }
  .dashboard-listing-row { align-items: start; grid-template-columns: 75px 1fr; padding: 12px; }
  .dashboard-listing-row > img { height: 65px; width: 75px; }
  .dashboard-listing-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .form-section { padding: 17px 14px; }
  .form-row-four { grid-template-columns: 1fr 1fr; }
  .amenity-check-grid { grid-template-columns: 1fr 1fr; }
  .existing-images, .upload-preview { grid-template-columns: repeat(2, 1fr); }
  .publication-card { padding: 20px 14px; }
  .publication-options { grid-template-columns: 1fr; }
  .publication-options .button, .publication-options > small { grid-column: 1; }
  .danger-zone { align-items: start; gap: 10px; }
  .dashboard-plan-grid { grid-template-columns: 1fr; }
  .order-list article { align-items: start; grid-template-columns: auto 1fr; }
  .order-list article > span:not(.transaction-icon), .order-list article > em, .copy-pix { grid-column: 2; }
  .moderation-list article { grid-template-columns: 75px 1fr; padding: 12px; }
  .moderation-list article > img { height: 62px; width: 75px; }
  .moderation-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .admin-user-list article { grid-template-columns: auto 1fr auto; }
  .admin-user-list article > span:not(.profile-avatar):not(.status-badge), .admin-user-list em { display: none; }
  .admin-dashboard-heading { align-items: stretch; }
  .period-switch { justify-content: space-between; }.period-switch a { flex: 1; text-align: center; }
  .analytics-metric-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .analytics-card { padding: 12px; }.analytics-card > strong { font-size: 20px; }.analytics-card > p { min-height: 22px; }
  .trend-chart { height: 180px; padding-inline: 8px; }
  .admin-filter-bar, .admin-filter-wide { grid-template-columns: 1fr; }.admin-filter-wide select:nth-of-type(2) { grid-column: auto; }
  .admin-plan-grid { grid-template-columns: 1fr; }
  .checkbox-line { align-items: flex-start; flex-direction: column; gap: 8px; }
  .plan-editor-form .form-row-four { grid-template-columns: 1fr 1fr; }
  .reset-panel { padding: 16px; }
  .footer-legal { align-items: flex-end; flex-direction: column; gap: 7px; }
  .legal-hero { padding: 55px 0 42px; }.legal-section { padding: 45px 0 85px; }.legal-layout { display: block; }.legal-layout aside { display: none; }.legal-content p { font-size: 13px; }
}
