/* ======================================================================
   FishingLogbook v13.1 — CONSOLIDATED STYLESHEET
   Generated by combining the previous stylesheets in their exact
   browser load order. Do not reorder the sections below unless you
   intentionally want to change CSS precedence.
   ====================================================================== */

/* ===== BASE: styles.css (v12.1 full stylesheet) ===== */
:root {
  --bg: #0f1713;
  --panel: #162019;
  --panel-2: #1c2a20;
  --line: rgba(255,255,255,.09);
  --text: #f4f7f4;
  --muted: #9cad9f;
  --accent: #9fce67;
  --accent-2: #d4efaa;
  --danger: #ff8d7a;
  --shadow: 0 16px 40px rgba(0,0,0,.24);
}

* { box-sizing: border-box; }
html { color-scheme: dark; }
body {
  margin: 0;
  font-family: Inter, system-ui, sans-serif;
  background:
    radial-gradient(circle at 10% 0%, rgba(93,126,74,.18), transparent 28%),
    radial-gradient(circle at 90% 10%, rgba(45,91,68,.14), transparent 25%),
    var(--bg);
  color: var(--text);
}

button, input, select, textarea { font: inherit; }

.topbar, .shell {
  width: min(1180px, calc(100% - 28px));
  margin-inline: auto;
}

.topbar {
  padding: 24px 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: clamp(1.5rem, 4vw, 2rem); }
h2 { font-size: clamp(1.8rem, 5vw, 3.3rem); line-height: 1.02; max-width: 760px; margin-bottom: 14px; }
h3 { font-size: 1.15rem; margin-bottom: 0; }

.eyebrow {
  color: var(--accent);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.primary, .secondary, .ghost, .text-button, .icon-btn {
  border: 0;
  cursor: pointer;
}

.primary {
  background: var(--accent);
  color: #101710;
  font-weight: 800;
  padding: 12px 16px;
  border-radius: 12px;
}

.secondary {
  background: #26352a;
  color: var(--text);
  font-weight: 700;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid var(--line);
}

.ghost {
  background: transparent;
  color: var(--muted);
  font-weight: 700;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.text-button {
  background: none;
  color: var(--accent);
  font-weight: 700;
}

.shell { padding-bottom: 50px; }

.hero-card {
  margin-top: 18px;
  padding: clamp(24px, 5vw, 54px);
  min-height: 330px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: var(--shadow);
  background:
    linear-gradient(100deg, rgba(11,18,13,.96), rgba(18,36,22,.72)),
    url('https://images.pexels.com/photos/13021867/pexels-photo-13021867.jpeg?auto=compress&dpr=1&h=750&w=1260') center/cover;
}

.hero-card p {
  color: #c9d3ca;
  max-width: 620px;
  font-size: 1rem;
  line-height: 1.6;
}

.badge {
  display: inline-block;
  margin-bottom: 18px;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--accent-2);
  background: rgba(159,206,103,.12);
  border: 1px solid rgba(159,206,103,.25);
  font-size: .78rem;
  font-weight: 800;
}

.hero-actions { display: flex; gap: 10px; margin-top: 8px; flex-wrap: wrap; }

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 18px 0;
}

.stat-card, .panel {
  border: 1px solid var(--line);
  background: rgba(22,32,25,.88);
  border-radius: 20px;
  box-shadow: var(--shadow);
}

.stat-card { padding: 20px; }
.stat-card span, .stat-card small { display: block; color: var(--muted); }
.stat-card strong {
  display: block;
  font-size: 2rem;
  margin: 6px 0 4px;
}
.stat-card .text-stat { font-size: 1.1rem; line-height: 1.3; min-height: 42px; display: flex; align-items: center; }

.content-grid {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 18px;
  margin-bottom: 18px;
}

.panel { padding: 20px; }
.panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}
.history-head { align-items: flex-end; }

.catch-list, .pb-list { display: grid; gap: 10px; }

.catch-item, .pb-item {
  border: 1px solid var(--line);
  background: var(--panel-2);
  border-radius: 14px;
  padding: 14px;
}

.catch-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.catch-title { font-weight: 800; }
.catch-meta, .catch-sub { color: var(--muted); font-size: .88rem; margin-top: 4px; }
.weight { font-weight: 800; color: var(--accent-2); white-space: nowrap; }

.pb-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pb-item strong { color: var(--accent-2); }

.filters { display: flex; gap: 8px; flex-wrap: wrap; }
.filters input, .filters select {
  min-width: 190px;
}

input, select, textarea {
  width: 100%;
  background: #101812;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 12px;
  outline: none;
}

input:focus, select:focus, textarea:focus {
  border-color: rgba(159,206,103,.65);
  box-shadow: 0 0 0 3px rgba(159,206,103,.08);
}

.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th, td { padding: 13px 10px; text-align: left; border-top: 1px solid var(--line); }
th { color: var(--muted); font-size: .78rem; }
td { font-size: .9rem; }
.pb-pill {
  display: inline-block;
  padding: 4px 7px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  background: rgba(159,206,103,.12);
  color: var(--accent);
}

.empty {
  color: var(--muted);
  border: 1px dashed var(--line);
  border-radius: 14px;
  padding: 20px;
  text-align: center;
}

dialog {
  width: min(720px, calc(100% - 24px));
  border: none;
  border-radius: 22px;
  padding: 0;
  background: transparent;
}
dialog::backdrop {
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(4px);
}
.dialog-card {
  background: #152019;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 20px;
  box-shadow: var(--shadow);
}
.dialog-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}
.icon-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #26352a;
  color: var(--text);
  font-size: 1.5rem;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
