/* Append to base styles — profile + horse passport visuals */

/* Profile page */
.back-link{background:none; border:0; cursor:pointer; color:var(--gold-deep);
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.25em;
  text-transform:uppercase; margin-bottom:18px; padding:6px 0}
.back-link:hover{color:var(--navy)}

.profile-header{display:grid; grid-template-columns:auto 1fr auto; gap:24px;
  align-items:flex-start; margin-bottom:10px}
.profile-avatar-xl{width:96px; height:96px; border-radius:50%;
  background:linear-gradient(145deg,var(--navy),var(--navy-deep));
  color:var(--cream); display:flex; align-items:center; justify-content:center;
  font-family:'Cinzel',serif; font-size:24px; letter-spacing:0.05em;
  border:3px solid var(--gold);
  box-shadow:0 8px 24px rgba(15,20,36,0.18)}
.profile-name{font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:2.4rem; color:var(--navy); line-height:1.1; margin-top:4px}
.profile-meta{font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--ink-soft); margin-top:8px}
.profile-bio{font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:1.15rem; color:var(--ink); margin-top:12px;
  border-left:2px solid var(--gold); padding-left:14px; max-width:680px}

.founder-stamp{
  width:84px; height:84px; border-radius:50%;
  border:2px dashed var(--gold);
  color:var(--gold-deep); font-family:'Cinzel',serif; font-size:9px;
  letter-spacing:0.18em; line-height:1.5; text-align:center;
  display:flex; align-items:center; justify-content:center;
  transform:rotate(-8deg); flex-shrink:0;
  background:radial-gradient(circle,rgba(200,169,106,0.08),transparent 70%)}

.profile-section{margin:28px 0}

.kv{display:flex; flex-direction:column}
.kv-row{display:grid; grid-template-columns:200px 1fr; gap:14px;
  padding:10px 0; border-bottom:1px dashed rgba(26,34,56,0.12)}
.kv-row:last-child{border-bottom:0}
.kv-k{font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold-deep)}
.kv-v{font-family:'Lora',serif; color:var(--ink)}

.stat-value-text{font-family:'Cormorant Garamond',serif; font-size:1.3rem;
  font-weight:500; color:var(--navy); line-height:1.2}
.card.dark .stat-value-text{color:var(--cream)}

.badge-grid{display:flex; flex-wrap:wrap; gap:8px}
.badge-tile{padding:8px 14px; border:1px solid var(--gold);
  background:rgba(200,169,106,0.08); color:var(--gold-deep);
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.18em;
  text-transform:uppercase; border-radius:2px}

.ornate-list{list-style:none; padding:0}
.ornate-list li{padding:8px 0 8px 22px; position:relative;
  font-family:'Lora',serif; color:var(--ink);
  border-bottom:1px dashed rgba(26,34,56,0.1)}
.ornate-list li::before{content:"✦"; color:var(--gold);
  position:absolute; left:0; top:8px; font-size:11px}
.ornate-list li:last-child{border-bottom:0}

.gold-frame{border:1px solid var(--gold);
  background:linear-gradient(135deg,rgba(200,169,106,0.06),rgba(200,169,106,0.02));
  position:relative}
.gold-frame::before{content:""; position:absolute; inset:6px;
  border:1px solid rgba(200,169,106,0.3); pointer-events:none}

.horse-chip{display:grid; grid-template-columns:auto 1fr auto; gap:14px;
  align-items:center; padding:12px 14px; background:#fff;
  border:1px solid rgba(26,34,56,0.1); border-radius:3px;
  margin-bottom:10px; cursor:pointer; transition:all .25s}
.horse-chip:hover{border-color:var(--gold); transform:translateX(2px);
  box-shadow:0 6px 18px rgba(26,34,56,0.06)}
.horse-chip-photo{width:54px; height:54px; border-radius:3px;
  display:flex; align-items:center; justify-content:center; font-size:24px;
  border:1px solid var(--gold)}
