/* ===== Diseño estándar UreusClinic (paleta teal) ===== */
:root {
    --ureus-primary:   #005a54;   /* teal oscuro: títulos, navbar text */
    --ureus-accent:    #00867E;   /* teal medio: botones, iconos */
    --ureus-light:     #4dc8c2;   /* teal claro: gradientes, hover */
    --ureus-soft:      #f0fafa;   /* fondo suave secciones */
    --ureus-soft-2:    #e0f2f1;   /* fondo títulos de sección */
    --ureus-border:    #b3dbd9;   /* bordes */
    --ureus-border-2:  #b2dfdb;   /* bordes de cajas */
    --ureus-card:      #cce8e6;   /* fondo de cards menú */
    --ureus-card-h:    #a8d5d2;   /* hover de cards menú */
    --ureus-bg:        #eaf6f5;   /* fondo body */
    --ureus-grey:      #6c7a99;   /* texto secundario */
    --ureus-ink:       #1a1a2e;   /* texto principal cards */
    --ureus-readonly:  #F3FFFE;   /* fondo de campos de solo lectura */
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--ureus-bg);
    min-height: 100vh;
}

.bg-light-decor {
    background-color: var(--ureus-bg);
    background-image:
        radial-gradient(circle at 8% 20%, rgba(0,134,126,0.06) 0, transparent 22%),
        radial-gradient(circle at 92% 80%, rgba(0,90,84,0.06) 0, transparent 22%);
}

/* ===== Tipografía y enlaces ===== */
.text-primary { color: var(--ureus-primary) !important; }
.text-accent  { color: var(--ureus-accent)  !important; }
a { color: var(--ureus-accent); }
a:hover { color: var(--ureus-primary); }

/* ===== Botones ===== */
.btn-primary {
    --bs-btn-bg: var(--ureus-accent);
    --bs-btn-border-color: var(--ureus-accent);
    --bs-btn-hover-bg: var(--ureus-primary);
    --bs-btn-hover-border-color: var(--ureus-primary);
    --bs-btn-active-bg: #004a45;
    --bs-btn-active-border-color: #004a45;
    --bs-btn-disabled-bg: var(--ureus-accent);
    --bs-btn-disabled-border-color: var(--ureus-accent);
}
.btn-outline-primary {
    --bs-btn-color: var(--ureus-accent);
    --bs-btn-border-color: var(--ureus-accent);
    --bs-btn-hover-bg: var(--ureus-accent);
    --bs-btn-hover-border-color: var(--ureus-accent);
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: var(--ureus-primary);
    --bs-btn-active-border-color: var(--ureus-primary);
}

/* ===== Navbar ===== */
.navbar { border-bottom: 1px solid var(--ureus-border); }
.navbar .navbar-brand { color: var(--ureus-primary); }
.navbar .nav-link { color: var(--ureus-primary); font-weight: 500; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--ureus-accent); }
.navbar .nav-link i { color: var(--ureus-accent); margin-right: .25rem; }

/* ===== Login ===== */
.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: linear-gradient(135deg, #eaf6f5 0%, #cce8e6 100%);
}
.login-card {
    background: #fff;
    border-radius: 1.5rem;
    box-shadow: 0 10px 40px rgba(0,90,84,0.15);
    max-width: 420px;
    width: 100%;
    padding: 2.5rem;
    border: 1px solid var(--ureus-border);
}
.login-card .logo { display: block; margin: 0 auto 1.25rem; max-width: 180px; }

/* ===== Menú Inicio (cards) ===== */
.menu-inicio { max-width: 720px; margin: 3rem auto; }
.menu-inicio .menu-card {
    background: var(--ureus-card);
    border-radius: 14px;
    padding: 1.1rem 1.5rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    text-decoration: none;
    color: var(--ureus-ink);
    box-shadow: 0 2px 8px rgba(0,134,126,.08);
    transition: transform .12s, box-shadow .15s, background .15s;
    border: 1px solid var(--ureus-border);
}
.menu-inicio .menu-card:hover {
    background: var(--ureus-card-h);
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(0,134,126,.18);
    color: var(--ureus-primary);
}
.menu-inicio .menu-card .icon {
    width: 44px; height: 44px;
    background: #fff;
    color: var(--ureus-accent);
    border-radius: .75rem;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem; margin-right: 1rem;
}
.menu-inicio .menu-card .title { font-weight: 600; font-size: 1.1rem; flex: 1; }
.menu-inicio .menu-card .arrow { color: var(--ureus-accent); }

