﻿/* =================================================================== */
/* ARQUIVO CENTRAL DE TEMAS - themes.css (VERSÃO FINAL E CORRIGIDA)    */
/* =================================================================== */

/* =================================================================== */
/* TEMA 1: PADRÃO (CLARO)                                              */
/* =================================================================== */
:root {
    --bg-color: #f0f2f5;
    --text-color: #212529;
    --sidebar-text-color: #ffffff;
    --topbar-text-color: #ffffff;
    --card-bg: #ffffff;
    --border-color: #ced4da;
    --link-color: #007bff;
    --sidebar-color: #042038;
    --sidebar-header-color: linear-gradient(to left, #042038 05%, #029c2d 100%);
    --topbar-color: #042038;
    --hover-bg: #029c2d;
    --hover-border: #017221;
    --hamburger-color: #02f245;
    --menu-sub-color: #e0e0e0;
    --menu-sub-hover-bg: #029c2d;
    --menu-sub-hover-border: #017221;
    --menu-sub-hover-color: #ffffff;
    /* --- Atalhos --- */
    --atalho-bg: #ffffff;
    --atalho-border-color: #e9ecef;
    --atalho-icone-color: #198754;
    --atalho-hover-bg: #d1e7dd;
    --atalho-hover-icone-color: #0f5132;
    --atalho-faixa-hover-bg: #198754;
    --atalho-ativo-bg: #e6f2ec;
    /* --- Sidebar avançada --- */
    --flyout-bg: #052b44;
    --active-hl-bg: rgba(2, 242, 69, 0.13);
    --sidebar-divider-color: rgba(255, 255, 255, 0.07);
    /* --- Tokens semânticos (status, notificações) --- */
    --sem-danger-bg:   #fee2e2; --sem-danger-text:  #b91c1c;
    --sem-success-bg:  #dcfce7; --sem-success-text: #15803d;
    --sem-warning-bg:  #fef3c7; --sem-warning-text: #92400e;
    --sem-info-bg:     #dbeafe; --sem-info-text:    #1d4ed8;
    --sem-neutral-bg:  #f1f5f9; --sem-neutral-text: #475569;
    /* --- Bootstrap 5.1 variable overrides --- */
    --bs-body-bg: var(--bg-color);
    --bs-body-color: var(--text-color);
    --bs-link-color: var(--link-color);
    --bs-table-hover-bg: rgba(2, 156, 45, 0.08);
}


/* =================================================================== */
/* TEMA 2: MODO ESCURO                                                 */
/* =================================================================== */
body.dark-mode {
    --bg-color: #121212;
    --text-color: #e0e0e0;
    --sidebar-text-color: #e0e0e0;
    --topbar-text-color: #e0e0e0;
    --card-bg: #1e1e1e;
    --border-color: #333;
    --link-color: #90caf9;
    --sidebar-color: #1a1a1a;
    --sidebar-header-color: #1a1a1a;
    --topbar-color: #1a1a1a;
    --hover-bg: #035e1a;
    --hover-border: #04aa3d;
    --hamburger-color: #90ee90;
    --menu-sub-color: #cccccc;
    --menu-sub-hover-bg: #035e1a;
    --menu-sub-hover-border: #04aa3d;
    --menu-sub-hover-color: #ffffff;
    /* --- Atalhos --- */
    --atalho-bg: #212529;
    --atalho-border-color: #333;
    --atalho-icone-color: #90ee90;
    --atalho-hover-bg: #2a2a2a;
    --atalho-hover-icone-color: #ffffff;
    --atalho-faixa-hover-bg: #04aa3d;
    --atalho-ativo-bg: #252525;
    /* --- Sidebar avançada --- */
    --flyout-bg: #1a1a1a;
    --active-hl-bg: rgba(3, 94, 26, 0.35);
    --sidebar-divider-color: rgba(255, 255, 255, 0.08);
    /* --- Tokens semânticos ajustados para fundo escuro --- */
    --sem-danger-bg:   rgba(185, 28,  28,  0.3); --sem-danger-text:  #fca5a5;
    --sem-success-bg:  rgba(21,  128, 61,  0.3); --sem-success-text: #86efac;
    --sem-warning-bg:  rgba(161, 98,  7,   0.3); --sem-warning-text: #fde68a;
    --sem-info-bg:     rgba(29,  78,  216, 0.3); --sem-info-text:    #93c5fd;
    --sem-neutral-bg:  rgba(71,  85,  105, 0.3); --sem-neutral-text: #cbd5e1;
    /* --- Bootstrap overrides --- */
    --bs-body-bg: var(--bg-color);
    --bs-body-color: var(--text-color);
    --bs-link-color: var(--link-color);
    --bs-table-hover-bg: rgba(3, 94, 26, 0.15);
}

.dark-mode .modal-content {
    background-color: var(--card-bg);
    color: var(--text-color);
    border: 1px solid var(--border-color);
}

.dark-mode .modal-header {
    border-bottom: 1px solid var(--border-color);
}

.dark-mode .modal-footer {
    border-top: 1px solid var(--border-color);
}

.dark-mode .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Bootstrap 5.1 list-group tem background #fff hardcoded — override necessário */
body.dark-mode .list-group-item,
body.windows-theme .list-group-item {
    background-color: var(--card-bg);
    color: var(--text-color);
    border-color: var(--border-color);
}

body.dark-mode .list-group-item-action:hover,
body.dark-mode .list-group-item-action:focus,
body.windows-theme .list-group-item-action:hover,
body.windows-theme .list-group-item-action:focus {
    background-color: var(--hover-bg);
    color: #ffffff;
    border-color: var(--hover-bg);
}


/* =================================================================== */
/* TEMA 3: WINDOWS CLASSIC                                             */
/* =================================================================== */
body.windows-theme {
    font-family: 'Tahoma', 'Geneva', sans-serif;
    --bg-color: #C0C0C0;
    --text-color: #000000;
    --card-bg: #C0C0C0;
    --border-color: #808080;
    --link-color: #0000FF;
    --sidebar-color: #000080;
    --sidebar-header-color: #000080;
    --topbar-color: #000080;
    --sidebar-text-color: #FFFFFF;
    --topbar-text-color: #ffffff;
    --hover-bg: #A0A0A0;
    --hover-border: #000000;
    --hamburger-color: #FFFFFF;
    --menu-sub-color: #FFFFFF;
    --menu-sub-hover-bg: #0000A0;
    --menu-sub-hover-border: #FFFFFF;
    --menu-sub-hover-color: #FFFFFF;
    /* --- Atalhos --- */
    --atalho-bg: #C0C0C0;
    --atalho-border-color: #808080;
    --atalho-icone-color: #000080;
    --atalho-hover-bg: #D4D0C8;
    --atalho-hover-icone-color: #000000;
    --atalho-faixa-hover-bg: #000080;
    --atalho-ativo-bg: #E0E0E0;
    /* --- Sidebar avançada --- */
    --flyout-bg: #000060;
    --active-hl-bg: rgba(255, 255, 255, 0.15);
    --sidebar-divider-color: rgba(255, 255, 255, 0.2);
    /* --- Tokens semânticos ajustados para fundo escuro --- */
    --sem-danger-bg:   rgba(185, 28,  28,  0.35); --sem-danger-text:  #fca5a5;
    --sem-success-bg:  rgba(21,  128, 61,  0.35); --sem-success-text: #86efac;
    --sem-warning-bg:  rgba(161, 98,  7,   0.35); --sem-warning-text: #fde68a;
    --sem-info-bg:     rgba(37,  99,  235, 0.35); --sem-info-text:    #93c5fd;
    --sem-neutral-bg:  rgba(128, 128, 128, 0.3);  --sem-neutral-text: #d1d5db;
    /* --- Bootstrap overrides --- */
    --bs-body-bg: var(--bg-color);
    --bs-body-color: var(--text-color);
    --bs-link-color: var(--link-color);
    --bs-table-hover-bg: rgba(160, 160, 160, 0.15);
}

.windows-theme #tabelaOS thead th,
.windows-theme .table thead th {
    background-color: var(--sidebar-color);
    color: var(--sidebar-text-color);
    border-bottom: 2px solid #000000;
}

    .windows-theme #tabelaOS thead th a,
    .windows-theme .table thead th a {
        color: var(--sidebar-text-color);
        text-decoration: none;
    }

.windows-theme #tabelaOS tbody tr:hover,
.windows-theme .table tbody tr:hover {
    background-color: #D4E5F5;
    color: #000000;
    transition: background-color 0.15s ease-in-out;
}

.windows-theme .modal-content {
    background-color: var(--bg-color);
    border: 2px outset #FFFFFF;
    border-radius: 0;
    box-shadow: none;
}

.windows-theme .modal-header {
    background-color: var(--sidebar-color);
    color: var(--sidebar-text-color);
    border-bottom: none;
    border-radius: 0;
    padding: 0.5rem 1rem;
}

.windows-theme .modal-title {
    font-size: 1rem;
}

.windows-theme .modal-footer {
    border-top: 1px solid var(--border-color);
    background-color: var(--bg-color);
    border-radius: 0;
}

.windows-theme .btn-close {
    background-color: #C0C0C0;
    border: 1px outset #FFFFFF;
    border-radius: 0;
    opacity: 1;
    filter: none;
}

.windows-theme .modal-footer .btn {
    border-radius: 0;
    box-shadow: 1px 1px 0px #808080, -1px -1px 0px #FFFFFF;
    border: 1px solid #000000;
}

    .windows-theme .modal-footer .btn:active {
        box-shadow: -1px -1px 0px #FFFFFF, 1px 1px 0px #808080;
    }


/* =================================================================== */
/* TEMA 4: PLATYPUS (ROXO & LARANJA)                                   */
/* =================================================================== */
body.platypus-theme {
    --bg-color: #FFFFFF;
    --text-color: #212529;
    --card-bg: #FFFFFF;
    --border-color: #E0E0E0;
    --link-color: #6A1B9A;
    --sidebar-color: #4A148C;
    --sidebar-header-color: #4A148C;
    --topbar-color: #4A148C;
    --sidebar-text-color: #FFFFFF;
    --topbar-text-color: #ffffff;
    --hamburger-color: #F57C00;
    --hover-bg: #F57C00;
    --hover-border: #E65100;
    --menu-sub-color: #E0E0E0;
    --menu-sub-hover-bg: #F57C00;
    --menu-sub-hover-border: #E65100;
    --menu-sub-hover-color: #FFFFFF;
    /* --- Atalhos --- */
    --atalho-bg: #F3E5F5;
    --atalho-border-color: #E1BEE7;
    --atalho-icone-color: #6A1B9A;
    --atalho-hover-bg: #FBE9E7;
    --atalho-hover-icone-color: #E65100;
    --atalho-faixa-hover-bg: #F57C00;
    --atalho-ativo-bg: #F3E5F5;
    /* --- Sidebar avançada --- */
    --flyout-bg: #2d0a5e;
    --active-hl-bg: rgba(245, 124, 0, 0.18);
    --sidebar-divider-color: rgba(255, 255, 255, 0.08);
    /* --- Tokens semânticos: warning ajustado (laranja é a cor da marca) --- */
    --sem-warning-bg:  #fed7aa; --sem-warning-text: #9a3412;
    /* Bootstrap overrides */
    --bs-body-bg: var(--bg-color);
    --bs-body-color: var(--text-color);
    --bs-link-color: var(--link-color);
    --bs-table-hover-bg: rgba(245, 124, 0, 0.08);
}

.platypus-theme #tabelaOS thead th,
.platypus-theme .table thead th {
    background-color: var(--sidebar-color);
    color: var(--sidebar-text-color);
    border-bottom: 2px solid #F57C00;
}

    .platypus-theme #tabelaOS thead th a,
    .platypus-theme .table thead th a {
        color: var(--sidebar-text-color);
    }

.platypus-theme #tabelaOS tbody tr:hover,
.platypus-theme .table tbody tr:hover {
    background-color: #FBE9E7;
    color: #000000;
    transition: background-color 0.15s ease-in-out;
}

.platypus-theme .btn-primary {
    background-color: #6A1B9A;
    border-color: #6A1B9A;
}

    .platypus-theme .btn-primary:hover {
        background-color: #F57C00;
        border-color: #F57C00;
    }

.platypus-theme .form-control:focus,
.platypus-theme .form-select:focus {
    border-color: #6A1B9A;
    box-shadow: 0 0 0 0.25rem rgba(106, 27, 154, 0.25);
}

.platypus-theme .dropdown-toggle i.fa-user {
    color: #F57C00;
}

.platypus-theme .modal-header {
    background-color: var(--sidebar-color);
    color: var(--sidebar-text-color);
}

.platypus-theme .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}


