*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#eef4fb;color:#102a43}.login-bg{min-height:100vh;background:linear-gradient(90deg,rgba(0,28,70,.12),rgba(0,35,80,.35)),url('/static/img/fondo_robot_ia.png') center/cover fixed no-repeat;display:flex;align-items:center;justify-content:center}.login-card{width:min(460px,92vw);margin-left:30%;padding:34px;border-radius:24px;background:rgba(2,35,78,.93);color:white;box-shadow:0 24px 70px #001b3d99;border:1px solid #4fc0ff66}.login-card h1{text-align:center;margin:8px 0}.login-card p,.login-card small{display:block;text-align:center;color:#d7ecff}.ecuador{display:block;width:180px;max-height:70px;object-fit:contain;margin:0 auto 12px;background:white;border-radius:8px}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:linear-gradient(#061d3c,#073a6e);color:white;padding:20px;overflow:auto}.brand{font-size:22px;font-weight:800;margin-bottom:20px}.user{padding:14px;background:#ffffff12;border-radius:14px;margin-bottom:16px}.user small{display:block;color:#bfe2ff;margin-top:4px}.sidebar nav a,.logout{display:flex;gap:10px;color:#eaf6ff;text-decoration:none;padding:10px 8px;border-radius:9px}.sidebar nav a:hover,.logout:hover{background:#ffffff14}.logout{margin-top:20px;border-top:1px solid #ffffff22}.foot{font-size:12px;color:#9fc8e8;margin-top:22px}.content{margin-left:270px;padding:28px}.top{display:flex;align-items:center;justify-content:space-between;background:white;padding:18px 24px;border-radius:18px;box-shadow:0 8px 25px #163a5f14}.top img{order:2;width:170px;max-height:65px;object-fit:contain}.top h1{margin:0}.top p{margin:5px 0 0;color:#607d98}.panel{margin-top:22px;background:white;border-radius:18px;padding:28px;box-shadow:0 8px 25px #163a5f14}.narrow{max-width:620px}form{display:grid;gap:10px}label{font-weight:700;font-size:14px}input{width:100%;padding:13px 14px;border:1px solid #b7c9dc;border-radius:10px;font-size:15px}button{margin-top:8px;padding:13px;border:0;border-radius:10px;background:#0a74c9;color:white;font-weight:800;cursor:pointer}.alert{padding:12px 14px;border-radius:10px;margin:10px 0}.alert.danger{background:#ffdfe2;color:#7a1721}.alert.success{background:#dff6e7;color:#155b2c}@media(max-width:800px){.login-card{margin:20px}.sidebar{position:relative;width:100%}.content{margin-left:0}.top{align-items:flex-start}.top img{width:120px}}

.table-wrap{overflow:auto;max-width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.12)}
.table-wrap table{width:100%;border-collapse:collapse;background:rgba(255,255,255,.96);color:#10243e;font-size:.86rem}
.table-wrap th,.table-wrap td{padding:9px 11px;border-bottom:1px solid #dce5ef;white-space:nowrap;text-align:left}
.table-wrap th{position:sticky;top:0;background:#073d78;color:#fff;z-index:1}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:16px 0}
.metric-card{background:rgba(255,255,255,.96);color:#0b2d52;border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(0,29,70,.12)}
.metric-card.compact{padding:12px}
.metric-label{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#63778d}
.metric-value{font-size:1.8rem;font-weight:800;margin-top:4px}
.metric-value.small{font-size:1.15rem}
.panel{margin-top:18px;background:rgba(255,255,255,.82);padding:18px;border-radius:16px}
.muted{opacity:.75}
