/* UVM Servicios Escolares · Apariencia y legibilidad V2026.09.10.3 */
:root{
  --uvm-bg:#ffffff;--uvm-surface:#ffffff;--uvm-surface-2:#f3f5f7;--uvm-text:#111318;--uvm-muted:#4b5563;--uvm-line:#c7cdd6;--uvm-accent:#8f1025;--uvm-accent-2:#c8102e;--uvm-focus:#6d0018;
}
html[data-uvm-theme="gris"]{
  --uvm-bg:#e6e8eb;--uvm-surface:#f7f8f9;--uvm-surface-2:#d9dde2;--uvm-text:#111318;--uvm-muted:#3f4752;--uvm-line:#9da5b0;--uvm-accent:#7d1023;--uvm-accent-2:#b10f2c;--uvm-focus:#5e0015;
}
html[data-uvm-theme="oscuro"]{
  --uvm-bg:#0d1015;--uvm-surface:#171b22;--uvm-surface-2:#222833;--uvm-text:#f7f8fa;--uvm-muted:#d5dae2;--uvm-line:#4b5563;--uvm-accent:#ff5b70;--uvm-accent-2:#ff7586;--uvm-focus:#ffb1bb;
}
html,body{background:var(--uvm-bg)!important;color:var(--uvm-text)!important}
body{font-weight:500;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body .card,body .panel,body .table-wrap,body .doc-card,body .stat,body .quick a,body .user,body .modal-card{background:var(--uvm-surface)!important;color:var(--uvm-text)!important;border-color:var(--uvm-line)!important}
body p,body .muted,body small,body .topbar p,body .dashboard-head p,body .feature p,body .doc-meta p{color:var(--uvm-muted)!important}
body label,body th{color:var(--uvm-text)!important}
body input,body select,body textarea,.input{background:var(--uvm-surface)!important;color:var(--uvm-text)!important;border-color:var(--uvm-line)!important}
body input::placeholder,body textarea::placeholder{color:var(--uvm-muted)!important;opacity:.9}
body a{color:inherit}
body a:hover{color:var(--uvm-accent)}
body .btn-ghost,body .btn:not(.btn-primary){background:var(--uvm-surface)!important;color:var(--uvm-text)!important;border-color:var(--uvm-line)!important}
body .btn-primary{background:var(--uvm-accent)!important;border-color:var(--uvm-accent)!important;color:#fff!important}
body .btn:focus-visible,body a:focus-visible,body input:focus-visible,body select:focus-visible,body textarea:focus-visible,body button:focus-visible{outline:3px solid color-mix(in srgb,var(--uvm-focus) 45%,transparent);outline-offset:2px}
body table th{background:var(--uvm-surface-2)!important;border-color:var(--uvm-line)!important;font-weight:900}
body table td{border-color:var(--uvm-line)!important}
body .nav{background:color-mix(in srgb,var(--uvm-surface) 94%,transparent)!important;border-color:var(--uvm-line)!important}
body aside{background:var(--uvm-surface)!important;border-color:var(--uvm-line)!important}
body nav a{color:var(--uvm-text)!important}
body nav a:hover{background:var(--uvm-surface-2)!important}
body .group{color:var(--uvm-muted)!important}
body .topbar h1,body .section-title,body .metric strong,body .brand b{color:var(--uvm-text)!important}
body .badge{border:1px solid var(--uvm-line)}
body .alert{border-width:1px}
html[data-uvm-theme="oscuro"] .platform-bar,html[data-uvm-theme="oscuro"] .platform-bar-inner{background:#0a0c10!important;color:#fff!important}
html[data-uvm-theme="gris"] .platform-bar,html[data-uvm-theme="gris"] .platform-bar-inner{background:#d0d4d9!important;color:#111318!important}
.uvm-theme-switcher{display:inline-flex;align-items:center;gap:7px;padding:5px 7px;border:1px solid var(--uvm-line);border-radius:12px;background:var(--uvm-surface);color:var(--uvm-text);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.uvm-theme-switcher label{margin:0!important;font-size:10px!important;letter-spacing:.06em;text-transform:uppercase;font-weight:900;color:var(--uvm-muted)!important}
.uvm-theme-switcher select{width:auto!important;min-width:118px!important;padding:7px 28px 7px 9px!important;border:0!important;background:transparent!important;color:var(--uvm-text)!important;font-weight:850!important;font-size:12px!important}
.uvm-theme-dot{width:10px;height:10px;border-radius:50%;display:inline-block;border:1px solid var(--uvm-line);background:#fff}
.uvm-theme-switcher[data-theme-current="gris"] .uvm-theme-dot{background:#9aa0a8}.uvm-theme-switcher[data-theme-current="oscuro"] .uvm-theme-dot{background:#151922}
/* Legibilidad reforzada */
body{line-height:1.5}
body button,body .btn{font-weight:850}
body .field label,body .field>label{font-size:12px!important;letter-spacing:.015em}
body .table th{font-size:11px!important}
body .table td,body table td{font-size:13px}
@media(max-width:650px){.uvm-theme-switcher{width:100%;justify-content:space-between}.uvm-theme-switcher select{flex:1}}