/* =================================================================== */
/* TEMA 5: TOM PASTEL (PLANNER)                                        */
/* =================================================================== */
body.pastel-theme {
    --bg-color: #FDFBF7;
    --text-color: #5D4037;
    --card-bg: #FFFFFF;
    --border-color: #D7CCC8;
    --link-color: #B39DDB;
    --sidebar-color: #D1E7DD;
    --sidebar-header-color: #B2DFDB;
    --topbar-color: #D1E7DD;
    --sidebar-text-color: #37474F;
    --topbar-text-color: #37474F;
    --hamburger-color: #81C784;
    --hover-bg: #D1C4E9;
    --hover-border: #B39DDB;
    --menu-sub-color: #795548;
    --menu-sub-hover-bg: #D1C4E9;
    --menu-sub-hover-border: #B39DDB;
    --menu-sub-hover-color: #4527A0;
    /* --- Atalhos --- */
    --atalho-bg: #E0F2F1;
    --atalho-border-color: #B2DFDB;
    --atalho-icone-color: #37474F;
    --atalho-hover-bg: #E1F5FE;
    --atalho-hover-icone-color: #0277BD;
    --atalho-faixa-hover-bg: #B39DDB;
    --atalho-ativo-bg: #F0E6FF;
    /* --- Sidebar avançada --- */
    --flyout-bg: #37474F;
    --active-hl-bg: rgba(179, 157, 219, 0.22);
    --sidebar-divider-color: rgba(0, 0, 0, 0.08);
    /* Tokens semânticos: herda padrão — roxo não conflita com nenhum */
    /* Bootstrap overrides */
    --bs-body-bg: var(--bg-color);
    --bs-body-color: var(--text-color);
    --bs-link-color: var(--link-color);
    --bs-table-hover-bg: rgba(179, 157, 219, 0.15);
}