.horse-chip-photo.bay{background:linear-gradient(135deg,#8b5a3c,#5e3a25)}
.horse-chip-photo.black{background:linear-gradient(135deg,#3a3a45,#1c1c24)}
.horse-chip-photo.white{background:linear-gradient(135deg,#ece6d6,#c8c0aa)}

.slot-chip{padding:8px 14px; border:1px solid rgba(26,34,56,0.18);
  background:var(--cream-soft); font-family:'Cinzel',serif;
  font-size:10px; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--navy); cursor:pointer; transition:all .25s; border-radius:2px}
.slot-chip:hover{background:var(--gold); border-color:var(--gold);
  color:var(--navy-deep)}

.grid.cols-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1100px){.grid.cols-5{grid-template-columns:repeat(2,1fr)}}

/* === Horse Passport === */
.passport{position:relative; padding:32px;
  background:var(--cream-soft);
  border:2px solid var(--navy);
  outline:1px solid var(--gold); outline-offset:6px;
  margin-top:8px;
  background-image:
    radial-gradient(circle at 0% 0%, rgba(200,169,106,0.05), transparent 50%),
    radial-gradient(circle at 100% 100%, rgba(26,34,56,0.04), transparent 50%);
}
.passport::before{content:"EQUINE PASSPORT · MMXXVI"; position:absolute;
  top:-1px; left:50%; transform:translate(-50%,-50%);
  background:var(--cream-soft); padding:0 14px;
  font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.4em;
  color:var(--gold-deep)}
.passport-stamp{position:absolute; top:24px; right:32px;
  width:88px; height:88px; border-radius:50%;
  border:2px solid var(--gold); color:var(--gold-deep);
  font-family:'Cinzel',serif; font-size:9px;
  letter-spacing:0.18em; line-height:1.5; text-align:center;
  display:flex; align-items:center; justify-content:center;
  transform:rotate(-12deg);
  background:radial-gradient(circle,rgba(200,169,106,0.12),rgba(200,169,106,0.04));
  box-shadow:inset 0 0 0 1px rgba(200,169,106,0.4)}

.passport-grid{display:grid; grid-template-columns:280px 1fr; gap:30px;
  margin-top:8px}
.passport-photo{aspect-ratio:3/4; border:2px solid var(--gold);
  outline:1px solid rgba(26,34,56,0.2); outline-offset:3px;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
  padding:14px; position:relative}
.passport-photo.black{background:linear-gradient(160deg,#3a3a45,#1c1c24)}
.passport-photo.white{background:linear-gradient(160deg,#ece6d6,#c8c0aa)}
.passport-photo.bay{background:linear-gradient(160deg,#8b5a3c,#5e3a25)}
.passport-photo .photo-glyph{font-size:90px; flex:1;
  display:flex; align-items:center; justify-content:center; width:100%}
.passport-photo .photo-cap{font-family:'Cinzel',serif; font-size:8px;
  letter-spacing:0.3em; color:rgba(245,239,224,0.85); text-transform:uppercase}
.passport-photo.white .photo-cap{color:var(--ink)}

.passport-name{font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:2.6rem; color:var(--navy); line-height:1.05; margin:6px 0 8px;
  letter-spacing:-0.01em}
.passport-name em{font-style:italic; color:var(--gold-deep)}
.passport-tag{font-family:'Cormorant Garamond',serif; font-style:italic;
  color:var(--ink-soft); font-size:1.1rem; margin-bottom:18px}

.passport-rows{display:flex; flex-direction:column}
.prow{display:grid; grid-template-columns:140px 1fr auto; gap:12px;
  padding:7px 0; border-bottom:1px dotted rgba(26,34,56,0.18);
  align-items:center}
.prow-k{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold-deep)}
.prow-v{font-family:'Lora',serif; font-size:0.95rem; color:var(--ink)}
.prow-v.mono{font-family:'JetBrains Mono',monospace; font-size:0.85rem;
  color:var(--navy)}
.src-tag{font-family:'Cinzel',serif; font-size:8px; letter-spacing:0.18em;
  text-transform:uppercase; padding:2px 7px; border-radius:100px;
  border:1px solid; white-space:nowrap}
.src-tag.stb{color:#5a8062; border-color:#5a8062; background:rgba(90,128,98,0.08)}
.src-tag.pending{color:var(--gold-deep); border-color:var(--gold);
  background:rgba(200,169,106,0.08)}
.src-tag.owner{color:var(--ink-soft); border-color:rgba(26,34,56,0.2);
  background:rgba(26,34,56,0.04)}

/* Pedigree */
.pedigree-card{padding:18px; overflow-x:auto}
.pedigree{display:grid; grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:8px; min-height:600px}
.ped-col{display:flex; flex-direction:column}
.ped-col-label{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.28em;
  text-transform:uppercase; color:var(--gold-deep); padding:4px 0 10px;
  border-bottom:1px solid rgba(200,169,106,0.3); margin-bottom:10px;
  text-align:center}
.ped-col-cells{flex:1; display:flex; flex-direction:column; gap:6px}
.ped-cell{padding:8px 10px; background:#fff;
  border:1px solid rgba(26,34,56,0.1); border-left:3px solid var(--ink-soft);
  flex:1; display:flex; flex-direction:column; justify-content:center;
  min-height:48px}
.ped-cell.dad{border-left-color:var(--navy)}
.ped-cell.mom{border-left-color:var(--gold)}
.ped-cell.empty{border:1px dashed rgba(26,34,56,0.15);
  background:rgba(26,34,56,0.02);
  align-items:center}
.ped-name{font-family:'Cormorant Garamond',serif; font-weight:600;
  font-size:0.98rem; color:var(--navy); line-height:1.15}
.ped-meta{font-family:'Lora',serif; font-style:italic; font-size:0.78rem;
  color:var(--ink-soft); margin-top:2px}
.ped-empty{font-family:'Cormorant Garamond',serif; font-style:italic;
  color:rgba(26,34,56,0.35); font-size:0.85rem}

.pedigree-legend{margin-top:14px; display:flex; gap:18px; flex-wrap:wrap;
  font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--ink-soft); padding-top:14px;
  border-top:1px dashed rgba(26,34,56,0.15)}
.pedigree-legend .dot{display:inline-block; width:10px; height:10px;
  border-radius:50%; margin-right:6px; vertical-align:middle}
.pedigree-legend .dot.dad{background:var(--navy)}
.pedigree-legend .dot.mom{background:var(--gold)}

/* Character cards */
.char-card{text-align:center}
.char-icon{width:46px; height:46px; border-radius:50%;
  border:1px solid var(--gold);
  background:rgba(200,169,106,0.1); color:var(--gold-deep);
  display:flex; align-items:center; justify-content:center;
  font-size:18px; margin:0 auto 12px}
.char-label{font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:0.28em;
  text-transform:uppercase; color:var(--gold-deep); margin-bottom:8px}
.char-body{font-family:'Lora',serif; font-size:0.92rem; color:var(--ink);
  line-height:1.55; text-align:left}

/* Results */
.stat-mini .stat-value{font-size:1.8rem}
.results-list{display:flex; flex-direction:column}
.result-row{display:grid; grid-template-columns:auto 1fr auto; gap:14px;
  align-items:center; padding:12px 0;
  border-bottom:1px dashed rgba(26,34,56,0.12)}
.result-row:last-child{border-bottom:0}
.result-date{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold-deep); min-width:96px}
.place-badge{padding:6px 12px; border-radius:2px;
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.18em;
  text-transform:uppercase; border:1px solid}
.place-badge.p1{background:var(--gold); color:var(--navy-deep);
  border-color:var(--gold)}
.place-badge.p2,.place-badge.p3{background:rgba(200,169,106,0.15);
  color:var(--gold-deep); border-color:var(--gold)}

/* Sources panel */
.sources{padding:24px}
.src-row{display:grid; grid-template-columns:auto 1fr; gap:14px;
  padding:12px 0; align-items:flex-start;
  border-bottom:1px dashed rgba(26,34,56,0.1)}
.src-row:last-of-type{border-bottom:0}
.src-dot{width:14px; height:14px; border-radius:50%; margin-top:5px}
.src-dot.stb{background:#5a8062; box-shadow:0 0 0 4px rgba(90,128,98,0.15)}
.src-dot.pending{background:var(--gold);
  box-shadow:0 0 0 4px rgba(200,169,106,0.15)}
.src-dot.owner{background:rgba(26,34,56,0.4);
  box-shadow:0 0 0 4px rgba(26,34,56,0.06)}
.src-k{font-family:'Cormorant Garamond',serif; font-weight:600;
  font-size:1.05rem; color:var(--navy)}
.src-v{font-family:'Lora',serif; font-size:0.88rem; color:var(--ink-soft);
  margin-top:2px}
.privacy-note{margin-top:14px; padding:12px 14px;
  background:rgba(26,34,56,0.04); border-left:2px solid var(--ink-soft);
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:0.95rem; color:var(--ink-soft)}

/* Anekdote */
.anekdote{position:relative; padding:34px 28px 28px;
  margin-top:30px; background:var(--cream-warm);
  border:1px solid var(--gold); border-radius:3px}
.anekdote .quote-mark{position:absolute; top:-20px; left:24px;
  font-family:'Cormorant Garamond',serif; font-size:84px;
  color:var(--gold); line-height:1; font-style:italic}
.anekdote p{font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:1.25rem; color:var(--navy); line-height:1.5}

/* Members list — clickable rows */
.list-row.clickable{cursor:pointer; padding:14px 8px; border-radius:2px;
  margin:0 -8px}
.list-row.clickable:hover{background:rgba(200,169,106,0.06)}

.tier-color-pony{color:#a85a8a}
.tier-color-friend{color:var(--ink-soft)}
.tier-color-rider{color:var(--blue)}
.tier-color-owner{color:var(--navy)}
.tier-color-pro{color:var(--gold-deep)}

@media(max-width:900px){
  .passport-grid{grid-template-columns:1fr}
  .pedigree{grid-template-columns:repeat(2,minmax(160px,1fr))}
  .profile-header{grid-template-columns:1fr}
  .founder-stamp{justify-self:start}
}


/* ============================================================
   MOBILE-FIRST RESPONSIVE OVERHAUL
   ============================================================ */
.hamburger{display:none; background:none; border:0; color:var(--cream);
  cursor:pointer; padding:6px; align-items:center; justify-content:center;
  margin-right:4px}
.hamburger:hover{color:var(--gold)}
.sidebar-close{display:none; position:absolute; top:14px; right:14px;
  background:none; border:0; color:var(--cream); font-size:18px; cursor:pointer;
  padding:6px 10px; border:1px solid rgba(200,169,106,0.3); border-radius:2px;
  z-index:5}
.sidebar-backdrop{display:none}

@media(max-width:760px){
  .hamburger{display:flex}
  .sidebar-close{display:block}
  .sidebar-backdrop{display:block; position:fixed; inset:48px 0 0 0;
    background:rgba(15,20,36,0.55); z-index:55; backdrop-filter:blur(2px)}
  .topbar{padding:0 12px; height:54px}
  .topbar-brand{font-size:9px}
  .topbar .right .status-pill:nth-child(2){display:none}
  aside{top:54px !important; height:calc(100vh - 54px) !important;
    width:280px !important; left:-300px !important;
    overflow-y:auto; padding:50px 0 20px}
  .page{padding:18px 14px 80px !important; max-width:100% !important}
  .page-header{flex-direction:column; align-items:flex-start; gap:14px}
  .page-header > div:last-child{width:100%}
  .page-title{font-size:1.8rem !important}
  .stat-value{font-size:1.7rem !important}
  .modal{max-width:calc(100vw - 24px); padding:24px 18px !important}
  .modal h2{font-size:1.6rem !important}
  .list-row{grid-template-columns:auto 1fr !important; gap:10px !important;
    padding:12px 0 !important}
  .list-row .tier-badge,.list-row .founder-badge{grid-column:2; justify-self:flex-start}
  .search-bar{width:100%}
  .search-bar input{width:100%}
  .btn{font-size:11px}
}

/* Tablet */
@media(min-width:761px) and (max-width:1024px){
  .app{grid-template-columns:220px 1fr}
  .page{padding:24px 24px 60px}
}

/* ============================================================
   PONY CLUB
   ============================================================ */
.pc-page{padding:0 !important; max-width:100% !important; background:var(--cream)}
.pc-page > *{max-width:1280px; margin-left:auto; margin-right:auto;
  padding-left:40px; padding-right:40px}

/* Hero */
.pc-hero{position:relative; padding:48px 40px 40px !important; max-width:none !important;
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
  color:var(--cream); overflow:hidden}
.pc-hero-bg{position:absolute; inset:0; opacity:0.18; pointer-events:none;
  background:
    radial-gradient(circle at 15% 30%, rgba(244,216,168,0.6), transparent 28%),
    radial-gradient(circle at 80% 20%, rgba(168,228,196,0.5), transparent 25%),
    radial-gradient(circle at 60% 80%, rgba(200,168,232,0.5), transparent 30%),
    radial-gradient(circle at 25% 75%, rgba(244,184,196,0.5), transparent 22%);
}
.pc-hero-inner{position:relative; max-width:1100px}
.pc-hero .eyebrow{color:var(--gold); margin-bottom:14px}
.pc-title{font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:3.4rem; line-height:1.05; margin-bottom:16px; color:var(--cream);
  letter-spacing:-0.01em}
.pc-title em{color:var(--gold); font-style:italic}
.pc-sub{font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:1.2rem; color:rgba(245,239,224,0.78); max-width:680px;
  line-height:1.5; margin-bottom:30px}
.pc-hero-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
  border-top:1px solid rgba(200,169,106,0.25); padding-top:22px; max-width:680px}
.pc-hero-stats > div{display:flex; flex-direction:column}
.pc-hero-stats strong{font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:2rem; color:var(--gold); line-height:1}
.pc-hero-stats span{font-family:'Cinzel',serif; font-size:9px;
  letter-spacing:0.22em; text-transform:uppercase;
  color:rgba(245,239,224,0.6); margin-top:4px}

/* Group selector */
.pc-groups{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
  margin:-30px auto 30px; position:relative; z-index:2}
.pc-group{background:#fff; border:1px solid rgba(26,34,56,0.1);
  border-top:4px solid var(--g); padding:18px 18px 16px; cursor:pointer;
  text-align:left; display:grid; grid-template-columns:auto 1fr auto; gap:14px;
  align-items:center; font-family:inherit; transition:all .25s;
  box-shadow:0 4px 14px rgba(15,20,36,0.06)}
.pc-group:hover{transform:translateY(-2px); box-shadow:0 8px 24px rgba(15,20,36,0.1)}
.pc-group.active{box-shadow:0 8px 28px rgba(15,20,36,0.14);
  border-color:var(--g)}
.pc-group-glyph{width:54px; height:54px; border-radius:50%;
  background:var(--g); display:flex; align-items:center; justify-content:center;
  font-size:26px}
.pc-group-label{font-family:'Cormorant Garamond',serif; font-weight:600;
  font-size:1.4rem; color:var(--navy); line-height:1}
.pc-group-age{font-family:'Cinzel',serif; font-size:9px;
  letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-deep);
  margin-top:4px}
.pc-group-tagline{font-family:'Cormorant Garamond',serif; font-style:italic;
  color:var(--ink-soft); font-size:0.95rem; margin-top:4px}
.pc-group-count{font-family:'Cormorant Garamond',serif; font-size:1.8rem;
  color:var(--navy); font-weight:500}

/* Tabs */
.pc-tabs{display:flex; gap:6px; border-bottom:1px solid rgba(26,34,56,0.1);
  margin-bottom:24px; overflow-x:auto; flex-wrap:nowrap;
  scrollbar-width:none}
.pc-tabs::-webkit-scrollbar{display:none}
.pc-tab{background:none; border:0; padding:12px 18px;
  font-family:'Cinzel',serif; font-size:10.5px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--ink-soft); cursor:pointer;
  border-bottom:2px solid transparent; white-space:nowrap;
  transition:all .2s}
.pc-tab:hover{color:var(--navy)}
.pc-tab.active{color:var(--navy); border-bottom-color:var(--gold)}

.pc-section-h{font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:1.5rem; color:var(--navy); margin:18px 0 14px}
.pc-section-h em{color:var(--gold-deep); font-style:italic}

.pc-empty{padding:40px 20px; text-align:center;
  font-family:'Cormorant Garamond',serif; font-style:italic;
  color:var(--ink-soft); border:1px dashed rgba(26,34,56,0.2)}

/* Friends grid */
.pc-kids-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:14px; margin-bottom:30px}
.pc-kid-card{background:#fff; border:1px solid rgba(26,34,56,0.1);
  padding:18px 14px; text-align:center; transition:all .25s; position:relative;
  border-top:3px solid var(--kc)}
.pc-kid-card.highlight{box-shadow:0 0 0 1px var(--gold), 0 8px 22px rgba(200,169,106,0.12)}
.pc-kid-card:hover{transform:translateY(-2px); box-shadow:0 8px 22px rgba(15,20,36,0.08)}
.pc-kid-avatar{position:relative; width:64px; height:64px; margin:0 auto 12px;
  border-radius:50%; background:var(--kc); display:flex; align-items:center;
  justify-content:center; font-size:32px}
.pc-online{position:absolute; bottom:2px; right:2px; width:14px; height:14px;
  border-radius:50%; background:#5a8062; border:2px solid #fff}
.pc-kid-name{font-family:'Cormorant Garamond',serif; font-weight:600;
  font-size:1.1rem; color:var(--navy); line-height:1.1}
.pc-kid-meta{font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--gold-deep); margin:6px 0}
.pc-kid-pony{font-family:'Lora',serif; font-size:0.88rem; color:var(--ink);
  margin-top:6px}
.pc-kid-level{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--ink-soft); margin-top:4px}
.pc-kid-actions{display:flex; gap:6px; margin-top:12px; justify-content:center}
.pc-btn-mini{background:transparent; border:1px solid rgba(26,34,56,0.18);
  padding:5px 10px; font-family:'Cinzel',serif; font-size:9px;
  letter-spacing:0.18em; text-transform:uppercase; cursor:pointer;
  color:var(--navy); border-radius:2px; transition:all .2s}
.pc-btn-mini:hover{background:rgba(200,169,106,0.08); border-color:var(--gold)}
.pc-btn-mini.gold{background:var(--gold); border-color:var(--gold);
  color:var(--navy-deep)}
.pc-btn-mini.gold:hover{background:var(--gold-deep); border-color:var(--gold-deep);
  color:var(--cream)}

/* Profile modal */
.pc-profile-modal{padding:0 !important; overflow:hidden}
.pc-profile-banner{height:140px; background:var(--kc);
  display:flex; align-items:center; justify-content:center; font-size:80px;
  background-image:radial-gradient(circle at 30% 30%, rgba(255,255,255,0.4), transparent 50%)}
.pc-profile-body{padding:24px}
.pc-profile-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px;
  padding:14px; background:rgba(200,169,106,0.06); margin-top:6px}
.pc-pf-l{font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold-deep)}
.pc-pf-v{font-family:'Cormorant Garamond',serif; font-weight:600;
  font-size:1rem; color:var(--navy); margin-top:3px}
.pc-buddies{display:flex; gap:10px; flex-wrap:wrap; margin-top:6px}
.pc-buddy{display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:8px 12px; border:1px solid rgba(26,34,56,0.12); min-width:74px;
  border-top:3px solid var(--kc)}
.pc-buddy-emoji{font-size:24px}
.pc-buddy > div:last-child{font-family:'Cormorant Garamond',serif;
  font-size:0.9rem; color:var(--navy); font-weight:600}

/* Chat */
.pc-chat{display:grid; grid-template-columns:240px 1fr; gap:14px;
  height:calc(100vh - 380px); min-height:480px;
  border:1px solid rgba(26,34,56,0.1); background:#fff}
.pc-chat-side{border-right:1px solid rgba(26,34,56,0.1);
  padding:14px 10px; overflow-y:auto; background:var(--cream-soft)}
.pc-chat-h{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold-deep); padding:6px 8px}
.pc-chan{display:flex; align-items:center; gap:10px; padding:9px 10px;
  cursor:pointer; border-radius:2px; font-family:'Lora',serif; font-size:0.9rem;
  color:var(--ink); transition:background .2s}
.pc-chan:hover{background:rgba(200,169,106,0.08)}
.pc-chan.active{background:var(--gold); color:var(--navy-deep); font-weight:500}
.pc-chan-dot{width:10px; height:10px; border-radius:50%; flex-shrink:0}
.pc-chan-emoji{font-size:18px; flex-shrink:0}
.pc-chat-main{display:flex; flex-direction:column; min-width:0}
.pc-chat-header{display:flex; align-items:center; gap:6px; padding:14px 18px;
  border-bottom:1px solid rgba(26,34,56,0.1); background:#fff; flex-wrap:wrap}
.pc-chat-title{font-family:'Cormorant Garamond',serif; font-weight:600;
  font-size:1.15rem; color:var(--navy)}
.pc-chat-sub{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--gold-deep); margin-top:2px}
.pc-chat-safe{margin-left:auto; padding:5px 10px; background:rgba(90,128,98,0.1);
  color:#5a8062; font-family:'Cinzel',serif; font-size:9px;
  letter-spacing:0.18em; text-transform:uppercase; border-radius:2px}
.pc-chat-stream{flex:1; overflow-y:auto; padding:18px; display:flex;
  flex-direction:column; gap:14px; background:var(--cream)}
.pc-msg{display:flex; gap:10px; max-width:80%}
.pc-msg.me{align-self:flex-end; flex-direction:row-reverse}
.pc-msg-av{width:36px; height:36px; border-radius:50%; display:flex;
  align-items:center; justify-content:center; font-size:18px; flex-shrink:0}
.pc-msg-bubble{background:#fff; padding:10px 14px;
  border:1px solid rgba(26,34,56,0.1); border-radius:3px; min-width:120px}
.pc-msg.me .pc-msg-bubble{background:var(--navy); color:var(--cream);
  border-color:var(--navy)}
.pc-msg-author{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--gold-deep); margin-bottom:4px}
.pc-msg-text{font-family:'Lora',serif; font-size:0.95rem; line-height:1.4}
.pc-msg-foot{display:flex; align-items:center; gap:8px; margin-top:6px;
  flex-wrap:wrap}
.pc-msg-time{font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:0.18em;
  color:var(--ink-soft); opacity:0.7}
.pc-msg.me .pc-msg-time{color:rgba(245,239,224,0.5)}
.pc-react{font-size:11px; padding:1px 7px; border:1px solid rgba(26,34,56,0.12);
  border-radius:100px; background:rgba(200,169,106,0.08)}
.pc-msg.me .pc-react{background:rgba(200,169,106,0.2);
  border-color:rgba(200,169,106,0.3); color:var(--cream)}
.pc-react-add{display:flex; gap:2px; margin-left:auto}
.pc-react-add button{background:transparent; border:0; cursor:pointer;
  font-size:13px; padding:1px 4px; opacity:0.4; transition:opacity .2s}
.pc-react-add button:hover{opacity:1}
.pc-chat-input{display:flex; gap:10px; padding:14px; background:#fff;
  border-top:1px solid rgba(26,34,56,0.1)}
.pc-chat-input input{flex:1; padding:10px 14px;
  border:1px solid rgba(26,34,56,0.18); font-family:'Lora',serif;
  font-size:0.95rem; border-radius:2px}
.pc-chat-input input:focus{outline:none; border-color:var(--gold)}

/* Camps */
.pc-camp-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:18px}
.pc-camp-card{background:#fff; border:1px solid rgba(26,34,56,0.1);
  overflow:hidden; transition:all .25s; display:flex; flex-direction:column}
.pc-camp-card:hover{transform:translateY(-2px); box-shadow:0 10px 28px rgba(15,20,36,0.1)}
.pc-camp-banner{height:120px; background:var(--cc); position:relative;
  display:flex; align-items:center; justify-content:center;
  background-image:radial-gradient(circle at 30% 30%, rgba(255,255,255,0.35), transparent 60%)}
.pc-camp-emoji{font-size:60px}
.pc-camp-tag{position:absolute; top:14px; right:14px;
  padding:4px 10px; background:rgba(15,20,36,0.85); color:var(--cream);
  font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.22em;
  text-transform:uppercase; border-radius:2px}
.pc-camp-body{padding:18px; flex:1; display:flex; flex-direction:column}
.pc-camp-title{font-family:'Cormorant Garamond',serif; font-weight:600;
  font-size:1.4rem; color:var(--navy); line-height:1.1}
.pc-camp-meta{font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--gold-deep); margin-top:6px}
.pc-camp-desc{font-family:'Lora',serif; font-size:0.92rem; color:var(--ink);
  margin:12px 0 16px; line-height:1.5; flex:1}
