body{margin:0;font-family:'Segoe UI',Tahoma,sans-serif;background:#f4f6f8;color:#17202a;display:flex;flex-direction:column;min-height:100vh}
.login-container{flex:1;display:grid;place-items:center;padding:20px;}
form{width:min(360px,calc(100vw - 32px));background:#fff;border:1px solid #d7dde5;border-radius:8px;padding:24px;box-shadow:0 8px 28px rgba(20,30,40,.08)}
h1{font-size:20px;margin:0 0 18px;text-align:center;}
label{display:block;font-size:13px;margin:14px 0 6px;color:#52616f}
input{width:100%;box-sizing:border-box;padding:11px;border:1px solid #c9d1da;border-radius:6px;font-size:15px}
button{margin-top:18px;width:100%;padding:11px;border:0;border-radius:6px;background:#1d5fd0;color:#fff;font-weight:700;cursor:pointer}
.error{color:#b42318;font-size:13px;margin-top:10px;display:none;text-align:center;}

/* Barra institucional */
.topbar{background:linear-gradient(120deg,#691b33 65%,#9c284c 100%);color:#000;
  padding:18px 32px;display:flex;align-items:center;gap:16px;
  box-shadow:0 2px 14px rgba(0,0,0,.18);}
.topbar .logo{height:54px;width:auto;background:#fff;border-radius:8px;padding:6px 8px;}
.topbar .logo-fallback{height:54px;width:54px;border-radius:8px;background:#fff;color:#0f2a52;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;}
.topbar .tt strong{display:block;font-size:19px;font-weight:700;letter-spacing:.3px;color:#fff;margin:0;}
.topbar .tt span{display:block;font-size:12.5px;color:#fff;margin-top:3px;}
.topbar .gob{margin-left:auto;font-size:11px;color:#fff;text-align:right;line-height:1.5;}
@media(max-width:850px){.topbar{padding:12px;flex-wrap:wrap;}.topbar .gob{display:none;}}
