:root{
  --bg-main: var(--ds-bg);
  --bg-card: var(--ds-surface-strong);
  --bg-soft: var(--ds-surface);
  --bg-widget: var(--ds-surface-elevated);
  --text-main: var(--ds-text);
  --text-secondary: var(--ds-text-soft);
  --text-muted-2: var(--ds-text-muted);
  --border-soft: var(--ds-border);
  --border-strong: var(--ds-border-strong);
  --input-bg: rgba(255,255,255,.96);
  --input-border: rgba(148,163,184,.28);
  --table-bg: rgba(255,255,255,.92);
  --table-header: #f8fafc;
  --hover-bg: rgba(15,23,42,.04);
  --panel-shadow: var(--ds-shadow-sm);
  --focus-ring: 0 0 0 3px rgba(37,99,235,.18);
  --btn-primary: var(--ds-primary);
  --btn-primary-hover: var(--ds-primary-2);
}

html.dark-mode{
  --bg-main: #07111f;
  --bg-card: #0d1828;
  --bg-soft: rgba(10,19,34,.86);
  --bg-widget: rgba(12,21,38,.96);
  --text-main: #e5edf8;
  --text-secondary: #c7d4e6;
  --text-muted-2: #94a9c6;
  --border-soft: rgba(148,163,184,.16);
  --border-strong: rgba(148,163,184,.24);
  --input-bg: rgba(9,17,31,.94);
  --input-border: rgba(148,163,184,.18);
  --table-bg: rgba(10,19,34,.88);
  --table-header: #0d1a2d;
  --hover-bg: rgba(59,130,246,.08);
  --panel-shadow: 0 24px 60px rgba(2,6,23,.46);
  --focus-ring: 0 0 0 3px rgba(96,165,250,.18);
}

.ds-card,
.ds-card-soft,
.ds-widget,
.ds-panel,
.ds-table,
.ds-input,
.ds-modal,
.ds-dropdown,
.ds-badge,
.ds-alert{
  color:var(--text-main);
}

.ds-card,
.ds-widget,
.ds-panel,
.ds-modal,
html.dark-mode .card,
html.dark-mode .premium-card,
html.dark-mode .section-card,
html.dark-mode .module-panel,
html.dark-mode .widget-card,
html.dark-mode .widget-config-card,
html.dark-mode .widget-list-item,
html.dark-mode .message-item,
html.dark-mode .users-filter-card,
html.dark-mode .users-table-card,
html.dark-mode .users-permissions-card,
html.dark-mode .users-stat-card,
html.dark-mode .users-drawer,
html.dark-mode .diputado-form-section,
html.dark-mode .diputado-subcard,
html.dark-mode .diputado-photo-card,
html.dark-mode .diputado-comision-row,
html.dark-mode .registros-section-card,
html.dark-mode .registros-summary-card,
html.dark-mode .listas-hero-card,
html.dark-mode .listas-form-card,
html.dark-mode .listas-preview-card,
html.dark-mode .console-panel-card,
html.dark-mode .debug-card,
html.dark-mode .system-control-card,
html.dark-mode .theme-mode-status,
html.dark-mode .chart-container,
html.dark-mode .date-card-shell,
html.dark-mode .modal-contenido,
html.dark-mode .modal-container,
html.dark-mode .premium-modal,
html.dark-mode .table-wrap,
html.dark-mode .table-responsive,
html.dark-mode .pagination-shell,
html.dark-mode .widget-empty{
  background:linear-gradient(180deg, rgba(12,21,38,.98), rgba(8,16,29,.96));
  color:var(--text-main);
  border-color:var(--border-soft);
  box-shadow:var(--panel-shadow);
}

html.dark-mode .page-header,
html.dark-mode .admin-hero,
html.dark-mode .gacetas-topbar,
html.dark-mode .registros-page-header,
html.dark-mode .consulta-header,
html.dark-mode .reuniones-hero,
html.dark-mode .users-hero-card,
html.dark-mode .admin-hero-card,
html.dark-mode .hero-panel,
html.dark-mode .premium-hero,
html.dark-mode .dashboard-header,
html.dark-mode .dashboard-header.widgets-header-shell,
html.dark-mode .control-sistema-hero,
html.dark-mode .diputados-panel-hero{
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.16), transparent 34%),
    linear-gradient(180deg, rgba(13,26,45,.98), rgba(9,18,32,.96));
  border-color:var(--border-soft);
  color:var(--text-main);
}

html.dark-mode body,
html.dark-mode .main,
html.dark-mode .container,
html.dark-mode .premium-page,
html.dark-mode .dashboard-page,
html.dark-mode .registros-page,
html.dark-mode .reuniones-shell,
html.dark-mode .gacetas-shell,
html.dark-mode .admin-shell,
html.dark-mode .users-page-shell,
html.dark-mode .admin-page-shell{
  color:var(--text-main);
}

