/* Pantallas propias (login.php, admin.php): solo composición. Tokens, tipografías y componentes son los de panel.css. */

/* Acceso */
body.login{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.login-card{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:28px 24px 24px}
.login-brand .lockup{border-right:0;padding-right:0;justify-content:center}
.login-card h1{font-size:20px;font-weight:700;letter-spacing:-.015em;line-height:1.1;text-align:center;margin-top:22px}
.login-sub{margin:4px 0 22px;color:var(--muted);font-size:12.5px;text-align:center}
.login-form{display:flex;flex-direction:column;gap:14px}
.login-form .btn{justify-content:center;padding:9px 12px}
.login-form .err{margin:0}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:38px}
.pw-wrap input::-ms-reveal{display:none}
.login-form .pw-toggle{position:absolute;top:1px;right:1px;bottom:1px;width:36px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:0 7px 7px 0;color:var(--muted);cursor:pointer}
.login-form .pw-toggle[hidden]{display:none}
.pw-toggle:hover{color:var(--ink)}
.pw-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.pw-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pw-toggle .ico-hide,.pw-toggle[aria-pressed=true] .ico-show{display:none}
.pw-toggle[aria-pressed=true] .ico-hide{display:block}

/* Enlaces con aspecto de botón (panel.css colorea todos los <a>) */
a.btn{color:var(--ink);text-decoration:none}
a.btn.primary{color:var(--court-ink)}
a.btn.ghost{color:var(--muted)}
a.btn.bad{color:var(--bad)}

/* Administración */
/* overflow-x:auto fuerza overflow-y:auto: el margin-bottom:-1px de las pestañas sacaba una barra vertical. La línea va como sombra interior para que el subrayado la tape sin desbordar. */
.adm .tabs{margin:4px 0 16px;padding:0;background:transparent;overflow-x:auto;overflow-y:hidden;border-bottom:0;box-shadow:inset 0 -1px var(--line)}
.adm .tabs a{margin-bottom:0}
.tabs a{padding:10px 12px;font-weight:600;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs a.on{color:var(--ink);border-bottom-color:var(--ink)}
.me form{margin:0}
.adm .sec{margin-bottom:24px}
.adm .tablewrap{margin-bottom:12px}
.adm table{min-width:820px}
.adm tbody tr{cursor:default}
.adm tbody tr:hover{background:transparent}
.adm tr.off td{color:var(--muted)}
.acts form{margin:0}
.help-p{color:var(--muted);font-size:12.5px;margin:0}
.flash{border-radius:10px;padding:10px 14px;margin:0 0 16px;font-weight:600;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.flash.ok{background:var(--ok-soft);color:var(--ok)}
.flash.bad{background:var(--bad-soft);color:var(--bad)}
.flash-help{font-weight:500;color:var(--ink);font-size:12.5px}
.pass{font-family:var(--f-mono);font-size:15px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:2px 8px;user-select:all}
.del-counts{margin:6px 0 0;padding-left:18px}
.crm-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;gap:10px 14px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.crm-row .chk{padding-top:24px;white-space:nowrap}
.crm-f{padding-top:14px}
@media (max-width:620px){.crm-row{grid-template-columns:minmax(0,1fr)}.crm-row .chk{padding-top:0}}
