
:root{
  --bg:#0a1424;
  --bg-soft:#111f35;
  --panel:#12223b;
  --panel-2:#162a46;
  --text:#edf3ff;
  --muted:#a8b4ca;
  --accent:#d4af37;
  --accent-2:#93c5fd;
  --border:rgba(255,255,255,.08);
}

html,body{background:linear-gradient(180deg,#08111f 0%,#0b1728 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif}
h1,h2,h3,.brand-title{font-family:"Libre Baskerville", Georgia, serif}
a{color:#c4defd}
a:hover{color:#fff}
.py-lg-6{padding-top:5rem!important;padding-bottom:5rem!important}
.site-navbar{backdrop-filter:blur(14px);background:rgba(8,17,31,.82);border-bottom:1px solid var(--border)}
.brand-logo{height:54px;width:auto}
.brand-title{font-size:1.2rem;line-height:1.1}
.brand-subtitle{font-size:.76rem;color:var(--muted)}
.btn-brand{background:linear-gradient(135deg,var(--accent),#f5d979);border:0;color:#111827;font-weight:700}
.btn-brand:hover{color:#111827;filter:brightness(1.03)}
.hero-section{position:relative}
.eyebrow{display:inline-block;letter-spacing:.16em;text-transform:uppercase;font-weight:700;font-size:.75rem;color:var(--accent)}
.lead,.text-secondary{color:var(--muted)!important}
.stat-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.stat-card,.content-card,.lodge-card{background:linear-gradient(180deg,rgba(18,34,59,.94),rgba(11,24,42,.94));border:1px solid var(--border);border-radius:1.25rem;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.stat-card{padding:1.5rem}
.stat-label{color:var(--muted);font-size:.9rem}
.stat-value{font-size:2rem;font-weight:800}
.content-card{padding:1.5rem}
.district-tabs .nav-link{
  border-radius:999px;
  border:1px solid var(--border);
  color:var(--text);
  background:rgba(255,255,255,.03);
  padding:.4rem .8rem;
  font-size:.88rem;
  line-height:1.2;
}
.district-tabs .nav-link.active{background:var(--accent);color:#101828;border-color:transparent;font-weight:700}
.calendar-shell,.map-frame{background:#fff;border-radius:1rem;overflow:hidden}
.calendar-shell iframe,.map-frame iframe{display:block;max-width:100%}
.filter-bar{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:1rem;padding:1rem}
.lodge-card{padding:1.5rem;position:relative}
.lodge-number{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;height:3rem;padding:0 .9rem;border-radius:999px;background:rgba(212,175,55,.14);border:1px solid rgba(212,175,55,.35);font-weight:800;color:var(--accent)}
.feature-list{margin:0;padding-left:1.2rem}
.feature-list li{margin-bottom:.75rem;color:var(--muted)}
.site-footer{border-top:1px solid var(--border);background:rgba(5,11,20,.5)}
.form-control,.form-select{background:#0d1a2e;border:1px solid rgba(255,255,255,.12);color:var(--text)}
.form-control:focus,.form-select:focus{background:#0d1a2e;color:var(--text);border-color:var(--accent-2);box-shadow:0 0 0 .25rem rgba(147,197,253,.12)}
.form-check-input{background-color:#0d1a2e;border-color:rgba(255,255,255,.2)}
.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}
.table{--bs-table-bg:transparent;--bs-table-border-color:rgba(255,255,255,.08)}
.alert{border-radius:1rem}
@media (max-width:991.98px){
  .stat-grid{grid-template-columns:1fr}
  .brand-logo{height:46px}
}

/* Google calendar legacy embed compatibility */
.responsive-iframe-container{position:relative;width:100%;overflow:hidden}
.responsive-iframe-container iframe{display:block;width:100%!important;max-width:100%}
.hidden-phone{display:block!important}
.visible-phone{display:none!important}
@media (max-width: 767.98px){
  .hidden-phone{display:none!important}
  .visible-phone{display:block!important}
}

.homepage-hero{
  padding-top: 1.5rem !important;
}

.hero-panel{
  position: relative;
  padding: 2rem 1.25rem 1.25rem;
  border: 1px solid var(--border);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at top center, rgba(147,197,253,.10), transparent 32%),
    linear-gradient(180deg, rgba(18,34,59,.94), rgba(9,19,34,.96));
  box-shadow: 0 22px 50px rgba(0,0,0,.28);
}

.hero-panel__content{
  max-width: 1120px;
  margin: 0 auto;
}

.hero-title{
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  line-height: 1.03;
  letter-spacing: -.02em;
}

.hero-subtitle{
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.hero-intro{
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1rem;
}

.hero-stats{
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
}

.hero-stat{
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  padding: .35rem 1rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(8px);
}

.hero-stat__value{
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--text);
}

.hero-stat__label{
  font-size: .92rem;
  color: var(--muted);
}

.district-tabs{
  gap: .65rem;
}

.district-tabs .nav-link{
  padding: .8rem 1.2rem;
  font-weight: 600;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.district-tabs .nav-link:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

.district-tabs .nav-link.active{
  box-shadow: 0 10px 22px rgba(212,175,55,.22);
}

.hero-calendar{
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}

@media (max-width: 991.98px){
  .hero-panel{
    padding: 1.5rem 1rem 1rem;
    border-radius: 1.25rem;
  }

  .hero-stats{
    justify-content: center;
  }
}

@media (max-width: 767.98px){
  .homepage-hero{
    padding-top: 1rem !important;
  }

  .hero-title{
    font-size: 2.35rem;
  }

  .hero-subtitle{
    font-size: 1.05rem;
  }

  .hero-intro{
    font-size: .98rem;
  }

  .district-tabs{
    gap: .5rem;
  }

  .district-tabs .nav-link{
    padding: .7rem 1rem;
  }
}

.page-hero--compact{
  padding: 1.5rem 1.25rem;
  border: 1px solid var(--border);
  border-radius: 1.25rem;
  background:
    radial-gradient(circle at top center, rgba(147,197,253,.08), transparent 32%),
    linear-gradient(180deg, rgba(18,34,59,.94), rgba(9,19,34,.96));
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
}

.lodge-card{
  transition: transform .18s ease, box-shadow .18s ease;
}

.lodge-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(0,0,0,.18);
}
.lodge-search-panel{
  padding: 1.25rem;
}

.lodge-search-input-wrap .input-group-text{
  background:#0d1a2e;
  border:1px solid rgba(255,255,255,.12);
  color:var(--muted);
}

.lodge-search-input-wrap .btn{
  border-color:rgba(255,255,255,.12);
}

.lodge-search-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

[data-lodge-card]{
  transition:opacity .18s ease, transform .18s ease;
}

@media (max-width: 991.98px){
  .lodge-search-meta{
    justify-content:flex-start;
  }
}

.quick-filter{
  border-radius: 999px;
  padding: .4rem .85rem;
  line-height: 1.2;
}

.quick-filter.is-active{
  background: rgba(212,175,55,.18);
  border-color: rgba(212,175,55,.45);
  color: var(--text);
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

.lodge-row-card{
  padding-top: 1rem;
  padding-bottom: 1rem;
}

@media (max-width: 991.98px){
  .lodge-row-card{
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
  }
}

.calendar-shell iframe,
.hero-calendar iframe {
  width: 100% !important;
  display: block;
}
/* Phase 8 UI polish */
main{min-height:calc(100vh - 92px)}
.nav-pills-soft .nav-link{position:relative;border-radius:999px;padding:.55rem .95rem;color:var(--muted);font-weight:600;transition:all .18s ease}
.nav-pills-soft .nav-link:hover{color:var(--text);background:rgba(255,255,255,.05)}
.nav-pills-soft .nav-link.active{color:#111827;background:linear-gradient(135deg,var(--accent),#f5d979);box-shadow:0 10px 24px rgba(212,175,55,.22)}
.nav-pills-soft .nav-link.active:hover{color:#111827}

.admin-shell{display:grid;gap:1.5rem}
.admin-hero{padding:1.5rem;border:1px solid var(--border);border-radius:1.4rem;background:radial-gradient(circle at top right, rgba(147,197,253,.11), transparent 32%),linear-gradient(180deg, rgba(18,34,59,.95), rgba(9,19,34,.96));box-shadow:0 22px 50px rgba(0,0,0,.22)}
.admin-hero__meta{display:flex;flex-wrap:wrap;gap:.75rem;color:var(--muted);font-size:.94rem}
.admin-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.admin-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}
.admin-toolbar__group{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.admin-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}
.metric-card{position:relative;padding:1.1rem 1.15rem;border-radius:1.2rem;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.metric-card__label{font-size:.85rem;color:var(--muted);margin-bottom:.35rem}
.metric-card__value{font-size:1.9rem;font-weight:800;line-height:1}
.metric-card__hint{font-size:.82rem;color:var(--muted);margin-top:.45rem}
.section-card{padding:1.4rem}
.section-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.section-card__title{margin:0;font-size:1.1rem}
.section-card__subtitle{margin:.35rem 0 0;color:var(--muted);font-size:.92rem}
.section-card--sticky{position:sticky;top:6.2rem}
.info-chip{
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	padding:.38rem .75rem;
	border-radius:999px;
	background:rgba(255,255,255,.05);
	border:1px solid var(--border);
	color:var(--muted);
	font-size:.84rem}
.status-stack{display:flex;flex-wrap:wrap;gap:.55rem}
.detail-list{display:grid;gap:.75rem}
.detail-list__row{display:flex;justify-content:space-between;gap:1rem;padding:.72rem .85rem;border:1px solid var(--border);border-radius:.95rem;background:rgba(255,255,255,.03)}
.detail-list__label{color:var(--muted);font-size:.9rem}
.detail-list__value{font-weight:700;text-align:right}
.surface-subtle{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:1rem}
.table-shell{border:1px solid var(--border);border-radius:1.1rem;overflow:hidden;background:rgba(255,255,255,.02)}
.table-shell .table{margin-bottom:0}
.table thead th{font-size:.77rem;text-transform:uppercase;letter-spacing:.08em;color:#c5d1e4;border-bottom-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.table tbody tr{transition:background-color .16s ease}
.table tbody tr:hover{background:rgba(255,255,255,.03)}
.table td,.table th{padding:.9rem 1rem;vertical-align:middle}
.table .badge{font-weight:700}
.form-label{font-weight:600;margin-bottom:.45rem}
.form-text{color:var(--muted)!important}
textarea.form-control{min-height:120px}
.form-section-title{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:#c5d1e4;margin-bottom:.75rem}
.content-card .btn,.section-card .btn{border-radius:.9rem}
.empty-state{padding:1.5rem;border:1px dashed rgba(255,255,255,.18);border-radius:1.1rem;background:rgba(255,255,255,.025);text-align:center}
.activity-feed{display:grid;gap:.9rem}
.activity-item{padding:1rem 1rem .95rem;border-bottom:1px solid rgba(255,255,255,.08)}
.activity-item:last-child{border-bottom:0;padding-bottom:0}
.panel-note{padding:.9rem 1rem;border-radius:1rem;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--muted);font-size:.92rem}
.record-title{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.badge-soft{display:inline-flex;align-items:center;padding:.38rem .65rem;border-radius:999px;background:rgba(147,197,253,.12);border:1px solid rgba(147,197,253,.22);color:#dbeafe;font-size:.8rem;font-weight:700}
.badge-soft.success{background:rgba(74,222,128,.1);border-color:rgba(74,222,128,.24);color:#dcfce7}
.badge-soft.warning{background:rgba(250,204,21,.1);border-color:rgba(250,204,21,.24);color:#fef3c7}
.badge-soft.danger{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.24);color:#fee2e2}
.quick-links-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.quick-link-card{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;height:100%;border:1px solid var(--border);border-radius:1.2rem;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.025));transition:transform .16s ease, box-shadow .16s ease}
.quick-link-card:hover{transform:translateY(-2px);box-shadow:0 18px 35px rgba(0,0,0,.16)}
.quick-link-card__icon{width:2.8rem;height:2.8rem;border-radius:.9rem;display:inline-flex;align-items:center;justify-content:center;background:rgba(212,175,55,.12);border:1px solid rgba(212,175,55,.25);color:var(--accent);font-size:1.25rem}
.quick-link-card p{margin:0;color:var(--muted)}

@media (max-width: 1199.98px){
  .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 991.98px){
  .section-card--sticky{position:static}
  .quick-links-grid{grid-template-columns:1fr}
}
@media (max-width: 767.98px){
  .admin-grid{grid-template-columns:1fr}
  .admin-hero{padding:1.2rem}
  .admin-actions,.admin-toolbar,.admin-toolbar__group{width:100%}
  .admin-actions .btn,.admin-toolbar .btn,.admin-toolbar .info-chip{width:100%;justify-content:center}
}


.home-action-strip{display:flex;flex-wrap:wrap;gap:.75rem}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.feature-card{position:relative;overflow:hidden}
.feature-card--link{transition:transform .16s ease, box-shadow .16s ease}
.feature-card--link:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,0,0,.16)}
.feature-card__icon,.feature-card .feature-card__icon{width:3rem;height:3rem;border-radius:1rem;display:inline-flex;align-items:center;justify-content:center;background:rgba(212,175,55,.12);border:1px solid rgba(212,175,55,.24);color:var(--accent);font-size:1.25rem;margin-bottom:1rem}
.district-overview-card{padding:1rem 1.1rem;border-radius:1.15rem;border:1px solid var(--border);background:rgba(255,255,255,.04)}
.district-overview-stats{display:flex;flex-wrap:wrap;gap:.6rem}
.district-spotlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.district-spotlight-card{height:100%;padding:1.25rem;border-radius:1.2rem;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));transition:transform .16s ease, box-shadow .16s ease}
.district-spotlight-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,0,0,.16)}
.district-spotlight-card__top{display:flex;justify-content:space-between;gap:.75rem;align-items:start;margin-bottom:.75rem}
.district-spotlight-card__meta{display:flex;flex-wrap:wrap;gap:.65rem;color:var(--muted);font-size:.9rem}
.lodge-search-panel .quick-filter.is-active{background:var(--accent);border-color:transparent;color:#101828;font-weight:700}
.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.directory-card{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;border-radius:1.2rem;border:1px solid var(--border);background:linear-gradient(180deg,rgba(18,34,59,.94),rgba(11,24,42,.94));box-shadow:0 16px 32px rgba(0,0,0,.18)}
.directory-card__header,.directory-card__footer{display:flex;align-items:start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.directory-card__body{display:flex;flex-direction:column;gap:.25rem}
.directory-card__meta{display:flex;flex-wrap:wrap;gap:.55rem}
.info-chip.is-ready{border-color:rgba(74,222,128,.28);background:rgba(74,222,128,.1);color:#dcfce7}
.lodge-hero-panel{position:relative;overflow:hidden}
.hero-facts{display:flex;flex-wrap:wrap;gap:.6rem}
.lodge-hero-actions{align-items:flex-start}
.facts-list{display:grid;gap:.85rem}
.fact-row{
  display:grid;
  gap:.2rem;
  padding:.95rem .95rem;
  border-radius:1rem;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  min-height:72px;
  align-content:center;
}

.fact-row__label{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#c5d1e4;
  font-weight:700;
  line-height:1.2;
}

.fact-row__value{
  color:var(--text);
  line-height:1.4;
}
.related-lodges-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.related-lodge-card{height:100%;padding:1.15rem;border-radius:1.2rem;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));transition:transform .16s ease, box-shadow .16s ease}
.related-lodge-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,0,0,.16)}
@media (max-width:1199.98px){.district-spotlight-grid,.related-lodges-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:991.98px){.directory-grid{grid-template-columns:1fr;}}
@media (max-width:767.98px){.district-spotlight-grid,.related-lodges-grid{grid-template-columns:1fr}.home-action-strip .btn,.directory-card__header .btn,.directory-card__footer .btn{width:100%;justify-content:center}}

/* Phase 12 admin productivity */
.admin-filter-bar{padding:1rem 1.05rem;border:1px solid var(--border);border-radius:1rem;background:rgba(255,255,255,.03)}
.admin-filter-bar .input-group-text{background:rgba(255,255,255,.05);border-color:var(--border);color:var(--muted)}
.admin-filter-bar .form-control,.admin-filter-bar .form-select{background:rgba(255,255,255,.03);border-color:var(--border)}


/* Phase 13 editor dashboard polish */
.editor-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.editor-next-card{height:100%;padding:1.1rem;border-radius:1.15rem;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));box-shadow:0 14px 28px rgba(0,0,0,.14)}
.editor-next-card .badge{white-space:nowrap}
@media (max-width:767.98px){.editor-next-grid{grid-template-columns:1fr}}

.directory-card__location{
  display:flex;
  align-items:flex-start;
  gap:.15rem;
  line-height:1.5;
}

.directory-card__location .bi{
  margin-top:.15rem;
  color:var(--accent);
}


/* Compact admin calendar summary */
.content-card--compact{padding:1rem 1.25rem}
.status-pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.42rem .72rem;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  font-size:.85rem;
  font-weight:600;
  color:var(--text);
}
.status-pill--ok{
  background:rgba(34,197,94,.14);
  border-color:rgba(34,197,94,.28);
}
.status-pill--warn{
  background:rgba(245,158,11,.14);
  border-color:rgba(245,158,11,.28);
}
.status-pill--muted{
  background:rgba(148,163,184,.12);
  border-color:rgba(148,163,184,.2);
}
.compact-diagnostics{
  border-top:1px solid var(--border);
  padding-top:1rem;
  display:grid;
  gap:.75rem;
}
.compact-diagnostics__row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:.75rem 0;
  border-bottom:1px solid var(--border);
}
.compact-diagnostics__row:last-child{border-bottom:0;padding-bottom:0}
.compact-diagnostics__meta{min-width:0}
@media (max-width: 767.98px){
  .compact-diagnostics__row{flex-direction:column;align-items:flex-start}
}


/* Internal analytics dashboard */
.admin-grid--tight{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}
.rank-list{
  display: grid;
  gap: .9rem;
}
.rank-list--compact{
  gap: .65rem;
}
.rank-list__row{
  display:flex;
  align-items:center;
  gap:1rem;
  justify-content:space-between;
  padding:.9rem 1rem;
  border:1px solid var(--border);
  border-radius:1rem;
  background:rgba(255,255,255,.03);
}
.rank-list__index{
  width:2rem;
  height:2rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  color:var(--accent);
  background:rgba(212,175,55,.12);
  border:1px solid rgba(212,175,55,.28);
  flex:0 0 auto;
}
.rank-list__body{
  min-width:0;
  flex:1 1 auto;
}
.mini-section-title{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:700;
  color:var(--accent);
  margin-bottom:.75rem;
}
@media (max-width: 767.98px){
  .admin-grid--tight{
    grid-template-columns: 1fr;
  }
  .rank-list__row{
    padding:.8rem .9rem;
  }
}


.analytics-trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.trend-card{border:1px solid var(--border);border-radius:1rem;padding:1rem;background:rgba(255,255,255,.025)}
.trend-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}
.trend-card__stat{font-size:1.75rem;font-weight:800;line-height:1}
.trend-card__foot{margin-top:.75rem;color:var(--muted);font-size:.85rem}
.analytics-sparkline{display:block;width:100%;height:72px;color:var(--accent-2);opacity:.95}
.metric-card__meta{margin-top:.35rem;color:var(--muted);font-size:.78rem;line-height:1.35}
.rank-list__row--stacked{align-items:center}
.detail-list__row--stacked{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline}
@media (max-width: 991.98px){.analytics-trend-grid{grid-template-columns:1fr}}


.analytics-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width: 767.98px){.analytics-mini-grid{grid-template-columns:1fr}}


.lodge-contact-panel{background:rgba(255,255,255,.03)}

@media (max-width: 991.98px){
  .site-navbar .navbar-nav{
    gap: .35rem;
    align-items: stretch !important;
  }

  .site-navbar .navbar-nav .nav-link{
    display: block;
    width: 100%;
  }

  .site-navbar .navbar-nav .btn{
    display: block;
    width: 100%;
    margin-left: 0 !important;
    margin-top: .15rem;
    text-align: center;
    border-radius: 999px;
    padding: .55rem .95rem;
  }
}

/* Improve placeholder visibility on dark inputs */
.form-control::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

#links {
  scroll-margin-top: 110px;
}

@media (max-width: 575.98px){
  .events-shell{
    max-width: 100%;
    overflow-x: clip;
  }

  .event-group__heading,
  .event-card__top{
    flex-direction: column;
    align-items: flex-start;
  }

  .event-badge{
    white-space: normal;
  }

  .events-main-panel,
  .events-sidebar,
  .event-card{
    min-width: 0;
  }
}

.site-shell{
  --site-section-y: 2rem;
  --site-section-y-lg: 2.75rem;
  --site-shell-x: 1rem;
  --site-shell-x-md: 1.5rem;
}

.site-container{
  width:100%;
  padding-left:var(--site-shell-x);
  padding-right:var(--site-shell-x);
  margin-left:auto;
  margin-right:auto;
}

.site-section{
  padding-top:var(--site-section-y);
  padding-bottom:var(--site-section-y);
}

.site-section--hero{
  padding-top:1.5rem;
  padding-bottom:2rem;
}

.site-section--after-hero{
  padding-top:0rem !important;
}

.site-section--tight-top{padding-top:1rem}
.site-section--tight-bottom{padding-bottom:1.5rem}
.site-section--flush-top{padding-top:0}
.site-section--flush-bottom{padding-bottom:0}
.site-section--page{padding-top:2rem;padding-bottom:2.5rem}
.site-footer{margin-top:0!important;padding-top:2.5rem!important;padding-bottom:2.5rem!important}
.page-copy-width{max-width:760px}
.page-copy-width--wide{max-width:820px}
.page-copy-width--hero{max-width:860px}
.page-card-width{max-width:980px}
.page-card-width--wide{max-width:1040px}

main > section:first-child.site-section--hero,
main > section:first-child.site-section--page{
  padding-top:1.5rem;
}

@media (min-width:768px){
  .site-container{
    padding-left:var(--site-shell-x-md);
    padding-right:var(--site-shell-x-md);
  }
}

@media (min-width:992px){
  .site-section{
    padding-top:var(--site-section-y-lg);
    padding-bottom:var(--site-section-y-lg);
  }
  .site-section--hero{padding-top:2rem;padding-bottom:2.5rem}
  .site-section--tight-top{padding-top:1.25rem}
  .site-section--tight-bottom{padding-bottom:2rem}
  .site-section--page{padding-top:2.5rem;padding-bottom:3rem}
}


/* Consistency pass: shared public page layouts */
.content-card--page,
.content-card--prose,
.content-card--form,
.content-card--utility{
  padding:1.5rem;
}

.content-card--prose{
  max-width:980px;
}

.content-card--prose p,
.content-card--prose li{
  color:var(--muted);
}

.content-card--prose hr{
  border-color:rgba(255,255,255,.08);
}

.content-card--form,
.content-card--utility{
  max-width:980px;
}

.page-stack{
  display:grid;
  gap:1.5rem;
}

.page-stack--tight{
  gap:1rem;
}

.filter-bar--compact{
  padding: .95rem 1rem;
}

.events-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) repeat(3, minmax(150px, .8fr)) auto;
  gap:.85rem;
  align-items:end;
}

.events-toolbar__block{
  min-width:0;
}

.events-toolbar__block--range{
  min-width:0;
}

.events-toolbar__block--actions{
  display:flex;
  flex-direction:column;
}

.events-toolbar__label{
  display:block;
  margin-bottom:.38rem;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

.events-toolbar__pills{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}

.events-toolbar__pills .btn,
.events-toolbar__reset{
  border-radius:999px;
  white-space:nowrap;
}

.events-toolbar__select{
  min-height:38px;
  border-radius:.85rem;
}

.events-toolbar__summary{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  align-items:center;
  margin-top:.85rem;
  padding-top:.85rem;
  border-top:1px solid rgba(255,255,255,.08);
  color:var(--muted);
  font-size:.92rem;
}

.events-toolbar__summary strong{
  font-weight:800;
}

.events-toolbar__summary-sep{
  color:rgba(255,255,255,.24);
}

.quick-filter{
  border-radius:999px;
  padding:.42rem .8rem;
  line-height:1.2;
}

.quick-filter.is-active{
  background:rgba(212,175,55,.18);
  border-color:rgba(212,175,55,.45);
  color:var(--text);
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}

@media (max-width:1199.98px){
  .events-toolbar{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:767.98px){
  .events-toolbar{
    grid-template-columns:1fr;
    gap:.75rem;
  }

  .events-toolbar__pills{
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:.15rem;
  }

  .events-toolbar__summary{
    gap:.35rem;
    font-size:.9rem;
  }

  .events-toolbar__summary-sep{
    display:none;
  }
}

.events-main-panel{padding:1.25rem;border-radius:1.25rem;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(18,34,59,.94),rgba(9,19,34,.96));box-shadow:0 18px 40px rgba(0,0,0,.22)}
.events-summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.08)}
.events-range-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.events-range-actions .btn{border-radius:999px}
.event-group + .event-group{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}
.event-group__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.event-group__label{font-weight:800;font-size:1.1rem;margin:0}
.event-group__count{color:var(--muted);font-size:.9rem}
.event-card{padding:1rem 1rem 1.05rem;border-radius:1rem;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.event-card + .event-card{margin-top:.85rem}
.event-card__top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.event-card__title{font-weight:700;margin:0 0 .35rem;font-size:1.02rem}
.event-card__meta,.event-card__submeta{display:flex;flex-wrap:wrap;gap:.5rem .75rem;color:var(--muted);font-size:.92rem}
.event-card__summary{color:var(--text);opacity:.92;margin:.7rem 0 0;font-size:.95rem}
.event-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border-radius:999px;background:rgba(147,197,253,.1);border:1px solid rgba(147,197,253,.2);color:#d8e8ff;font-size:.82rem;white-space:nowrap}
.event-empty{padding:1.5rem;border-radius:1rem;border:1px dashed rgba(255,255,255,.14);background:rgba(255,255,255,.03);text-align:center}
.event-cta-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.85rem}
.event-cta-row .btn{border-radius:999px}