html.dark-mode .app-footer-meta{
  color:var(--text-muted-2);
  background:transparent;
}

html.dark-mode h1,
html.dark-mode h2,
html.dark-mode h3,
html.dark-mode h4,
html.dark-mode h5,
html.dark-mode h6,
html.dark-mode strong,
html.dark-mode .date-card-title,
html.dark-mode .widget-card-header h3,
html.dark-mode .users-drawer-header h3,
html.dark-mode .users-hero-main h1,
html.dark-mode .users-section-header h3,
html.dark-mode .diputado-photo-dropzone strong,
html.dark-mode .login-brand-card h1,
html.dark-mode .login-card h2{
  color:var(--text-main);
}

html.dark-mode p,
html.dark-mode span,
html.dark-mode small,
html.dark-mode .helper-text,
html.dark-mode .widget-kicker,
html.dark-mode .widget-link,
html.dark-mode .widget-list-item span,
html.dark-mode .widget-list-item small,
html.dark-mode .message-item span,
html.dark-mode .message-item p,
html.dark-mode .message-item small,
html.dark-mode .users-name-cell small,
html.dark-mode .users-commission-stack small,
html.dark-mode .users-hero-main p,
html.dark-mode .users-drawer-header p,
html.dark-mode .users-side-note,
html.dark-mode .table-secondary-line,
html.dark-mode .modal-subtitle,
html.dark-mode .login-muted,
html.dark-mode .login-brand-desc,
html.dark-mode .login-hint,
html.dark-mode .login-card p,
html.dark-mode .login-brand-card p{
  color:var(--text-secondary);
}

html.dark-mode .muted,
html.dark-mode .text-muted,
html.dark-mode .widget-empty,
html.dark-mode .dip-commission-more,
html.dark-mode .dip-commission-empty,
html.dark-mode .date-card-copy small,
html.dark-mode .users-side-note,
html.dark-mode .system-control-card p,
html.dark-mode .theme-mode-status,
html.dark-mode .sidebar-section-title,
html.dark-mode .login-input-icon{
  color:var(--text-muted-2);
}

html.dark-mode .campo,
html.dark-mode input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
html.dark-mode select,
html.dark-mode textarea,
html.dark-mode .login-input,
html.dark-mode .bitacora-chart-selector,
html.dark-mode .date-card-input,
html.dark-mode .system-control-card input,
html.dark-mode .system-control-card textarea{
  background:var(--input-bg) !important;
  border:1px solid var(--input-border) !important;
  color:var(--text-main) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}

html.dark-mode input::placeholder,
html.dark-mode textarea::placeholder,
html.dark-mode select,
html.dark-mode .campo::placeholder,
html.dark-mode .login-input::placeholder{
  color:#7f93af;
}

html.dark-mode .campo:focus,
html.dark-mode input:focus,
html.dark-mode select:focus,
html.dark-mode textarea:focus,
html.dark-mode .login-input:focus,
html.dark-mode .bitacora-chart-selector:focus,
html.dark-mode .system-control-card input:focus,
html.dark-mode .system-control-card textarea:focus,
html.dark-mode button:focus-visible,
html.dark-mode a:focus-visible{
  outline:none;
  border-color:rgba(96,165,250,.48) !important;
  box-shadow:var(--focus-ring) !important;
}

html.dark-mode option,
html.dark-mode optgroup{
  background:#0b1526;
  color:var(--text-main);
}

html.dark-mode label,
html.dark-mode .field-label,
html.dark-mode .login-label{
  color:var(--text-main);
}

html.dark-mode .premium-table,
html.dark-mode .users-premium-table,
html.dark-mode .tabla-registros,
html.dark-mode .reuniones-table,
html.dark-mode table{
  background:transparent;
  color:var(--text-main);
}

