/* ===========================================================================
   Camada de tema escuro para o Portal.

   O Portal é um tema só-claro: fixa cores claras em todos os componentes .app-*.
   O Bootstrap 5.3.3 embutido no portal.css já cobre os componentes nativos via
   [data-bs-theme=dark]; este arquivo cobre a camada custom do tema.

   Carregar SEMPRE depois do portal.css.
   =========================================================================== */

[data-bs-theme="dark"] {
    --portal-bg:          #14171c;                /* claro: #f5f6fe */
    --portal-surface:     #1c2027;                /* claro: #fff    */
    --portal-surface-2:   #23272f;                /* claro: #fafbff */
    --portal-border:      #2f343d;                /* claro: #e7e9ed */
    --portal-text:        #c3c9d3;                /* claro: #5d6778 */
    --portal-heading:     #e9ecf1;                /* claro: #252930 */
    --portal-muted:       #8b94a3;                /* claro: #828d9f */
    --portal-accent:      #15a362;                /* verde Portal, mantido */
    --portal-accent-soft: rgba(21, 163, 98, .14); /* claro: #edfdf6 */
}

/* --- base ---------------------------------------------------------------- */
[data-bs-theme="dark"] body { color: var(--portal-text); }

[data-bs-theme="dark"] h1, [data-bs-theme="dark"] .h1,
[data-bs-theme="dark"] h2, [data-bs-theme="dark"] .h2,
[data-bs-theme="dark"] h3, [data-bs-theme="dark"] .h3,
[data-bs-theme="dark"] h4, [data-bs-theme="dark"] .h4,
[data-bs-theme="dark"] h5, [data-bs-theme="dark"] .h5,
[data-bs-theme="dark"] h6, [data-bs-theme="dark"] .h6 { color: var(--portal-heading); }

[data-bs-theme="dark"] hr          { background: var(--portal-border); }
[data-bs-theme="dark"] .text-muted { color: var(--portal-muted) !important; }
[data-bs-theme="dark"] a.app-link  { color: var(--portal-heading); }
[data-bs-theme="dark"] .app        { background: var(--portal-bg); }
[data-bs-theme="dark"] dt          { color: var(--portal-muted); }
[data-bs-theme="dark"] dd          { color: var(--portal-text); }
[data-bs-theme="dark"] code        { color: var(--portal-accent); }

/* --- header / topbar ----------------------------------------------------- */
[data-bs-theme="dark"] .app-header                              { background: var(--portal-surface); border-bottom-color: var(--portal-border); }
[data-bs-theme="dark"] .app-utility-item > a                    { color: var(--portal-text); }
[data-bs-theme="dark"] .app-utility-item > a:hover              { color: var(--portal-heading); }
[data-bs-theme="dark"] .app-utility-item .icon-badge.icon-badge { border-color: var(--portal-surface); }
[data-bs-theme="dark"] .app-search-form .search-input:focus     { border-color: var(--portal-accent); }

/* --- sidepanel ----------------------------------------------------------- */
[data-bs-theme="dark"] .app-sidepanel                  { border-right-color: var(--portal-border); }
[data-bs-theme="dark"] .app-sidepanel .sidepanel-inner { background: var(--portal-surface); }
[data-bs-theme="dark"] .app-branding .logo-text        { color: var(--portal-heading); }
[data-bs-theme="dark"] .app-nav .nav-item              { background: transparent; }
[data-bs-theme="dark"] .app-nav .nav-link              { color: var(--portal-text); }
[data-bs-theme="dark"] .app-nav .nav-link:hover        { color: var(--portal-heading); }
[data-bs-theme="dark"] .app-nav .nav-link.active       { color: var(--portal-accent); background: var(--portal-accent-soft); }
[data-bs-theme="dark"] .app-nav .submenu-link          { color: var(--portal-text); }
[data-bs-theme="dark"] .app-nav .submenu-link:hover    { color: var(--portal-heading); }
[data-bs-theme="dark"] .app-nav .submenu-link:before   { background-color: var(--portal-border); }
[data-bs-theme="dark"] .app-sidepanel-footer           { background: var(--portal-surface-2); border-top-color: var(--portal-border); }