label {
  display: grid;
  gap: 7px;
  color: #d7dfd8;
  font-size: .88rem;
  font-weight: 700;
}
.full { grid-column: 1 / -1; }
.check {
  display: flex;
  align-items: center;
  gap: 9px;
}
.check input { width: auto; }
.dialog-actions {
  margin-top: 18px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

@media (max-width: 800px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .content-grid { grid-template-columns: 1fr; }
  .history-head { align-items: stretch; flex-direction: column; }
  .filters { width: 100%; }
  .filters input, .filters select { min-width: 0; flex: 1; }
}

@media (max-width: 560px) {
  .topbar {
    align-items: flex-start;
  }
  .topbar .primary { padding: 10px 12px; font-size: .88rem; }
  .hero-card { min-height: 370px; border-radius: 20px; }
  .stats-grid { gap: 10px; }
  .stat-card { padding: 16px; }
  .stat-card strong { font-size: 1.65rem; }
  .panel { padding: 16px; border-radius: 18px; }
  .form-grid { grid-template-columns: 1fr; }
  .full { grid-column: auto; }
  .filters { flex-direction: column; }
}
.hidden{display:none!important}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(rgba(8,14,10,.82),rgba(8,14,10,.95)),url('https://images.pexels.com/photos/28207767/pexels-photo-28207767/free-photo-of-a-man-sitting-in-a-chair-with-a-fishing-rod.jpeg?auto=compress&dpr=1&h=750&w=1260') center/cover}.auth-card{width:min(440px,100%);padding:28px;background:rgba(18,29,21,.96);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.auth-card form{display:grid;gap:13px}.auth-card p{color:var(--muted)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#0e1711;padding:5px;border-radius:12px;margin:20px 0}.tab{border:0;background:transparent;color:var(--muted);padding:10px;border-radius:9px;font-weight:800;cursor:pointer}.tab.active{background:#26352a;color:var(--text)}.message{min-height:18px;margin-top:10px;color:#efb278;font-size:.86rem}.history-list{display:grid;gap:8px}.history-row{display:grid;grid-template-columns:120px 1fr 100px 1fr 1fr 40px;gap:10px;align-items:center;border-top:1px solid var(--line);padding:12px 8px;font-size:.88rem}.delete-catch{border:0;background:transparent;color:#ff9d8e;cursor:pointer;font-size:1.2rem}.history-row small{color:var(--muted)}@media(max-width:800px){.history-row{grid-template-columns:90px 1fr 90px 36px}.history-row .optional{display:none}}@media(max-width:560px){.head-actions .secondary{display:none}.head-actions{justify-content:flex-end}.topbar{align-items:flex-start}.history-row{font-size:.8rem}}
.muted-copy{color:var(--muted);font-size:.82rem}.venue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.venue-card{background:var(--panel-2);border:1px solid var(--line);border-radius:16px;padding:16px;cursor:pointer;text-align:left;color:var(--text)}.venue-card:hover{border-color:rgba(159,206,103,.4)}.venue-card h4{margin:0 0 8px;font-size:1.05rem}.venue-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}.venue-stats span{display:block;background:#121b15;border:1px solid var(--line);border-radius:10px;padding:9px}.venue-stats small{display:block;color:var(--muted);margin-bottom:3px}.venue-mini{color:var(--muted);font-size:.82rem;line-height:1.45}.location-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-2px 0 15px;padding:10px;border:1px solid var(--line);border-radius:13px;background:#101812}.location-strip span{color:var(--muted);font-size:.8rem}.location-btn{border:0;border-radius:10px;padding:9px 11px;background:rgba(159,206,103,.13);color:var(--accent-2);font-weight:800;cursor:pointer}.location-btn:disabled{opacity:.6;cursor:wait}.venue-dialog{max-height:88vh;overflow:auto}.venue-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:16px}.venue-summary-grid article{background:#101812;border:1px solid var(--line);border-radius:12px;padding:12px}.venue-summary-grid small{display:block;color:var(--muted);margin-bottom:5px}.venue-summary-grid strong{font-size:1.1rem}.venue-sections{display:grid;grid-template-columns:1fr 1fr;gap:12px}.venue-block{border:1px solid var(--line);background:var(--panel-2);border-radius:14px;padding:14px}.venue-block h4{margin:0 0 10px}.rank-list{display:grid;gap:7px}.rank-row{display:flex;justify-content:space-between;gap:10px;color:#dfe7e0}.venue-catches{display:grid;gap:9px;margin-top:12px}.venue-catch{display:grid;grid-template-columns:68px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px;background:#101812}.venue-catch img{width:68px;height:54px;object-fit:cover;border-radius:8px}.venue-catch .photo-placeholder{width:68px;height:54px;border-radius:8px;display:grid;place-items:center;background:#1c2a20;color:var(--muted);font-size:.7rem}.coords{font-size:.76rem;color:var(--muted);margin-top:6px}@media(max-width:800px){.venue-grid{grid-template-columns:repeat(2,1fr)}.venue-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.venue-grid{grid-template-columns:1fr}.venue-sections{grid-template-columns:1fr}.location-strip{align-items:stretch;flex-direction:column}.location-btn{width:100%}.venue-catch{grid-template-columns:56px 1fr auto}.venue-catch img,.venue-catch .photo-placeholder{width:56px;height:48px}}

/* v3 fishery -> lake/water hierarchy + session inheritance */
.session-strip{
  display:grid;
  gap:8px;
  margin:-2px 0 12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#101812;
}
.session-strip span{color:var(--muted);font-size:.8rem;line-height:1.4}
.session-select-label{gap:7px}
.inherited-field{background:#17231b!important;color:#cbd7cc!important;border-color:rgba(159,206,103,.18)!important}
.water-line{color:var(--accent-2);margin-bottom:5px;font-weight:700}


/* v5 sessions, public area and fishing venue advertising directory */
.public-entry{width:100%;margin:8px 0 2px;border:1px solid rgba(159,206,103,.28);background:rgba(159,206,103,.09);color:var(--accent-2);border-radius:12px;padding:12px;font-weight:800;cursor:pointer}.owner-hint{font-size:.8rem;line-height:1.5;margin:14px 0 0}.public-shell{min-height:100vh;background:radial-gradient(circle at 8% 0%,rgba(73,109,62,.18),transparent 32%),var(--bg)}.public-topbar{padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}.public-topbar h1{margin:3px 0 0}.public-hero{margin:10px 0 18px;padding:clamp(24px,5vw,48px);border:1px solid var(--line);border-radius:24px;background:linear-gradient(100deg,rgba(11,18,13,.98),rgba(21,47,29,.72)),url('https://images.pexels.com/photos/13021867/pexels-photo-13021867.jpeg?auto=compress&dpr=1&h=750&w=1260') center/cover}.public-hero h2{font-size:clamp(1.8rem,5vw,3rem);margin:10px 0}.public-hero p{color:#cbd5cc;max-width:700px}.public-water-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.public-water-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}.public-water-card>img,.water-photo-placeholder{width:100%;height:180px;object-fit:cover}.water-photo-placeholder{display:grid;place-items:center;background:#101812;color:var(--muted);font-weight:800;letter-spacing:.1em}.public-water-body{padding:16px}.public-water-body h3{margin:4px 0 8px}.public-water-body p{color:#cbd5cc;line-height:1.55}.listing-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.listing-tags span{padding:6px 8px;border-radius:99px;background:#101812;border:1px solid var(--line);font-size:.76rem}.public-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.public-links a{color:var(--accent);text-decoration:none;font-weight:800;font-size:.84rem}.public-water-body details{margin-top:10px;border-top:1px solid var(--line);padding-top:8px;color:#cbd5cc}.public-water-body summary{cursor:pointer;color:var(--accent-2);font-weight:700}.public-catch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.public-catch-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--panel-2)}.public-catch-card img,.catch-photo-placeholder{width:100%;height:190px;object-fit:cover}.catch-photo-placeholder{display:grid;place-items:center;background:#101812;color:var(--muted);font-size:.76rem;font-weight:800}.public-catch-card>div:last-child{padding:14px}.public-catch-card h3{margin:4px 0 6px}.public-pill{display:inline-block;margin-left:5px;font-size:.58rem;padding:3px 5px;border-radius:99px;background:rgba(159,206,103,.12);color:var(--accent);vertical-align:middle}.session-list,.owner-water-list{display:grid;gap:9px}.session-row,.owner-water-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#101812}.danger-soft{border:1px solid rgba(255,125,108,.22);background:rgba(255,125,108,.08);color:#ff9d8e;border-radius:10px;padding:9px 11px;font-weight:800;cursor:pointer}.danger-soft:disabled{opacity:.45;cursor:not-allowed}.owner-water-card img{width:92px;height:68px;object-fit:cover;border-radius:10px}.owner-water-main{flex:1}.owner-water-title span{color:var(--accent-2)}.owner-actions{display:flex;gap:7px}.owner-dialog{max-height:90vh;overflow:auto}.privacy-note{color:var(--muted);font-size:.78rem;line-height:1.45}.share-check{padding:12px;border:1px solid var(--line);border-radius:12px;background:#101812}.history-actions{display:flex;align-items:center;gap:3px}.share-catch{border:0;background:transparent;color:var(--muted);font-size:1.25rem;cursor:pointer}.share-catch.is-public{color:var(--accent)}
@media(max-width:900px){.public-water-grid,.public-catch-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.public-topbar{align-items:flex-start}.public-water-grid,.public-catch-grid{grid-template-columns:1fr}.session-row,.owner-water-card{align-items:flex-start}.owner-water-card{flex-wrap:wrap}.owner-water-card img{width:76px;height:58px}.owner-actions{width:100%;justify-content:flex-end}.head-actions .secondary{display:inline-block;font-size:.75rem;padding:8px}.history-row{grid-template-columns:84px 1fr 76px 62px}.history-actions{justify-content:flex-end}}


/* v6 account types: angler vs fishing-venue advertiser */
.account-type-title{margin:2px 0 8px;font-size:.86rem;font-weight:800;color:#dce6dd}
.account-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:4px}
.account-type-card{display:flex!important;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#101812;cursor:pointer}
.account-type-card:has(input:checked){border-color:rgba(159,206,103,.52);background:rgba(159,206,103,.09)}
.account-type-card input{width:auto;margin:3px 0 0;accent-color:var(--accent)}
.account-type-card span{display:grid;gap:3px}.account-type-card strong{color:var(--text);font-size:.88rem}.account-type-card small{color:var(--muted);font-size:.74rem;line-height:1.4;font-weight:500}
.header-action-group{display:flex;gap:8px;flex-wrap:wrap}
.owner-hero{margin:18px 0;padding:clamp(24px,5vw,48px);min-height:250px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(100deg,rgba(11,18,13,.98),rgba(31,58,35,.76)),url('https://images.pexels.com/photos/5538152/pexels-photo-5538152.jpeg?cs=srgb&dl=pexels-thirdman-5538152.jpg&fm=jpg') center/cover;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.owner-hero h2{font-size:clamp(1.8rem,5vw,3rem);margin:10px 0 8px;max-width:720px}.owner-hero p{max-width:700px;color:#cbd5cc;line-height:1.55;margin-bottom:0}
@media(max-width:620px){.account-type-grid{grid-template-columns:1fr}.owner-hero{align-items:stretch;flex-direction:column;justify-content:flex-end}.owner-hero>.primary{width:100%}.header-action-group{display:contents}}


/* v7 featured advertising foundation */
.promotion-panel{position:relative;overflow:hidden}.promotion-panel:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}
.coming-soon-pill,.featured-badge{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:rgba(159,206,103,.13);border:1px solid rgba(159,206,103,.28);color:var(--accent-2);font-size:.68rem;font-weight:900;letter-spacing:.06em}
.promotion-benefits{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.promotion-benefits span{padding:8px 10px;border:1px solid var(--line);background:#101812;border-radius:10px;color:#cad6cc;font-size:.8rem;font-weight:700}
.owner-promotion{margin-top:10px}.promote-listing{border:1px solid rgba(159,206,103,.30);background:rgba(159,206,103,.09);color:var(--accent-2);padding:8px 10px;border-radius:10px;font-weight:800;cursor:pointer}.promotion-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.78rem}.promotion-status.requested{color:var(--accent-2)}.promotion-status .ghost{padding:6px 8px;font-size:.72rem}.owner-featured{border-color:rgba(159,206,103,.42);box-shadow:inset 0 0 0 1px rgba(159,206,103,.08)}
.public-water-card{position:relative}.public-water-card.featured-listing{border-color:rgba(159,206,103,.50);box-shadow:0 14px 34px rgba(0,0,0,.24),inset 0 0 0 1px rgba(159,206,103,.08)}.featured-ribbon{position:absolute;z-index:2;top:12px;left:12px;padding:7px 9px;border-radius:10px;background:rgba(13,21,16,.92);border:1px solid rgba(159,206,103,.42);color:var(--accent-2);font-size:.7rem;font-weight:900;letter-spacing:.06em;backdrop-filter:blur(4px)}.listing-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.featured-badge.compact{font-size:.6rem;padding:4px 6px}
@media(max-width:620px){.promotion-panel .panel-head{align-items:flex-start;flex-direction:column}.promotion-benefits{display:grid;grid-template-columns:1fr 1fr}.owner-promotion{width:100%}}


/* v8 public front page */
.home-shell{min-height:100vh;background:radial-gradient(circle at 8% 0%,rgba(93,126,74,.19),transparent 28%),radial-gradient(circle at 90% 18%,rgba(45,91,68,.13),transparent 25%),var(--bg)}
.home-topbar{position:sticky;top:0;z-index:20;background:rgba(15,23,19,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.home-nav{padding:12px 0!important;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand-button{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--text);cursor:pointer;text-align:left;padding:0}.brand-button>span:last-child{display:grid;gap:1px}.brand-button strong{font-size:.98rem}.brand-button small{color:var(--muted);font-size:.65rem}.brand-mark{width:38px;height:38px;border-radius:11px;background:var(--accent);color:#0e160f;display:grid;place-items:center;font-weight:950;font-size:1.2rem}
.home-links{display:flex;align-items:center;gap:4px}.home-links button{border:0;background:transparent;color:#cbd5cc;padding:9px 10px;border-radius:9px;cursor:pointer;font-weight:700;font-size:.84rem}.home-links button:hover{background:#1b2920;color:var(--text)}
.home-account-actions{display:flex;gap:8px}.home-account-actions .primary,.home-account-actions .secondary{padding:10px 13px;font-size:.82rem}
.home-hero{min-height:560px;padding-top:72px!important;padding-bottom:72px!important;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);gap:48px;align-items:center;position:relative}
.home-hero:before{content:'';position:absolute;inset:30px 0;border:1px solid var(--line);border-radius:30px;background:linear-gradient(105deg,rgba(11,18,13,.98) 25%,rgba(15,28,18,.84) 58%,rgba(23,52,31,.58)),url('https://images.pexels.com/photos/28207767/pexels-photo-28207767/free-photo-of-a-man-sitting-in-a-chair-with-a-fishing-rod.jpeg?auto=compress&dpr=1&h=750&w=1260') center/cover;box-shadow:var(--shadow);z-index:0}.home-hero>*{position:relative;z-index:1}.home-hero-copy{padding-left:clamp(24px,5vw,64px)}
.home-kicker{color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.14em}.home-hero h1{font-size:clamp(2.8rem,7vw,5.7rem);line-height:.92;letter-spacing:-.045em;margin:14px 0 22px;max-width:900px}.home-hero h1 span{color:var(--accent-2)}.home-hero-copy>p{color:#cbd5cc;font-size:1.05rem;line-height:1.65;max-width:680px}
.home-search{display:flex;gap:8px;max-width:720px;padding:7px;background:rgba(8,14,10,.75);border:1px solid rgba(255,255,255,.12);border-radius:15px;margin-top:24px}.home-search input{border:0;background:transparent;box-shadow:none!important}.home-search .primary{white-space:nowrap}.home-hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.home-hero-card{align-self:end;margin:0 clamp(24px,4vw,50px) 0 0;padding:22px;border:1px solid rgba(159,206,103,.22);background:rgba(13,24,16,.86);border-radius:20px;backdrop-filter:blur(10px)}.home-hero-card>strong{display:block;font-size:1.22rem;margin:12px 0 8px}.home-hero-card>p{color:var(--muted);font-size:.86rem;line-height:1.55}.hero-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.hero-mini-grid span{display:grid;padding:10px;border:1px solid var(--line);border-radius:11px;background:#101812}.hero-mini-grid b{color:var(--accent-2)}.hero-mini-grid small{color:var(--muted);font-size:.68rem;margin-top:2px}
.home-section{padding-top:54px!important;padding-bottom:12px!important}.home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.home-section-head h2{font-size:clamp(1.7rem,4vw,2.7rem);margin:5px 0 5px}.home-section-head p{color:var(--muted);margin:0;max-width:720px}.home-featured-grid,.home-venue-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.home-featured-grid .public-water-card{background:linear-gradient(180deg,rgba(29,48,34,.98),var(--panel-2));border-color:rgba(159,206,103,.45)}.home-venue-preview .public-water-card{box-shadow:none}.compact-venue-card .public-water-body p,.compact-venue-card details{display:none}.compact-venue-card>img,.compact-venue-card>.water-photo-placeholder{height:170px}
.featured-empty{grid-column:1/-1;padding:28px;border:1px dashed rgba(159,206,103,.32);background:rgba(159,206,103,.05);border-radius:18px}.featured-empty h3{margin:7px 0}.featured-empty p{color:var(--muted);max-width:620px}.featured-empty button{margin-top:8px}
.home-split{padding-top:54px!important;padding-bottom:12px!important;display:grid;grid-template-columns:1fr 1fr;gap:18px}.home-info-card{padding:clamp(24px,4vw,40px);border-radius:24px;border:1px solid var(--line);background:var(--panel);min-height:360px}.home-info-card h2{font-size:clamp(1.7rem,4vw,2.5rem);margin:9px 0 12px}.home-info-card p,.home-info-card li{color:#c5d0c7;line-height:1.55}.home-info-card ul{padding-left:20px;margin:18px 0 26px;display:grid;gap:7px}.owner-card{background:linear-gradient(135deg,#162019,#203525)}
.home-catch-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.compact-catch-card img,.compact-catch-card .catch-photo-placeholder{height:150px}.home-footer{margin-top:62px;border-top:1px solid var(--line);background:#0b120d}.home-footer .shell{padding-top:24px!important;padding-bottom:24px!important;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:.8rem}.home-footer strong{color:var(--text)}
.auth-back{border:0;background:transparent;color:var(--accent);font-weight:800;cursor:pointer;padding:0 0 15px}.public-nav-actions{display:flex;gap:8px}
@media(max-width:950px){.home-links{display:none}.home-hero{grid-template-columns:1fr;gap:15px}.home-hero-card{margin:0 24px 30px;max-width:460px}.home-featured-grid,.home-venue-preview{grid-template-columns:repeat(2,1fr)}.home-catch-preview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.home-account-actions .secondary{display:none}.home-nav{gap:8px}.brand-button small{display:none}.home-hero{padding-top:24px!important;padding-bottom:24px!important;min-height:620px}.home-hero:before{inset:10px 0}.home-hero-copy{padding:36px 22px 0}.home-hero h1{font-size:clamp(2.55rem,13vw,4rem)}.home-search{flex-direction:column}.home-hero-card{margin:0 22px 28px}.home-featured-grid,.home-venue-preview,.home-catch-preview,.home-split{grid-template-columns:1fr}.home-section-head{align-items:flex-start;flex-direction:column}.home-section{padding-top:40px!important}.home-split{padding-top:40px!important}.home-footer .shell{flex-direction:column}.public-nav-actions .ghost{display:none}}


/* v9 smart fishing tools */
.smart-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.smart-home-grid article{padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,#17251b,#121c15);min-height:190px}
.smart-home-grid article>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(159,206,103,.11);border:1px solid rgba(159,206,103,.22);color:var(--accent-2);font-size:1.2rem;font-weight:900}
.smart-home-grid h3{margin:18px 0 8px;font-size:1rem}.smart-home-grid p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.55}
.smart-panel{overflow:hidden}.smart-head{align-items:flex-end}.smart-head .muted-copy{margin:5px 0 0}.smart-actions{display:flex;gap:8px;flex-wrap:wrap}
.smart-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:0 0 14px}.smart-summary-grid article{padding:14px;border:1px solid var(--line);background:#101812;border-radius:13px}.smart-summary-grid small{display:block;color:var(--muted);font-size:.72rem}.smart-summary-grid strong{display:block;margin-top:6px;color:var(--accent-2);font-size:1rem;line-height:1.25}
.smart-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.spot-map{height:390px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#101812}.leaflet-container{background:#101812;font-family:inherit}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#17231b;color:#eef4ef}.leaflet-popup-content small{color:#b1c0b4}
.subsection-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.spot-list{display:grid;gap:9px;max-height:390px;overflow:auto;padding-right:2px}
.spot-card{display:grid;grid-template-columns:76px 1fr auto;gap:11px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}.spot-card img,.spot-photo-placeholder{width:76px;height:68px;border-radius:10px;object-fit:cover}.spot-photo-placeholder{display:grid;place-items:center;background:#101812;color:var(--muted);font-size:.58rem;font-weight:900;letter-spacing:.06em}
.spot-card-main{min-width:0}.spot-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.spot-title strong{font-size:.91rem}.spot-title span{font-size:.64rem;padding:3px 6px;border-radius:999px;background:rgba(159,206,103,.09);color:var(--accent);border:1px solid rgba(159,206,103,.18)}.spot-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.spot-tags span{padding:4px 6px;border:1px solid var(--line);border-radius:7px;color:#bdc8bf;font-size:.66rem}.spot-actions{display:flex;gap:5px;flex-direction:column}.spot-actions button{padding:6px 8px;font-size:.67rem}
.smart-insight-row{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}.smart-insight-row>div{padding:12px;border-top:1px solid var(--line)}.smart-insight-row small{display:block;color:var(--muted);font-size:.69rem}.smart-insight-row strong{display:block;margin-top:5px;font-size:.83rem}
.trophy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.trophy-card{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--panel-2);border-radius:14px}.trophy-card img,.trophy-photo-placeholder{width:100%;height:135px;object-fit:cover}.trophy-photo-placeholder{display:grid;place-items:center;background:#101812;color:var(--muted);font-size:.72rem;font-weight:900}.trophy-card>div:last-child{padding:11px;display:grid;gap:4px}.trophy-card>div:last-child>strong{font-size:1.18rem;color:var(--accent-2)}.trophy-card>div:last-child>small{color:var(--muted);line-height:1.35}.trophy-rank{position:absolute;z-index:2;top:8px;left:8px;width:31px;height:31px;border-radius:9px;background:rgba(13,21,16,.91);border:1px solid rgba(159,206,103,.32);display:grid;place-items:center;color:var(--accent-2);font-size:.72rem;font-weight:900}
.smart-dialog{width:min(760px,calc(100vw - 28px))}.spot-location-btn{border:1px solid rgba(159,206,103,.3);background:rgba(159,206,103,.08);color:var(--accent-2);border-radius:10px;padding:9px 11px;font-weight:800;cursor:pointer}
.single-select{margin-bottom:14px}.planner-dialog{width:min(850px,calc(100vw - 28px))}.planner-controls{display:grid;grid-template-columns:1.4fr 1fr auto;gap:9px;align-items:end}.planner-result{margin-top:14px}.planner-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.planner-title h3{margin:3px 0}.match-pill{padding:7px 9px;border-radius:999px;background:rgba(159,206,103,.11);border:1px solid rgba(159,206,103,.25);color:var(--accent-2);font-size:.72rem;font-weight:900}
.planner-weather{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:14px 0}.planner-weather>div{padding:11px;border:1px solid var(--line);border-radius:11px;background:#101812}.planner-weather small,.planner-weather span{display:block;color:var(--muted);font-size:.65rem}.planner-weather strong{display:block;margin:4px 0;font-size:.82rem}.planner-weather.unavailable{display:grid;grid-template-columns:1fr;padding:16px;color:var(--muted)}
.planner-recommendations{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.planner-recommendations article{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.planner-recommendations small{display:block;color:var(--muted);font-size:.67rem;line-height:1.35}.planner-recommendations strong{display:block;margin-top:7px;font-size:.85rem;color:var(--accent-2)}
@media(max-width:950px){.smart-home-grid{grid-template-columns:repeat(2,1fr)}.smart-layout{grid-template-columns:1fr}.trophy-grid{grid-template-columns:repeat(2,1fr)}.planner-weather{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.smart-home-grid{grid-template-columns:1fr}.smart-head{align-items:stretch;flex-direction:column}.smart-actions{display:grid;grid-template-columns:1fr 1fr}.smart-summary-grid{grid-template-columns:repeat(2,1fr)}.smart-insight-row{grid-template-columns:repeat(2,1fr)}.spot-map{height:310px}.spot-card{grid-template-columns:58px 1fr}.spot-card img,.spot-photo-placeholder{width:58px;height:58px}.spot-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-end}.trophy-grid{grid-template-columns:1fr 1fr}.planner-controls{grid-template-columns:1fr}.planner-weather{grid-template-columns:repeat(2,1fr)}.planner-recommendations{grid-template-columns:1fr 1fr}}

.leaderboard-list{display:grid;gap:8px}.leader-row{display:grid;grid-template-columns:42px 54px 1fr auto;gap:11px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.leader-rank{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#101812;color:var(--accent-2);font-weight:900}.leader-row img,.leader-photo-placeholder{width:54px;height:54px;border-radius:10px;object-fit:cover}.leader-photo-placeholder{display:grid;place-items:center;background:#101812;color:var(--muted);font-size:.6rem;font-weight:900}.leader-row>div:nth-child(3){display:grid;gap:3px}.leader-row>div:nth-child(3) span{color:var(--muted);font-size:.75rem}.leader-row>b{color:var(--accent-2);font-size:1rem}
@media(max-width:620px){.leader-row{grid-template-columns:34px 46px 1fr}.leader-row img,.leader-photo-placeholder{width:46px;height:46px}.leader-row>b{grid-column:3;text-align:left}}


/* v9.2 premium Featured advertising */
.home-featured-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));
  gap:18px;
}
.featured-premium-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);
  min-height:330px;
  border:1px solid rgba(159,206,103,.52);
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0%,rgba(159,206,103,.10),transparent 34%),
    linear-gradient(145deg,#1d3022,#121d16);
  box-shadow:0 24px 55px rgba(0,0,0,.28),inset 0 0 0 1px rgba(159,206,103,.06);
}
.featured-premium-media{position:relative;min-height:330px;background:#0d1510;overflow:hidden}
.featured-premium-media img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.featured-premium-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(18,29,22,.55)),linear-gradient(0deg,rgba(4,9,6,.45),transparent 48%)}
.featured-premium-placeholder{height:100%;min-height:330px;display:grid;place-items:center;padding:30px;text-align:center;color:#8faa94;font-size:.76rem;font-weight:900;letter-spacing:.11em;background:linear-gradient(145deg,#233b29,#111b14)}
.premium-ribbon{position:absolute;z-index:2;top:18px;left:18px;padding:9px 12px;border-radius:999px;background:#b5df78;color:#0d160e;font-size:.68rem;font-weight:950;letter-spacing:.08em;box-shadow:0 8px 25px rgba(0,0,0,.28)}
.premium-price{position:absolute;z-index:2;bottom:18px;left:18px;padding:8px 11px;border-radius:10px;background:rgba(8,14,10,.9);border:1px solid rgba(255,255,255,.14);color:#fff;font-weight:900;font-size:.8rem;backdrop-filter:blur(8px)}
.featured-premium-body{padding:clamp(23px,4vw,38px);display:flex;flex-direction:column;justify-content:center;min-width:0}
.premium-meta{color:var(--accent);font-size:.7rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.featured-premium-body h3{font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.05;margin:9px 0 5px}
.premium-water{color:var(--accent-2);font-weight:800;margin-bottom:10px}
.featured-premium-body>p{color:#c8d2ca;line-height:1.55;margin:6px 0 17px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.premium-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}
.premium-highlights span{padding:10px 11px;border:1px solid var(--line);background:rgba(8,14,10,.38);border-radius:11px;min-width:0}
.premium-highlights small{display:block;color:var(--muted);font-size:.65rem;margin-bottom:3px}
.premium-highlights b{display:block;color:#eef5ef;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.premium-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.premium-actions a{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.premium-empty{background:linear-gradient(135deg,rgba(159,206,103,.09),rgba(18,29,22,.94));border-style:solid;min-height:220px;display:flex;flex-direction:column;justify-content:center}
.premium-empty h3{font-size:1.45rem}

.premium-upsell{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.7fr);
  gap:28px;
  align-items:center;
  padding:clamp(22px,4vw,38px);
  background:
    radial-gradient(circle at 0% 0%,rgba(159,206,103,.12),transparent 32%),
    linear-gradient(145deg,#18271d,#111a14);
}
.premium-upsell:before{width:5px}
.premium-upsell-copy h3{font-size:clamp(1.5rem,3vw,2.25rem);margin:8px 0 10px}
.premium-upsell-copy>p{color:#c6d0c8;line-height:1.6;max-width:720px}
.premium-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.premium-benefits span{background:rgba(8,14,10,.42)}
.premium-feature-cta{margin-top:18px}
.featured-preview-card{overflow:hidden;border:1px solid rgba(159,206,103,.4);border-radius:18px;background:#17251b;box-shadow:0 18px 45px rgba(0,0,0,.28)}
.featured-preview-image{min-height:155px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(0deg,rgba(7,13,9,.72),rgba(18,46,25,.35)),url('https://images.pexels.com/photos/5538152/pexels-photo-5538152.jpeg?cs=srgb&dl=pexels-thirdman-5538152.jpg&fm=jpg') center/cover}
.featured-preview-image span{align-self:flex-start;padding:6px 8px;border-radius:999px;background:var(--accent);color:#101710;font-size:.6rem;font-weight:950;letter-spacing:.06em}
.featured-preview-image strong{font-size:1.2rem}
.featured-preview-body{padding:16px}
.featured-preview-body small{color:var(--accent);font-weight:900;font-size:.62rem}
.featured-preview-body h4{font-size:1.18rem;margin:5px 0 7px}
.featured-preview-body p{color:var(--muted);font-size:.76rem;line-height:1.5;margin:0 0 12px}
.featured-preview-body>div{display:flex;gap:7px}
.featured-preview-body b{padding:7px 8px;border-radius:8px;background:#101812;border:1px solid var(--line);font-size:.65rem;color:var(--accent-2)}
.promote-listing{padding:10px 13px;background:linear-gradient(135deg,rgba(159,206,103,.18),rgba(159,206,103,.08));box-shadow:inset 0 0 0 1px rgba(159,206,103,.05)}
.promote-listing:hover{background:rgba(159,206,103,.18)}

@media(max-width:900px){
  .featured-premium-card{grid-template-columns:1fr}
  .featured-premium-media{min-height:250px}
  .featured-premium-placeholder{min-height:250px}
  .premium-upsell{grid-template-columns:1fr}
  .featured-preview-card{max-width:520px}
}
@media(max-width:620px){
  .featured-premium-media{min-height:220px}
  .featured-premium-placeholder{min-height:220px}
  .featured-premium-body{padding:20px}
  .premium-highlights,.premium-benefits{grid-template-columns:1fr}
  .premium-actions{display:grid;grid-template-columns:1fr}
  .premium-actions a{width:100%}
}


/* v10 advertising analytics, moderation and payments */
.verified-badge{display:inline-flex;align-items:center;vertical-align:middle;padding:4px 7px;border-radius:999px;background:rgba(106,190,255,.11);border:1px solid rgba(106,190,255,.3);color:#9dd7ff;font-size:.58rem;font-weight:950;letter-spacing:.05em;white-space:nowrap}
.owner-ad-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0}
.owner-ad-metrics span{padding:9px 10px;border-radius:10px;background:#0f1812;border:1px solid var(--line)}
.owner-ad-metrics small{display:block;color:var(--muted);font-size:.62rem}.owner-ad-metrics strong{display:block;margin-top:3px;font-size:1rem}
.listing-status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;border:1px solid var(--line);font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.listing-status.approved{color:var(--accent);background:rgba(159,206,103,.08)}
.listing-status.pending{color:#ffd38b;background:rgba(255,190,80,.08)}
.listing-status.suspended,.listing-status.rejected{color:#ff9b8b;background:rgba(255,120,100,.08)}
.payment-setup-note{display:block;margin-top:9px;color:var(--muted);line-height:1.4}
.admin-hero{margin-bottom:18px}.admin-stats{margin-top:0}
.admin-listing-list{display:grid;gap:11px}
.admin-listing-card{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--panel-2)}
.admin-listing-card>img,.admin-photo-placeholder{width:110px;height:88px;border-radius:11px;object-fit:cover;background:#101812;display:grid;place-items:center;color:var(--muted);font-size:.65rem;font-weight:900}
.admin-title-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.admin-title-line>strong{font-size:1rem}
.admin-mini-metrics{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.admin-mini-metrics>span:not(.listing-status){padding:5px 7px;border-radius:7px;background:#101812;border:1px solid var(--line);font-size:.68rem;color:var(--muted)}
.admin-reason{margin-top:8px;padding:8px;border-radius:8px;background:rgba(255,120,100,.06);color:#ffb2a6;font-size:.76rem}
.admin-actions{display:grid;gap:6px;min-width:145px}.admin-actions button{width:100%}
.admin-payment-list{display:grid}.admin-payment-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) 100px 110px;gap:12px;align-items:center;padding:12px 4px;border-top:1px solid var(--line)}
.admin-payment-row small{display:block;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis}
.payment-status{display:inline-flex;padding:4px 7px;border-radius:999px;border:1px solid var(--line);text-transform:uppercase;font-size:.6rem;font-weight:900}
.payment-status.paid{color:var(--accent);background:rgba(159,206,103,.08)}.payment-status.created{color:#ffd38b}.payment-status.cancelled{color:#ff9b8b}
#adminListingFilter{max-width:220px}
@media(max-width:800px){
  .owner-ad-metrics{grid-template-columns:repeat(2,1fr)}
  .admin-listing-card{grid-template-columns:80px minmax(0,1fr)}.admin-listing-card>img,.admin-photo-placeholder{width:80px;height:70px}.admin-actions{grid-column:1/-1;display:flex;flex-wrap:wrap}.admin-actions button{width:auto;flex:1;min-width:120px}
  .admin-payment-row{grid-template-columns:1fr 90px}.admin-payment-row>div:nth-child(2){grid-row:2}.admin-payment-row>span:last-child{grid-row:2}
}
@media(max-width:520px){.owner-ad-metrics{grid-template-columns:1fr 1fr}.admin-listing-card{grid-template-columns:1fr}.admin-listing-card>img,.admin-photo-placeholder{width:100%;height:150px}.admin-payment-row{grid-template-columns:1fr}.admin-payment-row>*{grid-row:auto!important}}


/* v10.2 Featured sale pricing */
.featured-offer-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-bottom:9px;
  padding:6px 9px;
  border-radius:999px;
  background:var(--accent);
  color:#101710;
  font-size:.64rem;
  font-weight:950;
  letter-spacing:.08em;
}
.featured-sale-price{
  display:flex;
  align-items:baseline;
  gap:12px;
  flex-wrap:wrap;
  margin:4px 0 14px;
}
.was-price{
  color:var(--muted);
  font-size:1rem;
  font-weight:750;
}
.was-price del{
  text-decoration-thickness:2px;
  text-decoration-color:#ff9686;
}
.now-price{
  color:var(--accent-2);
  font-size:1.05rem;
  font-weight:850;
}
.now-price strong{
  margin-left:4px;
  font-size:clamp(1.8rem,4vw,2.55rem);
  line-height:1;
  color:var(--accent);
}
.premium-feature-cta{
  box-shadow:0 10px 28px rgba(159,206,103,.17);
}


/* ======================================================================
   v10.4 — Reference-inspired UK coarse fishing UI + user-selectable themes
   ====================================================================== */

:root{
  --bg:#0b1510;
  --panel:#132019;
  --panel-2:#18271e;
  --surface:#101b14;
  --surface-2:#1b2b21;
  --line:rgba(255,255,255,.10);
  --text:#f7faf7;
  --muted:#a7b8ab;
  --accent:#9dd265;
  --accent-2:#c8efa1;
  --accent-strong:#79bd46;
  --nav-bg:rgba(10,26,18,.94);
  --input-bg:#0d1711;
  --card-shadow:0 16px 42px rgba(0,0,0,.26);
  --light-section:#eef3ed;
  --light-section-text:#132019;
}
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="light"]{
  color-scheme:light;
  --bg:#f4f7f2;
  --panel:#ffffff;
  --panel-2:#f7faf6;
  --surface:#ffffff;
  --surface-2:#eef4ec;
  --line:rgba(17,42,25,.13);
  --text:#132019;
  --muted:#607166;
  --accent:#4f9638;
  --accent-2:#2f742a;
  --accent-strong:#397d2d;
  --nav-bg:rgba(250,253,249,.94);
  --input-bg:#ffffff;
  --card-shadow:0 14px 36px rgba(20,50,30,.10);
  --light-section:#f4f7f2;
  --light-section-text:#132019;
}

body{
  background:var(--bg);
  color:var(--text);
  transition:background-color .2s ease,color .2s ease;
}
html[data-theme="light"] body{
  background:linear-gradient(180deg,#f8fbf6,#eef4ec);
}

.home-content-wide,
.home-nav-wide{
  width:min(1480px,calc(100% - 48px));
  margin-inline:auto;
}
.home-shell{
  background:var(--bg);
}
.home-topbar{
  position:sticky;
  top:0;
  z-index:60;
  background:var(--nav-bg);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(16px);
}
.home-nav-wide{
  min-height:68px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:30px;
}
.brand-pro{
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  text-align:left;
  padding:0;
}
.brand-fish{
  width:69px;
  height:44px;
  display:grid;
  place-items:center;
  color:var(--text);
}
.brand-fish svg{width:100%;height:100%}
.brand-copy{display:grid;line-height:1}
.brand-copy strong{
  font-size:1.65rem;
  letter-spacing:-.04em;
}
.brand-copy strong span{color:var(--accent)}
.brand-copy small{
  margin-top:7px;
  color:var(--muted);
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.18em;
  white-space:nowrap;
}
.home-links-pro{
  justify-content:center;
  gap:2px;
}
.home-links-pro button{
  position:relative;
  color:var(--text);
  opacity:.86;
  padding:23px 11px 20px;
  border-radius:0;
  font-size:.78rem;
  white-space:nowrap;
}
.home-links-pro button:hover{
  background:transparent;
  color:var(--accent);
}
.home-links-pro button.active:after,
.home-links-pro button:hover:after{
  content:'';
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  height:3px;
  border-radius:999px;
  background:var(--accent);
}
.login-link{
  border:0;
  background:transparent;
  color:var(--text);
  font-weight:800;
  cursor:pointer;
  padding:10px;
}
.home-signup{padding:10px 18px}
.theme-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
  color:var(--text);
  padding:9px 10px;
  font-weight:800;
  font-size:.74rem;
  cursor:pointer;
  white-space:nowrap;
}
.theme-toggle:hover{border-color:rgba(157,210,101,.5)}
.theme-icon{font-size:.95rem}

.home-hero-v2{
  position:relative;
  min-height:430px;
  overflow:hidden;
  background:
    url('https://images.pexels.com/photos/28207767/pexels-photo-28207767/free-photo-of-a-man-sitting-in-a-chair-with-a-fishing-rod.jpeg?auto=compress&dpr=1&h=750&w=1260')
    center 48% / cover no-repeat;
}
.home-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(6,18,10,.93) 0%,rgba(10,28,15,.82) 38%,rgba(10,25,14,.42) 67%,rgba(7,19,11,.34) 100%),
    linear-gradient(0deg,rgba(8,20,12,.72),transparent 52%);
}
.home-hero-inner{
  width:min(1480px,calc(100% - 48px));
  min-height:430px;
  margin:auto;
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
}
.home-hero-copy-v2{
  width:min(780px,66%);
  padding:42px 0;
}
.home-hero-copy-v2 .home-kicker{
  color:#b8e989;
}
.home-hero-copy-v2 h1{
  margin:10px 0 12px;
  color:white;
  font-size:clamp(3rem,6.3vw,5.7rem);
  line-height:.91;
  letter-spacing:-.055em;
  text-shadow:0 4px 22px rgba(0,0,0,.35);
}
.home-hero-copy-v2 h1 span{color:#9dd265}
.home-hero-copy-v2>p{
  color:rgba(255,255,255,.91);
  max-width:720px;
  margin:0;
  font-size:1.05rem;
  line-height:1.52;
}
.home-search-v2{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  max-width:750px;
  margin-top:22px;
  padding:5px;
  border-radius:11px;
  background:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.28);
}
.home-search-v2 .search-pin{
  color:#294532;
  padding:0 7px 0 11px;
  font-size:1.35rem;
}
.home-search-v2 input{
  background:white!important;
  color:#17251c!important;
  border:0!important;
  box-shadow:none!important;
  padding:11px 7px;
}
.home-search-v2 input::placeholder{color:#6d7c72}
.home-search-v2 .primary{
  min-width:128px;
  padding:12px 19px;
}
.home-filter-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:13px;
}
.home-filter-chips button{
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(7,18,10,.58);
  color:white;
  padding:8px 13px;
  font-size:.72rem;
  font-weight:800;
  cursor:pointer;
  backdrop-filter:blur(7px);
}
.home-filter-chips button:hover,
.home-filter-chips button.active{
  background:#9dd265;
  color:#122017;
  border-color:#9dd265;
}
.uk-trust-mark{
  position:absolute;
  right:2%;
  top:38px;
  display:grid;
  justify-items:start;
  gap:2px;
  transform:rotate(2deg);
  padding:14px 19px;
  background:rgba(9,24,14,.77);
  color:white;
  border:1px solid rgba(255,255,255,.14);
  border-radius:6px 18px 6px 18px;
  box-shadow:0 15px 35px rgba(0,0,0,.24);
}
.uk-trust-mark span{font-size:1.6rem;margin-bottom:3px}
.uk-trust-mark strong{font-size:.73rem;font-style:italic;letter-spacing:.05em}
.hero-script{
  position:absolute;
  right:1.2%;
  bottom:30px;
  color:white;
  font-family:"Segoe Print","Bradley Hand",cursive;
  font-size:1.55rem;
  line-height:1.14;
  transform:rotate(-5deg);
  text-align:right;
  text-shadow:0 3px 15px rgba(0,0,0,.5);
}

.home-featured-band{
  background:
    radial-gradient(circle at 14% 20%,rgba(112,175,74,.12),transparent 28%),
    linear-gradient(180deg,#11271a,#0b1b12);
  color:#f7faf7;
  padding:20px 0 30px;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.home-featured-band .home-section-head{margin-bottom:14px}
.home-featured-band h2,
.home-featured-band .eyebrow{color:#f7faf7}
.home-featured-band .eyebrow{color:#9dd265}
.home-featured-band .home-section-head p{color:#b8c8bc}
.home-featured-band .text-button{color:#9dd265}

.home-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:22px;
  margin-bottom:14px;
}
.home-section-head h2{
  margin:3px 0 2px;
  max-width:none;
  font-size:clamp(1.8rem,3vw,2.65rem);
  letter-spacing:-.035em;
}
.home-section-head p{
  color:var(--muted);
  margin:0;
}
.home-explore-band{
  padding:18px 0 24px;
  background:var(--light-section);
  color:var(--light-section-text);
}
.home-explore-band .eyebrow{color:#347f2c}
.home-explore-band .home-section-head p{color:#5f7165}
.home-explore-band .text-button{color:#347f2c}
html[data-theme="dark"] .home-explore-band{
  --light-section:#0f1913;
  --light-section-text:#f4f8f4;
}
html[data-theme="dark"] .home-explore-band .home-section-head p{color:var(--muted)}

.home-featured-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.featured-premium-v2{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(380px,1.05fr) minmax(240px,.46fr);
  min-height:285px;
  overflow:hidden;
  border:1px solid rgba(157,210,101,.48);
  border-radius:14px;
  background:#102219;
  box-shadow:0 20px 52px rgba(0,0,0,.25);
}
.featured-premium-v2 .featured-premium-media{min-height:285px}
.featured-premium-v2 .featured-premium-body{
  padding:22px 25px;
  justify-content:center;
  color:white;
}
.featured-premium-v2 .premium-meta{color:#a8dc7a}
.featured-premium-v2 h3{
  color:white;
  font-size:clamp(1.65rem,2.6vw,2.45rem);
}
.featured-premium-v2 .premium-water{color:#c8efa1}
.featured-premium-v2 .featured-premium-body>p{color:#d3ddd5}
.featured-species-row{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:10px 0 8px;
}
.featured-species-row span{
  padding:6px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:white;
  font-size:.69rem;
  font-weight:800;
}
.featured-species-row .ticket-tag{
  color:#c8efa1;
  border-color:rgba(157,210,101,.35);
}
.featured-sales-rail{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:20px 18px;
  background:
    radial-gradient(circle at 50% 0%,rgba(244,201,84,.12),transparent 50%),
    linear-gradient(180deg,#25321a,#172318);
  border-left:1px solid rgba(220,190,90,.35);
  color:white;
}
.sale-ribbon{
  display:inline-block;
  padding:7px 14px;
  background:#d59a2d;
  color:#172014;
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.05em;
  border-radius:4px;
  margin-bottom:10px;
}
.featured-sales-rail>small{font-weight:850}
.sale-was{margin-top:8px;color:#d7d7d0;font-size:.84rem}
.sale-now{
  margin-top:1px;
  font-size:2.6rem;
  line-height:.98;
  color:#f0d17a;
  font-weight:950;
}
.featured-sales-rail>b{font-size:.77rem;margin-top:3px}
.featured-sales-rail ul{
  list-style:none;
  padding:0;
  margin:14px 0 13px;
  display:grid;
  gap:5px;
  text-align:left;
  width:100%;
}
.featured-sales-rail li{
  position:relative;
  padding-left:19px;
  font-size:.7rem;
  color:#e2e6e2;
}
.featured-sales-rail li:before{
  content:'✓';
  position:absolute;
  left:0;
  color:#a7df75;
  font-weight:900;
}
.featured-sales-rail button{
  width:100%;
  border:1px solid rgba(240,209,122,.6);
  background:transparent;
  color:#f0d17a;
  border-radius:8px;
  padding:9px;
  font-weight:900;
  cursor:pointer;
}

.home-venue-preview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.home-venue-preview .public-water-card{
  border-radius:10px;
  background:var(--panel);
  border:1px solid var(--line);
  box-shadow:0 9px 25px rgba(20,45,28,.08);
}
.home-venue-preview .compact-venue-card>img,
.home-venue-preview .compact-venue-card>.water-photo-placeholder{
  height:150px;
}
.home-venue-preview .public-water-body{padding:11px 13px}
.home-venue-preview .public-water-body h3{font-size:.95rem;margin:3px 0}
.home-venue-preview .public-links{margin-top:8px}
.home-venue-preview .public-links a{font-size:.68rem}

.home-section{
  padding-top:50px!important;
  padding-bottom:4px!important;
}
.home-split{width:min(1480px,calc(100% - 48px));margin-inline:auto}
.smart-home-grid article{
  background:var(--panel);
  color:var(--text);
  box-shadow:var(--card-shadow);
}
.home-info-card{
  background:var(--panel);
  color:var(--text);
  box-shadow:var(--card-shadow);
}
.home-info-card p,.home-info-card li{color:var(--muted)}
.owner-card{
  background:
    radial-gradient(circle at 100% 0%,rgba(157,210,101,.10),transparent 35%),
    var(--panel);
}
.home-owner-price{
  display:flex;
  align-items:baseline;
  gap:9px;
  flex-wrap:wrap;
  margin:16px 0 20px;
}
.home-owner-price span{font-size:.66rem;font-weight:950;color:var(--accent);letter-spacing:.07em}
.home-owner-price del{color:var(--muted)}
.home-owner-price strong{font-size:2rem;color:var(--accent)}
.home-owner-price small{color:var(--muted)}
.home-footer{
  background:var(--surface);
  border-top:1px solid var(--line);
}
.home-footer .home-content-wide{
  min-height:70px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  color:var(--muted);
  font-size:.8rem;
}
.home-footer strong{color:var(--text)}

.auth-top-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.auth-top-actions .auth-back{margin:0}
.auth-shell{
  background:
    linear-gradient(rgba(8,18,11,.78),rgba(8,18,11,.90)),
    url('https://images.pexels.com/photos/28207767/pexels-photo-28207767/free-photo-of-a-man-sitting-in-a-chair-with-a-fishing-rod.jpeg?auto=compress&dpr=1&h=750&w=1260')
    center/cover;
}
.auth-card,
.panel,
.stat-card,
.public-water-card,
.public-catch-card,
.dialog-card,
.modal{
  background:var(--panel);
  color:var(--text);
}
input,select,textarea{
  background:var(--input-bg);
  color:var(--text);
  border-color:var(--line);
}
.topbar,
.public-topbar{
  color:var(--text);
}
.public-shell{background:var(--bg)}
.public-hero{
  color:white;
}
html[data-theme="light"] .public-hero p{color:#e2eae3}
html[data-theme="light"] .hero-card{color:white}
html[data-theme="light"] .hero-card p{color:#d7e0d9}
html[data-theme="light"] .premium-upsell{
  background:
    radial-gradient(circle at 0 0,rgba(86,148,57,.11),transparent 30%),
    linear-gradient(145deg,#f8fbf6,#edf4e9);
  color:#132019;
}
html[data-theme="light"] .premium-upsell-copy>p{color:#5d6e63}
html[data-theme="light"] .featured-preview-card{background:#fff;color:#132019}
html[data-theme="light"] .owner-water-card,
html[data-theme="light"] .session-row,
html[data-theme="light"] .catch-item,
html[data-theme="light"] .pb-item,
html[data-theme="light"] .spot-card,
html[data-theme="light"] .admin-listing-card{
  background:#f7faf6;
}
html[data-theme="light"] .smart-home-grid article>span,
html[data-theme="light"] .hero-mini-grid span{
  background:rgba(79,150,56,.08);
}
html[data-theme="light"] .home-links-pro button,
html[data-theme="light"] .login-link{color:#132019}
html[data-theme="light"] .theme-toggle{background:#f2f6f0}
html[data-theme="light"] .home-topbar{box-shadow:0 7px 22px rgba(20,50,30,.07)}
html[data-theme="light"] .public-links a,
html[data-theme="light"] .text-button{color:#397d2d}
html[data-theme="light"] .leader-row{
  background:#fff;
}
html[data-theme="light"] table td,
html[data-theme="light"] table th{border-color:rgba(17,42,25,.11)}

@media(max-width:1180px){
  .home-nav-wide{grid-template-columns:auto 1fr auto;gap:16px}
  .home-links-pro button{font-size:.7rem;padding-inline:7px}
  .brand-copy small{display:none}
  .featured-premium-v2{grid-template-columns:minmax(280px,.85fr) minmax(350px,1.15fr)}
  .featured-sales-rail{
    grid-column:1/-1;
    border-left:0;
    border-top:1px solid rgba(220,190,90,.28);
    display:grid;
    grid-template-columns:auto auto auto auto minmax(260px,1fr) auto;
    align-items:center;
    gap:10px;
    text-align:left;
  }
  .featured-sales-rail .sale-ribbon{margin:0}
  .featured-sales-rail ul{display:none}
  .featured-sales-rail button{width:auto}
  .home-venue-preview{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:960px){
  .home-links-pro{display:none}
  .home-nav-wide{grid-template-columns:1fr auto}
  .brand-fish{width:58px}
  .brand-copy strong{font-size:1.4rem}
  .home-hero-copy-v2{width:78%}
  .uk-trust-mark{display:none}
  .home-venue-preview{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .home-content-wide,.home-nav-wide,.home-hero-inner{width:min(100% - 24px,1480px)}
  .home-nav-wide{min-height:60px}
  .home-account-actions .login-link{display:none}
  .theme-label{display:none}
  .theme-toggle{padding:9px}
  .brand-fish{width:46px}
  .brand-copy strong{font-size:1.16rem}
  .home-hero-v2,.home-hero-inner{min-height:535px}
  .home-hero-copy-v2{width:100%;padding:48px 0 100px}
  .home-hero-copy-v2 h1{font-size:clamp(2.75rem,13vw,4.4rem)}
  .home-hero-copy-v2>p{font-size:.94rem}
  .home-search-v2{grid-template-columns:auto 1fr}
  .home-search-v2 .primary{grid-column:1/-1;width:100%}
  .hero-script{display:none}
  .featured-premium-v2{grid-template-columns:1fr}
  .featured-premium-v2 .featured-premium-media{min-height:230px}
  .featured-sales-rail{
    grid-column:auto;
    display:flex;
    text-align:center;
    border-top:1px solid rgba(220,190,90,.28);
  }
  .featured-sales-rail ul{display:grid}
  .featured-sales-rail button{width:100%}
  .home-section-head{align-items:flex-start;flex-direction:column}
  .home-venue-preview{grid-template-columns:1fr}
  .home-split{width:min(100% - 24px,1480px)}
  .home-footer .home-content-wide{align-items:flex-start;flex-direction:column;justify-content:center}
}
@media(max-width:480px){
  .home-signup{padding:9px 11px;font-size:.72rem}
  .brand-copy strong{font-size:1.02rem}
  .home-filter-chips{gap:6px}
  .home-filter-chips button{padding:7px 10px;font-size:.65rem}
  .home-hero-copy-v2 h1{font-size:2.75rem}
  .featured-premium-v2 .featured-premium-body{padding:18px}
}



/* =====================================================================
   v10.5 — exact reference-style desktop homepage
   ===================================================================== */

html,body{margin:0}
body{font-family:"Inter",Arial,Helvetica,sans-serif}
.ref-home{background:#f7f8f6;color:#0e1a14}
.ref-page-width{width:min(1395px,calc(100% - 48px));margin:0 auto}

/* Header: 61px like supplied reference */
.ref-header{
  height:61px;
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(27,47,51,.96);
  color:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}
.ref-nav-wrap{
  width:min(1395px,calc(100% - 48px));
  height:61px;
  margin:0 auto;
  display:grid;
  grid-template-columns:355px 1fr auto;
  align-items:center;
  gap:18px;
}
.ref-brand{
  border:0;background:transparent;color:#fff;padding:0;
  display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left;
}
.ref-fish-logo{width:90px;height:60px;display:grid;place-items:center}
.ref-fish-logo svg{width:88px;height:58px;filter:drop-shadow(0 1px 0 rgba(0,0,0,.25))}
.ref-brand-copy{display:grid;line-height:1}
.ref-brand-copy strong{font-size:31px;font-weight:900;letter-spacing:-1.8px;white-space:nowrap}
.ref-brand-copy strong span{color:#64a94d}
.ref-brand-copy small{margin-top:8px;font-size:11px;letter-spacing:3px;color:#f0f2f0;white-space:nowrap}

.ref-main-nav{display:flex;align-items:stretch;justify-content:center;height:61px}
.ref-main-nav button{
  position:relative;border:0;background:transparent;color:#fff;
  padding:0 15px;font-size:14px;font-weight:800;cursor:pointer;
}
.ref-main-nav button:hover,.ref-main-nav button.active{color:#fff}
.ref-main-nav button.active:after,.ref-main-nav button:hover:after{
  content:"";position:absolute;left:13px;right:13px;bottom:5px;height:3px;border-radius:4px;background:#69aa4f;
}
.ref-account-nav{height:61px;display:flex;align-items:center;gap:14px;white-space:nowrap}
.ref-search-icon{font-size:26px;line-height:1;transform:rotate(-15deg)}
.ref-login{border:0;background:transparent;color:#fff;font-size:14px;font-weight:800;cursor:pointer}
.ref-signup{border:0;border-radius:8px;background:#4b9650;color:#fff;padding:11px 18px;font-size:14px;font-weight:800;cursor:pointer}
.ref-theme-toggle{width:36px;height:36px;padding:0!important;border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.05)!important;color:#fff!important}
.ref-uk{display:flex;align-items:center;gap:5px;font-size:14px}.ref-uk:first-letter{font-size:22px}

/* Hero: reference is approx 326px high beneath navbar */
.ref-hero{
  height:327px;
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    url("https://images.pexels.com/photos/28207767/pexels-photo-28207767/free-photo-of-a-man-sitting-in-a-chair-with-a-fishing-rod.jpeg?auto=compress&dpr=1&h=750&w=1600")
    center 46%/cover no-repeat;
}
.ref-hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(15,34,18,.78) 0%,rgba(19,40,21,.60) 42%,rgba(12,25,15,.20) 68%,rgba(6,14,10,.15) 100%),
    linear-gradient(0deg,rgba(12,26,16,.36),transparent 58%);
}
.ref-hero-content{height:327px;position:relative;z-index:2}
.ref-hero-left{position:absolute;left:46px;top:24px;width:760px}
.ref-hero-left h1{
  margin:0 0 11px;font-size:59px;line-height:.98;letter-spacing:-3.2px;
  font-weight:900;color:#fff;text-shadow:0 3px 9px rgba(0,0,0,.42);
}
.ref-hero-left p{
  margin:0;font-size:15.5px;line-height:1.52;font-weight:500;color:#f4f5f2;
  text-shadow:0 2px 7px rgba(0,0,0,.65);
}
.ref-search-form{
  margin-top:14px;width:720px;height:50px;display:grid;grid-template-columns:42px 1fr 135px;align-items:center;
  background:#fff;border-radius:8px;padding:0 5px 0 0;box-shadow:0 5px 18px rgba(0,0,0,.23);overflow:hidden;
}
.ref-search-form>span{color:#50625a;font-size:25px;text-align:center}
.ref-search-form input{
  height:44px;border:0!important;background:#fff!important;color:#344039!important;
  box-shadow:none!important;padding:0 6px;font-size:14px;
}
.ref-search-form input::placeholder{color:#69766f}
.ref-search-form button{
  border:0;border-radius:8px;height:42px;background:#4b9650;color:#fff;font-size:14px;font-weight:800;cursor:pointer;
}
.ref-quick-links{height:45px;display:flex;align-items:center;gap:14px}
.ref-quick-links button{
  height:34px;border:0;background:rgba(24,49,30,.48);color:#fff;padding:0 12px;border-radius:4px;
  display:flex;align-items:center;gap:9px;font-size:15px;font-weight:800;cursor:pointer;backdrop-filter:blur(4px);
}
.ref-quick-links button:first-child{padding-left:6px;background:transparent}
.ref-quick-links button:hover{background:rgba(82,144,70,.70)}
.ref-uk-stamp{
  position:absolute;right:15px;top:22px;width:245px;padding:13px 18px;
  display:grid;grid-template-columns:54px 1fr;gap:2px 9px;align-items:center;
  background:rgba(22,38,40,.84);border-radius:6px 16px 6px 16px;
  transform:rotate(3deg);box-shadow:0 10px 26px rgba(0,0,0,.25);
}
.ref-uk-stamp>div{grid-row:1/4;font-size:35px}
.ref-uk-stamp strong{font-size:14px;line-height:1.15;font-style:italic;letter-spacing:.4px}
.ref-tight-lines{
  position:absolute;right:2px;bottom:28px;
  font-family:"Caveat",cursive;font-size:34px;line-height:1;color:#101910;
  transform:rotate(-7deg);text-shadow:0 1px 0 rgba(255,255,255,.35);
}

/* Featured band */
.ref-featured{
  height:375px;padding:18px 0 13px;box-sizing:border-box;
  color:#fff;background:
    radial-gradient(circle at 40% 0%,rgba(64,111,66,.18),transparent 36%),
    linear-gradient(90deg,#14271c 0%,#0d2117 58%,#0a1a12 100%);
}
.ref-section-title{display:grid;align-items:end}
.ref-featured-title{grid-template-columns:38px 1fr auto;margin-bottom:13px}
.ref-title-icon{font-size:34px;color:#f0d27d;line-height:1;padding-bottom:17px}
.ref-featured-title h2{margin:0;font-size:34px;line-height:1;font-weight:900;letter-spacing:-1.5px;color:#fff}
.ref-featured-title p{margin:7px 0 0;font-size:14px;color:#e1e6e1}
.ref-featured-title button,.ref-explore-title button{
  border:0;border-radius:8px;background:#4b9650;color:#fff;padding:10px 16px;font-size:13px;font-weight:800;cursor:pointer;margin-bottom:7px;
}
.ref-featured-list{height:280px}
.ref-feature-card{
  height:280px;display:grid;grid-template-columns:480px 1fr 296px;
  background:rgba(10,27,18,.78);border:1px solid rgba(95,153,75,.65);border-radius:10px;overflow:hidden;
  box-shadow:0 13px 32px rgba(0,0,0,.21);
}
.ref-feature-photo{position:relative;overflow:hidden;background:#17271d}
.ref-feature-photo img{width:100%;height:100%;display:block;object-fit:cover}
.ref-feature-photo>span{
  position:absolute;top:11px;left:11px;padding:7px 11px;border-radius:7px;
  background:#10271a;color:#fff;font-size:12px;font-weight:900;border:1px solid rgba(255,255,255,.15);
}
.ref-feature-copy{padding:15px 24px 13px;display:flex;flex-direction:column;min-width:0}
.ref-feature-type{font-size:11px;font-weight:800;color:#c6e89b;text-transform:none}
.ref-feature-copy h3{margin:3px 0 6px;font-size:23px;line-height:1.05;color:#fff;font-weight:900}
.ref-feature-location{font-size:14px;font-weight:600;color:#fff}
.ref-species{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 8px}
.ref-species span{
  border:1px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(255,255,255,.06);
  padding:6px 12px;font-size:12px;font-weight:700;color:#fff;
}
.ref-feature-copy>p{
  margin:0 0 11px;color:#f0f3f0;font-size:13px;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.ref-facilities{display:flex;flex-wrap:wrap;gap:11px 20px;margin-top:auto;margin-bottom:13px;color:#fff}
.ref-facilities span{font-size:11.5px;font-weight:700}
.ref-feature-actions{display:grid;grid-template-columns:180px 155px 140px;gap:10px}
.ref-feature-actions a{
  text-decoration:none;height:42px;border:1px solid rgba(102,156,99,.75);border-radius:8px;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:800;background:rgba(12,27,18,.35);
}
.ref-feature-actions a.website{background:#4b9650;border-color:#4b9650}
.ref-offer-box{
  margin:10px 8px 10px 0;border:1px solid #b49134;border-radius:8px;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;
  background:linear-gradient(180deg,#343620 0%,#1a2117 58%,#172019 100%);
}
.ref-offer-head{width:100%;padding:5px 6px;background:#d2b253;color:#172016;font-size:13px;font-weight:900;letter-spacing:.5px}
.ref-offer-box>strong{margin-top:8px;font-size:13px}.ref-offer-box>span{font-size:14px;margin-top:4px}.ref-offer-box>small{font-size:12px;margin-top:0}
.ref-offer-price{font-size:42px;line-height:.95;color:#f0d17a;font-weight:900;letter-spacing:-2px}
.ref-offer-box>b{font-size:12px}
.ref-offer-box ul{list-style:none;margin:9px 0 0;padding:0 13px;width:100%;box-sizing:border-box;text-align:left}
.ref-offer-box li{position:relative;padding-left:19px;margin:4px 0;font-size:11px;line-height:1.1}
.ref-offer-box li:before{content:"✓";position:absolute;left:0;color:#e6ca70;font-size:15px;font-weight:900}

/* Explore: white in reference even when the overall site uses dark mode */
.ref-explore{
  min-height:261px;padding:13px 0 30px;box-sizing:border-box;background:#fff;color:#111d17;
}
.ref-explore-title{grid-template-columns:1fr auto;margin-bottom:11px}
.ref-explore-title>div>span{display:block;color:#357c38;font-size:12px;font-weight:900;letter-spacing:.4px;margin-bottom:4px}
.ref-explore-title h2{margin:0;font-size:34px;line-height:1;font-weight:900;letter-spacing:-1.6px;color:#111d17}
.ref-explore-title p{margin:6px 0 0;font-size:13px;color:#26352c}
.ref-venue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ref-venue-card{
  border:1px solid #d8ded9;border-radius:7px;overflow:hidden;background:#fff;color:#111d17;
  min-width:0;box-shadow:0 3px 8px rgba(26,45,31,.04);
}
.ref-venue-photo{height:111px;overflow:hidden;background:#dde4dc}
.ref-venue-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ref-venue-info{
  min-height:53px;box-sizing:border-box;padding:10px 13px 9px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start;
}
.ref-venue-info strong{display:block;font-size:15px;line-height:1.1;font-weight:900;color:#111d17}
.ref-venue-info span{display:block;margin-top:4px;font-size:12px;color:#45564a}
.ref-venue-info em{
  align-self:start;border:1px solid #6e9f54;border-radius:12px;padding:3px 7px;color:#4d8539;background:#f4faef;
  font-size:10px;font-weight:800;font-style:normal;white-space:nowrap;
}
.ref-feature-empty{
  height:280px;border:1px solid rgba(95,153,75,.65);border-radius:10px;
  display:flex;align-items:center;justify-content:space-between;padding:32px;
  background:linear-gradient(120deg,#173020,#0d2117);box-sizing:border-box;
}
.ref-feature-empty span{color:#c9e79f;font-weight:900;font-size:12px}
.ref-feature-empty h3{margin:5px 0;font-size:28px;color:#fff}
.ref-feature-empty p{color:#dfe6df}.ref-feature-empty button{border:1px solid #c4a347;border-radius:8px;background:#d2b253;color:#142017;padding:12px 18px;font-weight:900;cursor:pointer}

/* Lower homepage preserves product sections but follows same type/palette */
.ref-below-fold{font-family:"Inter",Arial,sans-serif}
.ref-home .home-section-head h2,.ref-home .home-info-card h2{font-weight:900;letter-spacing:-1px}

/* Light theme: keep layout identical, lighten chrome. Hero/photography unchanged. */
html[data-theme="light"] .ref-header{background:rgba(248,251,248,.97);color:#15231a;border-bottom:1px solid #d7dfd8}
html[data-theme="light"] .ref-brand,html[data-theme="light"] .ref-main-nav button,html[data-theme="light"] .ref-login{color:#15231a}
html[data-theme="light"] .ref-brand-copy small{color:#4e6053}
html[data-theme="light"] .ref-search-icon,html[data-theme="light"] .ref-uk{color:#15231a}
html[data-theme="light"] .ref-theme-toggle{color:#15231a!important;background:#eef4ec!important;border-color:#d4ddd4!important}
html[data-theme="light"] .ref-featured{
  background:linear-gradient(90deg,#e3eddf,#dce9d8);color:#142017
}
html[data-theme="light"] .ref-featured-title h2{color:#142017}
html[data-theme="light"] .ref-featured-title p{color:#516257}
html[data-theme="light"] .ref-title-icon{color:#a47c1e}
html[data-theme="light"] .ref-feature-card{background:#fff;border-color:#aacb9d}
html[data-theme="light"] .ref-feature-copy h3,
html[data-theme="light"] .ref-feature-location,
html[data-theme="light"] .ref-feature-copy>p,
html[data-theme="light"] .ref-facilities{color:#142017}
html[data-theme="light"] .ref-species span{color:#244129;border-color:#bfd0be;background:#f2f7f0}
html[data-theme="light"] .ref-feature-actions a{color:#214128;border-color:#91b58a;background:#f8fbf7}
html[data-theme="light"] .ref-feature-actions a.website{color:#fff;background:#4b9650}
html[data-theme="light"] .ref-offer-box{color:#fff}

/* Responsive */
@media(max-width:1250px){
  .ref-nav-wrap{grid-template-columns:300px 1fr auto}
  .ref-brand-copy strong{font-size:26px}.ref-fish-logo{width:72px}.ref-fish-logo svg{width:70px}
  .ref-main-nav button{padding:0 9px;font-size:12px}
  .ref-uk{display:none}
  .ref-feature-card{grid-template-columns:390px 1fr 270px}
  .ref-feature-actions{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:1000px){
  .ref-main-nav{display:none}
  .ref-nav-wrap{grid-template-columns:1fr auto}
  .ref-hero-left{left:15px;width:70%}
  .ref-hero-left h1{font-size:48px}
  .ref-search-form{width:100%}
  .ref-uk-stamp{right:8px;width:210px}
  .ref-featured{height:auto}
  .ref-featured-list{height:auto}
  .ref-feature-card{height:auto;grid-template-columns:1fr 1fr}
  .ref-feature-photo{min-height:250px}
  .ref-offer-box{grid-column:1/-1;margin:0;border-radius:0;display:grid;grid-template-columns:auto auto auto auto 1fr;gap:10px;padding:10px}
  .ref-offer-head{width:auto;border-radius:4px}.ref-offer-box ul{display:none}
  .ref-venue-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .ref-page-width,.ref-nav-wrap{width:calc(100% - 22px)}
  .ref-header{height:58px}.ref-nav-wrap{height:58px}
  .ref-brand-copy strong{font-size:20px}.ref-brand-copy small{display:none}.ref-fish-logo{width:55px}.ref-fish-logo svg{width:52px}
  .ref-search-icon,.ref-uk{display:none}.ref-login{display:none}.ref-signup{padding:9px 12px}
  .ref-hero{height:480px}.ref-hero-content{height:480px}.ref-hero-left{top:31px;left:0;width:100%}
  .ref-hero-left h1{font-size:42px;letter-spacing:-2px}.ref-hero-left p br{display:none}
  .ref-search-form{height:auto;grid-template-columns:40px 1fr;padding:4px}.ref-search-form button{grid-column:1/-1;width:100%}
  .ref-quick-links{height:auto;flex-wrap:wrap;margin-top:10px;gap:7px}.ref-quick-links button{font-size:12px}
  .ref-uk-stamp,.ref-tight-lines{display:none}
  .ref-featured-title{grid-template-columns:30px 1fr}.ref-featured-title button{grid-column:2;margin-top:8px;justify-self:start}
  .ref-featured-title h2,.ref-explore-title h2{font-size:28px}
  .ref-feature-card{grid-template-columns:1fr}.ref-feature-photo{min-height:220px}
  .ref-offer-box{grid-column:auto;display:flex;margin:0 8px 8px}.ref-offer-box ul{display:block}
  .ref-feature-actions{grid-template-columns:1fr}
  .ref-explore-title{grid-template-columns:1fr}.ref-explore-title button{justify-self:start;margin-top:9px}
  .ref-venue-grid{grid-template-columns:1fr}
}



/* ==========================================================================
   v11 — full-site reference-style rebuild applied across ALL pages
   ========================================================================== */

:root{
  --site-font:"Inter", Arial, Helvetica, sans-serif;
  --bg:#eef2ea;
  --bg-soft:#f6f8f4;
  --surface:#ffffff;
  --surface-2:#f3f6f1;
  --surface-3:#e8ede6;
  --text:#0f1a14;
  --muted:#5a6b60;
  --line:#d7ddd6;
  --line-strong:#c4ccc5;
  --brand:#5ea146;
  --brand-2:#46863c;
  --brand-dark:#153325;
  --brand-dark-2:#10261b;
  --gold:#d2b253;
  --gold-text:#2d2816;
  --success:#5ea146;
  --danger:#b14f4f;
  --shadow:0 12px 28px rgba(21,38,26,.08);
  --shadow-lg:0 16px 38px rgba(18,33,23,.12);
  --radius:18px;
  --radius-sm:12px;
  --shell-width:min(1395px, calc(100% - 48px));
}
html[data-theme="dark"]{
  --bg:#08130f;
  --bg-soft:#0d1914;
  --surface:#0f1d17;
  --surface-2:#12231b;
  --surface-3:#182c23;
  --text:#f2f6f2;
  --muted:#a8b6ad;
  --line:rgba(255,255,255,.08);
  --line-strong:rgba(255,255,255,.12);
  --brand:#84c060;
  --brand-2:#9cd06c;
  --brand-dark:#163323;
  --brand-dark-2:#10261b;
  --gold:#e0c46c;
  --gold-text:#231f12;
  --success:#84c060;
  --danger:#f09988;
  --shadow:0 12px 28px rgba(0,0,0,.28);
  --shadow-lg:0 18px 44px rgba(0,0,0,.34);
}

html,body{scroll-behavior:smooth}
body{
  font-family:var(--site-font);
  background:var(--bg);
  color:var(--text);
}

/* global primitives */
.shell,.home-content-wide,.ref-page-width{width:var(--shell-width);margin-inline:auto}
.hidden{display:none!important}
.eyebrow{
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.72rem;
  font-weight:900;
  color:var(--brand);
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:0 11px;
  border-radius:999px;
  border:1px solid rgba(94,161,70,.18);
  background:rgba(94,161,70,.08);
  color:var(--brand);
  font-weight:900;
  font-size:.72rem;
}
button,input,select,textarea{font-family:var(--site-font)}
button{transition:all .18s ease}
button:hover{transform:translateY(-1px)}
.primary,.secondary,.ghost,.text-button,.danger-soft{
  min-height:42px;
  border-radius:10px;
  font-weight:800;
  font-size:.92rem;
  padding:0 14px;
}
.primary{
  border:1px solid var(--brand);
  background:var(--brand);
  color:#fff;
  box-shadow:none;
}
.primary:hover{background:var(--brand-2);border-color:var(--brand-2)}
.secondary{
  border:1px solid var(--line-strong);
  background:var(--surface);
  color:var(--text);
}
.secondary:hover{
  border-color:rgba(94,161,70,.42);
  color:var(--brand);
  background:var(--surface);
}
.ghost{
  border:1px solid transparent;
  background:transparent;
  color:var(--muted);
}
.ghost:hover{color:var(--text);background:rgba(94,161,70,.05)}
.text-button{
  border:0;
  background:transparent;
  color:var(--brand);
  padding:0;
  min-height:auto;
  font-weight:800;
}
.danger-soft{
  border:1px solid rgba(177,79,79,.18);
  background:rgba(177,79,79,.08);
  color:var(--danger);
}
input,select,textarea{
  width:100%;
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--text);
  border-radius:12px;
  padding:12px 14px;
  box-sizing:border-box;
  outline:none;
}
input::placeholder,textarea::placeholder{color:var(--muted)}
input:focus,select:focus,textarea:focus{
  border-color:rgba(94,161,70,.45);
  box-shadow:0 0 0 4px rgba(94,161,70,.10);
}
label{display:grid;gap:7px;font-weight:700;color:var(--text)}
.message{font-size:.88rem}

/* keep homepage clean, but let new system affect it too */
.ref-home{background:var(--bg)}
html[data-theme="dark"] .ref-home{background:#0c1511}
html[data-theme="dark"] .ref-explore{background:#f7f8f6;color:#111d17}

/* -------- AUTH VIEW -------- */
.auth-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:42px 20px;
  background:
    linear-gradient(90deg, rgba(17,34,22,.78), rgba(17,34,22,.46)),
    url('https://images.pexels.com/photos/28207767/pexels-photo-28207767/free-photo-of-a-man-sitting-in-a-chair-with-a-fishing-rod.jpeg?auto=compress&dpr=1&h=1200&w=1800')
    center/cover no-repeat;
}
.auth-card{
  width:min(560px,100%);
  padding:26px 28px 24px;
  border-radius:24px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.96);
  box-shadow:var(--shadow-lg);
  color:#0f1a14;
}
html[data-theme="dark"] .auth-card{
  background:rgba(15,29,23,.96);
  color:#f1f6f2;
}
.auth-card h1{
  margin:6px 0 8px;
  font-size:2.4rem;
  line-height:1;
  letter-spacing:-.045em;
  font-weight:900;
}
.auth-card p{color:var(--muted)}
.auth-top-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.auth-back{
  border:0;
  background:transparent;
  color:var(--muted);
  font-weight:800;
  padding:0;
  cursor:pointer;
}
.auth-tabs{
  margin:18px 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding:6px;
  border-radius:14px;
  background:var(--surface-2);
  border:1px solid var(--line);
}
.tab{
  min-height:42px;
  border-radius:10px;
  border:0;
  background:transparent;
  color:var(--muted);
  font-weight:800;
  cursor:pointer;
}
.tab.active{
  background:var(--surface);
  color:var(--text);
  box-shadow:0 2px 8px rgba(20,40,25,.08);
}
.account-type-title{
  margin-bottom:10px;
  font-weight:900;
  font-size:1rem;
}
.account-type-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:12px;
}
.account-type-card{
  position:relative;
  display:block;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface-2);
  cursor:pointer;
}
.account-type-card input{
  position:absolute;
  top:14px;
  left:14px;
  width:16px;
  height:16px;
  padding:0;
}
.account-type-card span{
  display:grid;
  gap:6px;
  padding-left:24px;
}
.account-type-card strong{font-size:1.08rem}
.account-type-card small{
  color:var(--muted);
  line-height:1.45;
}
.account-type-card:has(input:checked){
  border-color:rgba(94,161,70,.55);
  background:rgba(94,161,70,.10);
}
.auth-card form{display:grid;gap:12px}
.public-entry{
  border:1px solid rgba(94,161,70,.2);
  background:rgba(94,161,70,.08);
  color:var(--brand);
  font-weight:800;
  border-radius:12px;
  width:100%;
  min-height:46px;
}
.owner-hint{
  color:var(--muted);
  font-size:.88rem;
  line-height:1.5;
}

/* -------- PUBLIC DIRECTORY / PUBLIC CATCHES -------- */
.public-shell{
  min-height:100vh;
  background:
    linear-gradient(180deg, var(--bg-soft), var(--bg));
  padding-bottom:32px;
}
.public-topbar{
  position:sticky;
  top:0;
  z-index:30;
  min-height:78px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:20px 0;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
html[data-theme="dark"] .public-topbar{
  background:rgba(10,22,17,.92);
}
.public-topbar h1{
  margin:3px 0 0;
  font-size:2rem;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
}
.public-nav-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.public-hero{
  margin:24px 0 20px;
  padding:32px 34px;
  border-radius:26px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  background:
    linear-gradient(90deg, rgba(15,31,18,.90), rgba(22,47,29,.72)),
    url('https://images.pexels.com/photos/13021867/pexels-photo-13021867.jpeg?auto=compress&dpr=1&h=1200&w=1800')
    center/cover no-repeat;
  color:#fff;
}
.public-hero h2{
  max-width:960px;
  font-size:clamp(2rem, 4vw, 3rem);
  line-height:1.02;
  letter-spacing:-.04em;
  margin:10px 0;
  font-weight:900;
}
.public-hero p{max-width:760px;color:rgba(255,255,255,.9)}
.panel{
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:22px;
}
.panel + .panel{margin-top:18px}
.panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  margin-bottom:16px;
}
.panel-head h3{
  margin:4px 0 0;
  font-size:1.65rem;
  line-height:1.05;
  letter-spacing:-.04em;
}
.panel-head p,.muted-copy{color:var(--muted)}
.panel-head.responsive{flex-wrap:wrap}
.public-water-grid,.public-catch-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.public-water-card,.public-catch-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
  box-shadow:0 8px 18px rgba(21,38,26,.06);
}
.public-water-card > img,
.public-catch-card img,
.water-photo-placeholder,
.catch-photo-placeholder{
  width:100%;
  height:190px;
  object-fit:cover;
  display:block;
}
.water-photo-placeholder,.catch-photo-placeholder{
  display:grid;
  place-items:center;
  background:var(--surface-2);
  color:var(--muted);
  font-weight:800;
}
.public-water-body{
  padding:16px;
}
.public-water-body h3{
  margin:4px 0 8px;
  font-size:1.18rem;
  font-weight:900;
}
.public-water-body p,
.public-catch-card p,
.public-water-body details{color:var(--muted);line-height:1.5}
.listing-heading{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.featured-ribbon,.featured-badge,.public-pill{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px 8px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:900;
}
.featured-ribbon,.featured-badge{
  background:rgba(210,178,83,.14);
  color:#8f6a13;
  border:1px solid rgba(210,178,83,.26);
}
.listing-tags,.spot-tags,.promotion-benefits,.premium-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.listing-tags span,.spot-tags span,.promotion-benefits span,.premium-benefits span{
  border:1px solid var(--line);
  background:var(--surface-2);
  border-radius:999px;
  padding:6px 10px;
  font-size:.78rem;
  color:var(--muted);
}
.public-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.public-links a{
  color:var(--brand);
  font-weight:800;
  text-decoration:none;
}
.public-catch-card > div:last-child{padding:15px}
.public-catch-card h3{
  margin:5px 0 6px;
  font-size:1.1rem;
  font-weight:900;
}
.public-pill{
  background:rgba(94,161,70,.12);
  color:var(--brand);
  border:1px solid rgba(94,161,70,.18);
}

/* -------- DASHBOARDS -------- */
#appView{
  min-height:100vh;
  background:linear-gradient(180deg, var(--bg-soft), var(--bg));
}
.topbar{
  position:sticky;
  top:0;
  z-index:40;
  min-height:80px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  padding:18px 24px;
  background:rgba(255,255,255,.93);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px);
}
html[data-theme="dark"] .topbar{
  background:rgba(10,22,17,.93);
}
.topbar h1{
  margin:4px 0 0;
  font-size:2.05rem;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:900;
}
.topbar small{color:var(--muted)}
.head-actions,.header-action-group{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
main.shell{padding:26px 0 32px}
.hero-card,.owner-hero,.admin-hero{
  min-height:180px;
  border-radius:26px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  padding:28px 30px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  background:
    linear-gradient(90deg, rgba(15,31,18,.92), rgba(21,47,29,.72)),
    url('https://images.pexels.com/photos/13021867/pexels-photo-13021867.jpeg?auto=compress&dpr=1&h=1200&w=1800')
    center/cover no-repeat;
  color:#fff;
}
.hero-card h2,.owner-hero h2,.admin-hero h2{
  margin:10px 0 6px;
  font-size:clamp(2rem,4vw,2.85rem);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:900;
}
.hero-card p,.owner-hero p,.admin-hero p{color:rgba(255,255,255,.9);max-width:800px}

.stats-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.stat-card{
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface);
  box-shadow:var(--shadow);
  padding:20px;
}
.stat-card span,.stat-card small{display:block;color:var(--muted);font-weight:700}
.stat-card strong{
  display:block;
  margin-top:8px;
  font-size:2rem;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
}
.stat-card .text-stat{
  min-height:52px;
  display:flex;
  align-items:center;
  font-size:1.15rem;
}
.content-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:18px;
}
.smart-panel,.trophy-panel{margin-top:18px}
.smart-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.smart-summary-grid,.smart-insight-row,.venue-summary-grid,.admin-mini-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.smart-summary-grid article,
.smart-insight-row > div,
.venue-summary-grid > div,
.admin-mini-metrics > div{
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px 16px;
  background:var(--surface-2);
}
.smart-summary-grid small,.smart-insight-row small,
.venue-summary-grid small,.admin-mini-metrics small{
  display:block;
  color:var(--muted);
  margin-bottom:6px;
}
.smart-summary-grid strong,.smart-insight-row strong,
.venue-summary-grid strong,.admin-mini-metrics strong{
  font-size:1.18rem;
  font-weight:900;
}
.smart-layout{
  margin-top:16px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:16px;
}
.spot-map{
  height:360px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
}
.subsection-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.spot-list,.catch-list,.pb-list,.history-list,.session-list,.owner-water-list,.admin-listing-list,.admin-payment-list,.trophy-grid,.leaderboard-list,.rank-list{
  display:grid;
  gap:12px;
}
.catch-item,.pb-item,.session-row,.owner-water-card,.spot-card,.admin-listing-card,.admin-payment-row,.trophy-card,.leader-row,.rank-row{
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface-2);
  box-shadow:0 4px 10px rgba(21,38,26,.04);
}
.catch-item,.pb-item,.spot-card,.trophy-card,.leader-row,.rank-row,.admin-listing-card,.admin-payment-row{
  padding:16px;
}
.session-row,.owner-water-card{
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.owner-water-card img{
  width:104px;
  height:78px;
  object-fit:cover;
  border-radius:12px;
}
.owner-water-main{flex:1;min-width:0}
.owner-water-title,.spot-title,.catch-title,.planner-title,.admin-title-line{
  font-size:1.08rem;
  font-weight:900;
  color:var(--text);
}
.owner-water-title span,.catch-sub,.catch-meta,.sub,.coords,.water-line,.owner-ad-metrics,.admin-reason{
  color:var(--muted);
}
.owner-actions,.spot-actions,.admin-actions,.history-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.venue-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.venue-card,.venue-block{
  border:1px solid var(--line);
  background:var(--surface-2);
  border-radius:18px;
  padding:16px;
}
.venue-card h3,.venue-block h3{margin:4px 0 8px;font-size:1.18rem}
.venue-stats,.venue-catches,.venue-sections{
  display:grid;
  gap:10px;
}
.trophy-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.trophy-rank,.leader-rank{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  height:32px;
  border-radius:999px;
  background:rgba(210,178,83,.14);
  color:#8f6a13;
  font-weight:900;
}
.history-row{
  display:grid;
  grid-template-columns:120px 1.1fr 110px 1fr 1fr auto;
  gap:12px;
  align-items:center;
  padding:14px 10px;
  border-top:1px solid var(--line);
}
.history-row:first-child{border-top:0}
.delete-catch,.share-catch,.icon-btn{
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
}
.share-catch.is-public{color:var(--brand)}
.payment-status,.listing-status{
  display:inline-flex;
  align-items:center;
  padding:5px 9px;
  border-radius:999px;
  background:var(--surface-3);
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
}
.listing-status.approved,.payment-status.completed,.promotion-status.active{
  background:rgba(94,161,70,.12);
  color:var(--brand);
}
.promotion-status.requested{
  background:rgba(210,178,83,.14);
  color:#8f6a13;
}
.featured-preview-card{
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  background:var(--surface);
}
.featured-preview-image{
  min-height:170px;
  padding:18px;
  background:
    linear-gradient(90deg, rgba(15,31,18,.80), rgba(21,47,29,.58)),
    url('https://images.pexels.com/photos/13021867/pexels-photo-13021867.jpeg?auto=compress&dpr=1&h=1200&w=1800')
    center/cover no-repeat;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.featured-preview-image span{
  display:inline-flex;
  width:max-content;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(10,20,13,.55);
  border:1px solid rgba(255,255,255,.16);
  font-size:.72rem;
  font-weight:900;
}
.featured-preview-image strong{
  font-size:1.45rem;
  line-height:1.02;
  font-weight:900;
}
.featured-preview-body{padding:16px}
.featured-preview-body small{color:var(--muted);font-weight:800}
.featured-preview-body h4{margin:6px 0;font-size:1.2rem}
.featured-preview-body p{color:var(--muted)}
.featured-preview-body div{display:flex;gap:10px;flex-wrap:wrap}
.featured-preview-body b{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 10px;
  border-radius:999px;
  background:var(--surface-2);
  border:1px solid var(--line);
}
.promotion-panel{
  display:grid;
  grid-template-columns:1.1fr .85fr;
  gap:18px;
  align-items:stretch;
}
.premium-upsell{
  background:
    linear-gradient(180deg, rgba(94,161,70,.07), rgba(255,255,255,.96));
}
html[data-theme="dark"] .premium-upsell{
  background:
    linear-gradient(180deg, rgba(94,161,70,.10), rgba(15,29,23,.98));
}
.premium-upsell-copy h3{
  margin:6px 0;
  font-size:2rem;
  line-height:1.05;
  letter-spacing:-.04em;
}
.featured-offer-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:var(--gold);
  color:var(--gold-text);
  font-size:.68rem;
  font-weight:900;
  margin-bottom:8px;
}
.featured-sale-price{
  display:flex;
  align-items:baseline;
  gap:14px;
  flex-wrap:wrap;
  margin:8px 0 14px;
}
.was-price{color:var(--muted);font-weight:800}
.now-price{color:var(--brand);font-weight:900}
.now-price strong{font-size:2.4rem;line-height:1}
.payment-setup-note{display:block;margin-top:8px;color:var(--muted)}
.admin-stats{margin-bottom:18px}

/* dialogs */
dialog{
  border:0;
  padding:0;
  background:transparent;
}
dialog::backdrop{
  background:rgba(7,14,11,.48);
  backdrop-filter:blur(4px);
}
.dialog-card{
  width:min(880px,calc(100vw - 28px));
  border-radius:24px;
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--text);
  box-shadow:var(--shadow-lg);
  padding:22px;
}
.owner-dialog{width:min(980px,calc(100vw - 28px))}
.smart-dialog{width:min(900px,calc(100vw - 28px))}
.venue-dialog{width:min(1000px,calc(100vw - 28px))}
.planner-dialog{width:min(820px,calc(100vw - 28px))}
.dialog-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.dialog-head h3{
  margin:4px 0 0;
  font-size:1.75rem;
  line-height:1.03;
  letter-spacing:-.04em;
}
.dialog-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.form-grid .full{grid-column:1/-1}
.location-strip,.session-strip,.planner-controls{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.location-btn,.spot-location-btn{
  border:1px solid rgba(94,161,70,.18);
  background:rgba(94,161,70,.08);
  color:var(--brand);
  border-radius:10px;
  min-height:42px;
  padding:0 14px;
  font-weight:800;
  cursor:pointer;
}
.session-select-label{flex:1;min-width:220px}
.share-check,.check{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--line);
  background:var(--surface-2);
  border-radius:14px;
  padding:12px 14px;
}
.share-check input,.check input{width:auto}
.empty{
  display:grid;
  place-items:center;
  min-height:120px;
  border:1px dashed var(--line-strong);
  border-radius:16px;
  color:var(--muted);
  background:var(--surface-2);
  text-align:center;
  padding:20px;
}

/* -------- RESPONSIVE -------- */
@media(max-width:1100px){
  .public-water-grid,.public-catch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-grid,.smart-summary-grid,.smart-insight-row,.venue-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .content-grid,.smart-layout,.promotion-panel{grid-template-columns:1fr}
  .trophy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .venue-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  :root{--shell-width:min(100% - 24px, 1395px)}
  .topbar,.public-topbar{align-items:flex-start}
  .topbar{padding:16px 12px}
  .public-topbar{padding:16px 0}
  .head-actions,.public-nav-actions{width:100%}
  .stats-grid,.smart-summary-grid,.smart-insight-row,.venue-summary-grid,.admin-mini-metrics{grid-template-columns:1fr}
  .public-water-grid,.public-catch-grid,.trophy-grid{grid-template-columns:1fr}
  .account-type-grid,.form-grid{grid-template-columns:1fr}
  .history-row{
    grid-template-columns:90px 1fr auto;
    font-size:.84rem;
  }
  .history-row .optional{display:none}
  .hero-card,.owner-hero,.admin-hero{padding:22px}
  .dialog-card{padding:18px}
}
@media(max-width:520px){
  .auth-card{padding:22px 18px}
  .auth-card h1{font-size:2rem}
  .panel{padding:18px}
  .panel-head h3{font-size:1.35rem}
  .topbar h1,.public-topbar h1{font-size:1.7rem}
  .hero-card h2,.owner-hero h2,.admin-hero h2{font-size:1.8rem}
}



/* ==========================================================================
   v12.1 — non-home pages rebuilt to match the approved homepage
   ========================================================================== */

body{font-family:"Inter",Arial,Helvetica,sans-serif}
#authView,#publicView,#appView{
  --page-white:#ffffff;
  --page-soft:#f5f7f3;
  --page-green:#4f9850;
  --page-green-dark:#173321;
  --page-green-deep:#0d2117;
  --page-gold:#d4b455;
  --page-text:#111c16;
  --page-muted:#617168;
  --page-line:#d8ded8;
}
html[data-theme="dark"] #authView,
html[data-theme="dark"] #publicView,
html[data-theme="dark"] #appView{
  --page-white:#101d17;
  --page-soft:#0c1712;
  --page-text:#f4f7f4;
  --page-muted:#a9b7ae;
  --page-line:rgba(255,255,255,.10);
}

/* shared hero across login / public / account pages */
.subpage-hero{
  position:relative;
  min-height:215px;
  overflow:hidden;
  background:url("/assets/reference/hero-reference.jpg") center/cover no-repeat;
  color:#fff;
}
.subpage-hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(7,18,10,.88),rgba(10,27,16,.62) 52%,rgba(8,18,11,.18));
}
.subpage-hero-inner{
  position:relative;
  z-index:2;
  min-height:215px;
  display:flex;
  align-items:center;
}
.subpage-hero-inner>div{max-width:760px}
.subpage-hero .eyebrow{color:#a9d981}
.subpage-hero h1{
  margin:7px 0 8px;
  color:#fff;
  font-size:48px;
  line-height:.98;
  font-weight:900;
  letter-spacing:-2.4px;
  text-shadow:0 3px 9px rgba(0,0,0,.35);
}
.subpage-hero p,.subpage-hero small{
  color:#edf2ed;
  font-size:15px;
  line-height:1.5;
  text-shadow:0 2px 7px rgba(0,0,0,.35);
}

/* AUTH */
.auth-page-main{
  min-height:calc(100vh - 62px);
  padding:0 0 44px;
  display:block;
  background:var(--page-soft);
}
.auth-content-shell{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);
  gap:18px;
  margin-top:-34px;
  position:relative;
  z-index:3;
}
.auth-card-ref,.auth-benefits-card{
  border:1px solid var(--page-line);
  border-radius:12px;
  background:var(--page-white);
  box-shadow:0 12px 28px rgba(21,38,26,.11);
}
.auth-card-ref{
  width:auto;
  padding:24px;
}
.auth-card-ref h1{
  color:var(--page-text);
  font-size:32px;
  letter-spacing:-1.4px;
}
.auth-card-ref p{color:var(--page-muted)}
.auth-card-ref label{color:var(--page-text)}
.auth-card-ref input,
.auth-card-ref select,
.auth-card-ref textarea{
  background:var(--page-white);
  color:var(--page-text);
  border-color:var(--page-line);
}
.auth-tabs{
  border:1px solid var(--page-line);
  background:var(--page-soft);
}
.tab{color:var(--page-muted)}
.tab.active{background:var(--page-green);color:#fff}
.account-type-card{
  border-color:var(--page-line);
  background:var(--page-soft);
}
.account-type-card strong{color:var(--page-text)}
.account-type-card small{color:var(--page-muted)}
.account-type-card:has(input:checked){
  border-color:var(--page-green);
  background:rgba(79,152,80,.08);
}
.auth-benefits-card{
  padding:24px;
  background:
    linear-gradient(180deg,rgba(79,152,80,.06),var(--page-white));
}
.auth-benefits-card h2{
  margin:7px 0 18px;
  color:var(--page-text);
  font-size:28px;
  line-height:1;
  letter-spacing:-1.2px;
}
.auth-benefit-list{display:grid;gap:10px}
.auth-benefit-list>div{
  padding:14px;
  border:1px solid var(--page-line);
  border-radius:10px;
  background:var(--page-soft);
}
.auth-benefit-list strong{
  display:block;
  color:var(--page-text);
  font-size:14px;
  margin-bottom:5px;
}
.auth-benefit-list span{
  color:var(--page-muted);
  font-size:12px;
  line-height:1.45;
}

/* PUBLIC PAGE */
.public-page-main{padding:0 0 40px;background:var(--page-soft)}
.directory-section{
  padding:28px 0 34px;
  background:var(--page-white);
  color:var(--page-text);
}
.community-section{
  padding:30px 0 40px;
  background:
    radial-gradient(circle at 10% 0%,rgba(79,152,80,.07),transparent 35%),
    var(--page-soft);
  color:var(--page-text);
  border-top:1px solid var(--page-line);
}
.section-heading-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:16px;
}
.section-heading-row.compact{margin-bottom:12px}
.section-heading-row h2{
  margin:4px 0 5px;
  color:var(--page-text);
  font-size:32px;
  line-height:1;
  font-weight:900;
  letter-spacing:-1.4px;
}
.section-heading-row p{margin:0;color:var(--page-muted);font-size:13px}
.section-search{
  width:min(420px,100%);
  height:44px;
  border-radius:8px;
  background:var(--page-white);
  color:var(--page-text);
  border:1px solid var(--page-line);
}
.public-water-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.public-water-card{
  border-radius:8px;
  border:1px solid var(--page-line);
  background:var(--page-white);
  box-shadow:none;
}
.public-water-card>img,.water-photo-placeholder{height:150px}
.public-water-body{padding:13px}
.public-water-body h3{
  color:var(--page-text);
  font-size:15px;
  margin:3px 0 6px;
}
.public-water-body p{color:var(--page-muted);font-size:12px}
.public-catch-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.public-catch-card{
  border-radius:8px;
  border:1px solid var(--page-line);
  background:var(--page-white);
  box-shadow:none;
}
.public-catch-card img,.catch-photo-placeholder{height:170px}
.public-catch-card h3{color:var(--page-text);font-size:15px}
.public-catch-card .sub{color:var(--page-muted)}
.listing-tags span{
  border-color:var(--page-line);
  background:var(--page-soft);
  color:var(--page-muted);
  font-size:10px;
}
.public-links a{color:var(--page-green)}

/* ACCOUNT DASHBOARDS */
#appView{background:var(--page-soft)}
.app-page-heading{border-bottom:0;background:none}
.site-page-main{padding:24px 0 40px}
.dashboard-section-block{
  padding:0;
  margin:0 0 16px;
}
.stats-grid{
  margin:0;
  gap:12px;
}
.stat-card{
  border-radius:10px;
  border:1px solid var(--page-line);
  background:var(--page-white);
  box-shadow:none;
  padding:16px;
}
.stat-card span,.stat-card small{color:var(--page-muted);font-size:11px}
.stat-card strong{color:var(--page-text);font-size:28px}
.ref-section-panel,.content-grid>.panel{
  border-radius:10px;
  border:1px solid var(--page-line);
  background:var(--page-white);
  box-shadow:none;
}
.panel-head h3{color:var(--page-text)}
.panel-head .muted-copy,.muted-copy{color:var(--page-muted)}
.smart-summary-grid article,
.smart-insight-row>div,
.venue-summary-grid>div{
  border-radius:8px;
  border-color:var(--page-line);
  background:var(--page-soft);
}
.smart-summary-grid strong,
.smart-insight-row strong,
.venue-summary-grid strong{color:var(--page-text)}
.smart-summary-grid small,
.smart-insight-row small,
.venue-summary-grid small{color:var(--page-muted)}
.catch-item,.pb-item,.session-row,.owner-water-card,.spot-card,
.admin-listing-card,.admin-payment-row,.trophy-card,.leader-row,.rank-row{
  border-radius:8px;
  border-color:var(--page-line);
  background:var(--page-soft);
  box-shadow:none;
}
.catch-title,.owner-water-title,.spot-title,.admin-title-line,
.catch-item strong,.pb-item strong{color:var(--page-text)}
.sub,.coords,.catch-meta,.catch-sub,.owner-ad-metrics{color:var(--page-muted)}
.venue-card,.venue-block{
  border-radius:8px;
  border-color:var(--page-line);
  background:var(--page-soft);
  color:var(--page-text);
}
.venue-card h4,.venue-block h3{color:var(--page-text)}
.venue-stats span{background:var(--page-white);border-color:var(--page-line)}
.history-row{border-color:var(--page-line);color:var(--page-text)}
.history-row small{color:var(--page-muted)}
.spot-map{border-radius:8px;border-color:var(--page-line)}

/* owner: paid upgrade should mirror homepage offer */
.owner-hero,.admin-hero,.hero-card{
  min-height:190px;
  border-radius:10px;
  border-color:rgba(84,143,68,.35);
  box-shadow:none;
}
.owner-hero h2,.admin-hero h2,.hero-card h2{
  font-size:36px;
  letter-spacing:-1.7px;
}
.premium-upsell{
  border:1px solid rgba(180,145,52,.35)!important;
  background:
    linear-gradient(90deg,rgba(79,152,80,.04),transparent 65%),
    var(--page-white)!important;
}
.premium-upsell-copy h3{color:var(--page-text)}
.featured-sale-price .now-price{color:var(--page-green)}
.promotion-benefits span,.premium-benefits span{
  border-radius:7px;
  border-color:var(--page-line);
  background:var(--page-soft);
  color:var(--page-muted);
}
.featured-preview-card{
  border-radius:8px;
  border-color:var(--page-line);
  background:var(--page-white);
}
.featured-preview-body h4{color:var(--page-text)}
.featured-preview-body p{color:var(--page-muted)}
.featured-preview-body b{
  border-color:var(--page-line);
  background:var(--page-soft);
  color:var(--page-text);
}

/* buttons/forms: same as homepage */
#authView .primary,#publicView .primary,#appView .primary,
#authView .secondary,#publicView .secondary,#appView .secondary,
#authView .ghost,#publicView .ghost,#appView .ghost,
#authView .danger-soft,#publicView .danger-soft,#appView .danger-soft{
  min-height:40px;
  border-radius:8px;
  font-size:12px;
  font-weight:900;
}
#authView .primary,#publicView .primary,#appView .primary{
  background:var(--page-green);
  border-color:var(--page-green);
  color:#fff;
}
#authView .secondary,#publicView .secondary,#appView .secondary{
  background:var(--page-white);
  border-color:var(--page-line);
  color:var(--page-text);
}
#authView .ghost,#publicView .ghost,#appView .ghost{
  color:var(--page-muted);
}
#authView input,#publicView input,#appView input,
#authView select,#publicView select,#appView select,
#authView textarea,#publicView textarea,#appView textarea{
  border-radius:8px;
  border-color:var(--page-line);
  background:var(--page-white);
  color:var(--page-text);
}
#authView input:focus,#publicView input:focus,#appView input:focus,
#authView select:focus,#publicView select:focus,#appView select:focus,
#authView textarea:focus,#publicView textarea:focus,#appView textarea:focus{
  border-color:var(--page-green);
  box-shadow:0 0 0 3px rgba(79,152,80,.09);
}

/* dialogs */
.dialog-card{
  border-radius:10px;
  border-color:var(--page-line);
  background:var(--page-white);
  color:var(--page-text);
}
.dialog-head h3{color:var(--page-text);font-size:23px}
.location-strip,.session-strip,.planner-controls{
  border-radius:8px;
}
.location-btn,.spot-location-btn{
  border-radius:8px;
  color:var(--page-green);
  border-color:rgba(79,152,80,.25);
  background:rgba(79,152,80,.08);
}
.share-check,.check{
  border-radius:8px;
  border-color:var(--page-line);
  background:var(--page-soft);
}
.empty{
  border-radius:8px;
  border-color:var(--page-line);
  background:var(--page-soft);
  color:var(--page-muted);
}

/* dark theme keeps same layout, only colours change */
html[data-theme="dark"] .directory-section{background:#0e1a14}
html[data-theme="dark"] .community-section{background:#09140f}
html[data-theme="dark"] .auth-content-shell .auth-card-ref,
html[data-theme="dark"] .auth-benefits-card,
html[data-theme="dark"] .public-water-card,
html[data-theme="dark"] .public-catch-card,
html[data-theme="dark"] .stat-card,
html[data-theme="dark"] .ref-section-panel,
html[data-theme="dark"] .content-grid>.panel{
  box-shadow:none;
}

/* responsive */
@media(max-width:1050px){
  .auth-content-shell{grid-template-columns:1fr}
  .public-water-grid,.public-catch-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .subpage-hero{min-height:260px}
  .subpage-hero-inner{min-height:260px}
  .subpage-hero h1{font-size:38px;letter-spacing:-1.8px}
  .section-heading-row{align-items:flex-start;flex-direction:column}
  .section-search{width:100%}
  .public-water-grid,.public-catch-grid{grid-template-columns:1fr}
  .auth-content-shell{margin-top:-20px}
  .owner-hero,.admin-hero{align-items:flex-start;flex-direction:column}
}

/* ===== MERGED OVERRIDE: site-v12-2.css ===== */
/* FishingLogbook v12.2 — exact shared styling for every non-home page */

/* Header is now literally the same class system as homepage */
#authView .ref-header,#publicView .ref-header,#appView .ref-header{
  height:62px!important;background:linear-gradient(90deg,#192f34,#1c3338 55%,#20343a)!important;
  color:#fff!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important;
}
#authView .ref-nav-wrap,#publicView .ref-nav-wrap,#appView .ref-nav-wrap{
  width:min(1395px,calc(100% - 48px))!important;height:62px!important;margin:0 auto!important;
  display:grid!important;grid-template-columns:350px minmax(0,1fr) auto!important;align-items:center!important;gap:18px!important;
}
#authView .ref-brand,#publicView .ref-brand,#appView .ref-brand{
  width:350px!important;height:61px!important;padding:0!important;border:0!important;background:transparent!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
}
#authView .ref-brand img,#publicView .ref-brand img,#appView .ref-brand img{
  display:block!important;width:350px!important;height:61px!important;max-height:61px!important;object-fit:contain!important;object-position:left center!important;
}
#authView .ref-main-nav,#publicView .ref-main-nav,#appView .ref-main-nav{
  display:flex!important;align-items:stretch!important;justify-content:center!important;height:62px!important;gap:0!important;
}
#authView .ref-main-nav>button,#publicView .ref-main-nav>button,#appView .ref-main-nav button,
#appView .header-action-group>button{
  position:relative!important;height:62px!important;min-height:62px!important;padding:0 14px!important;
  border:0!important;border-radius:0!important;background:transparent!important;color:#fff!important;font-size:13px!important;font-weight:800!important;
}
#authView .ref-main-nav button:hover:after,#publicView .ref-main-nav button:hover:after,#appView .ref-main-nav button:hover:after,
#publicView .ref-main-nav button.active:after{
  content:"";position:absolute;left:12px;right:12px;bottom:5px;height:3px;border-radius:5px;background:#66aa51;
}
#authView .ref-account-nav,#publicView .ref-account-nav,#appView .ref-account-nav{
  height:62px!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;white-space:nowrap!important;
}
#authView .ref-login,#publicView .ref-login,#appView .ref-login{
  border:0!important;background:transparent!important;color:#fff!important;font-size:13px!important;font-weight:800!important;padding:9px 7px!important;
}
#publicView .ref-signup{
  min-height:40px!important;padding:0 16px!important;border:0!important;border-radius:8px!important;background:#4f9850!important;color:#fff!important;font-weight:900!important;
}
#authView .ref-uk,#publicView .ref-uk,#appView .ref-uk{color:#fff!important;font-size:13px!important;font-weight:800!important}
#authView .theme-toggle,#publicView .theme-toggle,#appView .theme-toggle{
  width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:9px!important;
  background:rgba(255,255,255,.06)!important;color:#fff!important;
}
#appView .header-action-group{display:flex!important;align-items:stretch!important;height:62px!important}
#appView .nav-primary{height:40px!important;min-height:40px!important;margin:auto 4px!important;border-radius:8px!important;background:#4f9850!important;padding:0 15px!important}

/* Same font, weights and colours as approved homepage */
#authView,#publicView,#appView{font-family:"Inter",Arial,Helvetica,sans-serif!important;--vgreen:#4f9850;--vgreen2:#66aa51;--vink:#111c16;--vmuted:#5e6e64;--vline:#d8ded8;--vwhite:#fff;--vsoft:#f5f7f3}
html[data-theme="dark"] #authView,html[data-theme="dark"] #publicView,html[data-theme="dark"] #appView{--vink:#f4f7f4;--vmuted:#a8b6ad;--vline:rgba(255,255,255,.10);--vwhite:#101d17;--vsoft:#09150f}

#authView,#publicView,#appView{background:var(--vsoft)!important;color:var(--vink)!important}
#authView .eyebrow,#publicView .eyebrow,#appView .eyebrow{color:#4f9850!important;font-size:12px!important;font-weight:900!important;letter-spacing:.04em!important}

/* Shared reference hero used on every subpage */
#authView .subpage-hero,#publicView .subpage-hero,#appView .subpage-hero{
  min-height:215px!important;background:url('/assets/reference/hero-reference.jpg') center/cover no-repeat!important;color:#fff!important;
}
#authView .subpage-hero-shade,#publicView .subpage-hero-shade,#appView .subpage-hero-shade{background:linear-gradient(90deg,rgba(7,18,10,.88),rgba(10,27,16,.58) 56%,rgba(8,18,11,.12))!important}
#authView .subpage-hero-inner,#publicView .subpage-hero-inner,#appView .subpage-hero-inner{min-height:215px!important;width:min(1395px,calc(100% - 48px))!important;margin:0 auto!important;display:flex!important;align-items:center!important}
#authView .subpage-hero h1,#publicView .subpage-hero h1,#appView .subpage-hero h1{
  margin:6px 0 8px!important;color:#fff!important;font-size:48px!important;line-height:.98!important;font-weight:900!important;letter-spacing:-2.4px!important;
}
#authView .subpage-hero p,#publicView .subpage-hero p,#appView .subpage-hero small{color:#edf2ed!important;font-size:15px!important;line-height:1.5!important}

/* Public directory is the same white Explore block as home */
#publicView .public-page-main{padding:0 0 40px!important;background:var(--vsoft)!important}
#publicView .directory-section{padding:25px 0 32px!important;background:var(--vwhite)!important;color:var(--vink)!important}
#publicView .community-section{padding:30px 0 40px!important;background:var(--vsoft)!important;border-top:1px solid var(--vline)!important}
#publicView .section-heading-row{width:min(1395px,100%)!important;display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:18px!important;margin-bottom:14px!important}
#publicView .section-heading-row h2,#appView .section-heading-row h2{margin:4px 0 5px!important;font-size:32px!important;line-height:1!important;font-weight:900!important;letter-spacing:-1.4px!important;color:var(--vink)!important}
#publicView .section-heading-row p{margin:0!important;color:var(--vmuted)!important;font-size:13px!important}
#publicView .section-search{width:min(420px,100%)!important;height:44px!important;border:1px solid var(--vline)!important;border-radius:8px!important;background:var(--vwhite)!important;color:var(--vink)!important;padding:0 13px!important}
#publicView .public-water-grid,#publicView .public-catch-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
#publicView .public-water-card,#publicView .public-catch-card{border:1px solid var(--vline)!important;border-radius:8px!important;background:var(--vwhite)!important;box-shadow:none!important;overflow:hidden!important;color:var(--vink)!important}
#publicView .public-water-card>img,#publicView .water-photo-placeholder{height:150px!important;width:100%!important;object-fit:cover!important}
#publicView .public-catch-card img,#publicView .catch-photo-placeholder{height:170px!important;width:100%!important;object-fit:cover!important}
#publicView .public-water-body,#publicView .public-catch-card>div:last-child{padding:13px!important}
#publicView .public-water-body h3,#publicView .public-catch-card h3{margin:3px 0 6px!important;color:var(--vink)!important;font-size:15px!important;font-weight:900!important}
#publicView .public-water-body p,#publicView .sub{color:var(--vmuted)!important;font-size:12px!important}

/* Login/register follows the same hero + white content architecture */
#authView .auth-page-main{min-height:calc(100vh - 62px)!important;padding:0 0 44px!important;background:var(--vsoft)!important;display:block!important}
#authView .auth-content-shell{width:min(1100px,calc(100% - 48px))!important;margin:-34px auto 0!important;position:relative!important;z-index:3!important;display:grid!important;grid-template-columns:1.05fr .75fr!important;gap:18px!important}
#authView .auth-card,#authView .auth-benefits-card{width:auto!important;padding:24px!important;border:1px solid var(--vline)!important;border-radius:10px!important;background:var(--vwhite)!important;color:var(--vink)!important;box-shadow:0 12px 28px rgba(21,38,26,.11)!important}
#authView .auth-card h1,#authView .auth-benefits-card h2{color:var(--vink)!important;font-weight:900!important;letter-spacing:-1.4px!important}
#authView .auth-card h1{font-size:32px!important}
#authView .auth-benefits-card h2{font-size:28px!important}
#authView .auth-card p,#authView .auth-benefit-list span{color:var(--vmuted)!important}
#authView .auth-benefit-list{display:grid!important;gap:10px!important}
#authView .auth-benefit-list>div{padding:14px!important;border:1px solid var(--vline)!important;border-radius:8px!important;background:var(--vsoft)!important}
#authView .auth-benefit-list strong{display:block!important;margin-bottom:4px!important;color:var(--vink)!important}
#authView input,#authView select,#authView textarea{background:var(--vwhite)!important;color:var(--vink)!important;border:1px solid var(--vline)!important;border-radius:8px!important}
#authView .auth-tabs{background:var(--vsoft)!important;border:1px solid var(--vline)!important;border-radius:8px!important}
#authView .tab.active{background:#4f9850!important;color:#fff!important;border-radius:6px!important}

/* Account/dashboard: homepage card language, no rounded floating app look */
#appView .site-page-main{width:min(1395px,calc(100% - 48px))!important;margin:0 auto!important;padding:24px 0 40px!important}
#appView .dashboard-section-block{margin-bottom:16px!important}
#appView .stats-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:12px!important;margin:0!important}
#appView .stat-card,#appView .panel,#appView .content-grid>.panel{border:1px solid var(--vline)!important;border-radius:8px!important;background:var(--vwhite)!important;box-shadow:none!important;color:var(--vink)!important}
#appView .stat-card{padding:16px!important}
#appView .stat-card span,#appView .stat-card small,#appView .muted-copy,#appView .sub,#appView .coords,#appView .catch-meta,#appView .catch-sub{color:var(--vmuted)!important}
#appView .stat-card strong{color:var(--vink)!important;font-size:28px!important;font-weight:900!important}
#appView .panel{padding:18px!important}
#appView .panel-head h3{color:var(--vink)!important;font-size:24px!important;font-weight:900!important;letter-spacing:-1px!important}
#appView .catch-item,#appView .pb-item,#appView .session-row,#appView .owner-water-card,#appView .spot-card,#appView .admin-listing-card,#appView .admin-payment-row,#appView .trophy-card,#appView .leader-row,#appView .rank-row,#appView .venue-card,#appView .venue-block{border:1px solid var(--vline)!important;border-radius:8px!important;background:var(--vsoft)!important;color:var(--vink)!important;box-shadow:none!important}
#appView input,#appView select,#appView textarea{background:var(--vwhite)!important;color:var(--vink)!important;border:1px solid var(--vline)!important;border-radius:8px!important}
#appView .primary{background:#4f9850!important;color:#fff!important;border:1px solid #4f9850!important;border-radius:8px!important;font-weight:900!important}
#appView .secondary{background:var(--vwhite)!important;color:var(--vink)!important;border:1px solid var(--vline)!important;border-radius:8px!important;font-weight:900!important}
#appView .premium-upsell{background:linear-gradient(90deg,rgba(79,152,80,.05),var(--vwhite))!important;border:1px solid rgba(180,145,52,.35)!important}
#appView .featured-offer-badge{background:#d4b455!important;color:#172016!important;border-radius:4px!important}
#appView .now-price strong{color:#4f9850!important}

/* Dialogs use same flat 8px card system */
dialog .dialog-card{border:1px solid var(--vline)!important;border-radius:8px!important;background:var(--vwhite)!important;color:var(--vink)!important;box-shadow:0 18px 45px rgba(12,27,18,.25)!important}
dialog .dialog-head h3{color:var(--vink)!important;font-weight:900!important}
dialog input,dialog select,dialog textarea{background:var(--vwhite)!important;color:var(--vink)!important;border:1px solid var(--vline)!important;border-radius:8px!important}

@media(max-width:1100px){
  #authView .ref-nav-wrap,#publicView .ref-nav-wrap,#appView .ref-nav-wrap{grid-template-columns:300px minmax(0,1fr) auto!important}
  #authView .ref-brand,#publicView .ref-brand,#appView .ref-brand,#authView .ref-brand img,#publicView .ref-brand img,#appView .ref-brand img{width:300px!important}
  #publicView .public-water-grid,#publicView .public-catch-grid{grid-template-columns:repeat(2,1fr)!important}
  #authView .auth-content-shell{grid-template-columns:1fr!important}
}
@media(max-width:900px){
  #authView .ref-main-nav,#publicView .ref-main-nav,#appView .ref-main-nav{display:none!important}
  #authView .ref-nav-wrap,#publicView .ref-nav-wrap,#appView .ref-nav-wrap{grid-template-columns:1fr auto!important}
  #appView .stats-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:700px){
  #authView .ref-nav-wrap,#publicView .ref-nav-wrap,#appView .ref-nav-wrap,#authView .subpage-hero-inner,#publicView .subpage-hero-inner,#appView .subpage-hero-inner,#appView .site-page-main{width:calc(100% - 22px)!important}
  #authView .ref-brand,#publicView .ref-brand,#appView .ref-brand,#authView .ref-brand img,#publicView .ref-brand img,#appView .ref-brand img{width:245px!important}
  #authView .subpage-hero,#publicView .subpage-hero,#appView .subpage-hero,#authView .subpage-hero-inner,#publicView .subpage-hero-inner,#appView .subpage-hero-inner{min-height:250px!important}
  #authView .subpage-hero h1,#publicView .subpage-hero h1,#appView .subpage-hero h1{font-size:38px!important}
  #publicView .section-heading-row{align-items:flex-start!important;flex-direction:column!important}
  #publicView .section-search{width:100%!important}
  #publicView .public-water-grid,#publicView .public-catch-grid,#appView .stats-grid{grid-template-columns:1fr!important}
  #authView .auth-content-shell{width:calc(100% - 22px)!important;margin-top:-20px!important}
}

/* ===== MERGED OVERRIDE: site-v12-4.css ===== */
/* FishingLogbook v12.4 — roomier shared header */

/* Desktop: give the reference logo its full natural dimensions plus breathing room. */
.ref-header{
  height:76px !important;
  overflow:visible !important;
}
.ref-nav-wrap{
  width:min(1460px,calc(100% - 40px)) !important;
  height:76px !important;
  grid-template-columns:395px minmax(0,1fr) auto !important;
  gap:20px !important;
  overflow:visible !important;
}
.ref-brand{
  width:395px !important;
  height:76px !important;
  overflow:visible !important;
  padding:6px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
.ref-brand img{
  width:365px !important;
  height:62px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  display:block !important;
}
.ref-main-nav,
.ref-account-nav{
  height:76px !important;
}
.ref-main-nav>button,
.ref-account-nav>button{
  min-height:76px !important;
}
.ref-main-nav button.active:after,
.ref-main-nav button:hover:after{
  bottom:8px !important;
}

/* The account/action buttons stay compact even though the header is taller. */
.ref-account-nav .ref-login,
.ref-account-nav .ref-signup,
.ref-account-nav .theme-toggle,
.ref-account-nav .ref-search-icon{
  min-height:40px !important;
}

/* All non-home views literally share the same dimensions. */
#authView .ref-header,
#publicView .ref-header,
#appView .ref-header{
  height:76px !important;
}
#authView .ref-nav-wrap,
#publicView .ref-nav-wrap,
#appView .ref-nav-wrap{
  width:min(1460px,calc(100% - 40px)) !important;
  height:76px !important;
  grid-template-columns:395px minmax(0,1fr) auto !important;
}
#authView .ref-brand,
#publicView .ref-brand,
#appView .ref-brand{
  width:395px !important;
  height:76px !important;
  padding:6px 0 !important;
  overflow:visible !important;
}
#authView .ref-brand img,
#publicView .ref-brand img,
#appView .ref-brand img{
  width:365px !important;
  height:62px !important;
  max-width:none !important;
  max-height:none !important;
}
#authView .ref-main-nav,
#publicView .ref-main-nav,
#appView .ref-main-nav,
#authView .ref-account-nav,
#publicView .ref-account-nav,
#appView .ref-account-nav{
  height:76px !important;
}
#authView .ref-main-nav>button,
#publicView .ref-main-nav>button,
#appView .ref-main-nav>button{
  height:76px !important;
  min-height:76px !important;
}

/* Mid-size desktop: retain a generous logo area before collapsing nav. */
@media(max-width:1250px){
  .ref-nav-wrap,
  #authView .ref-nav-wrap,
  #publicView .ref-nav-wrap,
  #appView .ref-nav-wrap{
    grid-template-columns:350px minmax(0,1fr) auto !important;
    gap:12px !important;
  }
  .ref-brand,
  #authView .ref-brand,
  #publicView .ref-brand,
  #appView .ref-brand{
    width:350px !important;
  }
  .ref-brand img,
  #authView .ref-brand img,
  #publicView .ref-brand img,
  #appView .ref-brand img{
    width:340px !important;
    height:auto !important;
  }
  .ref-main-nav>button,
  #authView .ref-main-nav>button,
  #publicView .ref-main-nav>button,
  #appView .ref-main-nav>button{
    padding-left:9px !important;
    padding-right:9px !important;
    font-size:12px !important;
  }
}

/* Tablet/mobile: logo remains fully visible, nav hides as before. */
@media(max-width:900px){
  .ref-nav-wrap,
  #authView .ref-nav-wrap,
  #publicView .ref-nav-wrap,
  #appView .ref-nav-wrap{
    grid-template-columns:minmax(280px,1fr) auto !important;
  }
}
@media(max-width:700px){
  .ref-header,
  #authView .ref-header,
  #publicView .ref-header,
  #appView .ref-header{
    height:68px !important;
  }
  .ref-nav-wrap,
  #authView .ref-nav-wrap,
  #publicView .ref-nav-wrap,
  #appView .ref-nav-wrap{
    width:calc(100% - 18px) !important;
    height:68px !important;
    grid-template-columns:minmax(215px,1fr) auto !important;
  }
  .ref-brand,
  #authView .ref-brand,
  #publicView .ref-brand,
  #appView .ref-brand{
    width:255px !important;
    height:68px !important;
    padding:5px 0 !important;
  }
  .ref-brand img,
  #authView .ref-brand img,
  #publicView .ref-brand img,
  #appView .ref-brand img{
    width:250px !important;
    height:auto !important;
  }
  .ref-account-nav,
  #authView .ref-account-nav,
  #publicView .ref-account-nav,
  #appView .ref-account-nav{
    height:68px !important;
  }
}

/* ===== MERGED OVERRIDE: site-v12-5.css ===== */
/* FishingLogbook v12.5 — login / signup layout only
   Homepage and shared header are intentionally unchanged. */

/* Make the login page use the same full-width canvas as the homepage. */
#authView .auth-page-main{
  width:100% !important;
  min-height:calc(100vh - 76px) !important;
  padding:0 0 56px !important;
  background:#f5f7f3 !important;
}
html[data-theme="dark"] #authView .auth-page-main{
  background:#08140f !important;
}

/* Full-bleed hero immediately below the shared header. */
#authView .auth-subpage-hero{
  width:100% !important;
  min-height:255px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background-image:url("/assets/reference/hero-reference.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
}
#authView .auth-subpage-hero .subpage-hero-inner{
  width:min(1460px,calc(100% - 40px)) !important;
  min-height:255px !important;
  margin:0 auto !important;
  padding:0 !important;
}
#authView .auth-subpage-hero .subpage-hero-inner>div{
  max-width:820px !important;
  padding-left:0 !important;
}
#authView .auth-subpage-hero h1{
  margin:7px 0 9px !important;
  font-size:50px !important;
  line-height:.98 !important;
  letter-spacing:-2.5px !important;
  font-weight:900 !important;
}
#authView .auth-subpage-hero p{
  max-width:760px !important;
  margin:0 !important;
  font-size:15px !important;
  line-height:1.5 !important;
}

/* This was the key problem: old CSS restricted the cards to 1100px. */
#authView .auth-content-shell{
  width:min(1460px,calc(100% - 40px)) !important;
  max-width:none !important;
  margin:-28px auto 0 !important;
  padding:0 !important;
  position:relative !important;
  z-index:4 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr) !important;
  gap:20px !important;
  align-items:start !important;
}

/* Cards match the homepage's flatter, wider sections. */
#authView .auth-card-ref,
#authView .auth-benefits-card{
  width:100% !important;
  max-width:none !important;
  border-radius:10px !important;
  border:1px solid #d8ded8 !important;
  background:#fff !important;
  color:#111c16 !important;
  box-shadow:0 10px 24px rgba(20,35,24,.08) !important;
}
html[data-theme="dark"] #authView .auth-card-ref,
html[data-theme="dark"] #authView .auth-benefits-card{
  border-color:rgba(255,255,255,.10) !important;
  background:#0f1d17 !important;
  color:#f4f7f4 !important;
  box-shadow:none !important;
}

#authView .auth-card-ref{
  padding:24px 26px 26px !important;
}
#authView .auth-benefits-card{
  padding:24px 26px !important;
}

/* Correct the MY ACCOUNT / FISH LOG EXPLORE SHARE collision. */
#authView .auth-card-brand{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:6px !important;
  align-items:start !important;
  margin:0 0 10px !important;
}
#authView .auth-card-brand .eyebrow{
  display:block !important;
  margin:0 !important;
  line-height:1 !important;
}
#authView .auth-card-brand>strong{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#68766d !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.20em !important;
}
html[data-theme="dark"] #authView .auth-card-brand>strong{
  color:#9dacA2 !important;
}

#authView .auth-card-ref>h1{
  margin:6px 0 7px !important;
  font-size:34px !important;
  line-height:1 !important;
  letter-spacing:-1.5px !important;
}
#authView .auth-card-ref>p{
  margin:0 0 18px !important;
  font-size:14px !important;
}

/* Make the main browse action look like a homepage call-to-action. */
#authView .public-entry{
  min-height:48px !important;
  margin:0 0 16px !important;
  border-radius:8px !important;
  border:1px solid rgba(79,152,80,.28) !important;
  background:rgba(79,152,80,.08) !important;
  color:#4f9850 !important;
  font-size:13px !important;
  font-weight:900 !important;
}
html[data-theme="dark"] #authView .public-entry{
  color:#87c769 !important;
}

/* Tabs and form spacing closer to the reference proportions. */
#authView .auth-tabs{
  margin:0 0 18px !important;
  padding:5px !important;
  border-radius:8px !important;
}
#authView .tab{
  min-height:44px !important;
  font-size:13px !important;
}
#authView .auth-card form{
  gap:13px !important;
}
#authView .auth-card label{
  gap:7px !important;
  font-size:12px !important;
}
#authView .auth-card input,
#authView .auth-card select{
  min-height:45px !important;
  padding:0 13px !important;
}
#authView .auth-card textarea{
  padding:12px 13px !important;
}
#authView .auth-card .primary{
  min-height:46px !important;
  margin-top:2px !important;
}

/* Benefits panel: large enough to visually balance the form card. */
#authView .auth-benefits-card h2{
  margin:7px 0 18px !important;
  font-size:30px !important;
  line-height:1 !important;
  letter-spacing:-1.3px !important;
}
#authView .auth-benefit-list{
  gap:10px !important;
}
#authView .auth-benefit-list>div{
  min-height:72px !important;
  padding:14px 15px !important;
  border-radius:8px !important;
  border:1px solid #e1e6e0 !important;
  background:#f8faf7 !important;
}
html[data-theme="dark"] #authView .auth-benefit-list>div{
  border-color:rgba(255,255,255,.09) !important;
  background:#09150f !important;
}
#authView .auth-benefit-list strong{
  font-size:13px !important;
  margin-bottom:5px !important;
}
#authView .auth-benefit-list span{
  font-size:12px !important;
  line-height:1.45 !important;
}

/* Sign-up form: use the extra width rather than becoming a tall narrow form. */
#authView #registerForm .account-type-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}
#authView .account-type-card{
  min-height:95px !important;
}

/* Remove any "small app inside a giant dark panel" visual effect. */
#authView .auth-content-shell::before,
#authView .auth-content-shell::after{
  content:none !important;
}

/* Tablet */
@media(max-width:1050px){
  #authView .auth-content-shell{
    grid-template-columns:1fr !important;
  }
  #authView .auth-benefits-card{
    margin-top:0 !important;
  }
}

/* Mobile */
@media(max-width:700px){
  #authView .auth-page-main{
    min-height:calc(100vh - 68px) !important;
    padding-bottom:30px !important;
  }
  #authView .auth-subpage-hero{
    min-height:285px !important;
  }
  #authView .auth-subpage-hero .subpage-hero-inner{
    width:calc(100% - 22px) !important;
    min-height:285px !important;
  }
  #authView .auth-subpage-hero h1{
    font-size:39px !important;
    letter-spacing:-1.8px !important;
  }
  #authView .auth-content-shell{
    width:calc(100% - 22px) !important;
    margin-top:-18px !important;
  }
  #authView .auth-card-ref,
  #authView .auth-benefits-card{
    padding:19px !important;
  }
  #authView #registerForm .account-type-grid{
    grid-template-columns:1fr !important;
  }
}

/* ===== MERGED OVERRIDE: site-v12-6.css ===== */
/* FishingLogbook v12.6 — final shared header alignment
   Homepage/content styling is unchanged. */

/* Full browser-width masthead, with one common internal alignment. */
.ref-header{
  width:100% !important;
  margin:0 !important;
  left:0 !important;
  right:0 !important;
  border-radius:0 !important;
  background:linear-gradient(90deg,#192f34,#1d353a 58%,#20363b) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.08) !important;
}

/* Match the hero/content width rather than a smaller centred header box. */
.ref-nav-wrap,
#homeView .ref-nav-wrap,
#authView .ref-nav-wrap,
#publicView .ref-nav-wrap,
#appView .ref-nav-wrap{
  width:min(1536px,calc(100% - 64px)) !important;
  max-width:none !important;
  margin:0 auto !important;
  padding:0 !important;
  grid-template-columns:390px minmax(0,1fr) auto !important;
  gap:24px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Remove any accidental card-like background behind only the header content. */
#homeView .ref-nav-wrap,
#authView .ref-nav-wrap,
#publicView .ref-nav-wrap,
#appView .ref-nav-wrap,
.ref-nav-wrap::before,
.ref-nav-wrap::after{
  border-radius:0 !important;
  box-shadow:none !important;
}

/* Logo: keep the full fish, wordmark and strapline visible. */
.ref-brand,
#homeView .ref-brand,
#authView .ref-brand,
#publicView .ref-brand,
#appView .ref-brand{
  width:390px !important;
  min-width:390px !important;
  height:76px !important;
  padding:6px 0 !important;
  margin:0 !important;
  overflow:visible !important;
  background:transparent !important;
}
.ref-brand img,
#homeView .ref-brand img,
#authView .ref-brand img,
#publicView .ref-brand img,
#appView .ref-brand img{
  width:370px !important;
  height:62px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  display:block !important;
}

/* Give the main navigation a little more air while preserving the reference proportions. */
.ref-main-nav,
#homeView .ref-main-nav,
#authView .ref-main-nav,
#publicView .ref-main-nav,
#appView .ref-main-nav{
  justify-content:center !important;
  gap:2px !important;
  min-width:0 !important;
}
.ref-main-nav>button,
#homeView .ref-main-nav>button,
#authView .ref-main-nav>button,
#publicView .ref-main-nav>button,
#appView .ref-main-nav>button{
  padding-left:14px !important;
  padding-right:14px !important;
  font-size:13px !important;
}

/* Right-side controls no longer force the header contents inward. */
.ref-account-nav,
#homeView .ref-account-nav,
#authView .ref-account-nav,
#publicView .ref-account-nav,
#appView .ref-account-nav{
  justify-self:end !important;
  min-width:max-content !important;
  gap:12px !important;
}

/* Remove any gap between masthead and hero on every view. */
#homeView>.ref-header + main,
#authView>.ref-header + .auth-page-main,
#publicView>.ref-header + .public-page-main,
#appView>.ref-header + .app-page-heading{
  margin-top:0 !important;
  padding-top:0 !important;
}
#authView .auth-subpage-hero,
#publicView .public-subpage-hero,
#appView .dashboard-subpage-hero{
  margin-top:0 !important;
}

/* The login hero should begin flush beneath the common masthead. */
#authView .auth-page-main{
  margin-top:0 !important;
}
#authView .auth-subpage-hero{
  border-top:0 !important;
}

/* Keep the approved login cards unchanged beneath this point. */

/* Large desktop: use more horizontal real estate before reducing logo/nav. */
@media(min-width:1500px){
  .ref-nav-wrap,
  #homeView .ref-nav-wrap,
  #authView .ref-nav-wrap,
  #publicView .ref-nav-wrap,
  #appView .ref-nav-wrap{
    width:min(1540px,calc(100% - 72px)) !important;
  }
}

