/* Agregados de la app sobre el CSS del demo (tablero.css). */
.acceso{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.acceso .card{width:100%;max-width:380px}
.form{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.form label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--ink-soft);font-weight:500}
.form input,.form select{font:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff}
.btn{display:inline-block;text-align:center;background:var(--gnv);color:#fff;border:none;border-radius:8px;padding:10px 14px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--gnv-2)}
.btn-sec{background:#fff;color:var(--gnv);border:1px solid var(--gnv)}
.btn-sec:hover{background:var(--flame-soft)}
.btn-chico{padding:5px 10px;font-size:12px}
.separador{text-align:center;color:var(--ink-soft);font-size:12px;margin:14px 0}
.aviso-error{background:var(--alert-soft);color:var(--alert);border-radius:8px;padding:9px 12px;font-size:13px;margin-top:12px}
.aviso-ok{background:var(--flame-soft);color:var(--ok);border-radius:8px;padding:9px 12px;font-size:13px;margin-bottom:14px}
.cargando{opacity:.5;pointer-events:none;transition:opacity .2s}
.sel-bkt{background:var(--gnv)!important;border-color:var(--gnv)!important;color:#fff!important}
.card-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:8px}
.top-links{display:flex;gap:14px;align-items:center;font-size:12.5px}
.top-links a{color:#9db3ad;text-decoration:none}
.top-links a:hover{color:#fff}
#fresco{color:#9db3ad;font-size:12px}
#fresco.viejo{color:var(--flame);font-weight:600}
.ms{display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:420px}
.ms input{background:#1f333c;color:#fff;border:1px solid #2f4a54;border-radius:8px;padding:7px 11px;font:inherit;font-size:13px;width:150px}
.ms .chip{margin:0}
.admin table td,.admin table th{text-align:left;white-space:normal}
.admin .acciones{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.admin form.linea{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.admin form.linea label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--ink-soft)}
.admin form.linea input,.admin form.linea select{font:inherit;font-size:13px;padding:6px 9px;border:1px solid var(--line);border-radius:7px}
.estado-ok{color:var(--ok);font-weight:600}.estado-error{color:var(--alert);font-weight:600}.estado-curso{color:var(--demo);font-weight:600}
@media(max-width:760px){.ms{max-width:100%}.top-links{width:100%}}
/* Pestañas en celular: una sola fila que se desliza en lugar de partir el texto */
.tabs{overflow-x:auto;scrollbar-width:none}
.tab{white-space:nowrap;flex:0 0 auto}
