:root {
  --brand: #7d2b30;
  --brand-dark: #5f1f23;
  --brand-soft: #f6edef;
  --gold: #b9985a;
  --ink: #201b1c;
  --muted: #71696b;
  --line: #eadfe1;
  --surface: #ffffff;
  --page: #f6f3f3;
  --success: #287a55;
  --shadow: 0 12px 34px rgba(48, 24, 27, 0.10);
  --radius: 22px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--ink);
  background: var(--brand);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--brand); }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--brand);
  overscroll-behavior-y: none;
}
button, input, a { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; }
img { display: block; max-width: 100%; }

#app { min-height: 100vh; min-height: 100dvh; background: var(--page); }
.app-shell { min-height: 100vh; min-height: 100dvh; background: var(--page); padding-bottom: calc(92px + env(safe-area-inset-bottom)); }

/* La cabecera ocupa también el safe-area del iPhone cuando la app está instalada. */
.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  min-height: calc(68px + env(safe-area-inset-top));
  padding: calc(10px + env(safe-area-inset-top)) 12px 10px;
  background: var(--brand);
  color: #fff;
  box-shadow: 0 2px 0 rgba(255,255,255,.08);
}
.topbar--home { grid-template-columns: minmax(0, 1fr) 44px; }
.topbar-title {
  margin: 0;
  color: #fff !important;
  font-size: 1.08rem;
  font-weight: 750;
  line-height: 1.15;
  text-align: center;
  letter-spacing: -.015em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.topbar--home .topbar-title { text-align: left; }
.topbar-kicker { display: block; font-size: .70rem; opacity: .74; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 2px; }
.icon-button {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 14px;
  display: inline-grid;
  place-items: center;
  background: rgba(255,255,255,.11);
  color: #fff;
}
.icon-button:active { transform: scale(.96); background: rgba(255,255,255,.18); }
.icon-button svg { width: 23px; height: 23px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

.content { width: min(100%, 760px); margin: 0 auto; padding: 20px 16px 28px; }
.content--flush { padding-top: 0; }

.hero-card {
  border-radius: 26px;
  padding: 22px;
  color: #fff;
  background: linear-gradient(145deg, #8a343a, #672127);
  box-shadow: var(--shadow);
  overflow: hidden;
  position: relative;
}
.hero-card::after { content:""; position:absolute; width:190px; height:190px; border:1px solid rgba(255,255,255,.14); border-radius:50%; right:-70px; top:-72px; box-shadow: 0 0 0 28px rgba(255,255,255,.035), 0 0 0 56px rgba(255,255,255,.025); }
.hero-card h1 { position: relative; z-index:1; margin: 2px 0 7px; font-size: 1.65rem; letter-spacing: -.03em; }
.hero-card p { position:relative; z-index:1; margin:0; opacity:.88; line-height:1.45; }
.member-pill { position:relative; z-index:1; display:inline-flex; gap:8px; align-items:center; margin-top:17px; padding:8px 11px; border-radius:999px; background:rgba(255,255,255,.13); font-size:.82rem; }
.member-pill::before { content:""; width:8px; height:8px; border-radius:50%; background:#8ee1b5; }

.section-title { margin: 26px 2px 12px; font-size: .88rem; color: var(--muted); font-weight: 800; letter-spacing:.06em; text-transform:uppercase; }
.menu-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; }
.menu-card {
  min-height: 132px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  padding: 17px;
  text-align:left;
  color:var(--ink);
  box-shadow: 0 7px 22px rgba(48,24,27,.055);
}
.menu-card:active { transform: scale(.985); }
.menu-icon { width:43px; height:43px; border-radius:14px; display:grid; place-items:center; color:var(--brand); background:var(--brand-soft); margin-bottom:14px; }
.menu-icon svg { width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.menu-card strong { display:block; font-size:1rem; margin-bottom:4px; }
.menu-card small { color:var(--muted); line-height:1.35; }

.card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 7px 22px rgba(48,24,27,.055); overflow:hidden; }
.card + .card { margin-top:12px; }
.card-body { padding:17px; }
.row { display:flex; align-items:center; gap:13px; }
.row-between { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.muted { color:var(--muted); }
.small { font-size:.85rem; }
.badge { display:inline-flex; align-items:center; padding:6px 9px; border-radius:999px; font-size:.76rem; font-weight:750; background:var(--brand-soft); color:var(--brand); }
.badge--success { color:var(--success); background:#eaf7f0; }
.badge--neutral { color:#635a5c; background:#f1eeee; }

.quota-list { display:grid; gap:12px; }
.quota-item { padding:17px; background:#fff; border:1px solid var(--line); border-radius:18px; }
.quota-item h3 { margin:0 0 5px; font-size:1rem; }
.quota-amount { font-size:1.18rem; font-weight:800; color:var(--brand); white-space:nowrap; }
.quota-meta { margin-top:8px; display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:.82rem; }

/* EVENTOS */
.events-list { display:grid; gap:14px; }
.event-card { border:1px solid var(--line); border-radius:22px; overflow:hidden; background:#fff; box-shadow:0 8px 26px rgba(48,24,27,.07); cursor:pointer; }
.event-card:active { transform:scale(.992); }
.event-image { width:100%; aspect-ratio: 16 / 9; object-fit:cover; background:#eee6e7; }
.event-image-placeholder { aspect-ratio:16/9; display:grid; place-items:center; background:linear-gradient(145deg,#8a343a,#5d1e23); color:#fff; }
.event-image-placeholder svg { width:45px; height:45px; opacity:.82; }
.event-card-body { padding:16px; }
.event-card h2 { margin:0 0 9px; font-size:1.12rem; line-height:1.25; letter-spacing:-.02em; }
.event-meta { display:grid; gap:7px; color:var(--muted); font-size:.86rem; }
.event-meta-line { display:flex; align-items:flex-start; gap:8px; }
.event-meta-line svg { width:17px; height:17px; flex:0 0 auto; margin-top:1px; stroke:var(--brand); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.event-card-footer { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:14px; padding-top:13px; border-top:1px solid #f0e7e8; }
.event-link-text { color:var(--brand); font-size:.86rem; font-weight:800; }

.event-detail-hero { position:relative; margin:0 -16px 18px; background:#2f2022; }
.event-detail-hero img { width:100%; max-height:370px; object-fit:cover; }
.event-detail-hero::after { content:""; position:absolute; inset:auto 0 0; height:45%; background:linear-gradient(transparent, rgba(24,14,15,.65)); pointer-events:none; }
.event-detail-title { margin: 8px 0 14px; font-size:1.65rem; line-height:1.15; letter-spacing:-.035em; }
.event-info-grid { display:grid; gap:10px; margin-bottom:18px; }
.info-line { display:grid; grid-template-columns:38px minmax(0,1fr); gap:10px; align-items:start; }
.info-icon { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:var(--brand-soft); color:var(--brand); }
.info-icon svg { width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.info-line strong { display:block; font-size:.87rem; margin-top:1px; }
.info-line span { display:block; color:var(--muted); font-size:.86rem; line-height:1.45; margin-top:2px; }
.event-description { padding-top:4px; color:#3d3637; font-size:.96rem; line-height:1.65; }
.event-description p:first-child { margin-top:0; }
.event-description a { color:var(--brand); font-weight:700; }
.event-description img { border-radius:15px; }

.primary-button, .secondary-button {
  width:100%; border-radius:16px; padding:13px 16px; font-weight:800; text-align:center; display:inline-flex; justify-content:center; align-items:center; gap:8px; text-decoration:none;
}
.primary-button { border:1px solid var(--brand); background:var(--brand); color:#fff; }
.secondary-button { border:1px solid #d7c6c8; background:#fff; color:var(--brand); }
.primary-button + .secondary-button, .secondary-button + .primary-button { margin-top:10px; }

.digital-card { color:#fff; border-radius:26px; padding:22px; min-height:300px; background:linear-gradient(145deg,#8a343a,#5f1f24); box-shadow:var(--shadow); position:relative; overflow:hidden; }
.digital-card::before { content:""; position:absolute; width:230px; height:230px; border-radius:50%; border:1px solid rgba(255,255,255,.12); right:-85px; bottom:-95px; box-shadow:0 0 0 35px rgba(255,255,255,.03),0 0 0 70px rgba(255,255,255,.02); }
.digital-card-logo { width:56px; height:56px; border-radius:16px; background:#fff; padding:7px; }
.digital-card h2 { margin:24px 0 4px; font-size:1.38rem; }
.digital-card p { margin:0; opacity:.78; }
.card-number { margin-top:28px; font-size:1.55rem; font-weight:850; letter-spacing:.04em; }
.digital-card-copy { padding-right:128px; position:relative; z-index:1; }
.digital-card-qr { position:absolute; z-index:2; right:22px; bottom:52px; width:104px; display:grid; justify-items:center; gap:5px; }
.digital-card-qr img { display:block; width:104px; height:104px; padding:6px; border-radius:12px; background:#fff; box-shadow:0 8px 20px rgba(29,5,7,.22); }
.digital-card-qr small { color:#fff; font-size:.63rem; font-weight:700; letter-spacing:.02em; text-align:center; }
.digital-card-qr--pending { height:104px; align-content:center; border:1px dashed rgba(255,255,255,.42); border-radius:12px; background:rgba(255,255,255,.08); }
.digital-card-qr--pending span { font-size:1.1rem; font-weight:800; }
.digital-card-foot { position:absolute; z-index:1; left:22px; right:22px; bottom:22px; display:flex; justify-content:space-between; font-size:.78rem; opacity:.75; }
@media (max-width:420px) {
  .digital-card { min-height:310px; }
  .digital-card-copy { padding-right:112px; }
  .digital-card-qr { right:18px; width:94px; }
  .digital-card-qr img { width:94px; height:94px; }
}

.profile-list { overflow:hidden; }
.profile-row { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:15px 17px; border-bottom:1px solid #f1e7e8; }
.profile-row:last-child { border-bottom:0; }
.profile-row span:first-child { color:var(--muted); font-size:.86rem; }
.profile-row strong { max-width:65%; text-align:right; font-size:.9rem; overflow-wrap:anywhere; }

.notice { border:1px solid #e8d6d8; border-radius:18px; padding:15px; background:#fff8f8; color:#6a4145; line-height:1.45; font-size:.9rem; }
.empty-state { text-align:center; padding:38px 22px; background:#fff; border:1px solid var(--line); border-radius:22px; }
.empty-state svg { width:44px; height:44px; stroke:var(--brand); fill:none; stroke-width:1.6; margin-bottom:10px; }
.empty-state h3 { margin:0 0 7px; }
.empty-state p { margin:0 0 17px; color:var(--muted); line-height:1.45; }

.skeleton { border-radius:18px; min-height:190px; background:linear-gradient(90deg,#eee7e8 25%,#f7f3f4 37%,#eee7e8 63%); background-size:400% 100%; animation:shimmer 1.35s infinite; }
@keyframes shimmer { 0%{background-position:100% 0} 100%{background-position:-100% 0} }

.bottom-nav {
  position:fixed; z-index:30; left:50%; bottom:0; transform:translateX(-50%); width:min(100%,760px);
  display:grid; grid-template-columns:repeat(5,1fr); padding:8px 8px calc(8px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border-top:1px solid var(--line);
}
.nav-item { border:0; background:transparent; color:#807678; padding:6px 2px 4px; display:grid; justify-items:center; gap:3px; font-size:.68rem; font-weight:700; }
.nav-item svg { width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.nav-item.active { color:var(--brand); }

.login-shell { min-height:100vh; min-height:100dvh; display:grid; align-items:center; padding:calc(30px + env(safe-area-inset-top)) 18px calc(30px + env(safe-area-inset-bottom)); background:linear-gradient(155deg,#5f1f24,#7d2b30 48%,#9a454a); }
.login-card { width:min(100%,430px); margin:auto; padding:28px 23px; border-radius:28px; background:#fff; box-shadow:0 24px 80px rgba(35,7,10,.26); }
.login-logo { width:76px; height:76px; margin:0 auto 18px; }
.login-card h1 { margin:0; text-align:center; font-size:1.48rem; line-height:1.2; }
.login-card .subtitle { text-align:center; color:var(--muted); margin:8px 0 24px; }
.login-card label { display:block; margin:13px 2px 6px; font-size:.82rem; color:#5f5759; font-weight:750; }
.login-card input { width:100%; border:1px solid #dcced0; border-radius:14px; padding:12px 13px; outline:none; background:#fff; }
.login-card input:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(125,43,48,.10); }
.login-actions { display:grid; gap:10px; margin-top:19px; }
.demo-note { margin:16px 0 0; padding:12px; border-radius:14px; background:#f8f4f4; color:var(--muted); font-size:.78rem; line-height:1.45; }

.admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.stat-card { background:#fff; border:1px solid var(--line); border-radius:18px; padding:16px; }
.stat-card strong { display:block; color:var(--brand); font-size:1.55rem; }
.stat-card span { font-size:.82rem; color:var(--muted); }

@media (min-width: 640px) {
  .content { padding-left:22px; padding-right:22px; }
  .menu-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .menu-card { min-height:145px; }
  .events-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .event-detail-hero { margin-left:0; margin-right:0; border-radius:24px; overflow:hidden; }
  .admin-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition:none !important; }
}


:root { --wine:var(--brand); --wine-dark:var(--brand-dark); --wine-soft:var(--brand-soft); --paper:#fffdf9; --white:#fff; --warning:#a56b10; --danger:#a1373e; }


/* Admin controls */
.adm-eyebrow { color:var(--brand); text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:700; }
.adm-primary-btn,.adm-secondary-btn,.adm-ghost-btn { border-radius:13px; padding:13px 17px; font-weight:700; transition:.2s; }
.adm-primary-btn { border:0; background:var(--brand); color:#fff; box-shadow:0 9px 20px rgba(125,43,48,.22); }
.adm-secondary-btn { border:0; background:var(--gold-soft); color:#74571c; }
.adm-ghost-btn { background:transparent; color:var(--brand); border:1px solid var(--line); }
.adm-full { width:100%; }
.adm-badge { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:5px 9px; font-size:11px; font-weight:700; }
.adm-badge.wine { background:var(--brand-soft); color:var(--brand); }
.adm-badge.gold { background:var(--gold-soft); color:#765719; }
.adm-badge.green { background:#e7f5ee; color:var(--success); }
.adm-badge.amber { background:#fff3da; color:#a56b10; }
.adm-badge.red { background:#fae7e9; color:#a1373e; }

/* App shell */
.adm-shell { min-height: 100vh; display: grid; grid-template-columns: 270px 1fr; }
.adm-sidebar {
  position: fixed; inset: 0 auto 0 0; width: 270px; padding: 26px 18px 22px;
  color: white; background: linear-gradient(180deg, #601e25, #351014);
  display: flex; flex-direction: column; z-index: 20;
}
.adm-sidebar-brand { display: flex; gap: 12px; align-items: center; padding: 0 9px 25px; }
.adm-sidebar-brand img { width: 62px; height: 62px; object-fit: contain; filter: brightness(0) invert(1); }
.adm-sidebar-brand strong { display: block; font-family: "Cormorant Garamond", serif; font-size: 22px; line-height: .95; }
.adm-sidebar-brand small { color: rgba(255,255,255,.65); }
.adm-nav-label { font-size: 10px; text-transform: uppercase; letter-spacing: .16em; color: rgba(255,255,255,.42); margin: 18px 12px 8px; }
.adm-nav-btn {
  width: 100%; display: flex; align-items: center; gap: 12px; border: 0; color: rgba(255,255,255,.72);
  background: transparent; border-radius: 12px; padding: 11px 12px; margin: 2px 0; text-align: left;
}
.adm-nav-btn:hover, .adm-nav-btn.active { color: white; background: rgba(255,255,255,.11); }
.adm-nav-icon { width: 23px; font-size: 18px; text-align: center; }
.adm-sidebar-bottom { margin-top: auto; }
.adm-user-chip { background: rgba(255,255,255,.08); padding: 12px; border-radius: 14px; display: flex; gap: 10px; align-items: center; }
.adm-avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--gold); color: #3f2b08; display: grid; place-items: center; font-weight: 800; }
.adm-user-chip strong { font-size: 13px; display: block; }
.adm-user-chip span { font-size: 11px; color: rgba(255,255,255,.58); }
.adm-content { grid-column: 2; min-width: 0; }
.adm-topbar {
  min-height: 76px; display: flex; justify-content: space-between; align-items: center; gap: 18px;
  padding: 14px 30px; background: rgba(255,253,249,.92); border-bottom: 1px solid var(--line);
  position: sticky; top: 0; z-index: 10; backdrop-filter: blur(12px);
}
.adm-topbar h1 { margin: 0; font-size: 30px; }
.adm-topbar p { margin: 2px 0 0; color: var(--muted); font-size: 12px; }
.adm-topbar-actions { display: flex; align-items: center; gap: 10px; }
.adm-icon-btn { width: 42px; height: 42px; border-radius: 12px; border: 1px solid var(--line); background: white; }
.adm-page { padding: 28px 30px 100px; max-width: 1500px; margin: 0 auto; }
.adm-grid { display: grid; gap: 18px; }
.adm-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.adm-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.adm-grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.adm-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 5px 20px rgba(63,26,31,.035); }
.adm-card-pad { padding: 22px; }
.adm-metric { padding: 20px; position: relative; overflow: hidden; }
.adm-metric::after { content:""; position:absolute; width:70px; height:70px; border-radius:50%; right:-25px; top:-25px; background:var(--wine-soft); }
.adm-metric .adm-value { display: block; font-size: 32px; font-weight: 800; margin: 8px 0 3px; }
.adm-metric .adm-label { color: var(--muted); font-size: 12px; }
.adm-metric .adm-trend { font-size: 11px; color: var(--success); }
.adm-section-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 28px 0 14px; }
.adm-section-head h2 { margin: 0; font-size: 28px; }
.adm-section-head p { color: var(--muted); margin: 2px 0 0; font-size: 12px; }
.adm-table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 700px; }
th, td { padding: 14px 16px; text-align: left; border-bottom: 1px solid #eee8e9; font-size: 13px; }
th { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; background: #fcfaf8; }
tr:last-child td { border-bottom: 0; }
.adm-member-cell { display: flex; gap: 11px; align-items: center; }
.adm-member-cell .adm-avatar { background: var(--wine-soft); color: var(--wine); }
.adm-member-cell strong { display: block; }
.adm-member-cell small { color: var(--muted); }
.adm-badge { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; padding: 5px 9px; font-size: 11px; font-weight: 700; }
.adm-badge.wine { background: var(--wine-soft); color: var(--wine); }
.adm-badge.gold { background: var(--gold-soft); color: #765719; }
.adm-badge.green { background: #e7f5ee; color: var(--success); }
.adm-badge.amber { background: #fff3da; color: var(--warning); }
.adm-badge.red { background: #fae7e9; color: var(--danger); }
.adm-action-link { color: var(--wine); font-weight: 700; border: 0; background: transparent; padding: 0; }
.adm-toolbar { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-bottom: 16px; }
.adm-search { min-width: 260px; flex: 1; position: relative; }
.adm-search input { width: 100%; padding: 12px 14px 12px 40px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.adm-search span { position: absolute; left: 14px; top: 12px; }
.adm-filter { border: 1px solid var(--line); background: white; border-radius: 12px; padding: 12px 14px; }
.adm-empty-note { text-align:center; color:var(--muted); padding:45px 20px; }

/* Dashboard extras */
.adm-hero {
  padding: 28px; color: white; background: linear-gradient(120deg, #6f2229, #9d3d43);
  position: relative; overflow: hidden;
}
.adm-hero::after { content:"✦"; position:absolute; right:35px; top:10px; font-size:130px; color:rgba(255,255,255,.08); }
.adm-hero h2 { font-size: 38px; margin: 0 0 8px; }
.adm-hero p { color: rgba(255,255,255,.78); max-width: 650px; line-height: 1.6; }
.adm-hero-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.adm-hero .adm-secondary-btn { background:white; color:var(--wine); }
.adm-hero .adm-ghost-btn { border-color:rgba(255,255,255,.25); color:white; }
.adm-activity-list { padding: 0; margin: 0; list-style: none; }
.adm-activity-list li { display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }
.adm-activity-list li:last-child { border:0; }
.adm-activity-dot { width:9px; height:9px; border-radius:50%; background:var(--wine); margin-top:6px; flex:0 0 auto; }
.adm-activity-list strong { display:block; font-size:13px; }
.adm-activity-list span { color:var(--muted); font-size:11px; }
.adm-progress { height:8px; background:#eee8e9; border-radius:999px; overflow:hidden; }
.adm-progress > span { display:block; height:100%; background:var(--wine); border-radius:inherit; }


/* Detail */
.adm-detail-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap:18px; }
.adm-detail-head { display:flex; gap:18px; align-items:center; }
.adm-detail-head .adm-avatar { width:64px; height:64px; font-size:22px; }
.adm-detail-head h2 { margin:0; font-size:32px; }
.adm-detail-head p { margin:2px 0; color:var(--muted); font-size:12px; }
.adm-info-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:22px; }
.adm-info-item { background:#fcfaf8; border:1px solid var(--line); border-radius:13px; padding:13px; }
.adm-info-item span { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.adm-info-item strong { display:block; margin-top:5px; font-size:13px; }



.adm-event-date { text-align:center; background:var(--brand-soft); color:var(--brand); padding:8px; border-radius:13px; }
.adm-event-date strong { display:block; font-size:20px; }
.adm-event-date span { font-size:10px; text-transform:uppercase; }

/* Responsive administration */
.adm-admin-bottom.adm-mobile-only { display:none !important; }
.adm-topbar h1,.adm-hero h2,.adm-section-head h2,.adm-detail-head h2 { font-family:"Cormorant Garamond",Georgia,serif; }
.adm-sidebar-brand img { padding:5px 6px; border-radius:10px; background:rgba(255,255,255,.94); filter:none !important; }
@media (max-width:1100px) {
  .adm-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .adm-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .adm-detail-grid { grid-template-columns:1fr; }
}
@media (max-width:900px) {
  .adm-shell { display:block; padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
  .adm-sidebar { display:none; }
  .adm-content { display:block; }
  .adm-topbar { min-height:calc(68px + env(safe-area-inset-top)); padding:calc(10px + env(safe-area-inset-top)) 18px 10px; color:#fff; background:var(--brand); border-bottom:0; }
  .adm-topbar h1 { color:#fff; font-size:26px; }
  .adm-topbar p { color:rgba(255,255,255,.65); }
  .adm-icon-btn { color:#fff; border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.1); }
  .adm-topbar .adm-primary-btn { display:none; }
  .adm-page { padding:20px 17px 90px; }
  .adm-admin-bottom.adm-mobile-only { position:fixed; z-index:60; left:0; right:0; bottom:0; display:flex !important; justify-content:center; padding:7px 8px calc(7px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:rgba(255,255,255,.97); backdrop-filter:blur(16px); }
  .adm-bottom-nav-inner { width:min(820px,100%); display:grid; grid-template-columns:repeat(5,1fr); }
  .adm-bottom-link { border:0; background:transparent; color:var(--muted); display:grid; place-items:center; gap:3px; padding:6px 2px; font-size:9px; }
  .adm-bottom-link span { font-size:19px; }
  .adm-bottom-link.active { color:var(--brand); font-weight:800; }
}
@media (max-width:640px) {
  .adm-topbar { padding-left:14px; padding-right:14px; }
  .adm-topbar h1 { font-size:23px; }
  .adm-topbar p { max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .adm-page { padding:17px 14px 88px; }
  .adm-grid-4,.adm-grid-3,.adm-grid-2 { grid-template-columns:1fr; }
  .adm-metrics-mobile { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .adm-toolbar { align-items:stretch; }
  .adm-search { min-width:100%; }
  .adm-filter,.adm-toolbar .adm-primary-btn { width:100%; }
  .adm-info-grid { grid-template-columns:1fr; }
}

/* =========================================================
   V3 — identidad visual, login, home y responsive ampliado
   ========================================================= */
:root {
  --wine: var(--brand);
  --wine-dark: var(--brand-dark);
  --wine-soft: var(--brand-soft);
  --paper: #fffdf9;
  --white: #fff;
  --warning: #a56b10;
  --danger: #a1373e;
}
body { font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.v3-eyebrow { color: var(--brand); text-transform: uppercase; letter-spacing: .16em; font-size: 11px; font-weight: 800; }
.v3-eyebrow-light { color: rgba(255,255,255,.72); }

/* Login */
.login-v3 { min-height:100vh; min-height:100dvh; display:grid; grid-template-columns:minmax(430px,.95fr) minmax(430px,1.05fr); background:#fffdf9; }
.login-v3-brand { min-height:100vh; min-height:100dvh; position:relative; overflow:hidden; color:#fff; background:linear-gradient(145deg,rgba(63,16,22,.98),rgba(125,43,48,.93)),radial-gradient(circle at 20% 15%,rgba(183,146,74,.55),transparent 38%); }
.login-v3-brand::before { content:""; position:absolute; width:520px; height:520px; right:-230px; top:-160px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 58px rgba(255,255,255,.02),0 0 0 116px rgba(255,255,255,.012); }
.login-v3-brand-inner { position:relative; z-index:1; min-height:100%; padding:clamp(36px,5vw,64px); display:flex; flex-direction:column; justify-content:space-between; gap:42px; }
.login-v3-logo-card { width:235px; max-width:68%; padding:13px 15px; border-radius:20px; background:rgba(255,255,255,.97); box-shadow:0 14px 40px rgba(25,5,8,.20); }
.login-v3-copy { max-width:620px; }
.login-v3-copy h1 { margin:9px 0 17px; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(48px,5.2vw,78px); line-height:.9; letter-spacing:-.035em; }
.login-v3-copy p { max-width:560px; margin:0; color:rgba(255,255,255,.8); line-height:1.7; }
.login-v3-brand-inner > small { color:rgba(255,255,255,.52); font-size:.74rem; }
.login-v3-access { min-height:100vh; min-height:100dvh; display:grid; place-items:center; padding:42px; background:linear-gradient(180deg,#fffdf9,#faf6f4); }
.login-v3-card { width:min(470px,100%); }
.login-v3-card h2 { margin:7px 0; font-family:"Cormorant Garamond",Georgia,serif; font-size:48px; line-height:1; }
.login-v3-intro { margin:0 0 27px; color:var(--muted); line-height:1.55; }
.login-v3-card label { display:block; margin:15px 2px 7px; font-size:12px; font-weight:800; }
.login-v3-card input { width:100%; border:1px solid var(--line); border-radius:13px; padding:14px 15px; outline:none; background:#fff; }
.login-v3-card input:focus { border-color:var(--brand); box-shadow:0 0 0 4px var(--brand-soft); }
.login-v3-submit { margin-top:22px; }
.login-v3-admin { width:100%; border:0; background:transparent; color:var(--brand); padding:13px 4px; font-size:.8rem; font-weight:800; }
.login-v3-mobile-logo { display:none; }

/* Home */
.home-v3-content { width:min(100%,1120px); }
.home-v3-hero { min-height:220px; position:relative; overflow:hidden; border-radius:28px; padding:clamp(23px,4vw,35px); color:#fff; background:linear-gradient(125deg,#5c1c22,#873139 62%,#9b4247); box-shadow:var(--shadow); display:flex; align-items:center; justify-content:space-between; gap:30px; }
.home-v3-hero::before { content:""; position:absolute; width:310px; height:310px; right:-100px; top:-115px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 84px rgba(255,255,255,.018); }
.home-v3-hero-copy { position:relative; z-index:2; max-width:650px; }
.home-v3-hero h1 { margin:4px 0 7px; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(40px,5vw,58px); line-height:.95; }
.home-v3-hero p { margin:0; color:rgba(255,255,255,.8); line-height:1.5; }
.home-v3-hero-logo { position:relative; z-index:2; width:215px; max-width:25%; padding:12px; border-radius:18px; background:rgba(255,255,255,.95); box-shadow:0 12px 32px rgba(40,5,9,.2); }
.home-v3-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.home-v3-tags span { padding:6px 9px; border-radius:999px; background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.08); font-size:.72rem; font-weight:700; }
.home-v3-tags .home-v3-active { color:#bbf2d2; background:rgba(142,225,181,.14); }
.home-v3-grid { display:grid; grid-template-columns:minmax(0,1.38fr) minmax(310px,.62fr); gap:30px; margin-top:28px; align-items:start; }
.home-v3-section-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:25px 2px 12px; }
.home-v3-section-head:first-child { margin-top:0; }
.home-v3-section-head small { display:block; margin-bottom:2px; color:var(--muted); font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.home-v3-section-head h2 { margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:30px; line-height:1; }
.home-v3-text-btn { border:0; background:transparent; color:var(--brand); padding:5px 0; font-size:.78rem; font-weight:800; }
.home-v3-dues { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:16px; padding:20px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 7px 22px rgba(48,24,27,.055); }
.home-v3-check { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:#e7f5ee; color:var(--success); font-weight:900; }
.home-v3-dues strong { display:block; font-size:.92rem; }
.home-v3-dues p { margin:4px 0 0; color:var(--muted); font-size:.77rem; line-height:1.45; }
.home-v3-total { text-align:right; }
.home-v3-total small { display:block; color:var(--muted); font-size:.65rem; }
.home-v3-total strong { color:var(--brand); font-size:1.08rem; }
.home-v3-events { display:grid; gap:11px; }
.home-v3-event { display:grid; grid-template-columns:58px minmax(0,1fr) 22px; gap:14px; align-items:center; padding:15px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 7px 22px rgba(48,24,27,.055); cursor:pointer; }
.home-v3-date { width:58px; min-height:58px; border-radius:14px; display:grid; place-items:center; align-content:center; background:var(--brand-soft); color:var(--brand); text-align:center; }
.home-v3-date strong { font-size:1.25rem; line-height:1; }
.home-v3-date span { margin-top:3px; font-size:.59rem; font-weight:800; letter-spacing:.06em; }
.home-v3-event h3 { margin:0 0 4px; font-family:Inter,sans-serif; font-size:.88rem; }
.home-v3-event p { margin:0; color:var(--muted); font-size:.72rem; line-height:1.4; }
.home-v3-chevron { transform:rotate(180deg); color:var(--brand); }
.home-v3-chevron svg { width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:2; }
.home-v3-skeleton { min-height:88px; border-radius:18px; background:linear-gradient(90deg,#eee7e8 25%,#f8f4f5 37%,#eee7e8 63%); background-size:400% 100%; animation:shimmer 1.35s infinite; }
.home-v3-empty { padding:17px; border:1px solid var(--line); border-radius:18px; background:#fff; color:var(--muted); font-size:.8rem; }
.home-v3-empty p { margin:0; }
.home-v3-quick { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.home-v3-quick button { min-height:138px; border:1px solid var(--line); border-radius:18px; background:#fff; text-align:left; padding:15px; color:var(--ink); box-shadow:0 7px 22px rgba(48,24,27,.055); }
.home-v3-quick button > span { width:38px; height:38px; margin-bottom:13px; border-radius:12px; display:grid; place-items:center; color:var(--brand); background:var(--brand-soft); }
.home-v3-quick svg { width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.9; }
.home-v3-quick strong { display:block; font-size:.84rem; }
.home-v3-quick small { display:block; margin-top:3px; color:var(--muted); font-size:.67rem; line-height:1.35; }
.home-v3-notice { display:grid; grid-template-columns:30px minmax(0,1fr); gap:11px; margin-top:12px; padding:15px; border-radius:18px; background:#f8eeee; color:#5e3337; }
.home-v3-notice > span { width:27px; height:27px; border-radius:50%; display:grid; place-items:center; color:#fff; background:var(--brand); font-family:Georgia,serif; font-weight:700; }
.home-v3-notice strong { font-size:.8rem; }
.home-v3-notice p { margin:3px 0 0; color:#7a5558; font-size:.7rem; line-height:1.45; }

/* Typography across member event area */
.event-card h2, .event-detail-title { font-family:"Cormorant Garamond",Georgia,serif; }
.event-card h2 { font-size:1.35rem; }
.event-detail-title { font-size:clamp(32px,5vw,46px); line-height:1; }

/* Event detail */
.event-v3-description-card { overflow:hidden; margin-top:4px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 7px 22px rgba(48,24,27,.055); }
.event-v3-description-card h3 { margin:0; padding:22px 23px 0; font-family:"Cormorant Garamond",Georgia,serif; font-size:25px; }
.event-v3-description-card .event-description { padding:18px 23px 24px; }
.event-v3-description-card .event-description > :first-child { margin-top:0 !important; }
.event-v3-web-link { display:inline-flex; width:auto; margin:14px 2px 0; padding:9px 13px; border:1px solid #d9cacc; border-radius:11px; background:#fff; color:var(--brand); text-decoration:none; font-size:.77rem; font-weight:800; }
.event-v3-web-link:hover { border-color:var(--brand); background:var(--brand-soft); }

@media (max-width:1100px) {
  .home-v3-grid { grid-template-columns:1fr; gap:28px; }
  .home-v3-quick { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (max-width:900px) {
  .login-v3 { grid-template-columns:1fr; }
  .login-v3-brand { min-height:315px; }
  .login-v3-brand-inner { padding:28px 25px 33px; gap:22px; }
  .login-v3-logo-card { width:180px; }
  .login-v3-copy h1 { font-size:48px; }
  .login-v3-brand-inner > small { display:none; }
  .login-v3-access { min-height:auto; padding:38px 24px calc(38px + env(safe-area-inset-bottom)); }

}

@media (max-width:640px) {
  .login-v3-brand { min-height:245px; }
  .login-v3-brand-inner { padding:calc(20px + env(safe-area-inset-top)) 20px 24px; justify-content:center; }
  .login-v3-logo-card { display:none; }
  .login-v3-copy h1 { margin-top:7px; font-size:38px; }
  .login-v3-copy p { font-size:.8rem; line-height:1.55; }
  .login-v3-access { padding:28px 20px calc(34px + env(safe-area-inset-bottom)); align-items:start; }
  .login-v3-mobile-logo { display:block; width:150px; margin:0 0 23px; padding:9px; border-radius:14px; background:#fff; box-shadow:0 7px 22px rgba(48,24,27,.07); }
  .login-v3-card h2 { font-size:40px; }

  .content.home-v3-content { padding-left:16px; padding-right:16px; }
  .home-v3-hero { min-height:205px; padding:22px; }
  .home-v3-hero-logo { display:none; }
  .home-v3-hero p { font-size:.8rem; }
  .home-v3-grid { margin-top:20px; gap:28px; }
  .home-v3-section-head h2 { font-size:28px; }
  .home-v3-dues { grid-template-columns:auto minmax(0,1fr); }
  .home-v3-total { grid-column:2; text-align:left; display:flex; gap:8px; align-items:baseline; }
  .home-v3-quick { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-v3-event { grid-template-columns:54px minmax(0,1fr) 20px; gap:11px; padding:13px; }
  .home-v3-date { width:54px; min-height:54px; }
  .event-v3-description-card h3 { padding:20px 20px 0; }
  .event-v3-description-card .event-description { padding:18px 20px 22px; }

}

@media (min-width:1024px) {
  .content.home-v3-content { width:min(100%,1120px); }
  .bottom-nav { bottom:14px; border:1px solid var(--line); border-radius:18px; box-shadow:0 12px 34px rgba(48,24,27,.12); padding-bottom:8px; }
  .app-shell { padding-bottom:108px; }
}

/* =========================================================
   V4 — Administración: The Events Calendar + asistentes
   ========================================================= */
.adm-events-summary { margin-bottom: 4px; }
.adm-events-heading { margin-top: 26px; }
.adm-live-events-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.adm-live-event-card { overflow:hidden; min-width:0; }
.adm-live-event-media { position:relative; height:190px; overflow:hidden; background:#f2eceb; }
.adm-live-event-media > img { width:100%; height:100%; object-fit:cover; display:block; }
.adm-live-event-placeholder { width:100%; height:100%; display:grid; place-items:center; color:var(--brand); background:linear-gradient(145deg,#f6eeee,#eadbdc); }
.adm-live-event-placeholder svg { width:46px; height:46px; fill:none; stroke:currentColor; stroke-width:1.4; opacity:.55; }
.adm-live-event-date { position:absolute; left:14px; bottom:14px; min-width:58px; min-height:58px; padding:8px; border-radius:14px; display:grid; place-items:center; align-content:center; background:rgba(255,255,255,.96); color:var(--brand); box-shadow:0 8px 24px rgba(34,8,11,.18); }
.adm-live-event-date strong { font-size:20px; line-height:1; }
.adm-live-event-date span { margin-top:3px; font-size:9px; font-weight:800; letter-spacing:.08em; }
.adm-live-event-body { padding:19px; }
.adm-live-event-flags { min-height:24px; display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.adm-live-event-body h2 { margin:9px 0 9px; font-family:"Cormorant Garamond",Georgia,serif; font-size:28px; line-height:1.02; }
.adm-live-event-meta { margin:4px 0; color:var(--muted); font-size:12px; line-height:1.45; }
.adm-live-event-footer { margin-top:17px; padding-top:14px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:12px; }
.adm-live-event-footer > span { color:var(--muted); font-size:11px; font-weight:700; }
.adm-admin-event-skeletons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.adm-admin-event-skeleton { height:380px; border-radius:18px; background:linear-gradient(90deg,#eee7e8 25%,#f8f4f5 37%,#eee7e8 63%); background-size:400% 100%; animation:shimmer 1.35s infinite; }
.adm-event-back { margin-bottom:15px; }
.adm-admin-event-detail-hero { overflow:hidden; display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); }
.adm-admin-event-detail-media { min-height:300px; background:#f2eceb; }
.adm-admin-event-detail-media > img { width:100%; height:100%; min-height:300px; object-fit:cover; display:block; }
.adm-admin-event-detail-media .adm-live-event-placeholder { min-height:300px; }
.adm-admin-event-detail-copy { padding:clamp(24px,4vw,42px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.adm-admin-event-detail-copy h2 { margin:12px 0 13px; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(34px,4.5vw,52px); line-height:.95; }
.adm-admin-event-detail-copy p { margin:3px 0; color:var(--muted); font-size:13px; line-height:1.5; }
.adm-admin-event-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:21px; }
.adm-admin-event-actions a { text-decoration:none; }
.adm-attendee-metrics { margin-bottom:18px; }
.adm-attendees-table { margin-top:0; }
.adm-attendees-table .adm-avatar-sm { width:34px; height:34px; min-width:34px; font-size:10px; }
.adm-attendees-loading, .adm-attendees-empty, .adm-attendees-setup { min-height:190px; border:1px solid var(--line); border-radius:18px; background:#fff; display:flex; align-items:center; justify-content:center; text-align:center; padding:28px; color:var(--muted); }
.adm-attendees-loading { flex-direction:column; gap:7px; }
.adm-attendees-loading strong { color:var(--ink); }
.adm-attendees-loading span { font-size:12px; }
.adm-spinner { width:28px; height:28px; margin-bottom:7px; border:3px solid #eadcdd; border-top-color:var(--brand); border-radius:50%; animation:adm-spin .8s linear infinite; }
@keyframes adm-spin { to { transform:rotate(360deg); } }
.adm-attendees-empty { flex-direction:column; }
.adm-attendees-empty > div { color:var(--brand); }
.adm-attendees-empty svg { width:35px; height:35px; fill:none; stroke:currentColor; stroke-width:1.6; }
.adm-attendees-empty h3 { margin:10px 0 5px; color:var(--ink); font-family:"Cormorant Garamond",Georgia,serif; font-size:26px; }
.adm-attendees-empty p { margin:0; font-size:12px; }
.adm-attendees-setup { justify-content:flex-start; text-align:left; gap:18px; background:#fffaf1; border-color:#ead7ac; }
.adm-attendees-setup.is-error { background:#fff5f5; border-color:#ecc9cb; }
.adm-attendees-setup-icon { width:48px; height:48px; min-width:48px; border-radius:14px; display:grid; place-items:center; background:#f1e2bf; color:#825d0e; font-size:20px; font-weight:900; }
.adm-attendees-setup.is-error .adm-attendees-setup-icon { background:#f4dfe1; color:var(--danger); }
.adm-attendees-setup-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; }
.adm-attendees-setup h3 { margin:0 0 5px; color:var(--ink); font-family:"Cormorant Garamond",Georgia,serif; font-size:26px; }
.adm-attendees-setup p { margin:4px 0; font-size:12px; line-height:1.55; }
.adm-attendees-setup-small { opacity:.78; }

@media (max-width:1000px) {
  .adm-live-events-grid, .adm-admin-event-skeletons { grid-template-columns:1fr; }
  .adm-live-event-card { display:grid; grid-template-columns:220px minmax(0,1fr); }
  .adm-live-event-media { height:100%; min-height:230px; }
  .adm-admin-event-detail-hero { grid-template-columns:1fr; }
  .adm-admin-event-detail-media, .adm-admin-event-detail-media > img, .adm-admin-event-detail-media .adm-live-event-placeholder { min-height:260px; max-height:340px; }
}

@media (max-width:640px) {
  .adm-live-event-card { display:block; }
  .adm-live-event-media { height:180px; min-height:0; }
  .adm-live-event-footer { align-items:flex-end; }
  .adm-live-event-footer .adm-primary-btn { flex:0 0 auto; }
  .adm-admin-event-detail-media, .adm-admin-event-detail-media > img, .adm-admin-event-detail-media .adm-live-event-placeholder { min-height:210px; max-height:240px; }
  .adm-admin-event-detail-copy { padding:22px 18px; }
  .adm-admin-event-detail-copy h2 { font-size:36px; }
  .adm-admin-event-actions { width:100%; }
  .adm-admin-event-actions .adm-primary-btn, .adm-admin-event-actions .adm-ghost-btn { flex:1 1 auto; text-align:center; }
  .adm-attendees-setup { align-items:flex-start; padding:20px; }
  .adm-attendees-setup-icon { width:40px; height:40px; min-width:40px; }
  .adm-attendees-table table, .adm-attendees-table thead, .adm-attendees-table tbody, .adm-attendees-table tr, .adm-attendees-table td { display:block; }
  .adm-attendees-table thead { display:none; }
  .adm-attendees-table tr { padding:14px 15px; border-bottom:1px solid var(--line); }
  .adm-attendees-table td { padding:5px 0; border:0; }
  .adm-attendees-table td:nth-child(2)::before { content:'Correo: '; color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
  .adm-attendees-table td:nth-child(3)::before { content:'Entrada: '; color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
  .adm-attendees-table td:nth-child(4)::before { content:'Importe: '; color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
  .adm-attendees-table td:nth-child(5) { padding-top:9px; }
}


/* =========================================================
   V5 — Donativos mediante Stripe Checkout
   ========================================================= */
.home-v5-donate { width:100%; margin-top:12px; display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:12px; align-items:center; border:0; border-radius:18px; padding:15px; text-align:left; background:linear-gradient(125deg,#6a2027,#8e353c); color:#fff; box-shadow:0 9px 25px rgba(80,22,29,.16); }
.home-v5-donate > span { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; background:rgba(255,255,255,.13); }
.home-v5-donate svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; }
.home-v5-donate strong,.home-v5-donate small { display:block; }
.home-v5-donate small { margin-top:3px; color:rgba(255,255,255,.7); font-size:.67rem; line-height:1.35; }
.home-v5-donate b { padding:7px 10px; border-radius:999px; background:#fff; color:var(--brand); font-size:.7rem; }

.donation-inline-cta { width:100%; margin-top:15px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; align-items:center; padding:15px; border:1px solid #e5d7d8; border-radius:18px; background:#fff; color:var(--ink); text-align:left; box-shadow:0 7px 22px rgba(48,24,27,.055); }
.donation-inline-cta > span { width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--brand-soft);color:var(--brand); }
.donation-inline-cta svg { width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8; }
.donation-inline-cta strong,.donation-inline-cta small { display:block; }
.donation-inline-cta small { margin-top:3px;color:var(--muted);font-size:.7rem; }
.donation-inline-cta b { color:var(--brand);font-size:.74rem; }

.donation-v5-content { width:min(100%,1050px); }
.donation-v5-hero { position:relative; overflow:hidden; padding:clamp(27px,5vw,44px); border-radius:28px; color:#fff; background:linear-gradient(130deg,#5b1920,#7d2b30 58%,#9c464b); box-shadow:var(--shadow); }
.donation-v5-hero::after { content:""; position:absolute; width:300px;height:300px;right:-115px;top:-125px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 46px rgba(255,255,255,.025),0 0 0 92px rgba(255,255,255,.016); }
.donation-v5-hero-icon { position:absolute; z-index:1; right:38px; bottom:27px; width:76px;height:76px;display:grid;place-items:center;border-radius:24px;background:rgba(255,255,255,.11);color:#fff; }
.donation-v5-hero-icon svg { width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.45; }
.donation-v5-hero h1 { position:relative;z-index:2;margin:6px 0 9px;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(40px,6vw,62px);line-height:.95; }
.donation-v5-hero p { position:relative;z-index:2;max-width:690px;margin:0;color:rgba(255,255,255,.78);line-height:1.65;font-size:.86rem; }
.donation-v5-grid { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);gap:22px;margin-top:22px;align-items:start; }
.donation-v5-card,.donation-v5-side > div { border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 7px 22px rgba(48,24,27,.055); }
.donation-v5-card { padding:24px; }
.donation-v5-heading small { color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem; }
.donation-v5-heading h2 { margin:4px 0 19px;font-family:"Cormorant Garamond",Georgia,serif;font-size:31px; }
.donation-v5-presets { display:grid;grid-template-columns:repeat(4,1fr);gap:9px; }
.donation-v5-presets button { min-height:54px;border:1px solid #dfd1d3;border-radius:14px;background:#fff;color:var(--brand);font-weight:800;font-size:.95rem; }
.donation-v5-presets button.active { border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 7px 18px rgba(125,43,48,.18); }
.donation-v5-custom { display:block;margin-top:18px; }
.donation-v5-custom > span { display:block;margin:0 0 7px 2px;font-size:.72rem;font-weight:800; }
.donation-v5-custom > div { display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden; }
.donation-v5-custom input { width:100%;border:0;outline:0;padding:14px 15px;background:transparent;font-size:1rem;font-weight:700;color:var(--ink); }
.donation-v5-custom b { text-align:center;color:var(--muted);font-size:1rem; }
.donation-v5-submit { margin-top:19px; }
.donation-v5-submit:disabled { opacity:.6;cursor:wait; }
.donation-v5-microcopy { margin:9px 0 0;text-align:center;color:var(--muted);font-size:.66rem; }
.donation-v5-error { margin-top:13px;padding:10px 12px;border-radius:12px;background:#fbecee;color:#9b3038;font-size:.75rem; }
.donation-v5-side { display:grid;gap:12px; }
.donation-v5-security { display:grid!important;grid-template-columns:43px minmax(0,1fr);gap:12px;padding:17px; }
.donation-v5-security > span { width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:#e9f5ef;color:#167d52; }
.donation-v5-security svg { width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8; }
.donation-v5-security strong { font-size:.81rem; }
.donation-v5-security p { margin:4px 0 0;color:var(--muted);font-size:.69rem;line-height:1.5; }
.donation-v5-methods,.donation-v5-member { padding:17px; }
.donation-v5-methods small,.donation-v5-member small { display:block;color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em; }
.donation-v5-methods div { display:flex;flex-wrap:wrap;gap:6px;margin-top:10px; }
.donation-v5-methods span { padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#fbf9f8;font-size:.68rem;font-weight:800; }
.donation-v5-member strong,.donation-v5-member span { display:block; }
.donation-v5-member strong { margin-top:8px;font-size:.82rem; }
.donation-v5-member span { margin-top:2px;color:var(--brand);font-size:.7rem;font-weight:800; }
.donation-v5-note { margin:0 3px;color:var(--muted);font-size:.66rem;line-height:1.5; }
.donation-v5-success { display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;align-items:center;margin-bottom:18px;padding:18px;border:1px solid #ead7d9;border-radius:20px;background:#fff7f7; }
.donation-v5-success.is-paid { border-color:#cde8da;background:#f2fbf6; }
.donation-v5-success-icon { width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-size:25px;font-weight:900; }
.donation-v5-success.is-paid .donation-v5-success-icon { background:#18805a; }
.donation-v5-success-icon svg { width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8; }
.donation-v5-success h2 { margin:3px 0 3px;font-family:"Cormorant Garamond",Georgia,serif;font-size:27px; }
.donation-v5-success p { margin:0;color:var(--muted);font-size:.75rem;line-height:1.5; }
.donation-v5-cancelled { margin-bottom:16px;padding:12px 14px;border-radius:13px;background:#fff7ea;color:#8b631e;font-size:.76rem; }

.adm-donation-hero { display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px;background:linear-gradient(125deg,#fff,#fff8f8); }
.adm-donation-hero h2 { margin:3px 0 6px;font-family:"Cormorant Garamond",Georgia,serif;font-size:32px; }
.adm-donation-hero p { max-width:720px;margin:0;color:var(--muted);font-size:.76rem;line-height:1.55; }
.adm-donations-table code { font-size:.68rem;color:var(--muted); }

@media (max-width:900px) {
  .donation-v5-grid { grid-template-columns:1fr; }
  .donation-v5-side { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .donation-v5-note { grid-column:1/-1; }
  .adm-donation-hero { align-items:flex-start; }
}
@media (max-width:640px) {
  .donation-v5-content { padding-left:16px;padding-right:16px; }
  .donation-v5-hero { padding:24px 21px; }
  .donation-v5-hero-icon { display:none; }
  .donation-v5-hero h1 { font-size:42px; }
  .donation-v5-presets { grid-template-columns:repeat(2,1fr); }
  .donation-v5-side { grid-template-columns:1fr; }
  .donation-v5-note { grid-column:auto; }
  .donation-v5-success { grid-template-columns:46px minmax(0,1fr);padding:15px; }
  .donation-v5-success-icon { width:46px;height:46px;font-size:21px; }
  .adm-donation-hero { display:block; }
  .adm-donation-hero .adm-ghost-btn { width:100%;margin-top:14px; }
}

/* =========================================================
   V6 — autenticación real, formularios públicos y gestión DB
   ========================================================= */
.boot-v6{min-height:100vh;min-height:100dvh;display:grid;place-items:center;align-content:center;gap:18px;background:#fffdf9;color:var(--brand)}
.boot-v6 img{width:190px;max-width:55vw}.boot-v6 p{margin:0;color:var(--muted);font-size:.82rem}
.auth-v6-error,.public-v6-message{margin:14px 0;padding:12px 14px;border-radius:12px;background:#f8e9ea;color:#832c34;font-size:.8rem;line-height:1.45}
.auth-v6-links{display:flex;justify-content:space-between;gap:12px;margin-top:10px}.auth-v6-links button,.public-v6-back{border:0;background:transparent;color:var(--brand);font-size:.76rem;font-weight:800;padding:8px 0}
.public-v6{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:30px 20px;background:linear-gradient(145deg,#f7f0ef,#fffdf9)}
.public-v6-card{width:min(480px,100%);padding:clamp(24px,5vw,42px);border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow)}
.public-v6-logo{width:170px;margin-bottom:28px}.public-v6-card h1{margin:8px 0 12px;font-family:"Cormorant Garamond",Georgia,serif;font-size:42px;line-height:.95}.public-v6-card>p{color:var(--muted);font-size:.85rem;line-height:1.6}
.public-v6-card form{display:grid;gap:14px;margin-top:24px}.public-v6-card label{display:grid;gap:7px;font-size:.74rem;font-weight:800}.public-v6-card input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;font:inherit;outline:none}.public-v6-card input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}
.join-v6{min-height:100vh;background:#f7f2f1;padding-bottom:70px}.join-v6-header{min-height:78px;padding:12px max(20px,calc((100vw - 1080px)/2));display:flex;align-items:center;gap:15px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.join-v6-header>button{width:38px;height:38px;border:0;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.join-v6-header svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.join-v6-header img{width:130px}.join-v6-header div{margin-left:auto;text-align:right}.join-v6-header span{display:block;color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}.join-v6-header strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:22px}
.join-v6-intro{padding:48px max(22px,calc((100vw - 1080px)/2));background:linear-gradient(125deg,#5c1c22,#8a343b);color:#fff}.join-v6-intro h1{max-width:760px;margin:8px 0 12px;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(42px,6vw,68px);line-height:.92}.join-v6-intro p{max-width:740px;color:rgba(255,255,255,.78);line-height:1.65}
.join-v6-form{width:min(1080px,calc(100% - 36px));margin:28px auto 0;display:grid;gap:16px}.join-v6-form>section{padding:clamp(20px,4vw,32px);border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 6px 22px rgba(48,24,27,.045)}.join-v6-section-head{display:flex;gap:14px;margin-bottom:22px;align-items:flex-start}.join-v6-section-head>b{width:35px;height:35px;min-width:35px;flex:0 0 35px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:.72rem;line-height:1}.join-v6-section-head>div{min-width:0}.join-v6-section-head h2{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:29px}.join-v6-section-head p{margin:3px 0 0;color:var(--muted);font-size:.75rem}.join-v6-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.join-v6-fields label,.join-v6-iban,.admin-v6-number{display:grid;gap:7px;font-size:.72rem;font-weight:800}.join-v6-fields label{min-width:0}.join-v6-fields label.wide{grid-column:1/-1}.join-v6-fields input,.join-v6-fields select,.join-v6-iban input,.admin-v6-number input,.admin-v6-membership input,.admin-v6-membership select{width:100%;min-width:0;max-width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;font:inherit;outline:none}.join-v6-fields input:focus,.join-v6-iban input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}
.join-v6-payment{display:flex;flex-wrap:wrap;gap:9px}.join-v6-payment label{padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:.76rem;font-weight:700}.join-v6-iban{margin-top:15px}.join-v6-iban small{color:var(--muted);font-weight:500}.join-v6-check{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-size:.78rem;line-height:1.5}.join-v6-check input{margin-top:3px}.join-v6-submit{width:min(440px,100%);justify-self:center}
.admin-v6-form{margin-top:16px}.admin-v6-help{color:var(--muted);font-size:.78rem;line-height:1.55}.admin-v6-memberships{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-v6-membership{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:16px;border:1px solid var(--line);border-radius:15px}.admin-v6-membership legend{padding:0 7px;color:var(--brand);font-weight:800}.admin-v6-membership label{display:grid;gap:6px;font-size:.68rem;font-weight:800}.admin-v6-membership .wide{grid-column:1/-1}.admin-v6-number{margin:15px 0}
@media(max-width:700px){.auth-v6-links{align-items:flex-start;flex-direction:column;gap:0}.join-v6-header{padding-left:14px;padding-right:14px}.join-v6-header img{width:105px}.join-v6-header div{display:none}.join-v6-intro{padding:34px 20px}.join-v6-form{width:min(100% - 24px,1080px);margin-top:14px}.join-v6-fields,.admin-v6-memberships,.admin-v6-membership{grid-template-columns:1fr}.join-v6-fields label.wide,.admin-v6-membership .wide{grid-column:auto}.public-v6-card h1{font-size:36px}}
.admin-v6-role-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.admin-v6-role-legend span{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.admin-v6-role-legend strong,.admin-v6-role-legend small{display:block}.admin-v6-role-legend small{margin-top:3px;color:var(--muted);font-size:.66rem;line-height:1.4}.admin-v6-role-checks{display:flex;flex-wrap:wrap;gap:6px 12px;margin-bottom:8px}.admin-v6-role-checks label{font-size:.68rem;white-space:nowrap}@media(max-width:700px){.admin-v6-role-legend{grid-template-columns:1fr}}


/* =========================================================
   V6.2 — sugerencia de instalación PWA en móvil
   ========================================================= */
.pwa-install-v62 {
  position: fixed;
  z-index: 250;
  left: 50%;
  bottom: max(16px, calc(12px + env(safe-area-inset-bottom)));
  width: min(560px, calc(100% - 24px));
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  padding: 14px 42px 14px 14px;
  border: 1px solid rgba(125,43,48,.18);
  border-radius: 20px;
  background: rgba(255,253,249,.97);
  box-shadow: 0 18px 50px rgba(54,20,24,.2);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  animation: pwaInstallV62In .28s ease-out both;
}
.pwa-install-v62-logo { width: 52px; height: 52px; overflow: hidden; border-radius: 13px; box-shadow: 0 5px 15px rgba(50,20,24,.12); background: var(--brand); }
.pwa-install-v62-logo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.pwa-install-v62-copy strong { display:block; color:var(--ink); font-family:"Cormorant Garamond",Georgia,serif; font-size:21px; line-height:1; }
.pwa-install-v62-copy p { margin:5px 0 0; color:var(--muted); font-size:.72rem; line-height:1.45; }
.pwa-install-v62-actions { display:flex; align-items:center; gap:7px; }
.pwa-install-v62-primary,.pwa-install-v62-secondary { min-height:38px; border-radius:10px; padding:0 12px; font:inherit; font-size:.72rem; font-weight:800; cursor:pointer; }
.pwa-install-v62-primary { border:1px solid var(--brand); background:var(--brand); color:#fff; }
.pwa-install-v62-secondary { border:1px solid var(--line); background:#fff; color:var(--brand); }
.pwa-install-v62-close { position:absolute; top:7px; right:9px; width:28px; height:28px; display:grid; place-items:center; border:0; border-radius:50%; background:transparent; color:#8f7d7f; font-size:21px; line-height:1; cursor:pointer; }
@keyframes pwaInstallV62In { from { opacity:0; transform:translate(-50%,18px); } to { opacity:1; transform:translate(-50%,0); } }
@media (max-width:640px) {
  .pwa-install-v62 { grid-template-columns:46px minmax(0,1fr); padding:13px 36px 13px 13px; gap:11px; }
  .pwa-install-v62-logo { width:46px; height:46px; border-radius:12px; }
  .pwa-install-v62-copy strong { font-size:19px; }
  .pwa-install-v62-copy p { font-size:.68rem; }
  .pwa-install-v62-actions { grid-column:1/-1; padding-left:57px; }
  .pwa-install-v62-actions button { flex:1; }
}
@media (display-mode: standalone) { .pwa-install-v62 { display:none!important; } }


/* =========================================================
   V6.4 — Web Push
   ========================================================= */
.push-settings-v64{margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 7px 22px rgba(48,24,27,.055)}
.push-settings-v64-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.push-settings-v64-head h2{margin:4px 0 5px;font-family:"Cormorant Garamond",Georgia,serif;font-size:30px}.push-settings-v64-head p{margin:0;max-width:580px;color:var(--muted);font-size:.78rem;line-height:1.5}.push-status-v64{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#f3eeee;color:var(--muted);font-size:.68rem;font-weight:800}.push-status-v64.on{background:#e6f5ed;color:var(--success)}
.push-preferences-v64{display:grid;gap:8px;margin:13px 0}.push-preferences-v64 label{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fffdfb}.push-preferences-v64 input{margin-top:3px;accent-color:var(--brand)}.push-preferences-v64 strong,.push-preferences-v64 small{display:block}.push-preferences-v64 strong{font-size:.8rem}.push-preferences-v64 small{margin-top:2px;color:var(--muted);font-size:.68rem;line-height:1.35}.push-actions-v64{display:flex;gap:9px;flex-wrap:wrap}.push-disable-v64{color:#8d3b42}.push-message-v64{margin:10px 0;padding:10px 12px;border-radius:12px;font-size:.75rem}.push-message-v64.error{background:#faeeee;color:#8b2d35}.push-message-v64.success{background:#e8f5ee;color:#22754b}
.push-admin-warning-v64{margin-bottom:18px;background:#fff8e8;border-color:#ead4a8}.push-admin-warning-v64 p{margin:5px 0 0;color:#876226}.push-admin-grid-v64{margin-top:20px}.push-admin-form-v64{display:grid;gap:13px;margin-top:16px}.push-admin-form-v64 label{display:grid;gap:6px;font-size:.72rem;font-weight:800}.push-admin-form-v64 input,.push-admin-form-v64 textarea,.push-admin-form-v64 select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:11px 12px;font:inherit;color:var(--ink);outline:none}.push-admin-form-v64 textarea{resize:vertical;min-height:100px}.push-admin-form-v64 input:focus,.push-admin-form-v64 textarea:focus,.push-admin-form-v64 select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.push-admin-two-v64{display:grid;grid-template-columns:1fr 1fr;gap:12px}.push-admin-info-v64 p{color:var(--muted);font-size:.77rem;line-height:1.55}
@media(max-width:640px){.push-settings-v64{padding:18px}.push-settings-v64-head{display:grid;gap:10px}.push-status-v64{justify-self:start}.push-admin-two-v64{grid-template-columns:1fr}.push-actions-v64>*{flex:1}}


/* V6.4.2 — validaciones de alta */
.join-v6-representative {
  overflow: hidden;
  max-height: 900px;
  opacity: 1;
  transform: translateY(0);
  transition: max-height .25s ease, opacity .2s ease, transform .2s ease, padding .25s ease, border-width .25s ease, margin .25s ease;
}
.join-v6-representative.is-hidden {
  display: none;
}
.join-v6-help {
  display: block;
  color: var(--muted);
  font-size: .66rem;
  font-weight: 500;
  line-height: 1.4;
}
.join-v6-fields input.join-v6-invalid,
.join-v6-iban input.join-v6-invalid {
  border-color: #b63c47;
  box-shadow: 0 0 0 3px rgba(182,60,71,.09);
}
.join-v6-fields input.join-v6-valid,
.join-v6-iban input.join-v6-valid {
  border-color: #5f9879;
}

/* =========================================================
   V6.5 — Passkeys / acceso biométrico
   ========================================================= */
.passkey-login-v65 { margin-top: 17px; }
.passkey-divider-v65 { position: relative; height: 24px; display:flex; align-items:center; justify-content:center; margin: 2px 0 8px; color:var(--muted); font-size:.7rem; }
.passkey-divider-v65::before { content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:var(--line); }
.passkey-divider-v65 span { position:relative; z-index:1; padding:0 10px; background:#faf6f4; }
.passkey-button-v65 { width:100%; min-height:58px; border:1px solid #d9cacc; border-radius:14px; padding:10px 14px; display:flex; align-items:center; justify-content:center; gap:11px; background:#fff; color:var(--brand); text-align:left; cursor:pointer; box-shadow:0 5px 16px rgba(48,24,27,.04); }
.passkey-button-v65:hover { border-color:var(--brand); background:var(--brand-soft); }
.passkey-button-v65:disabled { opacity:.55; cursor:wait; }
.passkey-button-v65 > span:last-child { display:grid; gap:2px; }
.passkey-button-v65 strong { font-size:.82rem; }
.passkey-button-v65 small { color:var(--muted); font-size:.66rem; font-weight:500; }
.passkey-icon-v65 { width:34px; height:34px; flex:0 0 34px; border-radius:50%; display:grid; place-items:center; background:var(--brand-soft); font-size:22px; line-height:1; }

.passkey-settings-v65 { margin-top:14px; padding:21px; }
.passkey-settings-v65-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.passkey-settings-v65-head h2 { margin:4px 0 5px; font-family:"Cormorant Garamond",Georgia,serif; font-size:28px; line-height:1; }
.passkey-settings-v65-head p { max-width:680px; margin:0; color:var(--muted); font-size:.76rem; line-height:1.55; }
.passkey-status-v65 { flex:0 0 auto; border-radius:999px; padding:6px 10px; background:#f1ecec; color:var(--muted); font-size:.67rem; font-weight:800; white-space:nowrap; }
.passkey-status-v65.on { background:#e7f5ee; color:var(--success); }
.passkey-list-v65 { display:grid; gap:9px; margin:18px 0 12px; }
.passkey-item-v65 { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.passkey-item-icon-v65 { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:var(--brand-soft); color:var(--brand); font-size:22px; }
.passkey-item-v65 strong { display:block; font-size:.8rem; }
.passkey-item-v65 small { display:block; margin-top:3px; color:var(--muted); font-size:.65rem; line-height:1.4; }
.passkey-item-v65 .ghost-button { width:auto; padding:8px 10px; font-size:.68rem; }
.passkey-add-v65 { margin-top:16px; width:auto; }
.passkey-footnote-v65 { margin:11px 0 0; color:var(--muted); font-size:.65rem; line-height:1.45; }

@media (max-width:640px) {
  .passkey-settings-v65 { padding:17px; }
  .passkey-settings-v65-head { display:grid; gap:10px; }
  .passkey-status-v65 { justify-self:start; }
  .passkey-item-v65 { grid-template-columns:36px minmax(0,1fr); }
  .passkey-item-v65 .ghost-button { grid-column:2; justify-self:start; }
  .passkey-add-v65 { width:100%; }
}


/* V6.6 - documentación de solicitudes */
.join-v6-upload{display:grid;gap:8px;margin:12px 0 14px;padding:16px;border:1px dashed #cdb9bb;border-radius:15px;background:#fffaf9;cursor:pointer}.join-v6-upload>span{font-size:.8rem;font-weight:800;color:var(--ink)}.join-v6-upload>span small{display:block;margin-top:3px;color:var(--muted);font-size:.67rem;font-weight:500}.join-v6-upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.join-v6-upload strong{display:inline-flex;width:max-content;max-width:100%;padding:9px 12px;border-radius:10px;background:var(--brand-soft);color:var(--brand);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.join-v6-sepa{margin-top:12px}.admin-v66-documents{display:grid;gap:9px}.admin-v66-document{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none}.admin-v66-document>span{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--brand-soft)}.admin-v66-document strong{display:block;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-v66-document small{display:block;margin-top:2px;color:var(--muted);font-size:.64rem}

/* V6.6.1 — select de provincia en formulario público */
.join-v6-fields select {
  width: 100%;
  min-height: 47px;
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: 12px 14px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  outline: none;
}
.join-v6-fields select:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 4px var(--brand-soft);
}
#joinBaptismPendingLabel[hidden] { display: none !important; }

/* V6.10.18 — formulario público estable en Safari/iPhone */
.join-v6-field-invalid {
  scroll-margin-top: calc(96px + env(safe-area-inset-top));
}
.join-v6-field-error {
  display: block;
  margin-top: 3px;
  color: #a72f3a;
  font-size: .66rem;
  font-weight: 750;
  line-height: 1.4;
}
.join-v6-check.join-v6-field-invalid {
  flex-wrap: wrap;
  padding: 10px 12px;
  border: 1px solid rgba(167,47,58,.42);
  border-radius: 12px;
  background: #fff7f7;
}
.join-v6-check .join-v6-field-error {
  flex: 0 0 100%;
  margin: 2px 0 0 30px;
}
.join-v6-form .join-v6-fields input[type="date"] {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  -webkit-appearance: none;
  appearance: none;
}
.join-v6-form .join-v6-fields input[type="date"]::-webkit-date-and-time-value {
  min-width: 0;
  text-align: left;
}
@media (max-width:700px) {
  .join-v6-form .join-v6-fields input,
  .join-v6-form .join-v6-fields select,
  .join-v6-form .join-v6-iban input {
    min-width: 0;
    max-width: 100%;
    font-size: 14px;
  }
}

/* V6.10.19 — acabado uniforme de los campos de alta */
.join-v6-form .join-v6-fields input,
.join-v6-form .join-v6-fields select,
.join-v6-form .join-v6-iban input {
  min-height: 47px;
  background: #fffaf9;
  color: var(--ink);
  font-weight: 400;
}
.join-v6-form .join-v6-fields input::placeholder,
.join-v6-form .join-v6-iban input::placeholder {
  color: #a49b9d;
  font-weight: 400;
  opacity: 1;
}
.join-v6-form .join-v6-fields input[type="date"] {
  height: 47px;
  min-height: 47px;
  padding-block: 12px;
  align-self: stretch;
}


/* V6.7 — foto de perfil y documentación de miembro */
.profile-photo-v67{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;align-items:center;padding:20px;margin-bottom:14px}
.profile-photo-v67-image{width:112px;height:112px;border-radius:50%;overflow:hidden;background:var(--brand-soft);display:grid;place-items:center;color:var(--brand);font-family:"Cormorant Garamond",Georgia,serif;font-size:34px;font-weight:700;border:4px solid #fff;box-shadow:0 8px 24px rgba(48,24,27,.12)}
.profile-photo-v67-image img{width:100%;height:100%;object-fit:cover}
.profile-photo-v67-copy h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:28px;margin:4px 0 5px}.profile-photo-v67-copy p{margin:0 0 13px;color:var(--muted);font-size:12px;line-height:1.55}.profile-photo-v67-copy>small{display:block;margin-top:8px;color:var(--muted);font-size:10px}.profile-photo-v67-actions{display:flex;gap:8px;flex-wrap:wrap}.profile-photo-v67-upload{width:auto;margin:0;cursor:pointer}.profile-photo-v67-upload input{display:none}
.adm-member-photo-v67{position:relative;width:86px;height:86px;border-radius:50%;overflow:visible;flex:0 0 auto;background:#f7eeee;display:grid;place-items:center;color:var(--brand);font-size:24px;font-weight:800}.adm-member-photo-v67>img{width:86px;height:86px;border-radius:50%;object-fit:cover}.adm-member-photo-v67>span{display:grid;place-items:center;width:100%;height:100%}.adm-member-photo-v67 label{position:absolute;right:-3px;bottom:-3px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;border:3px solid #fff;cursor:pointer;font-size:13px}.adm-member-photo-v67 label input{display:none}.adm-photo-delete-v67{margin-top:7px}
.adm-doc-head-v67{margin-top:26px}.adm-doc-grid-v67{display:grid;gap:10px}.adm-doc-v67{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}.adm-doc-v67-icon{width:42px;height:42px;border-radius:11px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:11px;font-weight:900}.adm-doc-v67-copy strong,.adm-doc-v67-copy span,.adm-doc-v67-copy small{display:block}.adm-doc-v67-copy strong{font-size:13px}.adm-doc-v67-copy span{margin-top:2px;color:var(--muted);font-size:10px}.adm-doc-v67-copy small{margin-top:3px;color:#a08f91;font-size:9px}.adm-doc-v67-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:640px){.profile-photo-v67{grid-template-columns:82px minmax(0,1fr);gap:14px}.profile-photo-v67-image{width:82px;height:82px}.adm-doc-v67{grid-template-columns:40px minmax(0,1fr)}.adm-doc-v67-actions{grid-column:2;justify-content:flex-start}}


/* =========================================================
   V6.8 — navegación administrativa jerárquica
   ========================================================= */
.legacy-admin {
  min-height: 100vh;
  min-height: 100dvh;
}
.adm-shell {
  grid-template-columns: 270px minmax(0,1fr);
  transition: grid-template-columns .22s ease;
}
.adm-shell.is-sidebar-collapsed {
  grid-template-columns: 84px minmax(0,1fr);
}
.adm-sidebar {
  height: 100vh;
  height: 100dvh;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.25) transparent;
  transition: width .22s ease, padding .22s ease;
}
.adm-sidebar::-webkit-scrollbar { width: 6px; }
.adm-sidebar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.22); border-radius: 999px; }
.adm-sidebar-nav { flex: 0 0 auto; }
.adm-sidebar-brand {
  position: relative;
  min-height: 68px;
  padding-right: 28px;
}
.adm-sidebar-brand-copy {
  min-width: 0;
  white-space: nowrap;
  transition: opacity .15s ease, width .2s ease;
}
.adm-sidebar-toggle {
  position: absolute;
  right: -9px;
  top: 18px;
  width: 28px;
  height: 32px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px 0 0 10px;
  background: rgba(255,255,255,.10);
  color: #fff;
  font-size: 21px;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.adm-sidebar-toggle:hover { background: rgba(255,255,255,.18); }
.adm-nav-text { white-space: nowrap; }
.adm-nav-btn { min-height: 44px; }
.adm-sidebar-bottom {
  padding-top: 22px;
  margin-top: auto;
}
.adm-user-chip {
  position: relative;
  align-items: center;
  min-width: 0;
}
.adm-user-avatar {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--gold);
  color: #3f2b08;
  display: grid;
  place-items: center;
  font-weight: 800;
}
.adm-user-avatar img { width:100%; height:100%; object-fit:cover; }
.adm-user-info {
  min-width: 0;
  flex: 1;
}
.adm-user-info strong,
.adm-mobile-user strong {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
}
.adm-user-info span,
.adm-mobile-user span {
  display:block;
  color:rgba(255,255,255,.62);
  font-size:10px;
  margin-top:2px;
}
.adm-user-info small,
.adm-mobile-user small {
  display:block;
  color:rgba(255,255,255,.42);
  font-size:9px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  margin-top:2px;
}
.adm-user-logout {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border:0;
  border-radius:10px;
  color:rgba(255,255,255,.72);
  background:rgba(255,255,255,.08);
  display:grid;
  place-items:center;
}
.adm-user-logout:hover { color:#fff; background:rgba(255,255,255,.15); }
.adm-user-logout b { display:none; }

.adm-shell.is-sidebar-collapsed .adm-sidebar {
  width:84px;
  padding-left:12px;
  padding-right:12px;
}
.adm-shell.is-sidebar-collapsed .adm-sidebar-brand {
  padding: 0 0 20px;
  justify-content:center;
}
.adm-shell.is-sidebar-collapsed .adm-sidebar-brand img {
  width:48px;
  height:48px;
}
.adm-shell.is-sidebar-collapsed .adm-sidebar-brand-copy,
.adm-shell.is-sidebar-collapsed .adm-nav-text,
.adm-shell.is-sidebar-collapsed .adm-nav-label,
.adm-shell.is-sidebar-collapsed .adm-user-info {
  display:none;
}
.adm-shell.is-sidebar-collapsed .adm-sidebar-toggle {
  right:-12px;
  top:10px;
}
.adm-shell.is-sidebar-collapsed .adm-nav-btn {
  justify-content:center;
  padding:11px 8px;
}
.adm-shell.is-sidebar-collapsed .adm-nav-icon {
  width:auto;
  margin:0;
}
.adm-shell.is-sidebar-collapsed .adm-user-chip {
  padding:8px 5px;
  flex-direction:column;
}
.adm-shell.is-sidebar-collapsed .adm-user-logout {
  margin-top:5px;
}
.adm-content {
  min-height:100vh;
  min-height:100dvh;
}

/* Cabecera sin acciones globales y submenú contextual */
.adm-admin-head {
  position:sticky;
  top:0;
  z-index:12;
  background:rgba(255,253,249,.96);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.adm-admin-head .adm-topbar {
  position:relative;
  top:auto;
  border-bottom:0;
  background:transparent;
  backdrop-filter:none;
}
.adm-context-nav {
  padding:0 30px 11px;
}
.adm-context-nav-inner {
  display:flex;
  gap:7px;
  overflow-x:auto;
  scrollbar-width:none;
}
.adm-context-nav-inner::-webkit-scrollbar { display:none; }
.adm-context-link {
  flex:0 0 auto;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--muted);
  padding:8px 13px;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.adm-context-link:hover { color:var(--brand); border-color:#d6b9bc; }
.adm-context-link.active {
  color:#fff;
  background:var(--brand);
  border-color:var(--brand);
}

/* Sheet Más para tablet/móvil */
.adm-mobile-more-backdrop {
  display:none;
}
.adm-mobile-more {
  width:min(520px,100%);
  max-height:min(78vh,680px);
  overflow-y:auto;
  background:#fffdf9;
  border-radius:24px 24px 0 0;
  padding:10px 17px calc(18px + env(safe-area-inset-bottom));
  box-shadow:0 -18px 50px rgba(29,9,12,.22);
}
.adm-mobile-more-handle {
  width:42px;
  height:4px;
  border-radius:999px;
  background:#d5cbcc;
  margin:2px auto 15px;
}
.adm-mobile-user {
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:14px;
  border-radius:16px;
  background:linear-gradient(135deg,#671f26,#8b3036);
  color:#fff;
}
.adm-mobile-user .adm-user-avatar { width:46px; height:46px; }
.adm-mobile-more-links {
  display:grid;
  gap:8px;
  margin:13px 0;
}
.adm-mobile-more-links button {
  width:100%;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:12px;
  text-align:left;
}
.adm-mobile-more-links button > span {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:18px;
}
.adm-mobile-more-links strong { display:block; font-size:12px; }
.adm-mobile-more-links small { color:var(--muted); font-size:10px; }
.adm-mobile-logout {
  width:100%;
  border:1px solid #e4d3d5;
  border-radius:13px;
  background:#fff;
  color:var(--brand);
  font-weight:800;
  padding:12px 14px;
}

/* El antiguo grupo de acciones de cabecera deja de formar parte del layout. */
.adm-topbar-actions { display:none !important; }

@media (max-width:900px) {
  .adm-shell,
  .adm-shell.is-sidebar-collapsed {
    display:block;
    padding-bottom:calc(80px + env(safe-area-inset-bottom));
  }
  .adm-sidebar { display:none; }

  .adm-admin-head {
    color:#fff;
    background:var(--brand);
    border-bottom:0;
  }
  .adm-admin-head .adm-topbar {
    min-height:calc(68px + env(safe-area-inset-top));
    padding:calc(10px + env(safe-area-inset-top)) 17px 8px;
    color:#fff;
  }
  .adm-admin-head .adm-topbar h1 { color:#fff; }
  .adm-admin-head .adm-topbar p { color:rgba(255,255,255,.66); }
  .adm-context-nav {
    padding:0 14px 10px;
  }
  .adm-context-link {
    border-color:rgba(255,255,255,.22);
    background:rgba(255,255,255,.10);
    color:rgba(255,255,255,.75);
  }
  .adm-context-link.active {
    background:#fff;
    color:var(--brand);
    border-color:#fff;
  }

  .adm-admin-bottom.adm-mobile-only {
    display:flex !important;
  }
  .adm-bottom-nav-inner {
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .adm-bottom-link {
    min-width:0;
  }

  .adm-mobile-more-backdrop {
    position:fixed;
    inset:0;
    z-index:90;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    background:rgba(25,10,12,.42);
    backdrop-filter:blur(3px);
  }
}

@media (min-width:901px) {
  .adm-admin-bottom,
  .adm-mobile-more-backdrop {
    display:none !important;
  }
}

@media (max-width:640px) {
  .adm-context-nav { padding-left:12px; padding-right:12px; }
  .adm-context-link { padding:7px 11px; font-size:10px; }
}


/* =========================================================
   V6.9 — Perfil editable, logout y espaciado móvil
   ========================================================= */
.topbar-home-spacer { width:40px; height:40px; display:block; }

.member-data-v69 {
  padding: 22px;
  margin-top: 18px;
}
.member-data-v69-head,
.passkey-settings-v65-head,
.push-settings-v64-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}
.member-data-v69-head h2 {
  margin:4px 0 6px;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:30px;
  line-height:1;
}
.member-data-v69-head p {
  margin:0;
  max-width:680px;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.55;
}
.member-data-v69-status {
  flex:0 0 auto;
  border-radius:999px;
  padding:7px 10px;
  background:#e7f5ee;
  color:var(--success);
  font-size:.67rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.member-data-v69-locked {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:20px 0;
}
.member-data-v69-locked > div {
  min-width:0;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fbf8f7;
}
.member-data-v69-locked small,
.member-data-v69-payment small,
.member-data-v69-iban-na small {
  display:block;
  color:var(--muted);
  font-size:.62rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.member-data-v69-locked strong {
  display:block;
  margin-top:4px;
  font-size:.78rem;
  overflow:hidden;
  text-overflow:ellipsis;
}
.member-data-v69-form {
  border-top:1px solid var(--line);
  padding-top:18px;
}
.member-data-v69-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}
.member-data-v69-grid label,
.member-data-v69-payment label {
  display:grid;
  gap:6px;
  color:var(--ink);
  font-size:.72rem;
  font-weight:800;
}
.member-data-v69-grid label.wide { grid-column:1/-1; }
.member-data-v69-grid input,
.member-data-v69-grid select,
.member-data-v69-payment input {
  width:100%;
  min-height:44px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  padding:10px 12px;
  outline:none;
  font:inherit;
  font-weight:500;
}
.member-data-v69-grid input:focus,
.member-data-v69-grid select:focus,
.member-data-v69-payment input:focus {
  border-color:var(--brand);
  box-shadow:0 0 0 3px var(--brand-soft);
}
.member-data-v69-payment {
  display:grid;
  grid-template-columns:minmax(180px,.6fr) minmax(0,1.4fr);
  gap:13px;
  align-items:end;
  margin-top:14px;
  padding:15px;
  border-radius:15px;
  background:#faf6f5;
}
.member-data-v69-payment > div:first-child {
  padding:8px 5px;
}
.member-data-v69-payment > div:first-child strong {
  display:block;
  margin-top:4px;
  font-size:.82rem;
}
.member-data-v69-payment label > small {
  text-transform:none;
  letter-spacing:0;
  font-size:.67rem;
  font-weight:500;
}
.member-data-v69-iban-na {
  padding:8px 4px;
}
.member-data-v69-iban-na strong { display:block; margin:4px 0 2px; font-size:.8rem; }
.member-data-v69-iban-na span { color:var(--muted); font-size:.68rem; }
.member-data-v69-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:16px;
}
.member-data-v69-actions p {
  margin:0;
  color:var(--muted);
  font-size:.68rem;
  line-height:1.45;
}
.member-data-v69-actions .primary-button {
  width:auto;
  flex:0 0 auto;
  margin:0;
  padding-left:18px;
  padding-right:18px;
}

.profile-logout-v69 {
  margin:18px 0 4px;
}
.profile-logout-v69-button {
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid #e6d6d8;
  border-radius:17px;
  padding:14px 16px;
  background:#fff;
  color:var(--brand);
  text-align:left;
}
.profile-logout-v69-button:hover { background:var(--brand-soft); border-color:#d7b8bc; }
.profile-logout-v69-button > svg {
  width:24px;
  height:24px;
  flex:0 0 24px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
}
.profile-logout-v69-button strong { display:block; font-size:.8rem; }
.profile-logout-v69-button small { display:block; margin-top:2px; color:var(--muted); font-size:.67rem; }

.adm-user-logout svg,
.adm-mobile-logout svg {
  width:18px;
  height:18px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
}
.adm-mobile-logout {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
}

@media (max-width:800px) {
  .member-data-v69-locked { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .home-v3-grid > aside { padding-top:20px; }
  .member-data-v69 { padding:18px; }
  .member-data-v69-head { gap:10px; }
  .member-data-v69-head h2 { font-size:27px; }
  .member-data-v69-status { padding:6px 8px; font-size:.6rem; }
  .member-data-v69-locked { grid-template-columns:1fr 1fr; gap:8px; }
  .member-data-v69-locked > div { padding:11px; }
  .member-data-v69-grid { grid-template-columns:1fr; }
  .member-data-v69-grid label.wide { grid-column:auto; }
  .member-data-v69-payment { grid-template-columns:1fr; }
  .member-data-v69-actions { align-items:stretch; flex-direction:column; }
  .member-data-v69-actions .primary-button { width:100%; }
}


/* V6.9.4 — comportamiento tipo app instalada */
html.pwa-standalone,
html.pwa-standalone body,
html.pwa-standalone #app,
html.pwa-standalone .app-shell,
html.pwa-standalone .legacy-admin {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

/* Los controles de formulario sí deben permitir cursor, selección y edición. */
html.pwa-standalone input,
html.pwa-standalone textarea,
html.pwa-standalone select,
html.pwa-standalone [contenteditable="true"] {
  -webkit-user-select: text;
  user-select: text;
  -webkit-touch-callout: default;
}

/* V6.9.5 */
.push-actions-v64{flex-wrap:wrap}.push-actions-v64>button{min-width:0}


/* =========================================================
   V6.10 — Android + cargos institucionales
   ========================================================= */
html, body {
  touch-action: pan-x pan-y;
}

/* Cargos visibles en el área privada */
.member-roles-v610 {
  margin-top: 18px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fffaf8;
}
.member-roles-v610 > small {
  display:block;
  margin-bottom:9px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:10px;
  font-weight:800;
}
.member-roles-v610 > div {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.member-roles-v610 span,
.admin-role-badges-v610 span {
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  border-radius:999px;
  background:#f3eeed;
  color:#65484b;
  font-size:10px;
  font-weight:800;
}
.member-roles-v610 span.junta,
.admin-role-badges-v610 span.junta {
  background:var(--brand-soft);
  color:var(--brand);
}
.admin-role-badges-v610 {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  min-width:180px;
}
.admin-role-badges-v610 small { color:var(--muted); }

.admin-access-explain-v610 h2,
.admin-role-create-v610 h2 { margin:5px 0 6px; }
.admin-access-explain-v610 p,
.admin-role-create-v610 p { color:var(--muted); font-size:12px; line-height:1.55; }

.admin-role-create-v610 form {
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) minmax(180px,.7fr) 100px auto;
  gap:10px;
  align-items:end;
  margin-top:17px;
}
.admin-role-create-v610 label {
  display:grid;
  gap:6px;
  font-size:10px;
  font-weight:800;
}
.admin-role-create-v610 input,
.admin-role-create-v610 select,
.admin-role-name-v610,
[data-role-junta],
[data-role-order] {
  width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  padding:9px 10px;
  font:inherit;
}
.admin-role-active-v610 {
  white-space:nowrap;
  font-size:11px;
}

.admin-role-modal-backdrop-v610 {
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(31,10,13,.48);
  backdrop-filter:blur(4px);
}
.admin-role-modal-v610 {
  width:min(680px,100%);
  max-height:min(86vh,800px);
  overflow:auto;
  border-radius:24px;
  background:#fffdf9;
  padding:22px;
  box-shadow:0 26px 70px rgba(32,10,13,.26);
}
.admin-role-modal-head-v610 {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:start;
  padding-bottom:15px;
  border-bottom:1px solid var(--line);
}
.admin-role-modal-head-v610 h2 { margin:4px 0; font-size:29px; }
.admin-role-modal-head-v610 p { margin:0;color:var(--muted);font-size:11px; }
.admin-role-modal-head-v610 > button {
  width:36px;height:36px;border:0;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:22px;
}
.admin-super-role-v610 {
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.admin-super-role-v610 label,
.admin-role-group-v610 label {
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.admin-super-role-v610 span { display:grid;gap:3px; }
.admin-super-role-v610 small { color:var(--muted);font-size:10px;font-weight:500; }
.admin-role-group-v610 { padding:15px 0 4px; }
.admin-role-group-v610 h4 { margin:0 0 10px;font-family:"Cormorant Garamond",Georgia,serif;font-size:22px; }
.admin-role-group-v610 label {
  padding:8px 0;
  border-bottom:1px solid #f2ebeb;
  font-size:12px;
}
.admin-role-modal-actions-v610 {
  position:sticky;
  bottom:-22px;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin:15px -22px -22px;
  padding:13px 22px calc(13px + env(safe-area-inset-bottom));
  border-top:1px solid var(--line);
  background:rgba(255,253,249,.97);
}

@media(max-width:900px){
  .admin-role-create-v610 form { grid-template-columns:1fr 1fr; }
}
@media(max-width:620px){
  .admin-role-create-v610 form { grid-template-columns:1fr; }
  .admin-role-modal-backdrop-v610 { padding:0;align-items:end; }
  .admin-role-modal-v610 { max-height:88vh;border-radius:24px 24px 0 0;padding:18px; }
  .admin-role-modal-actions-v610 { bottom:-18px;margin:15px -18px -18px;padding-left:18px;padding-right:18px; }
}


/* =========================================================
   V6.10.1 — pulido navegación y experiencia móvil
   ========================================================= */

/* Evita la línea duplicada justo debajo de Cargos y responsabilidades. */
.member-roles-v610 ~ .member-data-v69-form { border-top:0; }

/* Botón Desactivar igual que Guardar cambios. */
.push-disable-v64.primary-button {
  color:#fff;
  background:var(--brand);
  border-color:var(--brand);
}

/* SVG consistentes en escritorio y móvil. */
.adm-nav-icon svg,
.adm-bottom-link svg,
.adm-mobile-more-links button > span svg {
  width:20px;
  height:20px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.adm-bottom-link > span { display:grid; place-items:center; }

/* Menú del usuario en el sidebar. */
.adm-user-area-v6101 { position:relative; }
.adm-user-chip-button-v6101 {
  width:100%;
  border:0;
  color:#fff;
  text-align:left;
  cursor:pointer;
}
.adm-user-menu-chevron-v6101 {
  margin-left:auto;
  color:rgba(255,255,255,.62);
  font-size:15px;
  transition:transform .18s ease;
}
.adm-user-chip-button-v6101[aria-expanded="true"] .adm-user-menu-chevron-v6101 {
  transform:rotate(180deg);
}
.adm-user-menu-v6101 {
  position:absolute;
  left:0;
  right:0;
  bottom:calc(100% + 9px);
  z-index:85;
  display:grid;
  gap:5px;
  padding:7px;
  border:1px solid #e8dfe0;
  border-radius:15px;
  background:#fffdf9;
  box-shadow:0 18px 44px rgba(31,8,12,.28);
}
.adm-user-menu-v6101 button {
  width:100%;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:9px;
  align-items:center;
  border:0;
  border-radius:11px;
  background:transparent;
  color:var(--ink);
  padding:9px;
  text-align:left;
}
.adm-user-menu-v6101 button:hover { background:var(--brand-soft); }
.adm-user-menu-v6101 button > span {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:var(--brand);
  background:var(--brand-soft);
}
.adm-user-menu-v6101 button svg {
  width:18px;
  height:18px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.adm-user-menu-v6101 strong { display:block; font-size:11px; }
.adm-user-menu-v6101 small { display:block; margin-top:2px; color:var(--muted); font-size:9px; }

.adm-shell.is-sidebar-collapsed .adm-user-chip-button-v6101 {
  justify-content:center;
  padding:8px 5px;
}
.adm-shell.is-sidebar-collapsed .adm-user-menu-chevron-v6101 { display:none; }
.adm-shell.is-sidebar-collapsed .adm-user-menu-v6101 {
  left:calc(100% + 10px);
  right:auto;
  bottom:0;
  width:220px;
}

/* Más móvil: panel táctil independiente y cierre explícito. */
.adm-mobile-more-backdrop {
  pointer-events:auto;
  z-index:200 !important;
}
.adm-mobile-more {
  position:relative;
  pointer-events:auto;
  touch-action:pan-y;
}
.adm-mobile-more-top-v6101 { position:relative; min-height:28px; }
.adm-mobile-more-top-v6101 .adm-mobile-more-handle { margin-top:2px; }
.adm-mobile-more-links button,
.adm-mobile-logout { touch-action:manipulation; }

/* Cabeceras móviles fijas para evitar el estiramiento en overscroll. */
@media (max-width:900px) {
  html, body { overscroll-behavior-y:none; }

  .app-shell > .topbar {
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
    z-index:60;
    transform:translateZ(0);
  }
  .app-shell > .topbar + .content {
    padding-top:calc(88px + env(safe-area-inset-top));
  }
  /* En pantallas de detalle con contenido a sangre (p. ej. la foto de un evento),
     conservamos solo el espacio real de la cabecera fija y eliminamos los 20 px
     de separación visual que sí se mantienen en el resto de páginas. */
  .app-shell > .topbar + .content.content--flush {
    padding-top:calc(68px + env(safe-area-inset-top));
  }

  .adm-admin-head {
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
    z-index:60;
    transform:translateZ(0);
  }
  .adm-content {
    padding-top:calc(76px + env(safe-area-inset-top));
  }
  .adm-content.has-admin-subnav-v6101 {
    padding-top:calc(116px + env(safe-area-inset-top));
  }

  /* Estado económico → Agenda usa ~25 px; igualamos Agenda → Accesos. */
  .home-v3-grid { gap:25px; }
  .home-v3-grid > aside { padding-top:0; }
}

@media (max-width:640px) {
  .home-v3-grid { gap:25px; }
  .home-v3-grid > aside { padding-top:0; }
}


/* =========================================================
   V6.10.2 — panel Más móvil sin click-through en iOS
   ========================================================= */
@media (max-width:900px) {
  /* Cuando Más está abierto, todo lo que queda detrás deja de recibir toques. */
  .adm-shell.is-mobile-more-open-v6102 > .adm-content,
  .adm-shell.is-mobile-more-open-v6102 > .adm-sidebar,
  .adm-shell.is-mobile-more-open-v6102 > .adm-admin-bottom {
    pointer-events:none !important;
  }

  .adm-mobile-more-backdrop {
    position:fixed !important;
    inset:0 !important;
    z-index:1000 !important;
    display:block !important;
    background:rgba(25,10,12,.50) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    overflow:hidden;
    pointer-events:auto !important;
    isolation:isolate;
  }
  .adm-mobile-more {
    position:absolute !important;
    left:0;
    right:0;
    bottom:0;
    z-index:2;
    width:100% !important;
    max-height:calc(100dvh - 84px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    transform:none !important;
    pointer-events:auto !important;
    touch-action:pan-y;
  }
  .adm-mobile-more::before {
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background:#fffdf9;
    border-radius:24px 24px 0 0;
  }
  .adm-mobile-more-links,
  .adm-mobile-user,
  .adm-mobile-more-top-v6101,
  .adm-mobile-logout {
    position:relative;
    z-index:3;
    pointer-events:auto !important;
  }
  .adm-mobile-more-links button,
  .adm-mobile-logout {
    position:relative;
    z-index:4;
    pointer-events:auto !important;
    -webkit-tap-highlight-color:transparent;
  }

  body:has(.adm-mobile-more-backdrop) {
    overflow:hidden;
  }
}


/* =========================================================
   V6.10.3 — navegación administrativa y cargas recuperables
   ========================================================= */
.adm-mobile-more-links button,
.adm-mobile-logout,
[data-admin-module],
[data-admin-page] {
  cursor:pointer;
}

.admin-load-error-v6103 {
  margin-bottom:18px;
  border-color:#e3bfc2;
  background:#fff8f8;
}
.admin-load-error-v6103 h2 { color:var(--brand); }
.admin-load-error-v6103 .adm-primary-btn { margin-top:10px; }

.admin-communications-grid-v6103 {
  align-items:start;
  margin-top:22px;
}
.admin-section-head-compact-v6103 {
  margin-top:0;
}
.admin-push-form-v6103 fieldset {
  display:grid;
  gap:13px;
  margin:0;
  padding:0;
  border:0;
}
.admin-push-form-v6103 label {
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.admin-push-form-v6103 input,
.admin-push-form-v6103 textarea,
.admin-push-form-v6103 select {
  width:100%;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  color:var(--ink);
  padding:10px 11px;
  font:inherit;
  font-size:12px;
  font-weight:500;
  text-transform:none;
  letter-spacing:normal;
}
.admin-push-form-v6103 textarea { resize:vertical; min-height:112px; }
.admin-push-form-v6103 .notice { margin-bottom:2px; }
.admin-push-fields-v6103 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

@media (max-width:640px) {
  .admin-push-fields-v6103 { grid-template-columns:1fr; }
  .admin-communications-grid-v6103 { margin-top:17px; }
}


/* =========================================================
   V6.10.5 — scroll general sin barra visible
   ========================================================= */
html,
body,
#app,
.app-shell,
.legacy-admin {
  -ms-overflow-style:none;
  scrollbar-width:none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
#app::-webkit-scrollbar,
.app-shell::-webkit-scrollbar,
.legacy-admin::-webkit-scrollbar {
  display:none;
  width:0;
  height:0;
}


/* =========================================================
   V6.10.6 — foto editable y acceso separado a Administración
   ========================================================= */
.profile-photo-v6106-media {
  position:relative;
  width:112px;
  height:112px;
}
.profile-photo-v6106-edit {
  position:absolute;
  right:-3px;
  bottom:-3px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--brand);
  color:#fff;
  box-shadow:0 5px 14px rgba(58,18,22,.24);
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, opacity .18s ease;
}
.profile-photo-v6106-edit:hover {
  transform:scale(1.06);
  background:#671f26;
}
.profile-photo-v6106-edit.is-loading {
  opacity:.58;
  pointer-events:none;
}
.profile-photo-v6106-edit svg {
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.profile-photo-v6106-edit input { display:none; }

.profile-admin-access-v6106 {
  margin:18px 0 0;
}
.profile-admin-access-v6106-button {
  width:100%;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:0;
  border-radius:17px;
  padding:14px 16px;
  background:linear-gradient(135deg,#671f26,#8b3036);
  color:#fff;
  text-align:left;
  box-shadow:0 10px 24px rgba(80,23,29,.18);
}
.profile-admin-access-v6106-button:hover {
  background:linear-gradient(135deg,#58191f,#7d2b30);
}
.profile-admin-access-v6106-icon {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(255,255,255,.13);
}
.profile-admin-access-v6106-icon svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.profile-admin-access-v6106-copy strong {
  display:block;
  font-size:.8rem;
}
.profile-admin-access-v6106-copy small {
  display:block;
  margin-top:3px;
  color:rgba(255,255,255,.68);
  font-size:.67rem;
}
.profile-admin-access-v6106-arrow {
  color:rgba(255,255,255,.72);
  font-size:25px;
  line-height:1;
}
.profile-admin-access-v6106 + .profile-logout-v69 {
  margin-top:10px;
}

@media(max-width:640px) {
  .profile-photo-v6106-media {
    width:82px;
    height:82px;
  }
  .profile-photo-v6106-edit {
    right:-4px;
    bottom:-4px;
    width:32px;
    height:32px;
  }
}


/* =========================================================
   V6.10.8 — cabecera administrativa y navegación contextual
   ========================================================= */
.adm-sidebar-toggle {
  right:-18px;
  border-right:0;
}
.adm-shell.is-sidebar-collapsed .adm-sidebar-toggle {
  right:-12px;
}

.adm-admin-head {
  position:sticky;
  top:0;
  z-index:30;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.97);
  color:var(--ink);
  backdrop-filter:blur(16px);
}
.adm-mobile-module-head { display:none; }
.adm-module-toolbar {
  position:relative;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:0 30px;
}
.adm-context-nav {
  min-width:0;
  flex:1;
  padding:0;
}
.adm-context-nav-inner {
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  scrollbar-width:none;
}
.adm-context-link {
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--muted);
  padding:9px 14px;
  font-size:11px;
  font-weight:750;
  white-space:nowrap;
  transition:color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.adm-context-link-icon,
.adm-global-action {
  display:grid;
  place-items:center;
}
.adm-context-link-icon svg {
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.adm-context-link:hover {
  color:var(--brand);
  border-color:#d6b9bc;
}
.adm-context-link.active {
  color:#fff;
  border-color:var(--brand);
  background:var(--brand);
  box-shadow:0 7px 17px rgba(125,43,48,.16);
}

.adm-global-actions {
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
}
.adm-global-action {
  width:40px;
  height:40px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:#75686a;
  transition:color .18s ease,border-color .18s ease,background .18s ease;
}
.adm-global-action:hover,
.adm-global-action.active {
  color:var(--brand);
  border-color:#d8bdc0;
  background:var(--brand-soft);
}
.adm-global-action svg {
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.adm-global-search-panel {
  position:absolute;
  z-index:35;
  top:62px;
  right:30px;
  width:min(430px,calc(100vw - 60px));
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fff;
  box-shadow:0 18px 48px rgba(48,20,24,.18);
}
.adm-global-search-form {
  display:grid;
  grid-template-columns:20px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:12px;
  border-bottom:1px solid var(--line);
}
.adm-global-search-form > span {
  display:grid;
  place-items:center;
  color:var(--brand);
}
.adm-global-search-form svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.adm-global-search-form input {
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:inherit;
  font-size:12px;
}
.adm-global-search-form button {
  border:0;
  border-radius:9px;
  padding:8px 11px;
  background:var(--brand);
  color:#fff;
  font-size:10px;
  font-weight:800;
}
.adm-global-search-results {
  max-height:min(430px,62vh);
  overflow-y:auto;
  padding:6px;
}
.adm-global-search-note {
  margin:0;
  padding:17px 13px;
  color:var(--muted);
  font-size:11px;
  text-align:center;
}
.adm-global-search-note.is-error { color:var(--danger); }
.adm-global-search-result {
  width:100%;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:0;
  border-radius:12px;
  padding:9px 10px;
  background:transparent;
  color:var(--ink);
  text-align:left;
}
.adm-global-search-result:hover { background:#faf4f2; }
.adm-global-search-avatar {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:11px;
  font-weight:850;
}
.adm-global-search-result strong,
.adm-global-search-result small { display:block; }
.adm-global-search-result strong { font-size:12px; }
.adm-global-search-result small {
  margin-top:2px;
  overflow:hidden;
  color:var(--muted);
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.adm-global-search-result b {
  color:#a99194;
  font-size:20px;
  font-weight:500;
}

.adm-page-heading {
  max-width:1500px;
  margin:0 auto;
  padding:27px 30px 0;
}
.adm-page-heading h1 {
  margin:0;
  color:var(--ink);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:34px;
  line-height:1.05;
}
.adm-page-heading p {
  margin:5px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.adm-page { padding-top:21px; }

@media (max-width:900px) {
  .adm-content,
  .adm-content.has-admin-subnav-v6101 { padding-top:0; }
  .adm-admin-head {
    left:auto;
    right:auto;
    width:auto;
    transform:none;
    background:transparent;
    border-bottom:0;
    backdrop-filter:none;
  }
  .adm-mobile-module-head {
    min-height:calc(92px + env(safe-area-inset-top));
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:calc(17px + env(safe-area-inset-top)) 17px 16px;
    background:linear-gradient(135deg,#671f26,#7d2b30);
    color:#fff;
  }
  .adm-mobile-module-head h1 {
    margin:0;
    color:#fff;
    font-family:"Cormorant Garamond",Georgia,serif;
    font-size:27px;
    line-height:1.05;
  }
  .adm-mobile-module-head p {
    margin:5px 0 0;
    max-width:100%;
    color:rgba(255,255,255,.72);
    font-size:11px;
    line-height:1.35;
  }
  .adm-module-toolbar {
    min-height:0;
    display:block;
    padding:0;
    background:#fff;
    border-bottom:1px solid var(--line);
  }
  .adm-context-nav { width:100%; }
  .adm-context-nav-inner {
    gap:0;
    padding:0 7px;
  }
  .adm-context-link {
    position:relative;
    min-height:51px;
    gap:7px;
    border:0;
    border-radius:0;
    padding:13px 11px 12px;
    background:transparent;
    color:#706668;
    box-shadow:none;
  }
  .adm-context-link::after {
    content:"";
    position:absolute;
    left:11px;
    right:11px;
    bottom:0;
    height:3px;
    border-radius:999px 999px 0 0;
    background:transparent;
  }
  .adm-context-link:hover,
  .adm-context-link.active {
    border:0;
    background:transparent;
    color:var(--brand);
    box-shadow:none;
  }
  .adm-context-link.active::after { background:var(--brand); }
  .adm-global-actions,
  .adm-global-search-panel { display:none; }
  .adm-page-heading { display:none; }
  .adm-page { padding-top:18px; }
}

@media (max-width:640px) {
  .adm-mobile-module-head {
    padding-left:14px;
    padding-right:14px;
  }
  .adm-mobile-module-head h1 { font-size:25px; }
  .adm-context-nav-inner { padding:0 4px; }
  .adm-context-link { padding-left:10px; padding-right:10px; font-size:10px; }
}


/* =========================================================
   V6.10.9 — pestañas, cabecera móvil, búsqueda y sheet táctil
   ========================================================= */
.adm-mobile-search-action { display:none; }
.adm-admin-head > .adm-global-search-panel {
  top:calc(100% - 8px);
}

@media (min-width:901px) {
  .adm-module-toolbar { align-items:stretch; }
  .adm-context-nav,
  .adm-context-nav-inner { align-self:stretch; }
  .adm-context-nav-inner {
    min-height:72px;
    gap:4px;
  }
  .adm-context-link {
    position:relative;
    min-height:72px;
    border:0;
    border-radius:0;
    padding:0 15px;
    background:transparent;
    box-shadow:none;
  }
  .adm-context-link::after {
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    bottom:-1px;
    height:3px;
    border-radius:999px 999px 0 0;
    background:transparent;
  }
  .adm-context-link:hover,
  .adm-context-link.active {
    border:0;
    background:transparent;
    color:var(--brand);
    box-shadow:none;
  }
  .adm-context-link.active::after { background:var(--brand); }
  .adm-global-actions { align-self:center; }
}

@media (max-width:900px) {
  .adm-mobile-module-head {
    position:relative;
    min-height:calc(68px + env(safe-area-inset-top));
    padding:calc(7px + env(safe-area-inset-top)) 66px 8px 14px;
  }
  .adm-mobile-module-copy {
    width:100%;
    min-width:0;
  }
  .adm-mobile-module-head h1 { font-size:25px; }
  .adm-mobile-module-head p {
    margin-top:3px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .adm-mobile-search-action {
    position:absolute;
    right:14px;
    bottom:14px;
    width:40px;
    height:40px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:13px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.10);
    color:#fff;
  }
  .adm-mobile-search-action.active,
  .adm-mobile-search-action:active { background:rgba(255,255,255,.22); }
  .adm-mobile-search-action svg {
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .adm-global-actions { display:none; }
  .adm-admin-head > .adm-global-search-panel {
    right:12px;
    width:calc(100vw - 24px);
    display:block;
  }

  .adm-mobile-more-backdrop {
    background:rgba(25,10,12,var(--adm-more-backdrop-opacity,.5)) !important;
    transition:background-color .18s ease;
  }
  .adm-mobile-more {
    transform:translate3d(0,var(--adm-more-drag-y,0px),0) !important;
    transition:transform .22s cubic-bezier(.22,.8,.28,1);
    will-change:transform;
    overscroll-behavior:contain;
  }
  .adm-mobile-more.is-dragging { transition:none; }
  .adm-mobile-more.is-closing { transition:transform .18s ease-in; }
  .adm-mobile-more-top-v6101 {
    position:relative;
    min-height:38px;
    touch-action:none;
    user-select:none;
    -webkit-user-select:none;
    cursor:grab;
  }
  .adm-mobile-more.is-dragging .adm-mobile-more-top-v6101 { cursor:grabbing; }
  .adm-mobile-more-top-v6101 .adm-mobile-more-handle {
    width:44px;
    height:5px;
    margin:3px auto 14px;
  }
}

@media (max-width:640px) {
  .adm-mobile-module-head { padding-right:64px; }
  .adm-mobile-module-head h1 { font-size:24px; }
}


/* =========================================================
   V6.10.10 — comunicaciones y ficha de miembro
   ========================================================= */
:root { --gold-soft:#f4ead2; }

.adm-page-heading-row {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.adm-page-heading-copy { min-width:0; }
.adm-page-heading-actions {
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
}
.adm-member-detail-mobile-actions-v61010 { display:none; }

.adm-member-list-avatar-v61010 {
  flex:0 0 42px;
  width:42px;
  height:42px;
  overflow:hidden;
  background:var(--brand-soft) !important;
  color:var(--brand) !important;
}
.adm-member-list-avatar-v61010 img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.adm-member-list-avatar-v61010 > span {
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
}

.adm-detail-head-copy-v61010 { min-width:0; }
.adm-membership-lines {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:12px;
}
.adm-badge.gold {
  border:0;
  background:var(--gold-soft);
  color:#765719;
}
.adm-member-section-head-v61010 { margin-top:28px; }
.adm-memberships-v61010 {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:12px;
}
.adm-membership-card-v61010 {
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:17px;
  background:linear-gradient(145deg,#fff,#fcf9f7);
}
.adm-membership-card-v61010 > header {
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:15px 16px;
  border-bottom:1px solid #f0e7e8;
}
.adm-membership-card-icon-v61010 {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--brand-soft);
  color:var(--brand);
}
.adm-membership-card-v61010.is-prioste .adm-membership-card-icon-v61010 {
  background:var(--gold-soft);
  color:#765719;
}
.adm-membership-card-icon-v61010 svg {
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.adm-membership-card-v61010 header small,
.adm-payment-method-head-v61010 small {
  display:block;
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.adm-membership-card-v61010 h3 {
  margin:3px 0 0;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:22px;
  line-height:1.05;
}
.adm-membership-card-v61010 h3 b { color:var(--brand); }
.adm-membership-card-v61010.is-prioste h3 b { color:#765719; }
.adm-membership-details-v61010 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  padding:7px 16px 12px;
}
.adm-membership-details-v61010 > div {
  min-width:0;
  padding:10px 8px 8px 0;
}
.adm-membership-details-v61010 span,
.adm-membership-details-v61010 strong { display:block; }
.adm-membership-details-v61010 span {
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.adm-membership-details-v61010 strong {
  margin-top:4px;
  overflow-wrap:anywhere;
  font-size:12px;
}

.adm-doc-card-v61010 {
  padding:14px 15px;
  border-radius:16px;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.adm-doc-card-v61010:hover {
  border-color:#dbc5c8;
  box-shadow:0 8px 22px rgba(63,26,31,.06);
}
.adm-doc-card-v61010 .adm-doc-v67-icon {
  width:44px;
  height:44px;
}
.adm-doc-card-v61010 .adm-doc-v67-icon svg,
.adm-doc-action-v61010 svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.adm-doc-action-v61010 {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  color:var(--brand);
  text-decoration:none;
}
.adm-doc-action-v61010:hover {
  border-color:#d5b8bb;
  background:var(--brand-soft);
}

.adm-payment-method-v61010 { overflow:hidden; }
.adm-payment-method-head-v61010 {
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin-top:14px;
}
.adm-payment-method-head-v61010 > span {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:var(--brand-soft);
  color:var(--brand);
}
.adm-payment-method-head-v61010 svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.adm-payment-method-head-v61010 h2 {
  margin:3px 0 0;
  overflow-wrap:anywhere;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:22px;
  line-height:1.05;
}
.adm-payment-method-data-v61010 {
  display:grid;
  gap:0;
  margin:16px 0 0;
}
.adm-payment-method-data-v61010 > div {
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:11px 0;
  border-top:1px solid #f0e7e8;
}
.adm-payment-method-data-v61010 dt {
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.adm-payment-method-data-v61010 dd {
  min-width:0;
  margin:0;
  color:var(--ink);
  font-size:11px;
  font-weight:700;
  text-align:right;
  overflow-wrap:anywhere;
}
.adm-payment-method-data-v61010 code {
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:10px;
  font-weight:650;
}

.admin-new-communication-v61010 {
  width:min(100%,860px);
  margin:0 auto;
}
.admin-new-communication-v61010 .admin-section-head-compact-v6103 { margin-bottom:18px; }
.admin-new-communication-actions-v61010 {
  display:flex;
  justify-content:flex-end;
  padding-top:3px;
}

@media (min-width:901px) {
  .adm-context-link { font-size:13px; }
}

@media (max-width:900px) {
  .adm-mobile-module-head {
    justify-content:center;
    padding-top:calc(8px + env(safe-area-inset-top));
    padding-bottom:8px;
  }
  .adm-mobile-module-head p { display:none; }
  .adm-context-nav-inner {
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    touch-action:pan-x;
    scroll-snap-type:x proximity;
  }
  .adm-context-link {
    flex:0 0 auto;
    min-height:53px;
    padding-left:12px;
    padding-right:12px;
    font-size:12px;
    scroll-snap-align:start;
  }
  .adm-member-detail-mobile-actions-v61010 {
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-bottom:14px;
  }
}


/* =========================================================
   V6.10.11 — panel Más y acciones visuales de tablas
   ========================================================= */
.adm-mobile-more-links strong {
  color:var(--brand);
}

.adm-table-action-cell-v61011 {
  width:64px;
  text-align:right;
}
.adm-table-eye-action-v61011 {
  width:38px;
  height:38px;
  display:inline-grid;
  place-items:center;
  padding:0;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  color:var(--brand);
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.adm-table-eye-action-v61011:hover,
.adm-table-eye-action-v61011:focus-visible {
  border-color:#d5b8bb;
  background:var(--brand-soft);
}
.adm-table-eye-action-v61011:active { transform:scale(.96); }
.adm-table-eye-action-v61011 svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (max-width:640px) {
  .adm-memberships-v61010 { grid-template-columns:1fr; }
  .adm-membership-card-v61010 > header {
    grid-template-columns:40px minmax(0,1fr) auto;
    padding:13px;
  }
  .adm-membership-details-v61010 { padding-left:13px; padding-right:13px; }
  .adm-doc-card-v61010 { padding:12px; }
  .adm-payment-method-data-v61010 > div { grid-template-columns:92px minmax(0,1fr); }
  .admin-new-communication-actions-v61010 .adm-primary-btn { width:100%; }
}


/* =========================================================
   V6.10.12 — búsqueda del censo y método de cobro
   ========================================================= */
.adm-payment-method-data-v61010 > div {
  grid-template-columns:128px minmax(0,1fr);
  padding:13px 0;
}
.adm-payment-method-data-v61010 dt {
  font-size:11px;
  line-height:1.35;
}
.adm-payment-method-data-v61010 dd {
  font-size:14px;
  line-height:1.4;
}
.adm-payment-method-data-v61010 code {
  font-size:13px;
  line-height:1.4;
}

@media (max-width:640px) {
  .adm-payment-method-data-v61010 > div {
    grid-template-columns:112px minmax(0,1fr);
  }
}


/* =========================================================
   V6.10.13 — importes de eventos y asistentes completos
   ========================================================= */
.adm-attendees-list-v61013 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.adm-attendee-card-v61013 {
  min-width:0;
  padding:18px;
}
.adm-attendee-card-head-v61013 {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.adm-attendee-card-v61013 .adm-member-cell { min-width:0; }
.adm-attendee-card-v61013 .adm-avatar-sm {
  width:38px;
  height:38px;
  min-width:38px;
  font-size:11px;
}
.adm-attendee-card-v61013 .adm-member-cell > div { min-width:0; }
.adm-attendee-card-v61013 .adm-member-cell strong {
  overflow-wrap:anywhere;
  font-size:15px;
  line-height:1.25;
}
.adm-attendee-card-v61013 .adm-member-cell span:not(.adm-avatar) {
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
  line-height:1.3;
}
.adm-attendee-primary-v61013,
.adm-attendee-extra-v61013 dl {
  margin:0;
}
.adm-attendee-primary-v61013 {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;
  gap:14px;
  margin-top:17px;
  padding-top:15px;
  border-top:1px solid var(--line);
}
.adm-attendee-primary-v61013 > div,
.adm-attendee-extra-v61013 dl > div { min-width:0; }
.adm-attendee-primary-v61013 dt,
.adm-attendee-extra-v61013 dt {
  margin:0 0 4px;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.055em;
  line-height:1.3;
  text-transform:uppercase;
}
.adm-attendee-primary-v61013 dd,
.adm-attendee-extra-v61013 dd {
  margin:0;
  overflow-wrap:anywhere;
  color:var(--ink);
  font-size:13px;
  line-height:1.4;
}
.adm-attendee-primary-v61013 .adm-attendee-price-v61013 {
  color:var(--brand);
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}
.adm-attendee-extra-v61013 {
  margin-top:16px;
  padding-top:15px;
  border-top:1px solid var(--line);
}
.adm-attendee-extra-v61013 h3 {
  margin:0 0 11px;
  color:var(--brand);
  font-size:12px;
  line-height:1.3;
}
.adm-attendee-extra-v61013 dl {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px;
}

@media (max-width:900px) {
  .adm-attendees-list-v61013 { grid-template-columns:1fr; }
}

@media (max-width:640px) {
  .adm-attendees-list-v61013 { gap:11px; }
  .adm-attendee-card-v61013 { padding:14px; }
  .adm-attendee-card-head-v61013 { gap:9px; }
  .adm-attendee-card-v61013 .adm-avatar-sm {
    width:36px;
    height:36px;
    min-width:36px;
  }
  .adm-attendee-card-v61013 .adm-member-cell strong { font-size:14px; }
  .adm-attendee-card-v61013 .adm-badge {
    flex:0 0 auto;
    padding:4px 8px;
    font-size:10px;
  }
  .adm-attendee-primary-v61013 {
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-top:13px;
    padding-top:12px;
  }
  .adm-attendee-primary-v61013 > div,
  .adm-attendee-extra-v61013 dl > div {
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    gap:8px;
    align-items:start;
  }
  .adm-attendee-primary-v61013 dt,
  .adm-attendee-extra-v61013 dt { margin:2px 0 0; font-size:9px; }
  .adm-attendee-primary-v61013 dd,
  .adm-attendee-extra-v61013 dd { font-size:12px; line-height:1.35; }
  .adm-attendee-primary-v61013 .adm-attendee-price-v61013 { font-size:13px; }
  .adm-attendee-extra-v61013 { margin-top:13px; padding-top:12px; }
  .adm-attendee-extra-v61013 h3 { margin-bottom:9px; font-size:11px; }
  .adm-attendee-extra-v61013 dl { grid-template-columns:1fr; gap:8px; }
}


/* =========================================================
   V6.10.14 — emisión anual, pagos de cuotas y mandatos SEPA
   ========================================================= */
.badge--danger {
  border-color:#efd1d4;
  background:#fae7e9;
  color:#9d3038;
}
.quota-page-v61014 { padding-bottom:118px; }
.quota-item-v61014 {
  display:grid;
  gap:11px;
  padding:20px;
}
.quota-period-v61014 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px;
  border-radius:12px;
  background:var(--brand-soft);
}
.quota-period-v61014 small,
.quota-period-v61014 strong { font-size:12px; }
.quota-period-v61014 small { color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.quota-status-note-v61014 {
  margin:0;
  padding:10px 12px;
  border-radius:11px;
  background:#f4f1ef;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.quota-status-note-v61014.is-error { background:#fae7e9; color:#8d2b32; }
.quota-pay-v61014 { width:100%; margin-top:2px; }
.quota-payment-result-v61014 {
  display:grid;
  gap:3px;
  margin-bottom:15px;
  padding:15px 17px;
  border:1px solid #ead8c0;
  border-radius:15px;
  background:#fff7e8;
  color:#7d5a18;
}
.quota-payment-result-v61014 span { font-size:12px; line-height:1.45; }
.quota-payment-result-v61014.is-success { border-color:#cce8d9; background:#e9f7ef; color:#24704b; }
.quota-payment-result-v61014.is-error { border-color:#efd1d4; background:#fae7e9; color:#8d2b32; }

.sepa-setup-v61014 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:16px;
  padding:17px;
  border:1px solid #ead8c0;
  border-radius:17px;
  background:#fff9ee;
}
.sepa-setup-v61014 > div { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.sepa-setup-v61014 > div > span {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  min-width:38px;
  border-radius:12px;
  background:var(--brand-soft);
  color:var(--brand);
}
.sepa-setup-v61014 svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.sepa-setup-v61014 small,.sepa-setup-v61014 strong { display:block; }
.sepa-setup-v61014 small { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.sepa-setup-v61014 strong { margin-top:3px; color:var(--brand); font-size:15px; }
.sepa-setup-v61014 p { margin:4px 0 0; color:var(--muted); font-size:12px; line-height:1.45; }
.sepa-setup-v61014.is-active { border-color:#cce8d9; background:#f1faf5; }
.sepa-setup-v61014 button { flex:0 0 auto; }

.fee-issuance-control-v61014 {
  display:grid;
  grid-template-columns:minmax(0,1fr) 120px auto;
  align-items:end;
  gap:18px;
  padding:22px;
}
.fee-issuance-control-v61014 h2 { margin:5px 0; font-size:23px; }
.fee-issuance-control-v61014 p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.fee-issuance-control-v61014 label { display:grid; gap:6px; color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; }
.fee-issuance-control-v61014 input {
  width:100%;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  font-family:inherit;
  font-size:16px;
  font-weight:700;
}
.fee-rule-grid-v61014 {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.fee-rule-grid-v61014 > div { display:grid; gap:5px; padding:18px; }
.fee-rule-grid-v61014 small { color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; }
.fee-rule-grid-v61014 strong { color:var(--brand); font-family:var(--serif); font-size:25px; }
.fee-rule-grid-v61014 span { color:var(--muted); font-size:11px; line-height:1.4; }
.fee-summary-v61014 {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  margin-top:14px;
  padding:0;
  overflow:hidden;
}
.fee-summary-v61014 > div { display:grid; gap:4px; padding:17px; border-right:1px solid var(--line); }
.fee-summary-v61014 > div:last-child { border-right:0; }
.fee-summary-v61014 small { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.fee-summary-v61014 strong { color:var(--ink); font-size:20px; }
.adm-fee-message-v61014 {
  margin-top:14px;
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  color:var(--muted);
  font-size:13px;
}
.adm-fee-message-v61014.is-error { border-color:#efd1d4; background:#fae7e9; color:#8d2b32; }
.adm-fee-message-v61014.is-success { border-color:#cce8d9; background:#e9f7ef; color:#24704b; }
.adm-fee-message-v61014.is-warning { border-color:#ead8c0; background:#fff7e8; color:#7d5a18; }
.adm-cell-note-v61014,.adm-cell-error-v61014 { display:block; margin-top:4px; font-size:10px; line-height:1.35; }
.adm-cell-note-v61014 { color:var(--muted); }
.adm-cell-note-v61014.is-ready { color:var(--success); }
.adm-cell-note-v61014.is-warning,.adm-cell-error-v61014 { color:var(--danger); }
.adm-table-action-v61014 {
  border:1px solid var(--line);
  border-radius:9px;
  padding:7px 9px;
  background:#fff;
  color:var(--brand);
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.adm-table-action-v61014:hover { border-color:var(--brand); background:var(--brand-soft); }

@media (max-width:1100px) {
  .fee-rule-grid-v61014 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fee-summary-v61014 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .fee-summary-v61014 > div:nth-child(3) { border-right:0; }
  .fee-summary-v61014 > div:nth-child(-n+3) { border-bottom:1px solid var(--line); }
}

@media (max-width:640px) {
  .quota-item-v61014 { padding:16px; }
  .quota-period-v61014 { align-items:flex-start; flex-direction:column; gap:3px; }
  .sepa-setup-v61014 { align-items:stretch; flex-direction:column; }
  .sepa-setup-v61014 button { width:100%; }
  .fee-issuance-control-v61014 { grid-template-columns:1fr; align-items:stretch; padding:17px; }
  .fee-issuance-control-v61014 h2 { font-size:20px; }
  .fee-rule-grid-v61014 { grid-template-columns:1fr 1fr; gap:10px; }
  .fee-rule-grid-v61014 > div { padding:14px; }
  .fee-rule-grid-v61014 strong { font-size:20px; }
  .fee-summary-v61014 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fee-summary-v61014 > div { padding:14px; border-bottom:1px solid var(--line); }
  .fee-summary-v61014 > div:nth-child(2n) { border-right:0; }
  .fee-summary-v61014 > div:nth-last-child(-n+2) { border-bottom:0; }
  .fee-issuance-v61014 .adm-section-head { align-items:stretch; flex-direction:column; }
  .fee-issuance-v61014 .adm-section-head button { width:100%; }
}

/* V6.10.15 — ayuda contextual al seleccionar el ejercicio de cuotas */
.adm-fee-empty-v61015 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:14px 0;
  padding:18px 20px;
  border:1px solid #eadcdf;
  border-radius:18px;
  background:#fff;
}
.adm-fee-empty-v61015 strong { display:block; color:var(--wine); font-size:16px; margin-bottom:5px; }
.adm-fee-empty-v61015 p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.adm-fee-empty-v61015 .adm-ghost-btn { flex:0 0 auto; }

@media (max-width:760px) {
  .adm-fee-empty-v61015 { align-items:stretch; flex-direction:column; }
  .adm-fee-empty-v61015 .adm-ghost-btn { width:100%; }
}

/* =========================================================
   V6.10.16 — mandatos SEPA desde Administración
   ========================================================= */
.adm-fee-sepa-action-v61016 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.adm-fee-sepa-action-v61016 > div { min-width:0; }
.adm-fee-sepa-action-v61016 strong,
.adm-fee-sepa-action-v61016 span { display:block; }
.adm-fee-sepa-action-v61016 strong { margin-bottom:4px; color:var(--brand); font-size:14px; }
.adm-fee-sepa-action-v61016 span { line-height:1.5; }
.adm-fee-sepa-action-v61016 .adm-primary-btn { flex:0 0 auto; white-space:nowrap; }

.adm-sepa-status-v61016 {
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
}
.adm-sepa-status-v61016.is-active { background:#e5f4ec; color:#24704b; }
.adm-sepa-status-v61016.is-pending { background:#fff0d2; color:#805817; }
.adm-sepa-admin-v61016 {
  display:grid;
  gap:12px;
  margin-top:15px;
  padding-top:15px;
  border-top:1px solid var(--line);
}
.adm-sepa-admin-v61016 p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }

@media (max-width:760px) {
  .adm-fee-sepa-action-v61016 { align-items:stretch; flex-direction:column; }
  .adm-fee-sepa-action-v61016 .adm-primary-btn { width:100%; }
}

/* =========================================================
   V6.10.20 — datos adicionales y vistas de asistentes
   ========================================================= */
.adm-attendee-viewbar-v61020 {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin:2px 0 12px;
}
.adm-attendee-viewbar-v61020 > span {
  color:var(--muted);
  font-size:11px;
  font-weight:750;
}
.adm-attendee-view-toggle-v61020 {
  display:inline-flex;
  gap:3px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8f4f3;
}
.adm-attendee-view-toggle-v61020 button {
  min-height:34px;
  padding:6px 10px;
  border:0;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:transparent;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}
.adm-attendee-view-toggle-v61020 button.active {
  background:#fff;
  color:var(--brand);
  box-shadow:0 2px 8px rgba(64,27,31,.08);
}
.adm-attendee-view-toggle-v61020 svg {
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.adm-attendees-table-v61020 {
  width:100%;
  max-width:100%;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 7px 22px rgba(48,24,27,.045);
  -webkit-overflow-scrolling:touch;
}
.adm-attendees-table-v61020:focus-visible {
  outline:3px solid rgba(125,43,48,.16);
  outline-offset:2px;
}
.adm-attendees-table-v61020 table {
  width:100%;
  min-width:980px;
  border-collapse:separate;
  border-spacing:0;
}
.adm-attendees-table-v61020 th,
.adm-attendees-table-v61020 td {
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  font-size:12px;
  line-height:1.4;
  text-align:left;
  vertical-align:top;
}
.adm-attendees-table-v61020 th {
  background:#fbf8f7;
  color:var(--muted);
  font-size:10px;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
  white-space:nowrap;
}
.adm-attendees-table-v61020 tbody tr:last-child td { border-bottom:0; }
.adm-attendees-table-v61020 tbody tr:hover td { background:#fffaf9; }
.adm-attendees-table-v61020 th:first-child,
.adm-attendees-table-v61020 td:first-child {
  position:sticky;
  left:0;
  z-index:1;
  min-width:210px;
  background:#fff;
  box-shadow:1px 0 0 var(--line);
}
.adm-attendees-table-v61020 th:first-child {
  z-index:2;
  background:#fbf8f7;
}
.adm-attendees-table-v61020 tbody tr:hover td:first-child { background:#fffaf9; }
.adm-attendee-table-person-v61020 {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:9px;
}
.adm-attendee-table-person-v61020 .adm-avatar-sm {
  width:34px;
  height:34px;
  min-width:34px;
  font-size:10px;
}
.adm-attendee-table-person-v61020 strong,
.adm-attendee-table-person-v61020 small { display:block; }
.adm-attendee-table-person-v61020 strong { font-size:12px; line-height:1.3; }
.adm-attendee-table-person-v61020 small { margin-top:2px; color:var(--muted); font-size:9px; }
.adm-attendee-table-price-v61020 {
  color:var(--brand) !important;
  font-weight:800;
  white-space:nowrap;
}
.adm-attendee-table-extra-v61020 {
  min-width:150px;
  max-width:250px;
  overflow-wrap:anywhere;
}

@media (max-width:640px) {
  .adm-attendee-viewbar-v61020 { justify-content:space-between; }
  .adm-attendee-view-toggle-v61020 { margin-left:auto; }
  .adm-attendees-table-v61020 table { min-width:900px; }
  .adm-attendees-table-v61020 th,
  .adm-attendees-table-v61020 td { padding:10px 12px; font-size:11px; }
  .adm-attendees-table-v61020 th { font-size:9px; }
  .adm-attendees-table-v61020 th:first-child,
  .adm-attendees-table-v61020 td:first-child { min-width:185px; }
}

/* =========================================================
   V6.10.22 — sincronización de cuotas con Stripe
   ========================================================= */
.fee-issuance-actions-v61022 {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

@media (max-width:720px) {
  .fee-issuance-actions-v61022 {
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .fee-issuance-actions-v61022 button { width:100%; }
}

/* =========================================================
   V6.10.23 — filtros y ordenación de cuotas
   ========================================================= */
.adm-fee-filter-toggle-v61023 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.adm-fee-filter-toggle-v61023 svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
}
.adm-fee-filter-toggle-v61023 b {
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--brand);
  color:#fff;
  font-size:10px;
}
.adm-fee-filter-toggle-v61023.is-active {
  border-color:var(--brand);
  background:var(--brand-soft);
  color:var(--brand);
}
.adm-fee-filters-v61023 {
  display:grid;
  grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(135px,1fr)) auto;
  align-items:end;
  gap:12px;
  margin:0 0 14px;
  padding:17px;
}
.adm-fee-filters-v61023 label {
  display:grid;
  gap:6px;
  min-width:0;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.adm-fee-filters-v61023 input,
.adm-fee-filters-v61023 select {
  width:100%;
  min-width:0;
  height:44px;
  border:1px solid var(--line);
  border-radius:11px;
  padding:0 12px;
  background:#fbf9f8;
  color:var(--ink);
  font:inherit;
  font-size:13px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  outline:none;
}
.adm-fee-filters-v61023 input:focus,
.adm-fee-filters-v61023 select:focus {
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(125,43,48,.1);
}
.adm-fee-filters-v61023 .is-search > div { position:relative; }
.adm-fee-filters-v61023 .is-search svg {
  position:absolute;
  left:12px;
  top:50%;
  width:17px;
  height:17px;
  transform:translateY(-50%);
  fill:none;
  stroke:var(--muted);
  stroke-width:1.8;
  pointer-events:none;
}
.adm-fee-filters-v61023 .is-search input { padding-left:38px; }
.adm-fee-filter-actions-v61023 {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.adm-fee-filter-actions-v61023 button { white-space:nowrap; }
.adm-fee-results-v61023 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:28px;
  margin:0 2px 8px;
  color:var(--muted);
  font-size:11px;
}
.adm-fee-results-v61023 button {
  border:0;
  padding:3px 0;
  background:transparent;
  color:var(--brand);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.adm-fee-sort-v61023 {
  width:100%;
  border:0;
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  cursor:pointer;
  text-align:left;
}
.adm-fee-sort-v61023 b {
  color:#b8aaac;
  font-size:12px;
  line-height:1;
}
.adm-fee-sort-v61023.is-active,
.adm-fee-sort-v61023.is-active b { color:var(--brand); }

@media (max-width:1180px) {
  .adm-fee-filters-v61023 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .adm-fee-filters-v61023 .is-search { grid-column:span 2; }
}
@media (max-width:640px) {
  .adm-fee-filter-toggle-v61023 { width:100%; }
  .adm-fee-filters-v61023 { grid-template-columns:1fr; padding:14px; }
  .adm-fee-filters-v61023 .is-search { grid-column:auto; }
  .adm-fee-filter-actions-v61023 { display:grid; grid-template-columns:1fr; }
  .adm-fee-filter-actions-v61023 button { width:100%; }
  .adm-fee-results-v61023 { align-items:flex-start; }
  .adm-fees-table-v61023 table { min-width:850px; }
}

/* =========================================================
   V6.10.24 — paginación y exportación Excel de cuotas
   ========================================================= */
.adm-fee-head-actions-v61024 {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
}
.adm-fee-export-v61024 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  white-space:nowrap;
}
.adm-fee-export-v61024 svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.adm-fees-table-v61023.is-loading { opacity:.68; }
.adm-fee-pagination-v61024 {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:18px;
  margin-top:10px;
  padding:11px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--muted);
  font-size:11px;
}
.adm-fee-page-buttons-v61024 {
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
}
.adm-fee-page-buttons-v61024 button {
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.adm-fee-page-buttons-v61024 button:hover:not(:disabled) {
  border-color:var(--brand);
  color:var(--brand);
}
.adm-fee-page-buttons-v61024 button[aria-current="page"] {
  border-color:var(--brand);
  background:var(--brand);
  color:#fff;
}
.adm-fee-page-buttons-v61024 button:disabled { opacity:.38; cursor:default; }
.adm-fee-page-gap-v61024 {
  width:25px;
  flex:0 0 25px;
  text-align:center;
  font-weight:800;
}
.adm-fee-pagination-v61024 label {
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  font-weight:700;
}
.adm-fee-pagination-v61024 select {
  height:34px;
  border:1px solid var(--line);
  border-radius:9px;
  padding:0 26px 0 9px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:800;
}
.adm-fee-pagination-v61024 > span { white-space:nowrap; font-weight:700; }

@media (max-width:720px) {
  .adm-fee-head-actions-v61024 {
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .adm-fee-export-v61024,
  .adm-fee-head-actions-v61024 .adm-fee-filter-toggle-v61023 { width:100%; }
  .adm-fee-pagination-v61024 {
    grid-template-columns:1fr auto;
    gap:10px;
    padding:10px;
  }
  .adm-fee-page-buttons-v61024 {
    grid-column:1 / -1;
    overflow-x:auto;
    padding-bottom:2px;
  }
  .adm-fee-pagination-v61024 > span { text-align:right; }
}

/* =========================================================
   V6.10.25 — resumen de aportaciones en la ficha de miembro
   ========================================================= */
.adm-member-contributions-v61025 { margin-top:18px; }
.adm-member-contributions-head-v61025 {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.adm-member-contributions-head-v61025 h2 {
  margin:6px 0 0;
  font-size:22px;
}
.adm-member-contributions-head-v61025 > span {
  min-width:36px;
  height:36px;
  padding:0 10px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:13px;
  font-weight:800;
}
.adm-member-contribution-metrics-v61025 {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:16px;
}
.adm-member-contribution-metrics-v61025 > div {
  min-width:0;
  padding:12px;
  border-radius:12px;
  background:#f8f5f3;
}
.adm-member-contribution-metrics-v61025 small,
.adm-member-contribution-metrics-v61025 strong { display:block; }
.adm-member-contribution-metrics-v61025 small {
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.adm-member-contribution-metrics-v61025 strong {
  margin-top:5px;
  color:var(--brand);
  font-size:18px;
}
.adm-member-contribution-list-v61025 {
  margin:15px 0 0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--line);
}
.adm-member-contribution-list-v61025 li {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}
.adm-member-contribution-list-v61025 li > div { min-width:0; }
.adm-member-contribution-list-v61025 li > div:first-child strong,
.adm-member-contribution-list-v61025 li > div:first-child span { display:block; }
.adm-member-contribution-list-v61025 li > div:first-child strong {
  overflow:hidden;
  color:var(--ink);
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.adm-member-contribution-list-v61025 li > div:first-child span {
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
}
.adm-member-contribution-list-v61025 li > div:last-child {
  flex:0 0 auto;
  display:grid;
  justify-items:end;
  gap:5px;
}
.adm-member-contribution-list-v61025 li > div:last-child > strong { font-size:12px; }
.adm-member-contribution-list-v61025 .adm-badge { padding:4px 7px; font-size:8px; }
.adm-member-contribution-empty-v61025 {
  margin:15px 0 0;
  padding:14px;
  border-radius:12px;
  background:#f8f5f3;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.adm-member-contributions-button-v61025 {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:15px;
}
.adm-member-contributions-button-v61025 svg,
.adm-fee-member-filter-v61025 svg {
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.adm-fee-member-filter-v61025 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #dfc5c8;
  border-radius:13px;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:12px;
}
.adm-fee-member-filter-v61025 > span {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.adm-fee-member-filter-v61025 button {
  flex:0 0 auto;
  border:0;
  padding:4px 0;
  background:transparent;
  color:var(--brand);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

@media (max-width:640px) {
  .adm-fee-member-filter-v61025 { align-items:flex-start; flex-direction:column; gap:9px; }
  .adm-member-contribution-list-v61025 li > div:first-child strong { max-width:190px; }
}

/* =========================================================
   V6.10.26 — correcciones de cuotas y cobros en iPhone
   ========================================================= */
@media (max-width:720px) {
  .adm-fee-history-head-v61026 {
    align-items:stretch;
    flex-direction:column;
    width:100%;
    min-width:0;
  }
  .adm-fee-history-head-v61026 > div:first-child {
    width:100%;
    min-width:0;
  }
  .adm-fee-history-head-v61026 .adm-fee-head-actions-v61024 {
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .adm-fee-history-head-v61026 .adm-fee-export-v61024,
  .adm-fee-history-head-v61026 .adm-fee-filter-toggle-v61023 {
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
  }
  .adm-fees-table-v61023 .adm-fee-sort-v61023:not(.is-active) b {
    display:none;
  }
  .adm-fees-table-v61023 .adm-fee-sort-v61023.is-active b {
    font-family:Arial,sans-serif;
  }
}

@media (max-width:460px) {
  .adm-fee-history-head-v61026 .adm-fee-head-actions-v61024 {
    grid-template-columns:1fr;
  }
  .adm-fee-history-head-v61026 .adm-fee-export-v61024,
  .adm-fee-history-head-v61026 .adm-fee-filter-toggle-v61023 {
    justify-content:center;
    width:100%;
  }
}

/* =========================================================
   V6.10.27 — asistentes: identidad, paginación y exportación
   ========================================================= */
.adm-attendee-table-person-v61020 .adm-attendee-avatar-v61027 {
  background:var(--wine-soft);
  color:var(--wine);
}
.adm-attendees-table-v61027 {
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.adm-attendees-table-v61027::-webkit-scrollbar {
  width:0;
  height:0;
  display:none;
}
.adm-attendee-export-v61027 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  white-space:nowrap;
}
.adm-attendee-export-v61027 svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.adm-attendee-pagination-v61027 {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:18px;
  margin-top:10px;
  padding:11px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--muted);
  font-size:11px;
}
.adm-attendee-pagination-v61027 > span { font-weight:700; }
.adm-attendee-page-buttons-v61027 {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:0;
}
.adm-attendee-page-buttons-v61027 button {
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.adm-attendee-page-buttons-v61027 button:hover:not(:disabled) {
  border-color:var(--brand);
  color:var(--brand);
}
.adm-attendee-page-buttons-v61027 button[aria-current="page"] {
  border-color:var(--brand);
  background:var(--brand);
  color:#fff;
}
.adm-attendee-page-buttons-v61027 button:disabled { opacity:.38; cursor:default; }
.adm-attendee-page-gap-v61027 {
  width:25px;
  flex:0 0 25px;
  text-align:center;
  font-weight:800;
}
.adm-attendee-pagination-v61027 label {
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  font-weight:700;
}
.adm-attendee-pagination-v61027 select {
  height:34px;
  border:1px solid var(--line);
  border-radius:9px;
  padding:0 26px 0 9px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:800;
}

@media (max-width:720px) {
  .adm-attendee-section-head-v61027 {
    align-items:stretch;
    flex-direction:column;
  }
  .adm-attendee-export-v61027 { width:100%; }
  .adm-attendee-pagination-v61027 {
    grid-template-columns:1fr auto;
    gap:10px;
    padding:10px;
  }
  .adm-attendee-page-buttons-v61027 {
    grid-column:1 / -1;
    grid-row:2;
    flex-wrap:wrap;
  }
  .adm-attendee-pagination-v61027 label { justify-self:end; }
}

/* =========================================================
   V6.10.28 — avisos de cuotas, documentos y redomiciliación
   ========================================================= */
.admin-new-communication-v61010 {
  width:100%;
  max-width:none;
  margin:0;
}

.adm-sepa-actions-v61028 {
  display:grid;
  gap:9px;
}
.adm-sepa-actions-v61028 small {
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.adm-member-document-upload-v61028 {
  display:grid;
  gap:12px;
  margin:0 0 14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fffaf9;
}
.adm-member-document-drop-v61028 {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:88px;
  padding:15px;
  border:1.5px dashed #cbaeb0;
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.adm-member-document-drop-v61028.is-dragover,
.adm-member-document-drop-v61028.has-file {
  border-color:var(--brand);
  background:#fbf0f1;
}
.adm-member-document-drop-v61028.is-dragover { transform:translateY(-1px); }
.adm-member-document-drop-v61028>input { display:none; }
.adm-member-document-drop-icon-v61028 {
  flex:0 0 44px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--brand-soft);
  color:var(--brand);
}
.adm-member-document-drop-icon-v61028 svg { width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8; }
.adm-member-document-drop-v61028>span:last-child { min-width:0;display:grid;gap:3px; }
.adm-member-document-drop-v61028 strong { font-size:13px; }
.adm-member-document-drop-v61028 small { color:var(--muted);font-size:10px;line-height:1.4; }
.adm-member-document-drop-v61028 em { color:var(--brand);font-size:10px;font-style:normal;font-weight:750;overflow-wrap:anywhere; }
.adm-member-document-controls-v61028 {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
}
.adm-member-document-controls-v61028 label {
  display:grid;
  gap:5px;
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.adm-member-document-controls-v61028 select {
  min-width:220px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:12px;
  font-weight:550;
  text-transform:none;
  letter-spacing:normal;
}

@media (max-width:640px) {
  .adm-member-document-controls-v61028 { align-items:stretch;flex-direction:column; }
  .adm-member-document-controls-v61028 select,
  .adm-member-document-controls-v61028 .adm-primary-btn { width:100%;min-width:0; }
}

/* =========================================================
   V6.10.29 — cambio de cuenta y mandato SEPA automático
   ========================================================= */
.member-sepa-consent-v61029 {
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-top:12px;
  padding:14px;
  border:1px solid #dec9ca;
  border-radius:14px;
  background:#fbf3f3;
  color:var(--ink);
  cursor:pointer;
}
.member-sepa-consent-v61029[hidden] { display:none; }
.member-sepa-consent-v61029 input {
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin:2px 0 0;
  accent-color:var(--brand);
}
.member-sepa-consent-v61029 span { display:grid;gap:3px; }
.member-sepa-consent-v61029 strong { font-size:13px; }
.member-sepa-consent-v61029 small { color:var(--muted);font-size:11px;line-height:1.5; }

.adm-payment-method-edit-v61029 { margin-top:13px; }
.adm-payment-method-message-v61029 { margin-top:13px; }
.adm-payment-method-form-v61029 {
  display:grid;
  gap:12px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.adm-payment-method-form-grid-v61029,
.adm-payment-method-sepa-v61029 {
  display:grid;
  gap:11px;
}
.adm-payment-method-form-v61029 label {
  display:grid;
  gap:5px;
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.adm-payment-method-form-v61029 input,
.adm-payment-method-form-v61029 select,
.adm-payment-method-form-v61029 textarea {
  box-sizing:border-box;
  width:100%;
  min-width:0;
  border:1px solid var(--line);
  border-radius:11px;
  padding:10px 11px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:12px;
  font-weight:550;
  letter-spacing:normal;
  line-height:1.4;
  text-transform:none;
}
.adm-payment-method-form-v61029 textarea { resize:vertical; }
.adm-payment-method-sepa-v61029[hidden] { display:none; }
.adm-payment-method-sepa-v61029 > p {
  margin:0;
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
}
.adm-payment-method-form-v61029 .adm-payment-method-confirm-v61029 {
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:11px;
  border:1px solid #dec9ca;
  border-radius:11px;
  background:#fbf3f3;
  color:var(--ink);
  font-size:10px;
  font-weight:650;
  letter-spacing:normal;
  line-height:1.45;
  text-transform:none;
}
.adm-payment-method-confirm-v61029 input {
  width:17px;
  height:17px;
  flex:0 0 17px;
  margin:1px 0 0;
  padding:0;
  accent-color:var(--brand);
}
.adm-payment-method-form-actions-v61029 {
  display:grid;
  grid-template-columns:1fr 1.45fr;
  gap:9px;
}

@media (max-width:460px) {
  .adm-payment-method-form-actions-v61029 { grid-template-columns:1fr; }
}

/* =========================================================
   V6.10.30 — Perfil: cargos en cabecera y avisos emergentes
   ========================================================= */
.profile-role-badges-v61030 {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:9px;
}
.profile-role-badges-v61030 span {
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  border-radius:999px;
  background:#f3eeed;
  color:#65484b;
  font-size:10px;
  font-weight:800;
}
.profile-role-badges-v61030 span.junta {
  background:var(--brand-soft);
  color:var(--brand);
}
.member-profile-toast-v61030 {
  position:fixed;
  z-index:1000;
  top:50%;
  left:50%;
  width:min(430px,calc(100vw - 36px));
  box-sizing:border-box;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 30px;
  gap:13px;
  align-items:center;
  padding:19px 17px;
  border:1px solid #e7d7d9;
  border-radius:22px;
  background:#fffdfc;
  color:var(--ink);
  box-shadow:0 24px 68px rgba(47,20,23,.28),0 0 0 1px rgba(125,43,48,.03);
  transform:translate(-50%,-50%) scale(.96);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease,transform .22s ease;
}
.member-profile-toast-v61030.is-visible {
  transform:translate(-50%,-50%) scale(1);
  opacity:1;
  pointer-events:auto;
}
.member-profile-toast-v61030.is-success {
  border-color:#dfc8cb;
  background:#fffdfc;
}
.member-profile-toast-v61030.is-error {
  border-color:#e4c4c7;
  background:#fffafa;
}
.member-profile-toast-icon-v61030 {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--brand-soft);
  color:var(--brand);
  font-family:Arial,sans-serif;
  font-size:21px;
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(125,43,48,.08);
}
.member-profile-toast-v61030.is-error .member-profile-toast-icon-v61030 {
  background:#fae9eb;
  color:#9b303b;
}
.member-profile-toast-copy-v61030 {
  color:var(--ink);
  font-size:13px;
  font-weight:750;
  line-height:1.5;
}
.member-profile-toast-close-v61030 {
  width:30px;
  height:30px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--muted);
  font-size:23px;
  line-height:1;
  cursor:pointer;
}
.member-profile-toast-close-v61030:hover { background:var(--brand-soft); color:var(--brand); }

@media(max-width:640px) {
  .profile-role-badges-v61030 { margin-top:7px; gap:5px; }
  .profile-role-badges-v61030 span { padding:5px 8px; font-size:9px; }
  .member-profile-toast-v61030 { width:calc(100vw - 32px); padding:17px 15px; grid-template-columns:42px minmax(0,1fr) 28px; }
  .member-profile-toast-icon-v61030 { width:42px; height:42px; font-size:19px; }
}

/* V6.10.33 · Asistente de Administración con Gemini */
.adm-ai-page{max-width:1120px}
.adm-ai-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:18px;padding:24px 26px;border-radius:22px;background:linear-gradient(135deg,#7d2b30 0%,#642126 100%);color:#fff;box-shadow:0 12px 30px rgba(77,24,29,.12)}
.adm-ai-intro h2{margin:8px 0 8px;font-size:25px;line-height:1.15;color:#fff}.adm-ai-intro p{max-width:760px;margin:0;color:rgba(255,255,255,.82);font-size:13px;line-height:1.6}
.adm-ai-kicker{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#ead6b2}.adm-ai-kicker svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.adm-ai-readonly{flex:0 0 auto;display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.1);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.adm-ai-config-warning{margin-bottom:18px;padding:18px 20px;border-color:#ead4a8;background:#fff8e8}.adm-ai-config-warning strong{display:block;color:#694418;font-size:14px}.adm-ai-config-warning p{margin:6px 0 13px;color:#876226;font-size:12px;line-height:1.55}.adm-ai-config-warning code{padding:2px 5px;border-radius:5px;background:#f4e7c9;color:#6d491e;font-size:11px}
.adm-ai-chat{overflow:hidden;display:flex;flex-direction:column;min-height:540px;border-radius:22px}.adm-ai-chat.is-disabled{opacity:.72}
.adm-ai-thread{flex:1;min-height:430px;max-height:620px;overflow:auto;padding:25px 24px 18px;scroll-behavior:smooth;overscroll-behavior:contain;background:linear-gradient(180deg,#fff 0%,#fdfbfa 100%)}
.adm-ai-welcome{max-width:650px;margin:42px auto 28px;text-align:center}.adm-ai-welcome-icon{width:58px;height:58px;margin:0 auto 16px;border-radius:18px;display:grid;place-items:center;background:#f5e9ea;color:var(--brand)}.adm-ai-welcome-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.adm-ai-welcome h3{margin:0 0 7px;color:var(--brand);font-size:22px}.adm-ai-welcome p{margin:0 auto;color:var(--muted);font-size:12px;line-height:1.55}
.adm-ai-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}.adm-ai-suggestions button{max-width:300px;padding:10px 13px;border:1px solid #eadfe0;border-radius:999px;background:#fff;color:#5e4748;font:inherit;font-size:11px;font-weight:750;line-height:1.25;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.adm-ai-suggestions button:hover{border-color:#cfadb0;background:#fbf5f5;color:var(--brand)}
.adm-ai-message{display:flex;align-items:flex-end;gap:9px;max-width:820px;margin:0 0 15px}.adm-ai-message.is-user{justify-content:flex-end;margin-left:auto}.adm-ai-avatar{flex:0 0 34px;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#f4e8e9;color:var(--brand)}.adm-ai-avatar svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.adm-ai-bubble{min-width:0;max-width:min(720px,82%);padding:12px 15px;border:1px solid #ece3e3;border-radius:17px 17px 17px 5px;background:#fff;color:var(--ink);box-shadow:0 3px 12px rgba(55,30,32,.04);font-size:12.5px;line-height:1.58;overflow-wrap:anywhere}.adm-ai-message.is-user .adm-ai-bubble{border-color:var(--brand);border-radius:17px 17px 5px 17px;background:var(--brand);color:#fff;box-shadow:none}.adm-ai-bubble p{margin:0 0 9px}.adm-ai-bubble p:last-child{margin-bottom:0}.adm-ai-bubble strong{font-weight:850}.adm-ai-message.is-user p{color:#fff}.adm-ai-model-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid #eee4e2;color:#8a7b7c;font-size:10px;line-height:1.2}.adm-ai-model-meta em{font-style:normal;font-weight:800;color:var(--brand);background:#f4e8e9;border-radius:999px;padding:3px 7px}
.adm-ai-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px;padding-top:10px;border-top:1px solid #f0e8e8}.adm-ai-actions button{padding:7px 10px;border:1px solid #dfc8ca;border-radius:9px;background:#fff;color:var(--brand);font:inherit;font-size:10.5px;font-weight:800;cursor:pointer}.adm-ai-actions button:hover{background:#f8eeee}
.adm-ai-thinking{display:flex;align-items:center;gap:5px;color:var(--muted)}.adm-ai-thinking>span{width:6px;height:6px;border-radius:50%;background:#b99396;animation:adm-ai-dot-v61033 1s infinite ease-in-out}.adm-ai-thinking>span:nth-child(2){animation-delay:.14s}.adm-ai-thinking>span:nth-child(3){animation-delay:.28s}.adm-ai-thinking small{margin-left:5px;font-size:10px;color:var(--muted)}
@keyframes adm-ai-dot-v61033{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}
.adm-ai-error{display:flex;align-items:flex-start;gap:9px;margin:0 18px 12px;padding:10px 12px;border:1px solid #e7c4c6;border-radius:12px;background:#fff2f2;color:#81363b}.adm-ai-error>span{flex:0 0 21px;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#8c3b40;color:#fff;font-size:11px;font-weight:900}.adm-ai-error p{margin:1px 0 0;font-size:11px;line-height:1.45}
.adm-ai-composer{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:10px;align-items:end;padding:14px 16px 16px;border-top:1px solid var(--line);background:#fff}.adm-ai-composer textarea{width:100%;min-height:46px;max-height:126px;resize:vertical;padding:12px 14px;border:1px solid #ddd1d2;border-radius:14px;background:#fff;color:var(--ink);font:inherit;font-size:13px;line-height:1.4;outline:none}.adm-ai-composer textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.adm-ai-composer textarea:disabled{background:#f5f3f2;color:#a39394}.adm-ai-composer button{width:46px;height:46px;border:0;border-radius:14px;display:grid;place-items:center;background:var(--brand);color:#fff;cursor:pointer;box-shadow:0 6px 14px rgba(125,43,48,.18)}.adm-ai-composer button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.adm-ai-composer button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.adm-ai-footnote{margin:11px 4px 0;color:#8d7c7d;font-size:10px;line-height:1.5}.adm-ai-new{white-space:nowrap}
@media(min-width:761px){
  .adm-ai-page{overflow:visible}
  .adm-ai-chat{height:auto;max-height:none}
  .adm-ai-thread{flex:none;min-height:430px;max-height:none;overflow:visible;overscroll-behavior:auto}
}
@media(max-width:760px){
  .adm-ai-page{padding-top:8px}.adm-ai-intro{margin:0 0 12px;padding:18px 17px;border-radius:18px}.adm-ai-intro h2{font-size:20px}.adm-ai-intro p{font-size:11.5px}.adm-ai-readonly{min-height:27px;padding:0 9px;font-size:9px}
  .adm-ai-chat{min-height:calc(100dvh - 255px);border-radius:18px}.adm-ai-thread{min-height:390px;max-height:none;padding:18px 13px 12px}.adm-ai-welcome{margin:28px auto 18px}.adm-ai-welcome h3{font-size:20px}.adm-ai-suggestions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:18px}.adm-ai-suggestions button{max-width:none;width:100%;border-radius:12px;text-align:left;padding:11px 12px}
  .adm-ai-message{gap:7px;margin-bottom:12px}.adm-ai-avatar{width:30px;height:30px;flex-basis:30px;border-radius:10px}.adm-ai-avatar svg{width:17px;height:17px}.adm-ai-bubble{max-width:86%;padding:11px 12px;font-size:12px}.adm-ai-composer{grid-template-columns:minmax(0,1fr) 44px;padding:11px 11px calc(12px + env(safe-area-inset-bottom));gap:8px}.adm-ai-composer textarea{min-height:44px;font-size:16px;padding:10px 12px}.adm-ai-composer button{width:44px;height:44px;border-radius:13px}.adm-ai-footnote{margin:9px 2px 0;padding-bottom:6px}.adm-ai-config-warning{padding:15px}
}
@media(prefers-reduced-motion:reduce){.adm-ai-thinking>span{animation:none}.adm-ai-thread{scroll-behavior:auto}}

/* V6.10.40 · Asistente a ancho completo y tipografía uniforme */
.adm-ai-page{max-width:1500px;width:100%}
.adm-ai-bubble{font-size:13px}
.adm-ai-composer textarea{font-size:13px}
@media(max-width:760px){
  /* 16px evita el auto-zoom de iOS y mantiene pregunta/respuesta con el mismo cuerpo visual. */
  .adm-ai-bubble{font-size:16px;line-height:1.5}
  .adm-ai-composer textarea{font-size:16px;line-height:1.5}
}

/* V6.10.41 · Recuperación de acceso histórico mediante teléfono registrado */
.recovery-v641-card{width:min(560px,100%)}
.recovery-v641-options{display:grid;gap:14px;margin-top:22px}
.recovery-v641-option,.recovery-v641-notice,.recovery-v641-mask,.recovery-v641-success{padding:17px 18px;border:1px solid #eadfe0;border-radius:16px;background:#fffaf9}
.recovery-v641-option>span,.recovery-v641-mask>span{display:block;margin-bottom:5px;color:var(--brand);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.recovery-v641-option>strong,.recovery-v641-mask>strong{display:block;color:var(--ink);font-size:17px;line-height:1.3;overflow-wrap:anywhere}
.recovery-v641-option p,.recovery-v641-notice p{margin:8px 0 14px;color:var(--muted);font-size:12px;line-height:1.55}
.recovery-v641-option .primary-button,.recovery-v641-option .secondary-button{width:100%}
.recovery-v641-option-alt{background:#fbf7f5}
.recovery-v641-notice{margin-top:18px;background:#faf5f4;color:#69484b}.recovery-v641-notice strong{color:var(--brand);font-size:12px}.recovery-v641-notice p{margin-bottom:0}
.recovery-v641-mask{margin:20px 0 4px;text-align:center;background:#faf5f4}.recovery-v641-mask>strong{font-size:24px;letter-spacing:.04em}
.recovery-v641-actions{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:17px}
.recovery-v641-success{text-align:center;margin-top:22px}.recovery-v641-success>span{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:#edf5ef;color:#327044;font-size:23px;font-weight:900}.recovery-v641-success h2{margin:0 0 8px;color:var(--brand);font-family:"Cormorant Garamond",Georgia,serif;font-size:30px}.recovery-v641-success p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
@media(max-width:700px){.recovery-v641-actions{display:grid;grid-template-columns:1fr}.recovery-v641-actions button{text-align:left}.recovery-v641-mask>strong{font-size:21px}}

/* V6.10.43 — representantes legales y miembros representados */
.join-v61043-minor-note,
.join-v61043-tutor-match{
  grid-column:1/-1;
  padding:12px 14px;
  border-radius:12px;
  background:#faf5f4;
  border:1px solid #eadbdd;
  color:#6b575a;
  font-size:.72rem;
  line-height:1.55;
  font-weight:500;
}
.join-v61043-tutor-match.is-found{
  background:#f6efef;
  border-color:#dbc2c5;
  color:#6f3439;
}
.join-v61043-minor-note[hidden],
.join-v61043-tutor-match[hidden],
#joinTutorEmailField[hidden],
#joinTutorPhoneField[hidden]{display:none!important}

.represented-v61043{display:grid;gap:18px}
.represented-v61043-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.represented-v61043-head h2{margin:4px 0 4px;font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;line-height:1}
.represented-v61043-head p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}
.represented-v61043-head>span{min-width:38px;height:38px;border-radius:19px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-weight:900}
.represented-v61043-list{display:grid;gap:10px}
.represented-v61043-card{width:100%;display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left;color:inherit;cursor:pointer}
.represented-v61043-card:hover{border-color:#d7bdc0;background:#fffafa}
.represented-v61043-avatar{width:46px;height:46px;flex:0 0 46px;border-radius:50%;display:grid;place-items:center;background:#f3e4e6;color:var(--brand);font-weight:900;font-size:.78rem}
.represented-v61043-avatar.large{width:64px;height:64px;flex-basis:64px;font-size:1rem}
.represented-v61043-copy{display:grid;gap:3px;min-width:0;flex:1}
.represented-v61043-copy strong{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.represented-v61043-copy small{color:var(--muted);font-size:.7rem;line-height:1.4;white-space:normal}
.represented-v61043-arrow{color:var(--brand);font-size:1.6rem;line-height:1}
.represented-detail-v61043{display:grid;gap:16px}
.represented-v61043-back{justify-self:start;border:0;background:transparent;color:var(--brand);font:inherit;font-weight:800;padding:4px 0;cursor:pointer}
.represented-detail-v61043-hero{display:flex;align-items:center;gap:16px}
.represented-detail-v61043-hero h2{margin:4px 0 2px;font-family:"Cormorant Garamond",Georgia,serif;font-size:32px;line-height:1}
.represented-detail-v61043-hero p{margin:0;color:var(--muted);font-size:.78rem}
.represented-v61043-optional{display:block;color:var(--muted);font-size:.62rem;font-weight:500;margin-top:2px}
.represented-v61043-note{margin-top:16px;padding:13px 14px;border-radius:12px;background:#faf5f4;color:#6d5b5e;font-size:.7rem;line-height:1.55}
@media(max-width:700px){
  .represented-v61043-head{gap:12px}
  .represented-v61043-card{padding:12px}
  .represented-detail-v61043-hero h2{font-size:28px}
}

/* V6.10.44 */
.represented-v61043 { padding:22px; margin-top:18px; }
.represented-detail-v61043-hero { padding:20px; min-width:0; }
.represented-v61044-photo-media { position:relative;width:88px;height:88px;flex:0 0 88px; }
.represented-v61044-photo { width:88px;height:88px;overflow:hidden;border-radius:50%;display:grid;place-items:center;background:#f3e4e6;color:var(--brand);font-family:"Cormorant Garamond",Georgia,serif;font-size:28px;font-weight:800;border:4px solid #fff;box-shadow:0 8px 24px rgba(48,24,27,.1); }
.represented-v61044-photo img { width:100%;height:100%;object-fit:cover; }
.represented-v61044-photo-media .profile-photo-v6106-edit { right:-2px;bottom:-2px; }
.represented-member-form-v61044 { border-top:0; padding-top:18px; }
.represented-access-note-v61044 { margin-bottom:0; }
.represented-payment-v61044 select { width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:10px 12px;outline:none;font:inherit;font-weight:500; }
.represented-payment-v61044 select:focus { border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft); }
.represented-v61043-avatar img{width:100%;height:100%;object-fit:cover}

.adm-application-filters-v61044 {display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(180px,.8fr) minmax(180px,.8fr) auto;gap:12px;align-items:end;padding:16px;margin-bottom:12px;}
.adm-application-filters-v61044 label {display:grid;gap:6px;min-width:0;color:var(--ink);font-size:11px;font-weight:800;}
.adm-application-filters-v61044 label > span {color:var(--muted);text-transform:uppercase;letter-spacing:.055em;font-size:9px;}
.adm-application-filters-v61044 input,.adm-application-filters-v61044 select {width:100%;height:42px;min-width:0;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:0 11px;font:inherit;font-weight:600;outline:none;}
.adm-application-filters-v61044 .is-search > div {position:relative;display:flex;align-items:center;}
.adm-application-filters-v61044 .is-search svg {position:absolute;left:11px;width:17px;height:17px;pointer-events:none;color:var(--muted);}
.adm-application-filters-v61044 .is-search input {padding-left:38px;}
.adm-application-results-v61044 {margin:0 2px 9px;color:var(--muted);font-size:11px;}
.adm-application-pagination-v61044 {margin-bottom:8px;}
.adm-app-back-v61044 {white-space:nowrap;}
.adm-application-representative-v61044 {margin-top:24px;padding-top:4px;}
.adm-application-rep-grid-v61044 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.adm-application-rep-grid-v61044 label {display:grid;gap:6px;min-width:0;color:var(--ink);font-size:11px;font-weight:800;}
.adm-application-rep-grid-v61044 label > span {color:var(--muted);text-transform:uppercase;letter-spacing:.055em;font-size:9px;}
.adm-application-rep-grid-v61044 input[readonly] {width:100%;min-width:0;height:44px;border:1px solid var(--line);border-radius:12px;background:#fbf8f7;color:var(--ink);padding:0 12px;font:inherit;font-weight:650;}
@media(max-width:900px){.adm-application-filters-v61044{grid-template-columns:1fr 1fr}.adm-application-filters-v61044 .is-search{grid-column:1/-1}}
@media(max-width:700px){.represented-v61043{padding:18px}.represented-detail-v61043-hero{padding:18px;gap:14px}.represented-v61044-photo-media{width:72px;height:72px;flex-basis:72px}.represented-v61044-photo{width:72px;height:72px;font-size:24px}.represented-v61044-photo-media .profile-photo-v6106-edit{width:30px;height:30px}.adm-application-filters-v61044{grid-template-columns:1fr;padding:14px}.adm-application-filters-v61044 .is-search{grid-column:auto}.adm-application-filters-v61044 .adm-primary-btn{width:100%}.adm-application-rep-grid-v61044{grid-template-columns:1fr}}

/* =========================================================
   V6.10.45 — solicitudes y ficha representada
   ========================================================= */
.represented-payment-v61045 > div:first-child {
  align-self:stretch;
}

.adm-application-head-v61045 {
  margin-top:0;
}
.adm-application-filters-v61045 {
  grid-template-columns:minmax(280px,1.6fr) minmax(180px,.8fr) minmax(180px,.8fr) auto;
}
.adm-application-results-v61045 {
  margin-bottom:8px;
}
.adm-application-representative-v61045 {
  margin-top:6px;
}
.adm-application-representative-v61045 > .adm-section-head {
  margin:16px 0 12px;
}
.adm-application-rep-grid-v61045 {
  margin-top:0;
}

@media(max-width:900px){
  .adm-application-filters-v61045 {
    grid-template-columns:1fr 1fr;
  }
  .adm-application-filters-v61045 .is-search {
    grid-column:1/-1;
  }
  .adm-application-filters-v61045 .adm-fee-filter-actions-v61023 {
    grid-column:1/-1;
  }
}
@media(max-width:700px){
  .adm-application-filters-v61045 {
    grid-template-columns:1fr;
  }
  .adm-application-filters-v61045 .is-search,
  .adm-application-filters-v61045 .adm-fee-filter-actions-v61023 {
    grid-column:auto;
  }
}

/* =========================================================
   V6.10.46 — Asistente y nuevo Panel de control
   ========================================================= */
/* En módulos sin submenú contextual, las acciones globales siguen ancladas a la derecha. */
@media (min-width:901px) {
  .adm-module-toolbar > .adm-global-actions { margin-left:auto; }
}

/* En Android el Asistente usa el scroll natural de la página, no un scroller anidado. */
@media (max-width:900px) {
  .adm-content { height:auto !important; overflow:visible !important; touch-action:pan-y; }
  .adm-ai-page { overflow:visible !important; touch-action:pan-y; }
  .adm-ai-chat { min-height:0 !important; height:auto !important; max-height:none !important; overflow:visible !important; }
  .adm-ai-thread { flex:none !important; min-height:0 !important; height:auto !important; max-height:none !important; overflow:visible !important; overscroll-behavior:auto !important; touch-action:pan-y; }
}

.adm-dashboard-v61046 { display:grid; gap:18px; }
.adm-dash-hero-v61046 {
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:176px;
  padding:30px 32px;
  border-radius:26px;
  background:
    radial-gradient(circle at 92% 18%,rgba(218,190,137,.28),transparent 28%),
    linear-gradient(125deg,#591a20 0%,#7d2b30 56%,#91383e 100%);
  color:#fff;
  box-shadow:0 15px 38px rgba(83,29,34,.14);
}
.adm-dash-hero-v61046::after {
  content:"✦";
  position:absolute;
  right:8%;
  bottom:-72px;
  color:rgba(255,255,255,.055);
  font-size:210px;
  line-height:1;
  pointer-events:none;
}
.adm-dash-hero-copy { position:relative; z-index:1; max-width:760px; }
.adm-dash-kicker,.adm-dash-card-kicker {
  display:block;
  color:#d8bd82;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.adm-dash-hero-copy h2 {
  margin:7px 0 8px;
  color:#fff;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:40px;
  line-height:1.02;
}
.adm-dash-hero-copy p { margin:0; max-width:680px; color:rgba(255,255,255,.78); font-size:13px; line-height:1.6; }
.adm-dash-hero-status {
  position:relative;
  z-index:1;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:220px;
  padding:13px 15px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(255,255,255,.09);
  backdrop-filter:blur(8px);
}
.adm-dash-status-dot { width:9px; height:9px; flex:0 0 9px; border-radius:50%; background:#8ed3aa; box-shadow:0 0 0 5px rgba(142,211,170,.12); }
.adm-dash-hero-status strong,.adm-dash-hero-status small { display:block; }
.adm-dash-hero-status strong { font-size:11px; }
.adm-dash-hero-status small { margin-top:2px; color:rgba(255,255,255,.62); font-size:9px; }

.adm-dash-kpis-v61046 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.adm-dash-kpi {
  position:relative;
  overflow:hidden;
  min-width:0;
  min-height:142px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"label icon" "value icon" "caption caption";
  align-items:start;
  gap:3px 14px;
  padding:19px 20px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  box-shadow:0 5px 20px rgba(63,26,31,.035);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.adm-dash-kpi:hover { transform:translateY(-2px); border-color:#d9c3c5; box-shadow:0 10px 25px rgba(63,26,31,.07); }
.adm-dash-kpi::after { content:""; position:absolute; right:-28px; bottom:-34px; width:100px; height:100px; border-radius:50%; background:#f8eeee; }
.adm-dash-kpi-label { grid-area:label; align-self:center; color:var(--muted); font-size:11px; font-weight:750; }
.adm-dash-kpi > strong { grid-area:value; margin-top:3px; font-size:30px; line-height:1; letter-spacing:-.03em; }
.adm-dash-kpi > small { grid-area:caption; align-self:end; margin-top:12px; color:#8d7c7d; font-size:9.5px; }
.adm-dash-kpi-icon { grid-area:icon; position:relative; z-index:1; width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:var(--brand-soft); color:var(--brand); }
.adm-dash-kpi-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.adm-dash-kpi.is-money .adm-dash-kpi-icon { background:#e9f4ee; color:#287a55; }
.adm-dash-kpi.is-applications .adm-dash-kpi-icon { background:#fff3da; color:#9a6517; }
.adm-dash-kpi.is-priostes .adm-dash-kpi-icon { background:#f7f0df; color:#876824; }

.adm-dash-main-grid-v61046 { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr); gap:18px; }
.adm-dash-secondary-grid-v61046 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.adm-dash-economy-v61046,.adm-dash-census-v61046,.adm-dash-applications-v61046,.adm-dash-events-v61046,.adm-dash-quick-v61046 { padding:22px; }
.adm-dash-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:18px; }
.adm-dash-card-head h2 { margin:3px 0 0; color:var(--ink); font-family:"Cormorant Garamond",Georgia,serif; font-size:27px; line-height:1.08; }
.adm-dash-card-kicker { color:var(--brand); }
.adm-dash-link { flex:0 0 auto; border:0; background:transparent; color:var(--brand); padding:4px 0; font-size:10px; font-weight:850; }

.adm-dash-economy-total { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; padding:4px 0 13px; }
.adm-dash-economy-total > div:first-child span,.adm-dash-economy-total > div:first-child strong { display:block; }
.adm-dash-economy-total > div:first-child span { color:var(--muted); font-size:10px; }
.adm-dash-economy-total > div:first-child strong { margin-top:4px; font-size:31px; letter-spacing:-.035em; }
.adm-dash-rate { text-align:right; }
.adm-dash-rate strong,.adm-dash-rate span { display:block; }
.adm-dash-rate strong { color:var(--success); font-size:22px; }
.adm-dash-rate span { color:var(--muted); font-size:9px; }
.adm-dash-progress-v61046 { height:9px; overflow:hidden; border-radius:999px; background:#eee8e9; }
.adm-dash-progress-v61046 > span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#7d2b30,#a3484f); }
.adm-dash-money-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:17px; }
.adm-dash-money-grid > div { min-width:0; padding:13px 14px; border:1px solid #eee5e5; border-radius:14px; background:#fcfaf9; }
.adm-dash-money-grid span,.adm-dash-money-grid strong,.adm-dash-money-grid small { display:block; }
.adm-dash-money-grid span { color:var(--muted); font-size:9px; font-weight:750; }
.adm-dash-money-grid strong { margin-top:5px; font-size:16px; overflow-wrap:anywhere; }
.adm-dash-money-grid small { margin-top:3px; color:#948587; font-size:8.5px; }
.adm-dash-money-grid .is-alert { border-color:#eed2d4; background:#fff7f7; }
.adm-dash-money-grid .is-alert strong { color:#a1373e; }

.adm-dash-census-total { display:flex; align-items:baseline; gap:8px; margin:1px 0 15px; }
.adm-dash-census-total strong { color:var(--brand); font-size:36px; line-height:1; }
.adm-dash-census-total span { color:var(--muted); font-size:10px; }
.adm-dash-fact-list { display:grid; gap:0; border-top:1px solid #eee7e7; border-bottom:1px solid #eee7e7; }
.adm-dash-fact-list > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #f1ebeb; }
.adm-dash-fact-list > div:last-child { border-bottom:0; }
.adm-dash-fact-list span { color:var(--muted); font-size:10px; }
.adm-dash-fact-list strong { font-size:13px; }
.adm-dash-fact-list .is-warning strong { color:#a56b10; }
.adm-dash-payment-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:16px 0 9px; }
.adm-dash-payment-title span { color:var(--ink); font-size:10px; font-weight:850; }
.adm-dash-payment-title small { color:var(--muted); font-size:8.5px; }
.adm-dash-payment-list { display:grid; gap:8px; }
.adm-dash-payment-row { display:grid; grid-template-columns:minmax(105px,1fr) minmax(70px,1fr) 30px; gap:8px; align-items:center; }
.adm-dash-payment-row > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:7px; min-width:0; }
.adm-dash-payment-row > div:first-child span { overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.adm-dash-payment-row > div:first-child strong { font-size:10px; }
.adm-dash-payment-row > small { color:#8f8182; font-size:8px; text-align:right; }
.adm-dash-mini-progress { height:6px; overflow:hidden; border-radius:999px; background:#eee8e9; }
.adm-dash-mini-progress span { display:block; height:100%; border-radius:inherit; background:#a86b70; }

.adm-dash-app-summary { display:flex; align-items:baseline; gap:8px; margin:-2px 0 13px; }
.adm-dash-app-summary strong { color:var(--brand); font-size:30px; }
.adm-dash-app-summary span { color:var(--muted); font-size:10px; }
.adm-dash-app-list,.adm-dash-event-list { display:grid; gap:7px; }
.adm-dash-app-list > button,.adm-dash-event {
  width:100%;
  min-width:0;
  border:1px solid #eee5e5;
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  text-align:left;
}
.adm-dash-app-list > button { display:grid; grid-template-columns:minmax(0,1fr) auto 18px; gap:10px; align-items:center; padding:10px 11px; }
.adm-dash-app-list > button > span { min-width:0; }
.adm-dash-app-list > button strong,.adm-dash-app-list > button small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.adm-dash-app-list > button strong { font-size:10.5px; }
.adm-dash-app-list > button small { margin-top:2px; color:var(--muted); font-size:8.5px; }
.adm-dash-app-list > button > b,.adm-dash-chevron { color:#b19fa0; font-size:18px; font-weight:500; }
.adm-dash-app-list .adm-badge { font-size:8px; padding:4px 7px; white-space:nowrap; }
.adm-dash-event { display:grid; grid-template-columns:42px minmax(0,1fr) 18px; gap:10px; align-items:center; padding:9px 10px; }
.adm-dash-event-date { width:42px; height:43px; display:grid; align-content:center; justify-items:center; border-radius:11px; background:var(--brand-soft); color:var(--brand); }
.adm-dash-event-date b { font-size:15px; line-height:1; }
.adm-dash-event-date small { margin-top:3px; font-size:7px; font-weight:900; letter-spacing:.06em; }
.adm-dash-event-copy { min-width:0; }
.adm-dash-event-copy strong,.adm-dash-event-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.adm-dash-event-copy strong { font-size:10.5px; }
.adm-dash-event-copy small { margin-top:3px; color:var(--muted); font-size:8.5px; }
.adm-dash-app-list > button:hover,.adm-dash-event:hover { border-color:#d9c4c6; background:#fffafa; }
.adm-dash-empty { padding:24px 15px; border:1px dashed #dfd2d3; border-radius:14px; text-align:center; }
.adm-dash-empty strong,.adm-dash-empty span { display:block; }
.adm-dash-empty strong { color:var(--ink); font-size:11px; }
.adm-dash-empty span { margin-top:4px; color:var(--muted); font-size:9px; line-height:1.45; }
.adm-dash-empty.is-error strong { color:var(--danger); }

.adm-dash-quick-v61046 { padding-bottom:18px; }
.adm-dash-quick-v61046 .adm-dash-card-head { margin-bottom:12px; }
.adm-dash-quick-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; }
.adm-dash-quick-grid > button { min-width:0; display:grid; grid-template-columns:38px minmax(0,1fr) 13px; gap:9px; align-items:center; padding:10px; border:1px solid #eee4e5; border-radius:13px; background:#fcfaf9; color:var(--ink); text-align:left; }
.adm-dash-quick-grid > button > span { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:#f4e9ea; color:var(--brand); }
.adm-dash-quick-grid svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.adm-dash-quick-grid > button > div { min-width:0; }
.adm-dash-quick-grid strong,.adm-dash-quick-grid small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.adm-dash-quick-grid strong { font-size:10px; }
.adm-dash-quick-grid small { margin-top:2px; color:var(--muted); font-size:8px; }
.adm-dash-quick-grid b { color:#b5a5a6; font-size:17px; font-weight:500; }
.adm-dash-quick-grid > button:hover { border-color:#d8c2c4; background:#fff; }

@media (max-width:1180px) {
  .adm-dash-kpis-v61046 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .adm-dash-main-grid-v61046 { grid-template-columns:1fr; }
  .adm-dash-quick-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:760px) {
  .adm-dashboard-v61046 { gap:12px; padding-top:8px; }
  .adm-dash-hero-v61046 { min-height:0; display:block; padding:21px 18px; border-radius:20px; }
  .adm-dash-hero-copy h2 { font-size:30px; }
  .adm-dash-hero-copy p { font-size:11.5px; line-height:1.5; }
  .adm-dash-hero-status { width:100%; min-width:0; margin-top:16px; padding:11px 12px; }
  .adm-dash-kpis-v61046 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .adm-dash-kpi { min-height:126px; padding:15px; border-radius:17px; grid-template-columns:minmax(0,1fr) 36px; gap:2px 8px; }
  .adm-dash-kpi-icon { width:36px; height:36px; border-radius:11px; }
  .adm-dash-kpi-icon svg { width:18px; height:18px; }
  .adm-dash-kpi-label { font-size:9.5px; }
  .adm-dash-kpi > strong { font-size:25px; }
  .adm-dash-kpi > small { margin-top:9px; font-size:8px; line-height:1.3; }
  .adm-dash-main-grid-v61046,.adm-dash-secondary-grid-v61046 { grid-template-columns:1fr; gap:12px; }
  .adm-dash-economy-v61046,.adm-dash-census-v61046,.adm-dash-applications-v61046,.adm-dash-events-v61046,.adm-dash-quick-v61046 { padding:17px; border-radius:18px; }
  .adm-dash-card-head { margin-bottom:14px; }
  .adm-dash-card-head h2 { font-size:24px; }
  .adm-dash-link { font-size:9px; }
  .adm-dash-economy-total > div:first-child strong { font-size:27px; }
  .adm-dash-money-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .adm-dash-payment-row { grid-template-columns:minmax(100px,1fr) minmax(65px,1fr) 26px; }
  .adm-dash-quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:420px) {
  .adm-dash-kpis-v61046 { grid-template-columns:1fr 1fr; }
  .adm-dash-kpi { min-height:119px; padding:13px; }
  .adm-dash-kpi > strong { font-size:22px; }
  .adm-dash-kpi > small { font-size:7.5px; }
  .adm-dash-quick-grid { grid-template-columns:1fr; }
}

/* =========================================================
   V6.10.47 — filtros/paginación de miembros y relaciones legales
   ========================================================= */
.adm-mobile-page-actions-v61047 {
  display:none;
}
.adm-member-filters-v61047 {
  grid-template-columns:minmax(280px,1.6fr) repeat(3,minmax(160px,.8fr)) auto;
}
.adm-member-results-v61047 {
  margin-bottom:8px;
}
.adm-member-relations-v61047 {
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  margin-top:28px;
}
.adm-member-relation-group-v61047 {
  min-width:0;
}
.adm-member-relation-head-v61047 {
  margin:0 0 14px;
  width:100%;
}
.adm-member-relation-head-v61047 > div {
  width:100%;
  min-width:0;
}
.adm-member-relation-head-v61047 h2 {
  font-size:28px;
}
.adm-member-relation-head-v61047 p {
  width:100%;
  max-width:none;
}
.adm-member-relation-list-v61047 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.adm-member-relation-card-v61047 {
  width:100%;
  min-width:0;
  min-height:66px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  font:inherit;
}
button.adm-member-relation-card-v61047 {
  cursor:pointer;
}
button.adm-member-relation-card-v61047:hover {
  border-color:#d9c2c4;
  background:#fffafa;
}
.adm-member-relation-card-v61047 > span:nth-child(2) {
  min-width:0;
  display:grid;
  gap:3px;
}
.adm-member-relation-card-v61047 strong {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}
.adm-member-relation-card-v61047 small {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:10px;
}
.adm-member-relation-card-v61047 > b {
  color:var(--brand);
  font-size:24px;
  font-weight:500;
}
.adm-member-relation-avatar-v61047 {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:12px;
  font-weight:800;
}
.adm-member-relation-avatar-v61047 img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media(max-width:1100px){
  .adm-member-filters-v61047 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .adm-member-filters-v61047 .is-search,
  .adm-member-filters-v61047 .adm-fee-filter-actions-v61023 {
    grid-column:1/-1;
  }
}
@media(max-width:900px){
  .adm-mobile-page-actions-v61047 {
    display:flex;
    align-items:stretch;
    gap:9px;
    margin-bottom:14px;
  }
  .adm-mobile-page-actions-v61047 > * {
    flex:1 1 0;
    min-width:0;
  }
  .adm-mobile-page-actions-single-v61047 > * {
    flex:0 1 auto;
    width:100%;
  }
  .adm-member-relations-v61047 {
    grid-template-columns:1fr;
  }
  .adm-member-relation-list-v61047 {
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  .adm-member-filters-v61047 {
    grid-template-columns:1fr;
  }
  .adm-member-filters-v61047 .is-search,
  .adm-member-filters-v61047 .adm-fee-filter-actions-v61023 {
    grid-column:auto;
  }
  .adm-member-relation-head-v61047 h2 {
    font-size:28px;
  }
}

/* V6.10.48 — relaciones legales alineadas con Membresías y avatares fotográficos */
\n\n/* V6.10.49 — detalle de emisión paginado, filtrable y seleccionable */\n.adm-fee-issuance-filters-v61049 {\n  grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(135px,1fr)) auto;\n}\n.adm-fee-issuance-table-v61049 table { min-width:900px; }\n.adm-fee-issue-select-v61049 { width:48px; text-align:center; }\n.adm-fee-issue-select-v61049 input {\n  width:18px; height:18px; accent-color:var(--brand); cursor:pointer;\n}\n.adm-fee-issuance-table-v61049 tbody tr.is-selected { background:rgba(125,43,48,.055); }\n.adm-fee-issuance-selection-v61049 {\n  display:flex; align-items:center; justify-content:space-between; gap:12px;\n  margin:0 2px 10px; padding:10px 14px; border:1px solid rgba(125,43,48,.18);\n  border-radius:12px; background:var(--brand-soft); color:var(--brand); font-size:12px;\n}\n.adm-fee-issuance-selection-v61049 button {\n  border:0; background:transparent; color:var(--brand); font:inherit; font-weight:800; cursor:pointer;\n}\n.fee-issuance-actions-v61049 { flex-wrap:wrap; }\n@media(max-width:1100px){\n  .adm-fee-issuance-filters-v61049 { grid-template-columns:repeat(3,minmax(0,1fr)); }\n  .adm-fee-issuance-filters-v61049 .is-search { grid-column:span 2; }\n}\n@media(max-width:720px){\n  .adm-fee-issuance-filters-v61049 { grid-template-columns:1fr; }\n  .adm-fee-issuance-filters-v61049 .is-search { grid-column:auto; }\n  .adm-fee-issuance-selection-v61049 { align-items:flex-start; flex-direction:column; }\n}\n
/* v6.10.51 · Recordatorios push automáticos de eventos */
.adm-event-reminder-v61051 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:22px;
  padding:26px 28px;
}
.adm-event-reminder-copy-v61051 { min-width:0; max-width:820px; }
.adm-event-reminder-copy-v61051 h2 { margin:5px 0 8px; }
.adm-event-reminder-copy-v61051 p { margin:0; color:var(--adm-muted,#756a6a); line-height:1.5; }
.adm-event-reminder-control-v61051 { display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.adm-event-reminder-sent-v61051 { margin-top:12px !important; color:#2d7254 !important; }
.adm-event-reminder-warning-v61051 { margin-top:12px !important; color:#8f3238 !important; }
@media (max-width: 760px) {
  .adm-event-reminder-v61051 { align-items:flex-start; flex-direction:column; gap:18px; padding:22px; }
  .adm-event-reminder-control-v61051 { width:100%; justify-content:space-between; }
}

/* =========================================================
   V6.10.52 — emisión, trazabilidad, recordatorios y alta pública
   ========================================================= */
.adm-fee-issuance-selection-v61052{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:10px 0 14px;padding:13px 14px 13px 16px;border:1px solid #e4cfd1;
  border-radius:16px;background:#fbf4f4;color:var(--ink);box-shadow:0 8px 24px rgba(73,31,34,.04);
}
.adm-fee-issuance-selection-v61052>span{display:flex;align-items:center;gap:10px;min-width:0}
.adm-fee-issuance-selection-v61052>span>b{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:var(--brand);color:#fff}
.adm-fee-issuance-selection-v61052>span>b svg{width:16px;height:16px;stroke:currentColor;fill:none}
.adm-fee-issuance-selection-v61052 strong{color:var(--brand);font-size:15px}
.adm-fee-clear-selection-v61052{min-height:38px;padding:8px 13px!important;background:#fff!important;white-space:nowrap}
.adm-fee-not-due-v61052{padding:15px 17px!important;border-radius:15px!important;line-height:1.55}
.adm-fee-not-due-v61052 strong:first-child{display:block;margin-bottom:2px}
.adm-contribution-row-actions-v61052{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.adm-modal-backdrop-v61052{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;background:rgba(38,22,23,.45);backdrop-filter:blur(4px)}
.adm-contribution-detail-v61052{position:relative;width:min(980px,100%);max-height:min(820px,calc(100vh - 48px));overflow:auto;padding:26px;border-radius:24px;box-shadow:0 28px 80px rgba(41,19,21,.22)}
.adm-contribution-detail-v61052>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-right:42px}
.adm-contribution-detail-v61052>header h2{margin:6px 0 3px;font:600 34px/1.05 Georgia,serif;color:var(--ink)}
.adm-contribution-detail-v61052>header p{margin:0;color:var(--muted);font-size:12px}
.adm-modal-close-v61052{position:absolute;top:18px;right:18px;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--brand);font:600 25px/1 sans-serif;cursor:pointer}
.adm-contribution-detail-summary-v61052{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}
.adm-contribution-detail-summary-v61052>div{min-height:78px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:#fcfaf9}
.adm-contribution-detail-summary-v61052 small,.adm-contribution-detail-summary-v61052 strong{display:block}
.adm-contribution-detail-summary-v61052 small{margin-bottom:8px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.adm-contribution-detail-summary-v61052 strong{font-size:15px}
.adm-contribution-detail-grid-v61052{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:26px;margin-top:25px}
.adm-contribution-detail-grid-v61052 h3{margin:0 0 14px;font:600 24px/1.1 Georgia,serif;color:var(--ink)}
.adm-contribution-timeline-v61052{display:grid;gap:0}
.adm-contribution-timeline-v61052 article{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:11px;padding-bottom:18px}
.adm-contribution-timeline-v61052 article:before{content:"";position:absolute;left:5px;top:11px;bottom:-2px;width:1px;background:#eadcdd}
.adm-contribution-timeline-v61052 article:last-child:before{display:none}
.adm-contribution-timeline-v61052 article>i{width:11px;height:11px;margin-top:4px;border:3px solid #f6e7e8;border-radius:50%;background:var(--brand);z-index:1}
.adm-contribution-timeline-v61052 time,.adm-contribution-timeline-v61052 strong,.adm-contribution-timeline-v61052 p{display:block}
.adm-contribution-timeline-v61052 time{color:var(--muted);font-size:9px}.adm-contribution-timeline-v61052 strong{margin-top:2px;font-size:12px}.adm-contribution-timeline-v61052 p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
.adm-contribution-tech-v61052{display:grid;gap:7px;margin:0 0 22px}.adm-contribution-tech-v61052>div{padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#fcfaf9}.adm-contribution-tech-v61052 dt{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.adm-contribution-tech-v61052 dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:10px}.adm-contribution-tech-v61052 code{font-size:9px}
.adm-contribution-payment-list-v61052{display:grid;gap:8px}.adm-contribution-payment-list-v61052 article{display:grid;gap:3px;padding:10px 11px;border:1px solid var(--line);border-radius:12px}.adm-contribution-payment-list-v61052 strong{font-size:10px}.adm-contribution-payment-list-v61052 span,.adm-contribution-payment-list-v61052 code{font-size:8.5px;color:var(--muted);overflow-wrap:anywhere}
.adm-event-reminder-v61052{display:grid!important;grid-template-columns:54px minmax(0,1fr) auto;align-items:center!important;gap:18px!important;margin-top:22px!important;padding:20px 22px!important;border:1px solid #eadbdd!important;background:linear-gradient(135deg,#fff 0%,#fcf7f7 100%)!important;box-shadow:0 12px 32px rgba(65,28,31,.06)}
.adm-event-reminder-icon-v61052{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:var(--brand-soft);color:var(--brand)}
.adm-event-reminder-icon-v61052 svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.8}
.adm-event-reminder-v61052 h2{margin:4px 0 5px!important;font:600 28px/1.05 Georgia,serif!important;color:var(--ink)}
.adm-event-reminder-v61052 .adm-event-reminder-copy-v61051 p{font-size:11px!important;line-height:1.5!important;max-width:760px}
.adm-event-reminder-control-v61052{padding-left:18px;border-left:1px solid #eadbdd}
.join-v61052-payment-fixed{display:grid;gap:4px;margin:0 0 16px;padding:16px 18px;border:1px solid rgba(125,43,48,.15);border-radius:16px;background:#fbf5f5}
.join-v61052-payment-fixed span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.join-v61052-payment-fixed strong{color:var(--brand);font-size:17px}.join-v61052-payment-fixed p{margin:2px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:760px){.adm-fee-issuance-selection-v61052{align-items:stretch;flex-direction:column}.adm-fee-clear-selection-v61052{width:100%}.adm-contribution-detail-v61052{max-height:calc(100vh - 24px);padding:20px 17px;border-radius:20px}.adm-contribution-detail-summary-v61052{grid-template-columns:repeat(2,minmax(0,1fr))}.adm-contribution-detail-grid-v61052{grid-template-columns:1fr;gap:22px}.adm-event-reminder-v61052{grid-template-columns:46px minmax(0,1fr)!important;align-items:start!important}.adm-event-reminder-icon-v61052{width:46px;height:46px}.adm-event-reminder-control-v61052{grid-column:1/-1;width:100%;padding:12px 0 0!important;border-left:0;border-top:1px solid #eadbdd;justify-content:space-between!important}}

/* =========================================================
   V6.10.53 — ajuste modal de trazabilidad
   ========================================================= */
@media (min-width: 761px) {
  .adm-contribution-detail-v61052 {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .adm-contribution-detail-v61052::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }
}

@media (max-width: 760px) {
  .adm-modal-backdrop-v61052 {
    align-items: center;
    padding-top: max(22px, env(safe-area-inset-top));
    padding-right: 12px;
    padding-bottom: max(24px, calc(env(safe-area-inset-bottom) + 12px));
    padding-left: 12px;
  }
  .adm-contribution-detail-v61052 {
    width: 100%;
    max-height: calc(100dvh - max(22px, env(safe-area-inset-top)) - max(24px, calc(env(safe-area-inset-bottom) + 12px)));
    max-height: calc(100vh - 52px);
    padding: 24px 17px 26px;
    border-radius: 22px;
  }
  @supports (height: 100dvh) {
    .adm-contribution-detail-v61052 {
      max-height: calc(100dvh - 56px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    }
  }
  .adm-contribution-detail-v61052 > header {
    padding-right: 54px;
  }
  .adm-modal-close-v61052 {
    top: 16px;
    right: 16px;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    font-size: 28px;
    touch-action: manipulation;
  }
}


/* =========================================================
   V6.10.54 — menú lateral contraído y menú de usuario
   ========================================================= */
.adm-sidebar-bottom {
  position: relative;
  z-index: 90;
}
.adm-sidebar-bottom .adm-sidebar-toggle-v61054 {
  position: relative;
  inset: auto;
  width: 100%;
  min-height: 40px;
  height: 40px;
  margin: 0 0 10px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.82);
  font: 700 11px/1 Inter, sans-serif;
  cursor: pointer;
}
.adm-sidebar-bottom .adm-sidebar-toggle-v61054:hover {
  background: rgba(255,255,255,.14);
  color: #fff;
}
.adm-sidebar-toggle-icon-v61054 {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  font: 500 22px/1 Arial, sans-serif;
}
.adm-sidebar-toggle-label-v61054 {
  white-space: nowrap;
}
.adm-shell.is-sidebar-collapsed .adm-sidebar-bottom .adm-sidebar-toggle-v61054 {
  position: relative;
  inset: auto;
  width: 44px;
  min-width: 44px;
  height: 40px;
  margin: 0 auto 10px;
  padding: 0;
  border-radius: 12px;
}
.adm-shell.is-sidebar-collapsed .adm-sidebar-toggle-label-v61054 {
  display: none;
}
.adm-shell.is-sidebar-collapsed .adm-user-area-v6101 {
  position: relative;
  z-index: 120;
}
.adm-shell.is-sidebar-collapsed .adm-user-menu-v6101 {
  position: fixed;
  left: 94px;
  right: auto;
  bottom: 22px;
  width: 230px;
  z-index: 1000;
}
@media (max-width: 1180px) {
  .adm-shell.is-sidebar-collapsed .adm-user-menu-v6101 {
    left: 92px;
  }
}

/* =========================================================
   V6.10.55 — restaurar pestaña lateral de contraer, abajo
   ========================================================= */
.adm-sidebar-bottom {
  position: relative;
  z-index: 90;
}
.adm-sidebar-bottom .adm-sidebar-toggle-v61055 {
  position: fixed;
  left: 252px;
  right: auto;
  top: auto;
  bottom: 106px;
  width: 28px;
  min-width: 28px;
  height: 32px;
  min-height: 32px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255,255,255,.16);
  border-right: 0;
  border-radius: 10px 0 0 10px;
  background: rgba(255,255,255,.10);
  color: #fff;
  font: 500 21px/1 Arial, sans-serif;
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 140;
}
.adm-sidebar-bottom .adm-sidebar-toggle-v61055:hover {
  background: rgba(255,255,255,.18);
}
.adm-shell.is-sidebar-collapsed .adm-sidebar-bottom .adm-sidebar-toggle-v61055 {
  left: 72px;
  right: auto;
  top: auto;
  bottom: 106px;
  width: 28px;
  min-width: 28px;
  height: 32px;
  min-height: 32px;
  margin: 0;
  padding: 0;
  border-radius: 10px 0 0 10px;
}
/* El control deja de ocupar altura dentro del flex, evitando el scrollbar añadido en v6.10.54. */
.adm-sidebar-bottom .adm-sidebar-toggle-v61054 { display:none !important; }
/* Conservamos el arreglo del menú emergente de usuario de v6.10.54. */
.adm-shell.is-sidebar-collapsed .adm-user-area-v6101 { position:relative; z-index:120; }
.adm-shell.is-sidebar-collapsed .adm-user-menu-v6101 {
  position:fixed !important;
  left:94px !important;
  right:auto !important;
  bottom:22px !important;
  width:230px !important;
  z-index:1000 !important;
}
@media(max-width:1180px){
  .adm-shell.is-sidebar-collapsed .adm-user-menu-v6101{left:92px !important;}
}

/* V6.10.56 — autocompletado de dirección por código postal */
.join-v61056-postal-status{grid-column:1/-1;width:100%;box-sizing:border-box;display:flex;align-items:center;gap:8px;margin-top:-2px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#faf8f7;color:var(--muted);font-size:11px;font-weight:650;line-height:1.45}
.join-v61056-postal-status[hidden]{display:none}
.join-v61056-postal-status::before{content:'i';width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:11px;font-weight:900}
.join-v61056-postal-status.is-success{border-color:#cfe5d7;background:#f3faf5;color:#39714d}
.join-v61056-postal-status.is-success::before{content:'✓';background:#dff2e6;color:#25713e}
.join-v61056-postal-status.is-warning{border-color:#ead8b9;background:#fffaf0;color:#7d6330}
.join-v61056-postal-status.is-warning::before{content:'!';background:#f8ebce;color:#8a6927}
.join-v61056-postal-status.is-loading::before{content:'';border:2px solid rgba(125,43,48,.22);border-top-color:var(--brand);background:transparent;animation:join-postal-spin-v61056 .7s linear infinite}
@keyframes join-postal-spin-v61056{to{transform:rotate(360deg)}}

/* V6.10.57 — solicitudes: multiselección, acciones masivas y edición */
.adm-application-table-v61057 table{min-width:860px}
.adm-application-select-v61057{width:48px;text-align:center}
.adm-application-select-v61057 input{width:18px;height:18px;accent-color:var(--brand);cursor:pointer}
.adm-application-table-v61057 tbody tr.is-selected{background:rgba(125,43,48,.055)}
.adm-application-selection-v61057{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 2px 12px;padding:12px 14px;border:1px solid rgba(125,43,48,.18);border-radius:14px;background:var(--brand-soft);color:var(--brand)}
.adm-application-selection-v61057>span{display:flex;align-items:center;gap:10px;min-width:0}
.adm-application-selection-v61057>span>b{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:var(--brand);color:#fff}
.adm-application-selection-v61057>span>b svg{width:17px;height:17px;stroke:currentColor;fill:none}
.adm-application-selection-v61057>span>strong{font-size:14px}
.adm-application-selection-v61057>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.adm-application-reject-v61057{color:#9d3037!important;border-color:rgba(157,48,55,.24)!important;background:#fff8f8!important}
.adm-application-edit-v61057{max-width:1120px;margin:0 auto}
.adm-application-edit-v61057 .join-v6-fields{margin-top:14px}
.adm-application-edit-rep-v61057{margin-top:28px!important}
.adm-application-edit-actions-v61057{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:760px){.adm-application-selection-v61057{align-items:stretch;flex-direction:column}.adm-application-selection-v61057>div{justify-content:stretch}.adm-application-selection-v61057>div button{flex:1}.adm-application-edit-actions-v61057{flex-direction:column-reverse}.adm-application-edit-actions-v61057 button{width:100%}}

/* v6.10.58 · motivos de rechazo/devolución Stripe/SEPA */
.adm-payment-reason-v61058{display:grid;gap:2px;margin-top:7px;max-width:360px;color:#8d3036;font-size:12px;line-height:1.35}
.adm-payment-reason-v61058 strong{font-size:12px;font-weight:800;color:#8d3036}
.adm-payment-reason-v61058 span{font-size:11px;color:var(--muted);font-weight:600}
.adm-payment-diagnostic-v61058{display:grid!important;gap:5px}
.adm-payment-diagnostic-v61058>b{font-size:15px;color:#742228}
.adm-payment-diagnostic-v61058>span{font-size:12px;color:#6f6062;font-weight:700}
.adm-payment-diagnostic-v61058>small{font-size:12px;line-height:1.45;color:#8a7375;margin-top:3px}
.adm-payment-attempt-v61058{gap:5px!important}
.adm-payment-attempt-v61058>b{font-size:13px;color:#7d2b30}
.adm-payment-attempt-v61058>small{font-size:11px;color:#75686a;line-height:1.4}
.adm-payment-attempt-v61058>.is-provider-message{padding:8px 10px;border-radius:10px;background:#faf5f5;color:#7a6769}
.adm-payment-attempt-v61058 code{white-space:normal;overflow-wrap:anywhere}


/* =========================================================
   V6.10.60 — identidad de miembro en cuotas y acción retry
   ========================================================= */
.adm-fee-member-cell-v61060 {
  min-width:230px;
}
.adm-fee-member-cell-v61060 .adm-avatar-sm {
  width:36px;
  height:36px;
  min-width:36px;
  font-size:10px;
}
.adm-fee-member-copy-v61060 {
  min-width:0;
  flex:1 1 auto;
}
.adm-fee-member-copy-v61060 strong {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ink);
}
.adm-fee-member-copy-v61060 small {
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
  font-weight:600;
}
.adm-fee-member-open-v61060 {
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--brand);
  cursor:pointer;
  transition:background .18s ease,transform .18s ease;
}
.adm-fee-member-open-v61060:hover,
.adm-fee-member-open-v61060:focus-visible {
  background:var(--brand-soft);
}
.adm-fee-member-open-v61060:active { transform:scale(.96); }
.adm-fee-member-open-v61060 svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.adm-table-retry-action-v61060 svg {
  width:20px;
  height:20px;
}
@media(max-width:640px){
  .adm-fee-member-cell-v61060 { min-width:205px; }
}


/* =========================================================
   V6.10.63 — carné, iconos PWA y referencia de pago en cuotas
   ========================================================= */
.digital-card-v61063 .card-number-v61063 {
  position:absolute;
  z-index:3;
  top:27px;
  right:22px;
  margin:0;
  max-width:calc(100% - 112px);
  font-size:1.02rem;
  line-height:1.15;
  font-weight:850;
  letter-spacing:.025em;
  text-align:right;
  white-space:nowrap;
}
.digital-card-v61063 .digital-card-copy { padding-right:128px; }
.digital-card-v61063 .digital-card-copy h2 { margin-top:24px; }
.quota-meta-v61063 span:first-child { font-weight:650; }
@media (max-width:420px) {
  .digital-card-v61063 .card-number-v61063 { top:25px; right:18px; font-size:.94rem; max-width:calc(100% - 104px); }
  .digital-card-v61063 .digital-card-copy { padding-right:112px; }
}


/* V6.10.71 — recuperación: espaciado y date input estable en iPhone */
.recovery-v641-card #recovery-identify-form,
.recovery-v641-card [data-recovery-identify],
.recovery-v641-card [data-recovery-phone],
.recovery-v641-card [data-recovery-email]{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
  width:100%;
  min-width:0;
  margin-top:22px;
}

.recovery-v641-card #recovery-identify-form > label,
.recovery-v641-card [data-recovery-identify] > label,
.recovery-v641-card [data-recovery-phone] > label,
.recovery-v641-card [data-recovery-email] > label{
  min-width:0;
  margin:0;
}

.recovery-v641-card #recovery-identify-form > .primary-button,
.recovery-v641-card [data-recovery-identify] > .primary-button,
.recovery-v641-card [data-recovery-phone] > .primary-button,
.recovery-v641-card [data-recovery-email] > .primary-button{
  width:100%;
  margin-top:1px;
}

.recovery-v641-card input{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
}

.recovery-v641-card input[type="date"]{
  display:block;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
  height:47px;
  min-height:47px;
  padding:12px 13px;
  overflow:hidden;
  -webkit-appearance:none;
  appearance:none;
  align-self:stretch;
}

.recovery-v641-card input[type="date"]::-webkit-date-and-time-value{
  min-width:0;
  text-align:left;
}

@media(max-width:700px){
  .recovery-v641-card{
    width:min(100%,560px);
    min-width:0;
  }

  .recovery-v641-card #recovery-identify-form,
  .recovery-v641-card [data-recovery-identify],
  .recovery-v641-card [data-recovery-phone],
  .recovery-v641-card [data-recovery-email]{
    gap:15px;
    margin-top:20px;
  }

  .recovery-v641-card input{
    min-width:0;
    max-width:100%;
    font-size:16px;
  }

  .recovery-v641-card input[type="date"]{
    width:100%;
    min-width:0;
    max-width:100%;
  }
}


/* V6.10.72 — Comunicaciones > WhatsApp / OpenWA */
.admin-whatsapp-page-v61072 { display:flex; flex-direction:column; gap:16px; }
.admin-whatsapp-page-v61072 > .adm-section-head { margin-bottom:-2px; }
.admin-whatsapp-status-v61072 { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.admin-whatsapp-status-main-v61072 { display:flex; align-items:center; gap:16px; min-width:0; }
.admin-whatsapp-status-main-v61072 h2 { margin:2px 0 4px; font-size:1.35rem; }
.admin-whatsapp-status-main-v61072 p { margin:0; color:var(--muted); overflow-wrap:anywhere; }
.admin-whatsapp-logo-v61072 { width:52px; height:52px; flex:0 0 52px; display:grid; place-items:center; border-radius:17px; background:var(--brand-soft); color:var(--brand); }
.admin-whatsapp-logo-v61072 svg { width:27px; height:27px; }
.admin-whatsapp-status-actions-v61072 { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:9px; }
.admin-whatsapp-status-badge-v61072 { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:7px 11px; border-radius:999px; font-size:.79rem; font-weight:800; white-space:nowrap; background:#f2eeee; color:var(--muted); }
.admin-whatsapp-status-badge-v61072::before { content:""; width:8px; height:8px; border-radius:50%; background:currentColor; }
.admin-whatsapp-status-badge-v61072.is-ready { color:var(--success); background:#edf8f2; }
.admin-whatsapp-status-badge-v61072.is-waiting { color:#996817; background:#fff7e5; }
.admin-whatsapp-status-badge-v61072.is-off { color:#89545a; background:#f7edef; }
.admin-whatsapp-qr-v61072 { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:24px; align-items:center; }
.admin-whatsapp-qr-v61072 h2 { margin:4px 0 8px; font-size:1.25rem; }
.admin-whatsapp-qr-v61072 p { margin:0; color:var(--muted); line-height:1.55; }
.admin-whatsapp-qr-v61072 img { width:210px; aspect-ratio:1; object-fit:contain; border:1px solid var(--line); border-radius:18px; padding:10px; background:#fff; }
.admin-whatsapp-compose-v61072 { overflow:visible; }
.admin-whatsapp-recipient-count-v61072 { display:inline-flex; align-items:center; min-height:32px; padding:6px 10px; border-radius:999px; background:var(--brand-soft); color:var(--brand); font-size:.78rem; font-weight:800; white-space:nowrap; }
.admin-whatsapp-compose-v61072 fieldset { min-width:0; }
.admin-whatsapp-compose-v61072 textarea { min-height:170px; line-height:1.5; }
.admin-whatsapp-selection-v61072 { border:1px solid var(--line); border-radius:16px; padding:14px; background:#fbf9f9; }
.admin-whatsapp-selection-v61072 > label { margin:0; }
.admin-whatsapp-search-form-v61072 { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; margin-top:7px; }
.admin-whatsapp-search-form-v61072 input { min-width:0; }
.admin-whatsapp-results-v61072 { display:grid; gap:7px; margin-top:10px; }
.admin-whatsapp-result-v61072 { width:100%; display:grid; grid-template-columns:38px minmax(0,1fr) 28px; align-items:center; gap:10px; text-align:left; border:1px solid var(--line); border-radius:13px; padding:9px 10px; background:#fff; color:var(--ink); }
.admin-whatsapp-result-v61072:hover:not(:disabled) { border-color:#d7bec1; background:#fffafa; }
.admin-whatsapp-result-v61072:disabled { opacity:.62; cursor:default; }
.admin-whatsapp-result-v61072 span:nth-child(2) { min-width:0; }
.admin-whatsapp-result-v61072 strong,.admin-whatsapp-result-v61072 small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-whatsapp-result-v61072 small { margin-top:2px; color:var(--muted); font-size:.75rem; }
.admin-whatsapp-result-v61072 b { color:var(--brand); font-size:1.15rem; text-align:center; }
.admin-whatsapp-chips-v61072 { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.admin-whatsapp-chips-v61072 button { display:inline-flex; align-items:center; gap:7px; max-width:100%; min-height:34px; padding:6px 9px 6px 11px; border:1px solid #ddc8cb; border-radius:999px; background:#fff; color:var(--brand); }
.admin-whatsapp-chips-v61072 button span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-whatsapp-chips-v61072 button b { font-size:1.05rem; line-height:1; }
.admin-whatsapp-empty-v61072,.admin-whatsapp-search-note-v61072 { margin:10px 2px 0; color:var(--muted); font-size:.82rem; }
.admin-whatsapp-search-note-v61072.is-error { color:#a23d46; }
.admin-whatsapp-variables-v61072 { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:-2px; }
.admin-whatsapp-variables-v61072 > span { color:var(--muted); font-size:.78rem; font-weight:700; margin-right:2px; }
.admin-whatsapp-variables-v61072 button { min-height:32px; padding:5px 9px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--brand); font-size:.76rem; font-weight:700; }
.admin-whatsapp-send-footer-v61072 { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:3px; }
.admin-whatsapp-send-footer-v61072 p { flex:1 1 auto; margin:0; color:var(--muted); font-size:.78rem; line-height:1.45; }
.admin-whatsapp-send-footer-v61072 .adm-primary-btn { flex:0 0 auto; }
.admin-whatsapp-page-v61072 .adm-table-wrap { overflow-x:auto; }
.admin-whatsapp-page-v61072 .adm-table-wrap table { min-width:760px; }

@media (max-width:760px) {
  .admin-whatsapp-status-v61072 { align-items:stretch; flex-direction:column; }
  .admin-whatsapp-status-actions-v61072 { justify-content:flex-start; }
  .admin-whatsapp-qr-v61072 { grid-template-columns:1fr; }
  .admin-whatsapp-qr-v61072 img { width:min(230px,100%); justify-self:center; }
  .admin-whatsapp-send-footer-v61072 { align-items:stretch; flex-direction:column; }
  .admin-whatsapp-send-footer-v61072 .adm-primary-btn { width:100%; }
}
@media (max-width:520px) {
  .admin-whatsapp-status-main-v61072 { align-items:flex-start; }
  .admin-whatsapp-logo-v61072 { width:46px; height:46px; flex-basis:46px; border-radius:15px; }
  .admin-whatsapp-status-actions-v61072 .adm-ghost-btn,
  .admin-whatsapp-status-actions-v61072 .adm-primary-btn { flex:1 1 145px; }
  .admin-whatsapp-search-form-v61072 { grid-template-columns:1fr; }
  .admin-whatsapp-search-form-v61072 .adm-ghost-btn { width:100%; }
  .admin-whatsapp-recipient-count-v61072 { align-self:flex-start; }
}


/* V6.10.75 · OTP de recuperación por WhatsApp */
.recovery-v61075-otp-input{font-variant-numeric:tabular-nums;letter-spacing:.28em;text-align:center;font-size:1.35rem!important;font-weight:800!important;padding-left:calc(1rem + .28em)!important}
.recovery-v61075-resend{margin-top:10px;width:100%}
@media(max-width:520px){.recovery-v61075-otp-input{font-size:1.25rem!important;letter-spacing:.22em}}

/* V6.10.76 · ajustes visuales OTP WhatsApp */
.recovery-v61076-otp-form .recovery-v61075-otp-input{margin-bottom:18px!important}
.recovery-v61076-otp-form .primary-button{margin-top:0!important}
@media(max-width:520px){.recovery-v61076-otp-form .recovery-v61075-otp-input{margin-bottom:20px!important}}


/* V6.10.77 · normalización visual del input date en Safari/iOS */
.recovery-v641-card input[type="date"]{
  color-scheme:light;
  background-color:#fff!important;
  color:var(--ink,#2f2325)!important;
  -webkit-text-fill-color:var(--ink,#2f2325)!important;
  opacity:1!important;
  caret-color:var(--brand,#7d2b30);
}
.recovery-v641-card input[type="date"]::-webkit-date-and-time-value,
.recovery-v641-card input[type="date"]::-webkit-datetime-edit,
.recovery-v641-card input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.recovery-v641-card input[type="date"]::-webkit-datetime-edit-text,
.recovery-v641-card input[type="date"]::-webkit-datetime-edit-day-field,
.recovery-v641-card input[type="date"]::-webkit-datetime-edit-month-field,
.recovery-v641-card input[type="date"]::-webkit-datetime-edit-year-field{
  color:var(--ink,#2f2325)!important;
  -webkit-text-fill-color:var(--ink,#2f2325)!important;
  opacity:1!important;
}
@supports (-webkit-touch-callout:none){
  .recovery-v641-card input[type="date"]{background:#fff!important}
}

/* V6.10.78 · Comunicaciones multicanal y correos emisores */
.admin-email-sender-form-v61078{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;align-items:end}
.admin-email-sender-form-v61078 label{display:grid;gap:7px;font-weight:700;color:var(--ink)}
.admin-email-sender-form-v61078 input,.admin-email-sender-form-v61078 select{width:100%;min-width:0}
.admin-email-sender-check-v61078{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px!important;font-weight:600!important}
.admin-email-sender-check-v61078 input{width:auto!important}
.admin-email-sender-actions-v61078{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.admin-email-sender-form-v61078{grid-template-columns:1fr}.admin-email-sender-actions-v61078{grid-column:1;justify-content:stretch}.admin-email-sender-actions-v61078 button{flex:1}}

/* V6.10.79 · remitentes email por cargo */
.admin-email-default-v61079{display:flex;align-items:center;justify-content:space-between;gap:24px}.admin-email-default-v61079 h2{margin:.35rem 0 .25rem}.admin-email-default-v61079 p{margin:0;color:var(--muted)}.admin-email-role-scope-v61079{grid-column:1/-1;border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--soft)}.admin-email-role-scope-v61079[hidden]{display:none}.admin-email-role-grid-v61079{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:12px 0}.admin-email-role-check-v61079{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;font-weight:600}.admin-email-role-check-v61079 input{width:18px!important;height:18px!important;min-height:0!important;margin:0}.admin-email-role-scope-v61079 small{color:var(--muted)}
@media(max-width:700px){.admin-email-default-v61079{align-items:flex-start;flex-direction:column}.admin-email-role-grid-v61079{grid-template-columns:1fr}}


/* V6.10.80 · notas internas de miembros */
.admin-v6-form .admin-member-notes-field-v61080 textarea{width:100%;min-width:0;max-width:100%;min-height:132px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit;line-height:1.5;outline:none;resize:vertical}
.admin-v6-form .admin-member-notes-field-v61080 textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}
.admin-v6-form .admin-member-notes-field-v61080 small{color:var(--muted);font-size:.68rem;font-weight:500;line-height:1.45}
.adm-member-notes-v61080{margin-top:18px;padding:16px 18px;border:1px solid var(--line);border-radius:15px;background:#fbf8f7}
.adm-member-notes-v61080>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.adm-member-notes-v61080>div>span{font-size:.73rem;font-weight:800;color:var(--brand);text-transform:uppercase;letter-spacing:.06em}
.adm-member-notes-v61080>div>small{font-size:.66rem;color:var(--muted)}
.adm-member-notes-v61080>p{margin:0;color:var(--ink);font-size:.8rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.adm-member-notes-empty-v61080{color:var(--muted);font-style:italic}
@media(max-width:700px){.adm-member-notes-v61080>div{align-items:flex-start;flex-direction:column;gap:2px}.admin-v6-form .admin-member-notes-field-v61080 textarea{font-size:16px}}

/* V6.10.81 · Migración Dolibarr desde Administración */
/* V6.10.84 · auditoría de documentación y finanzas */

/* V6.10.99 · Administración de IBAN y simplificación del método de cobro */
.adm-payment-inline-value-v61099{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;max-width:100%;flex-wrap:wrap}
.adm-payment-inline-value-v61099>strong{min-width:0}
.adm-inline-eye-v61099{display:inline-grid;place-items:center;width:30px;height:30px;flex:0 0 30px;padding:0;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--brand);cursor:pointer}
.adm-inline-eye-v61099:hover{background:var(--brand-soft);border-color:#d9bfc2}
.adm-inline-eye-v61099 svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.admin-ibans-page-v61099,.admin-iban-detail-page-v61099{display:grid;gap:16px}
.admin-ibans-table-v61099{overflow-x:auto}
.admin-ibans-table-v61099 table{min-width:980px}
.adm-iban-account-cell-v61099{display:flex;align-items:center;gap:11px;min-width:210px}
.adm-iban-account-cell-v61099>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:var(--brand-soft);color:var(--brand)}
.adm-iban-account-cell-v61099>span svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.adm-iban-account-cell-v61099 strong,.adm-iban-account-cell-v61099 small{display:block}
.adm-iban-account-cell-v61099 code{font-size:.82rem;white-space:nowrap}
.adm-iban-account-cell-v61099 small{margin-top:3px;color:var(--muted);font-size:.69rem}
.admin-iban-filters-v61099{grid-template-columns:minmax(280px,1fr) minmax(180px,.45fr) auto}
.admin-iban-pagination-v61099{margin-top:0}
.admin-iban-hero-v61099{display:grid;gap:22px}
.admin-iban-hero-main-v61099{display:flex;align-items:center;gap:16px}
.admin-iban-hero-icon-v61099{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;border-radius:17px;background:var(--brand-soft);color:var(--brand)}
.admin-iban-hero-icon-v61099 svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.admin-iban-hero-main-v61099 h2{margin:5px 0 8px;font-size:1.65rem}
.admin-iban-hero-main-v61099 h2 code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}
.admin-iban-badges-v61099{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-iban-hero-grid-v61099{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.admin-iban-hero-grid-v61099>div{min-width:0;padding:15px 17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.admin-iban-hero-grid-v61099>div:nth-child(3n){border-right:0}
.admin-iban-hero-grid-v61099>div:nth-last-child(-n+3){border-bottom:0}
.admin-iban-hero-grid-v61099 small,.admin-iban-hero-grid-v61099 strong{display:block}
.admin-iban-hero-grid-v61099 small{margin-bottom:5px;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.admin-iban-hero-grid-v61099 strong{font-size:.92rem;overflow-wrap:anywhere}
.admin-iban-hero-grid-v61099 .adm-payment-inline-value-v61099{justify-content:flex-start}
.admin-iban-tech-v61099{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--line)}
.admin-iban-tech-v61099>div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.5fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.admin-iban-tech-v61099>div:nth-child(odd){padding-right:18px}
.admin-iban-tech-v61099>div:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}
.admin-iban-tech-v61099 dt{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.admin-iban-tech-v61099 dd{margin:0;text-align:right;overflow-wrap:anywhere}
.admin-iban-tech-v61099 code{font-size:.74rem}
.admin-iban-section-v61099{display:grid;gap:10px}
.admin-iban-section-v61099>.adm-section-head{margin:0}
.admin-iban-count-v61099{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:.78rem;font-weight:900}
.admin-iban-members-table-v61099,.admin-iban-contributions-table-v61099{overflow-x:auto}
.admin-iban-members-table-v61099 table{min-width:720px}
.admin-iban-contributions-table-v61099 table{min-width:900px}
.admin-iban-limit-note-v61099{margin:0;color:var(--muted);font-size:.75rem;text-align:right}

@media(max-width:900px){
  .admin-iban-hero-grid-v61099{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-iban-hero-grid-v61099>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line)!important}
  .admin-iban-hero-grid-v61099>div:nth-child(2n){border-right:0}
  .admin-iban-hero-grid-v61099>div:nth-last-child(-n+2){border-bottom:0!important}
  .admin-iban-tech-v61099{grid-template-columns:1fr}
  .admin-iban-tech-v61099>div:nth-child(odd),.admin-iban-tech-v61099>div:nth-child(even){padding-left:0;padding-right:0;border-left:0}
}
@media(max-width:760px){
  .admin-iban-filters-v61099{grid-template-columns:1fr}
  .admin-iban-filters-v61099 .adm-fee-filter-actions-v61023{grid-column:1}
  .adm-payment-method-data-v61010 .adm-payment-inline-value-v61099{justify-content:flex-start}
  .admin-iban-hero-main-v61099{align-items:flex-start}
  .admin-iban-hero-grid-v61099{grid-template-columns:1fr}
  .admin-iban-hero-grid-v61099>div{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .admin-iban-hero-grid-v61099>div:last-child{border-bottom:0!important}
  .admin-iban-tech-v61099>div{grid-template-columns:1fr;gap:5px}
  .admin-iban-tech-v61099 dd{text-align:left}
}

/* V6.10.101 · correos emisores unificados */
.admin-email-default-row-v610101 td {
  background:rgba(125,43,48,.035);
}
.admin-email-default-row-v610101 td:first-child strong {
  color:var(--brand);
}
.admin-email-locked-v610101 {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

/* V6.10.102 · pulido de usuarios, modal e IBAN */
.admin-users-head-v610102 .adm-fee-head-actions-v61024 {
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.admin-role-modal-v610 {
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.admin-role-modal-v610::-webkit-scrollbar {
  width:0;
  height:0;
  display:none;
}
.admin-ibans-page-v61099 > .admin-iban-filters-v61099 {
  margin-bottom:0;
}
.admin-ibans-page-v61099 > .adm-fee-results-v61023 {
  min-height:24px;
  margin:-2px 2px -6px;
}
@media(max-width:720px){
  .admin-users-head-v610102 .adm-fee-head-actions-v61024,
  .admin-users-head-v610102 .adm-fee-filter-toggle-v61023 {
    width:100%;
  }
  .admin-users-head-v610102 .adm-fee-filter-toggle-v61023 {
    justify-content:center;
  }
}

/* =========================================================
   V6.10.103 — ratificaciones y ajustes de selección/acciones
   ========================================================= */
.fee-issuance-actions-v610103 {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.adm-application-person-v610103 {
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
}
.adm-application-person-v610103 > input {
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin:0;
  accent-color:var(--brand);
  cursor:pointer;
}
.adm-application-person-v610103 > div {
  min-width:0;
}
.adm-application-person-head-v610103 {
  gap:13px;
}
.admin-ratification-exercise-v610103 {
  display:grid;
  grid-template-columns:minmax(0,1fr) 130px auto;
  align-items:end;
  gap:18px;
  padding:20px 22px;
}
.admin-ratification-exercise-v610103 h2 {
  margin:4px 0 5px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:23px;
  font-weight:500;
}
.admin-ratification-exercise-v610103 p {
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.admin-ratification-exercise-v610103 > label,
.admin-ratification-sender-v610103 {
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.admin-ratification-exercise-v610103 input,
.admin-ratification-sender-v610103 select {
  width:100%;
  height:44px;
  border:1px solid var(--line);
  border-radius:11px;
  padding:0 12px;
  background:#fbf9f8;
  color:var(--ink);
  font:inherit;
  font-size:13px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  outline:none;
}
.admin-ratification-exercise-v610103 input:focus,
.admin-ratification-sender-v610103 select:focus {
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(125,43,48,.1);
}
.admin-ratification-metrics-v610103 {
  margin-top:14px;
}
.admin-ratification-filters-v610103 {
  grid-template-columns:minmax(280px,1.7fr) minmax(190px,.8fr) auto;
}
.admin-ratification-table-v610103 table {
  min-width:1080px;
}
.admin-ratification-table-v610103 tbody tr.is-selected {
  background:rgba(125,43,48,.055);
}
.admin-ratification-person-v610103 {
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.admin-ratification-person-v610103 > input {
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin:0;
  accent-color:var(--brand);
  cursor:pointer;
}
.admin-ratification-person-v610103 .adm-member-cell {
  min-width:250px;
}
.admin-ratification-statute-v610103 {
  margin-top:14px;
}
.admin-ratification-communication-modal-v610103 {
  width:min(720px,calc(100vw - 32px));
}
.admin-ratification-communication-form-v610103 {
  display:grid;
  gap:16px;
  padding:0 28px 24px;
}
.admin-ratification-communication-form-v610103 .notice {
  margin:0;
}
.admin-ratification-channel-grid-v610103 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.admin-ratification-channel-grid-v610103 > label {
  display:flex;
  align-items:flex-start;
  gap:11px;
  min-height:86px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fbf9f8;
  cursor:pointer;
}
.admin-ratification-channel-grid-v610103 input {
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin:2px 0 0;
  accent-color:var(--brand);
}
.admin-ratification-channel-grid-v610103 span,
.admin-ratification-channel-grid-v610103 strong,
.admin-ratification-channel-grid-v610103 small {
  display:block;
}
.admin-ratification-channel-grid-v610103 strong {
  color:var(--ink);
  font-size:13px;
}
.admin-ratification-channel-grid-v610103 small {
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.admin-ratification-sender-v610103 {
  margin:0;
}

@media(max-width:840px){
  .admin-ratification-exercise-v610103 {
    grid-template-columns:minmax(0,1fr) 120px;
  }
  .admin-ratification-exercise-v610103 > button {
    grid-column:1 / -1;
    width:100%;
  }
  .admin-ratification-filters-v610103 {
    grid-template-columns:1fr 1fr;
  }
  .admin-ratification-filters-v610103 .is-search {
    grid-column:1 / -1;
  }
}
@media(max-width:720px){
  .fee-issuance-actions-v610103 {
    width:100%;
    display:grid;
    grid-template-columns:1fr;
  }
  .fee-issuance-actions-v610103 button {
    width:100%;
  }
  .admin-ratification-exercise-v610103,
  .admin-ratification-filters-v610103,
  .admin-ratification-channel-grid-v610103 {
    grid-template-columns:1fr;
  }
  .admin-ratification-exercise-v610103 > button,
  .admin-ratification-filters-v610103 .is-search {
    grid-column:auto;
  }
  .admin-ratification-communication-form-v610103 {
    padding:0 18px 20px;
  }
}


/* V6.10.104 — indicador de entorno PRE */
.mh-environment-badge{position:fixed;right:18px;bottom:18px;z-index:2147482500;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(125,43,48,.22);border-radius:999px;background:rgba(255,248,231,.97);box-shadow:0 8px 24px rgba(42,25,25,.16);color:#7d2b30;font:700 12px/1.1 Inter,system-ui,sans-serif;pointer-events:none}.mh-environment-badge strong{display:grid;place-items:center;min-width:34px;height:24px;padding:0 7px;border-radius:999px;background:#7d2b30;color:#fff;font-size:11px;letter-spacing:.08em}.mh-environment-badge span{white-space:nowrap}@media(max-width:700px){.mh-environment-badge{right:10px;bottom:76px;padding:7px 9px}.mh-environment-badge span{display:none}}