/* Mid desktop: compress nav first, not the logo. */
@media(max-width:1320px){
  .ref-nav-wrap,
  #homeView .ref-nav-wrap,
  #authView .ref-nav-wrap,
  #publicView .ref-nav-wrap,
  #appView .ref-nav-wrap{
    width:calc(100% - 32px) !important;
    grid-template-columns:350px minmax(0,1fr) auto !important;
    gap:12px !important;
  }
  .ref-brand,
  #homeView .ref-brand,
  #authView .ref-brand,
  #publicView .ref-brand,
  #appView .ref-brand{
    width:350px !important;
    min-width:350px !important;
  }
  .ref-brand img,
  #homeView .ref-brand img,
  #authView .ref-brand img,
  #publicView .ref-brand img,
  #appView .ref-brand img{
    width:340px !important;
    height:auto !important;
  }
  .ref-main-nav>button,
  #homeView .ref-main-nav>button,
  #authView .ref-main-nav>button,
  #publicView .ref-main-nav>button,
  #appView .ref-main-nav>button{
    padding-left:9px !important;
    padding-right:9px !important;
    font-size:12px !important;
  }
}

/* Tablet: same shared responsive behaviour on all pages. */
@media(max-width:980px){
  .ref-nav-wrap,
  #homeView .ref-nav-wrap,
  #authView .ref-nav-wrap,
  #publicView .ref-nav-wrap,
  #appView .ref-nav-wrap{
    width:calc(100% - 24px) !important;
    grid-template-columns:minmax(290px,1fr) auto !important;
    gap:10px !important;
  }
  .ref-main-nav,
  #homeView .ref-main-nav,
  #authView .ref-main-nav,
  #publicView .ref-main-nav,
  #appView .ref-main-nav{
    display:none !important;
  }
}

