/*
 * CheckBoar — Tema oscuro
 * Activo cuando <html data-theme="dark">
 */

/* ══════════════════════════════════════════════════════════
   Variables CSS — html[data-theme="dark"] especificidad (0,1,1)
   supera a :root (0,1,0) de los <style> inline de cada página.
   ══════════════════════════════════════════════════════════ */
html[data-theme="dark"] {
    color-scheme: dark;

    /* Bootstrap 5 core */
    --bs-body-bg:               #1a1a1a;
    --bs-body-color:            #ddd;
    --bs-border-color:          #3a3a3a;
    --bs-secondary-bg:          #242424;
    --bs-tertiary-bg:           #2d2d2d;
    --bs-link-color:            #ff8c7f;
    --bs-link-hover-color:      #ffb3aa;
    --bs-heading-color:         #e0e0e0;
    --bs-card-bg:               #242424;
    --bs-modal-bg:              #242424;
    --bs-dropdown-bg:           #2a2a2a;
    --bs-dropdown-border-color: #444;
    --bs-dropdown-link-color:   #ddd;
    --bs-dropdown-link-hover-bg: #3a3a3a;
    --bs-dropdown-link-hover-color: #fff;
    --bs-table-bg:              #1e1e1e;
    --bs-table-color:           #ddd;
    --bs-table-striped-bg:      #222;
    --bs-table-border-color:    #333;
    --bs-pagination-color:      #ff8c7f;
    --bs-pagination-bg:         #2d2d2d;
    --bs-pagination-border-color: #444;
    --bs-pagination-hover-bg:   #3a3a3a;
    --bs-pagination-disabled-bg: #1e1e1e;
    --bs-pagination-disabled-color: #555;

    /* Variables custom de inicio.php y selprogram.php */
    --ck-bg:            #111;
    --ck-surface:       #242424;
    --ck-border:        #3a3a3a;
    --ck-hover-bg:      #3a1a16;
    --ck-hover-text:    #ff8c7f;
    --ck-text:          #e0e0e0;
    --ck-text-muted:    #888;
    --ck-label:         #666;
    --ck-link:          #ff8c7f;
    --ck-primary-light: #3a1a16;
}

