@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Montserrat:wght@600;700;800;900&display=swap');

:root {
  --black: #0b0f12;
  --black-soft: #171b1e;
  --ink: #171815;
  --muted: #73736e;
  --gold: #b88939;
  --gold-bright: #d9af56;
  --gold-pale: #f4ecd9;
  --paper: #f4f3ef;
  --white: #fff;
  --line: #e7e6e0;
  --green: #2e8b62;
  --green-pale: #e6f4ed;
  --red: #b84e4e;
  --red-pale: #f8e8e8;
  --sidebar: 264px;
  --shadow: 0 18px 45px rgba(18, 17, 13, .08);
  --radius: 20px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: 'DM Sans', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select { font: inherit; }
button { color: inherit; }
button, [data-view] { cursor: pointer; }
svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
[hidden] { display: none !important; }
.overline { margin: 0 0 7px; color: #85857f; font: 700 10px/1 'Montserrat', sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.overline.gold { color: var(--gold-bright); }
.club-logo { width: 56px; height: 56px; display: block; flex: 0 0 auto; object-fit: contain; border-radius: 50%; filter: drop-shadow(0 8px 17px rgba(0,0,0,.28)); }
.club-logo-large { width: 118px; height: 118px; }

/* Authentication */
.auth-screen { min-height: 100vh; display: grid; grid-template-columns: minmax(440px, .94fr) minmax(520px, 1.06fr); background: var(--white); opacity: 1; transition: opacity .3s ease, transform .3s ease; }
.auth-screen.leaving { opacity: 0; transform: scale(1.015); }
.auth-brand-panel { min-height: 100vh; position: relative; display: flex; align-items: center; overflow: hidden; padding: 72px clamp(48px, 7vw, 112px); color: white; background: radial-gradient(circle at 75% 25%, rgba(202,166,75,.18), transparent 33%), radial-gradient(circle at 15% 85%, rgba(202,166,75,.1), transparent 30%), #0b0b0a; }
.auth-brand-panel::before, .auth-brand-panel::after { content: ''; position: absolute; border: 1px solid rgba(213,178,87,.12); border-radius: 50%; }
.auth-brand-panel::before { width: 540px; height: 540px; right: -250px; top: -130px; }
.auth-brand-panel::after { width: 360px; height: 360px; right: -180px; top: -40px; }
.auth-brand-content { position: relative; z-index: 1; max-width: 570px; }
.auth-brand-content .club-logo { margin-bottom: 44px; }
.auth-brand-content h1 { margin: 14px 0 24px; font: 800 clamp(42px, 4.2vw, 70px)/1.02 'Montserrat', sans-serif; letter-spacing: -.055em; }
.auth-brand-content h1 em { color: var(--gold-bright); font-style: normal; }
.auth-intro { max-width: 500px; color: #bdbdb8; font-size: 18px; line-height: 1.6; }
.auth-features { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 40px; }
.auth-features span { padding: 9px 14px; color: #d6d5cf; border: 1px solid #34332f; border-radius: 999px; font-size: 12px; }
.prototype-label { position: absolute; left: clamp(48px, 7vw, 112px); bottom: 30px; color: #66645f; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.auth-form-panel { min-height: 100vh; display: grid; place-items: center; padding: 48px clamp(34px, 7vw, 100px); background: #fbfbfa; }
.auth-card { width: min(100%, 480px); }
.mobile-auth-brand { display: none; }
.auth-tabs { display: flex; gap: 5px; margin-bottom: 44px; padding: 4px; background: #efefeb; border-radius: 13px; }
.auth-tab { flex: 1; padding: 11px 14px; color: #7b7b75; background: transparent; border: 0; border-radius: 10px; font-weight: 700; font-size: 13px; }
.auth-tab.active { color: var(--ink); background: var(--white); box-shadow: 0 3px 12px rgba(0,0,0,.06); }
.auth-form { animation: fade-up .36s ease both; }
.form-heading { margin-bottom: 32px; }
.form-heading h2, .pending-state h2 { margin: 8px 0 10px; font: 800 31px/1.15 'Montserrat', sans-serif; letter-spacing: -.035em; }
.form-heading > p:last-child, .pending-state > p { color: var(--muted); line-height: 1.55; }
.auth-form > label, .field-row label, .modal-form label { display: grid; gap: 8px; margin-bottom: 18px; color: #363632; font-size: 12px; font-weight: 700; }
.auth-form input, .auth-form select, .modal-form input, .modal-form select { width: 100%; height: 52px; padding: 0 15px; color: var(--ink); background: white; border: 1px solid #deddd8; border-radius: 11px; outline: 0; transition: border-color .2s, box-shadow .2s; }
.modal-form textarea { width: 100%; resize: vertical; padding: 12px 15px; color: var(--ink); background: white; border: 1px solid #deddd8; border-radius: 11px; outline: 0; font: inherit; transition: border-color .2s, box-shadow .2s; }
.auth-form input:focus, .auth-form select:focus, .modal-form input:focus, .modal-form select:focus, .modal-form textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(200,163,74,.13); }
.image-file-picker { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 7px 10px; margin-top: 2px; }
.image-file-input { display: none !important; }
.image-file-button { width: fit-content; min-height: 34px; padding: 8px 12px; color: #604914; background: var(--gold-pale); border: 1px solid #dfc776; border-radius: 8px; font: inherit; font-size: 8px; font-weight: 800; cursor: pointer; }
.image-file-button:hover { background: #f0dea0; }
.image-file-button:disabled { opacity: .62; cursor: wait; }
.image-file-picker > small { color: var(--muted); font-size: 7px; font-weight: 500; line-height: 1.4; }
.image-file-preview { grid-column: 1 / -1; width: 100%; height: 92px; overflow: hidden; background: #f4f2eb; border: 1px solid var(--line); border-radius: 9px; }
.image-file-preview img { width: 100%; height: 100%; display: block; object-fit: contain; }
.password-field { position: relative; }
.password-field input { padding-right: 76px; }
.password-field button { position: absolute; right: 5px; top: 5px; height: 42px; padding: 0 12px; color: #77766f; background: transparent; border: 0; font-size: 11px; font-weight: 700; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.form-options { display: flex; align-items: center; justify-content: space-between; margin: -1px 0 24px; }
.checkbox-label { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; }
.checkbox-label input { accent-color: var(--gold); }
.link-button { padding: 0; color: #8c6c21; background: transparent; border: 0; font-size: 12px; font-weight: 700; }
.primary-action { width: 100%; min-height: 54px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 18px; color: #15130e; background: linear-gradient(135deg, var(--gold-bright), #b88d33); border: 0; border-radius: 12px; font-weight: 800; box-shadow: 0 12px 24px rgba(174,130,41,.19); }
.primary-action svg { width: 18px; }
.primary-action:hover { filter: brightness(1.04); transform: translateY(-1px); }
.secure-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 22px; color: #97968f; font-size: 10px; }
.secure-note svg { width: 13px; height: 13px; }
.pending-state { text-align: center; animation: fade-up .4s ease both; }
.pending-icon { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 25px; color: var(--green); background: var(--green-pale); border-radius: 50%; }
.pending-icon svg { width: 31px; height: 31px; stroke-width: 2.5; }
.status-line { display: flex; align-items: center; gap: 10px; margin: 28px 0; padding: 16px; text-align: left; background: var(--gold-pale); border-radius: 12px; font-size: 12px; }
.status-line span { width: 8px; height: 8px; background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 5px rgba(200,163,74,.17); }
.secondary-action { padding: 12px 19px; color: #3b3933; background: white; border: 1px solid var(--line); border-radius: 10px; font-size: 12px; font-weight: 700; }
.secondary-action:hover { border-color: var(--gold); }

/* Application shell */
.app { min-height: 100vh; opacity: 0; transition: opacity .25s ease; }
.app.ready { opacity: 1; }
.sidebar { width: var(--sidebar); height: 100vh; height: 100dvh; position: fixed; z-index: 40; inset: 0 auto 0 0; display: flex; flex-direction: column; overflow: hidden; color: #e9e8e2; background: #10100f; border-right: 1px solid #24231f; }
.sidebar-brand { min-height: 94px; display: flex; align-items: center; gap: 13px; padding: 20px 23px; border-bottom: 1px solid #272622; }
.sidebar-brand .club-logo { width: 51px; height: 51px; margin-left: -6px; }
.sidebar-brand > div:nth-child(2) { display: grid; gap: 3px; }
.sidebar-brand strong { font: 800 15px/1 'Montserrat', sans-serif; letter-spacing: .08em; }
.sidebar-brand small { color: #77766f; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.mobile-close { display: none; margin-left: auto; color: white; background: transparent; border: 0; }
.sidebar-user { display: flex; align-items: center; gap: 10px; margin: 15px 14px 5px; padding: 12px 10px; background: #1b1b19; border: 1px solid #2a2925; border-radius: 12px; }
.user-avatar { position: relative; width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; color: #17150f; background: linear-gradient(145deg, #efd277, #a67c28); border-radius: 50%; font-size: 11px; font-weight: 900; }
.user-avatar i { position: absolute; width: 9px; height: 9px; right: -1px; bottom: 1px; background: #4fb47f; border: 2px solid #1b1b19; border-radius: 50%; }
.sidebar-user > div { min-width: 0; display: grid; gap: 3px; }
.sidebar-user strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user small { color: #77766f; font-size: 9px; }
.role-chip { margin-left: auto; padding: 4px 5px; color: var(--gold-bright); background: #2a2517; border-radius: 4px; font-size: 7px; font-weight: 800; }
.main-nav { min-height: 0; flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 9px 12px; scrollbar-width: thin; scrollbar-color: #34332e transparent; }
.main-nav > p { margin: 20px 11px 8px; color: #5d5c56; font: 700 8px/1 'Montserrat', sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.nav-item { width: 100%; min-height: 40px; display: flex; align-items: center; gap: 12px; padding: 8px 11px; color: #9b9a94; background: transparent; border: 0; border-radius: 9px; text-align: left; font-size: 11px; transition: .2s ease; }
.nav-item svg { width: 17px; height: 17px; stroke-width: 1.7; }
.nav-item:hover { color: white; background: #1a1a18; }
.nav-item.active { color: #17150f; background: linear-gradient(135deg, #dfc267, #b58b34); font-weight: 800; }
.nav-item b { min-width: 18px; height: 18px; display: grid; place-items: center; margin-left: auto; padding: 0 5px; color: white; background: #45433d; border-radius: 9px; font-size: 8px; }
.nav-item.active b { color: var(--black); background: rgba(255,255,255,.45); }
.nav-item i { width: 7px; height: 7px; margin-left: auto; background: #cf5b55; border-radius: 50%; }
.nav-item .gold-badge { color: #15130e; background: var(--gold); }
.sidebar-footer { flex: 0 0 auto; padding: 10px 12px max(18px, env(safe-area-inset-bottom)); background: #10100f; border-top: 1px solid #292824; }
.logout-button { width: 100%; padding: 10px; color: #7e7c76; background: transparent; border: 0; font-size: 10px; }
.app-main { min-height: 100vh; margin-left: var(--sidebar); }
.topbar { height: 76px; position: sticky; z-index: 30; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(24px, 3.4vw, 52px); background: rgba(255,255,255,.92); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.menu-button { display: none; background: transparent; border: 0; }
.page-title p { margin: 0 0 3px; color: #9b9a94; font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.page-title h2 { margin: 0; font: 800 18px/1 'Montserrat', sans-serif; letter-spacing: -.02em; }
.topbar-actions { display: flex; align-items: center; gap: 9px; }
.install-button { padding: 8px 12px; color: #201d15; background: var(--gold-pale); border: 0; border-radius: 8px; font-size: 10px; font-weight: 800; }
.icon-button { width: 39px; height: 39px; display: grid; place-items: center; color: #53524c; background: #f6f6f3; border: 1px solid #e9e8e3; border-radius: 10px; }
.notification-button { position: relative; }
.notification-button b { min-width: 17px; height: 17px; position: absolute; right: -4px; top: -5px; display: grid; place-items: center; padding: 0 4px; color: white; background: #b8423e; border: 2px solid white; border-radius: 10px; font: 800 7px 'Montserrat', sans-serif; }
.profile-button { display: flex; align-items: center; gap: 9px; margin-left: 5px; padding: 0 0 0 9px; background: transparent; border: 0; border-left: 1px solid var(--line); }
.user-avatar.small { width: 34px; height: 34px; }
.profile-button > span:last-child { display: grid; gap: 2px; text-align: left; }
.profile-button strong { font-size: 10px; }
.profile-button small { color: var(--muted); font-size: 8px; }
.view-container { max-width: 1520px; margin: 0 auto; padding: 38px clamp(24px, 3.4vw, 52px) 70px; }
.app-view { animation: fade-up .35s ease both; }
.welcome-row, .inner-heading, .section-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.welcome-row { align-items: center; margin-bottom: 27px; }
.welcome-row h1, .inner-heading h1 { margin: 5px 0 7px; font: 800 clamp(25px, 2.5vw, 37px)/1.1 'Montserrat', sans-serif; letter-spacing: -.045em; }
.welcome-row > div > p:last-child, .inner-heading > div > p:last-child { margin: 0; color: var(--muted); font-size: 13px; }
.outline-action { min-height: 41px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; color: #44423d; background: white; border: 1px solid var(--line); border-radius: 10px; font-size: 10px; font-weight: 700; }
.outline-action:hover { border-color: var(--gold); box-shadow: 0 5px 18px rgba(0,0,0,.05); }
.outline-action svg { width: 16px; }

/* Dashboard */
.attention-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin-bottom: 20px; }
.attention-card { min-width: 0; display: flex; align-items: center; gap: 12px; padding: 15px; text-align: left; background: white; border: 1px solid var(--line); border-radius: 15px; transition: transform .2s, box-shadow .2s; }
.attention-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.attention-card > span:nth-child(2) { min-width: 0; display: grid; gap: 3px; }
.attention-card small { color: var(--muted); font-size: 9px; }
.attention-card strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.attention-card .arrow { width: 15px; margin-left: auto; color: #aaa8a0; }
.attention-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; }
.attention-icon svg { width: 18px; height: 18px; }
.attention-icon.gold { color: #947019; background: var(--gold-pale); }
.attention-icon.green { color: var(--green); background: var(--green-pale); }
.attention-icon.red { color: var(--red); background: var(--red-pale); }
.attention-icon.dark { color: #f0d176; background: #282721; }
.home-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr); gap: 18px; }
.plantao-card, .next-match-card, .metric-card, .news-preview, .event-detail-card, .roster-card, .chart-card, .ranking-card, .award-grid article, .overall-block, .season-record, .last-evolution, .balance-card, .finance-summary > article, .transactions-card, .approval-card, .quick-admin, .admin-kpis article, .full-news { background: white; border: 1px solid var(--line); border-radius: var(--radius); }
.plantao-card { min-height: 350px; display: grid; grid-template-columns: 1.02fr .98fr; overflow: hidden; }
.plantao-art { position: relative; min-height: 310px; display: grid; place-items: center; overflow: hidden; color: white; background: radial-gradient(circle at 50% 44%, rgba(215,178,73,.23), transparent 27%), repeating-linear-gradient(100deg, transparent 0 60px, rgba(255,255,255,.025) 61px 62px), #11110f; }
.plantao-art::after { content: ''; width: 230px; height: 230px; position: absolute; border: 1px solid rgba(220,183,81,.13); border-radius: 50%; box-shadow: 0 0 0 35px rgba(220,183,81,.025), 0 0 0 70px rgba(220,183,81,.02); }
.live-pill { position: absolute; z-index: 2; top: 17px; left: 17px; display: flex; align-items: center; gap: 7px; padding: 7px 10px; color: var(--gold-bright); background: rgba(22,21,17,.8); border: 1px solid rgba(225,193,98,.25); border-radius: 99px; font: 700 8px/1 'Montserrat', sans-serif; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(8px); }
.live-pill i { width: 6px; height: 6px; background: #e36158; border-radius: 50%; box-shadow: 0 0 0 3px rgba(227,97,88,.16); }
.score-visual { position: relative; z-index: 2; display: flex; align-items: center; gap: clamp(18px, 3vw, 40px); }
.team-crest { width: 66px; height: 76px; display: grid; place-items: center; clip-path: polygon(50% 0, 94% 19%, 86% 74%, 50% 100%, 14% 74%, 6% 19%); font: 900 26px 'Montserrat', sans-serif; }
.official-team-logo { width: 78px; height: 78px; display: block; object-fit: contain; border-radius: 50%; filter: drop-shadow(0 8px 12px rgba(0,0,0,.35)); }
.rival-crest { color: #ededeb; background: linear-gradient(145deg, #595954, #272724); }
.score-visual > div:nth-child(2) { display: grid; gap: 6px; text-align: center; }
.score-visual strong { font: 800 39px/1 'Montserrat', sans-serif; letter-spacing: .02em; }
.score-visual strong small { color: #7d7c76; font-size: 17px; }
.score-visual > div:nth-child(2) > span { color: #85847d; font-size: 7px; letter-spacing: .18em; }
.plantao-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(24px, 3vw, 43px); }
.article-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: #8a8982; font-size: 8px; }
.article-meta span, .category-chip { padding: 5px 7px; color: #805f16; background: var(--gold-pale); border-radius: 5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.article-meta b { padding: 4px 6px; color: #6b6963; background: #efefec; border-radius: 4px; font-size: 7px; text-transform: uppercase; }
.plantao-copy h2 { margin: 17px 0 12px; font: 800 clamp(20px, 2vw, 31px)/1.12 'Montserrat', sans-serif; letter-spacing: -.04em; }
.plantao-copy p { margin: 0 0 22px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.text-action { display: inline-flex; align-items: center; gap: 7px; padding: 0; color: #8d6a1c; background: transparent; border: 0; font-size: 10px; font-weight: 800; }
.text-action svg { width: 15px; }
.next-match-card { display: flex; flex-direction: column; padding: 22px; }
.card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.card-heading h3 { margin: 3px 0 0; font: 800 15px/1.2 'Montserrat', sans-serif; letter-spacing: -.02em; }
.modality-tag { padding: 6px 9px; color: #856315; background: var(--gold-pale); border-radius: 6px; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.match-date { display: flex; align-items: center; gap: 10px; margin: 24px 0 19px; }
.match-date > strong { font: 800 45px/.85 'Montserrat', sans-serif; }
.match-date > span { display: grid; color: #8d6a1c; font: 800 11px/1 'Montserrat', sans-serif; }
.match-date small { margin-top: 6px; color: var(--muted); font: 500 9px/1 'DM Sans', sans-serif; }
.match-teams { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 16px 0; border-block: 1px solid var(--line); }
.match-teams > div { display: flex; align-items: center; gap: 7px; font-size: 9px; }
.match-teams > b { color: #aaa8a1; font-size: 10px; }
.mini-club { width: 28px; height: 31px; display: grid; place-items: center; clip-path: polygon(50% 0, 95% 18%, 85% 75%, 50% 100%, 15% 75%, 5% 18%); font: 900 9px 'Montserrat'; }
.mini-official-logo { width: 34px; height: 34px; object-fit: contain; border-radius: 50%; }
.gray-bg { color: white; background: #44443f; }
.match-location { display: flex; align-items: center; gap: 10px; padding: 14px 0; }
.match-location svg { width: 16px; color: var(--gold); }
.match-location span { display: grid; gap: 3px; }
.match-location strong { font-size: 9px; }
.match-location small { color: var(--muted); font-size: 8px; }
.presence-prompt { margin-top: auto; padding: 14px; background: #f6f5f1; border-radius: 11px; }
.presence-prompt p { margin: 0 0 10px; font-size: 9px; font-weight: 700; }
.presence-prompt > div { display: grid; grid-template-columns: 1.2fr .8fr; gap: 7px; }
.yes-button, .no-button { min-height: 34px; border-radius: 8px; font-size: 9px; font-weight: 800; }
.yes-button { display: flex; align-items: center; justify-content: center; gap: 5px; color: white; background: var(--green); border: 1px solid var(--green); }
.yes-button svg { width: 13px; }
.no-button { background: white; border: 1px solid #dfded8; }
[data-presence].selected { box-shadow: 0 0 0 3px rgba(47,140,98,.17); }
[data-presence="no"].selected { color: white; background: var(--red); border-color: var(--red); box-shadow: 0 0 0 3px rgba(184,78,78,.15); }
.section-row { margin: 34px 0 14px; }
.section-row h2 { margin: 4px 0 0; font: 800 20px/1.1 'Montserrat', sans-serif; letter-spacing: -.035em; }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.metric-card { min-height: 130px; display: flex; align-items: center; gap: 14px; padding: 19px; }
.metric-icon { width: 37px; height: 37px; display: grid; place-items: center; align-self: flex-start; color: #947019; background: var(--gold-pale); border-radius: 10px; }
.metric-icon svg { width: 17px; }
.metric-card > div:nth-child(2) { display: grid; gap: 4px; }
.metric-card small { color: var(--muted); font-size: 8px; }
.metric-card strong { font: 800 26px/1 'Montserrat', sans-serif; }
.metric-card strong em { font-size: 13px; font-style: normal; }
.metric-card span { color: var(--muted); font-size: 8px; }
.trend.up { color: var(--green) !important; }
.donut { --value: 50; width: 58px; height: 58px; display: grid; place-items: center; margin-left: auto; background: conic-gradient(var(--gold) calc(var(--value) * 1%), #ecebe6 0); border-radius: 50%; }
.donut::before { content: ''; width: 43px; height: 43px; grid-area: 1/1; background: white; border-radius: 50%; }
.donut i { z-index: 1; grid-area: 1/1; font-size: 8px; font-style: normal; font-weight: 800; }
.micro-bars, .sparkline { height: 48px; display: flex; align-items: flex-end; gap: 4px; margin-left: auto; }
.micro-bars i { width: 5px; background: var(--gold); border-radius: 3px 3px 0 0; }
.micro-bars i:nth-child(1) { height: 20px; }.micro-bars i:nth-child(2) { height: 27px; }.micro-bars i:nth-child(3) { height: 18px; }.micro-bars i:nth-child(4) { height: 35px; }.micro-bars i:nth-child(5) { height: 30px; }.micro-bars i:nth-child(6) { height: 42px; }.micro-bars i:nth-child(7) { height: 38px; }
.sparkline i { width: 4px; background: #d8c383; transform: rotate(23deg); border-radius: 4px; }
.sparkline i:nth-child(1) { height: 14px; }.sparkline i:nth-child(2) { height: 22px; }.sparkline i:nth-child(3) { height: 17px; }.sparkline i:nth-child(4) { height: 31px; }.sparkline i:nth-child(5) { height: 36px; }.sparkline i:nth-child(6) { height: 45px; }
.news-preview-grid, .news-list-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.news-preview { overflow: hidden; }
.news-image { height: 145px; position: relative; display: grid; place-items: center; overflow: hidden; color: white; background: #171715; }
.news-image::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(115deg, transparent 0 24px, rgba(255,255,255,.035) 25px 26px); }
.news-image span { position: relative; z-index: 1; color: var(--gold-bright); font: 900 28px 'Montserrat', sans-serif; letter-spacing: -.05em; }
.news-image.training { background: linear-gradient(135deg, #20251e, #687553); }
.news-image.player { background: radial-gradient(circle at 50% 95%, #9a732d, transparent 47%), #171614; }
.news-image.player span { font-size: 68px; opacity: .65; }
.news-image.team { background: linear-gradient(135deg, #24231f, #050505); }
.news-preview > div:last-child { padding: 17px; }
.category-chip { display: inline-block; padding: 4px 6px; font-size: 7px; }
.news-preview h3 { margin: 10px 0 8px; font: 800 14px/1.3 'Montserrat', sans-serif; letter-spacing: -.025em; }
.news-preview p { margin: 0 0 12px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.news-preview time { color: #96958e; font-size: 8px; }

/* Inner views */
.inner-heading { margin-bottom: 28px; }
.open-status, .financial-ok { display: flex; align-items: center; gap: 8px; padding: 9px 12px; color: var(--green); background: var(--green-pale); border-radius: 99px; font-size: 9px; font-weight: 800; }
.open-status i { width: 6px; height: 6px; background: var(--green); border-radius: 50%; }
.financial-ok svg { width: 14px; }
.financial-ok.warning { color: var(--red); background: #f8e9e9; }
.presence-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(285px, .65fr); gap: 18px; align-items: start; }
.presence-activity-picker { display: flex; gap: 8px; overflow-x: auto; margin-bottom: 15px; padding-bottom: 3px; }.presence-activity-picker button { min-width: 190px; display: grid; gap: 4px; padding: 12px 14px; text-align: left; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 10px; }.presence-activity-picker button.active { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(200,163,74,.12); }.presence-activity-picker strong { font-size: 9px; }.presence-activity-picker small { color: var(--muted); font-size: 7px; }.presence-empty { min-height: 360px; display: grid; place-items: center; align-content: center; gap: 10px; padding: 35px; text-align: center; background: white; border: 1px solid var(--line); border-radius: var(--radius); }.presence-empty .placeholder-icon { margin: 0; }.presence-empty h2 { margin: 4px 0 0; font: 800 22px 'Montserrat'; }.presence-empty p { max-width: 440px; margin: 0 0 10px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.lineup-layout { max-width: 980px; }.lineup-card { padding: 25px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }.lineup-match-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }.lineup-match-head h2 { margin: 9px 0 5px; font: 800 24px 'Montserrat'; letter-spacing: -.03em; }.lineup-match-head p { margin: 0; color: var(--muted); font-size: 9px; }.lineup-responsibles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 18px 0; }.lineup-responsibles div { display: grid; gap: 5px; padding: 13px; background: #faf9f5; border-radius: 9px; }.lineup-responsibles small { color: var(--muted); font-size: 7px; text-transform: uppercase; }.lineup-responsibles strong { font-size: 10px; }.lineup-squads { display: grid; gap: 20px; }.lineup-section-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }.lineup-section-title h3 { margin: 0; font: 800 15px 'Montserrat'; }.lineup-section-title span { min-width: 25px; padding: 5px 7px; text-align: center; color: #7a5b17; background: var(--gold-pale); border-radius: 8px; font-size: 8px; font-weight: 800; }.lineup-member-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }.lineup-member { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }.lineup-member > span { width: 35px; height: 35px; display: grid; place-items: center; color: #17140d; background: var(--gold-pale); border-radius: 50%; font-size: 8px; font-weight: 800; }.lineup-member p { display: grid; gap: 3px; margin: 0; min-width: 0; }.lineup-member strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.lineup-member small { color: var(--muted); font-size: 7px; }.lineup-member em { color: #7a5b17; font-size: 7px; font-style: normal; font-weight: 800; }.lineup-manage-button { margin-top: 22px; }.lineup-editor { display: grid; gap: 10px; margin-top: 18px; }.lineup-editor-player { padding: 12px; background: #faf9f5; border: 1px solid var(--line); border-radius: 10px; }.lineup-editor-player > label { display: flex; align-items: center; gap: 9px; margin-bottom: 9px; font-size: 9px; font-weight: 800; }.lineup-editor-player > label input { width: 16px; height: 16px; accent-color: var(--gold); }.lineup-editor-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.lineup-editor-controls select, .lineup-editor-controls input[type="text"] { width: 100%; height: 39px; padding: 0 10px; background: white; border: 1px solid var(--line); border-radius: 8px; font: inherit; font-size: 8px; }.lineup-editor-flags { display: flex; gap: 15px; margin-top: 9px; }.lineup-editor-flags label { display: flex; align-items: center; gap: 6px; font-size: 8px; font-weight: 700; }.lineup-editor-flags input { accent-color: var(--gold); }.lineup-editor-actions { display: flex; gap: 9px; margin-top: 16px; }.lineup-editor-actions button { flex: 1; }.lineup-note { padding: 11px; color: #6d6143; background: var(--gold-pale); border-radius: 8px; font-size: 8px; line-height: 1.5; }
.match-report-layout { max-width: 980px; }.match-report-card { padding: 25px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }.match-report-score { display: grid; grid-template-columns: minmax(90px, 1fr) auto auto auto minmax(90px, 1fr); align-items: center; gap: 15px; margin: 20px 0; padding: 22px; color: white; background: #171715; border-radius: 14px; }.match-report-score > div { display: flex; align-items: center; justify-content: center; gap: 9px; }.match-report-score img, .match-report-score .mini-club { width: 38px; height: 38px; object-fit: cover; }.match-report-score strong { font-size: 9px; }.match-report-score > b { color: var(--gold-bright); font: 800 31px 'Montserrat'; }.match-report-score > span { color: #77746c; font-weight: 800; }.match-report-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-bottom: 22px; }.match-report-summary div { display: grid; gap: 4px; padding: 13px; text-align: center; background: #faf9f5; border-radius: 9px; }.match-report-summary strong { font: 800 18px 'Montserrat'; }.match-report-summary small { color: var(--muted); font-size: 7px; }.match-report-section { margin-top: 20px; }.match-report-section > h3 { margin: 0 0 10px; font: 800 14px 'Montserrat'; }.match-report-players { display: grid; gap: 8px; }.match-report-player { display: grid; grid-template-columns: auto minmax(0, 1fr) repeat(5, auto); align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; }.match-report-player > span { width: 32px; height: 32px; display: grid; place-items: center; background: var(--gold-pale); border-radius: 50%; font-size: 8px; font-weight: 800; }.match-report-player p { display: grid; gap: 3px; margin: 0; }.match-report-player p strong { font-size: 9px; }.match-report-player p small { color: var(--muted); font-size: 7px; }.match-report-player em { min-width: 34px; display: grid; gap: 2px; text-align: center; color: var(--ink); font-size: 8px; font-style: normal; font-weight: 800; }.match-report-player em small { color: var(--muted); font-size: 6px; font-weight: 700; }.match-report-substitutions { display: grid; gap: 7px; }.match-report-substitutions div { padding: 10px 12px; background: #faf9f5; border-radius: 8px; font-size: 8px; }.match-report-notes { margin: 0; padding: 13px; color: var(--muted); background: #faf9f5; border-radius: 9px; font-size: 9px; line-height: 1.6; }.match-report-score-fields { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 10px; }.match-report-score-fields > span { padding-bottom: 18px; font-weight: 800; }.match-report-player-editor { padding: 12px; background: #faf9f5; border: 1px solid var(--line); border-radius: 10px; }.match-report-player-editor > label { display: flex; align-items: center; gap: 8px; font-size: 9px; font-weight: 800; }.match-report-stat-inputs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; margin-top: 9px; }.match-report-stat-inputs label { margin: 0; font-size: 7px; }.match-report-stat-inputs input { height: 38px; }.substitution-editor { display: grid; grid-template-columns: 1fr auto 1fr 80px auto; align-items: center; gap: 7px; padding: 9px; background: #faf9f5; border-radius: 9px; }.substitution-editor select, .substitution-editor input { width: 100%; height: 39px; padding: 0 8px; background: white; border: 1px solid var(--line); border-radius: 8px; font-size: 8px; }.substitution-editor button { width: 30px; height: 30px; border: 0; border-radius: 7px; color: var(--red); background: #f8e9e9; }
.voting-layout { max-width: 850px; }.voting-card { padding: 25px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }.voting-progress { display: grid; gap: 10px; margin: 22px 0; padding: 18px; background: #faf9f5; border-radius: 11px; }.voting-progress > div:first-child { display: flex; align-items: baseline; gap: 6px; }.voting-progress strong { font: 800 22px 'Montserrat'; }.voting-progress span, .voting-progress small, .voting-progress p { color: var(--muted); font-size: 8px; }.voting-progress p { margin: 0; }.voting-own-status { padding: 13px; color: #6d6143; background: var(--gold-pale); border-radius: 9px; font-size: 9px; font-weight: 700; }.voting-results { display: grid; gap: 18px; margin-top: 22px; }.voting-results h3 { margin: 0 0 9px; font: 800 14px 'Montserrat'; }.voting-rating-list { display: grid; gap: 7px; }.voting-rating-list div { display: flex; align-items: center; justify-content: space-between; padding: 11px; border: 1px solid var(--line); border-radius: 9px; font-size: 9px; }.voting-rating-list em { color: #7a5b17; font-style: normal; font-weight: 800; }.voting-award-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }.voting-award-grid article { padding: 12px; background: #faf9f5; border-radius: 9px; }.voting-award-grid small { display: block; margin-bottom: 5px; color: var(--muted); font-size: 7px; text-transform: uppercase; }.voting-award-grid strong { font-size: 9px; }.vote-rating-list { display: grid; gap: 8px; margin: 16px 0; }.vote-rating-row { display: grid; grid-template-columns: auto 1fr 90px; align-items: center; gap: 10px; padding: 11px; background: #faf9f5; border-radius: 9px; }.vote-rating-row > span { width: 31px; height: 31px; display: grid; place-items: center; background: var(--gold-pale); border-radius: 50%; font-size: 8px; font-weight: 800; }.vote-rating-row p { display: grid; gap: 3px; margin: 0; }.vote-rating-row strong { font-size: 9px; }.vote-rating-row small { color: var(--muted); font-size: 7px; }.vote-rating-row select, .vote-awards select { width: 100%; height: 40px; padding: 0 9px; background: white; border: 1px solid var(--line); border-radius: 8px; font-size: 8px; }.vote-awards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }.vote-awards label { margin: 0; }
.event-detail-card { overflow: hidden; }
.event-cover { min-height: 238px; position: relative; display: grid; place-items: center; color: white; background: radial-gradient(circle at center, rgba(204,169,76,.16), transparent 28%), repeating-linear-gradient(90deg, transparent 0 80px, rgba(255,255,255,.025) 81px 82px), #141412; }
.event-cover .modality-tag { position: absolute; top: 18px; right: 18px; }
.modality-tag.dark { color: var(--gold-bright); background: rgba(210,175,79,.13); }
.event-versus { display: flex; align-items: center; gap: clamp(20px, 4vw, 50px); }
.event-versus > div { display: grid; gap: 7px; text-align: center; }
.event-versus small { color: #8a8982; font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.event-versus strong { font: 800 clamp(16px, 2vw, 25px) 'Montserrat', sans-serif; }
.event-versus i { padding: 0 7px; color: #77756e; font-style: normal; }
.event-info-grid { display: grid; grid-template-columns: repeat(4, 1fr); padding: 20px 24px; border-bottom: 1px solid var(--line); }
.event-info-grid > div { display: grid; gap: 5px; padding: 0 14px; border-right: 1px solid var(--line); }
.event-info-grid > div:first-child { padding-left: 0; }
.event-info-grid > div:last-child { border: 0; }
.event-info-grid small, .deadline span { color: var(--muted); font-size: 8px; }
.event-info-grid strong { font-size: 10px; }
.deadline { display: flex; align-items: center; justify-content: space-between; margin: 20px 24px 0; padding: 12px 14px; background: var(--gold-pale); border-radius: 9px; }
.deadline strong { color: #795b19; font-size: 10px; }
.presence-decision { padding: 24px; }
.presence-decision > p { margin: 0 0 13px; font-size: 11px; font-weight: 800; }
.presence-decision > div { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.confirm-presence, .decline-presence { display: flex; align-items: center; gap: 12px; padding: 15px; text-align: left; background: white; border: 1px solid var(--line); border-radius: 11px; }
.confirm-presence.selected { border-color: var(--green); background: var(--green-pale); }.decline-presence.selected { border-color: var(--red); background: #f9eded; }
.confirm-presence svg, .decline-presence svg { width: 21px; }
.confirm-presence svg { color: var(--green); }.decline-presence svg { color: var(--red); }
.confirm-presence span, .decline-presence span { display: grid; gap: 3px; }
.confirm-presence strong, .decline-presence strong { font-size: 10px; }
.confirm-presence small, .decline-presence small { color: var(--muted); font-size: 8px; }
.presence-decision > .presence-result { min-height: 17px; margin: 12px 0 0; color: var(--muted); font-size: 9px; font-weight: 700; }.presence-result.confirmed { color: var(--green); }.presence-result.declined { color: var(--red); }.presence-result.waitlisted { color: #876316; }
.roster-card { padding: 22px; }
.capacity-ring { width: 48px; height: 48px; display: grid; place-items: center; color: #826116; background: var(--gold-pale); border: 4px solid var(--gold); border-radius: 50%; font-size: 8px; font-weight: 900; }
.capacity-bar { height: 6px; margin: 22px 0 18px; overflow: hidden; background: #ecebe7; border-radius: 4px; }
.capacity-bar i { display: block; width: 90%; height: 100%; background: linear-gradient(90deg, #a98028, #e0c268); border-radius: inherit; }
.avatar-stack { display: flex; align-items: center; padding-left: 7px; }
.avatar-stack span { width: 35px; height: 35px; display: grid; place-items: center; margin-left: -7px; color: #29271f; background: #d8c07b; border: 3px solid white; border-radius: 50%; font-size: 8px; font-weight: 800; }
.avatar-stack span:nth-child(even) { background: #d9d9d3; }
.avatar-stack b { margin-left: 8px; color: var(--muted); font-size: 9px; }
.roster-groups { margin: 22px 0 18px; padding-block: 12px; border-block: 1px solid var(--line); }
.roster-groups > div { display: flex; align-items: center; gap: 10px; padding: 7px 0; }
.dot { width: 7px; height: 7px; border-radius: 50%; }.green-dot { background: var(--green); }.gray-dot { background: #aaa9a3; }
.roster-groups p { display: grid; gap: 2px; margin: 0; }
.roster-groups strong { font-size: 9px; }.roster-groups small { color: var(--muted); font-size: 8px; }
.full { width: 100%; }
.filter-select { min-width: 150px; padding: 10px 12px; background: white; border: 1px solid var(--line); border-radius: 9px; font-size: 10px; outline: 0; }
.filter-select.small { min-width: 90px; padding: 7px 9px; }
.filter-tabs { display: flex; gap: 6px; margin-bottom: 17px; padding: 4px; background: #eae9e4; border-radius: 10px; width: fit-content; }
.filter-tabs button { padding: 8px 18px; color: var(--muted); background: transparent; border: 0; border-radius: 7px; font-size: 9px; font-weight: 700; }
.filter-tabs button.active { color: var(--ink); background: white; box-shadow: 0 3px 10px rgba(0,0,0,.05); }
.stats-kpis, .admin-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 17px; }
.stats-kpis article { display: grid; gap: 6px; padding: 18px; color: white; background: #171715; border-radius: 15px; }
.stats-kpis article:first-child { background: linear-gradient(135deg, #cba748, #9c7426); }
.stats-kpis small { color: #a8a69e; font-size: 8px; }.stats-kpis article:first-child small { color: #373020; }
.stats-kpis strong { font: 800 27px/1 'Montserrat'; }.stats-kpis span { color: #85847d; font-size: 8px; }.stats-kpis article:first-child span { color: #51431f; }
.stats-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .7fr); gap: 17px; }
.chart-card, .ranking-card { padding: 21px; }
.legend { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 8px; }.legend i { width: 14px; height: 2px; background: var(--gold); }
.line-chart { height: 245px; display: flex; gap: 12px; margin-top: 21px; }
.y-labels { display: flex; flex-direction: column; justify-content: space-between; padding-bottom: 22px; color: #a3a29c; font-size: 7px; }
.chart-area { position: relative; flex: 1; border-bottom: 1px solid #e5e4df; }
.chart-area .grid-line { position: absolute; left: 0; right: 0; border-top: 1px dashed #eae9e5; }.chart-area .l1 { top: 25%; }.chart-area .l2 { top: 50%; }.chart-area .l3 { top: 75%; }
.chart-area > svg { width: 100%; height: calc(100% - 20px); position: relative; z-index: 2; overflow: visible; stroke-width: 3; }
.chart-area .area { fill: url(#chartFill); stroke: none; }.chart-area .line { fill: none; stroke: var(--gold); vector-effect: non-scaling-stroke; }
.x-labels { position: absolute; inset: auto 0 -20px; display: flex; justify-content: space-between; color: #aaa8a1; font-size: 7px; }
.rank-list { margin-top: 12px; }
.rank-list > div { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.rank-list > div:last-child { border: 0; }
.rank-list > div > b { width: 14px; color: #a09e97; font-size: 9px; }
.rank-list > div:first-child > b { color: #9a721c; }
.rank-avatar, .request-avatar { width: 31px; height: 31px; display: grid; place-items: center; flex: 0 0 auto; color: #29271f; background: #dfce99; border-radius: 50%; font-size: 8px; font-weight: 900; }
.rank-list p { min-width: 0; display: grid; gap: 2px; margin: 0; }.rank-list strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.rank-list small { color: var(--muted); font-size: 7px; }
.rank-list em { margin-left: auto; color: #8c6819; font: 800 13px 'Montserrat'; font-style: normal; }
.award-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-top: 17px; }
.award-grid article { display: flex; align-items: center; gap: 12px; padding: 16px; }.award-grid article > span { font-size: 25px; }.award-grid article > div { display: grid; gap: 3px; }.award-grid small { color: var(--muted); font-size: 7px; }.award-grid strong { font-size: 10px; }.award-grid p { margin: 0; color: #98731f; font-size: 8px; }

/* FIFA Card */
.player-card-layout { display: grid; grid-template-columns: minmax(390px, .9fr) minmax(380px, 1.1fr); gap: 22px; }
.fifa-stage { min-height: 610px; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(227,195,101,.17), transparent 28%), repeating-linear-gradient(100deg, transparent 0 70px, rgba(255,255,255,.02) 71px 72px), #121210; border-radius: var(--radius); }
.fifa-card { width: 330px; height: 480px; position: relative; overflow: hidden; color: #1b1810; background: linear-gradient(145deg, #e8ca70 0%, #8e661d 21%, #f2d883 46%, #9f7628 70%, #e4c66c 100%); clip-path: polygon(10% 0, 90% 0, 100% 9%, 96% 85%, 50% 100%, 4% 85%, 0 9%); filter: drop-shadow(0 25px 35px rgba(0,0,0,.5)); transition: transform .5s ease; }
.fifa-card::before { content: ''; position: absolute; inset: 8px; border: 2px solid rgba(36,28,11,.6); clip-path: inherit; }
.fifa-shine { position: absolute; width: 160%; height: 70px; top: 10%; left: -40%; background: rgba(255,255,255,.24); transform: rotate(-34deg); filter: blur(15px); }
.fifa-rating { position: absolute; z-index: 2; top: 65px; left: 47px; display: grid; text-align: center; }.fifa-rating strong { font: 900 45px/.85 'Montserrat'; }.fifa-rating span { margin-top: 5px; font: 900 14px 'Montserrat'; }
.fifa-club-logo { position: absolute; z-index: 2; top: 137px; left: 53px; width: 53px; height: 53px; object-fit: contain; border-radius: 50%; filter: drop-shadow(0 4px 5px rgba(0,0,0,.28)); }
.player-silhouette { width: 190px; height: 255px; position: absolute; top: 42px; right: 24px; display: grid; place-items: end center; overflow: hidden; color: #d8b95d; background: radial-gradient(circle at 50% 27%, #27241b 0 18%, transparent 19%), radial-gradient(ellipse at 50% 100%, #222017 0 51%, transparent 52%); }.player-silhouette span { margin-bottom: 50px; font: 900 55px 'Montserrat'; opacity: .65; }
.fifa-name { position: absolute; z-index: 3; left: 45px; right: 45px; top: 295px; padding-bottom: 10px; border-bottom: 2px solid rgba(40,31,13,.4); text-align: center; font: 900 28px 'Montserrat'; }
.fifa-stats { position: absolute; z-index: 3; top: 345px; left: 53px; right: 53px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 8px; text-align: center; font-size: 9px; }.fifa-stats span { display: flex; justify-content: center; gap: 3px; }.fifa-stats b { font: 900 12px 'Montserrat'; }
.fifa-footer { position: absolute; z-index: 3; left: 0; right: 0; bottom: 42px; text-align: center; font-size: 6px; font-weight: 800; letter-spacing: .12em; }
.fifa-card.celebrate { animation: card-celebrate .85s ease; }
.player-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; align-content: start; }
.overall-block, .season-record { padding: 24px; }
.overall-block > div:nth-child(2) { display: flex; align-items: flex-end; gap: 14px; }.overall-block > div > strong { font: 900 66px/.9 'Montserrat'; }.overall-block > div > span { display: grid; gap: 6px; padding-bottom: 5px; color: var(--muted); font-size: 8px; }.overall-block > div > span b { width: fit-content; padding: 4px 6px; color: var(--green); background: var(--green-pale); border-radius: 5px; }
.overall-progress { height: 7px; margin: 22px 0 7px; overflow: hidden; background: #ecebe6; border-radius: 4px; }.overall-progress i { display: block; width: 76%; height: 100%; background: var(--gold); border-radius: inherit; }.overall-block > small { color: var(--muted); font-size: 8px; }
.overall-trend { min-height: 220px; display: flex; align-items: flex-end; gap: 12px; padding: 24px 8px 4px; border-bottom: 1px solid var(--line); }
.overall-trend .modal-muted { align-self: center; width: 100%; text-align: center; }
.trend-column { min-width: 0; flex: 1; display: grid; align-content: end; justify-items: center; gap: 7px; height: 190px; }
.trend-column i { width: min(34px, 70%); min-height: 5px; background: linear-gradient(180deg, var(--gold-bright), #9b7222); border-radius: 8px 8px 3px 3px; box-shadow: 0 5px 14px rgba(162, 119, 27, .18); }
.trend-column strong { color: #765716; font-size: 9px; }.trend-column small { color: var(--muted); font-size: 7px; }
.ranking-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: 13px; margin-bottom: 18px; }
.ranking-podium article { min-height: 170px; display: grid; place-items: center; align-content: center; gap: 7px; padding: 22px 15px; text-align: center; background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }
.ranking-podium article:first-child { min-height: 198px; grid-column: 2; grid-row: 1; border-color: #cfad52; background: linear-gradient(155deg, #fffdf5, #f3e7bf); }
.ranking-podium article:nth-child(2) { grid-column: 1; grid-row: 1; }.ranking-podium article:nth-child(3) { grid-column: 3; grid-row: 1; }
.ranking-podium b { color: #86621b; font: 900 24px 'Montserrat'; }.ranking-podium .rank-avatar { width: 52px; height: 52px; font-size: 12px; }.ranking-podium strong { font-size: 11px; }.ranking-podium small { color: var(--muted); font-size: 8px; }.ranking-podium em { color: #7d5b16; font: 900 18px 'Montserrat'; font-style: normal; }
.ranking-table-card { padding: 22px; background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }
.ranking-full-list { display: grid; margin-top: 12px; }.ranking-full-list > article { display: grid; grid-template-columns: 34px auto minmax(150px, 1fr) repeat(5, minmax(45px, auto)) 60px; align-items: center; gap: 12px; padding: 13px 5px; border-bottom: 1px solid var(--line); }
.ranking-full-list > article:last-child { border-bottom: 0; }.ranking-full-list .rank-avatar { width: 38px; height: 38px; }.ranking-full-list p { display: grid; gap: 3px; margin: 0; }.ranking-full-list p strong { font-size: 9px; }.ranking-full-list p small, .ranking-stat small { color: var(--muted); font-size: 7px; }.ranking-stat { display: grid; gap: 3px; text-align: center; }.ranking-stat strong { font-size: 9px; }.ranking-score { color: #795915; font: 900 16px 'Montserrat'; text-align: right; }
.card-overall-history { padding: 18px 22px; background: white; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.card-overall-history h3 { margin: 0 0 12px; font: 800 13px 'Montserrat'; }.overall-history-bars { display: flex; align-items: flex-end; gap: 7px; min-height: 86px; }.overall-history-bars span { min-width: 0; flex: 1; display: grid; justify-items: center; gap: 5px; color: var(--muted); font-size: 7px; }.overall-history-bars i { width: 100%; max-width: 24px; min-height: 4px; background: var(--gold); border-radius: 5px 5px 2px 2px; }.overall-history-bars b { color: #765716; font-size: 8px; }
.season-record h3 { margin: 0 0 17px; font: 800 14px 'Montserrat'; }.season-record > div { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }.season-record span { display: grid; gap: 3px; }.season-record strong { font: 800 22px 'Montserrat'; }.season-record small { color: var(--muted); font-size: 7px; }
.last-evolution { grid-column: 1/-1; display: flex; align-items: center; gap: 14px; padding: 20px; }.last-evolution > div:nth-child(2) { display: grid; gap: 3px; }.last-evolution small { color: var(--muted); font-size: 7px; }.last-evolution strong { font-size: 11px; }.last-evolution p { margin: 0; color: var(--muted); font-size: 8px; }.last-evolution time { margin-left: auto; color: var(--muted); font-size: 8px; }

/* Finance, admin, news */
.finance-summary { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 15px; }
.balance-card { position: relative; overflow: hidden; padding: 24px; color: white; background: radial-gradient(circle at 95% 10%, rgba(222,190,94,.26), transparent 32%), #171715; border: 0; }
.balance-card > p { margin: 0 0 8px; color: #a4a39c; font-size: 9px; }.balance-card > strong { display: block; font: 800 29px 'Montserrat'; }.balance-card > span { color: #77766f; font-size: 8px; }.balance-card > div { display: grid; gap: 3px; margin-top: 22px; }.balance-card > div small { color: #77766f; font-size: 7px; }.balance-card > div b { color: var(--gold-bright); font-size: 10px; }.balance-card > button { position: absolute; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 7px; padding: 10px 13px; color: #1c1911; background: var(--gold-bright); border: 0; border-radius: 9px; font-size: 9px; font-weight: 800; }.balance-card button svg { width: 14px; }
.finance-summary > article:not(.balance-card) { display: flex; align-items: center; gap: 14px; padding: 22px; }.finance-summary article > div:last-child { display: grid; gap: 5px; }.finance-summary small { color: var(--muted); font-size: 8px; }.finance-summary article > div > strong { font: 800 21px 'Montserrat'; }.finance-summary p { margin: 0; color: var(--muted); font-size: 8px; }
.transactions-card { margin-top: 17px; padding: 22px; }.transaction-list { margin-top: 14px; }.transaction-list > div { display: grid; grid-template-columns: auto minmax(160px, 1fr) 100px 80px 60px; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }.transaction-list > div:last-child { border: 0; }.transaction-icon { width: 34px; height: 34px; display: grid; place-items: center; color: #8b681b; background: var(--gold-pale); border-radius: 9px; }.transaction-icon svg { width: 16px; }.transaction-list p { display: grid; gap: 3px; margin: 0; }.transaction-list strong { font-size: 9px; }.transaction-list small { color: var(--muted); font-size: 8px; }.transaction-list > div > b { font-size: 9px; }.status { width: fit-content; padding: 5px 7px; border-radius: 5px; font-size: 7px; font-style: normal; font-weight: 800; }.status.paid { color: var(--green); background: var(--green-pale); }.status.pending { color: #8c681a; background: var(--gold-pale); }
.status.overdue { color: var(--red); background: #f8e9e9; }.status.cancelled { color: #706f69; background: #ecebe6; }
.finance-admin-panel { margin-top: 36px; padding-top: 5px; border-top: 1px solid var(--line); }.finance-admin-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.finance-admin-summary article { display: grid; gap: 7px; padding: 18px; background: white; border: 1px solid var(--line); border-radius: 13px; box-shadow: var(--shadow); }.finance-admin-summary small { color: var(--muted); font-size: 8px; }.finance-admin-summary strong { font: 800 19px 'Montserrat'; }.finance-admin-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr); gap: 16px; }.finance-admin-charge-list, .finance-ledger-list { display: grid; margin-top: 12px; }.finance-admin-charge-list article { display: grid; grid-template-columns: minmax(130px, 1fr) 90px 90px auto; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--line); }.finance-admin-charge-list article > div { display: grid; gap: 4px; }.finance-admin-charge-list strong, .finance-ledger-list strong { font-size: 9px; }.finance-admin-charge-list small, .finance-ledger-list small { color: var(--muted); font-size: 7px; }.finance-admin-charge-list > article > b { font-size: 9px; }.finance-admin-charge-list article > span { display: flex; gap: 5px; }.finance-admin-charge-list article > span button { padding: 6px 8px; color: #73581d; background: var(--gold-pale); border: 0; border-radius: 6px; font-size: 7px; font-weight: 800; }.finance-ledger-list article { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--line); }.finance-ledger-list article > div { display: grid; gap: 4px; }.finance-ledger-list b { font-size: 8px; }.finance-ledger-list b.income { color: var(--green); }.finance-ledger-list b.expense { color: var(--red); }.ledger-direction { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; font-weight: 900; }.ledger-direction.income { color: var(--green); background: var(--green-pale); }.ledger-direction.expense { color: var(--red); background: #f8e9e9; }
.payment-code { display: grid; gap: 7px; margin: 18px 0; color: var(--muted); font-size: 9px; font-weight: 700; }.payment-code textarea { width: 100%; padding: 12px; resize: none; color: #55451f; background: var(--gold-pale); border: 1px dashed #c8a64d; border-radius: 9px; font: 700 8px/1.5 monospace; }.provider-state { display: flex; justify-content: space-between; gap: 12px; margin: 14px 0 20px; padding: 12px; background: #f7f6f1; border-radius: 9px; font-size: 8px; }.provider-state span { color: var(--muted); }.finance-user-checks { max-height: 220px; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 5px !important; overflow-y: auto; padding: 10px; background: #faf9f5; border: 1px solid var(--line); border-radius: 10px; }.finance-user-checks label { display: flex; align-items: center; gap: 7px; margin: 0; padding: 6px; font-size: 8px; }.finance-user-checks input { width: 15px; height: 15px; accent-color: var(--gold); }
.receipt-document { text-align: center; }.receipt-document > img { width: 78px; height: 78px; object-fit: contain; }.receipt-document h2 { margin-right: 0; }.receipt-document dl { display: grid; gap: 0; margin: 22px 0; text-align: left; border: 1px solid var(--line); border-radius: 11px; }.receipt-document dl > div { display: grid; grid-template-columns: 120px 1fr; gap: 12px; padding: 11px 13px; border-bottom: 1px solid var(--line); }.receipt-document dl > div:last-child { border: 0; }.receipt-document dt { color: var(--muted); font-size: 8px; }.receipt-document dd { margin: 0; font-size: 9px; font-weight: 800; }.receipt-document > small { display: block; margin-bottom: 18px; color: var(--muted); font-size: 7px; word-break: break-all; }
.primary-small { padding: 10px 15px; color: #17140d; background: linear-gradient(135deg, var(--gold-bright), #b68a31); border: 0; border-radius: 9px; font-size: 10px; font-weight: 800; }
.admin-kpis article { display: flex; align-items: center; gap: 13px; padding: 17px; }.admin-kpis article > div { display: grid; gap: 3px; }.admin-kpis strong { font: 800 24px 'Montserrat'; }.admin-kpis small { color: var(--muted); font-size: 8px; }
.admin-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(270px, .65fr); gap: 17px; }.approval-card, .quick-admin { padding: 22px; }.count-chip { padding: 6px 8px; color: #88651a; background: var(--gold-pale); border-radius: 6px; font-size: 8px; font-weight: 800; }
.approval-list { margin: 14px 0; }.approval-list article { display: grid; grid-template-columns: auto minmax(150px, 1fr) 85px auto; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); transition: opacity .25s, transform .25s; }.approval-list article.resolved { opacity: 0; transform: translateX(18px); }.approval-list article > div:nth-child(2) { display: grid; gap: 3px; }.approval-list strong { font-size: 9px; }.approval-list small { color: var(--muted); font-size: 7px; }.requested-role { color: var(--muted); font-size: 8px; }.approval-list article > div:last-child { display: flex; gap: 6px; }.approve, .reject { padding: 7px 9px; border-radius: 7px; font-size: 8px; font-weight: 800; }.approve { color: white; background: var(--green); border: 1px solid var(--green); }.reject { color: var(--red); background: white; border: 1px solid #edd4d4; }
.quick-admin > button { width: 100%; display: flex; align-items: center; gap: 11px; padding: 12px 0; text-align: left; background: transparent; border: 0; border-bottom: 1px solid var(--line); }.quick-admin > button:last-child { border: 0; }.quick-admin > button > p { display: grid; gap: 3px; margin: 0; }.quick-admin > button strong { font-size: 9px; }.quick-admin > button small { color: var(--muted); font-size: 7px; }.quick-admin > button > svg { width: 15px; margin-left: auto; color: #aaa8a1; }
.athlete-directory-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 17px; }.athlete-directory-summary article { display: grid; gap: 5px; padding: 19px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }.athlete-directory-summary strong { font: 800 25px 'Montserrat'; }.athlete-directory-summary small { color: var(--muted); font-size: 8px; }
.activity-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 17px; }.activity-summary article { display: grid; gap: 5px; padding: 19px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }.activity-summary strong { font: 800 25px 'Montserrat'; }.activity-summary small { color: var(--muted); font-size: 8px; }.activity-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }.activity-filters { display: flex; gap: 5px; padding: 4px; background: #eae9e3; border-radius: 10px; }.activity-filters button { padding: 8px 13px; color: var(--muted); background: transparent; border: 0; border-radius: 7px; font-size: 8px; font-weight: 800; }.activity-filters button.active { color: #242016; background: white; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.activity-list { display: grid; gap: 10px; }.activity-list article { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 17px; background: white; border: 1px solid var(--line); border-radius: 13px; box-shadow: var(--shadow); }.activity-list article.cancelled { opacity: .68; }.activity-date-block { width: 58px; min-height: 61px; display: grid; place-items: center; align-content: center; color: white; background: #181816; border-radius: 10px; }.activity-date-block strong { color: var(--gold-bright); font: 800 22px 'Montserrat'; }.activity-date-block span { font-size: 7px; font-weight: 800; text-transform: uppercase; }.activity-main { min-width: 0; display: grid; gap: 5px; }.activity-main > div { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }.activity-main h3 { margin: 0; overflow: hidden; font: 800 14px 'Montserrat'; text-overflow: ellipsis; white-space: nowrap; }.activity-main p { margin: 0; color: var(--muted); font-size: 8px; }.activity-type, .activity-status { padding: 4px 6px; border-radius: 5px; font-size: 7px; font-weight: 800; }.activity-type { color: #785814; background: var(--gold-pale); }.activity-status { color: var(--green); background: var(--green-pale); }.activity-status.draft { color: #6f6d66; background: #efeee9; }.activity-status.closed { color: #865f13; background: var(--gold-pale); }.activity-status.cancelled { color: var(--red); background: #f8e9e9; }.activity-status.completed { color: #555; background: #e8e8e5; }.activity-actions { display: flex; gap: 7px; }.activity-actions button { padding: 8px 10px; color: #272116; background: white; border: 1px solid #d8c797; border-radius: 8px; font-size: 8px; font-weight: 800; }
.athlete-directory-card { padding: 22px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }.athlete-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }.athlete-directory article { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px; background: #faf9f5; border: 1px solid var(--line); border-radius: 12px; }.athlete-directory article.incomplete { border-style: dashed; }.athlete-avatar { width: 42px; height: 42px; display: grid; place-items: center; overflow: hidden; color: #241e10; background: linear-gradient(145deg, var(--gold-bright), #9c7424); border-radius: 50%; font: 800 11px 'Montserrat'; }.athlete-avatar img { width: 100%; height: 100%; object-fit: cover; }.athlete-directory article > div { min-width: 0; display: grid; gap: 4px; }.athlete-directory article strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.athlete-directory article small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.athlete-tags { display: flex; flex-wrap: wrap; gap: 4px; }.athlete-tags span { padding: 4px 6px; color: #785814; background: var(--gold-pale); border-radius: 5px; font-size: 7px; font-weight: 800; }.athlete-directory article > button { padding: 8px 10px; color: #201b10; background: white; border: 1px solid #d8c797; border-radius: 8px; font-size: 8px; font-weight: 800; }
.player-silhouette img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }.profile-form-status { margin: 3px 0 17px; padding: 10px 12px; color: #6d6143; background: var(--gold-pale); border-radius: 8px; font-size: 8px; }.modality-fieldset { margin: 2px 0 18px; padding: 0; border: 0; }.modality-fieldset legend { margin-bottom: 8px; color: var(--muted); font-size: 8px; font-weight: 700; }.modality-checks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.modality-checks label { display: flex; align-items: center; gap: 7px; margin: 0; padding: 10px; background: #faf9f5; border: 1px solid var(--line); border-radius: 8px; font-size: 8px; font-weight: 700; }.modality-checks input { width: 15px; height: 15px; padding: 0; accent-color: var(--gold); }
.full-news { display: grid; grid-template-columns: minmax(270px, .8fr) minmax(340px, 1.2fr); overflow: hidden; margin-bottom: 17px; }.full-news-art { min-height: 280px; position: relative; display: grid; place-items: center; color: white; background: radial-gradient(circle at center, rgba(210,174,75,.22), transparent 25%), #121210; }.score-big { font: 900 52px 'Montserrat'; }.score-big small { color: #77756e; font-size: 20px; }.full-news > div:last-child { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 35px; }.full-news h2 { margin: 15px 0 10px; font: 800 clamp(21px, 2.3vw, 34px)/1.12 'Montserrat'; letter-spacing: -.04em; }.full-news p { margin: 0 0 18px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.news-editorial { margin-bottom: 18px; padding: 22px; background: #171715; border-radius: 16px; box-shadow: var(--shadow); }.news-editorial .card-heading h3, .news-editorial .overline { color: white; }.news-editorial .count-chip { color: #30270f; background: var(--gold-bright); }
.news-editorial-list { display: grid; gap: 8px; margin-top: 14px; }.news-editorial-list > article { display: grid; grid-template-columns: auto minmax(180px, 1fr) auto; align-items: center; gap: 12px; padding: 13px; background: #252522; border: 1px solid #35352f; border-radius: 10px; }.news-editorial-list article > div:nth-child(2) { display: grid; gap: 4px; }.news-editorial-list strong { color: white; font-size: 9px; }.news-editorial-list small { color: #9d9b91; font-size: 7px; }.news-editorial-list article > div:last-child { display: flex; gap: 6px; }.news-editorial-list button { padding: 8px 10px; color: #2e260f; background: var(--gold-bright); border-radius: 7px; font-size: 7px; font-weight: 800; }
.news-editor-form { display: grid; gap: 11px; }.news-editor-form > label { display: grid; gap: 6px; margin: 0; }.news-editor-form textarea { width: 100%; padding: 11px; resize: vertical; background: #faf9f5; border: 1px solid var(--line); border-radius: 8px; font: inherit; font-size: 9px; line-height: 1.55; }.news-preview .text-action { width: fit-content; margin-top: 9px; }

.heading-actions { display: flex; align-items: center; gap: 8px; }.official-news-icon { width: 58px; height: 58px; color: var(--gold-bright); }.full-news-art > strong { color: white; font: 800 12px 'Montserrat'; letter-spacing: .14em; }.official-news-hero { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; opacity: .68; }.news-image.official { display: grid; place-items: center; align-content: center; gap: 8px; color: var(--gold-bright); background: #171715; }.news-image.official svg { width: 30px; height: 30px; }.news-image.official img { width: 100%; height: 100%; object-fit: cover; }.news-image.official span { font: 800 8px 'Montserrat'; letter-spacing: .12em; }
.history-admin { margin-bottom: 22px; padding: 22px; color: white; background: #171715; border-radius: 16px; box-shadow: var(--shadow); }.history-admin h3, .history-admin .overline { color: white; }.history-admin-list { display: grid; gap: 8px; margin-top: 14px; }.history-admin-list article { display: grid; grid-template-columns: auto minmax(180px, 1fr) auto; align-items: center; gap: 12px; padding: 13px; background: #252522; border: 1px solid #35352f; border-radius: 10px; }.history-admin-list article > div:nth-child(2) { display: grid; gap: 4px; }.history-admin-list strong { font-size: 9px; }.history-admin-list small { color: #9d9b91; font-size: 7px; }.history-admin-list article > div:last-child { display: flex; gap: 6px; }.history-admin-list button { padding: 8px 10px; color: #2e260f; background: var(--gold-bright); border: 0; border-radius: 7px; font-size: 7px; font-weight: 800; }.history-timeline { max-width: 980px; position: relative; display: grid; gap: 0; margin: 12px auto; }.history-timeline::before { content: ''; width: 2px; position: absolute; top: 20px; bottom: 20px; left: 57px; background: linear-gradient(var(--gold), #e7e3d7); }.history-entry { position: relative; display: grid; grid-template-columns: 115px 1fr; gap: 18px; padding: 0 0 25px; }.history-marker { position: relative; display: flex; align-items: flex-start; justify-content: flex-end; padding-top: 24px; }.history-marker span { width: 14px; height: 14px; position: absolute; z-index: 1; top: 29px; right: 50px; background: var(--gold-bright); border: 3px solid white; border-radius: 50%; box-shadow: 0 0 0 2px var(--gold); }.history-marker b { margin-right: 72px; color: #8d6a1b; font: 800 13px 'Montserrat'; }.history-card { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }.history-card:has(img) { grid-template-columns: 180px minmax(0, 1fr); }.history-card img { width: 100%; height: 100%; min-height: 190px; object-fit: cover; }.history-card > div { padding: 25px; }.history-card time { margin-left: 8px; color: var(--muted); font-size: 8px; }.history-card h2 { margin: 12px 0 8px; font: 800 20px 'Montserrat'; }.history-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }.history-form textarea { width: 100%; padding: 12px 15px; resize: vertical; border: 1px solid #deddd8; border-radius: 11px; font: inherit; }

.score-visual.manual > div:nth-child(2) small, .score-visual.manual #homeNewsOpponentScore, .score-visual.manual .rival-crest { display: none; }.score-visual.manual > div:nth-child(2) strong { color: var(--gold-bright); font-size: 17px; letter-spacing: .08em; }

/* Placeholder, panels, modal */
/* Galeria, uniformes, parceiros e perfil */
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }.gallery-album-card { overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow); }.gallery-album-card > button { width: 100%; padding: 0; color: var(--ink); text-align: left; background: transparent; border: 0; }.gallery-cover { height: 190px; position: relative; display: grid; place-items: center; overflow: hidden; color: #967020; background: var(--gold-pale); }.gallery-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }.gallery-album-card:hover .gallery-cover img { transform: scale(1.04); }.gallery-cover > svg { width: 42px; height: 42px; }.gallery-cover b { position: absolute; right: 10px; bottom: 10px; padding: 6px 8px; color: white; background: rgba(15,15,13,.76); border-radius: 7px; font-size: 7px; }.gallery-album-copy { display: grid; gap: 7px; padding: 17px; }.gallery-album-copy small { color: #8a681d; font-size: 7px; text-transform: uppercase; }.gallery-album-copy strong { font: 800 15px 'Montserrat'; }.gallery-album-copy p { min-height: 34px; margin: 0; color: var(--muted); font-size: 8px; line-height: 1.55; }.gallery-album-card.draft, .gallery-album-card.archived { border-style: dashed; }.gallery-album-card.archived { opacity: .7; }.gallery-admin-actions { display: flex; gap: 6px; padding: 0 13px 13px; }.gallery-admin-actions button { flex: 1; padding: 8px; color: #57461e; background: var(--gold-pale); border: 0; border-radius: 7px; font-size: 7px; font-weight: 800; }.modal-section-heading { display: flex !important; grid-template-columns: 1fr auto !important; align-items: center; }.gallery-item-editors { display: grid !important; grid-template-columns: 1fr !important; gap: 7px; }.gallery-item-editor { display: grid !important; grid-template-columns: 85px minmax(150px, 1.4fr) minmax(130px, 1fr) minmax(110px, 1fr) 32px !important; align-items: center; gap: 6px; padding: 8px; background: #faf9f5; border-radius: 9px; }.gallery-item-editor input, .gallery-item-editor select { width: 100%; height: 36px; padding: 0 8px; background: white; border: 1px solid var(--line); border-radius: 7px; font-size: 7px; }.gallery-item-editor button { width: 30px; height: 30px; display: grid; place-items: center; color: var(--red); background: #f8e9e9; border: 0; border-radius: 7px; }.gallery-item-editor svg { width: 13px; }.gallery-lightbox-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 18px; }.gallery-lightbox-item { overflow: hidden; background: #f5f4ef; border-radius: 10px; }.gallery-lightbox-item img, .gallery-lightbox-item video { width: 100%; height: 210px; display: block; object-fit: cover; }.gallery-lightbox-item p { margin: 0; padding: 10px; color: var(--muted); font-size: 8px; }
.gallery-item-editor > [name="mediaType"] { grid-column: 1; grid-row: 1; }.gallery-item-editor > [name="mediaUrl"] { grid-column: 2; grid-row: 1; }.gallery-item-editor > [name="thumbnailUrl"] { grid-column: 3; grid-row: 1; }.gallery-item-editor > [name="caption"] { grid-column: 4; grid-row: 1; }.gallery-item-editor > button { grid-column: 5; grid-row: 1; }.gallery-item-editor > [name="mediaUrl"] + .image-file-picker { grid-column: 2; grid-row: 2; }.gallery-item-editor > [name="thumbnailUrl"] + .image-file-picker { grid-column: 3; grid-row: 2; }.gallery-item-editor .image-file-picker { grid-template-columns: 1fr; align-self: start; }.gallery-item-editor .image-file-button { width: 100%; height: auto; min-height: 30px; color: #604914; background: var(--gold-pale); border: 1px solid #dfc776; }.gallery-item-editor .image-file-preview { height: 72px; }
.sponsor-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }.sponsor-card { display: flex; flex-direction: column; align-items: flex-start; padding: 23px; background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }.sponsor-card.inactive { opacity: .55; border-style: dashed; }.sponsor-logo { width: 100%; height: 100px; display: grid; place-items: center; margin-bottom: 17px; padding: 13px; background: #faf9f5; border-radius: 11px; }.sponsor-logo img { max-width: 100%; max-height: 75px; object-fit: contain; }.sponsor-card > small { color: #8c6819; font-size: 7px; font-weight: 800; text-transform: uppercase; }.sponsor-card h2 { margin: 8px 0; font: 800 17px 'Montserrat'; }.sponsor-card > p { flex: 1; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.6; }.sponsor-benefit { width: 100%; display: grid; gap: 4px; margin-top: 14px; padding: 11px; color: #6b531b; background: var(--gold-pale); border-radius: 9px; }.sponsor-benefit strong { font-size: 7px; text-transform: uppercase; }.sponsor-benefit span { font-size: 8px; line-height: 1.4; }.sponsor-links { display: flex; gap: 7px; margin-top: 14px; }.sponsor-links a { padding: 8px 10px; color: #70551b; background: #f5f2e8; border-radius: 7px; font-size: 7px; font-weight: 800; text-decoration: none; }.sponsor-card .gallery-admin-actions { width: 100%; margin-top: 12px; padding: 0; }
.uniform-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }.uniform-product-card { overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }.uniform-product-card.inactive { opacity: .6; }.uniform-product-art { height: 220px; position: relative; display: grid; place-items: center; color: #ba9138; background: radial-gradient(circle at center, #f1df9f, #d1aa53); }.uniform-product-art img { width: 100%; height: 100%; object-fit: cover; }.uniform-product-art > svg { width: 75px; height: 75px; opacity: .8; }.uniform-product-art span { position: absolute; top: 12px; right: 12px; padding: 6px 8px; color: white; background: rgba(20,19,16,.78); border-radius: 7px; font-size: 7px; font-weight: 800; }.uniform-product-card > div:last-child { padding: 18px; }.uniform-product-card small { color: #8a681d; font-size: 7px; font-weight: 800; }.uniform-product-card h2 { margin: 7px 0; font: 800 17px 'Montserrat'; }.uniform-product-card p { min-height: 42px; margin: 0 0 11px; color: var(--muted); font-size: 8px; line-height: 1.55; }.uniform-product-card > div:last-child > strong { display: block; margin-bottom: 11px; font: 800 17px 'Montserrat'; }.uniform-product-card > div:last-child > button { width: 100%; padding: 10px; color: #211b0d; background: var(--gold-bright); border: 0; border-radius: 9px; font-size: 8px; font-weight: 800; }.uniform-product-card > div:last-child > button:disabled { color: #888; background: #e8e7e2; }.uniform-product-card .gallery-admin-actions { padding: 9px 0 0; }.club-management-card { margin-top: 22px; padding: 22px; background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }.dark-management { color: white; background: #171715; border-color: #282824; }.dark-management .overline { color: var(--gold-bright); }.uniform-order-list { display: grid; gap: 8px; margin-top: 14px; }.uniform-order-list article { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 11px; padding: 12px; background: #faf9f5; border: 1px solid var(--line); border-radius: 10px; }.dark-management .uniform-order-list article { background: #242421; border-color: #363631; }.uniform-order-icon { width: 35px; height: 35px; display: grid; place-items: center; color: #77581a; background: var(--gold-pale); border-radius: 9px; }.uniform-order-icon svg { width: 18px; }.uniform-order-list article > div { display: grid; gap: 3px; }.uniform-order-list strong { font-size: 9px; }.uniform-order-list small, .uniform-order-list time { color: var(--muted); font-size: 7px; }.uniform-status { padding: 6px 8px; color: #6b531b; background: var(--gold-pale); border-radius: 8px; font-size: 7px; font-style: normal; font-weight: 800; }.uniform-status.delivered, .uniform-status.ready { color: var(--green); background: var(--green-pale); }.uniform-status.cancelled { color: var(--red); background: #f8e9e9; }.uniform-order-list article > button { padding: 8px 10px; color: #2c240f; background: var(--gold-bright); border: 0; border-radius: 8px; font-size: 7px; font-weight: 800; }
.profile-settings-grid { max-width: 1050px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 18px; }.profile-settings-card { padding: 25px; background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }.profile-settings-heading { display: flex; align-items: center; gap: 15px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }.settings-avatar { width: 70px; height: 70px; display: grid; place-items: center; overflow: hidden; color: #2e2511; background: linear-gradient(145deg, #edd273, #ad7e27); border-radius: 20px; font: 800 18px 'Montserrat'; }.settings-avatar img { width: 100%; height: 100%; object-fit: cover; }.profile-settings-heading h2, .security-card h2 { margin: 5px 0; font: 800 20px 'Montserrat'; }.profile-settings-heading > div > span, .security-card > p { color: var(--muted); font-size: 8px; line-height: 1.55; }.settings-form { display: grid; gap: 13px; margin-top: 20px; }.settings-form > div:not(.settings-sport-summary) { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.settings-form label { display: grid; gap: 6px; margin: 0; color: var(--muted); font-size: 8px; font-weight: 700; }.settings-form input { width: 100%; height: 43px; padding: 0 12px; color: var(--ink); background: #faf9f5; border: 1px solid var(--line); border-radius: 9px; outline: 0; font: inherit; font-size: 9px; }.settings-form input:focus { background: white; border-color: var(--gold); }.settings-form input[readonly] { color: #929088; }.settings-sport-summary { display: grid; gap: 5px; padding: 13px; color: #6b531b; background: var(--gold-pale); border-radius: 10px; }.settings-sport-summary strong { font-size: 8px; }.settings-sport-summary span { font-size: 8px; line-height: 1.5; }.security-card { align-self: start; }.security-card > .attention-icon { margin-bottom: 18px; }

/* Chat interno */
.chat-layout { height: min(680px, calc(100vh - 190px)); min-height: 550px; display: grid; grid-template-columns: 330px minmax(0, 1fr); overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 17px; box-shadow: var(--shadow); }
.chat-conversations { min-width: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); border-right: 1px solid var(--line); background: #fdfcf9; }
.chat-search { height: 42px; display: flex; align-items: center; gap: 8px; margin: 15px; padding: 0 12px; background: #f2f1ed; border: 1px solid transparent; border-radius: 10px; transition: border-color .2s, background .2s; }.chat-search:focus-within { background: white; border-color: var(--gold); }.chat-search svg { width: 15px; height: 15px; color: var(--muted); }.chat-search input { min-width: 0; flex: 1; color: var(--ink); background: transparent; border: 0; outline: 0; font: inherit; font-size: 9px; }
.chat-conversation-list { min-height: 0; overflow-y: auto; padding: 0 8px 12px; }.chat-conversation { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px 9px; color: var(--ink); text-align: left; background: transparent; border: 0; border-radius: 11px; }.chat-conversation:hover { background: #f5f2e8; }.chat-conversation.active { background: var(--gold-pale); }.chat-avatar { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 auto; color: #282113; background: linear-gradient(145deg, #efd77f, #b78b31); border-radius: 50%; font: 800 9px 'Montserrat'; }.chat-avatar.group { color: #f3d775; background: #24231f; }.chat-conversation-copy { min-width: 0; display: grid; gap: 4px; }.chat-conversation-copy strong, .chat-conversation-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.chat-conversation-copy strong { font-size: 9px; }.chat-conversation-copy small { color: var(--muted); font-size: 7px; }.chat-conversation-meta { align-self: stretch; display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 6px; }.chat-conversation-meta time { color: #aaa89f; font-size: 6px; }.chat-conversation-meta b { min-width: 17px; height: 17px; display: grid; place-items: center; padding: 0 4px; color: white; background: #a37a21; border-radius: 9px; font-size: 6px; }.chat-list-empty { padding: 30px 15px; color: var(--muted); font-size: 9px; line-height: 1.5; text-align: center; }
.chat-thread { min-width: 0; min-height: 0; position: relative; background: linear-gradient(rgba(250,249,245,.92), rgba(250,249,245,.92)), radial-gradient(circle at 15% 20%, rgba(199,161,68,.2), transparent 22%); }.chat-thread-empty { height: 100%; display: grid; place-items: center; align-content: center; gap: 7px; padding: 30px; text-align: center; }.chat-thread-empty .placeholder-icon { margin: 0 0 5px; }.chat-thread-empty h2 { margin: 0; font: 800 18px 'Montserrat'; }.chat-thread-empty p { margin: 0; color: var(--muted); font-size: 9px; }.chat-thread-content { height: 100%; min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }.chat-thread-content[hidden] { display: none; }.chat-thread-header { display: flex; align-items: center; gap: 11px; padding: 13px 17px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); }.chat-thread-header > div { display: grid; gap: 3px; }.chat-thread-header strong { font-size: 10px; }.chat-thread-header small { color: var(--muted); font-size: 7px; }.chat-back { width: 33px; height: 33px; display: none; place-items: center; color: var(--ink); background: #f2f1ed; border: 0; border-radius: 9px; }.chat-back svg { width: 15px; transform: rotate(180deg); }
.chat-message-list { min-height: 0; display: flex; flex-direction: column; gap: 7px; overflow-y: auto; padding: 20px; }.chat-message { width: fit-content; max-width: min(72%, 520px); display: grid; gap: 4px; padding: 9px 12px 7px; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.04); }.chat-message.other { align-self: flex-start; background: white; border-bottom-left-radius: 3px; }.chat-message.own { align-self: flex-end; background: #ead694; border-bottom-right-radius: 3px; }.chat-message strong { color: #87651a; font-size: 7px; }.chat-message p { margin: 0; font-size: 9px; line-height: 1.55; overflow-wrap: anywhere; }.chat-message time { justify-self: end; color: #7d786d; font-size: 6px; }.chat-no-messages { margin: auto; display: grid; place-items: center; gap: 7px; padding: 25px; text-align: center; }.chat-no-messages p { max-width: 330px; margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }.chat-no-messages strong { font: 800 14px 'Montserrat'; }
.chat-message-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 9px; padding: 12px 15px; background: white; border-top: 1px solid var(--line); }.chat-message-form textarea { max-height: 110px; min-height: 40px; padding: 11px 13px; resize: vertical; color: var(--ink); background: #f5f4f0; border: 1px solid transparent; border-radius: 11px; outline: 0; font: inherit; font-size: 9px; line-height: 1.45; }.chat-message-form textarea:focus { background: white; border-color: var(--gold); }.chat-message-form button { width: 40px; height: 40px; display: grid; place-items: center; color: #211b0e; background: var(--gold-bright); border: 0; border-radius: 11px; }.chat-message-form button:disabled { opacity: .55; }.chat-message-form svg { width: 17px; height: 17px; }.modal-chat-search { margin: 17px 0 11px; }.new-chat-user-list { max-height: 330px; display: grid; gap: 4px; overflow-y: auto; }.new-chat-user-list > button { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 10px; color: var(--ink); text-align: left; background: #faf9f5; border: 1px solid transparent; border-radius: 10px; }.new-chat-user-list > button:hover { border-color: var(--gold); }.new-chat-user-list > button > span:nth-child(2) { display: grid; gap: 4px; }.new-chat-user-list strong { font-size: 9px; }.new-chat-user-list small { color: var(--muted); font-size: 7px; }.new-chat-user-list svg { width: 15px; height: 15px; }

.placeholder-view { min-height: 65vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }.placeholder-icon { width: 66px; height: 66px; display: grid; place-items: center; margin-bottom: 20px; color: #8c6819; background: var(--gold-pale); border-radius: 20px; }.placeholder-icon svg { width: 28px; height: 28px; }.placeholder-view h1 { margin: 8px 0; font: 800 31px 'Montserrat'; }.placeholder-view > p:nth-of-type(2) { max-width: 520px; margin: 0 0 23px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.notification-panel { width: min(390px, calc(100vw - 20px)); max-height: calc(100vh - 90px); position: fixed; z-index: 70; top: 70px; right: 18px; overflow-y: auto; padding: 21px; background: white; border: 1px solid var(--line); border-radius: 17px; box-shadow: 0 25px 70px rgba(0,0,0,.18); opacity: 0; pointer-events: none; transform: translateY(-10px); transition: .22s ease; }.notification-panel.open { opacity: 1; pointer-events: auto; transform: none; }.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }.panel-header h3 { margin: 0; font: 800 17px 'Montserrat'; }.panel-header button, .modal-close { display: grid; place-items: center; color: var(--muted); background: #f2f2ee; border: 0; border-radius: 8px; }.panel-header button { width: 32px; height: 32px; }.panel-header svg, .modal-close svg { width: 16px; }.panel-header-actions { display: flex; align-items: center; gap: 7px; }.panel-header-actions .panel-text-action { width: auto; padding: 0 8px; color: #795b19; background: var(--gold-pale); font-size: 7px; font-weight: 800; white-space: nowrap; }
.notification-list { display: grid; }.notification-item { width: 100%; position: relative; display: flex; align-items: flex-start; gap: 11px; padding: 14px 12px 14px 2px; text-align: left; background: transparent; border: 0; border-bottom: 1px solid var(--line); }.notification-item:last-child { border: 0; }.notification-item:hover { background: #faf9f5; }.notification-item.unread::after { content: ''; width: 6px; height: 6px; position: absolute; right: 2px; top: 20px; background: var(--gold); border-radius: 50%; }.notification-item > span:last-child { display: grid; gap: 3px; }.notification-list strong { color: var(--ink); font-size: 9px; }.notification-list p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.45; }.notification-list time { color: #aaa9a3; font-size: 7px; }.notification-empty { margin: 20px 4px 4px; color: var(--muted); font-size: 9px; line-height: 1.5; text-align: center; }.notification-footer { padding-top: 11px; border-top: 1px solid var(--line); }.notification-footer button { width: 100%; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 10px; color: #6f571e; background: var(--gold-pale); border: 0; border-radius: 9px; font-size: 8px; font-weight: 800; }.notification-footer svg { width: 14px; height: 14px; }
.notification-preferences-form { display: grid; gap: 18px; margin-top: 20px; }.notification-preference-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.notification-preference-grid label, .future-channel label { display: flex; align-items: center; gap: 8px; margin: 0; padding: 11px; background: #faf9f5; border: 1px solid var(--line); border-radius: 9px; color: #3d3b35; font-size: 9px; font-weight: 700; }.notification-preference-grid input, .future-channel input { width: 16px; height: 16px; accent-color: var(--gold); }.future-channel { display: grid; gap: 7px; padding: 14px; background: var(--gold-pale); border-radius: 11px; }.future-channel strong { font-size: 9px; }.future-channel label { padding: 7px 0; background: transparent; border: 0; }.future-channel small { color: var(--muted); font-size: 8px; line-height: 1.5; }
.modal-backdrop { position: fixed; z-index: 90; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(5,5,5,.66); backdrop-filter: blur(5px); opacity: 0; transition: opacity .18s; }.modal-backdrop.visible { opacity: 1; }.modal { width: min(100%, 570px); max-height: min(720px, calc(100vh - 40px)); position: relative; overflow-y: auto; padding: 34px; background: white; border-radius: 20px; box-shadow: 0 30px 90px rgba(0,0,0,.3); transform: translateY(10px) scale(.98); transition: transform .18s; }.modal-backdrop.visible .modal { transform: none; }.modal-close { width: 34px; height: 34px; position: absolute; top: 17px; right: 17px; }.modal h2 { margin: 7px 40px 10px 0; font: 800 26px/1.15 'Montserrat'; letter-spacing: -.035em; }.modal > #modalContent > p { color: var(--muted); font-size: 11px; line-height: 1.6; }.modal-lead { margin-top: 0; }.modal-score { display: flex; align-items: center; justify-content: center; gap: 25px; margin: 22px 0; padding: 23px; color: white; background: #171715; border-radius: 13px; }.modal-score span { font-size: 9px; font-weight: 800; }.modal-score strong { color: var(--gold-bright); font: 800 24px 'Montserrat'; }.ai-note { margin-top: 20px; padding: 12px; color: #706c61; background: var(--gold-pale); border-radius: 9px; font-size: 8px; }.payment-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 25px 0; }.payment-options button { display: grid; gap: 5px; padding: 20px 12px; text-align: left; background: white; border: 1px solid var(--line); border-radius: 11px; }.payment-options button:hover { border-color: var(--gold); background: var(--gold-pale); }.payment-options strong { font: 800 13px 'Montserrat'; }.payment-options small { color: var(--muted); font-size: 8px; }.center { text-align: center; }.modal-form { margin-top: 22px; }.modal-form > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.modal-roster { margin-top: 18px; }.modal-roster > div { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); }.modal-roster span { width: 31px; height: 31px; display: grid; place-items: center; background: var(--gold-pale); border-radius: 50%; font-size: 8px; font-weight: 800; }.modal-roster strong { font-size: 10px; }.modal-roster small, .modal-muted { color: var(--muted); font-size: 8px; }
.toast { max-width: min(430px, calc(100vw - 28px)); position: fixed; z-index: 120; left: 50%; bottom: 24px; padding: 12px 17px; color: white; background: #181816; border: 1px solid #3b3932; border-radius: 10px; box-shadow: 0 18px 40px rgba(0,0,0,.25); font-size: 10px; font-weight: 700; opacity: 0; pointer-events: none; transform: translate(-50%, 18px); transition: .25s ease; }.toast.visible { opacity: 1; transform: translate(-50%, 0); }
.sidebar-backdrop, .mobile-bottom-nav { display: none; }

@keyframes fade-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes card-celebrate { 0%,100% { transform: rotate(0) scale(1); } 30% { transform: rotate(-3deg) scale(1.04); } 65% { transform: rotate(3deg) scale(1.04); } }

@media (max-width: 1150px) {
  :root { --sidebar: 232px; }
  .home-grid { grid-template-columns: 1fr; }
  .next-match-card { min-height: 330px; }
  .presence-prompt { margin-top: 15px; }
  .plantao-card { min-height: 330px; }
  .player-card-layout { grid-template-columns: 1fr; }
  .fifa-stage { min-height: 570px; }
  .finance-summary { grid-template-columns: 1fr 1fr; }.balance-card { grid-row: span 2; }
  .admin-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .auth-screen { grid-template-columns: 1fr; }
  .auth-brand-panel { display: none; }
  .auth-form-panel { padding: 40px 24px; }
  .mobile-auth-brand { position: absolute; top: 20px; left: 24px; display: flex; align-items: center; gap: 10px; }.mobile-auth-brand .club-logo { width: 44px; height: 44px; }.mobile-auth-brand > strong { font: 800 13px 'Montserrat'; letter-spacing: .08em; }
  .sidebar { width: min(82vw, 290px); transform: translateX(-102%); transition: transform .25s ease; box-shadow: 20px 0 60px rgba(0,0,0,.25); }.sidebar.open { transform: none; }.mobile-close { display: grid; place-items: center; }
  .sidebar .main-nav { padding-bottom: 118px; }
  .sidebar-footer { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding-bottom: max(18px, env(safe-area-inset-bottom)); box-shadow: 0 -12px 24px rgba(16,16,15,.96); }
  .sidebar-backdrop { position: fixed; z-index: 35; inset: 0; display: block; background: rgba(0,0,0,.5); opacity: 0; pointer-events: none; transition: opacity .25s; }.sidebar-backdrop.visible { opacity: 1; pointer-events: auto; }
  .app-main { margin-left: 0; }
  .menu-button { display: grid; place-items: center; width: 38px; height: 38px; margin-right: 12px; padding: 0; }
  .page-title { margin-right: auto; }
  .profile-button { display: none; }
  .attention-grid { grid-template-columns: 1fr 1fr; }.attention-card:last-child { grid-column: 1/-1; }
  .metric-grid { grid-template-columns: 1fr; }
  .news-preview-grid, .news-list-grid { grid-template-columns: 1fr 1fr; }
  .gallery-grid, .sponsor-grid, .uniform-product-grid { grid-template-columns: 1fr 1fr; }
  .profile-settings-grid { grid-template-columns: 1fr; }
  .presence-layout, .stats-grid { grid-template-columns: 1fr; }
  .lineup-member-grid { grid-template-columns: 1fr; }
  .match-report-player { grid-template-columns: auto 1fr; }.match-report-player em { text-align: left; }.match-report-summary { grid-template-columns: repeat(2, 1fr); }
  .award-grid { grid-template-columns: 1fr 1fr; }
  .admin-kpis, .stats-kpis { grid-template-columns: 1fr 1fr; }
  .athlete-directory { grid-template-columns: 1fr; }
  .activity-list article { grid-template-columns: auto 1fr; }.activity-actions { grid-column: 2; }
  .mobile-bottom-nav { height: 67px; position: fixed; z-index: 32; inset: auto 0 0; display: grid; grid-template-columns: repeat(5, 1fr); padding: 6px 8px max(6px, env(safe-area-inset-bottom)); background: rgba(255,255,255,.96); border-top: 1px solid var(--line); backdrop-filter: blur(15px); }.mobile-bottom-nav button { display: grid; place-items: center; gap: 2px; padding: 3px; color: #8d8b84; background: transparent; border: 0; font-size: 7px; }.mobile-bottom-nav svg { width: 19px; height: 19px; }.mobile-bottom-nav button.active { color: #886619; font-weight: 800; }.view-container { padding-bottom: 95px; }
}

@media (max-width: 640px) {
  .topbar { height: 64px; padding: 0 15px; }.page-title p { display: none; }.page-title h2 { font-size: 15px; }.icon-button { width: 36px; height: 36px; }.install-button { display: none; }
  .view-container { padding: 24px 15px 90px; }
  .welcome-row, .inner-heading { align-items: flex-start; }.welcome-row .outline-action { display: none; }.welcome-row h1, .inner-heading h1 { font-size: 27px; }.inner-heading { flex-direction: column; }.inner-heading > :last-child { align-self: flex-start; }
  .attention-grid { display: flex; overflow-x: auto; margin-inline: -15px; padding: 0 15px 4px; scrollbar-width: none; }.attention-card { min-width: 245px; }
  .plantao-card { grid-template-columns: 1fr; }.plantao-art { min-height: 240px; }.plantao-copy { padding: 24px; }.plantao-copy h2 { font-size: 23px; }.score-visual { gap: 18px; }.team-crest { width: 53px; height: 61px; font-size: 20px; }.score-visual strong { font-size: 31px; }
  .section-row { margin-top: 28px; }.section-row h2 { font-size: 18px; }
  .metric-grid { display: flex; overflow-x: auto; margin-inline: -15px; padding: 0 15px 4px; scrollbar-width: none; }.metric-card { min-width: 275px; }
  .news-preview-grid, .news-list-grid { grid-template-columns: 1fr; }.news-preview-grid .news-preview { display: grid; grid-template-columns: 120px 1fr; }.news-preview-grid .news-image { height: 100%; min-height: 130px; }
  .gallery-grid, .sponsor-grid, .uniform-product-grid { grid-template-columns: 1fr; }.gallery-cover { height: 220px; }.gallery-item-editor { grid-template-columns: 1fr !important; }.gallery-item-editor > * { grid-column: 1 !important; grid-row: auto !important; }.gallery-item-editor > button { justify-self: end; }.gallery-lightbox-grid { grid-template-columns: 1fr; }.uniform-order-list article { grid-template-columns: auto 1fr; }.uniform-order-list article > em, .uniform-order-list article > button { grid-column: 2; justify-self: start; }.profile-settings-card { padding: 19px; }.settings-form > div:not(.settings-sport-summary) { grid-template-columns: 1fr; }
  .event-cover { min-height: 215px; }.event-versus { gap: 12px; }.event-versus .team-crest { width: 48px; height: 56px; }.event-versus .official-team-logo { width: 58px; height: 58px; }.event-versus strong { font-size: 13px; }
  .event-info-grid { grid-template-columns: 1fr 1fr; gap: 14px 0; }.event-info-grid > div:nth-child(2) { border: 0; }.event-info-grid > div:nth-child(3) { padding-left: 0; }.presence-decision > div { grid-template-columns: 1fr; }
  .filter-tabs { width: 100%; overflow-x: auto; }.filter-tabs button { flex: 1; padding-inline: 12px; }
  .stats-kpis, .admin-kpis { grid-template-columns: 1fr 1fr; }.chart-card { overflow: hidden; }.line-chart { height: 210px; }.award-grid { grid-template-columns: 1fr; }
  .fifa-stage { min-height: 510px; }.fifa-card { width: 284px; height: 413px; transform: scale(.96); }.fifa-rating { top: 55px; left: 40px; }.fifa-rating strong { font-size: 39px; }.fifa-club-logo { top: 116px; left: 43px; width: 48px; height: 48px; }.player-silhouette { width: 165px; height: 220px; top: 35px; }.fifa-name { top: 254px; font-size: 24px; }.fifa-stats { top: 297px; left: 45px; right: 45px; }.fifa-footer { bottom: 35px; }
  .player-summary { grid-template-columns: 1fr; }.last-evolution { grid-column: auto; }
  .finance-summary { grid-template-columns: 1fr; }.balance-card { grid-row: auto; min-height: 195px; }.transaction-list > div { grid-template-columns: auto 1fr auto; }.transaction-list > div > b { grid-column: 2; }.transaction-list .status { grid-column: 3; grid-row: 1; }.transaction-list .link-button { grid-column: 3; grid-row: 2; }.transactions-card { padding: 18px; }
  .finance-admin-summary { grid-template-columns: 1fr 1fr; }.finance-admin-grid { grid-template-columns: 1fr; }.finance-admin-charge-list article { grid-template-columns: minmax(0, 1fr) auto; }.finance-admin-charge-list article > .status, .finance-admin-charge-list article > span { grid-column: 2; }.finance-admin-charge-list article > span { flex-wrap: wrap; }.finance-user-checks { grid-template-columns: 1fr !important; }
  .approval-list article { grid-template-columns: auto 1fr; }.approval-list .requested-role { display: none; }.approval-list article > div:last-child { grid-column: 2; }.admin-kpis article { padding: 13px; }
  .athlete-directory-summary { grid-template-columns: 1fr; }.athlete-directory-card { padding: 17px; }.athlete-directory article { grid-template-columns: auto 1fr; }.athlete-directory article > button { grid-column: 2; width: fit-content; }.modality-checks { grid-template-columns: 1fr; }
  .activity-summary { grid-template-columns: 1fr; }.activity-toolbar { align-items: stretch; flex-direction: column; }.activity-filters { overflow-x: auto; }.activity-filters button { flex: 1; white-space: nowrap; }.activity-list article { gap: 11px; padding: 13px; }.activity-date-block { width: 50px; }.activity-main h3 { font-size: 12px; }.activity-actions { flex-wrap: wrap; }
  .lineup-card { padding: 18px; }.lineup-responsibles { grid-template-columns: 1fr; }.lineup-editor-controls { grid-template-columns: 1fr; }.lineup-editor-actions { flex-direction: column; }
  .match-report-card { padding: 18px; }.match-report-score { grid-template-columns: 1fr auto auto auto 1fr; gap: 7px; padding: 16px 9px; }.match-report-score img, .match-report-score .mini-club { display: none; }.match-report-score strong { font-size: 7px; }.match-report-score > b { font-size: 24px; }.match-report-stat-inputs { grid-template-columns: repeat(2, 1fr); }.substitution-editor { grid-template-columns: 1fr auto 1fr; }.substitution-editor input, .substitution-editor button { grid-column: auto; }
  .ranking-podium { grid-template-columns: 1fr; align-items: stretch; }.ranking-podium article, .ranking-podium article:first-child, .ranking-podium article:nth-child(2), .ranking-podium article:nth-child(3) { min-height: 130px; grid-column: 1; grid-row: auto; }.ranking-podium article:first-child { order: -1; }.ranking-full-list > article { grid-template-columns: 28px auto 1fr 52px; }.ranking-full-list .ranking-stat { display: none; }.ranking-full-list .ranking-score { grid-column: 4; }.overall-trend { gap: 5px; }
  .news-editorial-list > article { grid-template-columns: 1fr; }.news-editorial-list article > div:last-child { flex-wrap: wrap; }
  .heading-actions { width: 100%; flex-wrap: wrap; }.history-admin-list article { grid-template-columns: 1fr; }.history-admin-list article > div:last-child { flex-wrap: wrap; }.history-entry { grid-template-columns: 62px 1fr; gap: 10px; }.history-timeline::before { left: 30px; }.history-marker span { right: 24px; }.history-marker b { margin-right: 43px; font-size: 9px; writing-mode: vertical-rl; }.history-card:has(img) { grid-template-columns: 1fr; }.history-card img { min-height: 150px; max-height: 210px; }.history-card > div { padding: 18px; }.history-card h2 { font-size: 16px; }
  .voting-card { padding: 18px; }.voting-award-grid, .vote-awards { grid-template-columns: 1fr; }.vote-rating-row { grid-template-columns: auto 1fr; }.vote-rating-row select { grid-column: 2; }
  .full-news { grid-template-columns: 1fr; }.full-news-art { min-height: 215px; }.full-news > div:last-child { padding: 24px; }
  .notification-panel { top: 60px; right: 10px; }
  .notification-preference-grid { grid-template-columns: 1fr; }
  .chat-layout { height: calc(100vh - 185px); min-height: 500px; grid-template-columns: 1fr; }.chat-conversations, .chat-thread { min-width: 0; grid-area: 1 / 1; }.chat-layout:not(.has-selection) .chat-thread { display: none; }.chat-layout.has-selection .chat-conversations { display: none; }.chat-back { display: grid; }.chat-message-list { padding: 14px 11px; }.chat-message { max-width: 86%; }.chat-thread-header { padding: 10px; }.chat-message-form { padding: 10px; }.chat-search { margin: 11px; }
  .modal { padding: 28px 21px; }.payment-options { grid-template-columns: 1fr; }.modal-form > div { grid-template-columns: 1fr; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
}

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

@media print {
  body * { visibility: hidden !important; }
  .modal, .modal * { visibility: visible !important; }
  .modal { width: 100%; max-height: none; position: absolute; inset: 0; box-shadow: none; }
  .modal-close, .receipt-document button { display: none !important; }
}