/* Mobile: logo stays readable without creating horizontal overflow. */
@media(max-width:700px){
  .ref-nav-wrap,
  #homeView .ref-nav-wrap,
  #authView .ref-nav-wrap,
  #publicView .ref-nav-wrap,
  #appView .ref-nav-wrap{
    width:calc(100% - 18px) !important;
    grid-template-columns:minmax(205px,1fr) auto !important;
  }
  .ref-brand,
  #homeView .ref-brand,
  #authView .ref-brand,
  #publicView .ref-brand,
  #appView .ref-brand{
    width:250px !important;
    min-width:0 !important;
  }
  .ref-brand img,
  #homeView .ref-brand img,
  #authView .ref-brand img,
  #publicView .ref-brand img,
  #appView .ref-brand img{
    width:245px !important;
    height:auto !important;
  }
  .ref-account-nav{
    gap:6px !important;
  }
}

/* ===== MERGED OVERRIDE: site-v12-7.css ===== */
/* FishingLogbook v12.7
   Remove legacy auth-shell wrapper padding that was shrinking the whole login page. */

html,
body{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* Old base CSS defined .auth-shell as a padded centred grid.
   The login/register page is now a full site page, so reset that completely. */
#authView.auth-shell{
  width:100% !important;
  max-width:none !important;
  min-height:100vh !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  place-items:initial !important;
  align-items:initial !important;
  justify-items:initial !important;
  border:0 !important;
  border-radius:0 !important;
  overflow-x:hidden !important;
  background:#08140f !important;
}