.pc-camp-bar{height:5px; background:rgba(26,34,56,0.1); border-radius:3px;
  overflow:hidden; margin:6px 0}
.pc-camp-bar > div{height:100%; background:var(--gold)}
.pc-camp-foot{display:flex; align-items:center; justify-content:space-between;
  margin-bottom:12px; font-family:'Cinzel',serif; font-size:9px;
  letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-soft); gap:10px}
.pc-camp-price{font-family:'Cormorant Garamond',serif; font-weight:600;
  font-size:1.3rem; color:var(--gold-deep); letter-spacing:0}

.pc-camp-modal{padding:0 !important; overflow:hidden; max-width:560px}
.pc-camp-modal-banner{height:140px; background:var(--cc);
  display:flex; align-items:center; justify-content:center;
  background-image:radial-gradient(circle at 30% 30%, rgba(255,255,255,0.35), transparent 60%)}
.pc-camp-modal-body{padding:24px}
.pc-camp-quick{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
  padding:14px; background:rgba(200,169,106,0.06); margin:6px 0 0}
.pc-program{display:grid; grid-template-columns:repeat(5,1fr); gap:8px}
.pc-program-day{padding:10px 6px; text-align:center;
  border:1px solid rgba(26,34,56,0.1); background:var(--cream-soft)}