.pastel-theme .table thead th {
    background-color: #FFCCBC;
    color: var(--text-color);
    border-bottom: 2px solid #FFAB91;
}

    .pastel-theme .table thead th a {
        color: var(--text-color);
    }

.pastel-theme .table tbody tr:hover {
    background-color: #E1F5FE;
    color: #000000;
    transition: background-color 0.15s ease-in-out;
}

.pastel-theme .btn-primary {
    background-color: #B39DDB;
    border-color: #B39DDB;
    color: #FFFFFF;
}

    .pastel-theme .btn-primary:hover {
        background-color: #9575CD;
        border-color: #9575CD;
    }

.pastel-theme .form-control:focus,
.pastel-theme .form-select:focus {
    border-color: #B39DDB;
    box-shadow: 0 0 0 0.25rem rgba(179, 157, 219, 0.3);
}

.pastel-theme .dropdown-toggle i.fa-user {
    color: #81C784;
}

.pastel-theme .modal-header {
    background-color: #FFCCBC;
    color: var(--text-color);
    border-bottom: 1px solid #FFAB91;
}

.pastel-theme .btn-close {
    filter: none;
}


/* =================================================================== */
/* TEMA 6: VÍVIDO (CLARA TRANSPORTES)                                  */
/* =================================================================== */
body.vivido-theme {
    --bg-color: #f8f9fa;
    --text-color: #212529;
    --card-bg: #ffffff;
    --border-color: #dee2e6;
    --link-color: #D32F2F;
    --topbar-color: #E53935;
    --sidebar-header-color: #E53935;
    --sidebar-color: #e9ecef;
    --sidebar-text-color: #343a40;
    --topbar-text-color: #ffffff;
    --hamburger-color: #ffffff;
    --hover-bg: #E53935;
    --hover-border: #C62828;
    --menu-sub-color: #343a40;
    --menu-sub-hover-bg: #E53935;
    --menu-sub-hover-border: #C62828;
    --menu-sub-hover-color: #ffffff;
    /* --- Atalhos --- */
    --atalho-bg: #ffffff;
    --atalho-border-color: #dee2e6;
    --atalho-icone-color: #E53935;
    --atalho-hover-bg: #FFEBEE;
    --atalho-hover-icone-color: #B71C1C;
    --atalho-faixa-hover-bg: #E53935;
    --atalho-ativo-bg: #FFCDD2;
    /* --- Sidebar avançada --- */
    --flyout-bg: #343a40;
    --active-hl-bg: rgba(229, 57, 53, 0.12);
    --sidebar-divider-color: rgba(0, 0, 0, 0.1);
    /* --- Tokens semânticos: danger ajustado (vermelho é a cor da marca) --- */
    --sem-danger-bg:   #fca5a5; --sem-danger-text: #7f1d1d;
    /* Bootstrap overrides */
    --bs-body-bg: var(--bg-color);
    --bs-body-color: var(--text-color);
    --bs-link-color: var(--link-color);
    --bs-table-hover-bg: rgba(229, 57, 53, 0.06);
}