/* Header must be identical edge-to-edge to homepage. */
#authView > .ref-header{
  width:100vw !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  position:sticky !important;
  left:0 !important;
  right:0 !important;
}

/* Hero also spans the viewport, exactly like home. */
#authView > .ref-header + .auth-page-main{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 0 56px !important;
}
#authView .auth-subpage-hero{
  width:100vw !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Keep the approved inner alignment, cards and widths. */
#authView .ref-nav-wrap,
#authView .auth-subpage-hero .subpage-hero-inner,
#authView .auth-content-shell{
  box-sizing:border-box !important;
}

/* Prevent horizontal viewport overflow from 100vw scrollbar math. */
@supports(width:100dvw){
  #authView > .ref-header,
  #authView .auth-subpage-hero{
    width:100dvw !important;
  }
}

@media(max-width:700px){
  #authView.auth-shell{
    padding:0 !important;
  }
}

/* ===== MERGED OVERRIDE: site-v12-8.css ===== */
/* FishingLogbook v12.8 — one working search component everywhere */

/* Same magnifying-glass button in Home, Login/Register, Public and Account headers. */
.ref-account-nav .ref-search-icon,
#homeView .ref-search-icon,
#authView .ref-search-icon,
#publicView .ref-search-icon,
#appView .ref-search-icon{
  width:40px !important;
  min-width:40px !important;
  height:40px !important;
  min-height:40px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:8px !important;
  background:transparent !important;
  color:#fff !important;
  box-shadow:none !important;
  transform:none !important;
  rotate:0deg !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
}
.ref-account-nav .ref-search-icon:hover{
  background:rgba(255,255,255,.08) !important;
  transform:none !important;
}
.ref-account-nav .ref-search-icon svg{
  width:21px !important;
  height:21px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  pointer-events:none !important;
}

