/* DIAD UNI: readable glass surfaces, shared by every administrative module. */
:root {
  --uni-burgundy:#711610; --uni-burgundy-dark:#54100c; --uni-burgundy-light:#8b241c;
  --uni-gold:#aa762a; --uni-navy:#20242b; --uni-bg-gray:#f3f1f1;
  --uni-card-border:rgba(107,80,79,.14); --uni-text-main:#29252b; --uni-text-muted:#6c646d;
  --sidebar-width:256px; --bs-primary:#711610; --bs-primary-rgb:113,22,16;
  --bs-link-color:#711610; --bs-link-hover-color:#54100c;
  --glass-shadow:0 8px 36px rgba(64,32,35,.055),0 1px 2px rgba(64,32,35,.03);
}
* { box-sizing:border-box; }
body { font-family:"Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif; color:var(--uni-text-main); min-height:100vh; background:radial-gradient(ellipse at 7% 0%,#ead8d8 0,transparent 44%),radial-gradient(ellipse at 95% 25%,#e9e4ef 0,transparent 48%),#f4f2f1; background-attachment:fixed; }
a { color:var(--uni-burgundy); text-underline-offset:3px; }
:focus-visible { outline:3px solid #a67220; outline-offset:3px; }
h1,h2,h3,h4,h5,h6 { letter-spacing:-.025em; color:var(--uni-text-main); }
h1 { font-size:clamp(1.65rem,2.6vw,2.25rem);font-weight:750; }
.text-muted { color:var(--uni-text-muted)!important; }
.admin-sidebar { position:fixed; inset:16px auto 16px 16px; width:var(--sidebar-width); display:flex; flex-direction:column; z-index:1000; border:1px solid rgba(255,255,255,.9); border-radius:24px; background:rgba(255,255,255,.72); -webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:var(--glass-shadow); }
.sidebar-header { padding:27px 20px 24px; }
.sidebar-header h5 { font-size:1.05rem;font-weight:800;letter-spacing:.04em; }
.sidebar-header small { color:var(--uni-text-muted);font-size:.73rem; }
.sidebar-seal { width:43px;height:auto;object-fit:contain; }
.sidebar-operator-box { margin:0 12px 14px;padding:14px 12px;border:1px solid var(--uni-card-border);border-radius:16px;background:rgba(255,255,255,.55); }
.operator-name { max-width:160px;overflow-wrap:anywhere;font-size:.82rem;font-weight:650; }
.sidebar-nav { flex:1;padding:6px 12px;overflow-y:auto; }
.sidebar-nav .nav-link { display:flex;align-items:center;gap:12px;padding:13px 14px;margin:4px 0;border-radius:12px;color:#655e65;font-size:.86rem;font-weight:600;transition:background .15s,color .15s; }
.sidebar-nav .nav-link i { font-size:1.1rem; }
.sidebar-nav .nav-link:hover { color:#711610;background:rgba(113,22,16,.055); }
.sidebar-nav .nav-link.active { color:#fff;background:linear-gradient(120deg,#842c26,#641812);box-shadow:0 5px 14px rgba(113,22,16,.17); }
.sidebar-footer { padding:16px; }
.sidebar-footer .btn { min-height:42px;border-color:var(--uni-card-border);color:var(--uni-text-muted);background:rgba(255,255,255,.55); }
.admin-main { margin-left:calc(var(--sidebar-width) + 32px);padding:22px 30px 48px;min-height:100vh; }
.top-navbar { display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;padding:17px 22px;margin-bottom:30px;min-height:76px;border:1px solid rgba(255,255,255,.9);border-radius:20px;background:rgba(255,255,255,.65);backdrop-filter:blur(20px);box-shadow:var(--glass-shadow); }
.top-navbar h4 { font-size:1rem;font-weight:700!important; }
.top-navbar .text-end { max-width:40%;overflow-wrap:anywhere; }
.workspace-heading { margin:8px 0 28px;max-width:780px; }
.workspace-heading p { color:var(--uni-text-muted);margin:10px 0 0;line-height:1.6; }
.eyebrow,.workspace-heading .eyebrow { margin:0 0 8px;color:#884e3e;font-size:.67rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase; }
.card,.kpi-card { background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.96);border-radius:20px;box-shadow:var(--glass-shadow); }
.card-body { padding:25px; }
.card-header { padding:20px 25px;background:transparent!important;border-color:var(--uni-card-border);border-radius:20px 20px 0 0!important; }
.kpi-card { padding:24px;border-left-width:1px!important; }
.kpi-number { font-size:2.15rem;line-height:1.25;font-weight:750;letter-spacing:-.045em; }
.kpi-label { color:var(--uni-text-muted);font-size:.78rem;font-weight:600;margin-bottom:6px; }
.kpi-card .p-3 { padding:.8rem!important;border-radius:14px!important; }
.kpi-card .fs-3 { font-size:1.3rem!important; }
.module-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.module-link { display:flex;align-items:center;gap:16px;padding:24px;border:1px solid rgba(255,255,255,.95);border-radius:20px;background:rgba(255,255,255,.79);text-decoration:none;box-shadow:var(--glass-shadow);transition:background .15s,border-color .15s; }
.module-link:hover { background:#fff;border-color:rgba(113,22,16,.28); }
.module-link>div { flex:1; }
.module-link h2 { font-size:1rem;font-weight:700;margin-bottom:6px; }
.module-link p { font-size:.82rem;line-height:1.55;margin:0;color:var(--uni-text-muted); }
.module-icon { display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border:1px solid rgba(113,22,16,.07);border-radius:14px;background:#f6eceb;color:#711610;font-size:1.25rem; }
.btn { min-height:42px;border-radius:11px;font-weight:600;font-size:.86rem;padding:.65rem 1rem; }
.btn-sm { min-height:35px;padding:.4rem .75rem;font-size:.78rem; }
.btn-primary { --bs-btn-bg:#711610;--bs-btn-border-color:#711610;--bs-btn-hover-bg:#54100c;--bs-btn-hover-border-color:#54100c;--bs-btn-active-bg:#54100c;box-shadow:0 4px 10px rgba(113,22,16,.12); }
.btn-outline-primary { --bs-btn-color:#711610;--bs-btn-border-color:#d9bcb9;--bs-btn-hover-bg:#711610;--bs-btn-hover-border-color:#711610;--bs-btn-active-bg:#711610;--bs-btn-active-border-color:#711610; }
.btn-outline-secondary { --bs-btn-border-color:#d9d3d5;--bs-btn-color:#655a61; }
.form-control,.form-select { min-height:44px;border-radius:11px;border-color:#ded7da;background:rgba(255,255,255,.94);font-size:.88rem; }
.form-control:focus,.form-select:focus { border-color:#a86e68;box-shadow:0 0 0 3px rgba(113,22,16,.09); }
.form-label,.review-filters label { font-weight:650;font-size:.78rem;margin-bottom:8px; }
.review-filters { display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:17px;padding:24px; }
.dni-search { display:flex;flex-direction:row;align-items:center;gap:24px;max-width:850px; }
.dni-search>div { flex:1; }
.dni-search button { margin-top:0; }
.form-text { font-size:.76rem; }
.table-responsive { border:1px solid rgba(255,255,255,.9);border-radius:18px;background:rgba(255,255,255,.84);box-shadow:var(--glass-shadow); }
.table { --bs-table-bg:transparent;--bs-table-color:var(--uni-text-main);--bs-table-border-color:#eee9eb;font-size:.81rem; }
.table>:not(caption)>*>* { padding:16px 18px; }
.table thead th { font-size:.66rem;letter-spacing:.065em;text-transform:uppercase;font-weight:750;color:#75666c;white-space:nowrap;background:rgba(246,243,244,.95);padding-top:18px;padding-bottom:18px; }
.table tbody tr:hover { background:rgba(113,22,16,.025); }
.table tbody tr:last-child>* { border-bottom:0; }
.table td { vertical-align:middle; }
.review-status,.badge-soft { display:inline-flex;align-items:center;white-space:nowrap;border-radius:99px;padding:6px 11px;font-size:.71rem;font-weight:700;line-height:1.3;background:#f0ecee;color:#65565e; }
.review-status.PENDIENTE { background:#fff1d7;color:#875410; }
.review-status.APROBADO { background:#e0f3e9;color:#23684b; }
.review-status.DENEGADO { background:#fae7e7;color:#9c3c3c; }
.badge { font-weight:600;border-radius:8px;padding:.45em .65em; }
.badge-admin { background:#711610;color:white; }
.badge-support { background:#e6edf5;color:#365a7f; }
.review-data { display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px 28px;margin-bottom:0; }
.review-data dt { font-size:.7rem;color:var(--uni-text-muted);font-weight:650;margin-bottom:5px; }
.review-data dd { margin:0;overflow-wrap:anywhere;font-size:.88rem;font-weight:550; }
.wide-field { grid-column:1/-1; }
.evidence-file { padding:22px 0;border-top:1px solid var(--uni-card-border); }
.evidence-file h3 { font-size:.88rem; }
.evidence-preview { display:block;width:100%;height:560px;border:1px solid var(--uni-card-border);border-radius:14px;margin-top:18px;background:#f5f3f4; }
.modal-backdrop.show { opacity:1;background:rgba(33,20,27,.38);backdrop-filter:blur(5px); }
.modal-content { border:1px solid rgba(255,255,255,.95);border-radius:22px;background:rgba(253,252,252,.96);backdrop-filter:blur(22px);box-shadow:0 30px 90px rgba(35,17,23,.22); }
.modal-header,.modal-footer { padding:20px 25px;border-color:#e8e1e4; }
.modal-body { padding:25px; }
.identity-file { margin-top:24px;padding:18px;border:1px solid #e4dde0;border-radius:16px;background:white; }
.identity-preview { width:100%;height:65vh;min-height:360px;border:0;border-radius:10px;background:#f1eef0; }
.identity-image { display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:auto; }
.empty-state { padding:64px 26px;text-align:center;color:var(--uni-text-muted); }
.empty-state>i { display:block;font-size:2rem;color:#ab8580;margin-bottom:20px; }
.empty-state h2,.empty-state h3 { font-size:1.15rem;font-weight:700; }
.empty-state p { font-size:.86rem;line-height:1.6;margin-bottom:0; }
.alert { border:1px solid rgba(0,0,0,.055);border-radius:14px;font-size:.85rem; }
.htmx-indicator { display:none; }
.htmx-request .htmx-indicator,.htmx-request.htmx-indicator { display:inline-block; }
.diff-table th { font-size:.72rem; }
.diff-value-old { background:#fff0ee;color:#8d4942;padding:.25rem .5rem;border-radius:6px; }
.diff-value-new { background:#e9f6ef;color:#286047;padding:.25rem .5rem;border-radius:6px;font-weight:600; }
.diff-value-equal { color:var(--uni-text-muted); }
.login-page { display:grid;place-items:center;min-height:100vh;padding:24px; }
.login-card { width:100%;max-width:420px;padding:42px 36px;border:1px solid rgba(255,255,255,.95);border-radius:28px;background:rgba(255,255,255,.78);backdrop-filter:blur(24px);box-shadow:0 24px 80px rgba(70,36,40,.09); }
.login-seal { display:block;width:74px;height:auto;margin:0 auto 26px; }
.login-card h1 { font-size:1.45rem;text-align:center;font-weight:750;margin:0 0 34px; }
.login-error { color:#9a2422;background:#fae9e8;padding:12px;border-radius:11px;font-size:.84rem; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important;scroll-behavior:auto!important; } }
@media (max-width:1199.98px) { .admin-main { padding:20px; } .module-link { padding:20px; } }
@media (max-width:991.98px) { .admin-sidebar { transform:translateX(calc(-100% - 25px));transition:transform .2s; } .admin-sidebar.show { transform:translateX(0); } .admin-main { margin-left:0;padding:16px; } .top-navbar { padding:15px 18px;margin-bottom:24px; } }
@media (max-width:575.98px) { .module-grid { grid-template-columns:1fr; } .workspace-heading { margin:8px 0 24px; } .card-body { padding:20px; } .dni-search { flex-direction:column;align-items:stretch;gap:18px; } .review-data { grid-template-columns:1fr;gap:20px; } .modal-header,.modal-body,.modal-footer { padding:18px; } .login-card { padding:34px 25px; } .evidence-preview { height:430px; } .top-navbar h4 { font-size:.9rem; } }

.top-navbar>div:first-child { flex-shrink:0; }
.top-navbar>div:last-child { min-width:0;flex:0 1 330px; }
.top-navbar .text-end { max-width:100%;width:100%; }
.top-navbar .text-end>div { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.identity-page-image { display:block;width:100%;height:auto;border:1px solid #e9e4e7;border-radius:10px; }
.identity-pages figure { margin-bottom:24px; }
@media (max-width:767.98px) { .top-navbar>div:last-child { display:none!important; } }

/* User management */
.user-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.user-heading h1{margin-bottom:8px}.user-tabs{display:flex;gap:6px;padding:6px;background:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.9);border-radius:16px;margin-bottom:24px;width:fit-content}.user-tabs a{padding:12px 22px;border-radius:11px;color:var(--text-muted,#667085);font-weight:600;text-decoration:none}.user-tabs a.selected{background:#fff;color:#8b1c36;box-shadow:0 3px 12px #39212c0d}.user-tabs i{margin-right:6px}.user-filters{display:flex;flex-direction:row;gap:14px;align-items:flex-end;flex-wrap:wrap}.user-filters .user-search{flex:1;min-width:220px}.user-filters select{min-width:140px}.user-pagination{display:flex;gap:18px;align-items:center;justify-content:flex-end;padding:20px}.user-editor{padding:28px;max-width:980px}.user-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.user-form-grid .wide-field{grid-column:1/-1}.user-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px;border-top:1px solid #e9e9ef;padding-top:22px}.back-link{display:inline-flex;gap:10px;align-items:center;margin-bottom:20px;color:#6b5560;text-decoration:none}.user-editor input:focus,.user-editor select:focus{box-shadow:0 0 0 .2rem #8b1c3618;border-color:#a7576b}@media(max-width:640px){.user-form-grid{grid-template-columns:1fr}.user-editor{padding:20px}.user-tabs{width:100%}.user-tabs a{flex:1;text-align:center;padding:12px 8px}.user-filters>*{width:100%}.user-pagination{justify-content:center}}