.vivido-theme .topbar,
.vivido-theme .sidebar-header {
    color: #ffffff !important;
}

    .vivido-theme .topbar .saudacao-empresa,
    .vivido-theme .topbar .dropdown-toggle {
        color: #ffffff !important;
    }

.vivido-theme #sidebar ul li a:hover,
.vivido-theme #sidebar ul li a:hover span,
.vivido-theme #sidebar ul li a:hover i {
    color: #ffffff !important;
}

.vivido-theme .table thead th {
    background-color: #343a40;
    color: #ffffff;
    border-bottom: 2px solid #E53935;
}

    .vivido-theme .table thead th a {
        color: #ffffff;
    }

.vivido-theme .table tbody tr:hover {
    background-color: #FFEBEE;
    color: #000000;
    transition: background-color 0.15s ease-in-out;
}

.vivido-theme .btn-primary {
    background-color: #E53935;
    border-color: #E53935;
    color: #ffffff;
    font-weight: bold;
    text-transform: uppercase;
    border-radius: 10px;
    padding: 0.5rem 1.5rem;
}

    .vivido-theme .btn-primary:hover {
        background-color: #C62828;
        border-color: #B71C1C;
    }

.vivido-theme .btn-ver-foto {
    background-color: #E53935;
    border-color: #E53935;
}

    .vivido-theme .btn-ver-foto .fa-camera {
        color: #ffffff;
    }

    .vivido-theme .btn-ver-foto:hover {
        background-color: #343a40;
        border-color: #212529;
    }

.vivido-theme .form-control:focus,
.vivido-theme .form-select:focus {
    border-color: #E53935;
    box-shadow: 0 0 0 0.25rem rgba(229, 57, 53, 0.25);
}

.vivido-theme .modal-header {
    background-color: #343a40;
    color: #ffffff;
    border-bottom: 1px solid #E53935;
}

.vivido-theme .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

.hamburger,
.topbar .dropdown-toggle i {
    color: var(--hamburger-color);
    transition: color 0.2s ease-in-out;
}

.topbar .dropdown-menu {
    background-color: var(--sidebar-color);
    border: 1px solid var(--hover-border);
    padding: 0;
}

.topbar .dropdown-item,
.topbar .dropdown-item-text,
.topbar .dropdown-header {
    color: var(--sidebar-text-color);
    padding: 10px 16px;
}

    .topbar .dropdown-item:hover {
        background-color: var(--hover-bg);
        color: var(--menu-sub-hover-color, #ffffff);
    }

.topbar .dropdown-divider {
    margin: 0;
    border-top: 1px solid var(--hover-border);
}

.vivido-theme .topbar .dropdown-toggle,
.vivido-theme .topbar .user-label {
    color: #ffffff !important;
}