/* ─── LiveCast Pro — Overrides do Tabler ──────────────── */
/* Light mode como padrão, dark mode via data-bs-theme.  */

:root {
    --tblr-primary: #007bff;
    --tblr-primary-rgb: 0, 123, 255;
    --tblr-secondary: #20c997;
    --tblr-secondary-rgb: 32, 201, 151;
    --tblr-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

[data-bs-theme="dark"] {
    --tblr-body-bg: #1a1a1b;
    --tblr-body-color: #e0e0e0;
    --tblr-border-color: #2a2a2b;
    --tblr-card-bg: #232324;
    --tblr-card-cap-bg: #232324;
    --tblr-navbar-bg: #1e1e2f;
}

.navbar-brand-image { height: 2rem; }

/* ── Toggle logo por tema ────────────────────────── */
.theme-logo-dark { display: none; }
[data-bs-theme="dark"] .theme-logo-light { display: none; }
[data-bs-theme="dark"] .theme-logo-dark { display: inline; }

/* ── Navbar — texto adapta ao tema ──────── */
.navbar .fw-semibold { color: inherit; }
[data-bs-theme="dark"] .navbar .fw-semibold { color: #e0e0e0; }

/* Avatar com iniciais — texto branco sempre */
.avatar {
    color: #fff !important;
    font-weight: 600;
}

.btn-primary {
    --tblr-btn-bg: var(--tblr-primary);
    --tblr-btn-border-color: var(--tblr-primary);
    --tblr-btn-hover-bg: #0069d9;
    --tblr-btn-hover-border-color: #0069d9;
}

.theme-toggle {
    cursor: pointer; border: none; background: transparent;
    font-size: 1.2rem; padding: 0.25rem 0.5rem;
    color: var(--tblr-body-color);
    display: flex; align-items: center; gap: 0.4rem;
}

/* Auth split-screen — sempre claro */
.auth-split { margin: 0; padding: 0; min-height: 100vh; background: #f5f7fb; }
.auth-split__container { display: flex; min-height: 100vh; width: 100%; }
.auth-split__brand {
    flex: 1; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
    padding: 3rem; position: relative; overflow: hidden;
}
.auth-split__brand::before {
    content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%;
    background: radial-gradient(circle at 30% 50%, rgba(0,123,255,0.08) 0%, transparent 60%);
    animation: authGlow 8s ease-in-out infinite alternate;
}
@keyframes authGlow {
    0% { transform: translate(0, 0); }
    100% { transform: translate(-5%, 5%); }
}
.auth-split__brand-content { position: relative; z-index: 1; text-align: center; max-width: 420px; }
.auth-split__logo { height: 64px; width: auto; margin-bottom: 1.5rem; }
.auth-split__title { font-size: 2rem; font-weight: 800; color: #fff; margin-bottom: 0.75rem; }
.auth-split__tagline { font-size: 1.05rem; color: rgba(255,255,255,0.7); line-height: 1.6; margin-bottom: 2.5rem; }
.auth-split__features { display: flex; flex-direction: column; gap: 1rem; text-align: left; max-width: 280px; margin: 0 auto; }
.auth-split__feature { display: flex; align-items: center; gap: 0.75rem; color: rgba(255,255,255,0.85); font-size: 0.95rem; }
.auth-split__feature-icon { width: 36px; height: 36px; border-radius: 10px; background: rgba(255,255,255,0.08); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.auth-split__form { width: 520px; min-width: 520px; display: flex; align-items: center; justify-content: center; padding: 3rem; background: #f5f7fb; }
.auth-form-wrap { width: 100%; max-width: 400px; }

@media (max-width: 900px) {
    .auth-split__container { flex-direction: column; }
    .auth-split__brand { padding: 2rem; min-height: 280px; }
    .auth-split__form { width: 100%; min-width: auto; padding: 2rem 1.5rem; }
}

.auth-form-wrap {
    width: 100%;
    max-width: 380px;
}

@media (max-width: 900px) {
    .auth-split__container { flex-direction: column; }
    .auth-split__brand { padding: 2rem; min-height: 300px; }
    .auth-split__form { width: 100%; min-width: auto; padding: 2rem 1.5rem; }
}

/* ── Tabelas CRUD ───────────────────────────────────── */
.table-crud th {
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--tblr-secondary);
    border-bottom: 2px solid var(--tblr-border-color);
}
.table-crud td {
    vertical-align: middle;
}
.table-crud .btn-actions {
    display: flex;
    gap: 4px;
}

/* ── CRUD Pattern (reutilizável em todas as telas) ── */

/* Toolbar: search + toggle trash */
.crud-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}
.crud-toolbar .crud-search {
    min-width: 240px;
    max-width: 360px;
}
.crud-toolbar .crud-trash-toggle {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    white-space: nowrap;
}

/* Espaçamento entre botões de ação em tabelas */
.rhivo-crud__cell-actions {
    display: flex;
    gap: 4px;
    align-items: center;
    white-space: nowrap;
}

/* Botões de ação com ícone — sobrescreve Tabler */
.btn-icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 4px !important;
}
.btn-icon i {
    font-size: 0.9rem !important;
}

/* Linha deletada (soft delete) */
.table-crud tr.row-deleted td {
    opacity: 0.5;
    text-decoration: line-through;
}

/* ── Sidebar ─────────────────────────────────────── */
.nav-subtitle {
    display: block;
    padding: 0.75rem 1rem 0.25rem;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--tblr-secondary, #64748b);
    opacity: 0.6;
}

/* Navbar vertical — logo */
.navbar-vertical .navbar-brand {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

/* Sidebar — item ativo com destaque visível */
.navbar-vertical .navbar-nav .nav-link {
    border-radius: 6px;
    margin: 1px 0.5rem;
    padding: 0.5rem 0.75rem;
    transition: background 0.15s, color 0.15s;
    color: var(--tblr-body-color, #1e293b);
}
.navbar-vertical .navbar-nav .nav-link:hover {
    background: rgba(var(--tblr-primary-rgb, 0,123,255), 0.12);
    color: var(--tblr-primary, #007bff);
}
.navbar-vertical .navbar-nav .nav-link.active {
    background: var(--tblr-primary, #007bff);
    color: #fff !important;
    font-weight: 600;
}
.navbar-vertical .navbar-nav .nav-link.active .nav-link-icon {
    color: #fff !important;
}
[data-bs-theme="dark"] .navbar-vertical .navbar-nav .nav-link {
    color: #c8c8d0;
}
[data-bs-theme="dark"] .navbar-vertical .navbar-nav .nav-link:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}
[data-bs-theme="dark"] .navbar-vertical .navbar-nav .nav-link.active {
    background: var(--tblr-primary, #007bff);
    color: #fff !important;
}