/* One global search overlay used by every header. */
.global-search-dialog{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.global-search-dialog::backdrop{
  background:rgba(4,13,8,.68) !important;
  backdrop-filter:blur(5px) !important;
}
.global-search-card{
  width:min(760px,calc(100vw - 32px)) !important;
  margin:15vh auto 0 !important;
  padding:22px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:12px !important;
  background:#102219 !important;
  color:#fff !important;
  box-shadow:0 24px 70px rgba(0,0,0,.42) !important;
}
.global-search-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-bottom:16px !important;
}
.global-search-head .eyebrow{color:#87c769 !important}
.global-search-head h3{
  margin:5px 0 0 !important;
  color:#fff !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-1.2px !important;
}
.global-search-close{
  width:36px !important;
  height:36px !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:8px !important;
  background:rgba(255,255,255,.04) !important;
  color:#fff !important;
  font-size:22px !important;
}
.global-search-box{
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) 120px !important;
  align-items:center !important;
  min-height:52px !important;
  padding:4px !important;
  border-radius:9px !important;
  background:#fff !important;
}
.global-search-box>svg{
  width:21px !important;
  height:21px !important;
  margin:auto !important;
  fill:none !important;
  stroke:#50625a !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
}
.global-search-box input{
  width:100% !important;
  height:44px !important;
  padding:0 7px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#28362e !important;
  box-shadow:none !important;
  outline:none !important;
}
.global-search-box button{
  height:44px !important;
  border:0 !important;
  border-radius:7px !important;
  background:#4f9850 !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
}
.global-search-hints{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  margin-top:12px !important;
}
.global-search-hints button{
  min-height:32px !important;
  padding:0 11px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.04) !important;
  color:#e7eee8 !important;
  font-size:11px !important;
  font-weight:800 !important;
}
.global-search-hints button:hover{
  border-color:#70ad57 !important;
  color:#a9d981 !important;
}

