/*
 * UFSC club portal canonical system (dashboard + account).
 * Audit summary: only ufsc-front.css is enqueued by ufsc_club_dashboard and
 * ufsc_club_profile; legacy scopes remain as compatibility hooks, while
 * .ufsc-club-portal is the single source of truth for width, cards, KPIs,
 * anchors, logo sizing and savebar behavior.
 */
body.ufsc-club-portal-page .site-content > .ast-container,
body.ufsc-club-portal-page .content-area,
body.ufsc-club-portal-page .site-main,
body.ufsc-club-portal-page .entry-content {
    width: 100%;
    max-width: none;
}
body.ufsc-club-portal-page .elementor-widget-shortcode:has(.ufsc-club-portal),
body.ufsc-club-portal-page .elementor-widget-shortcode:has(.ufsc-club-portal) > .elementor-widget-container,
body.ufsc-club-portal-page .elementor-shortcode:has(.ufsc-club-portal) {
    width: 100%;
    max-width: none;
    flex-basis: auto;
    flex-grow: 1;
}
body.ufsc-club-portal-page .elementor-widget-shortcode:has(.ufsc-club-portal) {
    --width: 100%;
    --container-widget-width: 100%;
}
.ufsc-club-portal {
    --ufsc-primary: #075985;
    --ufsc-primary-dark: #0b3b66;
    --ufsc-accent: #0ea5e9;
    --ufsc-success: #15803d;
    --ufsc-warning: #b45309;
    --ufsc-danger: #b91c1c;
    --ufsc-text: #0f172a;
    --ufsc-muted: #475569;
    --ufsc-border: #cbd5e1;
    --ufsc-surface: #ffffff;
    --ufsc-surface-soft: #f8fafc;
    --ufsc-radius: 18px;
    --ufsc-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
    box-sizing: border-box;
    width: min(1180px, calc(100% - 32px));
    max-width: 1180px;
    margin-inline: auto;
    color: var(--ufsc-text);
    font-family: inherit;
}
.ufsc-club-portal *, .ufsc-club-portal *::before, .ufsc-club-portal *::after { box-sizing: border-box; min-width: 0; }
.ufsc-club-portal [id] { scroll-margin-top: 120px; }
.ufsc-club-portal a { overflow-wrap: normal; word-break: normal; }
.ufsc-club-portal .ufsc-dashboard-shell,
.ufsc-club-portal .ufsc-club-profile-shell,
.ufsc-club-portal .ufsc-dashboard-mainpane,
.ufsc-club-portal .ufsc-dashboard-content,
.ufsc-club-portal .ufsc-dashboard-section,
.ufsc-club-portal .ufsc-club-profile-layout,
.ufsc-club-portal .ufsc-club-profile-main { width: 100%; max-width: none; }
.ufsc-club-portal .ufsc-dashboard-header,
.ufsc-club-portal .ufsc-club-hero,
.ufsc-club-portal__hero { background: linear-gradient(135deg, #ffffff 0%, #f0f9ff 100%); border: 1px solid var(--ufsc-border); border-radius: var(--ufsc-radius); box-shadow: var(--ufsc-shadow); padding: clamp(20px, 3vw, 36px); }
.ufsc-club-portal .ufsc-dashboard-hero-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr); gap: clamp(20px, 3vw, 32px); align-items: start; }
.ufsc-club-portal .ufsc-club-hero { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: clamp(20px, 3vw, 34px); align-items: start; }
.ufsc-club-portal .ufsc-dashboard-brand { align-items: flex-start; flex-wrap: nowrap; }
.ufsc-club-portal .ufsc-dashboard-logo { width: 96px; height: 96px; aspect-ratio: 1 / 1; object-fit: contain; flex: 0 0 96px; }
.ufsc-club-portal .ufsc-dashboard-hero-side img,
.ufsc-club-portal .ufsc-club-hero-media img,
.ufsc-club-portal .photo-club-front { width: min(100%, 280px); height: auto; max-height: 220px; aspect-ratio: 14 / 11; object-fit: contain; border-radius: 16px; background: var(--ufsc-surface); border: 1px solid var(--ufsc-border); padding: 10px; }
.ufsc-club-portal .ufsc-hero-kpi-grid,
.ufsc-club-portal__kpis { display: grid; grid-template-columns: repeat(2, minmax(150px, 1fr)); gap: 12px; width: 100%; }
.ufsc-club-portal .ufsc-profile-insight-band { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ufsc-club-portal .ufsc-kpi-tile-value,
.ufsc-club-portal .ufsc-profile-insight strong { display: block; font-size: clamp(1.65rem, 3vw, 2.45rem); line-height: 1; color: var(--ufsc-primary-dark); overflow-wrap: normal; }
.ufsc-club-portal .ufsc-kpi-tile-label,
.ufsc-club-portal .ufsc-profile-insight span { display: block; font-size: clamp(.78rem, 1vw, .95rem); line-height: 1.35; color: var(--ufsc-muted); overflow-wrap: normal; word-break: normal; }
.ufsc-club-portal .ufsc-card { border-color: var(--ufsc-border); border-radius: var(--ufsc-radius); box-shadow: 0 8px 24px rgba(15,23,42,.06); overflow: visible; }
.ufsc-club-portal .ufsc-club-account__identity { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; }
.ufsc-club-portal .ufsc-club-account__identity dd { margin: 0; overflow-wrap: anywhere; }
.ufsc-club-portal .ufsc-club-account__nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0; }
.ufsc-club-portal .ufsc-club-account__nav a,
.ufsc-club-portal .ufsc-btn { border-radius: 999px; padding: 10px 16px; line-height: 1.2; text-decoration: none; }
.ufsc-club-portal .ufsc-club-profile-layout,
.ufsc-club-portal .ufsc-club-profile-main { display: block; }
.ufsc-club-portal .ufsc-profile-cards,
.ufsc-club-portal__form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.ufsc-club-portal .ufsc-profile-cards > .ufsc-card { width: 100%; min-width: 0; height: auto; margin: 0; }
.ufsc-club-portal .ufsc-club-portal__section--full,
.ufsc-club-portal #ufsc-club-officers,
.ufsc-club-portal .ufsc-club-profile-documents,
.ufsc-club-portal .ufsc-profile-cards > .ufsc-section-board { grid-column: 1 / -1; }
.ufsc-club-portal .ufsc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ufsc-club-portal .ufsc-board-columns,
.ufsc-club-portal__board-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ufsc-club-portal .ufsc-board-role-card--coach { margin-top: 16px; }
.ufsc-club-portal .ufsc-documents-grid,
.ufsc-club-portal__documents { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ufsc-club-portal input, .ufsc-club-portal select, .ufsc-club-portal textarea { width: 100%; max-width: 100%; min-width: 0; }
.ufsc-club-portal .ufsc-club-account__savebar,
.ufsc-club-portal__savebar { position: sticky; bottom: 12px; z-index: 5; display: flex; justify-content: flex-end; gap: 12px; margin: 24px 0; padding: 12px; background: rgba(255,255,255,.94); border: 1px solid var(--ufsc-border); border-radius: var(--ufsc-radius); box-shadow: var(--ufsc-shadow); }
.ufsc-club-portal .ufsc-licences-archives { margin-top: 28px; padding-top: 4px; }
.ufsc-club-portal .ufsc-licences-workspace {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
    padding-inline: clamp(0px, 1.5vw, 20px);
}
.ufsc-club-portal .ufsc-renewal-wizard{margin:28px 0;padding:clamp(16px,3vw,28px)}
.ufsc-club-portal .ufsc-renewal-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;list-style:none}
.ufsc-club-portal .ufsc-renewal-steps li{padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc}
.ufsc-club-portal .ufsc-renewal-steps strong{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#173b67;color:#fff}
.ufsc-club-portal .ufsc-renewal-summary{margin:16px 0;padding:12px 14px;background:#eef6ff;border:1px solid #173b67;border-radius:8px}
.ufsc-club-portal .ufsc-renewal-actions{display:flex;flex-wrap:wrap;gap:10px}
.ufsc-club-portal :focus-visible{outline:3px solid #f59e0b;outline-offset:3px}
@media(max-width:600px){.ufsc-club-portal .ufsc-renewal-steps{grid-template-columns:1fr}.ufsc-club-portal .ufsc-renewal-actions .ufsc-btn{width:100%}}
.ufsc-club-portal .ufsc-renewal-profile{padding:12px;background:#fff;border:1px solid #d9e2ec;border-radius:8px}
.ufsc-club-portal .ufsc-renewal-profile summary{cursor:pointer;font-weight:700;min-height:44px;padding:10px}
.ufsc-club-portal .ufsc-renewal-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.ufsc-club-portal .ufsc-renewal-profile-grid label{display:flex;flex-direction:column;gap:5px;font-weight:600}
.ufsc-club-portal .ufsc-renewal-profile-grid input,.ufsc-club-portal .ufsc-renewal-profile-grid select{width:100%;min-height:44px}
.ufsc-club-portal .ufsc-sensitive-identity{margin-top:18px;padding:14px;border:2px solid #b45309}
.ufsc-club-portal .ufsc-renewal-change-summary{margin:18px 0;padding:12px 14px;background:#ecfdf5;border:1px solid #047857;border-radius:8px}
.ufsc-club-portal .ufsc-renewal-table{width:100%;table-layout:fixed;font-size:clamp(14px,1vw,16px)}
.ufsc-club-portal .ufsc-renewal-table th,.ufsc-club-portal .ufsc-renewal-table td{padding:14px 12px;vertical-align:middle;overflow-wrap:break-word}
.ufsc-club-portal .ufsc-renewal-table th:first-child{width:8%}.ufsc-club-portal .ufsc-renewal-table th:nth-child(2){width:20%}.ufsc-club-portal .ufsc-renewal-table th:nth-child(3){width:13%}.ufsc-club-portal .ufsc-renewal-table th:nth-child(4){width:16%}.ufsc-club-portal .ufsc-renewal-table th:nth-child(5){width:11%}.ufsc-club-portal .ufsc-renewal-table th:last-child{width:32%}
.ufsc-club-portal .ufsc-renewal-table tbody tr:hover{background:#f0f9ff}.ufsc-club-portal .ufsc-renewal-table td:last-child{min-width:0}.ufsc-club-portal .ufsc-renewal-table .ufsc-btn{white-space:normal;margin-top:8px;max-width:100%;min-height:44px;text-align:center}.ufsc-club-portal .ufsc-renewal-button small{display:block;margin-top:3px}
.ufsc-club-portal .ufsc-renewal-list-tools,.ufsc-club-portal .ufsc-renewal-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:16px 0}.ufsc-club-portal .ufsc-renewal-page-size{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.ufsc-club-portal .ufsc-renewal-page-size select{min-height:44px}.ufsc-club-portal .ufsc-renewal-pagination{justify-content:center}.ufsc-club-portal .ufsc-renewal-pagination [aria-current="page"]{font-weight:700;padding:10px 12px}
.ufsc-club-portal .ufsc-renewal-reason{margin-top:6px}.ufsc-club-portal .ufsc-renewal-field-error{display:block;color:#9f1239;font-weight:700;margin-top:4px}
.ufsc-club-portal .ufsc-renewal-final-review{padding:16px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px}
.ufsc-club-portal .ufsc-renewal-steps [aria-current="step"]{border-color:#173b67;box-shadow:0 0 0 2px #173b67 inset}
@media(max-width:768px){.ufsc-club-portal .ufsc-renewal-table,.ufsc-club-portal .ufsc-renewal-table tbody,.ufsc-club-portal .ufsc-renewal-table tr,.ufsc-club-portal .ufsc-renewal-table td{display:block;width:100%}.ufsc-club-portal .ufsc-renewal-table thead{display:none}.ufsc-club-portal .ufsc-renewal-source-row{margin:0 0 16px;padding:12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.ufsc-club-portal .ufsc-renewal-source-row td{display:grid;grid-template-columns:minmax(105px,35%) 1fr;gap:8px;border:0;padding:7px 0}.ufsc-club-portal .ufsc-renewal-source-row td:before{content:attr(data-label);font-weight:700}.ufsc-club-portal .ufsc-renewal-source-row td:last-child{display:block;min-width:0}.ufsc-club-portal .ufsc-renewal-source-row .ufsc-btn{display:block;width:100%}.ufsc-club-portal .ufsc-renewal-profile-row td{padding:0;border:0}.ufsc-club-portal .ufsc-front-table-scroll{overflow:visible}.ufsc-club-portal .ufsc-renewal-actions .ufsc-btn,.ufsc-club-portal .ufsc-renewal-pagination .ufsc-btn{width:100%}.ufsc-club-portal .ufsc-renewal-list-tools{align-items:stretch}.ufsc-club-portal .ufsc-renewal-page-size{display:grid;grid-template-columns:1fr}.ufsc-club-portal .ufsc-renewal-page-size .ufsc-btn{width:100%}}
@media (max-width: 1100px) { .ufsc-club-portal .ufsc-dashboard-hero-layout, .ufsc-club-portal .ufsc-club-hero { grid-template-columns: 1fr; } .ufsc-club-portal .ufsc-profile-insight-band, .ufsc-club-portal .ufsc-hero-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .ufsc-club-portal .ufsc-profile-cards { grid-template-columns: 1fr; } .ufsc-club-portal .ufsc-profile-cards > .ufsc-card { grid-column: 1 / -1; } }
@media (max-width: 768px) { .ufsc-club-portal { width: min(1180px, calc(100% - 32px)); } .ufsc-club-portal .ufsc-hero-kpi-grid, .ufsc-club-portal .ufsc-club-account__identity, .ufsc-club-portal .ufsc-grid, .ufsc-club-portal .ufsc-board-columns, .ufsc-club-portal .ufsc-documents-grid { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .ufsc-club-portal .ufsc-dashboard-header, .ufsc-club-portal .ufsc-club-hero { padding: 16px; } .ufsc-club-portal .ufsc-profile-insight-band { grid-template-columns: 1fr; } }

/**
 * UFSC Frontend Styles
 * Design tokens and base components for front shortcodes
 */

:root {
    --ufsc-primary: #2271b1;      /* Bleu UFSC */
    --ufsc-secondary: #135e96;    /* Bleu foncé */
    --ufsc-success: #047857;      /* Vert validation */
    --ufsc-warning: #b45309;      /* Orange attention */
    --ufsc-danger: #b91c1c;       /* Rouge erreur */
    --ufsc-info: #1d4ed8;         /* Bleu information */
    --ufsc-neutral: #374151;      /* Gris neutre */

    --ufsc-spacing-xs: 8px;
    --ufsc-spacing-sm: 16px;
    --ufsc-spacing-md: 24px;
    --ufsc-spacing-lg: 32px;
    --ufsc-spacing-xl: 48px;

    --mobile: 480px;
    --tablet: 768px;
    --desktop: 1024px;
    --wide: 1200px;
}

/* Grid system */
.ufsc-grid {
    display: grid;
    gap: var(--ufsc-spacing-md);
    grid-template-columns: 1fr;
}
@media (min-width: var(--tablet)) {
    .ufsc-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: var(--desktop)) {
    .ufsc-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.ufsc-grid.-wide {
    grid-template-columns: 1fr;
}

/* Licence cards grid */
.ufsc-licence-grid {
    display: grid;
    gap: var(--ufsc-spacing-md);
    grid-template-columns: 1fr;
}
@media (min-width: var(--tablet)) {
    .ufsc-licence-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: var(--tablet)) {
    .ufsc-grid.-wide {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Licence cards grid */
.ufsc-licence-cards {
    display: grid;
    gap: var(--ufsc-spacing-md);
    grid-template-columns: 1fr;
}
@media (min-width: var(--tablet)) {
    .ufsc-licence-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Documents status grid */
.ufsc-documents-status {
    display: grid;
    gap: var(--ufsc-spacing-md);
    grid-template-columns: 1fr;
}
@media (min-width: var(--tablet)) {
    .ufsc-documents-status {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: var(--desktop)) {
    .ufsc-documents-status {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Card */
.ufsc-card {
    background: #ffffff;
    border: 1px solid #e1e5e9;
    border-radius: 8px;
    padding: var(--ufsc-spacing-md);
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.ufsc-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}

.ufsc-card:focus,
.ufsc-card:focus-within,
.ufsc-licence-card:focus,
.ufsc-document-item:focus {
    outline: 3px solid var(--ufsc-info);
    outline-offset: 2px;
}

/* Dashboard header branding */
.ufsc-club-dashboard .ufsc-dashboard-header {
    display: flex;
    flex-direction: column;
    gap: var(--ufsc-spacing-sm);
}
.ufsc-club-dashboard .ufsc-dashboard-brand {
    display: flex;
    align-items: center;
    gap: var(--ufsc-spacing-md);
    flex-wrap: wrap;
}
.ufsc-club-dashboard .ufsc-dashboard-logo {
    width: 56px;
    height: 56px;
    flex: 0 0 auto;
}

/* Club profile grids */
.ufsc-club-profile .ufsc-card .ufsc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--ufsc-spacing-md);
}

/* Club profile two-column layout */
.ufsc-club-profile-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ufsc-spacing-lg);
    align-items: start;
}
@media (min-width: var(--desktop)) {
    .ufsc-club-profile-layout {
        grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
    }
}
.ufsc-profile-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ufsc-spacing-md);
}
@media (min-width: var(--desktop)) {
    .ufsc-profile-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.ufsc-profile-cards .ufsc-card {
    height: auto;
}
.ufsc-board-columns {
    display: grid;
    gap: var(--ufsc-spacing-sm);
    grid-template-columns: 1fr;
}
@media (min-width: var(--tablet)) {
    .ufsc-board-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.ufsc-board-role-card {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: var(--ufsc-spacing-sm);
    background: #f8fafc;
}
.ufsc-club-profile-documents .ufsc-documents-grid {
    grid-template-columns: 1fr;
}

/* Club profile typography and spacing */
.ufsc-club-profile .ufsc-card h4,
.ufsc-club-profile .ufsc-form-section h4 {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: var(--ufsc-spacing-sm);
    color: var(--ufsc-secondary);
}

.ufsc-club-profile .ufsc-form-section {
    margin-bottom: var(--ufsc-spacing-lg);
}

.ufsc-document-summary {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: var(--ufsc-spacing-sm);
    margin-bottom: var(--ufsc-spacing-md);
}
.ufsc-document-summary-count {
    font-weight: 600;
    margin: 0 0 var(--ufsc-spacing-xs);
}
.ufsc-document-summary-missing-label {
    margin: 0 0 var(--ufsc-spacing-xs);
    color: var(--ufsc-warning);
    font-weight: 600;
}
.ufsc-document-missing-list {
    margin: 0;
    padding-left: 1.2rem;
    color: var(--ufsc-neutral);
}

/* Field */
.ufsc-club-profile .ufsc-field {
    margin-bottom: var(--ufsc-spacing-md);
}
.ufsc-field label {
    display: block;
    margin-bottom: 4px;
    font-weight: 600;
}
.ufsc-field input,
.ufsc-field select,
.ufsc-field textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

.ufsc-bureau-assignment-form {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-top: 8px;
}
.ufsc-bureau-role-select {
    min-width: 150px;
    font-size: 12px;
    padding: 4px 6px;
}
.ufsc-bureau-assignment-hint {
    display: block;
    margin-top: 4px;
    color: #6b7280;
    font-size: 11px;
    line-height: 1.3;
}

/* Buttons */
.ufsc-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.ufsc-btn-primary {
    background: var(--ufsc-primary);
    color: #fff;
}
.ufsc-btn-primary:hover {
    background: #005a87;
    color: #fff;
}
.ufsc-btn-secondary {
    background: var(--ufsc-neutral);
    color: #fff;
}
.ufsc-btn-secondary:hover {
    background: #4b5563;
    color: #fff;
}

/* Badges */
.ufsc-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.ufsc-badge-success {
    background: var(--ufsc-success);
    color: #fff;
}
.ufsc-badge-warning {
    background: var(--ufsc-warning);
    color: #fff;
}
.ufsc-badge-info {
    background: var(--ufsc-info);
    color: #fff;
}
.ufsc-badge-danger {
    background: var(--ufsc-danger);
    color: #fff;
}
.ufsc-badge-region {
    background: var(--ufsc-primary);
    color: #fff;
}

.ufsc-badge-doc-complete {
    background: var(--ufsc-success);
    color: #fff;
}
.ufsc-badge-doc-partial {
    background: var(--ufsc-warning);
    color: #fff;
}
.ufsc-badge-doc-missing {
    background: var(--ufsc-danger);
    color: #fff;
}

/* Licence status badges */
.ufsc-badge-pending {
    background: var(--ufsc-info);
    color: #fff;
}
.ufsc-badge-validated {
    background: var(--ufsc-success);
    color: #fff;
}
.ufsc-badge-expired {
    background: var(--ufsc-warning);
    color: #fff;
}
.ufsc-badge-rejected {
    background: var(--ufsc-danger);
    color: #fff;
}

.ufsc-badge:hover {
    opacity: 0.8;
    text-decoration: none;
}

.ufsc-badge-sm {
    padding: 0.2em 0.5em;
    font-size: 0.65em;
}

.ufsc-badge-lg {
    padding: 0.35em 0.8em;
    font-size: 0.85em;
}

/* Login form */
.ufsc-login-form {
    max-width: 1280px;
    margin: 0 auto;
    padding: var(--ufsc-spacing-md);
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
}
.ufsc-login-title {
    text-align: center;
    margin-bottom: var(--ufsc-spacing-md);
    color: #333;
}

/* Renewal application controls: isolated from Astra/Elementor defaults. */
.ufsc-club-portal [hidden],
.ufsc-club-portal .ufsc-is-hidden { display: none !important; }
.ufsc-club-portal .ufsc-renewal-button,
.ufsc-club-portal .ufsc-document-button {
    display: inline-flex !important;
    min-height: 44px;
    padding: 10px 16px !important;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 2px;
    border: 2px solid #0b4f86 !important;
    border-radius: 8px;
    background: #0b4f86 !important;
    color: #fff !important;
	-webkit-text-fill-color: #fff !important;
    line-height: 1.25;
    text-decoration: none !important;
    white-space: normal;
    cursor: pointer;
}
.ufsc-club-portal .ufsc-renewal-button:hover,
.ufsc-club-portal .ufsc-document-button:hover { background: #073b66 !important; color: #fff !important; }
.ufsc-club-portal .ufsc-renewal-button:focus-visible,
.ufsc-club-portal .ufsc-document-button:focus-visible { outline: 3px solid #f59e0b !important; outline-offset: 3px; }
.ufsc-club-portal .ufsc-renewal-button small { color: inherit; font-size: .78rem; }
.ufsc-club-portal .ufsc-renewal-checkbox { position: relative; z-index: 2; pointer-events: auto; min-width: 22px; min-height: 22px; }
.ufsc-club-portal .ufsc-checkbox-label {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 12px;
	min-height: 44px;
}
.ufsc-club-portal .ufsc-checkbox-label input[type="checkbox"] {
	accent-color: #0b4f86;
	flex: 0 0 22px;
	height: 22px;
	margin: 0;
	width: 22px;
}
.ufsc-club-portal .ufsc-checkbox-label input[type="checkbox"]:focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; }
.ufsc-club-portal .ufsc-pack-summary { align-items: stretch; display: grid; gap: 12px; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(220px, 1fr)); width: 100%; }
.ufsc-club-portal .ufsc-pack-summary__heading { align-items: baseline; display: flex; flex-wrap: wrap; gap: 4px 12px; grid-column: 1 / -1; justify-content: space-between; }
.ufsc-club-portal .ufsc-pack-summary__heading h3,
.ufsc-club-portal .ufsc-pack-summary__heading > span { margin: 0; }
.ufsc-club-portal .ufsc-pack-summary__heading > span { color: rgba(255, 255, 255, .88); font-weight: 700; }
.ufsc-club-portal .ufsc-pack-summary a { background: #fff; border: 1px solid #cbdff3; border-radius: 16px; color: #173b67; display: grid; gap: 6px; min-width: 220px; padding: 16px; text-decoration: none; overflow-wrap: normal; word-break: normal; }
.ufsc-club-portal .ufsc-pack-card__label { color: #475569; font-size: .78rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ufsc-club-portal .ufsc-pack-card__value { color: #0f172a; font-size: 1.65rem; line-height: 1.1; }
.ufsc-club-portal .ufsc-pack-card__detail { color: #475569; line-height: 1.45; }
@media (max-width: 1199px) { .ufsc-club-portal .ufsc-pack-summary { grid-template-columns: repeat(2, minmax(220px, 1fr)); } }
@media (max-width: 767px) { .ufsc-club-portal .ufsc-pack-summary { grid-template-columns: minmax(0, 1fr); } .ufsc-club-portal .ufsc-pack-summary a { min-width: 0; } }

@media (max-width: 768px) {
    .ufsc-club-portal .ufsc-renewal-button { width: 100%; }
}
.ufsc-form-group {
    margin-bottom: var(--ufsc-spacing-sm);
}
.ufsc-form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #555;
}
.ufsc-form-control {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}
.ufsc-form-control:focus {
    border-color: var(--ufsc-primary);
    outline: none;
    box-shadow: 0 0 0 2px rgba(34,113,177,0.2);
}
.ufsc-form-links {
    text-align: center;
    margin-top: 10px;
}
.ufsc-form-links a {
    color: var(--ufsc-primary);
    text-decoration: none;
    font-size: 13px;
}
.ufsc-form-links a:hover {
    text-decoration: underline;
}

/* User status */
.ufsc-user-status {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    background: #f8f9fa;
    border-radius: 4px;
    border: 1px solid #e9ecef;
}
.ufsc-user-status.ufsc-not-logged-in {
    text-align: center;
    color: #6c757d;
}
.ufsc-user-avatar img {
    border-radius: 50%;
}
.ufsc-user-info {
    flex: 1;
}
.ufsc-user-name {
    margin-bottom: 2px;
}
.ufsc-user-role,
.ufsc-user-club {
    font-size: 12px;
    color: #6c757d;
    margin-bottom: 2px;
}
.ufsc-user-actions {
    margin-top: 5px;
}
.ufsc-logout-button {
    font-size: 12px;
    color: #dc3545;
    text-decoration: none;
}
.ufsc-logout-button:hover {
    text-decoration: underline;
}
.ufsc-notice.ufsc-notice-error {
    background: #f6a2a1;
    padding: 12px;
    font-size: 14px;
    line-height: 1.2;
}

.ufsc-notice p {
    margin-bottom: 0;
}
.ufsc-notice.ufsc-notice-success {
    color: #0f5132;
    background-color: #d1e7dd;
    border-color: #badbcc;
    padding: 0px;
}

.ufsc-licence-table {
    width: 100%;
    border-collapse: collapse;
}

.ufsc-licence-table th,
.ufsc-licence-table td {
    padding: 10px 12px;
    text-align: left;
    border-top: 1px solid #ddd; 
}

.ufsc-licence-table thead th {
    border-top: none; 
    background-color: #f9f9f9;
    font-weight: 600;
}

.ufsc-action {
    display: inline-block;
    padding: 6px 12px;
    margin-right: 5px;
    font-size: 13px;
    border-radius: 4px;
    text-decoration: none;
    color: #fff;
}

.ufsc-action:first-child {
    margin-left: 0;
}

.ufsc-action[href*="view_licence"] {
    background-color: #2271b1; 
}

.ufsc-action[href*="edit_licence"] {
    background-color: #27ae60; 
}

.ufsc-action[href*="delete_licence"] {
    background-color: #e74c3c; 
}

/* Scoped licence card actions: unified horizontal buttons without vertical stretching. */
.ufsc-licence-card .ufsc-licence-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.ufsc-licence-card .ufsc-licence-action-form {
    display: flex;
    margin: 0;
}

.ufsc-licence-card .ufsc-licence-actions .ufsc-action,
.ufsc-licence-card .ufsc-licence-actions button.ufsc-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 14px;
    margin: 0;
    border: 1px solid #d0d7de;
    border-radius: 6px;
    background: #fff;
    color: #1f2937;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
}

.ufsc-licence-card .ufsc-licence-actions .ufsc-action-primary {
    background: #2271b1;
    border-color: #2271b1;
    color: #fff;
}

.ufsc-licence-card .ufsc-licence-actions .ufsc-action-danger {
    background: #fff5f5;
    border-color: #f5c2c7;
    color: #b42318;
}

@media (max-width: 640px) {
    .ufsc-licence-card .ufsc-licence-actions .ufsc-action,
    .ufsc-licence-card .ufsc-licence-actions button.ufsc-action {
        width: 100%;
    }
}

img.photo-club-front {
    max-width: 1280px;
}

img.img-attestation-club-front {
    max-width: 1280px;
}

button.button.ufsc-remove-photo {
    padding: 5px 17px !important;
    margin-top:  21px !important;
}

button.button.ufsc-upload-photo {
    padding: 5px 17px !important;
    margin-top: 18px !important;
    margin-bottom: 32px !important;
}

h3.title-attestation.club.front {
    font-size: 23px !important;
    font-weight: 700 !important;
}

a#btn-telechrager-attestation {
    padding: 4px 10px !important;
    background: #fff !important;
    color: #257af8 !important;
    margin-top: 22px !important;
    border-color:#257af8 !important;
}

a#btn-telechrager-attestation:hover {
    color: #27245B !important;
    border-color: #27245B !important;
}

canvas#ufsc-licence-chart {
    max-height:400px !important;
}

canvas#ufsc-licence-year-chart {
    max-height:400px;
}
button#upload_btn {
    padding: 5px 15px !important;
    margin: 28px 0 !important;
}

/* ===== Premium redesign: club dashboard + compte club ===== */
.ufsc-club-dashboard,
.ufsc-club-profile {
    max-width: 1360px;
    margin: 0 auto;
    padding: clamp(16px, 2vw, 32px);
    color: #0f172a;
}

.ufsc-dashboard-shell,
.ufsc-club-profile-shell {
    display: grid;
    gap: 24px;
}

.ufsc-dashboard-header--premium,
.ufsc-profile-header {
    background: linear-gradient(145deg, #0f3a64 0%, #1f5f94 45%, #2d7ec0 100%);
    color: #fff;
    padding: clamp(20px, 3vw, 34px);
    border-radius: 18px;
    box-shadow: 0 20px 35px rgba(15, 58, 100, 0.22);
}

.ufsc-dashboard-header--premium .ufsc-dashboard-subtitle,
.ufsc-profile-header .ufsc-dashboard-subtitle {
    color: rgba(255, 255, 255, 0.92);
    margin-top: 8px;
}

.ufsc-dashboard-status-line {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 12px;
    align-items: center;
}

.ufsc-dashboard-kpi-band {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ufsc-kpi-tile {
    border-radius: 16px;
    border: 1px solid #dbe4ef;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
    padding: 18px;
}

.ufsc-kpi-tile-label {
    display: block;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #475569;
    margin-bottom: 10px;
}

.ufsc-kpi-tile-value {
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1;
}

.ufsc-dashboard-nav {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    background: #fff;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid #dbe4ef;
}

.ufsc-nav-btn {
    border: 1px solid #c7d7ea;
    border-radius: 999px;
    padding: 9px 14px;
    background: #f8fbff;
    font-weight: 600;
}

.ufsc-nav-btn.active {
    background: #2271b1;
    color: #fff;
    border-color: #2271b1;
}

.ufsc-dashboard-content > .ufsc-dashboard-section {
    background: #fff;
    border: 1px solid #dbe4ef;
    border-radius: 18px;
    padding: clamp(14px, 2vw, 22px);
}

.ufsc-club-hero {
    display: grid;
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
    gap: 24px;
    border-radius: 18px;
    border: 1px solid #d9e3ee;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.ufsc-club-hero-media img.photo-club-front {
    width: 100%;
    max-width: none;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 12px;
}

.ufsc-hero-media-actions {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.ufsc-club-hero-content h4 {
    font-size: clamp(1.35rem, 2.2vw, 1.95rem);
    margin: 0 0 6px;
}

.ufsc-club-profile-layout {
    gap: 20px;
}

.ufsc-profile-cards .ufsc-card {
    border-radius: 14px;
    border: 1px solid #dbe4ef;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07);
}

.ufsc-board-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ufsc-board-role-card {
    border-radius: 12px;
    border: 1px solid #d3dfec;
    background: #f8fbff;
}

.ufsc-form-actions {
    position: static;
    display: flex;
    justify-content: flex-end;
    background: #fff;
    border: 1px solid #dbe4ef;
    border-radius: 12px;
    padding: 12px;
    margin: 4px 0 0;
}

.ufsc-club-profile-documents .ufsc-documents-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.ufsc-document-card {
    border: 1px solid #d7e2ee;
    border-radius: 14px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

.ufsc-document-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.ufsc-document-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

@media (max-width: 1180px) {
    .ufsc-dashboard-kpi-band,
    .ufsc-board-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .ufsc-club-hero,
    .ufsc-club-profile-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .ufsc-dashboard-kpi-band,
    .ufsc-club-profile-documents .ufsc-documents-grid,
    .ufsc-board-columns {
        grid-template-columns: 1fr;
    }

    .ufsc-form-actions {
        position: static;
    }
}

/* ===== Premium redesign pass 2 (ambitious cockpit/extranet look) ===== */
.ufsc-club-dashboard,
.ufsc-club-profile {
    max-width: min(1680px, 96vw);
    padding-inline: clamp(14px, 3vw, 40px);
}

.ufsc-dashboard-shell,
.ufsc-club-profile-shell {
    gap: clamp(20px, 2.2vw, 34px);
}

.ufsc-dashboard-header--premium,
.ufsc-profile-header {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 24px;
    box-shadow: 0 26px 46px rgba(9, 30, 52, 0.33);
}

.ufsc-dashboard-header--premium::before,
.ufsc-profile-header::before {
    content: "";
    position: absolute;
    inset: auto -60px -90px auto;
    width: min(100%, 280px);
    height: 280px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0));
    pointer-events: none;
}

.ufsc-dashboard-header--premium h2,
.ufsc-profile-header h3 {
    font-size: clamp(1.6rem, 3.1vw, 2.5rem);
    line-height: 1.15;
    margin: 0;
}

.ufsc-dashboard-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.ufsc-dashboard-actions .ufsc-btn {
    min-height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.26);
    box-shadow: 0 8px 16px rgba(7, 23, 39, 0.22);
}

.ufsc-dashboard-kpi-band {
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 18px;
}

.ufsc-kpi-tile {
    border-radius: 20px;
    padding: 22px;
    background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
}

.ufsc-kpi-tile-value {
    font-size: clamp(1.7rem, 2.6vw, 2.4rem);
    font-weight: 800;
}

.ufsc-priority-title {
    margin: 0 0 8px;
    font-size: 1.05rem;
    font-weight: 700;
}

.ufsc-priority-list {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 6px;
}

.ufsc-dashboard-nav {
    padding: 14px;
    border-radius: 16px;
    box-shadow: 0 12px 25px rgba(15, 23, 42, 0.07);
}

.ufsc-nav-btn {
    font-size: 0.94rem;
    min-height: 42px;
}

.ufsc-dashboard-content > .ufsc-dashboard-section {
    border-radius: 22px;
    box-shadow: 0 20px 36px rgba(15, 23, 42, 0.08);
}

.ufsc-club-hero {
    border-radius: 22px;
    padding: clamp(18px, 2vw, 26px);
    background: linear-gradient(128deg, #ffffff 0%, #f6fbff 56%, #eef6ff 100%);
    border: 1px solid #d0dff0;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.11);
}

.ufsc-club-hero-content .div-attestation {
    margin-top: 14px;
    padding: 14px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #dbe6f2;
}

.ufsc-profile-insight-band {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 14px;
}

.ufsc-profile-insight {
    border-radius: 14px;
    border: 1px solid #d6e2ef;
    background: #fff;
    padding: 14px 16px;
    display: grid;
    gap: 8px;
}

.ufsc-profile-insight > span {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #5f7084;
}

.ufsc-profile-insight > strong {
    font-size: 1rem;
    font-weight: 700;
}

.ufsc-club-profile .ufsc-card h4 {
    font-size: 1.2rem;
    margin-bottom: 16px;
}

.ufsc-profile-cards .ufsc-card,
.ufsc-club-profile-documents .ufsc-card {
    border-radius: 18px;
    background: #fff;
}

.ufsc-board-role-card h5 {
    margin-bottom: 12px;
    font-size: 1rem;
}

.ufsc-document-card {
    background: linear-gradient(180deg, #fff, #fbfdff);
}

.ufsc-document-card .ufsc-upload-label {
    display: inline-block;
    margin-top: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #edf5ff;
    border: 1px solid #c8dcf5;
}

.ufsc-form-actions {
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.09);
}

@media (max-width: 1200px) {
    .ufsc-profile-insight-band,
    .ufsc-dashboard-kpi-band {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .ufsc-profile-insight-band,
    .ufsc-dashboard-kpi-band {
        grid-template-columns: 1fr;
    }
}

/* ===== V3 refinement for production premium pass ===== */
.ufsc-premium-v3 .ufsc-dashboard-header--premium {
    display: block !important;
}

.ufsc-premium-v3 .ufsc-dashboard-hero-layout {
    display: grid !important;
    grid-template-columns: minmax(340px, 380px) minmax(0, 1fr);
    gap: 22px;
    align-items: start;
    width: 100%;
}

.ufsc-premium-v3 .ufsc-hero-left {
    display: grid;
    gap: 14px;
}

.ufsc-premium-v3 .ufsc-hero-right {
    display: grid !important;
    align-content: start;
    min-width: 0;
}

.ufsc-premium-v3 .ufsc-dashboard-hero-side {
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: rgba(8, 25, 42, 0.26);
    padding: 12px;
    display: grid;
    gap: 10px;
    justify-items: center;
}

.ufsc-premium-v3 .ufsc-dashboard-hero-side img {
    width: 100%;
    max-width: min(100%, 280px);
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(5, 18, 30, 0.4);
}

.ufsc-premium-v3 .ufsc-dashboard-mainpane {
    display: grid;
    gap: 18px;
}

.ufsc-premium-v3 .ufsc-hero-kpi-grid {
    display: grid !important;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(170px, 1fr));
    margin-top: 0;
    width: 100%;
}

.ufsc-premium-v3 .ufsc-hero-kpi-grid .ufsc-kpi-tile {
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.14) !important;
    border: 1px solid rgba(255, 255, 255, 0.24);
    box-shadow: none;
    backdrop-filter: blur(2px);
    min-height: 0;
}

.ufsc-premium-v3 .ufsc-hero-kpi-card {
    display: grid;
    grid-template-rows: auto 1fr auto;
    align-content: start;
    gap: 8px;
    padding: 14px 16px;
    overflow: visible;
}

.ufsc-premium-v3 .ufsc-priority-tile {
    min-height: 0;
}

.ufsc-premium-v3 .ufsc-priority-detail {
    display: block;
    margin-top: 8px;
    color: rgba(255, 255, 255, 0.9);
    font-size: .84rem;
}

.ufsc-premium-v3 .ufsc-hero-kpi-grid .ufsc-kpi-tile-label {
    color: rgba(255,255,255,.82);
}

.ufsc-premium-v3 .ufsc-hero-kpi-grid .ufsc-kpi-tile-value {
    color: #fff;
    font-size: clamp(1.55rem, 2vw, 2rem);
    line-height: 1.1;
}

.ufsc-premium-v3 .ufsc-dashboard-mainpane .ufsc-dashboard-section {
    background: #fff;
}

.ufsc-premium-v3 .ufsc-club-profile-main {
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ufsc-premium-v3 .ufsc-club-profile-documents .ufsc-card {
    background: linear-gradient(180deg, #ffffff, #f6faff);
}

.ufsc-premium-v3 .ufsc-board-role-card {
    background: linear-gradient(180deg, #f9fcff, #edf5ff);
    border-color: #c8dced;
}

.ufsc-premium-v3 .ufsc-board-role-card--coach {
    margin-top: 14px;
}

.ufsc-premium-v3 .ufsc-form-actions {
    padding: 14px;
    border: 1px solid #cfe0f0;
    background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(247,251,255,0.95));
}

.ufsc-premium-v3 .ufsc-field input,
.ufsc-premium-v3 .ufsc-field select,
.ufsc-premium-v3 .ufsc-field textarea {
    border-color: #c5d5e6;
    border-radius: 10px;
    min-height: 44px;
    background: #fdfefe;
}

.ufsc-premium-v3 .ufsc-field label {
    font-size: .86rem;
    color: #2b425a;
    text-transform: uppercase;
    letter-spacing: .03em;
}

@media (max-width: 1180px) {
    .ufsc-premium-v3 .ufsc-dashboard-hero-layout {
        grid-template-columns: 1fr;
    }
    .ufsc-premium-v3 .ufsc-hero-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .ufsc-premium-v3 .ufsc-hero-kpi-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== Stabilisation UI (corrections ciblées) ===== */
.ufsc-premium-v3 .ufsc-dashboard-header--premium::before,
.ufsc-premium-v3 .ufsc-profile-header::before {
    width: 190px;
    height: 190px;
    opacity: .32;
}

.ufsc-premium-v3 .ufsc-profile-header .ufsc-permission-notice {
    max-width: 360px;
    font-size: .9rem;
    line-height: 1.35;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 10px;
    padding: 8px 10px;
}

.ufsc-premium-v3 .ufsc-profile-insight {
    padding: 16px 18px;
    gap: 10px;
}

.ufsc-premium-v3 .ufsc-club-profile-layout {
    grid-template-columns: 1fr;
    max-width: 1180px;
    margin: 0 auto;
    gap: 20px;
}

.ufsc-premium-v3 .ufsc-section-board {
    grid-column: 1 / -1;
}

.ufsc-premium-v3 .ufsc-club-profile-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ufsc-premium-v3 .ufsc-section-board .ufsc-board-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.ufsc-premium-v3 .ufsc-section-board .ufsc-board-role-card h5 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ufsc-premium-v3 .ufsc-section-board .ufsc-field input,
.ufsc-premium-v3 .ufsc-section-board .ufsc-field select,
.ufsc-premium-v3 .ufsc-section-board .ufsc-field textarea {
    min-height: 42px;
}

.ufsc-premium-v3 .ufsc-club-profile-documents .ufsc-documents-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.ufsc-premium-v3 .ufsc-document-name {
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.3;
}

.ufsc-premium-v3 .ufsc-document-card {
    min-height: 100%;
    display: grid;
    align-content: start;
}

.ufsc-premium-v3 .ufsc-document-card .ufsc-upload-label {
    background: #1f5f94;
    border-color: #1f5f94;
    color: #fff;
    font-weight: 600;
}

.ufsc-premium-v3 .ufsc-document-card .ufsc-upload-label:hover {
    background: #174a72;
    border-color: #174a72;
}

@media (max-width: 1380px) {
    .ufsc-premium-v3 .ufsc-club-profile-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ufsc-premium-v3 .ufsc-section-board .ufsc-board-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .ufsc-premium-v3 .ufsc-club-profile-main,
    .ufsc-premium-v3 .ufsc-club-profile-documents .ufsc-documents-grid,
    .ufsc-premium-v3 .ufsc-section-board .ufsc-board-columns {
        grid-template-columns: 1fr;
    }

    .ufsc-form-actions {
        justify-content: stretch;
    }

    .ufsc-form-actions .ufsc-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Front licence table UX improvements (display only). */
.ufsc-licences-section {
    color: #1f2937;
}

.ufsc-licences-section .ufsc-section-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 14px;
}

.ufsc-licences-section .ufsc-section-header h3 {
    margin: 0;
    color: var(--ufsc-secondary);
    font-weight: 700;
}

.ufsc-licences-filters {
    margin: 16px 0;
    padding: 14px;
    border: 1px solid #dbe5ef;
    border-radius: 10px;
    background: #f8fafc;
}

.ufsc-licences-filters .ufsc-filters-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    align-items: end;
}

.ufsc-licences-filters label {
    display: block;
    margin-bottom: 5px;
    color: #344054;
    font-size: 13px;
    font-weight: 700;
}

.ufsc-licences-filters input,
.ufsc-licences-filters select {
    width: 100%;
    min-height: 38px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background: #fff;
}

.ufsc-licences-list {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #dbe5ef;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(15, 76, 129, 0.08);
}

.ufsc-licences-list .ufsc-message {
    margin: 0;
    border: 0;
    border-radius: 0;
}

.ufsc-licence-table {
    min-width: 1080px;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
}

.ufsc-licence-table thead th {
    background: #f1f5f9;
    color: #0f172a;
    border-top: 0;
    border-bottom: 1px solid #cbd5e1;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ufsc-licence-table th,
.ufsc-licence-table td {
    padding: 12px 14px;
    border-top: 1px solid #eef2f7;
    vertical-align: middle;
    line-height: 1.35;
}

.ufsc-licence-table tbody tr:nth-child(even) {
    background: #fbfdff;
}

.ufsc-licence-table tbody tr:hover {
    background: #eef6ff;
}

.ufsc-licence-table td:nth-child(1),
.ufsc-licence-table td:nth-child(2),
.ufsc-licence-table td:nth-child(5),
.ufsc-licence-table td:nth-child(8),
.ufsc-licence-table td:nth-child(11) {
    white-space: nowrap;
}

.ufsc-licence-table td:nth-child(3),
.ufsc-licence-table td:nth-child(4) {
    font-weight: 700;
    color: #0f172a;
}

.ufsc-licences-section .ufsc-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    border: 1px solid #d1d5db;
    background: #f3f4f6;
    color: #374151;
    white-space: nowrap;
}

.ufsc-licences-section .ufsc-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #9ca3af;
    flex: 0 0 auto;
}

.ufsc-licences-section .ufsc-status-valid {
    background: #dcfce7;
    border-color: #86efac;
    color: #166534;
}

.ufsc-licences-section .ufsc-status-valid .ufsc-status-dot {
    background: #16a34a;
}

.ufsc-licences-section .ufsc-status-pending {
    background: #fff7ed;
    border-color: #fdba74;
    color: #9a3412;
}

.ufsc-licences-section .ufsc-status-pending .ufsc-status-dot {
    background: #f97316;
}

.ufsc-licences-section .ufsc-status-rejected {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #991b1b;
}

.ufsc-licences-section .ufsc-status-rejected .ufsc-status-dot {
    background: #dc2626;
}

.ufsc-licences-section .ufsc-status-inactive,
.ufsc-licences-section .ufsc-status-draft {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #475569;
}

.ufsc-licences-section .ufsc-status-inactive .ufsc-status-dot,
.ufsc-licences-section .ufsc-status-draft .ufsc-status-dot {
    background: #94a3b8;
}

.ufsc-licences-section .ufsc-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 6px 12px;
    margin: 2px 4px 2px 0;
    border: 1px solid #bfdbfe;
    border-radius: 7px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.2;
}

.ufsc-licences-section .ufsc-action:hover,
.ufsc-licences-section .ufsc-action:focus {
    background: #dbeafe;
    color: #1e40af;
    text-decoration: none;
}

.ufsc-licences-section .ufsc-action-danger {
    border-color: #fecaca;
    background: #fff5f5;
    color: #b42318;
}

.ufsc-licences-section .ufsc-pagination {
    margin-top: 14px;
}

@media (max-width: 782px) {
    .ufsc-licences-section .ufsc-section-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .ufsc-licences-filters .ufsc-filters-form {
        grid-template-columns: 1fr;
    }

    .ufsc-licence-table {
        min-width: 980px;
    }
}

/* Responsive front-office licence table: scoped to UFSC dashboard only. */
.ufsc-club-dashboard,
.ufsc-club-dashboard .ufsc-dashboard-shell,
.ufsc-club-dashboard .ufsc-dashboard-content,
.ufsc-club-dashboard .ufsc-dashboard-section,
.ufsc-licences-section {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.ufsc-front-table-hint {
    display: none;
    margin: 0 0 8px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
}

.ufsc-front-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.ufsc-front-table-scroll:focus {
    outline: 2px solid rgba(34, 113, 177, 0.35);
    outline-offset: 2px;
}

.ufsc-front-table-scroll .ufsc-licence-table {
    width: max-content;
    min-width: 1180px;
    table-layout: auto;
}

.ufsc-front-table-scroll .ufsc-licence-table th,
.ufsc-front-table-scroll .ufsc-licence-table td {
    padding: 8px 10px;
    font-size: 12px;
    line-height: 1.25;
    vertical-align: middle;
}

.ufsc-front-table-scroll .ufsc-licence-table td:nth-child(1),
.ufsc-front-table-scroll .ufsc-licence-table td:nth-child(2),
.ufsc-front-table-scroll .ufsc-licence-table td:nth-child(5),
.ufsc-front-table-scroll .ufsc-licence-table td:nth-child(6),
.ufsc-front-table-scroll .ufsc-licence-table td:nth-child(8),
.ufsc-front-table-scroll .ufsc-licence-table td:nth-child(9),
.ufsc-front-table-scroll .ufsc-licence-table td:nth-child(10),
.ufsc-front-table-scroll .ufsc-licence-table td:nth-child(11),
.ufsc-front-table-scroll .ufsc-licence-table td:nth-child(12),
.ufsc-front-table-scroll .ufsc-licence-table td:nth-child(13),
.ufsc-front-table-scroll .ufsc-licence-table td:nth-child(14) {
    white-space: nowrap;
}

.ufsc-front-table-scroll .ufsc-weight-form {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    white-space: nowrap;
}

.ufsc-front-table-scroll .ufsc-weight-form input[name="poids"] {
    width: 70px;
    min-height: 28px;
    padding: 3px 6px;
    font-size: 12px;
}

.ufsc-front-table-scroll .ufsc-badge,
.ufsc-front-table-scroll .ufsc-status-badge,
.ufsc-front-table-scroll .ufsc-action {
    font-size: 11px;
    line-height: 1.15;
}

.ufsc-front-table-scroll .ufsc-badge,
.ufsc-front-table-scroll .ufsc-status-badge {
    padding: 3px 7px;
    max-width: 150px;
    white-space: nowrap;
}

.ufsc-front-table-scroll .ufsc-action {
    min-height: 28px;
    padding: 4px 8px;
    margin: 1px 3px 1px 0;
}

@media (max-width: 782px) {
    .ufsc-front-table-hint {
        display: block;
    }

    .ufsc-front-table-scroll .ufsc-licence-table {
        min-width: 1040px;
    }

    .ufsc-front-table-scroll .ufsc-licence-table th,
    .ufsc-front-table-scroll .ufsc-licence-table td {
        padding: 7px 8px;
    }
}

/* Club dashboard overflow containment: keep only the licences table horizontally scrollable. */
.ufsc-club-dashboard.ufsc-premium-v3 {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.ufsc-club-dashboard.ufsc-premium-v3 *,
.ufsc-club-dashboard.ufsc-premium-v3 *::before,
.ufsc-club-dashboard.ufsc-premium-v3 *::after {
    box-sizing: border-box;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-shell,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-header--premium,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-hero-layout,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-content,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-content > .ufsc-dashboard-section,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-licences-section,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-licences-filters {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-header--premium {
    padding: clamp(16px, 2.4vw, 30px);
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-hero-layout {
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    gap: clamp(14px, 2vw, 24px);
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-hero-left,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-hero-right,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-mainpane,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-hero-side,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-hero-kpi-grid,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-kpi-tile {
    min-width: 0;
    max-width: 100%;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-brand,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-actions,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-status-line {
    min-width: 0;
    max-width: 100%;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-title,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-subtitle,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-kpi-tile-label,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-priority-detail,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-hero-side-meta {
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-hero-kpi-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-hero-side img {
    max-width: min(280px, 100%);
    height: auto;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-nav {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-nav-btn {
    flex: 1 1 auto;
    min-width: min(190px, 100%);
    white-space: normal;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-licences-filters .ufsc-filters-form,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-filter-group {
    min-width: 0;
    max-width: 100%;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-licences-filters .ufsc-btn {
    min-width: 0;
    white-space: normal;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-front-table-scroll {
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
}

@media (max-width: 1180px) {
    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-hero-layout {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 782px) {
    .ufsc-club-dashboard.ufsc-premium-v3 {
        padding-inline: 10px;
    }

    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-header--premium,
    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-content > .ufsc-dashboard-section {
        border-radius: 16px;
        padding-inline: 12px;
    }

    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-nav {
        flex-wrap: nowrap;
    }

    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-nav-btn {
        flex: 0 0 auto;
        min-width: 160px;
    }
}

@media (max-width: 520px) {
    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-brand {
        align-items: flex-start;
        flex-direction: column;
    }

    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-actions .ufsc-btn,
    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-section-actions .ufsc-btn,
    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-licences-filters .ufsc-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Final containment guard: the card container must not become a second horizontal scroller. */
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-licences-list {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-x: visible;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-section-header,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-section-actions,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-filters-form {
    max-width: 100%;
    min-width: 0;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-section-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-kpi-band {
    grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
}

/* Season and renewal controls: compact, contained, dashboard-scoped. */
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-season-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    max-width: 100%;
    min-width: 0;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-season-card p {
    margin: 4px 0 0;
    color: #475569;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-season-renew-form,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-inline-renew-form {
    display: inline-flex;
    max-width: 100%;
    min-width: 0;
    margin: 0;
}

.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-inline-renew-form {
    margin-left: 4px;
}

@media (max-width: 782px) {
    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-season-card {
        align-items: stretch;
        flex-direction: column;
    }

    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-season-renew-form .ufsc-btn {
        width: 100%;
        justify-content: center;
    }
}

.ufsc-licences-archives {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(15, 23, 42, 0.12);
}

.ufsc-section-header--compact {
    margin-bottom: 0.5rem;
}

.ufsc-section-subtitle {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.85rem;
    font-weight: 500;
    opacity: 0.75;
}

.ufsc-archive-filter-form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 220px) auto;
    gap: 0.75rem;
    align-items: end;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 1rem 0;
}

.ufsc-archive-filter-form label,
.ufsc-archive-filter-form select,
.ufsc-archive-filter-form button {
    min-width: 0;
}

.ufsc-licence-table--archives {
    min-width: 1080px;
}

@media (max-width: 768px) {
    .ufsc-archive-filter-form {
        grid-template-columns: 1fr;
    }
}

.ufsc-licences-future {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px dashed rgba(15, 23, 42, 0.18);
}

.ufsc-licence-table--future {
    min-width: 760px;
}

/* Compte Club: improve contrast on the blue account panel without affecting theme globals. */
.ufsc-club-profile.ufsc-premium-v3 .ufsc-profile-header h3,
.ufsc-club-profile .ufsc-profile-header h3 {
    color: #ffffff;
    text-shadow: 0 1px 2px rgba(15, 23, 42, 0.22);
}

.ufsc-club-profile.ufsc-premium-v3 .ufsc-profile-header .ufsc-dashboard-subtitle,
.ufsc-club-profile .ufsc-profile-header .ufsc-dashboard-subtitle {
    color: rgba(255, 255, 255, 0.96);
}

.ufsc-club-profile.ufsc-premium-v3 .ufsc-profile-header .ufsc-permission-notice,
.ufsc-club-profile .ufsc-profile-header .ufsc-permission-notice {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    padding: 8px 12px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

/* Premium Compte Club canonical container and local design system. */
.ufsc-club-account {
    --ufsc-primary: #0b5fa5;
    --ufsc-primary-dark: #073b69;
    --ufsc-surface: #ffffff;
    --ufsc-surface-soft: #f4f8fc;
    --ufsc-border: rgba(11, 95, 165, 0.14);
    --ufsc-text: #172033;
    --ufsc-muted: #667085;
    --ufsc-success: #16794c;
    --ufsc-warning: #b86b00;
    --ufsc-danger: #b42318;
    --ufsc-radius: 18px;
    --ufsc-shadow: 0 18px 45px rgba(15, 39, 74, 0.09);
    width: min(1180px, calc(100% - 32px));
    max-width: 1180px;
    margin-inline: auto;
    color: var(--ufsc-text);
}

body .entry-content > .ufsc-club-account,
body .elementor-widget-container > .ufsc-club-account,
body .wp-block-post-content > .ufsc-club-account {
    width: min(1180px, calc(100% - 32px));
    max-width: 1180px;
}

.ufsc-club-account .ufsc-dashboard-shell,
.ufsc-club-account .ufsc-club-profile-shell {
    max-width: 1180px;
    margin-inline: auto;
}

.ufsc-club-account__header,
.ufsc-club-account .ufsc-club-hero {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr) minmax(280px, 360px);
    gap: clamp(16px, 2.4vw, 28px);
    align-items: start;
    background: var(--ufsc-surface);
    border: 1px solid var(--ufsc-border);
    border-radius: var(--ufsc-radius);
    box-shadow: var(--ufsc-shadow);
}

.ufsc-club-account .ufsc-dashboard-hero-layout { display: contents; }
.ufsc-club-account .ufsc-hero-left,
.ufsc-club-account .ufsc-club-hero-content { grid-column: 1 / 3; }
.ufsc-club-account .ufsc-hero-right,
.ufsc-club-account .ufsc-affiliation-state-card { grid-column: 3; }

.ufsc-club-account .ufsc-dashboard-hero-side,
.ufsc-club-account .ufsc-club-hero-media {
    width: 100%;
    min-height: 0;
    padding: 12px;
    border-radius: calc(var(--ufsc-radius) - 4px);
    background: var(--ufsc-surface-soft);
    border: 1px solid var(--ufsc-border);
}

.ufsc-club-account .ufsc-dashboard-hero-side img,
.ufsc-club-account .photo-club-front {
    width: 100%;
    max-width: 180px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    display: block;
    margin-inline: auto;
    border-radius: 14px;
    background: #fff;
}

.ufsc-club-account .ufsc-hero-media-actions,
.ufsc-club-account .ufsc-dashboard-hero-side-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
}

.ufsc-club-account__identity {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 16px;
    margin: 14px 0 0;
}

.ufsc-club-account__identity dt {
    font-size: 0.76rem;
    font-weight: 700;
    color: var(--ufsc-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.ufsc-club-account__identity dd {
    margin: 2px 0 0;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.ufsc-club-account__nav {
    position: sticky;
    top: 10px;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
    padding: 10px;
    border: 1px solid var(--ufsc-border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(8px);
}

.ufsc-club-account__nav a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    padding: 8px 13px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    color: var(--ufsc-primary-dark);
    background: var(--ufsc-surface-soft);
}

.ufsc-club-account__nav a:focus-visible,
.ufsc-club-account .ufsc-btn:focus-visible,
.ufsc-club-account button:focus-visible,
.ufsc-club-account input:focus-visible,
.ufsc-club-account select:focus-visible,
.ufsc-club-account textarea:focus-visible {
    outline: 3px solid rgba(11, 95, 165, 0.35);
    outline-offset: 2px;
}

.ufsc-club-account .ufsc-profile-insight-band,
.ufsc-club-account .ufsc-hero-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 14px;
}

.ufsc-club-account .ufsc-profile-insight,
.ufsc-club-account .ufsc-kpi-tile {
    min-height: 0;
    border-radius: var(--ufsc-radius);
    border: 1px solid var(--ufsc-border);
    box-shadow: 0 10px 24px rgba(15, 39, 74, 0.06);
}

.ufsc-club-account .ufsc-club-profile-layout,
.ufsc-club-account .ufsc-club-profile-main,
.ufsc-club-account .ufsc-profile-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.ufsc-club-account .ufsc-form-section .ufsc-grid,
.ufsc-club-account .ufsc-section .ufsc-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
}

.ufsc-club-account .ufsc-section-board,
.ufsc-club-account__documents,
.ufsc-club-account__savebar { grid-column: 1 / -1; }

.ufsc-club-account .ufsc-board-columns,
.ufsc-club-account .ufsc-documents-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
    gap: 14px;
}

.ufsc-club-account .ufsc-board-role-card,
.ufsc-club-account .ufsc-document-card {
    min-height: 0;
    border: 1px solid var(--ufsc-border);
    border-radius: var(--ufsc-radius);
    background: var(--ufsc-surface);
    padding: 16px;
}

.ufsc-club-account .ufsc-document-summary {
    display: grid;
    grid-template-columns: minmax(180px, auto) minmax(0, 1fr);
    gap: 12px 18px;
    align-items: start;
    margin: 0 0 16px;
    padding: 14px;
    border-radius: var(--ufsc-radius);
    background: var(--ufsc-surface-soft);
    border: 1px solid var(--ufsc-border);
}

.ufsc-club-account .ufsc-document-summary-count {
    margin: 0;
    font-weight: 800;
    color: var(--ufsc-primary-dark);
}

.ufsc-club-account .ufsc-document-missing-list { margin: 0; columns: 2; }
.ufsc-club-account .ufsc-document-actions,
.ufsc-club-account .ufsc-document-upload {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.ufsc-club-account__savebar {
    position: sticky;
    bottom: 12px;
    z-index: 4;
    display: flex;
    justify-content: flex-end;
    padding: 12px;
    margin: 18px 0;
    border-radius: var(--ufsc-radius);
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid var(--ufsc-border);
    box-shadow: var(--ufsc-shadow);
}

@media (max-width: 1024px) {
    .ufsc-club-account__header,
    .ufsc-club-account .ufsc-club-hero { grid-template-columns: minmax(0, 1fr); }
    .ufsc-club-account .ufsc-hero-left,
    .ufsc-club-account .ufsc-hero-right,
    .ufsc-club-account .ufsc-club-hero-content,
    .ufsc-club-account .ufsc-affiliation-state-card { grid-column: 1; }
}

@media (max-width: 768px) {
    .ufsc-club-account { width: min(1180px, calc(100% - 32px)); }
    .ufsc-club-account__identity,
    .ufsc-club-account .ufsc-form-section .ufsc-grid,
    .ufsc-club-account .ufsc-section .ufsc-grid,
    .ufsc-club-account .ufsc-document-summary { grid-template-columns: 1fr; }
    .ufsc-club-account .ufsc-document-missing-list { columns: 1; }
}

@media (max-width: 420px) {
    .ufsc-club-account__nav { position: static; border-radius: var(--ufsc-radius); }
    .ufsc-club-account__nav a,
    .ufsc-club-account__savebar .ufsc-btn,
    .ufsc-club-account .ufsc-dashboard-actions--primary .ufsc-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ===== P0 premium front club UI: dashboard + compte club, read-only visual pass ===== */
.ufsc-club-account.ufsc-premium-v3 {
    --ufsc-front-primary: #0b4f86;
    --ufsc-front-primary-strong: #073b66;
    --ufsc-front-primary-soft: #eaf4ff;
    --ufsc-front-accent: #0f9fba;
    --ufsc-front-success: #047857;
    --ufsc-front-warning: #b45309;
    --ufsc-front-danger: #b91c1c;
    --ufsc-front-text: #0f172a;
    --ufsc-front-muted: #475569;
    --ufsc-front-border: #cbdff3;
    --ufsc-front-surface: #ffffff;
    --ufsc-front-surface-soft: #f6f9fd;
    --ufsc-front-radius-lg: 28px;
    --ufsc-front-radius-md: 18px;
    --ufsc-front-shadow-lg: 0 28px 70px rgba(8, 35, 61, .20);
    --ufsc-front-shadow-md: 0 16px 38px rgba(15, 23, 42, .10);
    --ufsc-front-focus: 0 0 0 4px rgba(15, 159, 186, .24);
    color: var(--ufsc-front-text);
    font-size: 16px;
    line-height: 1.55;
}

.ufsc-club-account.ufsc-premium-v3 {
    width: min(1180px, calc(100% - 32px));
    max-width: none;
    margin-inline: auto;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-shell,
.ufsc-club-account.ufsc-premium-v3 .ufsc-club-profile-shell {
    width: 100%;
    max-width: none;
    margin-inline: auto;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-header--premium,
.ufsc-club-account.ufsc-premium-v3 .ufsc-profile-header {
    isolation: isolate;
    border-radius: var(--ufsc-front-radius-lg);
    border: 1px solid rgba(255, 255, 255, .32);
    background:
        radial-gradient(circle at 88% 12%, rgba(15, 159, 186, .46), transparent 34%),
        linear-gradient(135deg, #062f54 0%, #0b4f86 47%, #0f6ea6 100%);
    box-shadow: var(--ufsc-front-shadow-lg);
    padding: clamp(20px, 2.4vw, 30px);
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: clamp(20px, 2.5vw, 32px);
    align-items: start;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-brand {
    align-items: flex-start;
    gap: 18px;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-logo {
    width: 96px;
    height: 96px;
    flex: 0 0 96px;
    border-radius: 18px;
    padding: 4px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 14px 30px rgba(3, 21, 37, .28);
    object-fit: contain;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-title h2,
.ufsc-club-account.ufsc-premium-v3 .ufsc-profile-header h3 {
    max-width: 780px;
    color: #ffffff;
    font-size: clamp(2rem, 4vw, 3.45rem);
    font-weight: 850;
    letter-spacing: -.04em;
}

.ufsc-club-account.ufsc-club-profile.ufsc-premium-v3 .ufsc-profile-header {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.ufsc-club-account.ufsc-club-profile.ufsc-premium-v3 .ufsc-profile-header h3 {
    font-size: clamp(1.75rem, 3vw, 2.35rem);
}

.ufsc-club-account.ufsc-club-profile.ufsc-premium-v3 .ufsc-profile-header .ufsc-permission-notice {
    margin: 0;
    max-width: 520px;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-subtitle {
    color: rgba(255, 255, 255, .93);
    font-size: clamp(1rem, 1.5vw, 1.18rem);
    max-width: 760px;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-club-account__identity {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 0;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-club-account__identity > div {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .24);
    min-width: 0;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-club-account__identity dt {
    color: rgba(255, 255, 255, .74);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-club-account__identity dd,
.ufsc-club-account.ufsc-premium-v3 .ufsc-club-account__identity a {
    color: #ffffff;
    font-size: .98rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-actions--primary {
    margin-top: 18px;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-btn,
.ufsc-club-account.ufsc-premium-v3 .button,
.ufsc-club-account.ufsc-premium-v3 button[type="submit"] {
    border-radius: 999px;
    font-weight: 800;
    letter-spacing: -.01em;
    min-height: 44px;
    padding: 11px 18px;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-btn:focus-visible,
.ufsc-club-account.ufsc-premium-v3 .button:focus-visible,
.ufsc-club-account.ufsc-premium-v3 input:focus-visible,
.ufsc-club-account.ufsc-premium-v3 select:focus-visible,
.ufsc-club-account.ufsc-premium-v3 textarea:focus-visible {
    outline: none;
    box-shadow: var(--ufsc-front-focus);
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-btn:hover,
.ufsc-club-account.ufsc-premium-v3 .button:hover,
.ufsc-club-account.ufsc-premium-v3 button[type="submit"]:hover {
    transform: translateY(-1px);
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-btn-primary,
.ufsc-club-account.ufsc-premium-v3 button.ufsc-btn-primary {
    background: #0b4f86;
    color: #ffffff;
    -webkit-text-fill-color: #ffffff;
    border: 2px solid #0b4f86;
    box-shadow: 0 16px 32px rgba(2, 20, 36, .24);
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-btn-secondary,
.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-actions .ufsc-btn-secondary {
    background: #f8fafc;
    color: #173b67;
    -webkit-text-fill-color: #173b67;
    border: 2px solid #173b67;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-hero-kpi-grid,
.ufsc-club-account.ufsc-premium-v3 .ufsc-profile-insight-band {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-hero-kpi-grid .ufsc-kpi-tile,
.ufsc-club-account.ufsc-premium-v3 .ufsc-profile-insight {
    min-height: 0;
    border-radius: var(--ufsc-front-radius-md);
    border: 1px solid var(--ufsc-front-border);
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    color: var(--ufsc-front-text);
    box-shadow: var(--ufsc-front-shadow-md);
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-hero-kpi-grid .ufsc-kpi-tile-label,
.ufsc-club-account.ufsc-premium-v3 .ufsc-profile-insight > span {
    color: var(--ufsc-front-muted);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .075em;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-hero-kpi-grid .ufsc-kpi-tile-value,
.ufsc-club-account.ufsc-premium-v3 .ufsc-profile-insight > strong {
    color: var(--ufsc-front-text);
    font-size: clamp(1.6rem, 2.8vw, 2.45rem);
    font-weight: 900;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-priority-detail {
    color: var(--ufsc-front-muted);
    font-weight: 700;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-hero-side,
.ufsc-club-account.ufsc-premium-v3 .ufsc-club-hero-media {
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, .26);
    background: rgba(255, 255, 255, .12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-hero-side img,
.ufsc-club-account.ufsc-premium-v3 .photo-club-front {
    width: 100%;
    max-height: 260px;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 18px;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-mainpane,
.ufsc-club-account.ufsc-premium-v3 .ufsc-club-profile-shell {
    gap: 24px;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-club-account__nav,
.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-nav {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 0px);
    z-index: 3;
    border: 1px solid var(--ufsc-front-border);
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(12px);
    box-shadow: 0 14px 32px rgba(15, 23, 42, .09);
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-club-account__nav a,
.ufsc-club-account.ufsc-premium-v3 .ufsc-nav-btn {
    color: var(--ufsc-front-primary-strong);
    font-weight: 850;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-season-card,
.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-content > .ufsc-dashboard-section,
.ufsc-club-account.ufsc-premium-v3 .ufsc-card.ufsc-section,
.ufsc-club-account.ufsc-premium-v3 .ufsc-card.ufsc-form-section,
.ufsc-club-account.ufsc-premium-v3 .ufsc-club-hero {
    border: 1px solid var(--ufsc-front-border);
    border-radius: var(--ufsc-front-radius-md);
    background: var(--ufsc-front-surface);
    box-shadow: var(--ufsc-front-shadow-md);
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-club-hero {
    display: grid;
    grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
    gap: clamp(18px, 2.6vw, 34px);
    padding: clamp(18px, 2.4vw, 32px);
    background: linear-gradient(135deg, #ffffff 0%, #f5f9fe 100%);
    align-items: start;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-club-hero-content h4 {
    color: var(--ufsc-front-text);
    font-size: clamp(1.7rem, 3vw, 2.65rem);
    font-weight: 900;
    letter-spacing: -.035em;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-club-hero .ufsc-club-account__identity > div {
    background: #f7fbff;
    border-color: #d8e7f6;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-club-hero .ufsc-club-account__identity dt {
    color: var(--ufsc-front-muted);
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-club-hero .ufsc-club-account__identity dd,
.ufsc-club-account.ufsc-premium-v3 .ufsc-club-hero .ufsc-club-account__identity a {
    color: var(--ufsc-front-text);
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-profile-insight-band {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-club-profile-layout,
.ufsc-club-account.ufsc-premium-v3 .ufsc-club-profile-main {
    display: block;
    width: 100%;
    max-width: none;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-profile-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-section-board,
.ufsc-club-account.ufsc-premium-v3 .ufsc-club-account__documents,
.ufsc-club-account.ufsc-premium-v3 .ufsc-form-actions {
    grid-column: 1 / -1;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-card h4,
.ufsc-club-account.ufsc-premium-v3 .ufsc-card h3,
.ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-section h3 {
    color: var(--ufsc-front-text);
    font-weight: 900;
    letter-spacing: -.025em;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-grid {
    gap: 16px 18px;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-field label,
.ufsc-club-account.ufsc-premium-v3 .ufsc-label {
    color: #1e3a56;
    font-size: .82rem;
    font-weight: 850;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-field input,
.ufsc-club-account.ufsc-premium-v3 .ufsc-field select,
.ufsc-club-account.ufsc-premium-v3 .ufsc-field textarea {
    color: var(--ufsc-front-text);
    min-height: 48px;
    border: 1px solid #b9cde2;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: inset 0 1px 0 rgba(15, 23, 42, .03);
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-board-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-board-role-card {
    padding: 18px;
    border-radius: var(--ufsc-front-radius-md);
    border: 1px solid #c8dced;
    background: linear-gradient(180deg, #ffffff 0%, #f3f8fe 100%);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-document-card {
    border-radius: var(--ufsc-front-radius-md);
    border: 1px solid #cddff1;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
    padding: 18px;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-document-status,
.ufsc-club-account.ufsc-premium-v3 .ufsc-badge {
    font-weight: 850;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-document-actions {
    align-items: center;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-document-actions .button,
.ufsc-club-account.ufsc-premium-v3 .ufsc-upload-label,
.ufsc-club-account.ufsc-premium-v3 .ufsc-upload-photo,
.ufsc-club-account.ufsc-premium-v3 .ufsc-remove-photo {
    border-radius: 999px;
}

.ufsc-club-account.ufsc-premium-v3 .ufsc-club-account__savebar {
    position: sticky;
    bottom: 18px;
    z-index: 4;
    justify-content: flex-end;
    border: 1px solid rgba(203, 223, 243, .9);
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(14px);
}

@media (max-width: 1180px) {
    .ufsc-club-account.ufsc-premium-v3 .ufsc-club-hero,
    .ufsc-club-account.ufsc-premium-v3 .ufsc-club-profile-main {
        grid-template-columns: 1fr;
    }

    .ufsc-club-account.ufsc-premium-v3 .ufsc-profile-insight-band,
    .ufsc-club-account.ufsc-premium-v3 .ufsc-board-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ufsc-club-account.ufsc-premium-v3 {
        padding-inline: 12px;
    }

    .ufsc-club-account.ufsc-premium-v3 .ufsc-club-account__identity,
    .ufsc-club-account.ufsc-premium-v3 .ufsc-hero-kpi-grid,
    .ufsc-club-account.ufsc-premium-v3 .ufsc-profile-insight-band,
    .ufsc-club-account.ufsc-premium-v3 .ufsc-board-columns,
    .ufsc-club-account.ufsc-premium-v3 .ufsc-club-profile-documents .ufsc-documents-grid {
        grid-template-columns: 1fr;
    }

    .ufsc-club-account.ufsc-premium-v3 .ufsc-dashboard-actions,
    .ufsc-club-account.ufsc-premium-v3 .ufsc-document-actions,
    .ufsc-club-account.ufsc-premium-v3 .ufsc-hero-media-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ufsc-club-account.ufsc-premium-v3 .ufsc-btn,
    .ufsc-club-account.ufsc-premium-v3 .button,
    .ufsc-club-account.ufsc-premium-v3 button[type="submit"] {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .ufsc-club-account.ufsc-premium-v3 .ufsc-club-account__savebar {
        bottom: 8px;
    }
}

/* Phase 1 renewal: the label is the 44px hit target and sits above decorative layers. */
.ufsc-club-portal .ufsc-renewal-selection-control {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
    position: relative;
    z-index: 3;
}
.ufsc-club-portal .ufsc-renewal-selection-control:focus-within {
    border-radius: 6px;
    outline: 3px solid #0b63ce;
    outline-offset: 2px;
}
.ufsc-club-portal .ufsc-renewal-selection-control .ufsc-renewal-checkbox {
    accent-color: #173b67;
    cursor: pointer;
    height: 24px;
    margin: 0;
    width: 24px;
}
.ufsc-club-portal .ufsc-renewal-selection-control .ufsc-renewal-checkbox:disabled { cursor: not-allowed; }
.ufsc-club-portal .ufsc-archive-results { font-weight: 700; }

/* Portal Club UI: compact, responsive and isolated from the active theme. */
.ufsc-club-portal,
.ufsc-club-portal * { box-sizing: border-box; }
.ufsc-club-portal { max-width: 100%; min-width: 0; overflow-wrap: normal; }
.ufsc-club-portal .ufsc-btn { align-items: center; background: #fff; border: 2px solid #173b67; border-radius: 7px; color: #173b67; display: inline-flex; font-weight: 700; justify-content: center; line-height: 1.2; min-height: 44px; padding: 9px 15px; text-align: center; text-decoration: none; }
.ufsc-club-portal .ufsc-btn-primary { background: #173b67; color: #fff; }
.ufsc-club-portal .ufsc-btn-secondary { background: #fff; color: #173b67; }
.ufsc-club-portal .ufsc-btn-link { background: transparent; border-color: transparent; color: #9f1239; padding-inline: 8px; }
.ufsc-club-portal .ufsc-btn:hover { background: #0f2f55; border-color: #0f2f55; color: #fff; }
.ufsc-club-portal .ufsc-btn:active { transform: translateY(1px); }
.ufsc-club-portal .ufsc-btn:focus-visible,
.ufsc-club-portal :is(input,select,textarea,a,button):focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
.ufsc-club-portal .ufsc-btn:disabled,
.ufsc-club-portal .ufsc-btn-disabled { background: #e5e7eb; border-color: #6b7280; color: #374151; cursor: not-allowed; }

.ufsc-club-portal .ufsc-message { border: 1px solid #94a3b8; border-radius: 8px; margin-block: 12px; padding: 12px 14px; }
.ufsc-club-portal .ufsc-info { background: #eff6ff; border-color: #2563eb; color: #172554; }
.ufsc-club-portal .ufsc-warning { background: #fffbeb; border-color: #b45309; color: #451a03; }
.ufsc-club-portal .ufsc-error { background: #fff1f2; border-color: #be123c; color: #4c0519; }
.ufsc-club-portal .ufsc-success { background: #ecfdf5; border-color: #047857; color: #022c22; }

.ufsc-club-portal .ufsc-renewal-wizard { max-width: 1400px; width: 100%; }
.ufsc-club-portal .ufsc-renewal-filters { align-items: end; display: grid; gap: 10px; grid-template-columns: minmax(190px,1.5fr) repeat(5,minmax(130px,1fr)) auto auto; margin: 14px 0; }
.ufsc-club-portal .ufsc-renewal-filters label { display: grid; font-weight: 700; gap: 5px; min-width: 0; }
.ufsc-club-portal .ufsc-renewal-filters :is(input,select) { min-height: 44px; min-width: 0; width: 100%; }
.ufsc-club-portal .ufsc-renewal-list-tools { margin: 10px 0; }
.ufsc-club-portal .ufsc-renewal-table { table-layout: fixed; width: 100%; }
.ufsc-club-portal .ufsc-renewal-table th,
.ufsc-club-portal .ufsc-renewal-table td { overflow-wrap: anywhere; padding: 8px 10px; vertical-align: middle; }
.ufsc-club-portal .ufsc-renewal-table th:first-child { width: 7%; }
.ufsc-club-portal .ufsc-renewal-table th:nth-child(2) { width: 19%; }
.ufsc-club-portal .ufsc-renewal-table th:nth-child(3) { width: 13%; }
.ufsc-club-portal .ufsc-renewal-table th:nth-child(4) { width: 14%; }
.ufsc-club-portal .ufsc-renewal-table th:nth-child(5) { width: 11%; }
.ufsc-club-portal .ufsc-renewal-table th:last-child { width: 36%; }
.ufsc-club-portal .ufsc-renewal-selection-control { align-items: center; display: flex; justify-content: center; min-height: 44px; }
.ufsc-club-portal .ufsc-renewal-checkbox { accent-color: #173b67; height: 24px; margin: 0; width: 24px; }
.ufsc-club-portal .ufsc-renewal-source-row .ufsc-badge { display: inline-flex; font-size: .78rem; line-height: 1.2; padding: 4px 8px; }
.ufsc-club-portal .ufsc-renewal-reason { color: #334155; font-size: .86rem; line-height: 1.35; margin-top: 5px; }
.ufsc-club-portal .ufsc-renewal-missing { display: block; margin-top: 3px; }
.ufsc-club-portal .ufsc-renewal-button { gap: 3px; margin-top: 7px; min-width: 132px; }
.ufsc-club-portal .ufsc-renewal-button small { font-size: .72rem; margin-left: 4px; }
.ufsc-club-portal .ufsc-renewal-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.ufsc-club-portal .ufsc-renewal-pagination { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 14px 0; }
.ufsc-club-portal .ufsc-renewal-pagination .ufsc-btn { min-height: 44px; min-width: 44px; padding-inline: 11px; }
.ufsc-club-portal .ufsc-renewal-pagination [aria-current="page"] { background: #173b67; color: #fff; }

.ufsc-club-portal .ufsc-club-logo { align-items: center; aspect-ratio: 1/1; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; display: flex; justify-content: center; margin: 0; overflow: hidden; padding: 8px; width: 140px; }
.ufsc-club-portal .ufsc-club-logo img { display: block; height: 100%; max-height: 100%; max-width: 100%; object-fit: contain; object-position: center; width: 100%; }
.ufsc-club-portal .ufsc-club-logo--fallback { color: #173b67; font-size: 1.75rem; font-weight: 800; }
.ufsc-club-portal .ufsc-logo-editor { align-items: center; display: grid; gap: 8px 12px; grid-template-columns: 112px minmax(0, 1fr); max-width: none; width: 100%; }
.ufsc-club-portal .ufsc-logo-editor__title { grid-column: 1 / -1; margin: 0; }
.ufsc-club-portal .ufsc-logo-editor__preview { grid-row: span 2; }
.ufsc-club-portal .ufsc-logo-editor__upload { align-items: start; display: grid; gap: 6px; justify-items: start; width: 100%; }
.ufsc-club-portal .ufsc-logo-editor__file { max-width: 100%; width: 100%; }
.ufsc-club-portal .ufsc-logo-editor__help,
.ufsc-club-portal .ufsc-logo-editor__filename { font-size: .82rem; margin: 0; text-align: left; }
.ufsc-club-portal .ufsc-logo-editor__pending { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-start; }
.ufsc-club-portal .ufsc-logo-editor__pending[hidden] { display: none; }
.ufsc-club-portal .ufsc-logo-editor__remove { grid-column: 2; margin: 0; }

.ufsc-club-portal .ufsc-profile-cards { align-items: start; display: grid; gap: 16px; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
.ufsc-club-portal .ufsc-profile-cards > .ufsc-card { height: auto; margin: 0; min-width: 0; width: 100%; }
.ufsc-club-portal .ufsc-club-portal__section--full { grid-column: 1/-1; }
.ufsc-club-portal .ufsc-grid { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.ufsc-club-portal .ufsc-field { min-width: 0; }
.ufsc-club-portal .ufsc-field :is(input,select,textarea) { min-height: 44px; min-width: 0; width: 100%; }
.ufsc-club-portal .ufsc-field textarea { min-height: 110px; resize: vertical; }
.ufsc-club-portal .ufsc-board-columns { display: grid; gap: 14px; grid-template-columns: repeat(3,minmax(250px,1fr)); }
.ufsc-club-portal .ufsc-board-role-card { background: #f8fafc; border: 1px solid #dbe3ed; border-radius: 10px; min-width: 0; padding: 14px; }
.ufsc-club-portal .ufsc-board-role-card .ufsc-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ufsc-club-portal .ufsc-board-role-card .ufsc-field:has(input[type="email"]),
.ufsc-club-portal .ufsc-board-role-card .ufsc-field:has(input[type="tel"]) { grid-column: 1/-1; }
.ufsc-club-portal .ufsc-board-role-card--coach { grid-column: 1/-1; max-width: none; }
.ufsc-club-portal .ufsc-club-account__nav { display: flex; flex-wrap: wrap; gap: 6px; }
.ufsc-club-portal .ufsc-club-account__nav a { align-items: center; border: 1px solid #94a3b8; border-radius: 6px; color: #173b67; display: inline-flex; min-height: 44px; padding: 8px 12px; text-decoration: none; }
.ufsc-club-portal .ufsc-club-account__nav a[aria-current="page"] { background: #173b67; color: #fff; }

@media (max-width: 1100px) {
 .ufsc-club-portal .ufsc-renewal-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .ufsc-club-portal .ufsc-board-columns { grid-template-columns: repeat(2,minmax(250px,1fr)); }
}
@media (max-width: 780px) {
 .ufsc-club-portal .ufsc-front-table-scroll { overflow: visible; }
 .ufsc-club-portal .ufsc-renewal-table,
 .ufsc-club-portal .ufsc-renewal-table tbody { display: block; width: 100%; }
 .ufsc-club-portal .ufsc-renewal-table thead { display: none; }
 .ufsc-club-portal .ufsc-renewal-source-row { background: #fff; border: 1px solid #cbd5e1; border-radius: 10px; display: grid; gap: 0; margin-bottom: 12px; max-width: 100%; min-width: 0; padding: 10px 12px; width: 100%; }
 .ufsc-club-portal .ufsc-renewal-source-row td { border: 0; display: grid; gap: 8px; grid-template-columns: minmax(105px,35%) minmax(0,1fr); max-width: 100%; min-width: 0; padding: 6px 0; width: 100%; }
 .ufsc-club-portal .ufsc-renewal-source-row td::before { content: attr(data-label); font-weight: 700; }
 .ufsc-club-portal .ufsc-renewal-source-row td:first-child { align-items: center; }
 .ufsc-club-portal .ufsc-renewal-source-row td:last-child { display: block; }
 .ufsc-club-portal .ufsc-renewal-button { width: 100%; }
 .ufsc-club-portal .ufsc-renewal-profile-row { display: block; width: 100%; }
 .ufsc-club-portal .ufsc-renewal-profile-row td { display: block; width: 100%; }
 .ufsc-club-portal .ufsc-board-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
 .ufsc-club-portal .ufsc-renewal-filters,
 .ufsc-club-portal .ufsc-grid,
 .ufsc-club-portal .ufsc-board-columns { grid-template-columns: 1fr; }
 .ufsc-club-portal .ufsc-renewal-actions { align-items: stretch; flex-direction: column; }
 .ufsc-club-portal .ufsc-renewal-actions .ufsc-btn { width: 100%; }
 .ufsc-club-portal .ufsc-renewal-pagination { justify-content: flex-start; }
 .ufsc-club-portal .ufsc-club-hero { grid-template-columns: 1fr; }
 .ufsc-club-portal .ufsc-logo-editor { max-width: 100%; width: 100%; }
 .ufsc-club-portal .ufsc-club-account__nav { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; }
}
@media (prefers-reduced-motion: reduce) {
 .ufsc-club-portal *, .ufsc-club-portal *::before, .ufsc-club-portal *::after { scroll-behavior: auto; transition-duration: .01ms; }
}

/* Final DEV corrective contract: visible without hover and resistant to narrow grid tracks. */
.ufsc-club-portal .ufsc-btn {
 min-width: max-content;
 opacity: 1;
 overflow: visible;
 padding-inline: 18px;
 pointer-events: auto;
 visibility: visible;
 white-space: nowrap;
}
.ufsc-club-portal .ufsc-renewal-filters { grid-template-columns: repeat(4,minmax(150px,1fr)); }
.ufsc-club-portal .ufsc-renewal-filters > .ufsc-btn { min-width: 160px; width: 100%; }
.ufsc-club-portal .ufsc-renewal-season-context { background: #eff6ff; border-radius: 7px; color: #172554; padding: 10px 12px; }
.ufsc-club-portal .ufsc-renewal-completeness { border: 1px solid currentColor; border-radius: 7px; display: flex; flex-wrap: wrap; gap: 8px; margin-block: 10px; padding: 10px 12px; }
.ufsc-club-portal .ufsc-cart-readiness { flex-basis: 100%; font-size: .9rem; }
.ufsc-club-portal .ufsc-renewal-pagination a.ufsc-btn { background: #f8fafc; border-color: #173b67; color: #173b67; opacity: 1; visibility: visible; }
.ufsc-club-portal .ufsc-renewal-pagination a.ufsc-btn:hover,
.ufsc-club-portal .ufsc-renewal-pagination a.ufsc-btn:focus-visible { background: #173b67; color: #fff; }
.ufsc-club-portal .ufsc-renewal-pagination [aria-current="page"] { background: #173b67; border: 2px solid #173b67; color: #fff; }
.ufsc-club-portal .ufsc-renewal-pagination [aria-disabled="true"] { background: #e5e7eb; border: 2px solid #6b7280; color: #374151; }
.ufsc-club-portal .ufsc-archive-filter-form { align-items: end; display: grid; gap: 10px; grid-template-columns: minmax(220px,1fr) auto auto; }
.ufsc-club-portal .ufsc-archive-filter-form label { display: grid; font-weight: 700; gap: 5px; }
.ufsc-club-portal .ufsc-archive-filter-form select { min-height: 44px; width: 100%; }
.ufsc-club-portal .ufsc-dashboard-logo { padding: 4px; width: 96px; }
.ufsc-club-portal .ufsc-dashboard-actions--primary { display: grid; gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.ufsc-club-portal .ufsc-dashboard-actions--primary .ufsc-btn { min-width: 0; width: 100%; }
.ufsc-club-portal .ufsc-attestation-card { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 8px; min-height: 0; padding: 12px; }
.ufsc-club-portal .ufsc-attestation-card small { flex-basis: 100%; }
.ufsc-club-portal .ufsc-club-account__nav { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); width: 100%; }
.ufsc-club-portal .ufsc-club-account__nav a { justify-content: center; min-width: 0; text-align: center; }
.ufsc-club-portal .ufsc-logo-editor__file {
 clip: rect(0 0 0 0);
 clip-path: inset(50%);
 height: 1px;
 overflow: hidden;
 position: absolute;
 white-space: nowrap;
 width: 1px;
}
.ufsc-club-portal .ufsc-logo-editor__filename { max-width: 100%; overflow-wrap: anywhere; }
.ufsc-club-portal .ufsc-current-licence-filters .ufsc-filter-actions { align-items: end; display: flex; flex-wrap: wrap; gap: 8px; grid-column: span 2; }
.ufsc-club-portal .ufsc-current-licences { scroll-margin-top: 96px; }
.ufsc-club-portal .ufsc-licence-table--current td:last-child { display: flex; flex-wrap: wrap; gap: 8px; }
.ufsc-club-portal .ufsc-pagination-wrapper { display: flex; flex-wrap: wrap; gap: 6px; margin-block: 16px; }
.ufsc-club-portal .ufsc-page-link { align-items: center; background: #f8fafc; border: 2px solid #173b67; border-radius: 7px; color: #173b67; display: inline-flex; justify-content: center; min-height: 44px; min-width: 44px; padding: 8px 12px; text-decoration: none; }
.ufsc-club-portal .ufsc-page-link.current { background: #173b67; color: #fff; }
.ufsc-club-portal .ufsc-page-link.disabled { background: #e5e7eb; border-color: #6b7280; color: #374151; }
.ufsc-club-portal .ufsc-page-link[href]:hover,
.ufsc-club-portal .ufsc-page-link[href]:focus-visible { background: #173b67; color: #fff; outline: 3px solid #f59e0b; outline-offset: 2px; }
@media (max-width: 900px) {
 .ufsc-club-portal .ufsc-renewal-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .ufsc-club-portal .ufsc-club-account__nav { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .ufsc-club-portal .ufsc-licence-table--current thead { display: none; }
 .ufsc-club-portal .ufsc-licence-table--current,
 .ufsc-club-portal .ufsc-licence-table--current tbody { display: block; width: 100%; }
 .ufsc-club-portal .ufsc-licence-table--current tr { border: 1px solid #cbd5e1; border-radius: 10px; display: block; margin-bottom: 12px; padding: 10px; width: 100%; }
 .ufsc-club-portal .ufsc-licence-table--current td { border: 0; display: grid; gap: 8px; grid-template-columns: minmax(110px,35%) minmax(0,1fr); overflow-wrap: anywhere; padding: 6px 0; width: 100%; }
 .ufsc-club-portal .ufsc-licence-table--current td::before { content: attr(data-label); font-weight: 700; }
 .ufsc-club-portal .ufsc-licence-table--current td:last-child { display: flex; }
}
@media (max-width: 600px) {
 .ufsc-club-portal .ufsc-btn { min-width: 0; white-space: normal; width: 100%; }
 .ufsc-club-portal .ufsc-renewal-filters,
 .ufsc-club-portal .ufsc-archive-filter-form,
 .ufsc-club-portal .ufsc-dashboard-actions--primary { grid-template-columns: 1fr; }
 .ufsc-club-portal .ufsc-club-account__nav { display: flex; }
 .ufsc-club-portal .ufsc-dashboard-logo { width: 72px; }
 .ufsc-club-portal .ufsc-current-licence-filters .ufsc-filter-actions { display: grid; grid-column: auto; grid-template-columns: 1fr; }
 .ufsc-club-portal .ufsc-licence-table--current td { grid-template-columns: 1fr; }
 .ufsc-club-portal .ufsc-licence-table--current td:last-child { align-items: stretch; flex-direction: column; }
}

/* Canonical Club portal color contract. It closes the cascade left open by
   Astra, Elementor, WooCommerce and the legacy UFSC layers without global selectors. */
:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) {
 --ufsc-control-primary: #0b4f86;
 --ufsc-control-primary-hover: #073b66;
 --ufsc-control-surface: #f8fafc;
 --ufsc-control-text: #0f172a;
 --ufsc-control-muted: #475569;
 --ufsc-control-border: #0b4f86;
 --ufsc-control-danger: #b91c1c;
 --ufsc-control-disabled-bg: #e5e7eb;
 --ufsc-control-disabled-text: #374151;
 --ufsc-control-disabled-border: #6b7280;
 --ufsc-control-focus: #073b66;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(.ufsc-btn, .ufsc-page-link, .ufsc-action),
:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) .ufsc-licence-actions .ufsc-action {
 align-items: center;
 background: var(--ufsc-control-surface);
 border: 2px solid var(--ufsc-control-border);
 border-radius: 8px;
 color: var(--ufsc-control-primary);
 -webkit-text-fill-color: var(--ufsc-control-primary);
 display: inline-flex;
 font-weight: 750;
 justify-content: center;
 line-height: 1.25;
 min-height: 44px;
 opacity: 1;
 padding: 10px 18px;
 text-align: center;
 text-decoration: none;
 visibility: visible;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(.ufsc-btn-primary, .ufsc-action-primary),
:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) .ufsc-licence-actions .ufsc-action-primary {
 background: var(--ufsc-control-primary);
 border-color: var(--ufsc-control-primary);
 color: #fff;
 -webkit-text-fill-color: #fff;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(.ufsc-btn, .ufsc-page-link, .ufsc-action):is(:hover, :active),
:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) .ufsc-licence-actions .ufsc-action:is(:hover, :active) {
 background: var(--ufsc-control-primary-hover);
 border-color: var(--ufsc-control-primary-hover);
 color: #fff;
 -webkit-text-fill-color: #fff;
 opacity: 1;
 visibility: visible;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(.ufsc-btn-danger, .ufsc-btn-link, .ufsc-action-danger, .ufsc-action[href*="delete_licence"]) {
 background: #fff;
 border-color: var(--ufsc-control-danger);
 color: var(--ufsc-control-danger);
 -webkit-text-fill-color: var(--ufsc-control-danger);
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(.ufsc-btn-danger, .ufsc-btn-link, .ufsc-action-danger, .ufsc-action[href*="delete_licence"]):is(:hover, :active) {
 background: var(--ufsc-control-danger);
 border-color: var(--ufsc-control-danger);
 color: #fff;
 -webkit-text-fill-color: #fff;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(.ufsc-btn, .ufsc-page-link, .ufsc-action):focus-visible,
:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) .ufsc-page-link[href]:focus-visible,
:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) .ufsc-licence-actions .ufsc-action:focus-visible {
 box-shadow: 0 0 0 3px #fff;
 outline: 3px solid var(--ufsc-control-focus);
 outline-offset: 3px;
 opacity: 1;
 visibility: visible;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(.ufsc-btn, .ufsc-page-link, .ufsc-action):is(:disabled, [disabled], [aria-disabled="true"], .ufsc-btn-disabled, .disabled) {
 background: var(--ufsc-control-disabled-bg);
 border-color: var(--ufsc-control-disabled-border);
 color: var(--ufsc-control-disabled-text);
 -webkit-text-fill-color: var(--ufsc-control-disabled-text);
 cursor: not-allowed;
 opacity: 1;
 transform: none;
 visibility: visible;
}

:is(.ufsc-club-portal, .ufsc-licences-section) .ufsc-renewal-pagination [aria-current="page"],
:is(.ufsc-club-portal, .ufsc-licences-section) .ufsc-page-link.current {
 background: var(--ufsc-control-primary);
 border-color: var(--ufsc-control-primary);
 color: #fff;
 -webkit-text-fill-color: #fff;
 opacity: 1;
 visibility: visible;
}

.ufsc-club-portal .ufsc-club-account__nav a {
 align-items: center;
 background: var(--ufsc-control-surface);
 border: 1px solid var(--ufsc-control-border);
 border-radius: 8px;
 color: var(--ufsc-control-primary);
 -webkit-text-fill-color: var(--ufsc-control-primary);
 display: flex;
 justify-content: center;
 min-height: 44px;
 opacity: 1;
 padding: 9px 12px;
 text-align: center;
 text-decoration: none;
 visibility: visible;
}

.ufsc-club-portal .ufsc-club-account__nav a:is(:hover, :active),
.ufsc-club-portal .ufsc-club-account__nav a[aria-current="page"] {
 background: var(--ufsc-control-primary-hover);
 border-color: var(--ufsc-control-primary-hover);
 color: #fff;
 -webkit-text-fill-color: #fff;
}

.ufsc-club-portal .ufsc-club-account__nav a:focus-visible {
 box-shadow: 0 0 0 3px #fff;
 outline: 3px solid var(--ufsc-control-focus);
 outline-offset: 3px;
}

.ufsc-club-portal .ufsc-attestation-card {
 background: #fff;
 border: 1px solid #cbd5e1;
 color: var(--ufsc-control-text);
 -webkit-text-fill-color: var(--ufsc-control-text);
 opacity: 1;
 visibility: visible;
}

.ufsc-club-portal .ufsc-attestation-card strong {
 color: var(--ufsc-control-text);
 -webkit-text-fill-color: var(--ufsc-control-text);
}

.ufsc-club-portal .ufsc-attestation-card small {
 color: var(--ufsc-control-muted);
 -webkit-text-fill-color: var(--ufsc-control-muted);
}

.ufsc-club-portal .ufsc-attestation-card .ufsc-badge {
 opacity: 1;
 visibility: visible;
 -webkit-text-fill-color: currentColor;
}

.ufsc-add-licence-section .ufsc-honorability-document-card a:not(.ufsc-btn) {
 color: var(--ufsc-control-primary);
 -webkit-text-fill-color: var(--ufsc-control-primary);
 font-weight: 700;
 opacity: 1;
 text-decoration: underline;
 visibility: visible;
}

.ufsc-add-licence-section .ufsc-honorability-document-card a:not(.ufsc-btn):is(:hover, :active) {
 color: var(--ufsc-control-primary-hover);
 -webkit-text-fill-color: var(--ufsc-control-primary-hover);
}

.ufsc-add-licence-section .ufsc-honorability-document-card a:not(.ufsc-btn):focus-visible {
 box-shadow: 0 0 0 3px #fff;
 outline: 3px solid var(--ufsc-control-focus);
 outline-offset: 3px;
}
.ufsc-club-portal.ufsc-club-account .ufsc-dashboard-logo { height: 96px; padding: 4px; width: 112px; }

/* Final runtime layout: content, never a viewport-sized blue placeholder, owns height. */
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-header--premium,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-hero-layout,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-mainpane,
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-content {
    height: auto;
    min-height: 0;
}
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-hero-layout {
    align-items: start;
    grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
}
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-hero-kpi-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-pack-summary { grid-column: 1 / -1; width: 100%; }

/* Astra-safe visible controls: scoped to the portal, never global links. */
.ufsc-club-portal :is(.ufsc-btn,.button,button,input[type="submit"]):not(:disabled) {
    opacity: 1;
    visibility: visible;
}
@media (max-width: 1199px) {
    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-hero-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-hero-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-hero-layout { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
 .ufsc-club-portal.ufsc-club-account .ufsc-btn { white-space: normal; width: 100%; }
 .ufsc-club-portal.ufsc-club-account .ufsc-club-account__nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
 .ufsc-club-portal.ufsc-club-account .ufsc-dashboard-logo { height: 76px; width: 76px; }
}

/* Canonical responsive adaptation contract. The four roots cover the Club
   dashboard, licence lists, licence detail and add/edit journey without
   changing Astra, Elementor or WooCommerce outside UFSC surfaces. */
:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section),
:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) *,
:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) *::before,
:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) *::after {
 box-sizing: border-box;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) {
 inline-size: min(1180px, calc(100% - 32px));
 margin-inline: auto;
 max-inline-size: 100%;
 min-inline-size: 0;
}

.ufsc-club-portal :is(.ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) {
 inline-size: 100%;
 margin-inline: 0;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(
 .ufsc-dashboard-shell,
 .ufsc-dashboard-mainpane,
 .ufsc-licences-workspace,
 .ufsc-renewal-wizard,
 .ufsc-profile-cards,
 .ufsc-licence-form,
 .ufsc-form-section,
 fieldset
) {
 max-inline-size: 100%;
 min-inline-size: 0;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(img, svg, video, canvas) {
 block-size: auto;
 max-inline-size: 100%;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(.ufsc-btn, .ufsc-page-link, .ufsc-action) {
 hyphens: none;
 max-inline-size: 100%;
 min-block-size: 44px;
 min-inline-size: 44px;
 overflow-wrap: normal;
 white-space: normal;
 word-break: normal;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
 select,
 textarea
) {
 max-inline-size: 100%;
 min-block-size: 44px;
 min-inline-size: 0;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) label:has(> input:is([type="checkbox"], [type="radio"])),
:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(.ufsc-checkbox-label, .ufsc-renewal-selection-control) {
 align-items: center;
 cursor: pointer;
 display: flex;
 gap: 10px;
 inline-size: fit-content;
 max-inline-size: 100%;
 min-block-size: 44px;
 padding-block: 6px;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) label:has(> input:is([type="checkbox"], [type="radio"])) > input,
:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(.ufsc-checkbox-label, .ufsc-renewal-selection-control) input:is([type="checkbox"], [type="radio"]) {
 accent-color: var(--ufsc-control-primary);
 block-size: 24px;
 cursor: pointer;
 flex: 0 0 24px;
 inline-size: 24px;
 margin: 0;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) td > input:is([type="checkbox"], [type="radio"]):not(.ufsc-renewal-selection-control input) {
 accent-color: var(--ufsc-control-primary);
 block-size: 44px;
 cursor: pointer;
 inline-size: 44px;
 margin: 0;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) label:has(> input:is([type="checkbox"], [type="radio"])):focus-within,
:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(.ufsc-checkbox-label, .ufsc-renewal-selection-control):focus-within {
 border-radius: 8px;
 outline: 3px solid var(--ufsc-control-focus);
 outline-offset: 3px;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(
 .ufsc-renewal-actions,
 .ufsc-club-portal__actions,
 .ufsc-licence-wizard-navigation,
 .ufsc-form-actions,
 .ufsc-final-buttons,
 .ufsc-document-actions,
 .ufsc-hero-media-actions,
 .ufsc-filter-actions
) {
 align-items: stretch;
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
 justify-content: flex-start;
 max-inline-size: 100%;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(
 .ufsc-renewal-actions,
 .ufsc-club-portal__actions,
 .ufsc-licence-wizard-navigation,
 .ufsc-form-actions,
 .ufsc-final-buttons,
 .ufsc-document-actions,
 .ufsc-hero-media-actions,
 .ufsc-filter-actions
) > :is(.ufsc-btn, .ufsc-action) {
 flex: 0 1 auto;
}

.ufsc-club-portal .ufsc-dashboard-actions--primary {
 align-items: stretch;
 display: grid;
 gap: 10px;
 grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}

.ufsc-club-portal .ufsc-dashboard-actions--primary > .ufsc-btn {
 inline-size: 100%;
 min-inline-size: 0;
}

.ufsc-club-portal .ufsc-dashboard-nav {
 align-items: stretch;
 display: grid;
 gap: 8px;
 grid-template-columns: repeat(4, minmax(0, 1fr));
 inline-size: 100%;
 overflow: visible;
}

.ufsc-club-portal .ufsc-demographic-summary {
 margin-block: 24px;
}

.ufsc-club-portal .ufsc-demographic-grid {
 display: grid;
 gap: 12px;
 grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
}

.ufsc-club-portal .ufsc-demographic-card {
 align-items: center;
 color: var(--ufsc-control-text);
 display: flex;
 gap: 10px;
 justify-content: space-between;
 min-block-size: 64px;
 padding: 14px;
 text-decoration: none;
}

.ufsc-club-portal .ufsc-demographic-card strong {
 color: var(--ufsc-control-primary);
 font-size: 1.2rem;
}

.ufsc-club-portal :is(.ufsc-demographic-card, a.ufsc-kpi-tile):is(:hover, :focus-visible) {
 border-color: var(--ufsc-control-primary);
 color: var(--ufsc-control-primary-hover);
}

.ufsc-club-portal .ufsc-board-role-card__heading,
.ufsc-club-portal .ufsc-board-role-card__actions {
 align-items: center;
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
 justify-content: space-between;
}

.ufsc-club-portal .ufsc-board-role-card__actions {
 justify-content: flex-start;
 margin-block-start: 14px;
}

.ufsc-club-portal .ufsc-officer-summary {
 display: grid;
 gap: 8px;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 margin-block: 14px;
}

.ufsc-club-portal .ufsc-officer-summary div { min-inline-size: 0; }
.ufsc-club-portal .ufsc-officer-summary dt { color: var(--ufsc-control-muted); font-size: .78rem; font-weight: 700; }
.ufsc-club-portal .ufsc-officer-summary dd { margin: 2px 0 0; overflow-wrap: anywhere; }

@media (max-width: 767px) {
 .ufsc-club-portal .ufsc-officer-summary { grid-template-columns: minmax(0, 1fr); }
 .ufsc-club-portal .ufsc-board-role-card__actions { display: grid; grid-template-columns: minmax(0, 1fr); }
 .ufsc-club-portal .ufsc-board-role-card__actions .ufsc-btn { inline-size: 100%; }
}

.ufsc-club-portal .ufsc-dashboard-nav .ufsc-nav-btn {
 background: var(--ufsc-control-surface);
 border: 1px solid var(--ufsc-control-border);
 border-radius: 8px;
 color: var(--ufsc-control-primary);
 -webkit-text-fill-color: var(--ufsc-control-primary);
 inline-size: 100%;
 min-block-size: 44px;
 min-inline-size: 0;
 overflow-wrap: normal;
 padding: 9px 12px;
 white-space: normal;
 word-break: normal;
}

.ufsc-club-portal .ufsc-dashboard-nav .ufsc-nav-btn:is(:hover, :active, .active) {
 background: var(--ufsc-control-primary-hover);
 border-color: var(--ufsc-control-primary-hover);
 color: #fff;
 -webkit-text-fill-color: #fff;
}

.ufsc-club-portal .ufsc-dashboard-nav .ufsc-nav-btn:focus-visible {
 box-shadow: 0 0 0 3px #fff;
 outline: 3px solid var(--ufsc-control-focus);
 outline-offset: 3px;
}

.ufsc-club-portal .ufsc-club-account__nav {
 align-items: stretch;
 display: grid;
 gap: 8px;
 grid-template-columns: repeat(6, minmax(0, 1fr));
 inline-size: 100%;
 overflow: visible;
}

.ufsc-club-portal .ufsc-club-account__nav a {
 block-size: auto;
 inline-size: 100%;
 min-inline-size: 0;
 overflow-wrap: normal;
 word-break: normal;
}

:is(.ufsc-club-portal, .ufsc-licences-section) :is(.ufsc-renewal-filters, .ufsc-archive-filter-form) {
 align-items: end;
 display: grid;
 gap: 12px;
 grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
 inline-size: 100%;
}

:is(.ufsc-club-portal, .ufsc-licences-section) :is(.ufsc-renewal-filters, .ufsc-archive-filter-form) > :is(label, .ufsc-filter-actions, .ufsc-btn) {
 margin: 0;
 min-inline-size: 0;
}

:is(.ufsc-club-portal, .ufsc-licences-section) .ufsc-current-licence-filters .ufsc-filter-actions {
 grid-column: 1 / -1;
}

:is(.ufsc-club-portal, .ufsc-licences-section) .ufsc-front-table-scroll {
 inline-size: 100%;
 max-inline-size: 100%;
 overflow-x: auto;
 overflow-y: visible;
 overscroll-behavior-inline: contain;
 scrollbar-gutter: stable;
}

:is(.ufsc-club-portal, .ufsc-licences-section) .ufsc-front-table-scroll > table {
 max-inline-size: none;
}

.ufsc-licence-detail .ufsc-table {
 inline-size: 100%;
 max-inline-size: 100%;
 table-layout: fixed;
}

.ufsc-licence-detail .ufsc-table :is(th, td) {
 overflow-wrap: anywhere;
 word-break: normal;
}

.ufsc-licence-detail .ufsc-table th {
 inline-size: min(38%, 220px);
}

:is(.ufsc-club-portal, .ufsc-licences-section) :is(.ufsc-renewal-pagination, .ufsc-pagination-wrapper) {
 align-items: stretch;
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
 inline-size: 100%;
 justify-content: center;
 max-inline-size: 100%;
 overflow: visible;
}

:is(.ufsc-club-portal, .ufsc-licences-section) :is(.ufsc-renewal-pagination, .ufsc-pagination-wrapper) :is(.ufsc-btn, .ufsc-page-link) {
 flex: 0 1 auto;
 margin: 0;
 min-inline-size: 44px;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(
 .ufsc-card,
 .ufsc-kpi-tile,
 .ufsc-profile-insight,
 .ufsc-season-card,
 .ufsc-attestation-card,
 .ufsc-dashboard-header,
 .ufsc-club-hero
) {
 block-size: auto;
 max-block-size: none;
 min-block-size: 0;
}

:is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(a.ufsc-kpi-tile, .ufsc-pack-summary a, summary) {
 min-block-size: 44px;
}

.ufsc-club-portal.ufsc-club-account .ufsc-dashboard-logo {
 aspect-ratio: 1;
 block-size: clamp(76px, 8vw, 96px);
 flex: 0 0 auto;
 inline-size: clamp(76px, 8vw, 96px);
 max-inline-size: 24vw;
 object-fit: contain;
 object-position: center;
}

.ufsc-club-portal .ufsc-club-logo {
 block-size: clamp(96px, 10vw, 120px);
 inline-size: clamp(96px, 10vw, 120px);
 max-inline-size: 100%;
}

.ufsc-club-portal .ufsc-logo-editor .ufsc-club-logo {
 block-size: 112px;
 inline-size: 112px;
}

@media (min-width: 768px) and (max-width: 1199px) {
 .ufsc-club-portal .ufsc-dashboard-nav {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 .ufsc-club-portal .ufsc-club-account__nav {
  grid-template-columns: repeat(3, minmax(0, 1fr));
 }

 :is(.ufsc-club-portal, .ufsc-licences-section) :is(.ufsc-renewal-filters, .ufsc-archive-filter-form) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 .ufsc-club-portal :is(.ufsc-profile-cards, .ufsc-profile-insight-band, .ufsc-board-columns, .ufsc-documents-grid) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }
}

@media (max-width: 767px) {
 :is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) {
  inline-size: min(1180px, calc(100% - 32px));
 }

 .ufsc-club-portal .ufsc-dashboard-nav,
 .ufsc-club-portal .ufsc-club-account__nav {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 :is(.ufsc-club-portal, .ufsc-licences-section) :is(.ufsc-renewal-filters, .ufsc-archive-filter-form),
 .ufsc-club-portal :is(.ufsc-grid, .ufsc-profile-cards, .ufsc-board-columns, .ufsc-documents-grid),
 .ufsc-add-licence-section :is(.ufsc-form-grid, .ufsc-form-row) {
  grid-template-columns: minmax(0, 1fr);
 }

 :is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(
  .ufsc-renewal-actions,
  .ufsc-club-portal__actions,
  .ufsc-licence-wizard-navigation,
  .ufsc-form-actions,
  .ufsc-final-buttons,
  .ufsc-document-actions,
  .ufsc-hero-media-actions,
  .ufsc-filter-actions
 ) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
 }

 :is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(
  .ufsc-renewal-actions,
  .ufsc-club-portal__actions,
  .ufsc-licence-wizard-navigation,
  .ufsc-form-actions,
  .ufsc-final-buttons,
  .ufsc-document-actions,
  .ufsc-hero-media-actions,
  .ufsc-filter-actions
 ) > :is(.ufsc-btn, .ufsc-action) {
  inline-size: 100%;
 }

 :is(.ufsc-club-portal, .ufsc-licences-section) .ufsc-front-table-scroll:has(:is(.ufsc-renewal-table, .ufsc-licence-table--current)) {
  overflow-x: visible;
  scrollbar-gutter: auto;
 }

 :is(.ufsc-club-portal, .ufsc-licences-section) :is(.ufsc-renewal-table, .ufsc-licence-table--current) {
  inline-size: 100%;
  min-inline-size: 0;
 }

 :is(.ufsc-club-portal, .ufsc-licences-section) :is(.ufsc-renewal-pagination, .ufsc-pagination-wrapper) :is(.ufsc-btn, .ufsc-page-link) {
  flex: 1 1 132px;
 }

 :is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) label:has(> input:is([type="checkbox"], [type="radio"])),
 :is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(.ufsc-checkbox-label, .ufsc-renewal-selection-control) {
  inline-size: 100%;
 }

 .ufsc-club-portal .ufsc-dashboard-brand {
  align-items: start;
  grid-template-columns: minmax(0, 1fr);
 }

 .ufsc-club-account.ufsc-club-profile.ufsc-premium-v3 .ufsc-profile-header {
  flex-direction: column;
 }

 .ufsc-club-portal .ufsc-logo-editor {
  grid-template-columns: 96px minmax(0, 1fr);
 }

 .ufsc-club-portal .ufsc-logo-editor .ufsc-club-logo {
  block-size: 96px;
  inline-size: 96px;
 }
}

@media (max-width: 479px) {
 :is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) {
  inline-size: min(1180px, calc(100% - 32px));
 }

 .ufsc-club-portal .ufsc-dashboard-nav,
 .ufsc-club-portal .ufsc-club-account__nav {
  grid-template-columns: minmax(0, 1fr);
 }

 .ufsc-club-portal .ufsc-dashboard-actions--primary {
  grid-template-columns: minmax(0, 1fr);
 }

 :is(.ufsc-club-portal, .ufsc-licences-section) :is(.ufsc-renewal-pagination, .ufsc-pagination-wrapper) {
  justify-content: stretch;
 }
}

@media (min-width: 1200px) {
 .ufsc-club-portal .ufsc-club-account__nav {
  grid-template-columns: repeat(6, minmax(0, 1fr));
 }
}

@media (min-width: 1440px) {
 :is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) {
  max-inline-size: 1180px;
 }
}

@media (pointer: coarse) {
 :is(.ufsc-club-portal, .ufsc-licences-section, .ufsc-licence-detail, .ufsc-add-licence-section) :is(
  .ufsc-btn,
  .ufsc-page-link,
  .ufsc-action,
  input,
  select,
  summary
 ) {
  min-block-size: 44px;
 }
}

/* Final portal layout precedence.
 * Keep these rules last: this stylesheet contains older tablet breakpoints
 * for the same selectors, while the dashboard and account navigation now
 * use their own component layout contracts. */
.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-header--premium {
 display: block;
 grid-template-columns: none;
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-hero-layout {
 display: grid;
 grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
 width: 100%;
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 :is(.ufsc-hero-left, .ufsc-hero-right) {
 grid-column: auto;
 min-width: 0;
}

@media (min-width: 900px) {
 .ufsc-club-portal .ufsc-club-account__nav {
  grid-template-columns: repeat(6, minmax(0, 1fr));
 }
}

@media (min-width: 768px) and (max-width: 899px) {
 .ufsc-club-portal .ufsc-club-account__nav {
  grid-template-columns: repeat(3, minmax(0, 1fr));
 }
}

@media (max-width: 767px) {
 .ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-hero-layout {
  grid-template-columns: minmax(0, 1fr);
 }

 .ufsc-club-portal .ufsc-club-account__nav {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }
}

/* Dashboard demographics: a compact, high-contrast panel inside the blue hero. */
.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-dashboard-header--premium {
 height: auto;
 min-height: 0;
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-summary {
 background: #ffffff;
 border: 1px solid #cbdff3;
 border-radius: 18px;
 box-shadow: 0 14px 32px rgba(3, 27, 49, .18);
 color: #0f172a;
 margin: 0;
 padding: 18px;
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-summary h3 {
 color: #0b3b66;
 font-size: 1.15rem;
 margin: 0 0 14px;
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-grid {
 gap: 12px;
 grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-card {
 align-items: center;
 background: #f6f9fd;
 border: 1px solid #d8e7f6;
 border-radius: 14px;
 color: #173b67;
 display: grid;
 gap: 8px;
 grid-template-columns: minmax(0, 1fr) auto;
 line-height: 1.25;
 min-block-size: 78px;
 padding: 12px 14px;
 text-align: left;
 text-decoration: none;
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-card :is(span, small, p) {
 color: #173b67;
 font-size: .9rem;
 font-weight: 750;
 line-height: 1.25;
 margin: 0;
 overflow-wrap: normal;
 text-decoration: none;
 word-break: normal;
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-card strong {
 color: #0b5fa5;
 font-size: 2rem;
 line-height: 1;
 text-decoration: none;
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-card:is(:hover, :focus-visible) {
 background: #eaf4ff;
 border-color: #0b5fa5;
 box-shadow: 0 0 0 3px rgba(11, 95, 165, .16);
 color: #073b69;
}

@media (max-width: 600px) {
 .ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-grid {
  grid-template-columns: minmax(0, 1fr);
 }
}

/* Meaningful demographic breakdown: sex, age and practice. */
.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-groups {
 display: grid;
 gap: 14px;
 grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-group {
 background: #f8fbff;
 border: 1px solid #d8e7f6;
 border-radius: 14px;
 padding: 12px;
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-group h4 {
 color: #0b3b66;
 font-size: .82rem;
 letter-spacing: .02em;
 margin: 0 0 10px;
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-group .ufsc-demographic-grid {
 display: grid;
 gap: 8px;
 grid-template-columns: minmax(0, 1fr);
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-group .ufsc-demographic-card {
 background: #ffffff;
 min-block-size: 0;
 padding: 10px 12px;
}

.ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-card small {
 color: #5b7089;
 font-size: .76rem;
 font-weight: 700;
 grid-column: 1 / -1;
}

@media (max-width: 900px) {
 .ufsc-club-account.ufsc-club-dashboard.ufsc-premium-v3 .ufsc-demographic-groups {
  grid-template-columns: minmax(0, 1fr);
 }
}

/* Club account navigation final contract — equal tabs, stable responsive grid. */
.ufsc-club-portal .ufsc-club-account__nav.ufsc-club-portal__nav {
 display: grid;
 grid-template-columns: repeat(6, minmax(0, 1fr));
 gap: 8px;
 align-items: stretch;
 inline-size: 100%;
 max-inline-size: 100%;
 overflow: visible;
}
.ufsc-club-portal .ufsc-club-account__nav.ufsc-club-portal__nav > a {
 display: flex;
 align-items: center;
 justify-content: center;
 inline-size: 100%;
 min-inline-size: 0;
 min-block-size: 48px;
 block-size: 100%;
 padding: 10px 12px;
 text-align: center;
 line-height: 1.2;
 white-space: normal;
 overflow-wrap: anywhere;
}
@media (max-width: 899px) {
 .ufsc-club-portal .ufsc-club-account__nav.ufsc-club-portal__nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
 .ufsc-club-portal .ufsc-club-account__nav.ufsc-club-portal__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
 .ufsc-club-portal .ufsc-club-account__nav.ufsc-club-portal__nav { grid-template-columns: minmax(0, 1fr); }
}
