/* El Admin de la Liga PuraSport (Siamp:Design = "PuraSport", 16-oct): las mismas páginas de Siamp.UI con la paleta, la
   tipografía y las piezas del prototipo de la Liga (Documentación/Torneos/Liga_PuraSport_Prototipo, «Admin_Desktop»).
   Casi todo sale de cambiar los tokens de siamp.css; abajo, lo que siamp.css escribe con un color fijo (fondos blancos,
   textos de los avisos, tonos claros). Solo aplica con body.siamp-ps: el Admin de Sivar no cambia. */

body.siamp-ps {
    /* Paleta del prototipo (purasport.css). */
    --ps-bg: #0E1116; --ps-card: #161B22; --ps-surface: #1F2630; --ps-line: #2A3140; --ps-line2: #3A4454;
    --ps-text: #FFFFFF; --ps-text2: #D5DCE5; --ps-muted: #A8B3C2;
    --ps-brand: #00A8E3; --ps-brand-hover: #33BCEB; --ps-ok: #22C55E; --ps-warn: #FACC15; --ps-bad: #DC2626; --ps-bad-text: #FF7A7A;

    /* Los tokens de Siamp.UI con esa paleta. */
    --siamp-primary: #161B22;
    --siamp-primary-dark: #0E1116;
    --siamp-secondary: var(--ps-brand);
    --siamp-secondary-soft: rgba(0, 168, 227, 0.14);
    --siamp-link: var(--ps-brand);
    --siamp-text: var(--ps-text);
    --siamp-muted: var(--ps-muted);
    --siamp-surface: var(--ps-card);
    --siamp-background: var(--ps-bg);
    --siamp-border: var(--ps-line);
    --siamp-danger: var(--ps-bad);
    --siamp-success: var(--ps-ok);
    --siamp-warning: var(--ps-warn);
    --siamp-radius: 16px;
    --siamp-radius-sm: 14px;
    --siamp-shadow: none;
    --siamp-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --tone-blue-bg: rgba(0, 168, 227, 0.12);   --tone-blue-fg: #33BCEB;
    --tone-green-bg: rgba(34, 197, 94, 0.14);  --tone-green-fg: #86EFAC;
    --tone-amber-bg: rgba(250, 204, 21, 0.14); --tone-amber-fg: #FDE68A;
    --tone-pink-bg: rgba(220, 38, 38, 0.16);   --tone-pink-fg: #FFB4B4;
    --tone-violet-bg: rgba(167, 139, 250, 0.16); --tone-violet-fg: #C4B5FD;
    --tone-teal-bg: rgba(45, 212, 191, 0.14);  --tone-teal-fg: #5EEAD4;

    color-scheme: dark;
    background: var(--ps-bg);
}

/* ------------------------------------------------------------------ Títulos con Inter Tight */
body.siamp-ps h1.siamp-title, body.siamp-ps .siamp-auth-form h1, body.siamp-ps .siamp-kpi-value, body.siamp-ps .siamp-brand-name {
    font-family: "Inter Tight", "Inter", system-ui, sans-serif; letter-spacing: -0.01em;
}
body.siamp-ps h1.siamp-title { font-size: 1.85rem; font-weight: 800; }
body.siamp-ps .siamp-auth-form h1 { color: var(--ps-text); }
body.siamp-ps .siamp-card-title, body.siamp-ps .siamp-section-title { font-weight: 800; }

