:root {
    --club-navy: #071d3b;
    --club-blue: #0c4fa3;
    --club-blue-2: #1268d6;
    --club-cyan: #42b6ff;
    --club-light: #eaf4ff;
    --ink: #101828;
    --muted: #667085;
    --surface: #ffffff;
    --line: #e5eaf2;
    --soft: #f4f7fb;
    --radius: 18px;
    --shadow: 0 14px 40px rgba(15, 39, 75, .09);
    --shadow-hover: 0 20px 55px rgba(15, 39, 75, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: #f5f7fb;
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

a { color: var(--club-blue); }

.club-navbar {
    background: rgba(7, 29, 59, .96);
    backdrop-filter: blur(16px);
    box-shadow: 0 8px 30px rgba(3, 16, 35, .13);
}
.club-navbar .navbar-brand { letter-spacing: -.02em; }
.club-navbar .nav-link { color: rgba(255,255,255,.76); font-weight: 600; padding: .65rem .85rem !important; border-radius: 10px; }
.club-navbar .nav-link:hover { color:#fff; background:rgba(255,255,255,.08); }
.club-navbar .admin-link { border:1px solid rgba(255,255,255,.16); }
.brand-mark {
    width: 36px; height: 36px; border-radius: 11px; display:inline-grid; place-items:center;
    background: linear-gradient(145deg, #2d8cff, #1050a2); color:#fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 6px 18px rgba(18,104,214,.28);
}

.hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    padding: 5rem 0 5.8rem;
    background:
        radial-gradient(circle at 86% 18%, rgba(66,182,255,.25), transparent 23rem),
        radial-gradient(circle at 13% 100%, rgba(18,104,214,.36), transparent 28rem),
        linear-gradient(135deg, #06172f 0%, #092b59 52%, #0d4a91 100%);
}
.hero::after {
    content:""; position:absolute; inset:0; pointer-events:none; opacity:.11;
    background-image: linear-gradient(rgba(255,255,255,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 88%);
}
.hero .container { position: relative; z-index: 2; }
.eyebrow { text-transform: uppercase; letter-spacing: .16em; font-size: .76rem; font-weight: 800; color: #a9d9ff; }
.hero-title { max-width: 760px; font-size: clamp(2.25rem, 5vw, 4.4rem); letter-spacing: -.055em; line-height: .98; font-weight: 850; }
.hero-copy { max-width: 650px; color: rgba(255,255,255,.72); font-size: 1.08rem; }

.glass-card {
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(16px);
    border-radius: 22px;
    box-shadow: 0 20px 50px rgba(0,0,0,.16);
}
.next-match-card .next-label { color:#b9dcff; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.next-match-card .opponent { font-size:1.7rem; font-weight:800; letter-spacing:-.035em; }
.next-match-card .meta { color:rgba(255,255,255,.72); }

.section-kicker { color: var(--club-blue-2); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.section-title { font-weight: 850; letter-spacing: -.045em; }
.section-copy { color:var(--muted); max-width:650px; }

.match-card, .report-card, .admin-card {
    border: 1px solid rgba(15, 39, 75, .07);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    background: var(--surface);
}
.match-card, .report-card { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.match-card:hover, .report-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover); border-color: rgba(18,104,214,.16); }
.match-card .card-body, .report-card .card-body { position:relative; }
.match-card-topline { height:4px; background:linear-gradient(90deg,var(--club-blue-2),var(--club-cyan)); border-radius:var(--radius) var(--radius) 0 0; }
.match-meta { color: var(--muted); font-size: .93rem; }
.match-opponent { font-weight:800; letter-spacing:-.03em; }

.badge-soft, .badge-format, .badge-type {
    border-radius:999px; padding:.48rem .7rem; font-size:.74rem; font-weight:750; letter-spacing:.01em;
}
.badge-soft { background:var(--club-light); color:var(--club-blue); }
.badge-format { background:#eef2f6; color:#344054; }
.badge-type { background:#ecfdf3; color:#027a48; }

.score {
    min-width: 152px;
    text-align:center;
    font-size: 2.7rem;
    font-weight: 900;
    letter-spacing: -.06em;
    line-height:1;
    padding:1rem 1.15rem;
    border-radius:18px;
    background:#f8fafc;
    border:1px solid var(--line);
}
.result-win { color:#087443; }
.result-loss { color:#b42318; }
.result-draw { color:#8a6200; }
.result-pill { display:inline-flex; align-items:center; border-radius:999px; padding:.38rem .62rem; font-size:.76rem; font-weight:800; background:#f2f4f7; }

.match-detail-hero {
    position:relative; overflow:hidden; color:#fff;
    border:0; border-radius:24px;
    background: linear-gradient(135deg, #071d3b 0%, #0a3974 62%, #1166c9 100%);
    box-shadow:0 24px 64px rgba(8, 40, 85, .22);
}
.match-detail-hero::after { content:""; position:absolute; width:280px; height:280px; right:-80px; top:-100px; border:55px solid rgba(255,255,255,.06); border-radius:50%; }
.match-detail-hero .card-body { position:relative; z-index:2; }
.match-detail-hero .match-meta { color:rgba(255,255,255,.72); }
.match-detail-hero .score { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.18); color:#fff; backdrop-filter:blur(10px); }

.player-list { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:.75rem; }
.player-item { display:flex; align-items:center; gap:.75rem; padding:.78rem; border:1px solid var(--line); border-radius:14px; background:#fbfcfe; }
.player-avatar { flex:0 0 auto; width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:linear-gradient(145deg,#eaf4ff,#d9ebff); color:var(--club-blue); font-weight:850; font-size:.78rem; }
.player-name { font-weight:700; line-height:1.15; }

.scorer-row { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:.8rem 0; border-bottom:1px solid var(--line); }
.scorer-row:last-child { border-bottom:0; padding-bottom:0; }
.scorer-count { min-width:36px; height:30px; border-radius:10px; display:grid; place-items:center; background:var(--club-light); color:var(--club-blue); font-weight:850; }
.goal-minute { color:var(--muted); font-size:.87rem; }

.content-prose { font-size:1.045rem; line-height:1.82; white-space:pre-line; color:#344054; }
.report-author { display:inline-flex; align-items:center; padding:.55rem .8rem; border-radius:999px; background:#f2f6fb; color:#526173; font-size:.88rem; font-weight:600; }
.report-author i { color:var(--club-blue-2); }
.coach-note { border:1px solid #cfe5ff; background:linear-gradient(135deg,#f2f8ff,#eaf4ff); border-radius:16px; padding:1.15rem 1.25rem; }

.btn { border-radius:12px; font-weight:700; }
.btn-primary { background:linear-gradient(135deg,var(--club-blue-2),var(--club-blue)); border:0; box-shadow:0 7px 18px rgba(12,79,163,.18); }
.btn-primary:hover { background:linear-gradient(135deg,#0f5fc3,#083f83); transform:translateY(-1px); }
.btn-outline-primary { border-color:#c2dcf8; color:var(--club-blue); }
.btn-outline-primary:hover { background:var(--club-blue); border-color:var(--club-blue); }
.form-control, .form-select { border-radius:12px; border-color:#d7dee9; min-height:46px; }
textarea.form-control { min-height:auto; }
.form-control:focus, .form-select:focus { border-color:#77b5f6; box-shadow:0 0 0 .22rem rgba(18,104,214,.12); }
.form-label { font-weight:700; font-size:.88rem; color:#344054; }

.site-footer { background:#07182f; border-top:1px solid rgba(255,255,255,.05); }
.footer-muted { color:#8fa6c3; }
.footer-link { color:#bcd7f7; text-decoration:none; font-weight:600; }
.footer-link:hover { color:#fff; }

/* Administration */
.admin-shell { min-height:100vh; background:#f3f6fa; }
.admin-sidebar { position:relative; background:linear-gradient(180deg,#071d3b 0%,#0a274b 100%); color:#fff; box-shadow:10px 0 35px rgba(7,29,59,.08); }
.admin-sidebar::after { content:""; position:absolute; inset:auto -80px 12% auto; width:180px; height:180px; border-radius:50%; background:rgba(30,116,214,.14); filter:blur(2px); pointer-events:none; }
.admin-brand { display:flex; align-items:flex-start; gap:.9rem; position:relative; z-index:1; }
.admin-brand-copy { display:flex; flex-direction:column; gap:.2rem; min-width:0; }
.admin-brand-copy .brand-title { display:block; font-size:1.1rem; line-height:1.2; font-weight:800; letter-spacing:-.02em; color:#fff; }
.admin-brand-copy .brand-subtitle { display:block; color:#8eabd0; font-size:.74rem; font-weight:650; line-height:1.2; margin:0; }
.admin-nav { position:relative; z-index:1; }
.admin-nav a { color:#b9c8dc; text-decoration:none; display:flex; align-items:center; gap:.85rem; padding:.82rem .95rem; border-radius:11px; font-weight:650; }
.admin-nav a:hover, .admin-nav a.active { color:#fff; background:rgba(255,255,255,.09); }
.admin-nav i { flex:0 0 1.25rem; width:1.25rem; display:inline-flex; align-items:center; justify-content:center; text-align:center; font-size:1.05rem; }
.admin-nav .nav-label { display:inline-block; line-height:1.2; }
.admin-main { min-width:0; }
.admin-card { overflow:hidden; }
.admin-page-title { font-weight:850; letter-spacing:-.045em; }
.stat-card .stat-icon { width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:var(--club-light); color:var(--club-blue); font-size:1.15rem; }
.stat-card .stat-number { font-size:2rem; font-weight:900; letter-spacing:-.05em; }
.table { --bs-table-bg:transparent; }
.table > :not(caption) > * > * { padding:.95rem 1rem; border-bottom-color:#edf0f4; vertical-align:middle; }
.table thead th { background:#f9fafb; color:#667085; font-size:.76rem; text-transform:uppercase; letter-spacing:.055em; font-weight:800; }
.admin-section-title { font-size:1rem; font-weight:850; letter-spacing:-.025em; }
.form-section-number { width:30px; height:30px; display:inline-grid; place-items:center; border-radius:10px; background:var(--club-light); color:var(--club-blue); font-size:.82rem; font-weight:900; margin-right:.5rem; }
.player-select-card { cursor:pointer; border:1px solid var(--line); border-radius:13px; padding:.8rem; width:100%; background:#fff; transition:.16s ease; }
.player-select-card:hover { border-color:#9dc6f1; background:#f8fbff; }
.player-select-card:has(input:checked) { border-color:#7bb6f3; background:#edf6ff; box-shadow:0 0 0 2px rgba(18,104,214,.08); }
.goal-row { display:grid; grid-template-columns:minmax(0,1fr) 140px 44px; gap:.65rem; align-items:center; padding:.7rem; background:#f8fafc; border:1px solid var(--line); border-radius:14px; }
.empty-state { text-align:center; padding:2.5rem 1rem; color:var(--muted); }
.empty-state i { font-size:2rem; color:#98a2b3; }
.alert { border-radius:14px; }

@media (max-width: 991.98px) {
    .hero { padding:3.6rem 0 4.2rem; }
    .admin-sidebar { min-height:auto !important; }
    .admin-nav { display:flex !important; overflow-x:auto; gap:.25rem; padding-bottom:.25rem; }
    .admin-nav a { white-space:nowrap; }
    .player-list { grid-template-columns:1fr; }
}
@media (max-width: 575.98px) {
    .hero-title { font-size:2.35rem; }
    .score { font-size:2rem; min-width:120px; }
    .goal-row { grid-template-columns:1fr 105px 40px; }
}
.fw-black { font-weight: 900 !important; }
.min-w-0 { min-width: 0; }
@media (min-width: 992px) { .py-lg-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; } .pb-lg-6 { padding-bottom: 5rem !important; } }

/* V2.2 */
.soccer-ball-icon { width:1.85rem; height:1.85rem; color:var(--club-blue); fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; }
.soccer-ball-icon .soccer-ball-core { fill:currentColor; stroke:currentColor; }
.admin-nav a > i { margin-right:.1rem; }
.admin-nav a { column-gap:1rem; }

.public-access-shell { min-height:100vh; background:radial-gradient(circle at 15% 10%,rgba(39,132,235,.22),transparent 34%),radial-gradient(circle at 85% 80%,rgba(17,71,132,.18),transparent 30%),#eef3f9; display:flex; align-items:center; padding:2rem 0; }
.public-access-wrap { max-width:560px; }
.public-access-card { background:rgba(255,255,255,.94); border:1px solid rgba(255,255,255,.9); box-shadow:0 28px 80px rgba(7,29,59,.14); border-radius:28px; padding:2rem; backdrop-filter:blur(12px); }
.access-brand { display:flex; align-items:center; gap:.9rem; }
.access-mark { width:50px; height:50px; border-radius:16px; display:grid; place-items:center; background:#071d3b; color:#fff; font-size:1.25rem; box-shadow:0 10px 28px rgba(7,29,59,.18); }
.access-team { font-weight:850; color:#0b1f38; letter-spacing:-.025em; }
.access-private { font-size:.8rem; color:#667085; font-weight:650; }
.access-kicker { text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:850; color:var(--club-blue); }
.access-title { font-weight:900; letter-spacing:-.05em; color:#0b1f38; font-size:clamp(2rem,8vw,3rem); line-height:1.02; }
.access-copy { color:#667085; max-width:42ch; }
.access-code-input { text-align:center; letter-spacing:.42em; font-weight:850; font-size:1.35rem; padding-left:1.2rem; }
@media (min-width:576px) { .public-access-card { padding:2.7rem; } }

/* V2.3 — accès public type DAB / GAB */
.atm-access-shell {
    background:
        radial-gradient(circle at 12% 8%, rgba(47, 137, 238, .24), transparent 31rem),
        radial-gradient(circle at 90% 90%, rgba(8, 48, 97, .22), transparent 28rem),
        linear-gradient(145deg, #eaf0f7 0%, #f8fafc 52%, #e5edf6 100%);
}
.atm-access-wrap { max-width: 510px; }
.atm-access-card {
    padding: 1.35rem;
    border-radius: 30px;
    background: #f7f9fc;
    border: 1px solid rgba(255,255,255,.95);
    box-shadow:
        0 32px 90px rgba(7,29,59,.19),
        inset 0 1px 0 rgba(255,255,255,.95);
}
.atm-access-card .access-brand {
    padding: .35rem .35rem 1.15rem;
}
.atm-screen {
    position: relative;
    overflow: hidden;
    min-height: 260px;
    border-radius: 22px;
    padding: 1.25rem;
    color: #eaf5ff;
    background:
        radial-gradient(circle at 100% 0%, rgba(63,171,255,.2), transparent 14rem),
        linear-gradient(145deg, #06192f 0%, #092b50 58%, #0b3970 100%);
    border: 1px solid rgba(255,255,255,.09);
    box-shadow:
        inset 0 0 0 1px rgba(0,0,0,.18),
        inset 0 10px 35px rgba(0,0,0,.18),
        0 12px 28px rgba(7,29,59,.17);
}
.atm-screen::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .055;
    background-image: linear-gradient(rgba(255,255,255,.8) 1px, transparent 1px);
    background-size: 100% 4px;
}
.atm-screen > * { position: relative; z-index: 1; }
.atm-screen-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    color: #91cfff;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.atm-screen-status { color: rgba(226,242,255,.6); }
.atm-title {
    margin: 1.45rem 0 .35rem;
    color: #fff;
    font-size: clamp(1.55rem, 6vw, 2.1rem);
    font-weight: 880;
    letter-spacing: -.045em;
    line-height: 1.05;
}
.atm-copy { margin: 0 0 1.35rem; color: #a9bed3; font-size: .92rem; }
.atm-error {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin: 0 0 1.15rem;
    padding: .72rem .8rem;
    border: 1px solid rgba(255,131,131,.32);
    border-radius: 12px;
    color: #ffd5d5;
    background: rgba(180,35,24,.18);
    font-size: .86rem;
    font-weight: 650;
}
.pin-display {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: clamp(.35rem, 1.8vw, .55rem);
    padding: .8rem .85rem;
    border: 1px solid rgba(146,199,245,.18);
    border-radius: 15px;
    background: rgba(0,0,0,.18);
}
.pin-slot {
    aspect-ratio: 1 / 1;
    max-height: 42px;
    border: 1px solid rgba(178,220,255,.25);
    border-radius: 8px;
    background: rgba(255,255,255,.055);
    display: grid;
    place-items: center;
    transition: .13s ease;
}
.pin-slot::after {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: transparent;
    transform: scale(.5);
    transition: .13s ease;
}
.pin-slot.is-filled {
    border-color: rgba(94,183,255,.55);
    background: rgba(52,143,221,.14);
}
.pin-slot.is-filled::after {
    background: #dff2ff;
    box-shadow: 0 0 10px rgba(93,187,255,.65);
    transform: scale(1);
}
.pin-slot.is-current { border-color: rgba(121,199,255,.6); box-shadow: 0 0 0 2px rgba(54,155,238,.1); }
.pin-progress {
    height: 3px;
    margin-top: .7rem;
    overflow: hidden;
    border-radius: 99px;
    background: rgba(255,255,255,.08);
}
.pin-progress > span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #4ba9f7, #8dd4ff);
    transition: width .16s ease;
}
.atm-form { padding-top: 1.1rem; }
.atm-keypad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .72rem;
}
.atm-key {
    position: relative;
    min-height: 64px;
    border: 1px solid #cbd5e1;
    border-bottom-color: #aeb9c7;
    border-radius: 13px;
    color: #14263e;
    background: linear-gradient(180deg, #ffffff 0%, #edf1f5 100%);
    box-shadow:
        0 4px 0 #b9c2ce,
        0 7px 13px rgba(15,39,75,.12),
        inset 0 1px 0 #fff;
    font-size: 1.35rem;
    font-weight: 850;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    transition: transform .08s ease, box-shadow .08s ease, background .08s ease;
}
.atm-key:hover { background: linear-gradient(180deg, #fff 0%, #e7eef6 100%); }
.atm-key:active {
    transform: translateY(3px);
    box-shadow:
        0 1px 0 #b9c2ce,
        0 3px 7px rgba(15,39,75,.12),
        inset 0 1px 3px rgba(15,39,75,.08);
}
.atm-key:focus-visible { outline: 3px solid rgba(18,104,214,.25); outline-offset: 3px; }
.atm-key-action { color: #526173; font-size: 1.2rem; }
.atm-key-clear { color: #b42318; }
.atm-key-small { font-size: 1rem; font-weight: 900; }
.atm-submit {
    width: 100%;
    min-height: 58px;
    margin-top: 1rem;
    padding: 0 1.15rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, #0e62bd, #074285);
    box-shadow: 0 8px 20px rgba(8,71,139,.24);
    font-size: .89rem;
    font-weight: 900;
    letter-spacing: .09em;
    transition: .15s ease;
}
.atm-submit i { font-size: 1.22rem; }
.atm-submit:disabled {
    color: #8693a3;
    background: #d9e0e8;
    box-shadow: none;
    cursor: not-allowed;
}
.atm-submit:not(:disabled):hover { transform: translateY(-1px); box-shadow: 0 11px 25px rgba(8,71,139,.3); }
.atm-submit.is-ready { animation: atm-ready .28s ease; }
.atm-help {
    margin-top: 1.1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .45rem;
    color: #7b8796;
    font-size: .77rem;
    text-align: center;
}
@keyframes atm-ready {
    0% { transform: scale(.985); }
    100% { transform: scale(1); }
}
@media (min-width: 576px) {
    .atm-access-card { padding: 1.65rem; }
    .atm-screen { padding: 1.45rem; }
    .atm-key { min-height: 68px; }
}
@media (max-width: 390px) {
    .public-access-shell { padding: .8rem 0; }
    .atm-access-card { padding: .85rem; border-radius: 22px; }
    .atm-access-card .access-brand { padding: .15rem .15rem .8rem; }
    .atm-screen { min-height: auto; padding: 1rem; border-radius: 17px; }
    .atm-title { margin-top: 1rem; }
    .atm-keypad { gap: .55rem; }
    .atm-key { min-height: 57px; }
    .pin-display { padding: .65rem; gap: .3rem; }
}
@media (prefers-reduced-motion: reduce) {
    .atm-key, .atm-submit, .pin-slot, .pin-progress > span { transition: none; }
    .atm-submit.is-ready { animation: none; }
}

/* V2.4 — Navigation publique, listes et pagination */
.club-navbar .nav-link {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    padding-left: .85rem;
    padding-right: .85rem;
    border-radius: 999px;
    transition: background-color .18s ease, color .18s ease;
}
.club-navbar .nav-link:hover,
.club-navbar .nav-link.active {
    color: #fff;
    background: rgba(255,255,255,.09);
}
.page-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 80% 20%, rgba(53,148,255,.28), transparent 32%),
        linear-gradient(135deg, #071d3b 0%, #0a2b56 58%, #0e4383 100%);
}
.page-hero::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -95px;
    bottom: -150px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    box-shadow: 0 0 0 42px rgba(255,255,255,.025), 0 0 0 84px rgba(255,255,255,.018);
}
.page-hero-compact { padding: 3.25rem 0; }
.page-hero .container { position: relative; z-index: 1; }
.page-hero-copy { max-width: 720px; color: rgba(255,255,255,.72); font-size: 1.05rem; }
.public-list-card {
    border: 1px solid rgba(18,53,88,.09);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 35px rgba(24,52,82,.055);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.public-list-card:hover {
    transform: translateY(-2px);
    border-color: rgba(18,104,214,.18);
    box-shadow: 0 14px 38px rgba(24,52,82,.09);
}
.public-list-date {
    width: 66px;
    min-height: 66px;
    display: grid;
    place-content: center;
    text-align: center;
    border-radius: 16px;
    color: #0a3a73;
    background: #edf5ff;
    border: 1px solid #dcecff;
    line-height: 1;
}
.public-list-date span { font-size: 1.45rem; font-weight: 900; letter-spacing: -.04em; }
.public-list-date small { margin-top: .35rem; color: #5c7590; font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.match-list-actions { min-width: 225px; }
.match-list-score { min-width: 78px; }
.public-pagination {
    padding-top: 1.25rem;
    border-top: 1px solid rgba(18,53,88,.09);
}
.pagination-nav { min-width: 128px; border-radius: 12px; font-weight: 700; }
.pagination-status { color: #53677c; font-size: .92rem; }
.pagination-status strong { color: #0b315d; }
@media (max-width: 991.98px) {
    .match-list-actions { min-width: 0; width: 100%; padding-top: .8rem; border-top: 1px solid rgba(18,53,88,.08); }
}
@media (max-width: 575.98px) {
    .page-hero-compact { padding: 2.4rem 0; }
    .public-list-date { width: 58px; min-height: 58px; border-radius: 14px; }
    .pagination-nav { min-width: auto; padding-left: .75rem; padding-right: .75rem; }
    .club-navbar .nav-link { border-radius: 12px; padding: .7rem .8rem; }
}