.pc-pd-day{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.22em;
  color:var(--gold-deep)}
.pc-pd-icon{font-size:24px; margin:6px 0}
.pc-pd-title{font-family:'Cormorant Garamond',serif; font-size:0.85rem;
  font-weight:600; color:var(--navy); line-height:1.15}
.pc-leaders{display:flex; gap:10px; flex-wrap:wrap}
.pc-leader{padding:6px 12px; background:rgba(200,169,106,0.08);
  border:1px solid rgba(200,169,106,0.3); font-family:'Lora',serif;
  font-size:0.9rem; color:var(--navy); border-radius:2px}

/* Meetups */
.pc-meetups-h{display:flex; justify-content:space-between; align-items:flex-end;
  gap:14px; margin-bottom:18px; flex-wrap:wrap}
.pc-meetup-list{display:flex; flex-direction:column; gap:14px}
.pc-meetup-card{display:grid; grid-template-columns:90px 1fr auto; gap:18px;
  padding:18px; background:#fff; border:1px solid rgba(26,34,56,0.1);
  align-items:center; transition:all .25s}
.pc-meetup-card:hover{box-shadow:0 8px 22px rgba(15,20,36,0.08); transform:translateX(2px)}
.pc-meetup-date{text-align:center; padding:10px;
  background:var(--cream-soft); border:1px solid rgba(200,169,106,0.3);
  border-radius:2px; flex-shrink:0}
.pc-md-emoji{font-size:24px; margin-bottom:4px}
.pc-md-mon{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.22em;
  color:var(--gold-deep)}
.pc-md-day{font-family:'Cormorant Garamond',serif; font-size:1.7rem;
  font-weight:600; color:var(--navy); line-height:1}
.pc-md-time{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.18em;
  color:var(--ink-soft); margin-top:4px}
.pc-meetup-title{font-family:'Cormorant Garamond',serif; font-weight:600;
  font-size:1.25rem; color:var(--navy); line-height:1.1}
.pc-meetup-meta{font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--gold-deep); margin:6px 0}
.pc-meetup-desc{font-family:'Lora',serif; font-size:0.92rem; color:var(--ink);
  line-height:1.45; margin:6px 0 8px}
.pc-meetup-people{display:flex; align-items:center; gap:14px; margin-top:8px}
.pc-people-stack{display:flex}
.pc-pp{width:30px; height:30px; border-radius:50%; display:flex;
  align-items:center; justify-content:center; font-size:14px;
  border:2px solid #fff; margin-left:-8px}
.pc-pp:first-child{margin-left:0}
.pc-meetup-actions{display:flex; flex-direction:column; gap:6px; flex-shrink:0}

.pc-emoji-pick{padding:8px 12px; background:#fff; border:1px solid rgba(26,34,56,0.18);
  font-size:18px; cursor:pointer; border-radius:2px}
.pc-emoji-pick.active{border-color:var(--gold); background:rgba(200,169,106,0.1)}

/* Map */
.pc-map-wrap{margin-bottom:30px}
.pc-map{position:relative; aspect-ratio:1.4/1; max-width:760px; margin:0 auto;
  background:linear-gradient(180deg, var(--cream-soft) 0%, var(--cream) 100%);
  border:1px solid rgba(200,169,106,0.3); overflow:hidden}
.pc-map-bg{position:absolute; inset:0; width:100%; height:100%}
.pc-map-pin{position:absolute; transform:translate(-50%,-100%);
  cursor:pointer; transition:transform .2s; z-index:2}
.pc-map-pin:hover{transform:translate(-50%,-105%) scale(1.08); z-index:3}
.pc-map-pin-emoji{width:36px; height:36px; border-radius:50% 50% 50% 0;
  background:var(--gold); display:flex; align-items:center; justify-content:center;
  font-size:18px; transform:rotate(-45deg); box-shadow:0 4px 8px rgba(15,20,36,0.18)}
.pc-map-pin-emoji > *{transform:rotate(45deg)}
.pc-map-pin-label{position:absolute; left:50%; top:-8px; transform:translate(-50%,-100%);
  background:var(--navy); color:var(--cream); padding:4px 10px;
  font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:0.18em;
  text-transform:uppercase; white-space:nowrap; opacity:0; transition:opacity .2s;
  border-radius:2px}
.pc-map-pin:hover .pc-map-pin-label{opacity:1}
.pc-map-kid{position:absolute; transform:translate(-50%,-50%);
  width:30px; height:30px; border-radius:50%; background:var(--kc);
  display:flex; align-items:center; justify-content:center; font-size:16px;
  border:2px solid #fff; box-shadow:0 2px 6px rgba(15,20,36,0.18); z-index:1}
.pc-map-legend{display:flex; gap:18px; justify-content:center; margin-top:14px;
  font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--ink-soft)}
.pc-leg{display:inline-block; width:12px; height:12px; vertical-align:middle;
  margin-right:6px; border-radius:50%}
.pc-leg-meet{background:var(--gold)}
.pc-leg-kid{background:#a8e4c4; border:2px solid #fff}

/* Activities */
.pc-act-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:14px}
.pc-act-card{padding:22px 18px; background:#fff;
  border:1px solid rgba(26,34,56,0.1); border-top:3px solid var(--cc);
  transition:all .25s}
.pc-act-card:hover{transform:translateY(-2px); box-shadow:0 8px 22px rgba(15,20,36,0.08)}
.pc-act-emoji{font-size:34px; margin-bottom:10px}
.pc-act-title{font-family:'Cormorant Garamond',serif; font-weight:600;
  font-size:1.2rem; color:var(--navy); margin-bottom:6px}
.pc-act-what{font-family:'Lora',serif; font-size:0.92rem; color:var(--ink);
  line-height:1.5}

/* Pony Club mobile */
@media(max-width:760px){
  .pc-page > *{padding-left:18px !important; padding-right:18px !important}
  .pc-hero{padding:30px 18px 30px !important}
  .pc-title{font-size:2rem}
  .pc-sub{font-size:1rem}
  .pc-hero-stats{grid-template-columns:repeat(2,1fr); gap:14px}
  .pc-hero-stats strong{font-size:1.5rem}
  .pc-groups{grid-template-columns:1fr; margin:-20px auto 22px}
  .pc-tabs{padding-bottom:2px}
  .pc-tab{padding:10px 12px; font-size:9.5px}
  .pc-kids-grid{grid-template-columns:repeat(2,1fr); gap:10px}
  .pc-kid-card{padding:14px 10px}
  .pc-kid-avatar{width:54px; height:54px; font-size:26px}
  .pc-chat{grid-template-columns:1fr; height:auto; min-height:0}
  .pc-chat-side{display:flex; flex-wrap:nowrap; overflow-x:auto;
    border-right:0; border-bottom:1px solid rgba(26,34,56,0.1);
    padding:8px; gap:6px; max-height:none}
  .pc-chat-side .pc-chat-h{display:none}
  .pc-chan{flex-shrink:0; padding:6px 10px; font-size:0.82rem; white-space:nowrap}
  .pc-chat-stream{min-height:340px; max-height:50vh}
  .pc-msg{max-width:90%}
  .pc-camp-grid{grid-template-columns:1fr}
  .pc-camp-quick{grid-template-columns:repeat(2,1fr)}
  .pc-program{grid-template-columns:repeat(5,1fr); gap:4px}
  .pc-pd-icon{font-size:18px}
  .pc-pd-title{font-size:0.7rem}
  .pc-meetups-h{flex-direction:column; align-items:stretch}
  .pc-meetup-card{grid-template-columns:auto 1fr; gap:14px}
  .pc-meetup-actions{grid-column:1/-1; flex-direction:row; justify-content:flex-end}
  .pc-act-grid{grid-template-columns:1fr}
  .pc-profile-grid{grid-template-columns:1fr}
  .pc-chat-safe{margin-left:0; margin-top:6px}
}
@media(max-width:420px){
  .pc-kids-grid{grid-template-columns:1fr}
  .pc-hero-stats{grid-template-columns:1fr 1fr}
}


/* === Login picker === */
.login.login-wide{align-items:stretch; padding:0; overflow:hidden}
.login.login-wide{display:grid; grid-template-columns:420px 1fr}
.login-hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 100%);
  color:var(--cream); padding:54px 44px; display:flex; flex-direction:column;
  justify-content:center; position:relative; overflow:hidden}