/* ── Base ── */
[data-theme="dark"] body                { background-color: #1a1a1a !important; color: #ddd; }
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,
[data-theme="dark"] h4,[data-theme="dark"] h5,[data-theme="dark"] h6 { color: #e0e0e0; }
[data-theme="dark"] p.lead              { color: #bbb; }
[data-theme="dark"] label,
[data-theme="dark"] .form-label         { color: #ccc; }
[data-theme="dark"] .control-label      { color: #ccc !important; }
[data-theme="dark"] .text-muted         { color: #888 !important; }
[data-theme="dark"] .small,
[data-theme="dark"] small               { color: #999; }
[data-theme="dark"] hr                  { border-color: #3a3a3a; opacity: 1; }
[data-theme="dark"] .border             { border-color: #3a3a3a !important; }
[data-theme="dark"] a                   { color: #ff8c7f; }
[data-theme="dark"] a:hover             { color: #ffb3aa; }
[data-theme="dark"] pre                 { background-color: #242424 !important; color: #ddd; border-color: #3a3a3a; }

/* ── Navbar dropdown ── */
[data-theme="dark"] .navbar .dropdown-menu                             { background-color: #2a2a2a !important; border-color: #444 !important; }
[data-theme="dark"] .navbar .dropdown-menu .dropdown-item              { color: #ddd !important; }
[data-theme="dark"] .navbar .dropdown-menu .dropdown-item:hover        { background-color: #3a3a3a !important; color: #fff !important; }
[data-theme="dark"] .navbar .dropdown-divider                          { border-color: #444; }

/* ── Panels (BS3 compat) — buscadores ── */
[data-theme="dark"] .panel                              { background-color: #242424 !important; border-color: #3a3a3a !important; }
[data-theme="dark"] .panel-default                      { border-color: #3a3a3a !important; }
[data-theme="dark"] .panel-default > .panel-heading,
[data-theme="dark"] .panel-heading                      { background-color: #2d2d2d !important; border-color: #3a3a3a !important; color: #ccc !important; }
[data-theme="dark"] .panel-title                        { color: #ccc !important; }
[data-theme="dark"] .panel-body                         { background-color: #1e1e1e !important; color: #ddd !important; }
[data-theme="dark"] .panel-collapse                     { background-color: #1e1e1e !important; }
[data-theme="dark"] .panel-group                        { background-color: transparent !important; }
[data-theme="dark"] .acollap                            { color: #ccc !important; }
[data-theme="dark"] .acollap:hover                      { color: #fff !important; }

/* ── Formularios / buscadores ── */
[data-theme="dark"] .form-control,
[data-theme="dark"] input.form-control,
[data-theme="dark"] select.form-control,
[data-theme="dark"] textarea.form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="date"],
[data-theme="dark"] select,
[data-theme="dark"] textarea                            {
    background-color: #2d2d2d !important;
    color: #ddd !important;
    border-color: #484848 !important;
}
[data-theme="dark"] .password-toggle                    { color: #999; }
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] select.form-control:focus,
[data-theme="dark"] textarea.form-control:focus         {
    background-color: #2d2d2d !important;
    color: #fff !important;
    border-color: #d9230f !important;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.3), 0 0 6px rgba(217,35,15,.4) !important;
}
[data-theme="dark"] .form-check-input                  { background-color: #2d2d2d !important; border-color: #484848 !important; }
[data-theme="dark"] .form-check-input:checked          { background-color: #d9230f !important; border-color: #d9230f !important; }
[data-theme="dark"] .input-group-text                  { background-color: #333 !important; border-color: #484848 !important; color: #ccc !important; }
[data-theme="dark"] .dataTables_length select          {
    background-color: #2d2d2d !important; color: #ddd !important; border-color: #484848 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23aaa' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
}
[data-theme="dark"] option                             { background-color: #2d2d2d; color: #ddd; }
[data-theme="dark"] datalist option                    { background-color: #2d2d2d; color: #ddd; }

/* Placeholders */
[data-theme="dark"] ::placeholder                      { color: #666 !important; }

/* ── signin.css overrides ── */
[data-theme="dark"] body                               { color: #ddd !important; }
[data-theme="dark"] .form-horizontal                   { background-color: #2d2d2d !important; color: #ddd !important; }
[data-theme="dark"] .form-horizontal .control-label    { color: #ccc !important; }
[data-theme="dark"] #footer                            { background-color: #111 !important; border-top-color: #333 !important; }
[data-theme="dark"] .panel-heading                     { background-color: #2d2d2d !important; color: #ccc !important; }
[data-theme="dark"] .panel-title                       { color: #ccc !important; }

/* ── Encuadres / contenedores ── */
[data-theme="dark"] .starter-template                  { background-color: #1a1a1a !important; }
[data-theme="dark"] .tabla_datos                        { background-color: transparent; }
[data-theme="dark"] .well                              { background-color: #242424 !important; border-color: #3a3a3a !important; color: #ddd; }
[data-theme="dark"] .container                         { background-color: transparent !important; }
[data-theme="dark"] #wrapper                           { background-color: #1a1a1a !important; }
[data-theme="dark"] .verificaciones                    { background-color: #1e1e1e; }

/* ── partetrabajo.php ── */
[data-theme="dark"] .parte-section                     { background: #242424 !important; border-color: #3a3a3a !important; }
[data-theme="dark"] .parte-section-title               { background: #2d2d2d !important; border-bottom-color: #3a3a3a !important; color: #ccc !important; }
[data-theme="dark"] .parte-section-body                { color: #ddd !important; }
[data-theme="dark"] td.firma-cliente:hover             { background: #3a1a16 !important; }

/* Inline background overrides — estilos inline hardcodeados en HTML */
[data-theme="dark"] [style*="background:#fff"],
[data-theme="dark"] [style*="background: #fff"],
[data-theme="dark"] [style*="background:#ffffff"],
[data-theme="dark"] [style*="background:#fafafa"],
[data-theme="dark"] [style*="background:#f5f5f5"],
[data-theme="dark"] [style*="background:#f8f9fa"]      { background: #242424 !important; }
[data-theme="dark"] [style*="background-color:#eee"],
[data-theme="dark"] [style*="background-color: #eee"],
[data-theme="dark"] [style*="background-color:#f5f5f5"],
[data-theme="dark"] [style*="background-color: #f5f5f5"] { background-color: #2d2d2d !important; color: #ccc !important; }
[data-theme="dark"] [style*="background-color:#fff"],
[data-theme="dark"] [style*="background-color: #fff"],
[data-theme="dark"] [style*="background-color:white"],
[data-theme="dark"] [style*="background-color: white"]   { background-color: #242424 !important; }
[data-theme="dark"] [style*="border:1px solid #ddd"],
[data-theme="dark"] [style*="border: 1px solid #ddd"]    { border-color: #3a3a3a !important; }

/* ── Tablas ── */
[data-theme="dark"] .table                              { color: #ddd !important; --bs-table-color: #ddd; }
[data-theme="dark"] .table > :not(caption) > * > *     { background-color: transparent !important; border-bottom-color: #333 !important; color: #ddd !important; }
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > *  { background-color: #222 !important; color: #ddd !important; }
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(even) > * { background-color: #1e1e1e !important; color: #ddd !important; }
[data-theme="dark"] .table-bordered > * > tr > *       { border-color: #333 !important; }
[data-theme="dark"] .table thead th,
[data-theme="dark"] .table > thead > tr > th            { background-color: #2a2a2a !important; color: #e0e0e0 !important; border-color: #444 !important; }
[data-theme="dark"] .table tbody tr:hover td            { background-color: #3a1a16 !important; }

/* ── Modales ── */
[data-theme="dark"] .modal-content                     { background-color: #242424 !important; color: #ddd !important; border-color: #3a3a3a !important; }
[data-theme="dark"] .modal-body                        { background-color: #242424 !important; }
[data-theme="dark"] .modal-footer                      { background-color: #1e1e1e !important; border-top-color: #3a3a3a !important; }
[data-theme="dark"] .modal-header                      { border-bottom-color: #3a3a3a; }

/* ── Cards ── */
[data-theme="dark"] .card                              { background-color: #242424 !important; border-color: #3a3a3a !important; color: #ddd !important; }
[data-theme="dark"] .card-body                         { background-color: #242424 !important; }
[data-theme="dark"] .card-header                       { background-color: #2d2d2d !important; border-bottom-color: #3a3a3a !important; }

/* ── Alerts ── */
[data-theme="dark"] .alert-danger                      { background-color: #3a1a1a !important; border-color: #6b2a2a !important; color: #ff9090 !important; }
[data-theme="dark"] .alert-success                     { background-color: #1a3018 !important; border-color: #2a5a28 !important; color: #90d090 !important; }
[data-theme="dark"] .alert-warning                     { background-color: #332a12 !important; border-color: #5a4a18 !important; color: #ffc060 !important; }
[data-theme="dark"] .alert-info                        { background-color: #12283a !important; border-color: #1a4a6a !important; color: #60b0ff !important; }

/* ── Botones ── */
[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .btn-default                       { background-color: #3a3a3a !important; border-color: #484848 !important; color: #ddd !important; }
[data-theme="dark"] .btn-secondary:hover,
[data-theme="dark"] .btn-default:hover                 { background-color: #484848 !important; border-color: #555 !important; color: #fff !important; }
[data-theme="dark"] .btn-outline-secondary             { color: #aaa !important; border-color: #555 !important; }
[data-theme="dark"] .btn-outline-secondary:hover       { background-color: #3a3a3a !important; color: #ddd !important; }
[data-theme="dark"] .btn-link                          { color: #ff8c7f !important; }
[data-theme="dark"] .btn-link:hover                    { color: #ffb3aa !important; }
[data-theme="dark"] .btn-link.text-danger              { color: #ff6060 !important; }
[data-theme="dark"] .btn-close                         { filter: invert(1); }

/* ── Paginación ── */
[data-theme="dark"] .dataTables_paginate .paginate_button.page-item > .page-link         { background-color: #2d2d2d !important; border-color: #444 !important; }
[data-theme="dark"] .dataTables_paginate .paginate_button.page-item.disabled > .page-link { background-color: #1e1e1e !important; border-color: #333 !important; color: #555 !important; }
[data-theme="dark"] .dataTables_paginate .paginate_button.page-item > .page-link:hover   { background-color: #3a3a3a !important; border-color: #555 !important; }
[data-theme="dark"] .dataTables_info                   { color: #888 !important; }

/* ── DataTables colvis dropdown ── */
[data-theme="dark"] .dt-button-collection.dropdown-menu { background-color: #2d2d2d !important; border-color: #444 !important; }
[data-theme="dark"] .dt-button-collection .dt-button    { background-color: #2d2d2d !important; color: #ddd !important; }
[data-theme="dark"] .dt-button-collection .dt-button:hover { background-color: #3a3a3a !important; color: #fff !important; }

/* ── jQuery UI autocomplete ── */
[data-theme="dark"] .ui-autocomplete                   { background-color: #2d2d2d !important; border-color: #444 !important; color: #ddd !important; }
[data-theme="dark"] .ui-menu-item-wrapper              { color: #ddd !important; }
[data-theme="dark"] .ui-menu-item-wrapper.ui-state-active,
[data-theme="dark"] .ui-menu-item-wrapper.ui-state-focus { background: #d9230f !important; color: #fff !important; border-color: #a91b0c !important; margin: 0; }
[data-theme="dark"] .ui-widget                         { background: #2d2d2d !important; color: #ddd !important; border-color: #444 !important; }
[data-theme="dark"] .ui-widget-content                 { background: #2d2d2d !important; color: #ddd !important; border-color: #444 !important; }

/* ── Datetimepicker (Eonasdan) ── */
[data-theme="dark"] .bootstrap-datetimepicker-widget.dropdown-menu  { background-color: #2d2d2d !important; border-color: #444 !important; }
[data-theme="dark"] .bootstrap-datetimepicker-widget table th       { color: #ccc !important; }
[data-theme="dark"] .bootstrap-datetimepicker-widget table th:hover { background: #3a1a16 !important; }
[data-theme="dark"] .bootstrap-datetimepicker-widget table td       { color: #ddd !important; }
[data-theme="dark"] .bootstrap-datetimepicker-widget table td.day:hover,
[data-theme="dark"] .bootstrap-datetimepicker-widget table td.hour:hover,
[data-theme="dark"] .bootstrap-datetimepicker-widget table td.minute:hover,
[data-theme="dark"] .bootstrap-datetimepicker-widget table td span:hover { background: #3a1a16 !important; }
[data-theme="dark"] .bootstrap-datetimepicker-widget table td.disabled { color: #555 !important; }

/* ── Bootstrap-toggle ── */
[data-theme="dark"] .toggle-group .toggle-off          { background-color: #444 !important; border-color: #555 !important; }
[data-theme="dark"] .toggle.btn                        { border-color: #484848; }

/* ── Footer ── */
[data-theme="dark"] #footer .navbar                    { background-color: #111 !important; border-top-color: #333 !important; }
[data-theme="dark"] #footer .text-muted                { color: #666 !important; }

/* ── Navegación tabs ── */
[data-theme="dark"] .nav-tabs                          { border-bottom-color: #444 !important; }
[data-theme="dark"] .nav-tabs .nav-link                { color: #aaa !important; border-color: transparent !important; }
[data-theme="dark"] .nav-tabs .nav-link:hover          { color: #ddd !important; border-color: #444 !important; }
[data-theme="dark"] .nav-tabs .nav-link.active         { background-color: #1a1a1a !important; border-color: #444 #444 #1a1a1a !important; color: #fff !important; }
[data-theme="dark"] .tab-content                       { background-color: transparent !important; }

/* ── Colores de estado inline (APTO/NO APTO) ── */
[data-theme="dark"] span[style*="color:#469408"]        { color: #6abf20 !important; }
[data-theme="dark"] span[style*="color:#b32400"]        { color: #ff5533 !important; }
[data-theme="dark"] span[style*="color:purple"]         { color: #cc88ff !important; }
[data-theme="dark"] span[style*="color:brown"]          { color: #dd8855 !important; }
[data-theme="dark"] span[style*="color:blue"]           { color: #66aaff !important; }

/* ── Elementos ck-* (inicio.php / selprogram.php) ── */
[data-theme="dark"] .ck-wrap                           { background: #111 !important; }
[data-theme="dark"] .ck-summary-card,
[data-theme="dark"] .ck-big-card,
[data-theme="dark"] .ck-welcome-brand,
[data-theme="dark"] .ck-welcome-text                   { background: #242424 !important; border-color: #3a3a3a !important; color: #ddd !important; }
[data-theme="dark"] .ck-welcome-access                 { background: #242424 !important; border-color: #3a3a3a !important; }
[data-theme="dark"] .ck-summary-title                  { color: #e0e0e0 !important; }
[data-theme="dark"] .ck-summary-sub,
[data-theme="dark"] .ck-summary-row .lbl,
[data-theme="dark"] .ck-card-desc                      { color: #888 !important; }
[data-theme="dark"] .ck-summary-row .val               { color: #e0e0e0 !important; }
[data-theme="dark"] a.ck-summary-row:hover             { background: #3a1a16 !important; }
[data-theme="dark"] .ck-summary-head                   { border-bottom-color: #3a3a3a !important; }
[data-theme="dark"] .ck-summary-head i                 { background: #3a1a16 !important; }
[data-theme="dark"] .ck-collapsible-title              { background: #242424 !important; color: #ddd !important; border-color: #3a3a3a !important; }
[data-theme="dark"] .ck-collapsible-title:hover        { background: #2d2d2d !important; }
[data-theme="dark"] .ck-card                           { background: #242424 !important; border-color: #3a3a3a !important; color: #ddd !important; }
[data-theme="dark"] .ck-card:hover                     { background: #2d2d2d !important; }
[data-theme="dark"] .ck-tab                            { color: #aaa !important; background: transparent !important; border-color: transparent !important; }
[data-theme="dark"] .ck-tab.active                     { color: #fff !important; border-bottom-color: #d9230f !important; }
[data-theme="dark"] .ck-panel-body                     { background: #1a1a1a !important; }
[data-theme="dark"] .ck-section-title                  { color: #aaa !important; }
[data-theme="dark"] .ck-brand-logo-wrap                { background: #2d2d2d !important; border-color: #3a3a3a !important; }
[data-theme="dark"] .ck-brand-logo                    { content: url('../images/LOGO_SERVIGASA_QR_invertido.png'); }
[data-theme="dark"] .form-signin img                  { content: url('../images/logo_cuadrado_invertido.png'); }
[data-theme="dark"] .ck-wrap .table th                 { background: #2d2d2d !important; color: #ddd !important; border-color: #3a3a3a !important; }
[data-theme="dark"] .ck-wrap .table td                 { color: #ddd !important; border-color: #3a3a3a !important; }
[data-theme="dark"] .ck-welcome                        { background: transparent !important; }

/* ── Autocomplete dropdowns globales (footer.php / selprogram.php) ── */
.svgs-ac-drop                          { background: #fff; }
.svgs-ac-item                          { color: #333; background: #fff; }
.svgs-ac-item:hover                    { background: #fde8e5; }

[data-theme="dark"] .svgs-ac-drop      { background: #2d2d2d !important; }
[data-theme="dark"] .svgs-ac-item      { background: #2d2d2d !important; color: #ddd !important; border-bottom-color: #3a3a3a !important; }
[data-theme="dark"] .svgs-ac-item:hover { background: #3a1a16 !important; }

/* ── Notificación dot tickets (navbar) ── */
.tk-notif-dot {
    display: inline-block;
    width: 8px; height: 8px;
    background: #fff;
    border-radius: 50%;
    margin-left: 5px;
    vertical-align: middle;
    position: relative;
    top: -1px;
    box-shadow: 0 0 0 2px rgba(217,35,15,.6);
    animation: tk-pulse 1.6s ease-in-out infinite;
}
@keyframes tk-pulse {
    0%,100% { box-shadow: 0 0 0 2px rgba(217,35,15,.6); }
    50%      { box-shadow: 0 0 0 4px rgba(217,35,15,.2); }
}
[data-theme="dark"] .tk-notif-dot { background: #ff8c7f; box-shadow: 0 0 0 2px rgba(255,140,127,.5); }

/* ── tickets.php — conversación ── */
[data-theme="dark"] .tk-thread                { background: #1e1e1e !important; }
[data-theme="dark"] .b-cliente                { background: #2d2d2d !important; color: #ddd !important; }
[data-theme="dark"] .b-empleado               { background: #3a1a16 !important; color: #f0c0b8 !important; }
[data-theme="dark"] .tk-drop                  { background: #1e1e1e !important; border-color: #d9230f !important; color: #888 !important; }
[data-theme="dark"] .tk-drop:hover,
[data-theme="dark"] .tk-drop.drag             { background: #3a1a16 !important; }

/* ── Botón toggle de tema ── */
.theme-toggle-btn {
    background: transparent;
    border: none;
    color: #fac0ba;
    padding: 6px 8px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    border-radius: 4px;
    transition: color .15s, background .15s;
}
.theme-toggle-btn:hover { color: #fff; background: rgba(255,255,255,.1); }