@media(max-width:600px){
  .global-search-card{margin-top:9vh !important;padding:17px !important}
  .global-search-box{grid-template-columns:38px minmax(0,1fr) !important}
  .global-search-box button{grid-column:1/-1 !important;width:100% !important;margin-top:4px !important}
  .global-search-head h3{font-size:24px !important}
}

/* ===== MERGED OVERRIDE: site-v12-9.css ===== */
/* FishingLogbook v12.9 — top-level view visibility hotfix

A previous auth layout rule used:
#authView.auth-shell { display:block !important; }

That rule was more specific than `.hidden { display:none !important; }`,
so a successful login displayed the account page underneath the login page.

These rules restore one-view-at-a-time behaviour regardless of earlier CSS.
*/

#homeView.hidden,
#authView.hidden,
#publicView.hidden,
#appView.hidden{
  display:none !important;
  visibility:hidden !important;
}

/* Only show auth layout when it is genuinely the active view. */
#authView.auth-shell:not(.hidden){
  display:block !important;
  visibility:visible !important;
}

/* Defensive equivalents for the other application views. */
#homeView:not(.hidden),
#publicView:not(.hidden),
#appView:not(.hidden){
  visibility:visible !important;
}

/* ===== MERGED OVERRIDE: site-v13.css ===== */
/* FishingLogbook v13 — easier session/catch logging + strict account controls */