/* ------------------------------------------------------------------ Menú lateral y barra superior (Admin_Desktop) */
body.siamp-ps .siamp-sidebar { background: var(--ps-card); border-right: 1px solid var(--ps-line); }
body.siamp-ps .siamp-brand img { width: 150px; }
body.siamp-ps .siamp-nav a, body.siamp-ps .siamp-nav .siamp-nav-disabled { color: var(--ps-muted); font-weight: 600; border-radius: 12px; }
body.siamp-ps .siamp-nav a:hover { background: var(--ps-surface); color: var(--ps-text); }
body.siamp-ps .siamp-nav a.active { background: rgba(0, 168, 227, 0.12); color: var(--ps-brand); box-shadow: none; }
body.siamp-ps .siamp-nav-section { color: var(--ps-muted); opacity: 1; font-weight: 700; }
body.siamp-ps .siamp-nav-badge { background: var(--ps-surface); color: var(--ps-muted); }
body.siamp-ps .siamp-user-card { background: var(--ps-surface); }
body.siamp-ps .siamp-topbar { background: rgba(14, 17, 22, 0.97); color: var(--ps-text); border-bottom: 1px solid var(--ps-line); }
body.siamp-ps .siamp-icon-btn:hover { background: var(--ps-surface); }
body.siamp-ps .siamp-chip { background: var(--ps-surface); border-color: var(--ps-line2); color: var(--ps-text2); }
body.siamp-ps .siamp-bottom-nav { background: rgba(14, 17, 22, 0.97); border-top-color: var(--ps-line); box-shadow: none; }
body.siamp-ps .siamp-bottom-nav a.active { color: var(--ps-brand); }
body.siamp-ps .siamp-bottom-nav a.active .siamp-bottom-pill { background: rgba(0, 168, 227, 0.12); }
body.siamp-ps .siamp-backdrop { background: rgba(0, 0, 0, 0.6); }
@media (min-width: 1024px) {
    body.siamp-ps .siamp-topbar { background: var(--ps-bg); }
}

