:root{--navy:#08275b;--red:#d6242f;--bg:#f2f5f9}
body{background:var(--bg);color:#172033}.navbar{background:var(--navy)}
.brand-logo{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:50%;padding:2px}.login-logo{width:150px;height:150px;object-fit:contain;margin:0 auto 8px}.report-logo{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:50%;padding:2px}.hero-logo{width:110px;height:110px;object-fit:contain;background:#fff;border-radius:18px;padding:4px}
.hero{background:linear-gradient(135deg,var(--navy),#174d8e);color:#fff;border-radius:20px;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.stat{color:#172033;height:100%}.stat h3{margin:5px 0 0}
.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),#1762a8)}.login-card{width:92vw;max-width:420px;border:0;border-radius:20px;background:#fff;overflow:hidden}.login-card .card-body{padding:24px;text-align:center}.login-card h2{color:var(--red);font-weight:900}.login-card form{text-align:left}.login-card input{display:block;width:100%;box-sizing:border-box;padding:10px 12px;margin:4px 0 16px;border:1px solid #ced4da;border-radius:8px}.login-card button{display:block;width:100%;padding:10px 14px;border:0;border-radius:8px;background:#0d6efd;color:#fff;font-weight:700}
.info,.description{background:#f8fafc;border:1px solid #dce3ec;border-radius:12px;padding:15px}.info small,.info strong{display:block}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.photo-grid img{width:100%;height:150px;object-fit:cover;border-radius:12px;border:1px solid #ccd5df}.timeline{border-left:3px solid #ced8e5;padding-left:18px}.timeline>div{margin-bottom:16px}
.badge[class*=status-]{background:#6c757d}.status-programada{background:#0d6efd!important}.status-enviada{background:#6f42c1!important}.status-en-proceso{background:#fd7e14!important}.status-realizada{background:#198754!important}.status-pendiente-de-autorizacion{background:#ffc107!important;color:#222}.status-anulada{background:#dc3545!important}
@media(max-width:600px){.hero{align-items:stretch;flex-direction:column}.hero .btn{width:100%}.navbar-brand span{font-size:.88rem}.brand-logo{width:40px;height:40px}.hero-logo{width:92px;height:92px}}
