html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

a, .btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

body{background:#f7f9fc;color:#17263c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.hero-card{margin:2rem auto;max-width:1100px;padding:3rem;border-radius:28px;background:linear-gradient(135deg,#172c4a,#315b83);color:white;display:flex;justify-content:space-between;align-items:center;box-shadow:0 18px 40px #172c4a20}.hero-card h1{font-size:clamp(2.3rem,5vw,4.4rem);max-width:650px;line-height:1.03;margin:.5rem 0 1rem}.hero-card .lead{max-width:600px;color:#dce8f4}.hero-mark{font-size:9rem;color:#d1ad63;opacity:.9}.eyebrow{font-size:.74rem;letter-spacing:.18em;font-weight:800;color:#c49b4c;margin:0}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.stat-grid,.info-grid,.content-grid,.admin-grid{max-width:1100px;margin:1.25rem auto;display:grid;gap:1rem}.stat-grid{grid-template-columns:repeat(3,1fr)}.info-grid,.admin-grid{grid-template-columns:repeat(3,1fr)}.content-grid{grid-template-columns:1.2fr .8fr}.stat-card,.info-card,.form-card,.side-note,.table-card,.detail-card,.checkout-card{background:white;border:1px solid #e5ebf2;border-radius:18px;padding:1.35rem;box-shadow:0 8px 24px #172c4a09}.stat-card span,.stat-card small,.muted{display:block;color:#77869a}.stat-card strong{font-size:2rem;display:block;color:#173554}.info-card h3{margin-top:1rem}.info-card a{color:#b3822e;font-weight:700;text-decoration:none}.icon-circle{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#f5ead0;color:#a47724}.page-heading{max-width:1100px;margin:2.5rem auto 1.25rem}.page-heading h1{margin:.35rem 0}.page-heading p:not(.eyebrow){color:#718096}.form-card{display:flex;flex-direction:column;gap:.5rem}.form-card label{font-size:.84rem;font-weight:700;margin-top:.5rem}.side-note{align-self:start;background:#fffaf0;border-color:#f2e2bd}.activity-list{max-width:1100px;margin:auto;display:grid;gap:1rem}.activity-card{background:white;border:1px solid #e5ebf2;border-radius:18px;padding:1.15rem;display:flex;gap:1rem;align-items:center}.activity-date{width:64px;height:64px;border-radius:16px;background:#edf4f9;color:#1d547d;display:grid;place-items:center;font-size:1.45rem;font-weight:800;line-height:1}.activity-date small{font-size:.65rem}.activity-main{flex:1}.activity-main h2{font-size:1.25rem;margin:.3rem 0}.activity-main p{margin:.2rem 0;color:#718096}.tag,.demo-badge{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#25714c;background:#e6f4ec;padding:.25rem .5rem;border-radius:99px}.activity-meta{display:flex;gap:1rem;align-items:center;margin-top:.5rem}.activity-meta strong{font-size:1.2rem}.activity-meta span{color:#718096;font-size:.85rem}.detail-card,.checkout-card{max-width:800px;margin:2rem auto}.detail-card h1{font-size:3rem;margin:.4rem 0}.price-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0;padding:1rem 0;border-block:1px solid #e5ebf2}.price-row small,.price-row strong{display:block}.price-row small{color:#77869a}.price-row strong{font-size:1.5rem}.compact{max-width:420px}.checkout-card{max-width:480px;text-align:center;padding:2.5rem}.checkout-amount{font-size:3rem;font-weight:800;color:#1d547d;margin:1.2rem}.table-card{max-width:1100px;margin:1rem auto;overflow:auto}.card-title{display:flex;justify-content:space-between;align-items:center}.card-title h3{margin:0}.inline-form{display:flex;gap:.5rem}.table{margin-bottom:0}.table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#77869a}.btn-primary{background:#b28232;border-color:#b28232}.btn-primary:hover{background:#926c28;border-color:#926c28}.btn-outline-primary{color:#926c28;border-color:#c39b51}.btn-outline-primary:hover{background:#f5ead0;color:#6b4d17;border-color:#c39b51}@media(max-width:700px){.hero-card{margin:1rem;padding:2rem;display:block}.hero-mark{display:none}.stat-grid,.info-grid,.content-grid,.admin-grid{grid-template-columns:1fr;margin:1rem}.activity-card{align-items:flex-start;flex-wrap:wrap}.activity-card .btn{width:100%}.page-heading{margin:1.5rem 1rem}.detail-card{margin:1rem}.detail-card h1{font-size:2.2rem}.price-row{grid-template-columns:1fr 1fr}.table-card{margin:1rem}.inline-form{display:grid}}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: transparent;
    opacity: 0;
    text-align: start;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    color: var(--bs-secondary-color);
    opacity: 1;
    text-align: start;
}