.login-hero::before{content:""; position:absolute; inset:18px;
  border:1px solid rgba(200,169,106,0.18); pointer-events:none}
.login-hero .login-logo{width:84px; height:84px; margin:0 0 24px;
  filter:brightness(1.05)}
.login-hero h1{font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:2.4rem; line-height:1.1; color:var(--cream); margin-bottom:10px;
  letter-spacing:-0.01em}
.login-hero h1 em{color:var(--gold); font-style:italic}
.login-tagline{font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:1.05rem; color:rgba(245,239,224,0.78); line-height:1.5;
  margin-bottom:24px; max-width:340px}
.login-email-form{display:flex; gap:8px; max-width:340px}
.login-email-form input{flex:1; padding:11px 14px; background:rgba(245,239,224,0.08);
  border:1px solid rgba(200,169,106,0.3); color:var(--cream);
  font-family:'Lora',serif; font-size:0.9rem; border-radius:2px}
.login-email-form input::placeholder{color:rgba(245,239,224,0.4); font-style:italic}
.login-email-form input:focus{outline:none; border-color:var(--gold);
  background:rgba(245,239,224,0.12)}
.login-email-form .btn{flex-shrink:0}

.login-picker{background:var(--cream); padding:40px 44px; overflow-y:auto;
  max-height:100vh}
.picker-h{font-family:'Cinzel',serif; font-size:11px; letter-spacing:0.3em;
  text-transform:uppercase; color:var(--navy); margin-bottom:22px;
  padding-bottom:14px; border-bottom:1px solid rgba(200,169,106,0.4)}
.picker-h span{color:var(--ink-soft); font-weight:400}
.picker-tier{margin-bottom:22px}
.picker-tier-h{display:flex; align-items:center; gap:10px;
  font-family:'Cinzel',serif; font-size:10.5px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold-deep); margin-bottom:10px}
.picker-tier-icon{font-size:14px}
.picker-tier-count{margin-left:auto; font-family:'Lora',serif;
  font-size:11px; color:var(--ink-soft); letter-spacing:0;
  text-transform:none; font-style:italic}
.picker-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:8px}
.picker-card{display:flex; align-items:center; gap:12px; padding:10px 12px;
  background:#fff; border:1px solid rgba(26,34,56,0.1); cursor:pointer;
  text-align:left; font-family:inherit; transition:all .2s; border-radius:2px}
.picker-card:hover{border-color:var(--gold); background:rgba(200,169,106,0.05);
  transform:translateX(2px); box-shadow:0 4px 12px rgba(15,20,36,0.06)}
.picker-card:disabled{opacity:0.5; cursor:wait}
.picker-av{width:36px; height:36px; border-radius:50%;
  background:linear-gradient(145deg,var(--navy),var(--navy-deep));
  color:var(--cream); display:flex; align-items:center; justify-content:center;
  font-family:'Cinzel',serif; font-size:11px; letter-spacing:0.05em;
  border:1px solid var(--gold); flex-shrink:0}
.picker-meta{display:flex; flex-direction:column; min-width:0; flex:1}
.picker-name{font-family:'Cormorant Garamond',serif; font-weight:600;
  font-size:0.98rem; color:var(--navy); line-height:1.15;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.picker-sub{font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--ink-soft); margin-top:2px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}

@media(max-width:900px){
  .login.login-wide{grid-template-columns:1fr; overflow-y:auto}
  .login-hero{padding:40px 28px 32px}
  .login-hero h1{font-size:1.9rem}
  .login-picker{padding:28px 22px; max-height:none}
  .picker-grid{grid-template-columns:1fr}
}


/* === Gezondheidsboekje === */
.health-cover{
  position:relative; padding:32px 36px 28px;
  background:linear-gradient(140deg, var(--cream-warm) 0%, var(--cream-soft) 100%);
  border:2px solid var(--navy);
  outline:1px solid var(--gold); outline-offset:5px;
  margin-bottom:26px;
  background-image:
    radial-gradient(ellipse at top right, rgba(200,169,106,0.08), transparent 60%),
    repeating-linear-gradient(45deg, transparent 0 14px, rgba(26,34,56,0.015) 14px 15px);
}
.health-cover::before{
  content:"GEZONDHEIDSBOEKJE \00B7 HEALTH RECORD"; position:absolute;
  top:-1px; left:50%; transform:translate(-50%,-50%);
  background:var(--cream-warm); padding:0 14px;
  font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.4em;
  color:var(--gold-deep);
}
.health-cover-stamp{
  position:absolute; top:22px; right:30px;
  width:96px; height:96px; border-radius:50%;
  border:2px solid #a83838; color:#a83838;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-family:'Cinzel',serif; font-size:9px;
  letter-spacing:0.18em; line-height:1.5; text-align:center;
  transform:rotate(-8deg); background:rgba(168,56,56,0.04);
  text-transform:uppercase;
}
.health-cover-stamp .hc-stamp-line.big{font-size:18px; font-family:'Cormorant Garamond',serif; letter-spacing:0.06em; margin:2px 0}
.health-cover-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:18px 28px;
  margin-right:110px;
}
.health-sum-item{padding:8px 0; border-bottom:1px dashed rgba(200,169,106,0.4)}
.health-sum-item.wide{grid-column:1 / -1}
.hs-label{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold-deep); margin-bottom:3px}
.hs-value{font-family:'Lora',serif; font-size:0.95rem; color:var(--ink); line-height:1.35}

/* Tabs */
.health-tabs{
  display:flex; gap:6px; margin-bottom:0; flex-wrap:wrap;
  border-bottom:2px solid var(--gold); padding:0;
}
.health-tab{
  background:transparent; border:1px solid rgba(26,34,56,0.15);
  border-bottom:none; padding:10px 16px;
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--ink-soft);
  cursor:pointer; transition:all .25s; border-radius:3px 3px 0 0;
  display:flex; align-items:center; gap:8px;
  margin-bottom:-1px;
}
.health-tab:hover{color:var(--navy); background:rgba(200,169,106,0.06)}
.health-tab.active{
  background:var(--cream-soft); color:var(--navy);
  border-color:var(--gold); border-bottom:1px solid var(--cream-soft);
  z-index:2;
}
.ht-icon{font-size:14px; color:var(--gold-deep)}
.ht-count{font-family:'Lora',serif; font-size:11px; color:var(--ink-soft);
  background:rgba(200,169,106,0.15); padding:2px 7px; border-radius:100px;
  letter-spacing:0; text-transform:none}
.health-tab.active .ht-count{background:var(--gold); color:var(--navy-deep)}

.health-log{padding:0; margin-top:0; border-top:none;
  background:var(--cream-soft);
  border:1px solid var(--gold); border-top:none}
.log-list{padding:6px 0}
.log-row{
  display:grid; grid-template-columns:120px 1fr auto;
  gap:18px; padding:14px 22px; align-items:center;
  border-bottom:1px dashed rgba(26,34,56,0.08);
}
.log-row:last-child{border-bottom:0}
.log-row:hover{background:rgba(200,169,106,0.04)}
.log-date{font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold-deep); white-space:nowrap}
.log-title{font-family:'Cormorant Garamond',serif; font-weight:600;
  font-size:1.05rem; color:var(--navy); line-height:1.25}
.log-meta{font-family:'Lora',serif; font-size:0.85rem; color:var(--ink-soft);
  margin-top:3px; line-height:1.45}
