/* ============================================================
   DESTINO DE CRAQUE  -  Estilo base
   Conceito: "estádio à noite" — fundo azul-noite, luz de
   refletor por esporte. Display: Sora. Corpo: Inter.
   ============================================================ */

:root {
    --bg:        #0b1220;   /* azul-noite profundo */
    --bg-2:      #111c30;   /* painel */
    --bg-3:      #18263f;   /* cartão elevado */
    --line:      #223350;   /* bordas */
    --txt:       #e8eef7;   /* texto principal */
    --txt-dim:   #93a4bd;   /* texto secundário */
    --txt-muted: #64748b;
    --brand:     #16a34a;
    --brand-2:   #2563eb;
    /* cores de tema por esporte (sobrescritas inline via --c1/--c2) */
    --c1: #16a34a;
    --c2: #15803d;
    --radius:    16px;
    --radius-sm: 10px;
    --shadow:    0 10px 40px rgba(0,0,0,.35);
    --shadow-lg: 0 20px 60px rgba(0,0,0,.5);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--bg);
    color: var(--txt);
    line-height: 1.6;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .brand-title, .over-name {
    font-family: 'Sora', system-ui, sans-serif;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

a { color: inherit; text-decoration: none; }

.container {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ---------------- BOTÕES ---------------- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: 'Sora', sans-serif;
    font-weight: 600;
    font-size: 15px;
    padding: 12px 24px;
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
    text-align: center;
}
.btn:active { transform: translateY(1px); }
.btn-primary {
    background: linear-gradient(135deg, var(--c1), var(--c2));
    color: #fff;
    box-shadow: 0 6px 20px rgba(0,0,0,.3);
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0,0,0,.4); }
.btn-ghost {
    background: transparent;
    border-color: var(--line);
    color: var(--txt);
}
.btn-ghost:hover { background: var(--bg-3); border-color: var(--c1); }
.btn-block { width: 100%; }
.btn-large { padding: 16px 32px; font-size: 17px; }

