/* ═══ ADMIN MODULE STYLES ═══ */

/* ── Tabs ── */
.adm-tabs { display:flex; gap:4px; margin-bottom:20px; background:var(--g50,#f8fafc); padding:4px; border-radius:12px; }
.adm-tab { padding:10px 20px; border-radius:10px; font-size:.85rem; font-weight:700; color:var(--g400,#94a3b8); transition:all .25s; cursor:pointer; }
.adm-tab:hover { color:var(--navy-800,#1e293b); background:rgba(0,0,0,.03); }
.adm-tab.active { background:var(--white,#fff); color:var(--navy-400,#2563eb); box-shadow:0 2px 8px rgba(0,0,0,.06); }

.adm-tab-panel { display:none; }
.adm-tab-panel.active { display:block; }

/* ── Role badge ── */
.adm-role-badge { font-size:.7rem; font-weight:700; padding:3px 10px; border-radius:20px; text-transform:uppercase; letter-spacing:.03em; }
.adm-role-superadmin { background:#ecfdf5; color:#059669; }
.adm-role-admin_regional { background:#eff6ff; color:#2563eb; }

/* ── Sucursales Grid ── */
.adm-suc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }
.adm-suc-card { display:flex; align-items:center; gap:14px; padding:18px 20px; border-radius:14px; background:var(--glass-bg,rgba(255,255,255,.72)); backdrop-filter:blur(12px); border:1.5px solid var(--g200,#e2e8f0); transition:all .25s; }
.adm-suc-card:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.06); }
.adm-suc-ok { border-left:4px solid #10b981; }
.adm-suc-overdue { border-left:4px solid #e11d48; }
.adm-suc-icon { width:44px; height:44px; border-radius:12px; background:var(--navy-50,#eff6ff); color:var(--navy-400,#2563eb); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.adm-suc-overdue .adm-suc-icon { background:#fef2f2; color:#e11d48; }
.adm-suc-info { flex:1; }
.adm-suc-name { display:block; font-size:.92rem; font-weight:800; color:var(--navy-800,#1e293b); }
.adm-suc-status { display:block; font-size:.78rem; font-weight:600; margin-top:2px; }
.adm-suc-date { display:block; font-size:.72rem; color:var(--g400,#94a3b8); margin-top:1px; }

/* ── Detalles ── */
.adm-det-section { margin-bottom:24px; }
.adm-det-suc-title { font-size:.92rem; font-weight:800; color:var(--navy-800,#1e293b); margin:0 0 10px; padding-bottom:8px; border-bottom:1.5px solid var(--g100,#f1f5f9); }
.adm-det-count { font-weight:500; color:var(--g400,#94a3b8); }
.adm-det-list { display:flex; flex-direction:column; gap:8px; }
.adm-det-item { display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:10px; background:var(--g50,#f8fafc); border:1px solid var(--g100,#f1f5f9); }
.adm-det-file-icon { width:36px; height:36px; border-radius:8px; background:#ecfdf5; color:#059669; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.adm-det-file-info { flex:1; min-width:0; }
.adm-det-file-name { display:block; font-size:.85rem; font-weight:700; color:var(--navy-800,#1e293b); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.adm-det-file-meta { display:block; font-size:.72rem; color:var(--g400,#94a3b8); margin-top:2px; }
.adm-det-download { padding:7px 16px; border-radius:8px; font-size:.8rem; font-weight:700; color:var(--navy-400,#2563eb); background:var(--navy-50,#eff6ff); border:1.5px solid rgba(37,99,235,.15); cursor:pointer; transition:all .2s; white-space:nowrap; }
.adm-det-download:hover { background:rgba(37,99,235,.1); border-color:var(--navy-400); }
.adm-det-empty { font-size:.82rem; color:var(--g400,#94a3b8); padding:12px 0; }

/* ── Clients filter ── */
.adm-filter-bar { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:16px; }
.adm-filter-btn { padding:6px 14px; border-radius:8px; font-size:.78rem; font-weight:600; color:var(--g400,#94a3b8); background:var(--g50,#f8fafc); border:1px solid var(--g200,#e2e8f0); cursor:pointer; transition:all .2s; }
.adm-filter-btn.active { background:var(--navy-400,#2563eb); color:white; border-color:var(--navy-400); }
.adm-suc-pill { font-size:.72rem; font-weight:700; padding:3px 10px; border-radius:20px; background:var(--navy-50,#eff6ff); color:var(--navy-400,#2563eb); }

/* ── Passwords ── */
.adm-pw-section { margin-bottom:24px; }
.adm-pw-section h4 { font-size:.88rem; font-weight:800; color:var(--navy-800); margin:0 0 12px; }
.adm-pw-list { display:flex; flex-direction:column; gap:8px; }
.adm-pw-item { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-radius:10px; background:var(--g50,#f8fafc); border:1px solid var(--g100,#f1f5f9); }
.adm-pw-item-name { display:block; font-size:.85rem; font-weight:700; color:var(--navy-800); }
.adm-pw-item-sub { display:block; font-size:.72rem; color:var(--g400); margin-top:1px; }
.adm-pw-item-btn { padding:6px 14px; border-radius:8px; font-size:.78rem; font-weight:700; color:#e11d48; background:#fef2f2; border:1.5px solid rgba(225,29,72,.12); cursor:pointer; transition:all .2s; }
.adm-pw-item-btn:hover { background:rgba(225,29,72,.08); border-color:#e11d48; }
.adm-pw-search-wrap { margin-bottom:12px; }
.adm-pw-search { width:100%; padding:10px 14px; border:1.5px solid var(--g200); border-radius:10px; font-size:.85rem; outline:none; transition:all .25s; }
.adm-pw-search:focus { border-color:var(--navy-400); box-shadow:0 0 0 3px rgba(37,99,235,.08); }
.adm-pw-hint { font-size:.82rem; color:var(--g400); text-align:center; padding:16px; }

/* Password Modal */
.adm-pw-modal { position:fixed; inset:0; background:rgba(0,0,0,.5); display:flex; align-items:center; justify-content:center; z-index:9999; }
.adm-pw-modal-card { background:white; border-radius:16px; padding:28px; width:380px; max-width:90vw; box-shadow:0 20px 60px rgba(0,0,0,.15); }
.adm-pw-modal-card h4 { margin:0 0 4px; font-size:1rem; font-weight:800; color:var(--navy-800); }
.adm-pw-modal-email { font-size:.82rem; color:var(--g400); margin:0 0 20px; }
.adm-pw-field { margin-bottom:12px; }
.adm-pw-field label { display:block; font-size:.74rem; font-weight:700; color:var(--g500); text-transform:uppercase; letter-spacing:.04em; margin-bottom:4px; }
.adm-pw-field input { width:100%; padding:10px 14px; border:1.5px solid var(--g200); border-radius:10px; font-size:.88rem; outline:none; }
.adm-pw-field input:focus { border-color:var(--navy-400); box-shadow:0 0 0 3px rgba(37,99,235,.08); }
.adm-pw-status { display:block; font-size:.82rem; font-weight:600; margin-bottom:12px; min-height:20px; }
.adm-pw-modal-btns { display:flex; gap:8px; justify-content:flex-end; }
.adm-pw-cancel { padding:10px 20px; border-radius:10px; font-size:.85rem; font-weight:600; color:var(--g500); background:var(--g50); border:1px solid var(--g200); cursor:pointer; }
.adm-pw-save { padding:10px 20px; border-radius:10px; font-size:.85rem; font-weight:700; color:white; background:#e11d48; cursor:pointer; transition:all .2s; }
.adm-pw-save:hover { background:#be123c; }

/* ── Upload Enforcement Banner ── */
.upload-enforce-banner { background:linear-gradient(135deg,#fff7ed,#fef2f2); border-bottom:2px solid #f59e0b; padding:12px 24px; }
.upload-enforce-content { display:flex; align-items:center; gap:12px; max-width:1200px; margin:0 auto; }
.upload-enforce-content svg { color:#f59e0b; flex-shrink:0; }
.upload-enforce-content span { flex:1; font-size:.85rem; font-weight:600; color:#92400e; }
.upload-enforce-btn { padding:8px 20px; border-radius:8px; font-size:.82rem; font-weight:700; color:white; background:#f59e0b; cursor:pointer; white-space:nowrap; transition:all .2s; }
.upload-enforce-btn:hover { background:#d97706; }
.upload-enforce-dismiss { width:28px; height:28px; border-radius:6px; display:flex; align-items:center; justify-content:center; color:#92400e; cursor:pointer; font-size:.9rem; }
.upload-enforce-dismiss:hover { background:rgba(0,0,0,.05); }

/* ── Upload Modal ── */
.adm-modal-overlay { position:fixed; inset:0; background:rgba(6,8,15,.6); display:flex; align-items:center; justify-content:center; z-index:9999; opacity:0; transition:opacity .3s; }
.adm-modal-overlay.active { opacity:1; }
.adm-modal-card { background:white; border-radius:20px; width:480px; max-width:90vw; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.2); }
.adm-modal-header { padding:20px 24px; background:var(--navy-50,#eff6ff); border-bottom:1px solid var(--g200); display:flex; align-items:center; gap:12px; }
.adm-modal-header h3 { margin:0; font-size:1rem; font-weight:800; color:var(--navy-800); flex:1; }
.adm-modal-suc { font-size:.72rem; font-weight:700; padding:3px 10px; border-radius:20px; background:var(--navy-400); color:white; }
.adm-modal-close { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--g400); cursor:pointer; }
.adm-modal-close:hover { background:rgba(0,0,0,.05); }
.adm-modal-body { padding:24px; }
.adm-upload-drop { border:2px dashed var(--g300,#cbd5e1); border-radius:14px; padding:40px 20px; text-align:center; cursor:pointer; transition:all .25s; }
.adm-upload-drop:hover, .adm-upload-drop.dragover { border-color:var(--navy-400); background:var(--navy-50); }
.adm-upload-drop svg { color:var(--g300); margin-bottom:12px; }
.adm-upload-drop p { margin:0; font-size:.88rem; font-weight:600; color:var(--navy-800); }
.adm-upload-drop span { font-size:.74rem; color:var(--g400); }
.adm-upload-status { margin-top:16px; display:flex; align-items:center; gap:8px; font-size:.85rem; }

/* ── Shared ── */
.adm-loading { display:flex; align-items:center; gap:10px; padding:30px; justify-content:center; color:var(--g400); font-size:.85rem; }
.adm-empty { text-align:center; padding:24px; color:var(--g400); font-size:.85rem; }
.adm-error { text-align:center; padding:16px; color:#e11d48; font-size:.85rem; }
.adm-table-wrap { overflow-x:auto; }

/* ── Dark mode ── */
:root.dark-mode .adm-tab { color:#9ca3af; }
:root.dark-mode .adm-tab.active { background:#1f2937; color:#60a5fa; }
:root.dark-mode .adm-tabs { background:#111827; }
:root.dark-mode .adm-suc-card { background:rgba(17,24,39,.85); border-color:#374151; }
:root.dark-mode .adm-suc-name { color:#f3f4f6; }
:root.dark-mode .adm-det-item { background:#1f2937; border-color:#374151; }
:root.dark-mode .adm-det-file-name { color:#f3f4f6; }
:root.dark-mode .adm-pw-modal-card { background:#1f2937; }
:root.dark-mode .adm-pw-modal-card h4 { color:#f3f4f6; }
:root.dark-mode .adm-pw-field input { background:#111827; color:#f3f4f6; border-color:#374151; }
:root.dark-mode .adm-modal-card { background:#1f2937; }
:root.dark-mode .adm-modal-header { background:rgba(37,99,235,.05); border-color:#374151; }
:root.dark-mode .upload-enforce-banner { background:linear-gradient(135deg,#1f2937,#292524); border-color:#92400e; }
:root.dark-mode .upload-enforce-content span { color:#fbbf24; }

@media (max-width:768px) {
  .adm-suc-grid { grid-template-columns:1fr; }
  .adm-tabs { flex-wrap:wrap; }
  .adm-pw-modal-card { width:95vw; }
  .upload-enforce-content { flex-wrap:wrap; }
}

/* ═══════════════════════════════════════════
   ANALYTICS DASHBOARD STYLES
   ═══════════════════════════════════════════ */

/* Selected card */
.adm-suc-card.adm-suc-selected { border-color:var(--navy-400,#2563eb); box-shadow:0 4px 20px rgba(37,99,235,.12); }
.adm-suc-arrow { color:var(--g300,#cbd5e1); transition:all .25s; flex-shrink:0; }
.adm-suc-card.adm-suc-selected .adm-suc-arrow { color:var(--navy-400,#2563eb); transform:rotate(90deg); }

/* Analytics Container */
.adm-analytics { margin-top:24px; animation:fu .4s var(--ease) both; }
.anl-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; flex-wrap:wrap; gap:8px; }
.anl-title { font-size:1.1rem; font-weight:800; color:var(--navy-800,#1e293b); margin:0; }
.anl-period { font-size:.78rem; font-weight:600; color:var(--g400,#94a3b8); background:var(--g50,#f8fafc); padding:4px 12px; border-radius:20px; }
.anl-filter-note { font-size:.78rem; font-weight:700; color:#f59e0b; background:#fffbeb; padding:4px 12px; border-radius:20px; border:1px solid rgba(245,158,11,.2); }

/* Filter Bar */
.anl-filter-bar {
  display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end;
  background:var(--glass-bg,rgba(255,255,255,.85)); backdrop-filter:blur(12px);
  border:1.5px solid var(--g200,#e2e8f0); border-radius:14px;
  padding:14px 18px; margin-bottom:20px;
}
.anl-filter-group { display:flex; flex-direction:column; gap:3px; }
.anl-filter-group label { font-size:.68rem; font-weight:700; color:var(--g500,#64748b); text-transform:uppercase; letter-spacing:.03em; }
.anl-filter-group select, .anl-filter-group input {
  padding:7px 10px; border:1.5px solid var(--g200,#e2e8f0); border-radius:8px;
  font-size:.82rem; font-weight:500; color:var(--navy-800,#1e293b);
  background:var(--white,#fff); outline:none; transition:all .2s;
  min-width:110px;
}
.anl-filter-group select:focus, .anl-filter-group input:focus { border-color:var(--navy-400,#2563eb); box-shadow:0 0 0 3px rgba(37,99,235,.06); }
.anl-filter-actions { display:flex; gap:8px; align-items:flex-end; margin-left:auto; }
.anl-f-clear {
  padding:7px 14px; border-radius:8px; font-size:.78rem; font-weight:600;
  color:var(--g500,#64748b); border:1.5px solid var(--g200,#e2e8f0);
  background:var(--white,#fff); cursor:pointer; transition:all .2s;
}
.anl-f-clear:hover { background:#fef2f2; color:#e11d48; border-color:rgba(225,29,72,.2); }
.anl-f-pdf {
  padding:7px 14px; border-radius:8px; font-size:.78rem; font-weight:700;
  color:#fff; background:var(--navy-400,#2563eb); cursor:pointer;
  border:none; transition:all .2s;
}
.anl-f-pdf:hover { background:var(--navy-600,#1e4d78); }
.anl-f-pdf:disabled { opacity:.5; cursor:wait; }

/* KPI Cards */
.anl-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; margin-bottom:24px; }
.anl-kpi {
  display:flex; align-items:center; gap:12px;
  padding:16px 18px; border-radius:14px;
  background:var(--glass-bg,rgba(255,255,255,.85)); backdrop-filter:blur(12px);
  border:1.5px solid var(--g200,#e2e8f0);
  transition:all .25s;
}
.anl-kpi:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.06); }
.anl-kpi-icon { font-size:1.4rem; flex-shrink:0; }
.anl-kpi-data { display:flex; flex-direction:column; min-width:0; }
.anl-kpi-value { font-size:1.15rem; font-weight:800; color:var(--navy-800,#1e293b); font-family:var(--mono,monospace); }
.anl-kpi-label { font-size:.72rem; font-weight:700; color:var(--g500,#64748b); text-transform:uppercase; letter-spacing:.03em; }
.anl-kpi-sub { font-size:.72rem; color:var(--g400,#94a3b8); margin-top:1px; }

/* Color accents for KPIs */
.anl-kpi-green { border-left:4px solid #10b981; }
.anl-kpi-blue { border-left:4px solid #2a6da8; }
.anl-kpi-navy { border-left:4px solid #1e4d78; }
.anl-kpi-amber { border-left:4px solid #f59e0b; }
.anl-kpi-purple { border-left:4px solid #8b5cf6; }
.anl-kpi-red { border-left:4px solid #e11d48; }

/* Chart Cards */
.anl-charts-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.anl-charts-row-3 { grid-template-columns:1fr 1fr 1fr; }
.anl-chart-card {
  background:var(--glass-bg,rgba(255,255,255,.85)); backdrop-filter:blur(12px);
  border:1.5px solid var(--g200,#e2e8f0); border-radius:14px;
  padding:18px; position:relative; overflow:hidden;
  transition:all .25s;
}
.anl-chart-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.05); }
.anl-chart-card.anl-chart-wide { grid-column:span 1; }
.anl-chart-title { font-size:.82rem; font-weight:700; color:var(--navy-800,#1e293b); margin-bottom:14px; }
.anl-chart-wrap { position:relative; height:220px; }

/* Top Lists */
.anl-top-list { max-height:300px; overflow-y:auto; }
.anl-top-item {
  display:flex; align-items:center; gap:10px;
  padding:8px 0; border-bottom:1px solid var(--g100,#f1f5f9);
}
.anl-top-item:last-child { border-bottom:none; }
.anl-top-rank { width:22px; height:22px; border-radius:6px; background:var(--g100,#f1f5f9); color:var(--g500,#64748b); font-size:.72rem; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.anl-top-item:nth-child(1) .anl-top-rank { background:linear-gradient(135deg,#f59e0b,#fbbf24); color:white; }
.anl-top-item:nth-child(2) .anl-top-rank { background:linear-gradient(135deg,#94a3b8,#cbd5e1); color:white; }
.anl-top-item:nth-child(3) .anl-top-rank { background:linear-gradient(135deg,#d97706,#f59e0b); color:white; }
.anl-top-info { flex:1; min-width:0; }
.anl-top-name { display:block; font-size:.78rem; font-weight:700; color:var(--navy-800,#1e293b); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.anl-top-bar { height:4px; background:var(--g100,#f1f5f9); border-radius:4px; margin-top:4px; overflow:hidden; }
.anl-top-bar-fill { height:100%; background:linear-gradient(90deg,#10b981,#34d399); border-radius:4px; transition:width .6s ease; }
.anl-top-bar-fill.anl-bar-blue { background:linear-gradient(90deg,#2a6da8,#60a5fa); }
.anl-top-vals { text-align:right; flex-shrink:0; }
.anl-top-gross { display:block; font-size:.8rem; font-weight:800; color:var(--navy-800,#1e293b); font-family:var(--mono,monospace); }
.anl-top-count { display:block; font-size:.68rem; color:var(--g400,#94a3b8); }

/* Analytics Empty State */
.adm-analytics-empty { text-align:center; padding:48px 24px; }
.adm-analytics-empty-icon { font-size:3rem; opacity:.4; margin-bottom:8px; }
.adm-analytics-empty h4 { font-weight:800; color:var(--g500,#64748b); margin:0 0 4px; }
.adm-analytics-empty p { color:var(--g400,#94a3b8); font-size:.85rem; max-width:400px; margin:0 auto; }

/* ── Dark mode analytics — COMPLETE ── */
:root.dark-mode .anl-kpi { background:rgba(17,24,39,.85); border-color:#374151; }
:root.dark-mode .anl-kpi-value { color:#f3f4f6; }
:root.dark-mode .anl-kpi-label { color:#9ca3af; }
:root.dark-mode .anl-kpi-sub { color:#6b7280; }
:root.dark-mode .anl-chart-card { background:rgba(17,24,39,.85); border-color:#374151; }
:root.dark-mode .anl-chart-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.3); }
:root.dark-mode .anl-chart-title { color:#f3f4f6; }
:root.dark-mode .anl-top-name { color:#f3f4f6; }
:root.dark-mode .anl-top-gross { color:#f3f4f6; }
:root.dark-mode .anl-top-rank { background:#374151; color:#9ca3af; }
:root.dark-mode .anl-top-bar { background:#374151; }
:root.dark-mode .anl-top-item { border-color:#1f2937; }
:root.dark-mode .adm-suc-card.adm-suc-selected { border-color:#60a5fa; box-shadow:0 4px 20px rgba(96,165,250,.15); }
:root.dark-mode .anl-filter-bar { background:rgba(17,24,39,.85); border-color:#374151; }
:root.dark-mode .anl-filter-group label { color:#9ca3af; }
:root.dark-mode .anl-filter-group select,
:root.dark-mode .anl-filter-group input { background:#111827; color:#f3f4f6; border-color:#374151; }
:root.dark-mode .anl-filter-group select:focus,
:root.dark-mode .anl-filter-group input:focus { border-color:#60a5fa; box-shadow:0 0 0 3px rgba(96,165,250,.1); }
:root.dark-mode .anl-f-clear { background:#1f2937; color:#9ca3af; border-color:#374151; }
:root.dark-mode .anl-f-clear:hover { background:#292524; color:#f87171; border-color:rgba(248,113,113,.2); }
:root.dark-mode .anl-f-pdf { background:#2563eb; }
:root.dark-mode .anl-f-pdf:hover { background:#1d4ed8; }
:root.dark-mode .anl-title { color:#f3f4f6; }
:root.dark-mode .anl-period { background:#1f2937; color:#9ca3af; }
:root.dark-mode .anl-filter-note { background:rgba(245,158,11,.1); color:#fbbf24; border-color:rgba(245,158,11,.15); }
:root.dark-mode .adm-analytics-empty h4 { color:#9ca3af; }
:root.dark-mode .adm-analytics-empty p { color:#6b7280; }
:root.dark-mode .anl-suc-arrow { color:#4b5563; }

/* ── Responsive analytics ── */
@media (max-width:1024px) {
  .anl-charts-row, .anl-charts-row-3 { grid-template-columns:1fr; }
  .anl-chart-card.anl-chart-wide { grid-column:span 1; }
  .anl-filter-bar { flex-direction:column; }
  .anl-filter-actions { margin-left:0; width:100%; justify-content:flex-end; }
}
@media (max-width:640px) {
  .anl-kpis { grid-template-columns:1fr 1fr; }
  .anl-chart-wrap { height:180px; }
}

/* ═══ CUMPLIMIENTO / COMPLIANCE PANEL ═══ */
.adm-cumpl-header { margin-bottom:20px; }
.adm-cumpl-header h3 { font-size:1.1rem; font-weight:800; color:var(--navy-800,#1e293b); margin:0 0 6px; }
.adm-cumpl-sub { font-size:.82rem; color:var(--g400,#94a3b8); margin:0 0 16px; }
.adm-cumpl-summary { display:flex; gap:10px; flex-wrap:wrap; }
.adm-cumpl-badge {
  display:inline-flex; align-items:center; gap:4px;
  padding:8px 16px; border-radius:10px;
  font-size:.85rem; font-weight:700;
}
.adm-cumpl-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:14px;
}
.adm-cumpl-card {
  background:var(--glass-bg,rgba(255,255,255,.85)); backdrop-filter:blur(12px);
  border:1.5px solid var(--g200,#e2e8f0); border-radius:14px;
  padding:18px 20px; transition:all .25s;
}
.adm-cumpl-card:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.06); }
.adm-cumpl-card-top { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.adm-cumpl-icon { font-size:1.5rem; flex-shrink:0; }
.adm-cumpl-suc { display:block; font-size:.92rem; font-weight:800; color:var(--navy-800,#1e293b); }
.adm-cumpl-label { display:block; font-size:.78rem; font-weight:700; margin-top:2px; }
.adm-cumpl-card-bottom { padding-top:8px; border-top:1px solid var(--g100,#f1f5f9); }
.adm-cumpl-date { font-size:.75rem; color:var(--g400,#94a3b8); font-weight:600; }

:root.dark-mode .adm-cumpl-card { background:rgba(17,24,39,.85); border-color:#374151; }
:root.dark-mode .adm-cumpl-card:hover { box-shadow:0 8px 24px rgba(0,0,0,.3); }
:root.dark-mode .adm-cumpl-suc { color:#f3f4f6; }
:root.dark-mode .adm-cumpl-card-bottom { border-color:#1f2937; }
:root.dark-mode .adm-cumpl-header h3 { color:#f3f4f6; }

@media (max-width:640px) {
  .adm-cumpl-grid { grid-template-columns:1fr; }
  .adm-cumpl-summary { flex-direction:column; }
}