.subscribe-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.subscribe-card{grid-column:span 12;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.1rem}
.subscribe-card--half{grid-column:span 12}
.subscribe-card h2{font-size:1.15rem;margin-bottom:.65rem}
.subscribe-card ol,.subscribe-card ul{margin-bottom:0}
.subscribe-url{width:100%;min-height:92px;resize:vertical}
.subscribe-note{font-size:.93rem;color:var(--muted)}
.subscribe-badge-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.subscribe-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .72rem;border-radius:999px;font-size:.88rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.subscribe-badge--good{border-color:rgba(25,135,84,.35);background:rgba(25,135,84,.15);color:#b8f1cf}
.subscribe-badge--warn{border-color:rgba(255,193,7,.35);background:rgba(255,193,7,.10);color:#ffe7a3}
.subscribe-section-title{font-size:1rem;font-weight:700;margin:.85rem 0 .55rem}

@media (max-width:1199.98px){
  .events-filter-row{grid-template-columns:120px minmax(0,1fr)}
}
@media (max-width:991.98px){
  .events-filter-grid{grid-template-columns:1fr}
  .events-stats{justify-content:flex-start}
}
@media (max-width:767.98px){
  .events-filter-row{grid-template-columns:1fr;gap:.45rem}
  .events-filter-label{padding-top:0}
}
@media (min-width:992px){
  .subscribe-card--half{grid-column:span 6}
}

.event-card + .event-card {
  margin-top: 1rem;
}

@media (min-width: 992px) {
  .event-card + .event-card {
    margin-top: 1.25rem;
  }
}

.hero-metrics{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:.45rem;
  color:var(--muted);
  font-size:.98rem;
}
.hero-metrics strong{color:var(--text);font-weight:800}
.hero-metrics__sep{color:rgba(255,255,255,.28)}
.table-action-stack{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}
.table-action-stack form{margin:0}
@media (max-width: 767.98px){
  .stack-actions-mobile{width:100%;flex-direction:column;align-items:stretch!important}
  .stack-actions-mobile > .btn,
  .stack-actions-mobile > a.btn,
  .stack-actions-mobile > form,
  .stack-actions-mobile > form > .btn,
  .stack-actions-mobile .btn{width:100%}
  .stack-actions-mobile form{margin:0}
  .table-action-stack{flex-direction:column;align-items:stretch}
  .table-action-stack .btn,
  .table-action-stack form,
  .table-action-stack form .btn{width:100%}
  .hero-metrics{gap:.35rem;font-size:.92rem}
}

.admin-tabs {
  margin-bottom: 1rem;
  padding-bottom: 0.25rem;
}

.admin-tabs + .tab-content {
  margin-top: 0.5rem;
}

.admin-metrics-compact {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
  margin-bottom: 0;
}

.admin-metrics-compact .metric-card {
  padding: 0.5rem 0.75rem;
  border-radius: 0.75rem;
}

.admin-metrics-compact .metric-card__label {
  font-size: 0.7rem;
  margin-bottom: 0.1rem;
  opacity: 0.8;
}

.admin-metrics-compact .metric-card__value {
  font-size: 1.1rem;
  line-height: 1.1;
}

@media (max-width: 768px) {
  .admin-metrics-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .admin-metrics-compact {
    grid-template-columns: 1fr;
  }
}

.dashboard-tabs {
  margin-bottom: 0;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.dashboard-tabs + .tab-content {
  margin-top: 0;
}

.dashboard-tabs .nav-link {
  margin-bottom: 0;
}

.lodge-table-scroll {
  max-height: 1440px; /* adjust to taste */
  overflow-y: auto;
}

.lodge-table-scroll thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--bs-dark); /* keeps header visible */
}