.log-meta em{color:var(--ink); font-style:italic}
.log-meta-right{font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--gold-deep); white-space:nowrap; text-align:right}
.log-meta-right.mono{font-family:'JetBrains Mono',monospace; font-size:9px;
  letter-spacing:0; color:var(--ink-soft); text-transform:none}

.health-notes{margin-top:18px; padding:18px 22px;
  background:linear-gradient(135deg, rgba(200,169,106,0.06), transparent);
  border:1px solid var(--gold); border-left:4px solid var(--gold)}
.health-notes-label{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.28em;
  text-transform:uppercase; color:var(--gold-deep); margin-bottom:8px}
.health-notes-body{font-family:'Lora',serif; font-size:0.95rem;
  color:var(--ink); line-height:1.55; margin:0}

.health-privacy{font-family:'Cormorant Garamond',serif; font-style:italic;
  text-align:center; color:var(--ink-soft); font-size:0.92rem;
  margin-top:14px; padding:10px 16px}

/* === References === */
.references-card{padding:22px}
.references-intro{font-family:'Cormorant Garamond',serif; font-style:italic;
  color:var(--ink-soft); font-size:1rem; margin-bottom:18px;
  padding-bottom:14px; border-bottom:1px solid rgba(200,169,106,0.3)}
.references-list{display:flex; flex-direction:column; gap:14px}
.reference-row{display:grid; grid-template-columns:60px 1fr; gap:14px;
  padding:12px 0; border-bottom:1px dashed rgba(26,34,56,0.08)}
.reference-row:last-child{border-bottom:0}
.ref-type{display:inline-block; padding:6px 0; text-align:center;
  font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.22em;
  text-transform:uppercase; border:1px solid; border-radius:2px;
  height:fit-content; min-width:50px}
.ref-type.stamboek{color:#5a8062; border-color:#5a8062; background:rgba(90,128,98,0.06)}
.ref-type.sport{color:var(--gold-deep); border-color:var(--gold); background:rgba(200,169,106,0.08)}
.ref-ancestor{font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold-deep); margin-bottom:4px}
.ref-title{font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.05rem;
  color:var(--navy); line-height:1.3; margin-bottom:5px}
.ref-source{font-family:'Lora',serif; font-size:0.85rem; color:var(--ink-soft);
  display:flex; flex-wrap:wrap; gap:8px; align-items:baseline}
.ref-link{font-family:'JetBrains Mono',monospace; font-size:0.78rem;
  color:var(--gold-deep); text-decoration:none;
  border-bottom:1px dotted var(--gold); padding-bottom:1px}
.ref-link::before{content:"\2197  "; opacity:0.6}
.ref-link:hover{color:var(--navy); border-bottom-color:var(--navy)}

@media (max-width:900px){
  .health-cover-grid{grid-template-columns:repeat(2,1fr); margin-right:0}
  .health-cover-stamp{position:static; margin:0 auto 14px; transform:none}
  .health-tabs{gap:3px}
  .health-tab{padding:8px 10px; font-size:9px}
  .ht-label{display:none}
  .log-row{grid-template-columns:auto 1fr; gap:10px; padding:12px 14px}
  .log-meta-right{grid-column:1 / -1; text-align:left; padding-left:0}
  .reference-row{grid-template-columns:50px 1fr}
}


/* ============================================================
   Marktplaats, Mijn Paarden, Lessen, Netwerk — extra styles
============================================================ */

/* Modal alias + variant */
.modal-backdrop{position:fixed; inset:0; background:rgba(15,20,36,0.7);
  backdrop-filter:blur(4px); z-index:100;
  display:flex; align-items:center; justify-content:center; padding:20px;
  overflow-y:auto}
.modal.modal-lg{max-width:880px; max-height:90vh; overflow-y:auto}

/* Lesson tabs (used by lessons + my-horses + network) */
.lesson-tabs{display:flex; gap:0; border-bottom:1px solid rgba(26,34,56,0.12);
  margin-bottom:22px; flex-wrap:wrap}
.lesson-tab{background:none; border:0; padding:12px 22px;
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--ink-soft); cursor:pointer;
  border-bottom:2px solid transparent; transition:all .25s}
.lesson-tab:hover{color:var(--navy)}
.lesson-tab.active{color:var(--navy); border-bottom-color:var(--gold)}

/* Filter chips */
.lesson-filters{display:flex; gap:18px; flex-wrap:wrap; margin-bottom:18px;
  align-items:center}
.filter-group{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.filter-label{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold-deep); margin-right:4px}
.chip{padding:6px 14px; border-radius:100px; border:1px solid rgba(26,34,56,0.2);
  background:transparent; font-family:'Lora',serif; font-size:0.82rem;
  color:var(--ink-soft); cursor:pointer; transition:all .2s}
.chip:hover{border-color:var(--gold); color:var(--navy)}
.chip.active{background:var(--navy); color:var(--cream); border-color:var(--navy)}

/* Lesson cards / week grid */
.week-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px}
.day-column{display:flex; flex-direction:column; gap:10px}
.day-header{padding:10px 0 10px; border-bottom:1px solid rgba(200,169,106,0.4);
  margin-bottom:4px}
.day-name{font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--navy);
  font-weight:600}
.day-count{font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--gold-deep); margin-top:2px}
.lesson-card{background:var(--cream-soft); border:1px solid rgba(26,34,56,0.1);
  border-left:3px solid var(--gold); padding:12px 14px; border-radius:2px;
  cursor:pointer; transition:all .2s}
.lesson-card:hover{border-left-color:var(--gold-deep); transform:translateX(2px);
  box-shadow:0 4px 14px rgba(15,20,36,0.08)}
.lesson-time{font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--gold-deep); margin-bottom:4px}
.lesson-title{font-family:'Cormorant Garamond',serif; font-size:1.1rem;
  color:var(--navy); font-weight:600; line-height:1.2}
.lesson-meta{display:flex; gap:6px; flex-wrap:wrap; margin-top:6px}
.lesson-discipline,.lesson-level{font-family:'Cinzel',serif; font-size:8px;
  letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-soft);
  padding:2px 6px; border:1px solid rgba(26,34,56,0.15); border-radius:2px}
.lesson-foot{display:flex; justify-content:space-between; align-items:center;
  margin-top:10px}
.lesson-instructor{display:flex; align-items:center; gap:6px;
  font-family:'Lora',serif; font-size:0.82rem; color:var(--ink)}
.avatar.sm{width:22px; height:22px; font-size:8px; border-width:1px}
.lesson-price{font-family:'Cormorant Garamond',serif; font-size:1.05rem;
  color:var(--gold-deep); font-weight:600}
.capacity-bar{width:100%; height:3px; background:rgba(26,34,56,0.08);
  border-radius:2px; margin-top:8px; overflow:hidden}
.capacity-fill{height:100%; background:var(--gold); transition:width .3s}
.capacity-text{font-family:'Cinzel',serif; font-size:8px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--ink-soft); margin-top:4px}

/* Booking rows */
.booking-row{display:flex; align-items:center; gap:14px; padding:14px 18px;
  border-bottom:1px solid rgba(26,34,56,0.08)}
.booking-row:last-child{border-bottom:0}
.booking-date{min-width:110px}
.booking-day{font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--navy);
  font-weight:600; text-transform:capitalize}
.booking-time{font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:0.2em;
  color:var(--gold-deep); margin-top:2px}
.booking-status{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.2em;
  text-transform:uppercase; padding:3px 9px; border-radius:100px;
  border:1px solid; display:inline-block; white-space:nowrap}
.booking-status.bevestigd{color:var(--green); border-color:var(--green); background:rgba(90,128,98,0.06)}
.booking-status.aangevraagd{color:var(--gold-deep); border-color:var(--gold-deep); background:rgba(200,169,106,0.08)}
.booking-status.wachtlijst{color:#a48645; border-color:#a48645; background:rgba(164,134,69,0.08)}
.booking-status.voltooid{color:var(--ink-soft); border-color:var(--ink-soft); background:rgba(26,34,56,0.05)}
.booking-status.geannuleerd,.booking-status.geweigerd{color:var(--red); border-color:var(--red); background:rgba(168,90,90,0.06)}
.booking-status.in_behandeling{color:var(--gold-deep); border-color:var(--gold-deep); background:rgba(200,169,106,0.08)}
.booking-status.geaccepteerd{color:var(--green); border-color:var(--green); background:rgba(90,128,98,0.06)}

/* Stats / cards */
.stat-label{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold-deep); margin-bottom:8px}
.stat-value{font-family:'Cormorant Garamond',serif; font-size:2.4rem;
  color:var(--navy); font-weight:600; line-height:1}
.stat-delta{font-family:'Lora',serif; font-style:italic; font-size:0.85rem;
  color:var(--ink-soft); margin-top:6px}
.card.dark .stat-label{color:var(--gold)}
.card.dark .stat-value{color:var(--cream)}
.card.dark .stat-delta{color:rgba(244,238,220,0.65)}
.card.dark{background:var(--navy); color:var(--cream)}

/* Section title */
.section-title{font-family:'Cormorant Garamond',serif; font-size:1.5rem;
  color:var(--navy); font-weight:500; margin:18px 0 14px;
  border-bottom:1px solid rgba(200,169,106,0.4); padding-bottom:8px}
.section-title em{font-style:italic; color:var(--gold-deep)}