/* ---------------- ALERTAS ---------------- */
.alert { padding: 14px 18px; border-radius: var(--radius-sm); margin-bottom: 18px; font-size: 14px; }
.alert-success { background: rgba(22,163,74,.14); border: 1px solid rgba(22,163,74,.4); color: #86efac; }
.alert-error   { background: rgba(220,38,38,.14); border: 1px solid rgba(220,38,38,.4); color: #fca5a5; }

/* ---------------- FORMULÁRIOS ---------------- */
.form-group { margin-bottom: 16px; }
.form-group label { display: block; font-size: 13px; color: var(--txt-dim); margin-bottom: 6px; font-weight: 500; }
input[type="text"], input[type="email"] {
    width: 100%;
    padding: 13px 16px;
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: var(--txt);
    font-size: 15px;
    font-family: inherit;
    transition: border-color .15s ease;
}
input:focus { outline: none; border-color: var(--c1); box-shadow: 0 0 0 3px rgba(22,163,74,.15); }
input::placeholder { color: var(--txt-muted); }

/* ============================================================
   LANDING / LOGIN
   ============================================================ */
body.landing { display: flex; align-items: center; justify-content: center; padding: 40px 20px; position: relative; min-height: 100vh; }
.landing-bg {
    position: fixed; inset: 0; z-index: 0;
    background:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(37,99,235,.25), transparent 60%),
        radial-gradient(ellipse 60% 50% at 100% 100%, rgba(22,163,74,.18), transparent 55%),
        radial-gradient(ellipse 60% 50% at 0% 90%, rgba(234,88,12,.12), transparent 55%);
}
.landing-inner { position: relative; z-index: 1; width: 100%; max-width: 440px; padding: 0 20px; }

.brand { text-align: center; margin-bottom: 28px; }
.brand-badges { display: flex; justify-content: center; gap: 6px; margin-bottom: 16px; color: var(--txt-dim); }
.brand-badges .sport-glyph:nth-child(1) { color: #22c55e; }
.brand-badges .sport-glyph:nth-child(2) { color: #ef4444; }
.brand-badges .sport-glyph:nth-child(3) { color: #3b82f6; }
.brand-badges .sport-glyph:nth-child(4) { color: #f97316; }
/* imagem hero do login (substitui os glyphs quando existe) — responsiva */
.brand-badges .login-hero {
    width: 100%; max-width: min(380px, 82vw); height: auto;
    border-radius: var(--radius); display: block; margin: 0 auto;
}
.brand-title { font-size: 40px; font-weight: 800; background: linear-gradient(135deg,#fff,#93a4bd); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.brand-tag { color: var(--txt-dim); font-size: 16px; margin-top: 8px; }
.brand-tag strong { color: var(--txt); }

.auth-card {
    background: var(--bg-2);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 28px;
    box-shadow: var(--shadow-lg);
}
.auth-card h3 { font-size: 20px; margin-bottom: 6px; }
.auth-sub { color: var(--txt-dim); font-size: 14px; margin-bottom: 20px; }
.auth-foot { text-align: center; margin-top: 16px; font-size: 14px; color: var(--txt-dim); }
.auth-foot a { color: var(--brand); font-weight: 600; }
.divider { display: flex; align-items: center; text-align: center; color: var(--txt-muted); font-size: 12px; margin: 18px 0; text-transform: uppercase; letter-spacing: .08em; }
.divider::before, .divider::after { content: ''; flex: 1; height: 1px; background: var(--line); margin: 0 12px; }

.landing-features { display: flex; gap: 12px; margin-top: 24px; }
.feat { flex: 1; background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 14px; text-align: center; font-size: 12px; color: var(--txt-dim); }
.feat-ico { font-size: 22px; display: block; margin-bottom: 6px; }
.feat strong { color: var(--txt); font-size: 13px; }

/* ============================================================
   NAVBAR
   ============================================================ */
.navbar { background: rgba(11,18,32,.85); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); position: static; }
.navbar-inner { display: flex; align-items: center; justify-content: space-between; height: 62px; }
/* Nas telas COM menu (painel, ranking, conquistas): logo grande e centralizada
   EM CIMA, e o menu centralizado EMBAIXO. O topo do jogo (← Painel) não é afetado. */
.navbar-inner:has(.nav-links) {
    flex-direction: column; align-items: center; justify-content: center;
    gap: 10px; height: auto; padding: 14px 0 10px;
}
.navbar-inner:has(.nav-links) .nav-logo { justify-content: center; font-size: 24px; }
.navbar-inner:has(.nav-links) .nav-logo-mark { font-size: 30px; }
.navbar-inner:has(.nav-links) .nav-links { justify-content: center; }
.nav-logo { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 18px; display: flex; align-items: center; gap: 8px; }
/* logo em imagem: regra específica pra vencer o .ui-img (que vem depois no CSS) */
.nav-logo .nav-logo-img { height: 288px; width: auto; max-width: 760px; object-fit: contain; display: block; }
.nav-logo-mark { font-size: 20px; }
.nav-links { display: flex; align-items: center; gap: 20px; font-size: 14px; font-weight: 500; }
.nav-links a { color: var(--txt-dim); transition: color .15s; display: inline-flex; align-items: center; gap: 6px; }
.nav-links a:hover { color: var(--txt); }
.nav-links a.active { color: var(--txt); font-weight: 600; }
.nav-ico { font-size: 15px; line-height: 1; }
.nav-logout { color: var(--txt-muted) !important; }
.nav-career-name { color: var(--txt-dim); font-size: 14px; }

/* ============================================================
   DASHBOARD
   ============================================================ */
.dash-hero { display: flex; justify-content: space-between; align-items: flex-end; padding: 36px 0 20px; flex-wrap: wrap; gap: 16px; }
.dash-hero h1 { font-size: 30px; }
.dash-sub { color: var(--txt-dim); margin-top: 4px; }
.dash-mini-stats { display: flex; gap: 12px; }
.mini-stat { background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px 18px; text-align: center; font-size: 12px; color: var(--txt-dim); }
.mini-stat span { display: block; font-family: 'Sora',sans-serif; font-size: 22px; font-weight: 700; color: var(--txt); }

.section-title { font-size: 15px; text-transform: uppercase; letter-spacing: .08em; color: var(--txt-dim); margin: 32px 0 16px; font-weight: 600; }

.sports-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.sport-card {
    background: var(--bg-2);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 24px 20px;
    position: relative;
    overflow: hidden;
    transition: transform .18s ease, border-color .18s ease;
    display: flex; flex-direction: column; gap: 6px;
}
.sport-card::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(160deg, color-mix(in srgb, var(--c1) 22%, transparent), transparent 55%);
    opacity: 0; transition: opacity .2s ease;
}
.sport-card:hover { transform: translateY(-4px); border-color: var(--c1); }
.sport-card:hover::before { opacity: 1; }
.sport-card-glyph { color: var(--c1); position: relative; }
/* imagem do esporte (substitui o glyph): vira banner no topo do card, responsivo */
.sport-card-glyph:has(.sport-card-img) { margin: -24px -20px 12px; }
.sport-card-img {
    display: block; width: 100%; max-width: 100%; height: auto;
    aspect-ratio: 16 / 9; object-fit: cover; border-bottom: 1px solid var(--line);
}
.ui-img { display: block; max-width: 100%; height: auto; } /* rede de segurança responsiva */
.sport-card h3 { font-size: 19px; position: relative; }
.sport-card p { font-size: 13px; color: var(--txt-dim); position: relative; flex: 1; }
.sport-card-cta { font-family: 'Sora',sans-serif; font-weight: 600; font-size: 14px; color: var(--c1); position: relative; margin-top: 8px; }

.careers-list { display: flex; flex-direction: column; gap: 10px; }
.career-row {
    display: flex; align-items: center; gap: 14px;
    background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius-sm);
    padding: 14px 18px; transition: border-color .15s;
}
.career-row:hover { border-color: color-mix(in srgb, var(--c1) 50%, var(--line)); }
.career-row-glyph { color: var(--c1); flex-shrink: 0; }
/* miniatura da imagem do esporte na lista de carreiras (substitui o glyph) */
.career-row-img {
    display: block; width: 44px; height: 44px; object-fit: cover;
    border-radius: 10px; border: 1px solid var(--line);
}
.career-row-info { flex: 1; min-width: 0; }
.career-row-info h4 { font-size: 16px; display: flex; align-items: center; gap: 8px; }
.career-row-info p { font-size: 13px; color: var(--txt-dim); }
.tag-retired { font-size: 10px; text-transform: uppercase; letter-spacing: .05em; background: var(--bg-3); color: var(--txt-muted); padding: 2px 8px; border-radius: 20px; font-weight: 600; }

/* ============================================================
   SETUP (nova carreira)
   ============================================================ */
.setup-head { display: flex; align-items: center; gap: 16px; padding: 32px 0 24px; }
.setup-glyph { color: var(--c1); }
.setup-head h1 { font-size: 26px; }
.setup-head p { color: var(--txt-dim); }
.setup-form { max-width: 760px; }
.setup-block { margin-bottom: 28px; }
.setup-label { display: block; font-family: 'Sora',sans-serif; font-weight: 600; font-size: 17px; margin-bottom: 12px; }
.setup-hint { font-family: 'Inter',sans-serif; font-weight: 400; font-size: 13px; color: var(--txt-muted); }
.setup-name-input { font-size: 17px; padding: 15px 18px; }

.origins-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.origin-card { cursor: pointer; }
.origin-card input { position: absolute; opacity: 0; }
.origin-inner {
    background: var(--bg-2); border: 2px solid var(--line); border-radius: var(--radius);
    padding: 18px; height: 100%; transition: border-color .15s, transform .15s;
}
.origin-card:hover .origin-inner { transform: translateY(-2px); }
.origin-card input:checked + .origin-inner { border-color: var(--c1); background: color-mix(in srgb, var(--c1) 10%, var(--bg-2)); }
.origin-icon { color: var(--c1); margin-bottom: 10px; }
.origin-inner h4 { font-size: 16px; margin-bottom: 6px; }
.origin-inner p { font-size: 13px; color: var(--txt-dim); margin-bottom: 12px; }
.origin-bonus { display: inline-block; font-size: 12px; font-weight: 600; color: var(--c1); background: color-mix(in srgb, var(--c1) 14%, transparent); padding: 4px 10px; border-radius: 20px; }

/* ============================================================
   JOGO (play)
   ============================================================ */
.game-container { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 24px; padding: 24px 20px 60px; align-items: start; }

.player-panel { background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; position: sticky; top: 16px; }
.pp-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.pp-glyph { color: var(--c1); }
.pp-head h2 { font-size: 17px; }
.pp-head p { font-size: 12px; color: var(--txt-dim); }
.pp-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 18px; }
.pp-stat { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px; display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; }
.pp-stat-wide { grid-column: span 2; flex-direction: row; justify-content: center; gap: 8px; }
.pp-ico { color: var(--c1); display: flex; }
.pp-val { font-family: 'Sora',sans-serif; font-weight: 700; font-size: 16px; }
.pp-lab { font-size: 10px; color: var(--txt-muted); text-transform: uppercase; letter-spacing: .04em; }

.pp-bars { margin-bottom: 18px; }
.pp-bar-head, .pp-attr-head { display: flex; justify-content: space-between; font-size: 12px; color: var(--txt-dim); margin-bottom: 5px; }
.bar { height: 7px; background: var(--bg); border-radius: 20px; overflow: hidden; }
.bar-fill { height: 100%; border-radius: 20px; background: linear-gradient(90deg, var(--c1), var(--c2)); transition: width .5s ease; }
.bar-energy { background: linear-gradient(90deg,#f59e0b,#f97316); }
.bar-lg { height: 10px; }
.bar-progress { background: linear-gradient(90deg, var(--c1), var(--c2)); }

.pp-attrs h3 { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--txt-muted); margin-bottom: 12px; }
.pp-attr { margin-bottom: 12px; }

.stage { min-height: 400px; min-width: 0; }
.stage-progress { margin-bottom: 20px; }
.stage-progress-info { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.phase-pill { font-family: 'Sora',sans-serif; font-weight: 600; font-size: 13px; background: color-mix(in srgb, var(--c1) 16%, transparent); color: var(--c1); padding: 5px 14px; border-radius: 20px; }
.dec-count { font-size: 12px; color: var(--txt-muted); }

/* CARTÃO DE EVENTO */
.event-card, .result-card {
    background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius);
    padding: 36px; box-shadow: var(--shadow); text-align: center;
    animation: cardIn .35s cubic-bezier(.2,.7,.3,1);
    overflow: hidden; /* clipa a ilustração "hero" nos cantos arredondados */
}
@keyframes cardIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.event-icon { color: var(--c1); display: flex; justify-content: center; margin-bottom: 18px; }
.event-title { font-size: 24px; margin-bottom: 12px; }
.event-desc { color: var(--txt-dim); font-size: 16px; max-width: 520px; margin: 0 auto 28px; }

/* --- ILUSTRAÇÃO DO CARD (substitui o ícone quando há imagem) --- */
/* Rede de segurança: qualquer imagem dentro do card NUNCA passa da largura dele. */
.event-card img, .result-card img { max-width: 100%; height: auto; }

/* fallback base: imagem centralizada 16:9 arredondada (se o navegador não tiver :has) */
.event-illus {
    display: block;
    width: 100%;
    max-width: 100%;          /* trava responsiva: nunca ultrapassa o card */
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: calc(var(--radius) - 2px);
}
/* quando o wrapper contém a ilustração, ela vira "hero" no topo do card (canto a canto) */
.event-icon:has(.event-illus),
.result-icon:has(.event-illus) { display: block; margin: -36px -36px 22px; }
.event-icon:has(.event-illus) .event-illus,
.result-icon:has(.event-illus) .event-illus {
    width: 100%; border-radius: 0; border-bottom: 1px solid var(--line);
}

.event-options { display: flex; flex-direction: column; gap: 12px; max-width: 560px; margin: 0 auto; }
.opt-btn {
    display: flex; align-items: center; gap: 14px; text-align: left;
    background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-sm);
    padding: 16px 18px; cursor: pointer; font-family: inherit; font-size: 15px; color: var(--txt);
    transition: border-color .15s, transform .15s, background .15s;
}
.opt-btn:hover { border-color: var(--c1); transform: translateX(4px); background: var(--bg-3); }
.opt-marker { font-family: 'Sora',sans-serif; font-weight: 700; width: 32px; height: 32px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--c1) 18%, transparent); color: var(--c1); border-radius: 8px; }
.opt-text { flex: 1; }
.opt-arrow { color: var(--txt-muted); font-size: 18px; }
.event-hint { font-size: 13px; color: var(--txt-muted); margin-top: 20px; font-style: italic; }

/* CARTÃO DE RESULTADO */
.result-choice { font-size: 14px; color: var(--txt-dim); margin-bottom: 12px; }
.result-choice strong { color: var(--txt); }
.result-text { font-size: 18px; line-height: 1.6; max-width: 560px; margin: 0 auto 24px; }
.result-icon { display: flex; justify-content: center; margin-bottom: 16px; }
.result-deltas { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 28px; }
.delta-chip { font-family: 'Sora',sans-serif; font-weight: 600; font-size: 13px; padding: 6px 14px; border-radius: 20px; }
.chip-up { background: rgba(22,163,74,.16); color: #86efac; border: 1px solid rgba(22,163,74,.35); }
.chip-down { background: rgba(220,38,38,.16); color: #fca5a5; border: 1px solid rgba(220,38,38,.35); }

/* tons do resultado (barra superior colorida) */
.result-card { border-top: 3px solid var(--line); }
.result-card.tone-bom   { border-top-color: #22c55e; }
.result-card.tone-ruim  { border-top-color: #ef4444; }
.result-card.tone-epico { border-top-color: #f59e0b; }
.result-card.tone-neutro{ border-top-color: #3b82f6; }
.tone-epico .result-icon { color: #f59e0b; animation: pulse 1.2s ease infinite; }
@keyframes pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.08); } }

/* ============================================================
   FIM DE CARREIRA
   ============================================================ */
.over-hero { text-align: center; padding: 48px 24px; margin: 24px 0; border-radius: var(--radius); background: linear-gradient(160deg, color-mix(in srgb, var(--c1) 20%, var(--bg-2)), var(--bg-2)); border: 1px solid var(--line); position: relative; overflow: hidden; }
.over-emoji { font-size: 56px; margin-bottom: 8px; }
.over-sub { color: var(--txt-dim); font-size: 14px; text-transform: uppercase; letter-spacing: .1em; }
.over-name { font-size: 38px; font-weight: 800; margin: 4px 0 12px; }
.over-rank-title { display: inline-block; font-family: 'Sora',sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .08em; color: var(--c1); background: color-mix(in srgb, var(--c1) 14%, transparent); padding: 8px 20px; border-radius: 24px; margin-bottom: 24px; }
.over-score { display: flex; flex-direction: column; align-items: center; }
.over-score-val { font-family: 'Sora',sans-serif; font-weight: 800; font-size: 56px; line-height: 1; background: linear-gradient(135deg, var(--c1), var(--c2)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.over-score-lab { font-size: 13px; color: var(--txt-dim); text-transform: uppercase; letter-spacing: .08em; margin-top: 6px; }

.over-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 20px; }
.over-stat-card { background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; text-align: center; }
.over-stat-ico { color: var(--c1); display: flex; justify-content: center; margin-bottom: 8px; }
.over-stat-val { display: block; font-family: 'Sora',sans-serif; font-weight: 700; font-size: 22px; }
.over-stat-lab { font-size: 12px; color: var(--txt-dim); }

.over-ranking-banner { text-align: center; background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 16px; margin-bottom: 24px; color: var(--txt-dim); }
.over-ranking-banner strong { color: var(--c1); font-family: 'Sora',sans-serif; }

.over-attrs { margin-bottom: 28px; }
.over-attrs h3 { font-size: 15px; margin-bottom: 16px; text-align: center; color: var(--txt-dim); }
.over-attrs-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px 24px; max-width: 640px; margin: 0 auto; }
.over-attr-head { display: flex; justify-content: space-between; font-size: 13px; color: var(--txt-dim); margin-bottom: 5px; }
.over-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ============================================================
   RANKING
   ============================================================ */
.rank-hero { text-align: center; padding: 36px 0 20px; }
.rank-hero h1 { font-size: 32px; }
.rank-hero p { color: var(--txt-dim); margin-top: 4px; }
.rank-filters { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 24px; }
.rank-filter { font-family: 'Sora',sans-serif; font-weight: 600; font-size: 13px; padding: 8px 18px; border-radius: 24px; background: var(--bg-2); border: 1px solid var(--line); color: var(--txt-dim); transition: all .15s; }
.rank-filter:hover { color: var(--txt); border-color: var(--brand); }
.rank-filter.active { background: linear-gradient(135deg,var(--brand),var(--brand-2)); color: #fff; border-color: transparent; }

.rank-list { display: flex; flex-direction: column; gap: 8px; }
.rank-row { display: flex; align-items: center; gap: 14px; background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 14px 18px; }
.rank-top { border-color: rgba(245,158,11,.4); background: linear-gradient(90deg, rgba(245,158,11,.08), var(--bg-2)); }
.rank-me { border-color: var(--brand); }
.rank-pos { font-family: 'Sora',sans-serif; font-weight: 700; font-size: 18px; width: 44px; text-align: center; flex-shrink: 0; }
.rank-glyph { color: var(--txt-dim); flex-shrink: 0; }
.rank-info { flex: 1; min-width: 0; }
.rank-info h4 { font-size: 15px; display: flex; align-items: center; gap: 8px; }
.rank-info p { font-size: 12px; color: var(--txt-dim); }
.rank-you { font-size: 10px; text-transform: uppercase; background: var(--brand); color: #fff; padding: 2px 7px; border-radius: 12px; font-weight: 700; }
.rank-score { text-align: right; }
.rank-score-val { font-family: 'Sora',sans-serif; font-weight: 700; font-size: 18px; display: block; }
.rank-score-lab { font-size: 11px; color: var(--txt-muted); }
.rank-empty { text-align: center; padding: 60px 20px; color: var(--txt-dim); }
.rank-empty p { margin-bottom: 16px; }

/* ============================================================
   ADMIN
   ============================================================ */
.admin-title { font-size: 26px; padding: 28px 0 20px; }
.admin-stats { display: grid; grid-template-columns: repeat(6,1fr); gap: 12px; margin-bottom: 24px; }
.admin-stat { background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 18px; text-align: center; }
.admin-stat-val { display: block; font-family: 'Sora',sans-serif; font-weight: 800; font-size: 28px; color: var(--brand); }
.admin-stat-lab { font-size: 11px; color: var(--txt-dim); text-transform: uppercase; letter-spacing: .04em; }
.admin-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.admin-card { background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
.admin-card h3 { font-size: 16px; margin-bottom: 16px; }
.admin-line { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 14px; gap: 12px; }
.admin-line:last-child { border-bottom: none; }
.admin-muted { color: var(--txt-muted); font-size: 12px; }
.admin-chart { display: flex; align-items: flex-end; gap: 10px; height: 160px; padding: 10px 0; }
.admin-bar-col { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 6px; }
.admin-bar { width: 100%; max-width: 44px; background: linear-gradient(180deg,var(--brand),var(--brand-2)); border-radius: 6px 6px 0 0; min-height: 4px; }
.admin-bar-val { font-size: 12px; font-weight: 600; color: var(--txt-dim); }
.admin-bar-lab { font-size: 11px; color: var(--txt-muted); }
.admin-total-visits { font-size: 13px; color: var(--txt-dim); margin-top: 12px; text-align: center; }

/* ============================================================
   ANÚNCIOS
   ============================================================ */
.ad-slot { background: var(--bg-2); border: 1px dashed var(--line); border-radius: var(--radius-sm); padding: 12px; text-align: center; margin: 16px 0; min-height: 60px; display: flex; align-items: center; justify-content: center; color: var(--txt-muted); font-size: 12px; }
.ad-game { margin-bottom: 20px; }

/* ============================================================
   RODAPÉ
   ============================================================ */
.site-footer { border-top: 1px solid var(--line); margin-top: 60px; padding: 28px 0; text-align: center; }
.site-footer p { font-size: 13px; color: var(--txt-muted); }
.footer-donate { display: inline-block; margin-top: 10px; font-size: 14px; color: var(--brand); font-weight: 600; }

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width: 860px) {
    .sports-grid { grid-template-columns: repeat(2,1fr); }
    .game-container { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .player-panel { position: static; order: 2; }
    .stage { order: 1; }
    .over-grid { grid-template-columns: repeat(2,1fr); }
    .admin-stats { grid-template-columns: repeat(3,1fr); }
    .admin-cols { grid-template-columns: 1fr; }
    .origins-grid { grid-template-columns: 1fr; }
    .over-attrs-grid { grid-template-columns: 1fr; }
}

/* ===== NAVEGAÇÃO MOBILE: barra inferior fixa (estilo app) ===== */
@media (max-width: 640px) {
    .navbar-inner { height: 54px; }
    /* topo do PAINEL (com menu): só a logo, centralizada e um pouco maior.
       O menu (.nav-links) fica na barra inferior fixa. */
    .navbar-inner:has(.nav-links) { height: auto; padding: 10px 0; gap: 0; }
    .nav-logo { font-size: 17px; }
    .nav-logo .nav-logo-img { height: 150px; max-width: 340px; }
    .nav-career-name { font-size: 13px; }
    /* IMPORTANTE: backdrop-filter no ancestral "prende" position:fixed.
       Removendo do navbar no mobile, a barra inferior se posiciona pela tela. */
    .navbar { backdrop-filter: none; background: rgba(11,18,32,.98); }
    /* menu vira barra inferior fixa, itens bem distribuídos */
    .nav-links {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
        gap: 0; justify-content: space-around; align-items: stretch;
        background: rgba(11,18,32,.97); backdrop-filter: blur(14px);
        border-top: 1px solid var(--line);
        padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
        box-shadow: 0 -6px 20px rgba(0,0,0,.28);
    }
    .nav-links a {
        flex: 1; flex-direction: column; gap: 3px; justify-content: center;
        font-size: 10px; font-weight: 600; padding: 5px 2px; min-height: 48px;
        text-align: center; color: var(--txt-muted); position: relative;
    }
    .nav-links a .nav-ico { font-size: 21px; }
    /* item ATIVO: cor de destaque + indicador no topo do item */
    .nav-links a.active { color: #34d399; }
    .nav-links a.active .nav-ico { transform: scale(1.08); }
    .nav-links a.active::before {
        content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
        width: 28px; height: 3px; border-radius: 0 0 3px 3px; background: #34d399;
    }
    /* espaço pra barra inferior não cobrir o conteúdo (só nas páginas logadas, que têm a barra) */
    body:not(.landing) { padding-bottom: 70px; }
}

@media (max-width: 480px) {
    .container { padding: 0 14px; }
    .sports-grid { grid-template-columns: 1fr; }
    .brand-title { font-size: 30px; }
    .landing-features { flex-direction: column; }
    .admin-stats { grid-template-columns: repeat(2,1fr); }

    /* dashboard: título e mini-stats bem repartidos */
    .dash-hero { flex-direction: column; align-items: stretch; padding: 22px 0 16px; gap: 14px; }
    .dash-hero h1 { font-size: 25px; }
    .dash-mini-stats { justify-content: stretch; }
    .dash-mini-stats .mini-stat { flex: 1; }

    /* card de nível: empilha e o botão ocupa a largura toda */
    .player-level-card { flex-wrap: wrap; padding: 16px; gap: 12px; }
    .player-level-card .pl-info { flex-basis: 100%; order: 3; }
    .player-level-card .btn { flex: 1; }

    /* cards e telas com mais respiro */
    .event-card, .result-card, .life-card { padding: 22px 16px; }
    .event-icon:has(.event-illus),
    .result-icon:has(.event-illus) { margin: -22px -16px 16px; }
    .event-title { font-size: 21px; }
    .over-name { font-size: 28px; }

    /* momento da vida: status em 1 coluna fica mais legível */
    .life-status { grid-template-columns: 1fr; }

    /* opções: alvo de toque maior */
    .opt-btn { padding: 15px 14px; min-height: 56px; }

    /* ranking: itens não espremem */
    .rank-row { padding: 12px 14px; gap: 12px; }
    .rank-score-val { font-size: 18px; }
    .rank-filters { gap: 6px; }
    .rank-filter { padding: 7px 13px; font-size: 13px; }

    /* barra de stats do jogador em 2 colunas continua boa; conquistas 1 coluna */
    .ach-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; }
}

/* ============ MOMENTO DA VIDA (feature 2) ============ */
.life-card { border-top: 3px solid #a855f7; }
.life-badge { display:inline-block; background: color-mix(in srgb,#a855f7 20%, transparent); color:#c084fc;
    font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; padding:4px 12px; border-radius:20px; margin-bottom:10px; }
.life-status { display:grid; grid-template-columns: repeat(2,1fr); gap:10px; max-width:520px; margin:4px auto 24px; text-align:left; }
.life-stat { background: var(--bg-3); border:1px solid var(--line); border-radius:12px; padding:10px 14px; display:flex; flex-direction:column; gap:2px; min-width:0; }
.life-stat-wide { grid-column: 1 / -1; }
.life-stat-lbl { font-size:11px; text-transform:uppercase; letter-spacing:.05em; color: var(--txt-muted); }
.life-stat-val { font-weight:700; color: var(--txt); font-size:15px; word-wrap:break-word; }
/* bloco "Vida" na barra lateral */
.pp-life { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.pp-life h3 { font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:var(--txt-muted); margin:0 0 10px; }
.pp-life-row { display:flex; flex-wrap:wrap; gap:10px; font-size:14px; color:var(--txt); margin-bottom:6px; }
.pp-life-assets { font-size:13px; color:var(--txt-dim); line-height:1.5; }

/* ============ NÍVEL DO JOGADOR (feature 1) ============ */
.player-level-card { display:flex; align-items:center; gap:16px; background:var(--bg-2); border:1px solid var(--line);
    border-radius:var(--radius); padding:18px 22px; margin-bottom:20px; }
.pl-badge { flex-shrink:0; width:58px; height:58px; border-radius:14px; display:flex; align-items:center; justify-content:center;
    font-family:'Sora',sans-serif; font-weight:800; font-size:22px; color:#fff;
    background:linear-gradient(135deg,#f59e0b,#d97706); box-shadow:0 4px 14px rgba(245,158,11,.35); }
.pl-info { flex:1; min-width:0; }
.pl-title { font-weight:700; color:var(--txt); font-size:17px; }
.pl-sub { font-size:13px; color:var(--txt-muted); margin-bottom:8px; }
.pl-xpbar { height:8px; background:var(--bg); border-radius:20px; overflow:hidden; }
.pl-xpbar-fill { height:100%; background:linear-gradient(90deg,#f59e0b,#fbbf24); border-radius:20px; }
.rank-tabs { display:flex; gap:8px; margin-bottom:20px; flex-wrap:wrap; }
.rank-tab { padding:8px 18px; border-radius:20px; border:1px solid var(--line); color:var(--txt-dim);
    text-decoration:none; font-weight:600; font-size:14px; }
.rank-tab.active { background:var(--c1,#22c55e); color:#fff; border-color:transparent; }
.rank-xp { font-family:'Sora',sans-serif; font-weight:700; color:#fbbf24; }

/* ============ CONQUISTAS (feature 1) ============ */
.ach-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; margin-top:8px; }
.ach-card { display:flex; align-items:center; gap:14px; background:var(--bg-2); border:1px solid var(--line);
    border-radius:var(--radius); padding:16px 18px; }
.ach-card.ach-locked { opacity:.55; }
.ach-card.ach-has { border-color:color-mix(in srgb,#fbbf24 45%, var(--line)); box-shadow:0 0 0 1px color-mix(in srgb,#fbbf24 20%,transparent) inset; }
.ach-emoji { font-size:34px; flex-shrink:0; width:52px; text-align:center; }
.ach-body { flex:1; min-width:0; }
.ach-name { font-weight:700; color:var(--txt); }
.ach-desc { font-size:13px; color:var(--txt-muted); line-height:1.4; }
.ach-xp { font-family:'Sora',sans-serif; font-weight:700; color:#fbbf24; font-size:16px; text-align:center; flex-shrink:0; }
.ach-xp span { display:block; font-size:10px; color:var(--txt-muted); }

/* toast de conquista na tela de fim de carreira */
.ach-unlocked { background:linear-gradient(160deg,color-mix(in srgb,#fbbf24 14%,var(--bg-2)),var(--bg-2));
    border:1px solid color-mix(in srgb,#fbbf24 40%,var(--line)); border-radius:var(--radius); padding:20px 24px; margin:20px 0; text-align:center; }
.ach-unlocked h3 { margin:0 0 14px; color:#fde68a; }
.ach-unlocked-list { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.ach-toast { display:flex; align-items:center; gap:8px; background:var(--bg); border:1px solid var(--line);
    border-radius:30px; padding:8px 16px; }
.ach-toast-emoji { font-size:20px; }
.ach-toast-name { font-weight:600; color:var(--txt); }
.ach-toast-xp { font-weight:700; color:#fbbf24; font-size:13px; }
.ach-unlocked-link { display:inline-block; margin-top:14px; color:var(--txt-dim); text-decoration:none; font-weight:600; font-size:14px; }
.season-tabs { margin-bottom:14px; }

/* ============ DIVULGAÇÃO / APOIO / PRIVACIDADE (v6) ============ */

/* --- Card de compartilhar (fim de carreira) --- */
.over-share { text-align:center; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius); padding:22px; margin:22px 0; }
.over-share h3 { margin:0 0 4px; }
.over-share p { color:var(--txt-dim); margin:0 0 14px; font-size:14px; }
.share-btns { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.share-btn { border:1px solid var(--line); background:var(--bg-3); color:var(--txt); padding:10px 18px; border-radius:10px;
    font-weight:600; font-size:14px; cursor:pointer; text-decoration:none; transition:transform .12s, background .12s; }
.share-btn:hover { transform:translateY(-2px); }
.share-wa { background:#25d366; color:#053; border-color:transparent; }
.share-tg { background:#2aabee; color:#023; border-color:transparent; }
.share-x  { background:#111; color:#fff; }
.share-fb { background:#1877f2; color:#fff; border-color:transparent; }
.share-native { background:var(--c1,#22c55e); color:#fff; border-color:transparent; }

/* --- Banner de consentimento de cookies --- */
.cookie-banner { position:fixed; left:12px; right:12px; bottom:12px; z-index:80; background:rgba(15,23,42,.98);
    border:1px solid var(--line); border-radius:14px; box-shadow:0 10px 40px rgba(0,0,0,.5); backdrop-filter:blur(8px); }
.cookie-inner { display:flex; align-items:center; gap:16px; padding:14px 18px; flex-wrap:wrap; justify-content:center; max-width:1000px; margin:0 auto; }
.cookie-inner p { margin:0; font-size:13px; color:var(--txt-dim); flex:1; min-width:220px; }
.cookie-inner a { color:var(--c1,#22c55e); }
.cookie-btns { display:flex; gap:10px; flex-shrink:0; }
.cookie-btns .btn { padding:9px 18px; }

/* --- Páginas de apoio / feedback (support-card) --- */
.support-card { max-width:640px; margin:32px auto; background:var(--bg-2); border:1px solid var(--line);
    border-radius:var(--radius); padding:32px; text-align:center; }
.support-emoji { font-size:44px; margin-bottom:6px; }
.support-card h1 { font-size:26px; margin:0 0 10px; }
.support-lead { color:var(--txt-dim); line-height:1.6; margin-bottom:22px; }
.support-perks { text-align:left; background:var(--bg-3); border:1px solid var(--line); border-radius:12px; padding:16px 20px; margin:22px 0; }
.support-perks h3 { margin:0 0 10px; font-size:15px; }
.support-perks ul { margin:0; padding-left:4px; list-style:none; color:var(--txt-dim); font-size:14px; line-height:1.9; }
.support-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:20px; }

/* --- Caixa Pix --- */
.pix-box { background:var(--bg-3); border:1px solid var(--line); border-radius:14px; padding:20px; margin:8px 0; text-align:left; }
.pix-label { font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--txt-muted); }
.pix-key { font-family:'Sora',sans-serif; font-weight:700; font-size:18px; color:var(--txt); margin:4px 0 14px; word-break:break-all; }
.pix-sep { text-align:center; color:var(--txt-muted); font-size:13px; margin:16px 0 10px; }
.pix-code { width:100%; background:var(--bg); border:1px solid var(--line); border-radius:10px; color:var(--txt-dim);
    font-family:monospace; font-size:12px; padding:10px; resize:none; margin-bottom:10px; }
.pix-hint { font-size:12px; color:var(--txt-muted); margin-top:10px; }
.pix-soon { text-align:center; }

/* --- Formulário de feedback --- */
.feedback-form { text-align:left; }
.feedback-form label { display:block; font-size:13px; font-weight:600; color:var(--txt-dim); margin:12px 0 6px; }
.feedback-form .req { color:#ef4444; }
.feedback-form textarea, .feedback-form input { width:100%; background:var(--bg-3); border:1px solid var(--line);
    border-radius:10px; color:var(--txt); padding:12px 14px; font-size:15px; font-family:inherit; }
.feedback-form textarea { resize:vertical; }
.feedback-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:16px; }
.feedback-form .btn-block { margin-top:6px; }
.feedback-ok { text-align:center; }
.feedback-ok-emoji { font-size:48px; }
.form-error { background:color-mix(in srgb,#ef4444 15%,var(--bg-3)); border:1px solid #ef4444; color:#fca5a5;
    padding:12px 16px; border-radius:10px; margin-bottom:16px; font-size:14px; }

/* --- Rodapé com links --- */
.footer-links { display:flex; gap:18px; justify-content:center; flex-wrap:wrap; margin-top:10px; }
.footer-links a { color:var(--txt-dim); text-decoration:none; font-size:14px; font-weight:600; }
.footer-links a:hover { color:var(--txt); }

/* --- Página legal (privacidade) --- */
.legal { max-width:760px; margin:32px auto; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius); padding:32px; }
.legal h1 { margin:0 0 4px; }
.legal-upd { color:var(--txt-muted); font-size:13px; margin-bottom:20px; }
.legal h2 { font-size:18px; margin:22px 0 8px; }
.legal p, .legal li { color:var(--txt-dim); line-height:1.7; }
.legal a { color:var(--c1,#22c55e); }

/* --- Admin: feedbacks --- */
.admin-feedback { border-bottom:1px solid var(--line); padding:10px 0; }
.admin-feedback-head { display:flex; justify-content:space-between; gap:8px; font-size:13px; margin-bottom:4px; flex-wrap:wrap; }
.admin-feedback-msg { margin:0; font-size:14px; color:var(--txt-dim); line-height:1.5; }

@media (max-width:480px){ .feedback-row { grid-template-columns:1fr; } }

/* --- QR Code do Pix --- */
.pix-qr { display:flex; justify-content:center; margin-bottom:10px; }
.pix-qr-inner { background:#fff; padding:14px; border-radius:16px; line-height:0; box-shadow:0 6px 20px rgba(0,0,0,.3); color:#333; font-size:13px; }
.pix-qr-img { width:210px; height:210px; image-rendering:pixelated; display:block; }
.pix-qr-cap { text-align:center; color:var(--txt-muted); font-size:13px; margin:0 0 6px; }
@media (max-width:480px){ .pix-qr-img { width:180px; height:180px; } }

/* ============ ÁREA ADMIN — GESTÃO (v6.2) ============ */
.admin-topbar { background:var(--bg-2); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:40; }
.admin-tabs { display:flex; gap:4px; overflow-x:auto; }
.admin-tab { padding:14px 18px; color:var(--txt-dim); text-decoration:none; font-weight:600; font-size:14px; white-space:nowrap; border-bottom:2px solid transparent; }
.admin-tab:hover { color:var(--txt); }
.admin-tab.active { color:var(--txt); border-bottom-color:var(--c1,#22c55e); }
.admin-wrap { padding-bottom:60px; }
.admin-head-row { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding:24px 0 12px; }
.admin-head-row .admin-title { padding:0; }

.admin-flash { padding:12px 18px; border-radius:10px; margin:16px 0; font-weight:600; font-size:14px; }
.admin-flash-ok  { background:color-mix(in srgb,#22c55e 18%,var(--bg-2)); border:1px solid #22c55e; color:#86efac; }
.admin-flash-erro{ background:color-mix(in srgb,#ef4444 18%,var(--bg-2)); border:1px solid #ef4444; color:#fca5a5; }

.admin-stat { text-decoration:none; }
.admin-stat-alert { border-color:#f59e0b; box-shadow:0 0 0 1px #f59e0b inset; }
.admin-substats { display:flex; gap:18px; flex-wrap:wrap; color:var(--txt-dim); font-size:13px; margin:-4px 0 18px; }

.admin-search, .admin-filters { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.admin-search input, .admin-filters input, .admin-filters select {
    background:var(--bg-3); border:1px solid var(--line); border-radius:9px; color:var(--txt); padding:9px 12px; font-size:14px; font-family:inherit; }
.admin-search input { min-width:220px; }

.admin-table-wrap { overflow-x:auto; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius); margin-bottom:16px; }
.admin-table { width:100%; border-collapse:collapse; font-size:14px; min-width:720px; }
.admin-table th { text-align:left; padding:12px 14px; color:var(--txt-muted); font-size:11px; text-transform:uppercase; letter-spacing:.04em; border-bottom:1px solid var(--line); background:var(--bg-3); }
.admin-table td { padding:11px 14px; border-bottom:1px solid var(--line); vertical-align:middle; }
.admin-table tr:last-child td { border-bottom:none; }
.admin-table tr:hover td { background:color-mix(in srgb,var(--c1,#22c55e) 5%, transparent); }
.admin-userlink { color:var(--c1,#22c55e); text-decoration:none; font-weight:600; }

.badge { display:inline-block; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:2px 7px; border-radius:20px; vertical-align:middle; margin-left:2px; }
.badge-admin { background:#7c3aed; color:#fff; }
.badge-ban   { background:#ef4444; color:#fff; }
.badge-ok    { background:color-mix(in srgb,#22c55e 22%,transparent); color:#86efac; }
.badge-gray  { background:var(--bg-3); color:var(--txt-dim); }
.badge-me    { background:#f59e0b; color:#111; }
.badge-new   { background:#f59e0b; color:#111; }

.admin-acts { display:flex; gap:6px; flex-wrap:wrap; }
.admin-actform { display:inline; }
.admin-act { cursor:pointer; border:1px solid var(--line); background:var(--bg-3); color:var(--txt); font-size:12px; font-weight:600; padding:6px 10px; border-radius:8px; white-space:nowrap; }
.admin-act:hover { filter:brightness(1.15); }
.admin-act.a-red   { border-color:#ef4444; color:#fca5a5; }
.admin-act.a-green { border-color:#22c55e; color:#86efac; }
.admin-act.a-gray  { color:var(--txt-dim); }
.admin-detail-acts { display:flex; flex-direction:column; gap:8px; }
.admin-detail-acts .admin-act { text-align:center; padding:10px; }

.admin-pager { display:flex; gap:6px; flex-wrap:wrap; justify-content:center; margin:8px 0 20px; }
.admin-page { padding:7px 12px; border:1px solid var(--line); border-radius:8px; color:var(--txt-dim); text-decoration:none; font-size:13px; }
.admin-page.active { background:var(--c1,#22c55e); color:#fff; border-color:transparent; }

.admin-seeall { float:right; font-size:12px; font-weight:600; color:var(--c1,#22c55e); text-decoration:none; }
.admin-fbcard { margin-bottom:12px; }
.admin-fbcard.fb-unread { border-color:color-mix(in srgb,#f59e0b 45%,var(--line)); }

@media (max-width:640px){ .admin-search input { min-width:0; flex:1; } .admin-head-row { padding-top:16px; } }
