/* Estilos del panel de administración - Sanatorio Güemes */
:root {
    --marino: #0A2B5C;
    --marino-oscuro: #071f43;
    --turquesa: #00A8C6;
    --neutro: #F4F7F6;
    --bs-primary: #0A2B5C;
    --bs-primary-rgb: 10, 43, 92;
    --bs-link-color: #0A2B5C;
    --bs-link-hover-color: #00A8C6;
    --bs-border-radius: .65rem;
}
body { font-family: 'Inter', system-ui, sans-serif; background: var(--neutro); color: #1d2b3a; }
h1, h2, h3, .h5 { font-family: 'Poppins', 'Inter', sans-serif; color: var(--marino); }

.panel { display: flex; min-height: 100vh; }
.panel-lateral {
    width: 260px; flex-shrink: 0; background: var(--marino); color: #fff;
    display: flex; flex-direction: column; padding: 1.25rem 1rem;
    position: sticky; top: 0; height: 100vh; overflow-y: auto; z-index: 1040;
}
.panel-marca { display: flex; gap: .75rem; align-items: center; color: #fff; text-decoration: none; font-family: 'Poppins', sans-serif; font-weight: 600; margin-bottom: 1.5rem; line-height: 1.15; }
.panel-marca small { display: block; font-family: 'Inter', sans-serif; font-weight: 400; font-size: .72rem; opacity: .7; }
.panel-marca-icono { width: 40px; height: 40px; border-radius: 12px; background: var(--turquesa); display: grid; place-items: center; font-size: 1.3rem; }
.panel-lateral .nav-link { color: rgba(255,255,255,.78); border-radius: .6rem; display: flex; align-items: center; gap: .6rem; padding: .55rem .75rem; font-size: .93rem; transition: background .2s, color .2s; }
.panel-lateral .nav-link:hover { background: rgba(255,255,255,.08); color: #fff; }
.panel-lateral .nav-link.active { background: var(--turquesa); color: #fff; font-weight: 600; }
.panel-contenido { flex: 1; min-width: 0; }
.panel-barra { background: #fff; border-bottom: 1px solid #e5ecea; padding: .85rem 1.5rem; display: flex; align-items: center; gap: 1rem; position: sticky; top: 0; z-index: 1020; }

@media (max-width: 991.98px) {
    .panel-lateral { position: fixed; left: -280px; transition: left .25s ease; }
    .panel-lateral.abierto { left: 0; box-shadow: 0 0 40px rgba(0,0,0,.3); }
    .panel-fondo { position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 1030; display: none; }
    .panel-fondo.visible { display: block; }
}

.card { border: 0; border-radius: 1rem; box-shadow: 0 2px 12px rgba(10,43,92,.06); }
.card-header { background: #fff; border-bottom: 1px solid #eef2f1; font-weight: 600; color: var(--marino); border-radius: 1rem 1rem 0 0 !important; }
.btn-primary { --bs-btn-bg: var(--marino); --bs-btn-border-color: var(--marino); --bs-btn-hover-bg: var(--marino-oscuro); --bs-btn-hover-border-color: var(--marino-oscuro); --bs-btn-active-bg: var(--marino-oscuro); }
.btn-turquesa { --bs-btn-color: #fff; --bs-btn-bg: var(--turquesa); --bs-btn-border-color: var(--turquesa); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #0093ad; --bs-btn-hover-border-color: #0093ad; }
.bg-turquesa { background: var(--turquesa) !important; }
.text-turquesa { color: var(--turquesa) !important; }
.form-control:focus, .form-select:focus { border-color: var(--turquesa); box-shadow: 0 0 0 .2rem rgba(0,168,198,.18); }
.form-check-input:checked { background-color: var(--turquesa); border-color: var(--turquesa); }

.tarjeta-dato { display: flex; align-items: center; gap: 1rem; }
.tarjeta-dato .icono { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; font-size: 1.4rem; background: rgba(0,168,198,.12); color: var(--turquesa); }
.tarjeta-dato .valor { font-size: 1.6rem; font-weight: 700; color: var(--marino); line-height: 1; }

.miniatura { width: 48px; height: 48px; border-radius: 12px; object-fit: cover; background: var(--neutro); display: grid; place-items: center; color: var(--marino); font-weight: 600; flex-shrink: 0; }
.miniatura-logo { width: 90px; height: 48px; object-fit: contain; border-radius: 8px; background: #fff; border: 1px solid #eef2f1; }
.vista-previa { max-width: 220px; max-height: 160px; border-radius: 12px; object-fit: cover; border: 1px solid #e5ecea; }
.icono-preview { width: 44px; height: 44px; border-radius: 12px; background: rgba(0,168,198,.12); color: var(--turquesa); display: grid; place-items: center; }

.galeria-item img { aspect-ratio: 4/3; object-fit: cover; border-radius: 1rem 1rem 0 0; }
.table > :not(caption) > * > * { padding: .75rem .75rem; vertical-align: middle; }
.table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: #6b7a89; font-weight: 600; }

/* Pantalla de ingreso */
.login-fondo { min-height: 100vh; background: linear-gradient(135deg, var(--marino) 0%, #0d3d7a 55%, var(--turquesa) 140%); display: grid; place-items: center; padding: 1rem; }
.login-caja { width: 100%; max-width: 410px; }