/* ------------------------------------------------------------------ Botones (ps-btn) */
body.siamp-ps .siamp-btn { border-radius: 14px; font-weight: 800; }
body.siamp-ps .siamp-btn-primary { background: var(--ps-brand); color: var(--ps-bg); box-shadow: none; }
body.siamp-ps .siamp-btn-primary:hover { background: var(--ps-brand-hover); filter: none; }
body.siamp-ps .siamp-btn-secondary { background: transparent; color: var(--ps-text); border: 1.5px solid var(--ps-line2); }
body.siamp-ps .siamp-btn-secondary:hover { background: var(--ps-surface); }
body.siamp-ps .siamp-btn-danger { background: var(--ps-bad); color: #fff; }
body.siamp-ps .siamp-btn:disabled { background: var(--ps-surface); color: #6B7686; opacity: 1; }

/* ------------------------------------------------------------------ Campos (ps-input) */
body.siamp-ps .siamp-field label { color: var(--ps-text2); }
body.siamp-ps .siamp-field input:not([type="checkbox"]):not([type="radio"]),
body.siamp-ps .siamp-field select, body.siamp-ps .siamp-field textarea, body.siamp-ps .siamp-input,
body.siamp-ps .siamp-toolbar .siamp-input-icon input, body.siamp-ps .siamp-code-form input {
    background: var(--ps-bg); color: var(--ps-text); border: 1.5px solid var(--ps-line2); border-radius: 12px;
}
body.siamp-ps .siamp-field input::placeholder, body.siamp-ps .siamp-input::placeholder, body.siamp-ps .siamp-toolbar input::placeholder { color: #5D6878; }
body.siamp-ps .siamp-field input:focus, body.siamp-ps .siamp-field select:focus, body.siamp-ps .siamp-field textarea:focus,
body.siamp-ps .siamp-input:focus, body.siamp-ps .siamp-input-icon input:focus {
    outline: none; border-color: var(--ps-brand); box-shadow: 0 0 0 3px rgba(0, 168, 227, 0.28);
}
body.siamp-ps .siamp-check input { accent-color: var(--ps-brand); }
body.siamp-ps fieldset:disabled input, body.siamp-ps fieldset:disabled select, body.siamp-ps fieldset:disabled textarea,
body.siamp-ps fieldset.siamp-card:disabled input, body.siamp-ps fieldset.siamp-card:disabled select, body.siamp-ps fieldset.siamp-card:disabled textarea {
    background: var(--ps-surface) !important; color: var(--ps-text2);
}
body.siamp-ps .siamp-role-option:has(input:checked) { border-color: var(--ps-brand); background: rgba(0, 168, 227, 0.10); }
body.siamp-ps .siamp-savebar { background: rgba(22, 27, 34, 0.95); border-color: var(--ps-line); }

/* ------------------------------------------------------------------ Avisos, insignias y tarjetas de indicadores */
body.siamp-ps .siamp-alert-error { background: rgba(220, 38, 38, 0.14); border-color: rgba(220, 38, 38, 0.55); color: #FFD5D5; }
body.siamp-ps .siamp-alert-info { background: rgba(0, 168, 227, 0.10); border-color: rgba(0, 168, 227, 0.45); color: #CDEFFC; }
body.siamp-ps .siamp-alert-ok { background: rgba(34, 197, 94, 0.10); border-color: rgba(34, 197, 94, 0.5); color: #C8F7D8; }
body.siamp-ps .siamp-alert a { color: #fff; }
body.siamp-ps .siamp-badge { font-weight: 800; letter-spacing: 0.04em; border: 1px solid var(--ps-line2); background: rgba(168, 179, 194, 0.12); color: var(--ps-text2); }
body.siamp-ps .siamp-badge-ok { border-color: rgba(34, 197, 94, 0.45); }
body.siamp-ps .siamp-badge-warn { border-color: rgba(250, 204, 21, 0.45); }
body.siamp-ps .siamp-badge-off { border-color: rgba(220, 38, 38, 0.55); }
body.siamp-ps .siamp-badge-info { border-color: rgba(0, 168, 227, 0.45); }
body.siamp-ps .siamp-kpi { border-color: var(--ps-line); }
body.siamp-ps .siamp-tone-blue.siamp-kpi, body.siamp-ps .siamp-tone-green.siamp-kpi,
body.siamp-ps .siamp-tone-amber.siamp-kpi, body.siamp-ps .siamp-tone-pink.siamp-kpi { color: var(--ps-text); }
body.siamp-ps .siamp-kpi-icon { color: var(--ps-bg); }
body.siamp-ps .siamp-avatar.siamp-avatar { border-radius: 12px; font-family: "Inter Tight", "Inter", sans-serif; font-weight: 900; }
body.siamp-ps .siamp-user-card .siamp-avatar { background: rgba(0, 168, 227, 0.14); color: var(--ps-brand); }
body.siamp-ps .siamp-team-mark { background: rgba(0, 168, 227, 0.14); color: var(--ps-brand); }

/* ------------------------------------------------------------------ Tablas y listas (ps-table) */
body.siamp-ps .siamp-table th { background: transparent; color: var(--ps-muted); border-bottom: 1px solid var(--ps-line); font-weight: 800; letter-spacing: 0.1em; }
body.siamp-ps .siamp-table td { border-bottom-color: var(--ps-line); }
body.siamp-ps .siamp-table tbody tr:hover td { background: rgba(255, 255, 255, 0.02); }
body.siamp-ps .siamp-code { color: var(--ps-text2); }
@media (max-width: 719px) {
    body.siamp-ps .siamp-table-responsive tr { background: var(--ps-card); border-color: var(--ps-line); box-shadow: none; }
    body.siamp-ps .siamp-table-responsive tr:active { background: var(--ps-surface); }
}

/* ------------------------------------------------------------------ Piezas con fondo blanco fijo */
body.siamp-ps .siamp-codes code, body.siamp-ps .siamp-key { background: var(--ps-bg); border-color: var(--ps-line2); color: var(--ps-text); }
/* El QR, las fotos y los carnets se quedan sobre blanco: así se leen y se imprimen. */
body.siamp-ps .siamp-photo-preview { border-color: var(--ps-line); }
body.siamp-ps #blazor-error-ui { background: #3A1518; color: #FFD5D5; }

/* ------------------------------------------------------------------ Ingreso (Login_Desktop) */
body.siamp-ps .siamp-auth-brand { background: var(--ps-card); border: 1px solid var(--ps-line); }
body.siamp-ps .siamp-auth-brand::after { border-color: rgba(0, 168, 227, 0.10); }
body.siamp-ps .siamp-auth-welcome { font-family: "Inter Tight", "Inter", sans-serif; }
body.siamp-ps .siamp-auth-welcome::after { background: var(--ps-brand); }
body.siamp-ps .siamp-auth-panel { background: var(--ps-bg); }
body.siamp-ps .siamp-auth-form .siamp-btn-primary { min-height: 54px; }
@media (min-width: 900px) {
    body.siamp-ps .siamp-auth-panel { background: var(--ps-card); border-color: var(--ps-line); }
}
