/* =========
   UNAVISTA THEME (Pure CSS - Bootstrap 4 override)
   ========= */

:root {
  --primary: #14B8B1;
  --primary-hover: #0F8F89;
  --secondary: #374151;
  --success: #22C55E;
  --info: #06B6D4;
  --warning: #F59E0B;
  --danger: #EF4444;
  --light: #F4F6F8;
  --dark: #1F2933;
  --border-color: #E5E7EB;
}

/* Base */

body {
  background-color: var(--light);
  color: var(--dark);
  font-family: 'Inter', sans-serif;
}

/* Buttons */

.btn-primary {
  background-color: var(--primary);
  border-color: var(--primary);
  font-weight: 600;
  letter-spacing: .3px;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
}

.btn-success {
  background-color: var(--success);
  border-color: var(--success);
}

.btn-danger {
  background-color: var(--danger);
  border-color: var(--danger);
}

.btn-warning {
  background-color: var(--warning);
  border-color: var(--warning);
  color: #fff;
}

.btn-info {
  background-color: var(--info);
  border-color: var(--info);
  color: #fff;
}

/* Cards */

.card {
  border: 1px solid var(--border-color);
  border-radius: .6rem;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
  transition: all .2s ease-in-out;
}

.card:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

/* Navbar */

.navbar-unavista {
  background-color: var(--dark);
}

.navbar-unavista .navbar-brand {
  font-weight: 600;
  color: #fff !important;
}

.navbar-unavista .nav-link {
  color: rgba(255,255,255,.75) !important;
  transition: .2s;
}

.navbar-unavista .nav-link:hover {
  color: #fff !important;
}

/* Sidebar */

.sidebar {
  background: #111418;
  min-height: 100vh;
  padding-top: 1rem;
}

.sidebar .nav-link {
  color: #9CA3AF !important;
  border-radius: .5rem;
  margin-bottom: .25rem;
  padding: .6rem .8rem;
  transition: .2s;
}

.sidebar .nav-link.active,
.sidebar .nav-link:hover {
  background-color: var(--primary);
  color: #fff !important;
}

/* Badges */

.badge-primary {
  background-color: var(--primary);
}

.badge-success {
  background-color: var(--success);
}

.badge-danger {
  background-color: var(--danger);
}

.badge-warning {
  background-color: var(--warning);
}

.badge-info {
  background-color: var(--info);
}

/* Forms */

.form-control:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 .2rem rgba(20,184,177,.25);
}

/* Tables */

.table thead th {
  border-bottom: 2px solid var(--border-color);
}

.table-hover tbody tr:hover {
  background-color: rgba(20,184,177,.05);
}

/* Utilities */

.bg-primary-custom {
  background-color: var(--primary) !important;
}

.bg-dark-custom {
  background-color: var(--dark) !important;
}

.bg-light-custom {
  background-color: var(--light) !important;
}

.text-primary-custom {
  color: var(--primary) !important;
}

.border-soft {
  border: 1px solid var(--border-color) !important;
}

.eye-dot {
  color: var(--primary);
}

/* Smooth transitions */

.btn,
.card,
.nav-link,
.form-control {
  transition: all .2s ease-in-out;
}

.dropdown-menu {
  display: none;
}

.dropdown-menu.show {
  display: block;
}

.navbar-logo {
    height: 50px;        /* altura controlada */
    width: auto;         /* mantiene proporción */
}

@media (max-width: 576px) {
    .navbar-logo {
        height: 32px;    /* un poco más chico en móvil */
    }
}

.card-footer {
  background-color: #fff;
  border-top: 1px solid var(--border-color);
  font-size: .95rem;
}

.card-title {
  font-weight: 600;
}

.card-subtitle {
  font-size: .9rem;
}


#sidebar
.menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    color: #d1d5db;
    text-decoration: none;
    cursor: pointer;
}

.menu-item.active > .menu-link {
    background: #1f2937;
    color: white;
}

.submenu {
    list-style: none;
    padding-left: 40px;
    display: none;
}

.menu-item.open > .submenu {
    display: block;
}

.submenu li a {
    display: flex;
    gap: 10px;
    padding: 10px 0;
    color: #9ca3af;
    text-decoration: none;
}

/* Colapsado: ocultar texto */
.app-sidebar.collapsed .menu-text {
    display: none;
}

.app-sidebar.collapsed .submenu {
    display: none !important;
}

.submenu-arrow {
    margin-left: auto;
    font-size: 12px;
}

# bottom-nav
.bottom-nav a.active i,
.bottom-nav a.active small {
  color: var(--primary);
}
.bottom-nav a i,
.bottom-nav button i {
  font-size: 24px;
}
.bottom-nav {
  overflow: visible;
}

body {
  padding-bottom: 70px;
}
.dropdown-toggle-no-arrow {
  background: none;
  border: none;
}
.submenu-actions {
  animation: fadeInUp 0.2s ease-in-out;
  z-index: 1051;
  bottom: 60px; /* la altura de .bottom-nav */
}
.submenu-actions a {
  transition: all 0.15s ease-in-out;
  background: white;
  border-radius: 1rem;
}
.submenu-actions a:hover {
  background-color: #e3f2fd;
  transform: translateY(-2px);
}
.rotate {
  transform: rotate(45deg);
  transition: transform 0.3s ease;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}


.agenda-card{
border:1px solid #e6e6e6;
border-radius:10px;
transition:.2s;
}

.agenda-card:hover{
box-shadow:0 6px 18px rgba(0,0,0,.08);
}

.agenda-hora{
color:var(--primary);
font-weight:700;
}

.agenda-paciente{
font-size:1rem;
margin-bottom:4px;
}

.agenda-telefono{
font-size:.9rem;
color:#666;
}

.agenda-notas{
font-size:.85rem;
color:#777;
}

.agenda-ok{
border-left:5px solid #28a745;
}
