body.dark{
  --bg:#12161d;
  --card:#1b212b;
  --panel:#161b23;
  --ink:#e7ecf2;
  --muted:#8d99a8;
  --line:#2a3140;
  --primary:#3b93c7;
  --primary-2:#2a7aa8;
  --shadow:0 4px 20px rgba(0,0,0,.4);
}

/* Header */
body.dark .app-header{background:#1b212b;border-bottom-color:#2a3140}
body.dark .brand h1{color:#8ec5eb}
body.dark .brand p{color:#8d99a8}

/* Botones */
body.dark .btn.ghost{color:#e7ecf2;border-color:#2a3140}
body.dark .btn.ghost:hover{background:#222a35}
body.dark .btn:not(.primary):not(.accent):not(.ghost):not(.danger){background:#222a35;color:#e7ecf2}
body.dark .btn.primary{background:var(--primary);color:#fff}
body.dark .btn.accent{background:var(--accent);color:#fff}
body.dark .btn.danger{background:#c0392b !important;color:#fff !important; border-color: transparent !important;}

/* Acordeones */
body.dark .acc{background:#1b212b;border-color:#2a3140}
body.dark .acc-head{background:#222a35;color:#e7ecf2}
body.dark .acc-head::after{color:#8d99a8}
body.dark .acc-body{background:#1b212b;color:#e7ecf2}
body.dark .acc-head .ico-wrap{background:rgba(59,147,199,.15);color:#8ec5eb}

/* Campos */
body.dark .field span{color:#8d99a8}
body.dark .field input,
body.dark .field select,
body.dark .field textarea,
body.dark .add-row select,
body.dark .add-row input,
body.dark .items-table input{
  background:#12161d;color:#e7ecf2;border-color:#2a3140;
}
body.dark .field input:focus,
body.dark .field select:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(59,147,199,.15);
}
body.dark .field input::placeholder,
body.dark .add-row input::placeholder{color:#5f6b7c}

/* Radios, checks */
body.dark .radio-row label,
body.dark .check{color:#e7ecf2}
body.dark .check input,
body.dark .radio-row input{accent-color:var(--primary)}

/* Hint / código */
body.dark .hint{color:#8d99a8}
body.dark .code-chip{background:#1a2330;border-color:var(--primary);color:#8ec5eb}

/* Fases */
body.dark .phases-list label{background:#12161d !important;color:#e7ecf2 !important;border-color:#2a3140 !important}
body.dark .phases-list label:hover{background:#1a2330 !important;border-color:var(--primary) !important}
body.dark .phases-list label input[type="checkbox"]{accent-color:var(--primary);outline:1px solid #3b4658;outline-offset:1px;border-radius:2px}
body.dark .phases-list label input[type="checkbox"]:checked{outline-color:var(--primary)}

/* Tabla de ítems (CORREGIDO HOVER) */
body.dark .items-wrap{border-color:#2a3140}
body.dark .items-table th{background:#222a35;color:#8d99a8;border-bottom-color:#2a3140}
body.dark .items-table td{color:#e7ecf2;border-bottom-color:#222a35}
body.dark .items-table tbody tr:hover td { background: #2a3140 !important; } /* El hover ya no es blanco */
body.dark .items-table input[type=number]{background:#12161d;color:#e7ecf2;border-color:#2a3140}
body.dark .empty{color:#8d99a8}

/* Modal */
body.dark .modal-content{background:#1b212b;color:#e7ecf2}
body.dark .modal-head{border-bottom-color:#2a3140}
body.dark .modal-head h3{color:#e7ecf2}
body.dark .history-table th{background:#222a35;color:#8d99a8;border-bottom-color:#2a3140}
body.dark .history-table td{border-bottom-color:#2a3140;color:#e7ecf2}
body.dark .history-table tbody tr:hover td { background: #222a35 !important; }
body.dark .history-table .row-actions button{background:#222a35;color:#e7ecf2;border-color:#2a3140}
body.dark .history-table .row-actions button:hover{background:#2d3644}
body.dark .history-toolbar input[type=search]{background-color:#12161d;color:#e7ecf2;border-color:#2a3140}
body.dark .history-toolbar input[type=search]:focus{border-color:var(--primary)}
body.dark .history-toolbar input[type=search]::placeholder{color:#5f6b7c}

/* Catálogo admin */
body.dark .cat-toolbar{border-bottom-color:#2a3140}
body.dark .cat-toolbar input[type=search]{background:#12161d;color:#e7ecf2;border-color:#2a3140}
body.dark .cat-side{background:#12161d;border-color:#2a3140}
body.dark .cat-item{background:#1b212b;color:#e7ecf2}
body.dark .cat-item:hover{border-color:#3b4658}
body.dark .cat-item.active{background:var(--primary);color:#fff}
body.dark .cat-title, body.dark .cat-desc{background:#12161d;color:#e7ecf2;border-color:#2a3140}
body.dark .cat-title{color:#8ec5eb}
body.dark .cat-phase{background:#12161d;border-color:#2a3140}
body.dark .cat-phase-head .ph-name{background:#1b212b;color:#8ec5eb;border-color:#2a3140}
body.dark .cat-table th{border-bottom-color:#2a3140;color:#8d99a8}
body.dark .cat-table td{border-bottom-color:#222a35}
body.dark .cat-table input{background:#1b212b;color:#e7ecf2;border-color:#2a3140}
body.dark .mini-btn{background:#1b212b;color:#e7ecf2;border-color:#2a3140}
body.dark .mini-btn:hover{background:#222a35}
body.dark .mini-btn.add{background:transparent;color:#8ec5eb;border-color:#3b93c7}
body.dark .mini-btn.add:hover{background:rgba(59,147,199,.12)}
body.dark .cat-footer{border-top-color:#2a3140}

/* Toast */
body.dark .toast{background:#e7ecf2;color:#1c2331}

/* Preview */
body.dark .preview-wrap{background:#0d1016}
body.dark .preview-toolbar{background:#1b212b;border-bottom-color:#2a3140}
body.dark .doc-badge{background:var(--primary);color:#fff}

/* Documento siempre claro */
body.dark .document{background:#ffffff;color:#1c2331}
body.dark .document .doc-brand h2{color:#1e3a5f}
body.dark .document .doc-meta .kv{color:#333}
body.dark .document .doc-meta .kv b{color:#111}
body.dark .document .doc-table td{color:#2a3244}
body.dark .document .doc-table th{background:#eef3f8;color:#333344}
body.dark .document .phase-title{background:#1e3a5f;color:#fff}
body.dark .document .notes{color:#556}
body.dark .document .foot{color:#889}
body.dark .document .summary-row{color:#333344}
body.dark .document .summary-row.total{background:#1e3a5f;color:#fff}

/* Dashboard Dark Mode */
body.dark .stats-toolbar{border-bottom-color:#2a3140}
body.dark .stats-dates label{color:#8d99a8}
body.dark .stats-dates input[type=date]{background:#12161d;color:#e7ecf2;border-color:#2a3140}
body.dark .kpi-card{background:#1b212b;border-color:#2a3140}
body.dark .kpi-label{color:#8d99a8}
body.dark .kpi-value{color:#e7ecf2}
body.dark .kpi-sub{color:#8d99a8}
body.dark .chart-card, body.dark .stats-card{background:#1b212b;border-color:#2a3140}
body.dark .chart-card h4, body.dark .stats-card h4{color:#e7ecf2}
body.dark .legend-name, body.dark .legend-val{color:#e7ecf2}
body.dark .legend-pct{color:#8d99a8}
body.dark .status-item{background:#12161d;color:#e7ecf2}
body.dark .status-item b{color:#e7ecf2}
body.dark .stats-table th{color:#8d99a8;border-bottom-color:#2a3140}
body.dark .stats-table td{color:#e7ecf2;border-bottom-color:#222a35}
body.dark .stats-footer{color:#8d99a8}

/* Scrollbars dark */
body.dark ::-webkit-scrollbar-thumb{background:#3a4456;background-clip:padding-box;border:2px solid transparent}
body.dark ::-webkit-scrollbar-thumb:hover{background:#4d5a71;background-clip:padding-box;border:2px solid transparent}
body.dark *{scrollbar-color:#3a4456 transparent}