/* Critical permission UI fix:
   generic header CSS previously forced ALL header-action-group spans to flex.
   Owner controls must never appear for an angler account. */
#appView #ownerHeaderActions.hidden,
#appView #anglerHeaderActions.hidden{
  display:none !important;
}
#appView #ownerHeaderActions[style*="display: none"],
#appView #anglerHeaderActions[style*="display: none"]{
  display:none !important;
}

/* Quick Log area — intentionally prominent and near the top of the angler dashboard. */
.quick-log-panel{
  margin:16px 0 !important;
  padding:18px 20px !important;
  display:grid !important;
  grid-template-columns:minmax(240px,.62fr) minmax(520px,1.38fr) !important;
  gap:20px !important;
  align-items:center !important;
  border:1px solid rgba(79,152,80,.38) !important;
  border-radius:12px !important;
  background:
    radial-gradient(circle at 0% 0%,rgba(79,152,80,.10),transparent 42%),
    #102219 !important;
  color:#fff !important;
}
.quick-log-copy h2{
  margin:5px 0 6px !important;
  color:#fff !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-1.2px !important;
}
.quick-log-copy p{
  margin:0 !important;
  color:#c7d3ca !important;
  font-size:12px !important;
  line-height:1.5 !important;
}
.quick-log-copy p strong{
  color:#9fd67a !important;
}

.quick-log-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
}

.quick-action{
  min-height:92px !important;
  padding:14px 16px !important;
  border-radius:10px !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  text-align:left !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
.quick-action:hover{
  transform:translateY(-2px) !important;
}

.quick-catch-action{
  border:1px solid #5ca25a !important;
  background:#4f9850 !important;
  color:#fff !important;
}
.quick-catch-action:hover{
  background:#5ba65a !important;
}

.quick-session-action{
  border:1px solid rgba(137,198,102,.38) !important;
  background:rgba(255,255,255,.045) !important;
  color:#fff !important;
}
.quick-session-action:hover{
  border-color:#79b85f !important;
  background:rgba(121,184,95,.09) !important;
}
.quick-session-action.has-active-session{
  border-color:#d4b455 !important;
  background:rgba(212,180,85,.08) !important;
}

.quick-action-icon{
  width:48px !important;
  height:48px !important;
  flex:0 0 48px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  font-size:25px !important;
  font-weight:800 !important;
}
.quick-session-action.has-active-session .quick-action-icon{
  color:#f0d17a !important;
  background:rgba(212,180,85,.12) !important;
}

.quick-action>span:last-child{
  display:grid !important;
  min-width:0 !important;
}
.quick-action small{
  color:#c8e8b0 !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
}
.quick-session-action.has-active-session small{
  color:#f0d17a !important;
}
.quick-action strong{
  margin-top:5px !important;
  color:#fff !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:900 !important;
}
.quick-action em{
  margin-top:6px !important;
  overflow:hidden !important;
  color:rgba(255,255,255,.74) !important;
  font-size:10.5px !important;
  line-height:1.25 !important;
  font-style:normal !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}

/* On smaller screens, Quick Log becomes the easiest controls on the page. */
@media(max-width:950px){
  .quick-log-panel{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:650px){
  .quick-log-panel{
    padding:15px !important;
  }
  .quick-log-actions{
    grid-template-columns:1fr !important;
  }
  .quick-action{
    min-height:82px !important;
  }
}



/* ======================================================================
   v13.2 — clearer Plan → Start Session → Log Catch → End Session workflow
   ====================================================================== */

.quick-end-session.hidden{
  display:none !important;
}
.quick-end-session{
  width:max-content;
  min-height:32px;
  margin-top:10px;
  padding:0 11px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(212,180,85,.42);
  border-radius:7px;
  background:rgba(212,180,85,.08);
  color:#f0d17a;
  font-size:10px;
  font-weight:900;
}
.quick-end-session:hover{
  background:rgba(212,180,85,.14);
}

/* No-active-session catch choice */
.catch-choice-dialog{
  border:0;
  padding:0;
  background:transparent;
}
.catch-choice-card{
  width:min(720px,calc(100vw - 28px));
}
.catch-choice-intro{
  margin:0 0 15px;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.catch-choice-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.catch-choice-option{
  min-height:126px;
  padding:17px;
  display:flex;
  align-items:center;
  gap:14px;
  text-align:left;
  border-radius:10px;
}
.catch-choice-option:hover{
  transform:translateY(-2px);
}
.catch-choice-option.session-choice{
  border:1px solid rgba(79,152,80,.48);
  background:rgba(79,152,80,.10);
  color:var(--text);
}
.catch-choice-option.catch-only-choice{
  border:1px solid var(--line);
  background:var(--surface-2);
  color:var(--text);
}
.catch-choice-icon{
  width:50px;
  height:50px;
  flex:0 0 50px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(79,152,80,.13);
  color:var(--green);
  font-size:25px;
  font-weight:900;
}
.catch-only-choice .catch-choice-icon{
  background:var(--surface);
}
.catch-choice-option>span:last-child{
  display:grid;
  min-width:0;
}
.catch-choice-option small{
  color:var(--green);
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}
.catch-choice-option strong{
  margin-top:5px;
  font-size:18px;
  line-height:1;
  font-weight:900;
}
.catch-choice-option em{
  margin-top:7px;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
  font-style:normal;
}
.catch-choice-note{
  display:block;
  margin-top:13px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
@media(max-width:620px){
  .catch-choice-grid{
    grid-template-columns:1fr;
  }
}


/* ======================================================================
   v13.3 — OPAQUE + RESPONSIVE POPUPS
   Fixes dialog colours being transparent because --vwhite/--vink were
   previously scoped inside #appView/#authView/#publicView while dialogs
   are mounted directly under <body>.
   ====================================================================== */

/* Dialog-local theme variables work regardless of which page view is open. */
dialog{
  --modal-bg:#ffffff;
  --modal-bg-soft:#f5f7f3;
  --modal-text:#111c16;
  --modal-muted:#5e6e64;
  --modal-line:#d8ded8;
  --modal-green:#4f9850;

  box-sizing:border-box !important;
  max-width:100vw !important;
  max-height:100dvh !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--modal-text) !important;
  overflow:visible !important;
}

html[data-theme="dark"] dialog{
  --modal-bg:#101d17;
  --modal-bg-soft:#09150f;
  --modal-text:#f4f7f4;
  --modal-muted:#a8b6ad;
  --modal-line:rgba(255,255,255,.12);
  --modal-green:#82c767;
}

dialog::backdrop{
  background:rgba(3,10,6,.72) !important;
  backdrop-filter:blur(4px) !important;
  -webkit-backdrop-filter:blur(4px) !important;
}

/* Every standard popup gets a genuinely opaque card and viewport-safe size. */
dialog .dialog-card{
  box-sizing:border-box !important;
  width:min(880px,calc(100vw - 40px)) !important;
  max-width:calc(100vw - 40px) !important;
  max-height:calc(100dvh - 40px) !important;
  margin:auto !important;
  padding:22px !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;

  border:1px solid var(--modal-line) !important;
  border-radius:12px !important;
  background:var(--modal-bg) !important;
  background-color:var(--modal-bg) !important;
  color:var(--modal-text) !important;
  opacity:1 !important;
  box-shadow:0 24px 70px rgba(0,0,0,.38) !important;
}

/* Preserve intended larger desktop widths while remaining viewport safe. */
dialog .owner-dialog{
  width:min(980px,calc(100vw - 40px)) !important;
}
dialog .smart-dialog{
  width:min(900px,calc(100vw - 40px)) !important;
}
dialog .venue-dialog{
  width:min(1000px,calc(100vw - 40px)) !important;
}
dialog .planner-dialog{
  width:min(820px,calc(100vw - 40px)) !important;
}
dialog .catch-choice-card{
  width:min(720px,calc(100vw - 40px)) !important;
}

/* Headers remain visible while scrolling long forms. */
dialog .dialog-head{
  position:sticky !important;
  top:-22px !important;
  z-index:5 !important;
  margin:-22px -22px 16px !important;
  padding:20px 22px 14px !important;
  border-bottom:1px solid var(--modal-line) !important;
  background:var(--modal-bg) !important;
  color:var(--modal-text) !important;
}
dialog .dialog-head h3{
  color:var(--modal-text) !important;
}

/* Form controls must use the popup's own theme variables. */
dialog input,
dialog select,
dialog textarea{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  border:1px solid var(--modal-line) !important;
  border-radius:8px !important;
  background:var(--modal-bg) !important;
  background-color:var(--modal-bg) !important;
  color:var(--modal-text) !important;
  opacity:1 !important;
}
dialog input::placeholder,
dialog textarea::placeholder{
  color:var(--modal-muted) !important;
  opacity:1 !important;
}
dialog label,
dialog .privacy-note,
dialog .muted-copy,
dialog .catch-choice-intro,
dialog .catch-choice-note{
  color:var(--modal-muted) !important;
}

/* Internal cards/strips also stay opaque instead of showing the page through. */
dialog .location-strip,
dialog .session-strip,
dialog .share-check,
dialog .check,
dialog .planner-controls,
dialog .planner-recommendations article,
dialog .venue-block,
dialog .venue-summary-grid article,
dialog .catch-choice-option{
  border-color:var(--modal-line) !important;
  background:var(--modal-bg-soft) !important;
  background-color:var(--modal-bg-soft) !important;
  color:var(--modal-text) !important;
}

/* Buttons at the bottom stay reachable on long forms. */
dialog .dialog-actions{
  position:sticky !important;
  bottom:-22px !important;
  z-index:4 !important;
  margin:18px -22px -22px !important;
  padding:14px 22px 20px !important;
  border-top:1px solid var(--modal-line) !important;
  background:var(--modal-bg) !important;
}

/* Global venue search is a special dialog, but make it viewport-safe too. */
.global-search-dialog{
  width:100vw !important;
  height:100dvh !important;
  max-width:100vw !important;
  max-height:100dvh !important;
  margin:0 !important;
  overflow:hidden !important;
}
.global-search-card{
  box-sizing:border-box !important;
  width:min(760px,calc(100vw - 40px)) !important;
  max-width:calc(100vw - 40px) !important;
  max-height:calc(100dvh - 40px) !important;
  margin:clamp(24px,12vh,120px) auto 0 !important;
  overflow-y:auto !important;
  background:#102219 !important;
  background-color:#102219 !important;
  opacity:1 !important;
}
.global-search-card input{
  background:#fff !important;
  background-color:#fff !important;
  color:#152019 !important;
}

/* Desktop/tablet form grids. */
@media(min-width:701px){
  dialog .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Mobile: almost full screen, one-column forms, large tap targets. */
@media(max-width:700px){
  dialog{
    width:100vw !important;
    max-width:100vw !important;
    margin:auto !important;
  }

  dialog .dialog-card{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    max-height:calc(100dvh - 20px) !important;
    padding:16px !important;
    border-radius:10px !important;
  }

  dialog .owner-dialog,
  dialog .smart-dialog,
  dialog .venue-dialog,
  dialog .planner-dialog,
  dialog .catch-choice-card{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
  }

  dialog .dialog-head{
    top:-16px !important;
    margin:-16px -16px 14px !important;
    padding:15px 16px 12px !important;
  }
  dialog .dialog-head h3{
    font-size:21px !important;
    line-height:1.08 !important;
  }

  dialog .form-grid,
  dialog .planner-controls,
  dialog .venue-sections,
  dialog .catch-choice-grid{
    grid-template-columns:1fr !important;
  }

  dialog .dialog-actions{
    bottom:-16px !important;
    margin:16px -16px -16px !important;
    padding:12px 16px 16px !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px !important;
  }
  dialog .dialog-actions button{
    width:100% !important;
    min-height:44px !important;
  }

  dialog .location-strip{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:stretch !important;
  }
  dialog .location-btn,
  dialog .spot-location-btn{
    width:100% !important;
    min-height:44px !important;
  }

  .global-search-card{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    max-height:calc(100dvh - 20px) !important;
    margin:10px auto 0 !important;
    padding:16px !important;
    border-radius:10px !important;
  }
  .global-search-box{
    grid-template-columns:38px minmax(0,1fr) !important;
    gap:0 !important;
  }
  .global-search-box>button{
    grid-column:1/-1 !important;
    width:100% !important;
    min-height:44px !important;
    margin-top:6px !important;
  }
  .global-search-head h3{
    font-size:23px !important;
  }
}

/* Very narrow phones: stack dialog action buttons. */
@media(max-width:420px){
  dialog .dialog-actions{
    grid-template-columns:1fr !important;
  }
}