html.dark-mode .premium-table thead th,
html.dark-mode .users-premium-table thead th,
html.dark-mode .tabla-registros thead th,
html.dark-mode .reuniones-table thead th,
html.dark-mode table thead th,
html.dark-mode .system-history th{
  background:linear-gradient(180deg, #102038, #0d1a2d) !important;
  color:#d9e6f7 !important;
  border-bottom:1px solid var(--border-strong);
}

html.dark-mode .premium-table tbody td,
html.dark-mode .users-premium-table tbody td,
html.dark-mode .tabla-registros tbody td,
html.dark-mode .reuniones-table tbody td,
html.dark-mode table tbody td,
html.dark-mode .system-history td{
  color:var(--text-secondary);
  background:transparent;
  border-bottom:1px solid rgba(148,163,184,.10);
}

html.dark-mode tbody tr:nth-child(even){
  background:rgba(255,255,255,.015);
}

html.dark-mode tbody tr:hover,
html.dark-mode .premium-table tbody tr:hover,
html.dark-mode .users-premium-table tbody tr:hover,
html.dark-mode .tabla-registros tbody tr:hover,
html.dark-mode .reuniones-table tbody tr:hover,
html.dark-mode .fila-iniciativa-ia:hover,
html.dark-mode .users-premium-table tbody tr.row-focus,
html.dark-mode #permissionsTable tbody tr.row-focus{
  background:var(--hover-bg) !important;
}

html.dark-mode .widget-stat-item,
html.dark-mode .metric-card,
html.dark-mode .system-kpi,
html.dark-mode .info-chip,
html.dark-mode .users-side-note,
html.dark-mode .badge,
html.dark-mode .status-badge,
html.dark-mode .date-card-status,
html.dark-mode .dip-commission-pill,
html.dark-mode .login-badge,
html.dark-mode .login-eyebrow{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(148,163,184,.14);
  color:var(--text-secondary);
}

html.dark-mode .widget-stat-item strong,
html.dark-mode .metric-card strong,
html.dark-mode .system-kpi strong,
html.dark-mode .widget-clock strong,
html.dark-mode .widget-stat-item span,
html.dark-mode .metric-card span,
html.dark-mode .system-kpi span,
html.dark-mode .widget-clock span{
  color:var(--text-main);
}

html.dark-mode .widget-card{
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.12), transparent 32%),
    linear-gradient(180deg, rgba(12,21,38,.98), rgba(8,16,29,.96));
}

html.dark-mode .widget-list-item,
html.dark-mode .message-item,
html.dark-mode .widget-config-card,
html.dark-mode .widget-empty{
  background:linear-gradient(180deg, rgba(13,24,40,.94), rgba(9,18,30,.92));
}

html.dark-mode .widget-link,
html.dark-mode a.widget-link{
  color:#8ec5ff;
}