/* Instructor card */
.instructor-card{padding:20px}

/* Network */
.conn-card{padding:18px}
.conn-type-pill{font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:0.2em;
  text-transform:uppercase; padding:3px 10px; border-radius:100px;
  border:1px solid; background:transparent}
.conn-remove{background:none; border:0; color:var(--ink-soft); cursor:pointer;
  font-size:14px; padding:4px 8px}
.conn-remove:hover{color:var(--red)}
.conn-note{margin-top:12px; padding:10px 12px; background:var(--cream-warm);
  border-left:2px solid var(--gold); font-style:italic; font-size:0.9rem;
  color:var(--ink-soft)}

/* My-horses */
.mh-card{padding:18px}
.mh-actions{display:flex; gap:8px; flex-wrap:wrap; margin-top:14px;
  padding-top:14px; border-top:1px solid rgba(26,34,56,0.08); align-items:center}
.for-sale-pill{font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:0.2em;
  text-transform:uppercase; padding:5px 11px; border-radius:100px;
  background:var(--gold); color:var(--navy-deep); font-weight:600}
.flow-pill{font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:0.2em;
  text-transform:uppercase; padding:3px 9px; border:1px solid var(--gold);
  border-radius:100px; color:var(--gold-deep); background:rgba(200,169,106,0.05)}

/* Sales card */
.sales-card{padding:20px; border-left:3px solid var(--gold)}
.sales-stats{display:flex; gap:20px; margin-top:14px; padding-top:14px;
  border-top:1px solid rgba(26,34,56,0.08); font-family:'Lora',serif; font-size:0.88rem;
  color:var(--ink-soft)}
.sales-stats strong{color:var(--navy); font-family:'Cormorant Garamond',serif;
  font-size:1.2rem; font-weight:600}

/* Viewing & offer rows */
.viewing-row,.offer-row{display:flex; gap:14px; align-items:flex-start;
  padding:18px; margin-bottom:14px}
.rapport-box{margin-top:10px; padding:12px 14px; background:var(--cream-warm);
  border-left:2px solid var(--green); border-radius:2px}

/* Step bar */
.step-bar{display:flex; gap:10px; align-items:center; margin-bottom:24px;
  padding-bottom:16px; border-bottom:1px solid rgba(26,34,56,0.08)}
.step-dot{width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'Cinzel',serif; font-size:11px; cursor:pointer;
  background:rgba(26,34,56,0.06); color:var(--ink-soft);
  border:1px solid rgba(26,34,56,0.15); transition:all .25s}
.step-dot.active{background:var(--gold); color:var(--navy-deep); border-color:var(--gold-deep)}
.step-dot.done{background:var(--navy); color:var(--cream); border-color:var(--navy)}

/* Listing keuringen / slots inputs */
.keuring-row,.slot-row{display:grid; gap:8px; margin-bottom:10px;
  align-items:center}
.keuring-row{grid-template-columns:1fr 130px 2fr auto}
.slot-row{grid-template-columns:130px 100px 1fr 1fr auto}
.keuring-row input,.slot-row input{padding:7px 10px; font-family:'Lora',serif;
  font-size:0.88rem; background:var(--cream-soft);
  border:1px solid rgba(26,34,56,0.18); border-radius:2px}

/* ============ Marketplace listing ============ */
.listing-card{padding:20px; border:1px solid rgba(200,169,106,0.4);
  border-left:4px solid var(--gold); transition:all .25s}
.listing-card:hover{box-shadow:0 8px 24px rgba(15,20,36,0.1); transform:translateY(-2px)}
.listing-header{display:flex; gap:14px; align-items:flex-start}
.listing-pills{display:flex; gap:6px; flex-wrap:wrap; margin-top:12px}
.listing-suit{margin-top:14px; padding-top:14px; border-top:1px dashed rgba(26,34,56,0.12)}
.suit-row{display:flex; gap:10px; align-items:flex-start; margin-bottom:6px}
.suit-label{font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--gold-deep); min-width:75px; padding-top:2px}
.suit-val{flex:1; font-family:'Lora',serif; font-size:0.9rem; color:var(--ink);
  font-style:italic; line-height:1.5}
.listing-foot{display:flex; justify-content:space-between; align-items:center;
  margin-top:14px; padding-top:14px; border-top:1px solid rgba(26,34,56,0.08);
  gap:12px; flex-wrap:wrap}

/* Listing detail in modal */
.listing-hero{display:flex; gap:18px; align-items:flex-start;
  padding:18px 0; margin:14px 0 18px;
  border-top:1px solid rgba(26,34,56,0.08);
  border-bottom:1px solid rgba(26,34,56,0.08)}
.listing-hero-photo{font-size:4rem; line-height:1; padding:6px}
.listing-section{margin:22px 0}
.suit-card{padding:16px; border-radius:3px; border:1px solid}
.suit-card.good{background:rgba(90,128,98,0.05); border-color:rgba(90,128,98,0.3)}
.suit-card.bad{background:rgba(168,90,90,0.05); border-color:rgba(168,90,90,0.3)}

.keuring-list{display:flex; flex-direction:column; gap:10px}
.keuring-item{display:flex; gap:14px; align-items:center;
  padding:12px 14px; background:var(--cream-warm); border-radius:2px;
  border-left:2px solid var(--green)}

.video-link{display:flex; gap:14px; align-items:center; padding:14px 18px;
  background:var(--navy); color:var(--cream); border-radius:3px;
  text-decoration:none; transition:all .25s}
.video-link:hover{background:var(--navy-deep)}
.video-link .row-meta{color:rgba(244,238,220,0.7)}

.extras-list{list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:6px}
.extras-list li{padding-left:18px; position:relative;
  font-family:'Lora',serif; font-size:0.92rem; line-height:1.5; color:var(--ink)}
.extras-list li::before{content:"✓"; position:absolute; left:0; color:var(--gold-deep);
  font-weight:bold}

.owner-block{display:flex; gap:14px; align-items:flex-start;
  padding:16px; background:var(--cream-warm); border-radius:3px}

/* Slot tiles */
.slots-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:10px; margin-top:10px}
.slot-tile{padding:14px; background:var(--cream-soft);
  border:1px solid rgba(200,169,106,0.4); border-radius:3px;
  cursor:pointer; transition:all .2s; text-align:left}
.slot-tile:hover{background:var(--gold); color:var(--navy-deep);
  border-color:var(--gold-deep); transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(200,169,106,0.3)}
.slot-tile:hover .slot-meta,.slot-tile:hover .slot-begeleider{color:var(--navy-deep)}
.slot-date{font-family:'Cormorant Garamond',serif; font-size:1.05rem;
  color:var(--navy); font-weight:600; text-transform:capitalize}
.slot-time{font-family:'Cinzel',serif; font-size:14px; letter-spacing:0.15em;
  color:var(--gold-deep); margin-top:4px; font-weight:600}
.slot-meta{font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--ink-soft); margin-top:6px}
.slot-begeleider{font-family:'Lora',serif; font-style:italic; font-size:0.82rem;
  color:var(--ink-soft); margin-top:4px}

.my-viewing-banner{padding:10px 14px; background:rgba(200,169,106,0.1);
  border-left:3px solid var(--gold); margin-bottom:14px;
  font-family:'Lora',serif; font-size:0.9rem; color:var(--ink)}

/* Verified mark */
.verified{color:var(--gold-deep); font-size:0.85em; margin-left:4px}

/* Horse card photo */
.horse-photo{font-size:2rem; line-height:1; padding:2px}
.horse-meta{font-family:'Lora',serif; font-size:0.85rem; color:var(--ink-soft); margin-top:2px}


/* ============================================================
   Sidebar me-card (clickable own profile)
   ============================================================ */
.me-card{margin-top:auto; padding:18px 14px 12px; cursor:pointer;
  display:flex; align-items:center; gap:10px;
  border-top:1px solid rgba(200,169,106,0.18);
  transition:background 0.2s}
.me-card:hover{background:rgba(200,169,106,0.06)}
.me-arrow{font-family:'Cinzel',serif; color:var(--gold); opacity:0; font-size:14px;
  transition:opacity 0.2s, transform 0.2s}
.me-card:hover .me-arrow{opacity:1; transform:translateX(2px)}

/* ============================================================
   Lessons v2 — slot-systeem, requests, create
   ============================================================ */

/* Lesson cards: indicate slot type */
.lesson-card .slot-badge{display:inline-flex; gap:5px; align-items:center;
  font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:0.2em;
  text-transform:uppercase; padding:2px 7px; border-radius:2px;
  background:rgba(200,169,106,0.16); color:var(--gold-deep);
  margin-left:6px}
.lesson-card .slot-badge.eigen{background:rgba(15,20,36,0.08); color:var(--navy)}
.lesson-card .slot-badge.beide{background:linear-gradient(90deg,rgba(200,169,106,0.16),rgba(15,20,36,0.08));}

.slot-roster{display:flex; flex-direction:column; gap:6px; margin-top:8px}
.slot-row{display:flex; align-items:center; gap:8px; padding:6px 8px;
  background:#fbf6e9; border-left:2px solid var(--gold);
  border-radius:2px; font-size:0.85rem}