.inicio-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 1.5rem 2rem 0;
}
.inicio-header img { height: 60px; }

/* ===== Tablas ===== */
.table thead th {
    background: var(--ureus-primary);
    color: #fff;
    font-weight: 500;
}

/* ===== Cards / Dashboard ===== */
.card { border-radius: 18px; }
.dashboard-card { border: 1px solid var(--ureus-border-2); border-radius: 18px; }
.dashboard-card:hover { transform: translateY(-2px); transition: .2s; border-color: var(--ureus-accent); }
.kpi-card {
    background: #fff;
    border: 1px solid var(--ureus-border);
    border-radius: 1rem;
    padding: 1.2rem;
    box-shadow: 0 4px 14px rgba(0,90,84,0.06);
}
.kpi-card .kpi-value { font-size: 2rem; font-weight: 700; color: var(--ureus-primary); }
.kpi-card .kpi-label { color: var(--ureus-grey); font-size: .9rem; text-transform: uppercase; letter-spacing: .04em; }

/* ===== Formularios (utilidades para vistas médicas importadas) ===== */
.gradient-header { background: linear-gradient(90deg, var(--ureus-primary), var(--ureus-accent), var(--ureus-light)); color: #fff; }
.form-sheet { border: 1px solid var(--ureus-border); border-radius: 14px; background: #fff; padding: 1.25rem; }
.section-title {
    font-weight: 700;
    color: var(--ureus-primary);
    background: var(--ureus-soft-2);
    border-left: 4px solid var(--ureus-accent);
    padding: .75rem 1rem;
    border-radius: 10px;
    margin-bottom: 1rem;
}
.info-box {
    background: var(--ureus-soft);
    border: 1px solid var(--ureus-border-2);
    padding: 1rem;
    border-radius: 12px;
    color: var(--ureus-primary);
}
.area-lg { min-height: 120px; }
.area-xl { min-height: 180px; }
.sheet-lines textarea {
    background-image: linear-gradient(to bottom, transparent 31px, var(--ureus-border-2) 32px);
    background-size: 100% 32px;
    line-height: 32px;
    padding-top: 8px;
}
.nursing-grid th { background: var(--ureus-soft-2); color: var(--ureus-primary); }
.nursing-grid input { min-width: 90px; }
.check-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: .75rem 1rem;
    background: var(--ureus-soft);
    border: 1px solid var(--ureus-border-2);
    padding: 1rem;
    border-radius: 12px;
}
.check-grid label { display: flex; gap: .6rem; align-items: flex-start; font-weight: 500; color: var(--ureus-primary); }
.form-control,
.form-select { border-radius: 12px; min-height: 46px; }
.form-control:focus,
.form-select:focus { border-color: var(--ureus-accent); box-shadow: 0 0 0 .2rem rgba(0,134,126,.15); }

/* ===== Campos de solo lectura ===== */
.form-readonly,
input.form-control[readonly],
textarea.form-control[readonly],
select.form-control[readonly] {
    background-color: var(--ureus-readonly) !important;
}

/* ===== Resumen paciente ===== */
.resumen-paciente {
    background: var(--ureus-soft);
    border: 1px solid var(--ureus-border-2);
    border-radius: 12px;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
    color: var(--ureus-primary);
}
.resumen-paciente .label { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ureus-grey); }
.resumen-paciente .value { font-weight: 600; }

/* ===== Botón auditoría (admin) ===== */
.btn-auditoria {
    color: var(--ureus-accent);
    border: 1px solid var(--ureus-accent);
    background: transparent;
    padding: .2rem .5rem;
    border-radius: 8px;
    line-height: 1;
}
.btn-auditoria:hover {
    color: #fff;
    background: var(--ureus-accent);
    border-color: var(--ureus-accent);
}
.btn-auditoria i { font-size: 1rem; }