html.dark-mode .btn-primary,
html.dark-mode .login-submit,
html.dark-mode .date-card-action{
  background:linear-gradient(180deg, #2563eb, #1d4ed8);
  border-color:rgba(96,165,250,.26);
  color:#eff6ff;
}

html.dark-mode .btn-primary:hover,
html.dark-mode .login-submit:hover,
html.dark-mode .date-card-action:hover{
  background:linear-gradient(180deg, #2f6df2, #1e40af);
}

html.dark-mode .btn-secondary,
html.dark-mode .btn-ghost,
html.dark-mode .btn-table,
html.dark-mode .btn-table-action,
html.dark-mode .table-btn,
html.dark-mode .users-drawer-close,
html.dark-mode .login-link,
html.dark-mode .date-card-button{
  background:rgba(255,255,255,.03) !important;
  border:1px solid rgba(148,163,184,.16) !important;
  color:var(--text-main) !important;
}

html.dark-mode .btn-secondary:hover,
html.dark-mode .btn-ghost:hover,
html.dark-mode .btn-table:hover,
html.dark-mode .btn-table-action:hover,
html.dark-mode .table-btn:hover,
html.dark-mode .users-drawer-close:hover,
html.dark-mode .login-link:hover,
html.dark-mode .date-card-button:hover{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(96,165,250,.26) !important;
}

html.dark-mode .btn-table-action.danger,
html.dark-mode .badge-role-admin,
html.dark-mode .badge-inactive{
  background:rgba(127,29,29,.20) !important;
  color:#fecaca !important;
  border-color:rgba(248,113,113,.20) !important;
}

html.dark-mode .badge-role-coordinator,
html.dark-mode .badge-commission{
  background:rgba(76,29,149,.22) !important;
  color:#ddd6fe !important;
  border-color:rgba(167,139,250,.18) !important;
}

html.dark-mode .badge-role-secretary,
html.dark-mode .status-neutral{
  background:rgba(3,105,161,.22) !important;
  color:#bae6fd !important;
  border-color:rgba(56,189,248,.18) !important;
}

html.dark-mode .badge-role-collaborator,
html.dark-mode .status-muted{
  background:rgba(51,65,85,.42) !important;
  color:#cbd5e1 !important;
  border-color:rgba(148,163,184,.16) !important;
}

html.dark-mode .badge-active,
html.dark-mode .status-success,
html.dark-mode .date-card-status.is-complete{
  background:rgba(20,83,45,.36) !important;
  color:#bbf7d0 !important;
  border-color:rgba(74,222,128,.18) !important;
}

html.dark-mode .section-badge,
html.dark-mode .header-badge,
html.dark-mode .admin-mini-badge,
html.dark-mode .mini-pill,
html.dark-mode .chip{
  background:rgba(37,99,235,.12);
  border:1px solid rgba(96,165,250,.16);
  color:#bfdbfe;
}

html.dark-mode .users-drawer-header,
html.dark-mode .modal-header,
html.dark-mode .premium-modal-header,
html.dark-mode .diputado-drawer-header,
html.dark-mode .card-header{
  background:linear-gradient(180deg, rgba(12,21,38,.98), rgba(9,17,31,.94));
  border-bottom:1px solid var(--border-soft);
}

html.dark-mode .sticky-actions,
html.dark-mode .diputado-sticky-footer,
html.dark-mode .modal-footer-inline{
  background:linear-gradient(180deg, rgba(8,16,29,.10), rgba(8,16,29,.96) 38%, rgba(8,16,29,.99));
  border-top:1px solid var(--border-soft);
}

html.dark-mode .modal-overlay,
html.dark-mode .users-drawer-backdrop{
  background:rgba(2,6,23,.72);
  backdrop-filter:blur(10px);
}

html.dark-mode .modal-log,
html.dark-mode pre,
html.dark-mode code,
html.dark-mode .texto-detectado-ia,
html.dark-mode #syncLog,
html.dark-mode #syncPuntos,
html.dark-mode #syncTextoExtraido,
html.dark-mode #syncOrdenDia,
html.dark-mode #debugPdfActual,
html.dark-mode #debugTextoExtraido,
html.dark-mode #debugOrden,
html.dark-mode #debugPuntos,
html.dark-mode #debugClasificacion{
  background:rgba(4,10,18,.78);
  color:#d7e3f5;
  border:1px solid rgba(148,163,184,.14);
}

html.dark-mode .pagination-shell > *,
html.dark-mode .pagination-shell button,
html.dark-mode .pagination-shell a{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(148,163,184,.16);
  color:var(--text-main);
}

html.dark-mode .pagination-shell > *:hover,
html.dark-mode .pagination-shell button:hover,
html.dark-mode .pagination-shell a:hover{
  background:rgba(255,255,255,.06);
}

html.dark-mode .table-wrap,
html.dark-mode .table-responsive{
  scrollbar-color: rgba(148,163,184,.28) rgba(255,255,255,.02);
}

html.dark-mode ::-webkit-scrollbar{width:12px;height:12px;}
html.dark-mode ::-webkit-scrollbar-track{background:rgba(255,255,255,.02);}
html.dark-mode ::-webkit-scrollbar-thumb{background:rgba(148,163,184,.24);border-radius:999px;border:2px solid rgba(8,16,29,.92);}
html.dark-mode ::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.36);}

html.dark-mode .login-body{
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.22), transparent 28%),
    radial-gradient(circle at right 20%, rgba(14,165,233,.16), transparent 24%),
    radial-gradient(circle at bottom left, rgba(15,118,110,.12), transparent 28%),
    linear-gradient(135deg, #081320 0%, #0b1729 36%, #0d1a2d 100%);
  color:var(--text-main);
}

html.dark-mode .login-noise{
  background-image:radial-gradient(rgba(255,255,255,.14) 1px, transparent 1px);
  opacity:.12;
}

html.dark-mode .login-brand-card,
html.dark-mode .login-card,
html.dark-mode .recovery-modal-card{
  background:linear-gradient(180deg, rgba(10,19,34,.82), rgba(8,16,29,.76));
  border:1px solid rgba(148,163,184,.16);
  box-shadow:0 28px 60px rgba(2,6,23,.46);
}

html.dark-mode .login-logo{
  background:linear-gradient(145deg, rgba(13,24,40,.96), rgba(10,19,34,.98));
  box-shadow:0 20px 40px rgba(2,6,23,.36), 0 0 0 1px rgba(148,163,184,.16) inset;
}

html.dark-mode .login-feature,
html.dark-mode .login-input-wrap > .login-input{
  background:rgba(9,17,31,.92);
  border-color:rgba(148,163,184,.18);
  color:var(--text-main);
}

html.dark-mode .login-feature:hover{
  box-shadow:0 20px 34px rgba(2,6,23,.30);
}

html.dark-mode .login-checkbox span,
html.dark-mode .login-options-row,
html.dark-mode .login-link,
html.dark-mode .login-input-icon,
html.dark-mode .login-hint,
html.dark-mode .login-alert{
  color:var(--text-secondary);
}

@media (max-width: 920px){
  html.dark-mode .sync-debug-grid{
    grid-template-columns:1fr !important;
  }
}
