:root { --hogar: #0f766e; --hogar-oscuro: #115e59; --bs-primary: #0f766e; --bs-primary-rgb: 15,118,110; }
body { background: #f3f6f6; }
.bg-hogar { background: var(--hogar) !important; }
.text-hogar { color: var(--hogar) !important; }
.btn-primary { --bs-btn-bg: var(--hogar); --bs-btn-border-color: var(--hogar); --bs-btn-hover-bg: var(--hogar-oscuro); --bs-btn-hover-border-color: var(--hogar-oscuro); --bs-btn-active-bg: var(--hogar-oscuro); --bs-btn-disabled-bg: var(--hogar); }
.btn-outline-primary { --bs-btn-color: var(--hogar); --bs-btn-border-color: var(--hogar); --bs-btn-hover-bg: var(--hogar); --bs-btn-hover-border-color: var(--hogar); --bs-btn-active-bg: var(--hogar); --bs-btn-active-border-color: var(--hogar); }
.list-group-item.active { background: var(--hogar); border-color: var(--hogar); }
.fondo-login { background: linear-gradient(160deg, #0f766e 0%, #134e4a 100%); min-height: 100vh; }
.pb-nav { padding-bottom: 96px !important; max-width: 900px; }
.min-w-0 { min-width: 0; }
.card { border: 0; border-radius: 14px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.list-group-item { border-color: #edf0f0; }
.form-control, .form-select { font-size: 16px; } /* evita zoom en iOS */
.form-control-lg.monto { font-size: 1.6rem; font-weight: 700; text-align: right; }
.menu-lateral .list-group-item { padding: .85rem 1.25rem; font-size: 1.05rem; }
.menu-lateral .list-group-item i { width: 1.6rem; display: inline-block; }
.kpi .valor { font-size: 1.25rem; font-weight: 700; white-space: nowrap; }
.kpi .etiqueta { font-size: .8rem; color: #6c757d; text-transform: uppercase; letter-spacing: .03em; }

.barra-inferior { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1030; background: #fff; display: flex; justify-content: space-around; align-items: center; height: 64px; padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid #e5e9e9; }
.barra-inferior > a { flex: 1; text-align: center; color: #6c757d; text-decoration: none; font-size: .72rem; display: flex; flex-direction: column; align-items: center; }
.barra-inferior > a i { font-size: 1.35rem; line-height: 1.2; }
.barra-inferior > a.activo { color: var(--hogar); font-weight: 600; }
.barra-inferior .dropup { flex: 1; display: flex; justify-content: center; }
.btn-mas { width: 58px; height: 58px; border-radius: 50%; border: 4px solid #f3f6f6; background: var(--hogar); color: #fff; font-size: 1.7rem; margin-top: -28px; box-shadow: 0 4px 10px rgba(15,118,110,.4); }
.barra-inferior .dropdown-menu-center { position: absolute; bottom: 70px; top: auto; left: 50%; transform: translateX(-50%); min-width: 260px; }
.barra-inferior .dropup { position: relative; }
.btn-instalar { position: fixed; right: 14px; bottom: 80px; z-index: 1040; border-radius: 30px; }

.tipo-mov .btn { font-weight: 600; }
.btn-check:checked + .btn-outline-success { background: #198754; color: #fff; }
.btn-check:checked + .btn-outline-danger { background: #dc3545; color: #fff; }
.barra-cat { height: 8px; border-radius: 4px; background: #e9ecef; overflow: hidden; }
.barra-cat > div { height: 100%; background: var(--hogar); }
.btn-check:checked + .btn-outline-secondary { background: var(--hogar) !important; border-color: var(--hogar) !important; color: #fff !important; }
.combo { position: relative; }
.combo-lista { position: absolute; left: 0; right: 0; top: 100%; z-index: 1050; background: #fff; border: 1px solid #dee2e6; border-radius: 10px; max-height: 260px; overflow-y: auto; margin-top: 2px; }
.combo-item { padding: .7rem .9rem; border-bottom: 1px solid #f1f3f3; cursor: pointer; }
.combo-item:last-child { border-bottom: 0; }
.combo-item.activo { background: #e6f4f2; font-weight: 600; }
.combo-crear { color: var(--hogar); font-weight: 600; background: #f3faf9; }
