/* Identidad C.I.F.A.R. · portal privado y documentos del club. */
:root { color: #17202a; background: #f8f6f1; font-family: Arial, Helvetica, sans-serif; }
body { background: #f8f6f1; color: #17202a; }
:is(h1, h2, h3) { font-family: Georgia, 'Times New Roman', serif; letter-spacing: -.035em; }
:is(a, button, input, select, textarea):focus-visible { outline: 3px solid #af503a; outline-offset: 3px; }
.club-header { background: #20252a; border-bottom: 4px solid #af503a; }
.club-mark { border-radius: 3px; background: #af503a; color: #fff; box-shadow: none; }
.club-brand strong { font-family: Georgia, 'Times New Roman', serif; font-size: 21px; letter-spacing: -.035em; }
.club-brand small,
.club-context span { color: #e6b8a9; }
.club-nav { background: #292f33; color: #f6f0ea; border-color: #484341; }
.club-nav a:hover,
.club-nav a.active { border-color: #d2775c; color: #fff; }
.club-main { color: #17202a; }
.club-footer { border-color: #ded6ca; color: #655f5a; }
.kicker { color: #9a402d; letter-spacing: .17em; }
.hero {
    min-height: 280px;
    border: 1px solid #d9d0c5;
    border-radius: 3px;
    padding: 48px 52px;
    background: #f0ede7 url('../images/cifar-pitch.png') right center / 52% auto no-repeat;
    color: #17202a;
    box-shadow: none;
}
.hero::after { display: none; }
.hero > * { position: relative; z-index: 1; max-width: 43%; }
.hero h1,
.hero h1:focus { width: 43%; max-width: 43%; overflow-wrap: break-word; font-size: clamp(35px, 3.8vw, 49px); }
.hero .kicker { color: #93412e; }
.hero p { width: 43%; max-width: 43%; color: #26313b; }
.stat-card,
.action-card,
.panel,
.list-item,
.dues-detail,
.credential-sheet,
.receipt-sheet {
    border-color: #ded6ca;
    border-radius: 4px;
    background: #fffdfa;
    box-shadow: none;
}
.stat-card { border-top: 4px solid #af503a; }
.stat-card:hover,
.action-card:hover { box-shadow: 0 10px 25px rgba(40, 32, 26, .1); }
.action-card::after { color: #9a402d; }
.stat-card small,
.action-card span,
.section-heading p,
.list-item span,
.list-item small,
.credential-heading p,
.receipt-header p { color: #655f5a; }
.step-pill,
.badge,
.notice { background: #f2e4dc; color: #634030; }
.button { border-radius: 4px; background: #af503a; color: #fff; }
.button:hover { background: #873c2b; }
.button.secondary { background: #eee8df; color: #17202a; }
.button.secondary:hover { background: #dfd4c7; }
.text-button,
.dues-detail a,
.receipt-toolbar a,
.credential-link { color: #873c2b; }
.fields :is(input, select, textarea),
.auth-card input,
.formation-entry :is(input, select) { border-color: #bcb1a4; border-radius: 4px; background: #fffdfa; color: #17202a; }
.fields input:focus { border-color: #af503a; box-shadow: 0 0 0 3px #e7c2b4; }
.check input,
.checkbox-label input,
.formation-entry input[type=checkbox] { accent-color: #af503a; }
.empty,
.list-item p { background: #f5f0e9; border-color: #ded6ca; color: #655f5a; }
.dues-metrics > div,
.receipt-total { background: #20252a; border-color: #af503a; }
.dues-metrics span { color: #eee8df; }
.credential-sheet { border-top-color: #af503a; }
.receipt-header { border-bottom-color: #af503a; }
.receipt-number { color: #93412e; }
.formation-marker b { background: #af503a; color: #fff; }
.score { color: #17202a !important; }
.auth-body { background: #20252a url('../images/cifar-pitch.png') center / cover no-repeat; }
.auth-card { border: 1px solid #ded6ca; border-radius: 5px; background: #fffdfa; box-shadow: 0 18px 42px rgba(0, 0, 0, .22); }
.auth-card p { color: #655f5a; }
.hero h1:focus { outline-color: #af503a; }
@media (max-width: 760px) {
    .club-nav { background: #20252a; }
    .club-nav a.active { border-color: #d2775c; }
    .hero { min-height: 365px; padding: 30px 24px 175px; background-position: center bottom; background-size: auto 45%; }
    .hero > * { max-width: 100%; }
    .hero h1,
    .hero h1:focus { width: 100%; max-width: 100%; }
    .hero p { width: 100%; max-width: 100%; }
    .auth-body { background: #f8f6f1; }
}
@media print {
    .credential-sheet { border-top-color: #af503a; }
    .receipt-total { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