/* Portal CC Betania: estética inspirada en dashboards administrativos */
html, body { font-family: 'Inter', 'Segoe UI', sans-serif; background: #f4f6f9; color: #243b53; }
.portal-shell { min-height: 100vh; background: #f4f6f9; }
.portal-appbar {
    background: #ffffff !important;
    border-bottom: 1px solid #dce5ee;
    box-shadow: 0 2px 10px rgba(25, 54, 84, .08) !important;
    color: #243b53 !important;
}

.portal-appbar .mud-toolbar {
    background: #ffffff !important;
}
.appbar-title { font-weight: 700; letter-spacing: .01em; }
.portal-drawer { background: #172b4d !important; color: #e7eef7; }
@media (max-width: 959.98px) {
    /* Keep the menu toggle above the responsive drawer so it can close it again. */
    .portal-appbar { z-index: 1303 !important; }
    .portal-drawer .brand-block { padding-top: 4.8rem; }
}
.brand-block { display: flex; align-items: center; gap: .75rem; padding: 1.2rem 1.15rem 1.35rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.brand-block img { width: 44px; height: 44px; object-fit: contain; background: white; border-radius: 10px; padding: 4px; }
.brand-block strong, .brand-block span { display: block; color: white; }
.brand-block span { font-size: .72rem; opacity: .7; margin-top: .15rem; }
.portal-nav { padding: 1rem .7rem; }
.portal-nav .mud-nav-link { color: #d7e2ef; border-radius: 8px; margin: .2rem 0; }
.portal-nav .mud-nav-link:hover, .portal-nav .mud-nav-link.active { background: rgba(255,255,255,.12); color: white; }
.portal-nav .mud-nav-link .mud-nav-link-icon { color: #c69a45; }
.nav-section { color: #91a8c2 !important; padding: 1rem .75rem .35rem; }
.nav-note { color: #aebfd1; font-size: .8rem; line-height: 1.45; padding: 0 .75rem .65rem; }
.logout-form { margin-top: 1rem; }
.logout-button { color: #d7e2ef !important; justify-content: flex-start !important; text-transform: none !important; }
.portal-content { min-height: calc(100vh - 64px); }
.content-wrap { max-width: 1440px; margin: 0 auto; padding: 2rem clamp(1rem, 3vw, 3rem); }
.welcome-card { display: flex; align-items: center; justify-content: space-between; min-height: 285px; border: 1px solid #e5eaf0; background: linear-gradient(135deg,#fff 0%,#f7f9fb 100%); overflow: hidden; }
.welcome-copy { max-width: 680px; }
.welcome-title { color: #1d3857; font-weight: 750 !important; margin: .3rem 0 1rem; }
.welcome-description { color: #5c7188; max-width: 590px; margin-bottom: 1.4rem; }
.welcome-mark img { width: min(210px, 24vw); height: auto; opacity: .92; }
.eyebrow { letter-spacing: .14em; color: #b1812e !important; font-weight: 700 !important; }
.quick-card, .metric-card { height: 100%; border: 1px solid #e5eaf0; }
.section-title { font-weight: 700 !important; color: #1d3857; }
.quick-card .mud-list-item { padding-left: 0; font-size: .88rem; color: #5c7188; }
.quick-card .mud-list-item-icon { color: #c69a45; }
.metric-card .mud-typography-h4 { color: #244466; font-weight: 750; margin: .4rem 0; }
.accent-metric { background: #244466; color: white; border-color: #244466; }
.accent-metric .mud-typography-h4, .accent-metric .mud-typography-caption { color: white; }
@media (max-width: 700px) { .content-wrap { padding: 1rem; } .welcome-card { padding: 1.5rem !important; } .welcome-mark { display: none; } .welcome-title { font-size: 2rem !important; } }

/* Acceso institucional sobrio, sin navegación pública. */
.auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 1.25rem; background: #f4f6f9; }
.auth-card { width: min(100%, 460px); background: #fff; border: 1px solid #e3e8ee; border-radius: 12px; padding: 2.5rem; box-shadow: 0 12px 40px rgba(36,68,102,.08); }
.auth-logo { display: block; width: 86px; height: 86px; object-fit: contain; margin: 0 auto 1rem; }
.auth-heading { text-align: center; border-bottom: 1px solid #edf0f3; padding-bottom: 1.25rem; margin-bottom: 1.5rem; }
.auth-heading h1 { font-size: 1.25rem; color: #244466; font-weight: 700; margin: 0; }
.auth-heading p { color: #718096; margin: .25rem 0 0; font-size: .9rem; }
.auth-form h2 { color: #243b53; font-size: 1.15rem; font-weight: 700; margin: 0 0 1.25rem; }
.paguelofacil-sdk-container { min-height: 360px; margin: 1.25rem 0 .5rem; }
.sdk-status { min-height: 1.5rem; overflow-wrap: anywhere; }
.sdk-status-error { color: #b42318; }
.sdk-test-help { display:grid; gap:.2rem; margin-top:1rem; padding:.8rem 1rem; border-radius:10px; background:#f5f8fb; color:#29435f; font-size:.86rem; }
.sdk-test-help small { color:#5d7188; }
.auth-form .form-control { min-height: 50px; border-color: #dce3ea; }
.auth-form .btn-primary { background: #244466; border-color: #244466; min-height: 48px; }
.paguelo-pay-button { min-height: 58px; display: flex; align-items: center; justify-content: center; border: 0; background: transparent; padding: .25rem; }
.paguelo-pay-button img { display: block; max-width: 260px; width: 100%; height: auto; margin: 0 auto; }
.paguelo-pay-button:disabled { opacity: .65; cursor: wait; }
.auth-links { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.25rem; font-size: .9rem; }.auth-links a { color: #244466; text-decoration: none; }.auth-links a:hover { text-decoration: underline; }
.registration-preview { position:fixed; inset:0; width:min(92vw,560px); max-height:90vh; margin:auto; padding:0; overflow:auto; border:0; border-radius:14px; box-shadow:0 24px 70px rgba(18,38,59,.28); color:#243b53; }
.registration-preview::backdrop { background:rgba(18,38,59,.62); backdrop-filter:blur(2px); }
.registration-preview-heading { padding:1.5rem 1.5rem 1rem; border-bottom:1px solid #e7edf2; }.registration-preview-heading h3 { margin:.3rem 0 .45rem; color:#1d3857; font-size:1.35rem; font-weight:780; }.registration-preview-heading p { margin:0; color:#63778d; font-size:.9rem; }.registration-preview-step { color:#8b6422; font-size:.7rem; font-weight:800; letter-spacing:.11em; }
.registration-preview-list { margin:0; padding:.65rem 1.5rem; }.registration-preview-list > div { display:grid; grid-template-columns:minmax(125px,.7fr) minmax(0,1.3fr); gap:.75rem; padding:.75rem 0; border-bottom:1px solid #edf1f4; }.registration-preview-list dt { color:#718096; font-size:.78rem; font-weight:650; }.registration-preview-list dd { margin:0; color:#29435f; font-weight:720; overflow-wrap:anywhere; }.registration-preview-list .registration-preview-email { margin:.35rem -.75rem; padding:.8rem .75rem; border:1px solid #ead7a7; border-radius:8px; background:#fff9e9; }.registration-preview-email dd { color:#725219; }
.registration-preview-notice { margin:0 1.5rem; padding:.75rem .85rem; border-radius:8px; background:#f2f6fa; color:#526a81; font-size:.82rem; }.registration-preview-actions { display:grid; grid-template-columns:1fr 1.35fr; gap:.75rem; padding:1.25rem 1.5rem 1.5rem; }.registration-preview-actions .btn { min-height:46px; }
.registration-sent { text-align:center; }.registration-sent-icon { width:64px; height:64px; display:grid; place-items:center; margin:0 auto 1rem; border-radius:50%; color:#277044; background:#e7f5ec; font-size:2rem; font-weight:800; }.registration-sent .eyebrow { color:#8b6422; font-size:.7rem; font-weight:800; letter-spacing:.11em; margin-bottom:.35rem; }.registration-sent h2 { margin-bottom:.65rem; }.registration-sent-email { padding:.7rem; border-radius:8px; background:#f2f6fa; color:#244466; font-weight:750; overflow-wrap:anywhere; }.registration-sent-help { display:grid; gap:.35rem; margin:1rem 0; padding:1rem; border:1px solid #ead7a7; border-radius:9px; background:#fff9e9; color:#5f4a1d; text-align:left; font-size:.86rem; }.registration-sent-help span { color:#6d5a32; font-weight:400; }
@media (max-width: 480px) { .auth-card { padding: 1.75rem 1.25rem; } .auth-links { flex-direction: column; text-align: center; gap: .6rem; } .registration-preview-list > div { grid-template-columns:1fr; gap:.2rem; } .registration-preview-actions { grid-template-columns:1fr; } }

/* Actividades tipo boletos y contraste del portal. */
.portal-nav .mud-nav-link, .portal-nav .mud-nav-link.active, .portal-nav .mud-nav-link:hover { color: #f2f6fb !important; }
.portal-nav .mud-nav-link.active { background: #244466 !important; box-shadow: inset 3px 0 0 #d7ae59; }
.portal-nav .mud-nav-link .mud-nav-link-icon { color: #d7ae59 !important; }
.nav-section { color: #b7c8da !important; }
.member-heading { margin-bottom: 1.25rem; }.member-heading h1 { color: #1d3857; font-weight: 750; }
.upcoming-banner { min-height: 250px; border-radius: 14px; overflow: hidden; position: relative; display: flex; align-items: center; background: linear-gradient(100deg,#172b4d 0%,#244466 68%,#396084 100%); color: #fff; padding: 2rem 2.25rem; isolation: isolate; }
.upcoming-banner > div { max-width: 58%; z-index: 1; }.upcoming-banner p { color: #e1b85e; font-size: .75rem; font-weight: 800; letter-spacing: .13em; margin: 0 0 .5rem; }.upcoming-banner h2 { font-size: clamp(1.6rem,3vw,2.5rem); margin: 0 0 .35rem; font-weight: 750; }.upcoming-banner span { color: #e5edf6; }.upcoming-banner img { position: absolute; inset: 0 0 0 auto; width: 46%; height: 100%; object-fit: cover; opacity: .78; }.upcoming-banner::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#172b4d 15%,rgba(23,43,77,.9) 47%,rgba(23,43,77,.05) 75%); z-index:0; }
.home-section-title { display:flex; align-items:center; justify-content:space-between; margin:2rem 0 1rem; }.home-section-title h2 { font-size:1.25rem; font-weight:750; color:#1d3857; margin:0; }.home-section-title a { color:#244466; font-weight:650; }
.dashboard-payments .home-section-title { margin-top:0; }.payment-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.9rem; }.payment-summary-card { background:#fff; border:1px solid #dfe7ee; border-radius:11px; padding:1rem 1.1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; box-shadow:0 4px 14px rgba(36,68,102,.05); }.payment-summary-kind { color:#8b6422; background:#fff6df; border-radius:999px; padding:.18rem .5rem; font-size:.7rem; font-weight:750; text-transform:uppercase; }.payment-summary-card h3 { color:#29435f; font-size:.98rem; margin:.45rem 0 .12rem; font-weight:720; }.payment-summary-card p { color:#708196; font-size:.78rem; margin:0; }.payment-summary-card > strong { color:#277044; font-size:1.05rem; white-space:nowrap; }.balance-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:.9rem; }.balance-summary-card { background:#fff; border:1px solid #dfe7ee; border-radius:11px; padding:1rem 1.1rem; display:grid; grid-template-columns:1fr auto; gap:.55rem 1rem; align-items:center; }.balance-summary-card h3 { color:#29435f; font-size:.98rem; margin:0; font-weight:720; }.balance-summary-card p { color:#708196; font-size:.8rem; margin:.2rem 0 0; }.balance-summary-amounts { display:flex; flex-direction:column; gap:.22rem; text-align:right; color:#718096; font-size:.76rem; }.balance-summary-amounts strong { color:#29435f; margin-left:.3rem; }.balance-summary-amounts .pending { color:#a65342; }.balance-summary-amounts .settled { color:#277044; }.balance-summary-card .btn { grid-column:1/-1; justify-self:start; }
.ticket-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:1.25rem; }.ticket-card { background:#fff; border:1px solid #e3e9ef; border-radius:12px; overflow:hidden; box-shadow:0 4px 18px rgba(36,68,102,.06); display:flex; flex-direction:column; }.ticket-banner { height:175px; background:#e8edf2; position:relative; overflow:hidden; }.ticket-banner img,.detail-banner img { width:100%; height:100%; object-fit:cover; }.ticket-banner-placeholder { height:100%; display:grid; place-items:center; background:linear-gradient(135deg,#244466,#496f91); color:#fff; font-weight:750; letter-spacing:.08em; }.ticket-date { position:absolute; right:.8rem; top:.8rem; padding:.35rem .55rem; border-radius:6px; background:#fff; color:#244466; font-weight:750; text-transform:uppercase; font-size:.75rem; }.ticket-content { padding:1.15rem; flex:1; display:flex; flex-direction:column; }.ticket-content h2 { color:#1d3857; font-size:1.2rem; margin:.15rem 0 .55rem; font-weight:750; }.ticket-content p { color:#61758a; font-size:.9rem; }.ticket-meta { font-size:.76rem !important; text-transform:capitalize; color:#b1812e !important; margin:0; }.ticket-place { color:#40576f !important; }.ticket-footer { display:flex; gap:.75rem; align-items:center; justify-content:space-between; margin-top:auto; padding-top:.8rem; border-top:1px solid #edf0f3; }.ticket-footer strong { display:block; color:#244466; font-size:1.15rem; }.ticket-footer small { color:#74869a; display:block; }.empty-state { padding:2rem; color:#61758a; background:#fff; border:1px dashed #ccd6e0; border-radius:10px; }
.activity-detail { max-width:1050px; margin:0 auto; }.back-link { color:#244466; text-decoration:none; display:inline-block; margin-bottom:1rem; }.detail-banner { height:330px; border-radius:14px; overflow:hidden; background:#e8edf2; }.detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:2rem; padding-top:1.8rem; }.detail-copy h1 { color:#1d3857; font-weight:800; }.detail-copy h2 { font-size:1.15rem; color:#1d3857; margin-top:2rem; font-weight:750; }.detail-text { white-space:pre-line; color:#526a81; }.detail-location { color:#40576f; font-weight:600; }.payment-box { align-self:start; border:1px solid #dfe6ec; background:#fff; padding:1.35rem; border-radius:12px; box-shadow:0 6px 22px rgba(36,68,102,.08); }.ticket-status { color:#52754a; font-weight:750; font-size:.8rem; }.payment-price { color:#244466; font-weight:800; font-size:2rem; margin:1rem 0 .5rem; }.payment-price small { display:block; color:#718096; font-size:.8rem; font-weight:500; }.activity-editor label { display:block; font-size:.82rem; font-weight:650; margin:.6rem 0 .25rem; color:#40576f; }.admin-activity-list article { display:flex; gap:1rem; align-items:center; padding:.75rem 0; border-bottom:1px solid #edf0f3; }.admin-activity-list img { width:84px; height:56px; border-radius:7px; object-fit:cover; background:#e8edf2; }.admin-activity-list div { flex:1; }.admin-activity-list strong,.admin-activity-list small,.admin-activity-list span { display:block; }.admin-activity-list small,.admin-activity-list span { color:#718096; font-size:.8rem; }
@media(max-width:760px){ .upcoming-banner { padding:1.5rem; }.upcoming-banner > div { max-width:100%; }.upcoming-banner img { opacity:.25; width:100%; }.detail-banner { height:210px; }.detail-layout { grid-template-columns:1fr; gap:1rem; }.payment-box { order:-1; } }
.admin-banner-fallback { width:84px; height:56px; display:grid; place-items:center; border-radius:7px; background:#244466; color:#fff; font-weight:750; flex:0 0 auto; }
.participant-card { margin-top:1rem; padding:1rem; background:#f7f9fb; border:1px solid #e2e8ef; border-radius:9px; }.participant-card strong { display:block; color:#244466; margin-bottom:.45rem; }.participant-card label { display:block; font-size:.82rem; font-weight:650; color:#40576f; margin:.65rem 0 .2rem; }.payment-total { font-weight:750; color:#244466; margin:1rem 0 .3rem; }
.family-layout { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(300px,1.2fr); gap:1.25rem; }.family-layout label { display:block; margin-top:.8rem; font-weight:650; font-size:.84rem; color:#40576f; }.family-list > div { padding:.85rem 0; border-bottom:1px solid #edf0f3; }.family-list strong,.family-list span,.family-list small { display:block; }.family-list span,.family-list small { color:#718096; font-size:.84rem; }@media(max-width:760px){.family-layout{grid-template-columns:1fr;}}

/* Módulo administrativo: aprovecha el ancho disponible y separa las acciones del contenido. */
.admin-heading { max-width:none; margin:0 0 1.5rem; display:flex; align-items:end; justify-content:space-between; gap:1.25rem; }.admin-heading h1 { color:#1d3857; font-weight:780; }.admin-heading-actions { display:flex; gap:.65rem; flex-wrap:wrap; }.admin-section { margin-top:2rem; }.admin-metric-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; }.admin-metric-card { background:#fff; border:1px solid #dfe7ee; border-radius:12px; padding:1.1rem; box-shadow:0 4px 16px rgba(36,68,102,.05); }.admin-metric-card span,.admin-metric-card small { display:block; color:#718096; font-size:.78rem; }.admin-metric-card strong { display:block; color:#244466; font-size:1.55rem; font-weight:780; margin:.45rem 0; }.admin-metric-card.attention strong { color:#a65342; }.admin-event-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1rem; }.admin-event-card { background:#fff; border:1px solid #dfe7ee; border-radius:12px; overflow:hidden; box-shadow:0 4px 16px rgba(36,68,102,.05); display:flex; flex-direction:column; }.admin-event-image { height:145px; background:linear-gradient(135deg,#244466,#52789a); display:grid; place-items:center; color:#fff; font-weight:800; letter-spacing:.08em; }.admin-event-image img { width:100%; height:100%; object-fit:cover; }.admin-event-content { padding:1.05rem 1.05rem .85rem; flex:1; }.admin-event-status { display:inline-block; padding:.18rem .5rem; border-radius:99px; font-size:.69rem; font-weight:750; text-transform:uppercase; }.admin-event-status.open { color:#277044; background:#e7f5ec; }.admin-event-status.closed { color:#8c4438; background:#fcedea; }.admin-event-content h3 { margin:.65rem 0 .18rem; color:#29435f; font-size:1.1rem; font-weight:750; }.admin-event-content > p { color:#6e8295; font-size:.82rem; margin:0; }.admin-event-data { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; border-top:1px solid #edf1f4; margin-top:.85rem; padding-top:.75rem; }.admin-event-data span { color:#718096; font-size:.73rem; }.admin-event-data strong { display:block; color:#29435f; font-size:.9rem; }.admin-event-data .pending strong { color:#a65342; }.admin-event-data .settled strong { color:#277044; }.admin-event-actions { display:flex; flex-wrap:wrap; gap:.55rem; border-top:1px solid #edf1f4; padding:.8rem 1.05rem 1rem; }.admin-event-actions .btn { flex:1 1 130px; }.admin-bottom-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:1rem; }.admin-compact-card { margin:0; max-width:none; }.admin-recent-list > div { display:grid; grid-template-columns:1fr auto; gap:.15rem .75rem; padding:.7rem 0; border-bottom:1px solid #edf1f4; }.admin-recent-list span { color:#29435f; font-weight:700; }.admin-recent-list small { color:#718096; font-size:.78rem; grid-column:1; }.admin-recent-list strong { font-size:.8rem; align-self:center; grid-row:1/3; }.pending { color:#a65342 !important; }.settled { color:#277044 !important; }.admin-shortcuts { display:grid; gap:.5rem; }.admin-shortcuts a { display:block; color:#29435f; border:1px solid #e2e9ef; border-radius:8px; padding:.7rem .8rem; text-decoration:none; }.admin-shortcuts a:hover { border-color:#b6c9d9; background:#f8fafc; }.admin-shortcuts span,.admin-shortcuts small { display:block; }.admin-shortcuts span { font-weight:700; }.admin-shortcuts small { color:#718096; font-size:.77rem; margin-top:.12rem; }
.admin-event-toggle-form { display:flex; flex:1 1 130px; }.admin-event-toggle-form .btn { width:100%; }
.admin-stack { display:flex; flex-direction:column; gap:1.5rem; }.admin-stack .table-card { max-width:none; margin:0; }.admin-section-in-stack { margin-top:0; }.admin-workspace { display:grid; grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr); gap:1.25rem; align-items:start; }.admin-workspace .table-card { max-width:none; margin:0; }.admin-funds-card { position:static; }.fund-edit-form { margin-top:1rem; padding:1rem; background:#f7f9fb; border:1px solid #e2e8f0; border-radius:.65rem; }.fund-edit-form label { display:block; font-size:.8rem; color:#40576f; font-weight:700; margin-bottom:.28rem; }.fund-edit-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:.75rem; color:#29435f; }.fund-list { margin-top:1rem; display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:.85rem; }.fund-row { padding:1rem; border:1px solid #e2e9ef; border-radius:10px; background:#fafbfc; display:flex; flex-direction:column; gap:.75rem; }.fund-row-info { display:flex; flex-direction:column; gap:.25rem; }.fund-list strong,.fund-list small { display:block; }.fund-list strong { color:#29435f; }.fund-list small { color:#718096; font-size:.75rem; text-transform:uppercase; }.fund-status { display:inline-block; width:fit-content; font-size:.72rem; font-weight:700; padding:.18rem .5rem; border-radius:99px; }.fund-status.settled { color:#277044; background:#e7f5ec; }.fund-status.pending { color:#8c4438; background:#fcedea; }.fund-actions { display:flex; gap:.4rem; flex-wrap:wrap; }.admin-activity-editor { padding:1.5rem; }.admin-form-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem 1rem; margin-top:1rem; }.admin-form-grid .field-wide { grid-column:1/-1; }.admin-form-grid label,.report-filters label { display:block; font-size:.8rem; color:#40576f; font-weight:700; margin-bottom:.28rem; }.admin-form-grid .form-control { min-height:42px; }.admin-form-grid textarea.form-control { min-height:125px; }.admin-form-grid small { font-size:.72rem; margin-top:.2rem; }
.report-filter-card { max-width:none; margin:0; }.report-filters { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.85rem; margin-top:1rem; }.report-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:1rem; }.report-table-card { max-width:none; }.report-table-card .table { min-width:780px; }
.user-filter-card,.user-table-card,.reset-password-card,.create-user-card { max-width:none; }.user-filter-card { margin:0; }.user-filter-row { display:grid; grid-template-columns:minmax(240px,1fr) minmax(180px,.38fr) auto; gap:.75rem; align-items:center; }.reset-password-card,.create-user-card { margin-top:1rem; display:grid; gap:1rem; }.reset-password-card .user-filter-row { grid-template-columns:minmax(240px,1fr) auto auto; }.create-user-grid { margin-top:.75rem; }.create-user-actions { display:flex; gap:.65rem; flex-wrap:wrap; margin-top:.25rem; }.user-table-card .table { min-width:1080px; }.user-actions { display:flex; gap:.4rem; white-space:nowrap; }.role-select { min-width:170px; max-width:220px; }.user-status { display:inline-block; border-radius:99px; padding:.22rem .5rem; font-size:.72rem; font-weight:750; }.user-status.active { color:#277044; background:#e7f5ec; }.user-status.pending { color:#8a6218; background:#fff5d8; }.user-status.blocked { color:#8c4438; background:#fcedea; }
@media(max-width:1180px){.admin-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.report-filters{grid-template-columns:repeat(3,minmax(0,1fr));}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.fund-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}}@media(max-width:760px){.admin-heading{align-items:flex-start;flex-direction:column;}.admin-heading-actions{width:100%;}.admin-heading-actions .btn{flex:1;}.admin-metric-grid,.report-metrics,.admin-bottom-grid,.admin-workspace,.report-filters{grid-template-columns:1fr;}.fund-list{grid-template-columns:1fr;}.admin-form-grid{grid-template-columns:1fr;}.admin-form-grid .field-wide{grid-column:auto;}.user-filter-row,.reset-password-card .user-filter-row{grid-template-columns:1fr;}.user-filter-row .btn{width:100%;}.admin-event-actions .btn{flex-basis:100%;}}
.access-denied-card { max-width:560px; margin:3rem auto; padding:2rem; background:#fff; border:1px solid #e1e8ef; border-radius:12px; box-shadow:0 6px 22px rgba(36,68,102,.06); }.access-denied-card h1 { color:#29435f; font-weight:780; margin:.4rem 0 .6rem; }.access-denied-card p:not(.eyebrow) { color:#63778d; margin-bottom:1.4rem; }
.payment-result-card { text-align:center; }.payment-result-icon { width:64px; height:64px; border-radius:50%; display:grid; place-items:center; margin:1rem auto; font-size:2rem; font-weight:800; }.payment-result-icon.approved { color:#277044; background:#e7f5ec; }.payment-result-icon.rejected { color:#9f4236; background:#fcedea; }.payment-result-icon.pending { color:#8a641f; background:#fff5da; }.payment-result-card h1 { color:#29435f; font-size:1.65rem; font-weight:780; }.payment-result-reason { color:#9f4236; background:#fcedea; border-radius:8px; padding:.7rem; }
.history-heading { max-width:none; margin-top:0; }.history-card { max-width:none; }.history-card .card-title { margin-bottom:1rem; }.history-card .card-title h3 { color:#244466; }.history-table { min-width:850px; }.history-date strong,.history-date small,.history-reference strong,.history-reference small { display:block; }.history-date { white-space:nowrap; }.history-date small,.history-reference small { color:#718096; font-size:.72rem; margin-top:.12rem; }.history-reference { max-width:210px; overflow-wrap:anywhere; }.history-reference strong { color:#40576f; font-size:.76rem; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }.movement-badge,.balance-status { display:inline-block; border-radius:99px; padding:.22rem .5rem; font-size:.7rem; font-weight:750; }.movement-badge { color:#725219; background:#fff4d8; }.balance-status.pending { color:#9f4236 !important; background:#fcedea; }.balance-status.paid { color:#277044; background:#e7f5ec; }