.slot-row .av{width:22px; height:22px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(145deg,var(--navy),var(--navy-deep));
  color:var(--cream); display:flex; align-items:center; justify-content:center;
  font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:0.04em}
.slot-row .name{flex:1; font-family:'Cormorant Garamond',serif; color:var(--navy)}
.slot-row .meta{font-size:0.78rem; color:var(--ink-soft); font-style:italic}
.slot-row.empty{background:transparent; border-left-color:rgba(200,169,106,0.4);
  color:var(--ink-soft); font-style:italic}
.slot-row.you{background:linear-gradient(90deg,rgba(200,169,106,0.18),rgba(200,169,106,0.04));
  border-left-color:var(--gold-deep)}
.slot-row.sit-out{background:rgba(15,20,36,0.04); border-left-color:rgba(15,20,36,0.2)}
.slot-row.sit-out .name{text-decoration:line-through; opacity:0.6}
.slot-row.sit-out .opens-up{color:var(--gold-deep); font-style:italic; font-size:0.78rem;
  font-family:'Cormorant Garamond',serif; text-decoration:none}

.lesson-actions{display:flex; flex-direction:column; gap:8px; margin-top:14px;
  padding-top:14px; border-top:1px solid rgba(26,34,56,0.08)}
.action-row{display:flex; gap:8px; align-items:center; justify-content:space-between;
  padding:10px 12px; background:#fbf6e9; border-radius:3px;
  border-left:2px solid var(--gold)}
.action-row .label{font-family:'Cormorant Garamond',serif; font-size:0.95rem; color:var(--navy)}
.action-row .sub{font-size:0.78rem; color:var(--ink-soft); font-style:italic}

.kind-pill{display:inline-block; padding:1px 7px; border-radius:2px;
  font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:0.18em;
  text-transform:uppercase; margin-left:6px}
.kind-pill.vast{background:var(--gold-deep); color:var(--cream)}
.kind-pill.drop-in{background:rgba(15,20,36,0.85); color:var(--cream)}
.kind-pill.fill-in{background:rgba(56,118,73,0.85); color:#fff}
.kind-pill.sit-out{background:rgba(146,107,33,0.4); color:var(--ink)}

/* Open slots (when others sit out) */
.open-slot-banner{background:linear-gradient(135deg,rgba(56,118,73,0.10),rgba(56,118,73,0.02));
  border:1px solid rgba(56,118,73,0.3); border-left:3px solid rgb(56,118,73);
  border-radius:3px; padding:10px 14px; margin-bottom:14px;
  display:flex; align-items:center; gap:14px}
.open-slot-banner .icon{font-size:1.3rem}
.open-slot-banner .body{flex:1}
.open-slot-banner .ttl{font-family:'Cormorant Garamond',serif; color:rgb(35,72,46);
  font-size:1.05rem; font-weight:600}
.open-slot-banner .sub{font-size:0.85rem; color:var(--ink-soft); font-style:italic}

/* Sub-tabs */
.subtabs{display:flex; gap:2px; margin-bottom:18px; border-bottom:1px solid rgba(26,34,56,0.1)}
.subtab{padding:9px 14px; cursor:pointer; background:none; border:0;
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--ink-soft); position:relative}
.subtab.active{color:var(--gold-deep)}
.subtab.active::after{content:""; position:absolute; bottom:-1px; left:0; right:0;
  height:2px; background:var(--gold)}

/* Requests */
.request-card{background:#fbf6e9; border-left:3px solid var(--gold);
  padding:14px 18px; border-radius:3px; margin-bottom:12px}
.request-card .req-head{display:flex; justify-content:space-between; align-items:flex-start;
  margin-bottom:8px}
.request-card .req-status{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.22em;
  text-transform:uppercase; padding:3px 9px; border-radius:2px}
.req-status.open{background:rgba(146,107,33,0.18); color:var(--gold-deep)}
.req-status.voorgesteld{background:rgba(15,80,140,0.12); color:rgb(15,80,140)}
.req-status.bevestigd{background:rgba(56,118,73,0.18); color:rgb(35,72,46)}
.req-status.geweigerd{background:rgba(140,30,30,0.12); color:rgb(140,30,30)}
.req-meta{font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--ink-soft); margin-bottom:4px}
.req-body{font-family:'Cormorant Garamond',serif; font-size:1.05rem; color:var(--navy);
  line-height:1.5}
.req-note{margin-top:8px; padding:8px 12px; background:#fff; border-radius:2px;
  font-style:italic; color:var(--ink-soft); font-size:0.92rem}
.req-actions{margin-top:12px; display:flex; gap:8px; justify-content:flex-end}

/* Create lesson modal */
.create-lesson-form .grid-2{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.create-lesson-form .grid-3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px}
.mount-radio{display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; margin-top:6px}
.mount-radio label{padding:10px; border:1px solid rgba(26,34,56,0.12); border-radius:3px;
  cursor:pointer; text-align:center; transition:all 0.2s}
.mount-radio input{display:none}
.mount-radio label:has(input:checked){border-color:var(--gold); background:#fbf6e9;
  color:var(--gold-deep); font-weight:600}
.mount-radio .ttl{font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--navy);
  display:block; margin-bottom:2px}
.mount-radio .desc{font-size:0.78rem; color:var(--ink-soft); font-style:italic}

/* Manege-horse list (chips) */
.manege-horses{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px}
.mh-chip{padding:5px 10px; background:#fbf6e9; border-radius:2px;
  font-size:0.85rem; color:var(--navy); border:1px solid rgba(200,169,106,0.3);
  display:inline-flex; gap:6px; align-items:center}
.mh-chip .breed{font-size:0.72rem; color:var(--ink-soft); font-style:italic}
.mh-chip button{background:none; border:0; color:var(--ink-soft); cursor:pointer;
  font-size:14px; padding:0 0 0 4px; line-height:1}
.mh-chip button:hover{color:rgb(140,30,30)}

/* Inbox notification dot */
.subtab .dot{display:inline-block; width:6px; height:6px; border-radius:50%;
  background:rgb(140,30,30); margin-left:6px; vertical-align:middle}

/* Slot count vs capacity bar */
.slot-progress{display:flex; gap:4px; margin-top:8px}
.slot-progress .slot-pip{flex:1; height:4px; border-radius:2px;
  background:rgba(26,34,56,0.08)}
.slot-progress .slot-pip.taken{background:var(--gold)}
.slot-progress .slot-pip.you{background:var(--gold-deep); box-shadow:0 0 0 1px var(--gold)}
.slot-progress .slot-pip.open{background:rgb(56,118,73)}

/* Lesson tabs notification dot */
.lesson-tabs .dot{display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--gold); margin-left:6px; vertical-align:middle;
  box-shadow:0 0 0 2px rgba(200,169,106,0.25)}

/* Lesson detail modal grid */
.modal.lesson-detail{max-width:760px}
.lesson-detail .ld-grid{display:grid; grid-template-columns:1.2fr 1fr; gap:24px;
  margin-top:14px}
@media (max-width:680px){.lesson-detail .ld-grid{grid-template-columns:1fr}}
.lesson-detail .info-row{display:flex; justify-content:space-between; gap:14px;
  padding:6px 0; border-bottom:1px dashed rgba(26,34,56,0.08); align-items:flex-start}
.lesson-detail .info-row .lbl{font-family:'Cinzel',serif; font-size:9.5px;
  letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-soft);
  white-space:nowrap; flex-shrink:0; padding-top:5px}
.lesson-detail .info-row .val{font-family:'Cormorant Garamond',serif;
  font-size:1rem; color:var(--navy); text-align:right; min-width:0; line-height:1.35}

/* Action block (booking actions in detail modal) */
.action-block{display:flex; gap:14px; align-items:center; justify-content:space-between;
  padding:14px 16px; background:#fbf6e9; border-radius:3px;
  border-left:3px solid var(--gold); flex-wrap:wrap}

/* Lesson card price/capacity tweak */
.lesson-card .capacity-text{font-family:'Cinzel',serif; font-size:8.5px;
  letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-soft);
  margin-top:6px}


/* ===== Payout banner — toon split lesgever vs manege ===== */
.payout-banner{margin-top:12px; padding:10px 14px;
  background:linear-gradient(180deg, rgba(244,231,194,0.55), rgba(244,231,194,0.25));
  border-top:1px solid rgba(196,162,75,0.4);
  border-bottom:1px solid rgba(196,162,75,0.2);
  display:flex; gap:18px; align-items:center; justify-content:space-between;
  flex-wrap:wrap}
.payout-banner .payout-eyebrow{font-family:'Cinzel',serif; font-size:9px;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-soft);
  display:block; margin-bottom:2px}
.payout-banner .payout-model{display:flex; flex-direction:column}
.payout-banner .payout-model .payout-value{font-family:'Cormorant Garamond',serif;
  font-size:1.1rem; font-weight:600; color:var(--ink); font-style:italic}
.payout-banner .payout-split{display:flex; align-items:stretch; gap:14px}
.payout-banner .payout-cell{display:flex; flex-direction:column; min-width:88px}
.payout-banner .payout-amount{font-family:'Cinzel',serif; font-size:13px;
  letter-spacing:0.1em; font-weight:600}
.payout-banner .payout-divider{width:1px; background:rgba(26,34,56,0.12)}
