/* Sistema de identidad SLM v1.0; ver docs/SISTEMA_IDENTIDAD_SLM.md */
fieldset{border:1px solid #DCE3EC;border-radius:6px;margin:0 0 16px;padding:12px}legend{font-size:13px;color:#5A6B7D}textarea{font:inherit;width:100%;min-height:88px;border:1px solid #C8D2DE;border-radius:6px;padding:12px;color:#063D6B;resize:vertical}#device-result{overflow-wrap:anywhere}
:root{color-scheme:light;--marino:#063D6B;--marino-oscuro:#04304F;--azul:#1D71B8;--verde:#9CCC65;--fondo:#F5F8FB;--linea:#DCE3EC;--muted:#5A6B7D;font-family:'IBM Plex Sans',Arial,sans-serif;color:var(--marino);background:var(--fondo);font-size:15px;line-height:22px}
*{box-sizing:border-box}body{margin:0}.topbar{position:sticky;top:0;z-index:10;height:80px;background:var(--marino);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:12px 28px;gap:24px}.topbrand{display:flex;align-items:center;gap:16px}.topbrand img{width:56px;height:56px;object-fit:contain;background:white;border:4px solid white;border-radius:50%}.topbrand strong{display:block;font-size:18px;font-weight:600}.topbrand span,.session-label{display:block;font-size:13px;color:#EBF2F8}
aside{background:white;color:var(--marino);width:224px;position:fixed;top:80px;bottom:0;left:0;padding:24px 16px;border-right:1px solid var(--linea)}.nav-label{font-size:12px;letter-spacing:.04em;font-weight:600;color:var(--muted);padding:0 12px 20px}nav button{width:100%;text-align:left;background:transparent;border:0;color:#31465B;padding:12px;margin:4px 0;border-radius:6px;min-height:44px}nav button.active{background:#EBF2F8;color:var(--marino);border-left:3px solid var(--azul)}nav button:hover{background:var(--fondo)}.aside-bottom{position:absolute;bottom:24px;line-height:22px;font-size:12px;color:var(--muted)}
main{margin-left:224px;width:calc(100% - 224px);padding:32px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}header small,.eyebrow{font-size:12px;letter-spacing:.04em;color:var(--muted);font-weight:600}h1{font-size:24px;line-height:32px;margin:8px 0;font-weight:700}h2{font-size:20px;line-height:28px;font-weight:600;margin:0 0 14px}p{color:var(--muted);margin:5px 0 16px;line-height:22px}
button{font:inherit;cursor:pointer;border:1px solid var(--azul);padding:10px 12px;border-radius:6px;background:white;color:var(--azul);min-height:44px}button:hover{background:#EBF2F8}.primary{background:var(--marino);color:white;border-color:var(--marino)}.primary:hover{background:var(--marino-oscuro);color:white}button:disabled{opacity:.55;cursor:wait}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--azul);outline-offset:2px}
label{display:block;font-size:13px;line-height:18px;color:var(--muted);margin-bottom:16px}input,select{display:block;width:100%;min-width:0;font:inherit;border:1px solid #C8D2DE;border-radius:6px;padding:10px;margin-top:8px;background:white;color:var(--marino);min-height:44px}input::placeholder{color:#8494A6}.check{display:flex;align-items:center;gap:8px}.check input{width:20px;min-height:20px;margin:0}
.card,.login-card{background:white;padding:24px;border:1px solid var(--linea);border-radius:10px;margin-bottom:24px}.login-card{max-width:460px;margin:32px auto}.login-logo{display:block;width:156px;height:88px;object-fit:contain;margin:0 auto 24px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px}.grid>*{min-width:0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}.stat{padding:24px;background:white;border:1px solid var(--linea);border-radius:10px;border-top:4px solid var(--verde)}.stat strong{display:block;font-size:28px;line-height:40px;margin-top:8px;font-weight:700;font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:32px}.section-heading span{font-size:13px;color:var(--muted)}.table-wrap{background:white;border:1px solid var(--linea);border-radius:10px;overflow:auto;margin:24px 0}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;padding:12px;color:var(--muted);background:#EEF2F6;white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}td{padding:12px;border-top:1px solid #E9EEF3;max-width:300px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}tbody tr:hover{background:var(--fondo)}.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:12px;line-height:16px;background:#F1F7E9;color:#467D1B;white-space:nowrap}.badge.pending{background:#FDF6EA;color:#7A5310}.badge.bad{background:#FBECEB;color:#C0392B}
.notice,#message:not(:empty){padding:12px 16px;background:#FDF6EA;border:1px solid #E8A33D;border-left:3px solid #E8A33D;color:#7A5310;font-size:13px;line-height:18px;margin-bottom:24px;border-radius:6px}.inline{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.inline label{margin:0}a{color:var(--azul);text-decoration:underline;display:inline-block;padding:4px 0}footer{font-size:12px;color:var(--muted);margin-top:32px;line-height:18px}[hidden]{display:none!important}#receipt{margin-top:16px;line-height:22px;overflow-wrap:anywhere}
@media(max-width:1200px){main{padding:24px}.stat{padding:16px}}
@media(max-width:760px){.topbar{height:auto;min-height:76px;padding:12px 16px}.topbrand{gap:12px}.topbrand img{width:44px;height:44px}.topbrand strong{font-size:15px;line-height:20px}.topbrand span{font-size:12px}.session-label{display:none}aside{position:static;width:100%;padding:8px;border-right:0;border-bottom:1px solid var(--linea)}.aside-bottom,.nav-label{display:none}nav{display:flex;overflow:auto;gap:4px}nav button{width:auto;white-space:nowrap;padding:10px 12px}main{margin:0;width:100%;padding:24px 16px}.login-card{margin:8px auto}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat strong{font-size:24px}.card,.login-card{padding:16px}input,select{font-size:16px}.section-heading{align-items:start}.section-heading span{max-width:110px;text-align:right}}