/* --- cards --------------------------------------------------------------- */
[data-bs-theme="dark"] .app-card                               { background: var(--portal-surface); }
[data-bs-theme="dark"] .app-card .app-card-header              { border-bottom-color: var(--portal-border); }
[data-bs-theme="dark"] .app-card .app-card-title,
[data-bs-theme="dark"] .app-page-title,
[data-bs-theme="dark"] .settings-section .section-title        { color: var(--portal-heading); }
[data-bs-theme="dark"] .app-card .app-icon-holder              { background: var(--portal-accent-soft); }
[data-bs-theme="dark"] .app-card-stat .stats-figure            { color: var(--portal-heading); }
[data-bs-theme="dark"] .app-card-stat .stats-type,
[data-bs-theme="dark"] .app-card-stat .stats-meta              { color: var(--portal-muted); }
[data-bs-theme="dark"] .app-card .app-card-footer              { background: var(--portal-surface-2); border-top-color: var(--portal-border); }
[data-bs-theme="dark"] .app-card-notification .app-card-footer { background: var(--portal-surface-2); }

/* --- tabelas ------------------------------------------------------------- */
[data-bs-theme="dark"] .table th,
[data-bs-theme="dark"] .table td,
[data-bs-theme="dark"] .table thead th                     { border-color: var(--portal-border); }
[data-bs-theme="dark"] .app-card-orders-table .table .cell { border-color: var(--portal-border); color: var(--portal-text); }
[data-bs-theme="dark"] .app-card-orders-table .cell .note  { color: var(--portal-muted); }
/* portal.css força hover branco em .table-hover — precisa ser desfeito. */
[data-bs-theme="dark"] .app-table-hover > tbody > tr:hover,
[data-bs-theme="dark"] .table-hover > tbody > tr:hover     { background-color: var(--portal-surface-2); }

/* --- formulários / botões ------------------------------------------------ */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select             { background-color: var(--portal-bg); border-color: var(--portal-border); color: var(--portal-text); }
[data-bs-theme="dark"] .form-control::placeholder { color: var(--portal-muted); }
[data-bs-theme="dark"] .form-label              { color: var(--portal-text); }
[data-bs-theme="dark"] .app-btn-secondary       { background: var(--portal-surface-2); color: var(--portal-text); border-color: var(--portal-border); }
[data-bs-theme="dark"] .app-btn-secondary:hover { background: var(--portal-surface-2); color: var(--portal-accent); border-color: var(--portal-accent); }

/* --- dropdowns ----------------------------------------------------------- */
[data-bs-theme="dark"] .dropdown-menu                       { background: var(--portal-surface); border-color: var(--portal-border); }
[data-bs-theme="dark"] .dropdown-menu .dropdown-item        { color: var(--portal-text); }
[data-bs-theme="dark"] .dropdown-menu .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-menu .dropdown-item:focus,
[data-bs-theme="dark"] .dropdown-menu .dropdown-item.active,
[data-bs-theme="dark"] .dropdown-menu .dropdown-item:active { background: var(--portal-surface-2); color: var(--portal-heading); }
[data-bs-theme="dark"] .dropdown-divider                    { border-top-color: var(--portal-border); }
[data-bs-theme="dark"] .app-notifications-dropdown .dropdown-menu .dropdown-menu-header,
[data-bs-theme="dark"] .app-notifications-dropdown .dropdown-menu .dropdown-menu-footer,
[data-bs-theme="dark"] .app-notifications-dropdown .dropdown-menu .item        { border-color: var(--portal-border); }
[data-bs-theme="dark"] .app-notifications-dropdown .dropdown-menu .item:hover  { background: var(--portal-surface-2); }

/* --- abas / paginação ---------------------------------------------------- */
[data-bs-theme="dark"] .app-nav-tabs                          { background: var(--portal-surface); }
[data-bs-theme="dark"] .app-nav-tabs .nav-link                { color: var(--portal-text); }
[data-bs-theme="dark"] .app-nav-tabs .nav-link:hover          { background: var(--portal-accent-soft); color: var(--portal-accent); }
[data-bs-theme="dark"] .app-pagination .pagination .page-link { background: var(--portal-surface); border-color: var(--portal-border); color: var(--portal-text); }
[data-bs-theme="dark"] .app-pagination .pagination .page-item.disabled .page-link { color: var(--portal-muted); }

/* --- páginas de autenticação --------------------------------------------- */
[data-bs-theme="dark"] .app-auth-wrapper { background: var(--portal-surface); }
[data-bs-theme="dark"] .auth-heading     { color: var(--portal-heading); }
