/* Root palette (light) */
:root {
	--pp-primary:#2563eb; /* blue-600 */
	--pp-primary-accent:#1d4ed8; /* blue-700 */
	--pp-secondary:#64748b; /* slate-500 */
	--pp-success:#059669; /* emerald-600 */
	--pp-warning:#f59e0b; /* amber-500 */
	--pp-danger:#dc2626; /* red-600 */
	--pp-info:#0ea5e9; /* sky-500 */
	--pp-bg-grad-start:#0d6efd; 
	--pp-bg-grad-end:#ff6fa5;
	--pp-surface:#ffffff;
	--pp-surface-alt:#f1f5f9;
	--pp-border:#e2e8f0;
	--pp-text:#0f172a;
	--pp-text-soft:#475569;
	--pp-radius:1.25rem;
	--pp-shadow:0 4px 12px rgba(0,0,0,0.08);
	--pp-gradient:linear-gradient(180deg,var(--pp-bg-grad-start) 0%, var(--pp-bg-grad-end) 100%);
}

/* Dark mode palette (refined) */
[data-theme="dark"] {
	/* Accents: a touch less neon, improved balance */
	--pp-primary:#4d86f4; /* adjusted primary */
	--pp-primary-accent:#2f6fe9; /* hover / active */
	--pp-secondary:#5b6b7d; /* neutral slate */
	--pp-success:#21b07d;
	--pp-warning:#ffb54b;
	--pp-danger:#ff5d5d;
	--pp-info:#47bfff;
	/* Background & surfaces (slightly lifted mid-tones for contrast) */
	--pp-bg-grad-start:#0b121a; /* deeper navy-charcoal */
	--pp-bg-grad-end:#1f2b3a;  /* soft steel */
	--pp-surface:#1e2833;      /* main card surface revised */
	--pp-surface-alt:#131b23;  /* deeper layer */
	--pp-surface-muted:#18222c; /* NEW: intermediate surface */
	--pp-border:#314052;       /* border tone slightly lighter for definition */
	--pp-text:#dbe4f1;         /* high readability */
	--pp-text-soft:#9aa9ba;    /* secondary text slightly lighter */
	--pp-focus-ring:0 0 0 .16rem rgba(77,134,244,.55); /* NEW focus ring */
	--pp-shadow:0 6px 18px -4px rgba(0,0,0,0.55),0 2px 6px rgba(0,0,0,.35);
	--pp-gradient:linear-gradient(155deg,var(--pp-bg-grad-start) 0%, var(--pp-bg-grad-end) 85%);
}

/* Optional high contrast variant (opt-in) */
[data-theme="dark"][data-contrast="high"] {
	--pp-border:#3a4b60;
	--pp-text:#e6edf5;
	--pp-text-soft:#b1c0cf;
	--pp-surface:#1c2530;
	--pp-surface-alt:#141c24;
	--pp-shadow:0 0 0 1px rgba(255,255,255,0.03),0 8px 28px -6px rgba(0,0,0,.65);
}

body {background: var(--pp-gradient);font-family:'Inter',sans-serif; color:var(--pp-text);} 
.card{border-radius:1.25rem;}
.shadow-soft{box-shadow:0 4px 12px rgba(0,0,0,0.08);} 
.navbar-brand{letter-spacing:.5px;}
.modal-content{border:0;}
/* Dashboard metric cards */
.card-metric{position:relative;overflow:hidden;min-height:0;padding:.85rem 1rem;}
.card-metric .metric-icon{position:absolute;right:12px;bottom:12px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.15rem;}
.card-metric small{letter-spacing:.5px;font-weight:500;}
.table td,.table th{vertical-align:middle;}
/* Five column helper (20% width on large screens) */
@media (min-width: 992px){
	.col-lg-2-4{flex:0 0 20%;max-width:20%;}
}
.resumen-card small{font-weight:600;letter-spacing:.4px;text-transform:uppercase;font-size:.65rem;}
.resumen-card span{display:block;}
/* Cobros recientes table styling */
.table-cobros th,.table-cobros td{padding:6px 8px !important;text-align:left;vertical-align:middle;}
.table-cobros tbody tr td .badge{min-width:60px;}
/* Mobile stacked layout for Cobros Recientes (<=480px) */
@media (max-width: 480px){
	.table-cobros thead{display:none;}
	.table-cobros{width:100%;}
	.table-cobros tbody tr{display:block;margin:0 0 .8rem;background:#fff;border:1px solid var(--pp-border,#e5e7eb);border-radius:.75rem;padding:.5rem .65rem;box-shadow:0 1px 3px rgba(0,0,0,.08);} 
	.table-cobros tbody tr td{display:block;padding:.35rem 0;border:0 !important;font-size:.85rem;line-height:1.15rem;word-break:break-word;position:relative;} 
	.table-cobros tbody tr td + td{border-top:1px solid #edf0f3;} 
	.table-cobros tbody tr td::before{content:attr(data-label);display:block;font-size:.62rem;letter-spacing:.5px;text-transform:uppercase;font-weight:600;color:var(--pp-text-soft,#667);margin-bottom:2px;} 
	.table-cobros tbody tr td[data-label="Monto"]{font-weight:600;font-size:.95rem;} 
	.table-cobros tbody tr td[data-label="Tipo"] .badge{padding:.25rem .55rem;font-size:.6rem;font-weight:600;} 
	.table-cobros tbody tr td:first-child{padding-top:.25rem;} 
	.table-cobros tbody tr td:last-child{padding-bottom:.3rem;} 
}

/* Mobile-first navbar improvements */
.prestapro-nav .nav-btn{min-width:120px;}
@media (max-width: 767.98px){
	.prestapro-nav{padding-top:.75rem;padding-bottom:.75rem;}
	.prestapro-nav .nav-item{width:100%;}
	.prestapro-nav .nav-btn{display:block;width:100%;text-align:left;padding:.55rem .9rem;margin:0;}
	.navbar-collapse.show{box-shadow:0 6px 18px -4px rgba(0,0,0,.15);border-radius:.75rem;margin-top:.75rem;background:#fff;padding:.5rem .75rem;}
}

/* Dark mode improvement: mobile collapsed navbar surface */
@media (max-width: 767.98px){
	[data-theme="dark"] .navbar-collapse.show{
		background: var(--pp-surface) !important;
		border:1px solid var(--pp-border);
		box-shadow: var(--pp-shadow);
	}
}

/* WhatsApp cooldown visual */
.btn-whatsapp.is-cooling {
  filter: grayscale(40%);
  pointer-events: none;
  opacity: .65;
  transition: filter .2s ease, opacity .2s ease;
}

/* Clientes inactivos (fila grisada) */
tr.cliente-inactivo td {background: #f1f1f1 !important; color:#666;}
tr.cliente-inactivo td .badge {background:#6c757d !important;}
tr.cliente-inactivo td button, tr.cliente-inactivo td a.btn {opacity:.75;}

/* Toast container (Bootstrap 5) positioning */
#prestapro-toasts {position:fixed; top:1rem; right:1rem; z-index:1080; display:flex; flex-direction:column; gap:.5rem;}

/* Utility classes for new palette */
.pp-btn-primary{background:var(--pp-primary);color:#fff;border:0;}
.pp-btn-primary:hover{background:var(--pp-primary-accent);}
.pp-icon-btn{display:inline-flex;align-items:center;gap:.35rem;}
.pp-icon{width:1.15rem;height:1.15rem;display:inline-block;vertical-align:middle;}
.pp-surface{background:var(--pp-surface)!important;color:var(--pp-text)!important;}
.pp-surface-alt{background:var(--pp-surface-alt)!important;}

/* SVG icon theming */
svg.pp-icon path, svg.pp-icon circle, svg.pp-icon rect {stroke: currentColor;}
svg.pp-icon.fill path {fill: currentColor;}

/* Dark mode adjustments */
[data-theme="dark"] .card{background:var(--pp-surface);border:1px solid var(--pp-border);box-shadow:var(--pp-shadow);} 
[data-theme="dark"] .table{color:var(--pp-text-soft);}
[data-theme="dark"] .navbar{background:rgba(25,33,44,.9)!important;backdrop-filter:blur(6px);}
[data-theme="dark"] .modal-content{background:var(--pp-surface);}
[data-theme="dark"] .form-control, [data-theme="dark"] .form-select{background:var(--pp-surface-alt);border-color:var(--pp-border);color:var(--pp-text);} 
[data-theme="dark"] .form-control:focus, [data-theme="dark"] .form-select:focus{box-shadow:var(--pp-focus-ring);} 

/* Dark mode specific refinements */
[data-theme="dark"] .prestapro-nav .nav-btn.btn-outline-primary{color:var(--pp-text-soft);border-color:var(--pp-secondary);} 
[data-theme="dark"] .prestapro-nav .nav-btn.btn-outline-primary.active, 
[data-theme="dark"] .prestapro-nav .nav-btn.btn-outline-primary:hover{color:#fff;border-color:var(--pp-primary);background:var(--pp-primary);} 
[data-theme="dark"] .prestapro-nav .nav-btn:not(.active){background:var(--pp-surface-alt);}
[data-theme="dark"] .prestapro-nav .nav-btn:not(.active):hover{background:var(--pp-primary-accent);color:#fff;border-color:var(--pp-primary-accent);} 
[data-theme="dark"] .alert{background:var(--pp-surface-alt);border-color:var(--pp-border);color:var(--pp-text-soft);} 
[data-theme="dark"] .btn-primary{background:var(--pp-primary);border-color:var(--pp-primary-accent);} 
[data-theme="dark"] .btn-primary:hover{background:var(--pp-primary-accent);} 
[data-theme="dark"] .btn-outline-primary{border-color:var(--pp-primary);color:var(--pp-primary);} 
[data-theme="dark"] .btn-outline-primary:hover{background:var(--pp-primary);color:#fff;} 

/* Muted surface utility (new) */
[data-theme="dark"] .pp-surface-muted{background:var(--pp-surface-muted)!important;border:1px solid var(--pp-border);}

/* Card metric subtle overlay for dark */
[data-theme="dark"] .card-metric:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,0));pointer-events:none;border-radius:inherit;} 

/* Tables border separation improved */
[data-theme="dark"] table.table thead th{background:var(--pp-surface-alt);border-bottom:1px solid var(--pp-border);color:var(--pp-text-soft);} 
[data-theme="dark"] table.table tbody td{border-top:1px solid var(--pp-border);} 

/* Inputs placeholder tone */
[data-theme="dark"] ::placeholder{color:var(--pp-secondary);opacity:.75;} 

/* Divider utility */
.pp-divider{height:1px;background:var(--pp-border);width:100%;margin:.75rem 0;} 
[data-theme="dark"] .pp-divider{background:var(--pp-border);} 

/* Elevated surface helper */
.pp-elevated{background:var(--pp-surface);border:1px solid var(--pp-border);box-shadow:var(--pp-shadow);border-radius:var(--pp-radius);} 

/* Muted text utility aligning with theme */
.text-soft{color:var(--pp-text-soft)!important;} 
[data-theme="dark"] .text-soft{color:var(--pp-text-soft)!important;} 

/* Toggle switch (optional) */
.pp-theme-toggle{cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:2rem;background:rgba(255,255,255,.15);backdrop-filter:blur(4px);} 
[data-theme="dark"] .pp-theme-toggle{background:rgba(255,255,255,.08);} 
.pp-theme-toggle span{font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--pp-text-soft);} 

/* Transitions */
body, .card, .navbar, .modal-content, .form-control, .form-select {transition:background .35s,color .35s,border-color .35s;} 

/* Gradient overlay helper */
.pp-gradient-overlay{position:relative;}
.pp-gradient-overlay:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,0));pointer-events:none;border-radius:inherit;} 

/* Icon circle backgrounds */
.pp-icon-circle{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:var(--pp-primary);color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.15);} 
[data-theme="dark"] .pp-icon-circle{background:var(--pp-primary-accent);} 

/* Table row subtle hover */
.table tbody tr:hover{background:rgba(0,0,0,.025);} 
[data-theme="dark"] .table tbody tr:hover{background:rgba(255,255,255,.04);} 

/* Badges dark mode contrast */
[data-theme="dark"] .badge.bg-secondary-subtle{background:var(--pp-surface-alt)!important;color:var(--pp-text-soft)!important;} 

/* Focus visibility helper for keyboard users */
[data-theme="dark"] .focus-visible, [data-theme="dark"] :focus-visible {outline:2px solid var(--pp-primary);outline-offset:2px;}

/* Reduced motion respect (if user prefers) */
@media (prefers-reduced-motion: reduce){
	body, .card, .navbar, .modal-content, .form-control, .form-select {transition:none!important;}
}

/* Optional scrollbar styling */
::-webkit-scrollbar{width:10px;height:10px;} 
::-webkit-scrollbar-track{background:var(--pp-surface-alt);} 
::-webkit-scrollbar-thumb{background:var(--pp-secondary);border-radius:6px;border:2px solid var(--pp-surface-alt);} 
::-webkit-scrollbar-thumb:hover{background:var(--pp-primary);} 

/* Inactive client row dark override */
[data-theme="dark"] tr.cliente-inactivo td {background: var(--pp-surface-alt)!important;color:var(--pp-text-soft);} 


/* ========================
	 Mobile Loan List (stacked cards)
	 ======================== */
.pp-loan-item{background:var(--pp-surface-alt);border:1px solid var(--pp-border);}
[data-theme="dark"] .pp-loan-item{background:var(--pp-surface-muted);border-color:var(--pp-border);} 
.pp-loan-item .badge{font-size:.65rem;padding:.4rem .55rem;font-weight:600;letter-spacing:.3px;}
.pp-loan-item .fw-medium{font-weight:600;}
@media (min-width:576px){.pp-loan-item{display:none;}} /* ocultar versión stacked en >= sm */
@media (max-width:575.98px){
	.table-responsive.d-none.d-sm-block{display:none!important;}
}

/* =============================================
	 Universal Responsive Table -> Card pattern
	 (applies when viewport <= 768px)
	 ============================================= */
@media (max-width: 768px) {
	.table:not(.table-static) thead {display: none;}
	.table:not(.table-static) tbody, .table:not(.table-static) tr, .table:not(.table-static) td {display: block; width: 100%;}
	.table:not(.table-static) tr {background: var(--pp-surface,#fff);border:1px solid var(--pp-border,#ddd);border-radius:12px;padding:.35rem .55rem;margin-bottom:1rem;box-shadow:0 2px 4px rgba(0,0,0,.06);} 
	[data-theme="dark"] .table:not(.table-static) tr {background: var(--pp-surface-muted,#1f1f2e);border-color: var(--pp-border,#333);} 
	.table:not(.table-static) td {display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;font-size:.875rem;padding:.4rem .25rem;border:0 !important;}
	.table:not(.table-static) td + td {border-top:1px solid var(--pp-border,#e5e7eb)!important;padding-top:.55rem;margin-top:.35rem;}
	.table:not(.table-static) td::before {content: attr(data-label);font-weight:600;color:var(--pp-text-soft,#555);flex:1;max-width:52%;}
	.table:not(.table-static) td[data-label='Acciones']{flex-direction:column;gap:.4rem;}
	.table:not(.table-static) td[data-label='Acciones']::before{margin-bottom:.25rem;}
	.table:not(.table-static) td .btn{width:100%;}
}

/* =========================================
	 Mobile-first responsive refinements (≤768px)
	 Mantiene el estilo original, añade mejores layouts en pantallas pequeñas
	 ========================================= */
:root {
	--pp-mobile-label-size: 0.85rem;
	--pp-mobile-font-sm: 0.75rem; /* ~12px */
}

@media (max-width: 767.98px) {

	.pp-page-wrapper {padding: .5rem .5rem 1rem;}

	.pp-responsive-card,
	.card.pp-responsive,
	.pp-stack-sm > .card {width: 100%;margin-left: 0;margin-right: 0;}

	.card {margin-bottom: .75rem;}

	.pp-horizontal-group {display: block;}

	.navbar .navbar-collapse {text-align: center;padding: .5rem 0 .75rem;}
	.navbar .navbar-nav {width: 100%;gap: .35rem;}
	.navbar .navbar-nav .nav-item {width: 100%;}
	.navbar .navbar-nav .nav-link {display: block;width: 100%;padding: .55rem .9rem;border-radius: .6rem;}

	.pp-btn-block-sm,
	.btn.pp-mobile,
	.pp-actions-sm .btn {width: 100%;display: inline-flex;justify-content: center;}

	form .btn.w-100-sm {width: 100%;}

	.pp-form-grid > [class*="col-"],
	.pp-form-grid .row > [class*="col-"] {flex: 0 0 100%;max-width: 100%;}

	.form-control,
	.form-select {padding: .55rem .75rem;}

	.form-label,
	label {font-size: var(--pp-mobile-label-size);font-weight: 600;letter-spacing: .3px;}

	::placeholder {font-size: .8rem;opacity: .9;}

	.pp-form-actions {display: flex;flex-direction: column;gap: .5rem;}

	.table-mobile-wrapper {width: 100%;overflow-x: auto;-webkit-overflow-scrolling: touch;}
	.table-mobile-wrapper::-webkit-scrollbar {height: 8px;}
	.table-mobile-wrapper::-webkit-scrollbar-thumb {background: var(--pp-secondary);border-radius: 6px;}

	.table-mobile-wrapper table.table {font-size: var(--pp-mobile-font-sm);}
	.table-mobile-wrapper table.table th,
	.table-mobile-wrapper table.table td {padding: .4rem .5rem;white-space: nowrap;}

	.badge {font-size: .65rem;padding: .35rem .5rem;}

	.pp-icon-text {display: flex;align-items: center;gap: .4rem;flex-wrap: wrap;}

	.card-metric {min-height: auto;padding: .75rem .9rem;}
	.card-metric .metric-icon {width: 40px;height: 40px;font-size: .95rem;right: 10px;bottom: 10px;}

	body {-webkit-font-smoothing: antialiased;}

	.pp-action-bar {display: flex;flex-direction: column;gap: .5rem;}

	.table-cobros th,
	.table-cobros td {font-size: var(--pp-mobile-font-sm);}

	.pp-divider {margin: .5rem 0;}
}

.pp-mobile-stack > * {margin-bottom: .75rem;}
@media (min-width: 768px) {
	.pp-mobile-stack.inline-md {display: flex;gap: 1rem;}
	.pp-mobile-stack.inline-md > * {margin-bottom: 0;}
}

.table-mobile-wrapper {position: relative;}
.table-mobile-wrapper:after {content: ""; position: absolute;top: 0;right: 0;width: 32px;height: 100%;pointer-events: none;background: linear-gradient(to left, rgba(0,0,0,.15), transparent);opacity: 0;transition: opacity .3s;}
.table-mobile-wrapper:hover:after,
.table-mobile-wrapper:focus-within:after {opacity: .6;}

/* ========================
	 FIXES MODO OSCURO (cards, navbar, dropdown, formularios)
	 Compatible con .dark-mode, [data-bs-theme="dark"] y [data-theme="dark"]
	 ======================== */
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .card,
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .navbar,
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .dropdown-menu,
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .modal-content,
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .offcanvas,
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .list-group,
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .form-control,
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .form-select {
	background-color: #1f1f2e !important;
	color: #f1f1f1 !important;
	border-color: rgba(255,255,255,0.12) !important;
}

/* Enlaces y estados hover en oscuro */
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) a,
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .dropdown-item {
	color: #f1f1f1 !important;
}
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .dropdown-item:hover,
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) a:hover {
	background: rgba(255,255,255,0.08);
	color: #fff !important;
}

/* Placeholders en oscuro */
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) ::placeholder {
	color: rgba(255,255,255,0.7);
}

/* Toggler (hamburguesa) visible en oscuro */
.navbar-toggler {border-color: rgba(255,255,255,0.3);} 
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .navbar-toggler-icon,
.navbar-dark .navbar-toggler-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* Dropdown en oscuro */
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .dropdown-menu {
	background-color: #242437 !important;
	border-color: rgba(255,255,255,0.12) !important;
}

/* ========================
	 BOTONES MÁS AMIGABLES
	 ======================== */
.btn {border-radius: 12px;padding: .6rem 1rem;font-size: .95rem;font-weight: 600;transition: all .2s ease-in-out;}

/* Primario con buen contraste */
.btn-primary {background: linear-gradient(90deg, #0d6efd, #0aa2ff);border: none;color: #fff;}
.btn-primary:hover {background: linear-gradient(90deg, #0b5ed7, #0989d9);} 

/* Secundario "invertido" amigable */
.btn-secondary {background: #fff;border: 2px solid #0d6efd;color: #0d6efd;}
.btn-secondary:hover {background: #0d6efd;color: #fff;} 

/* Peligro con degradé */
.btn-danger {background: linear-gradient(90deg, #ff4d4d, #cc0000);border: none;color: #fff;}
.btn-danger:hover {background: linear-gradient(90deg, #cc0000, #990000);} 

/* Outline más visible */
.btn-outline-primary {border-width: 2px;} 

/* Botones full-width en móvil */
@media (max-width: 768px) {.btn {width: 100%;margin-bottom: .5rem;}}

/* ========================
	 TWEAKS RESPONSIVE ADICIONALES
	 ======================== */
@media (max-width: 768px) {
	.navbar .dropdown-menu {width: 100%;}
	.card {margin-bottom: .8rem;}
}

/* Formularios en oscuro: inputs legibles */
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .form-control,
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .form-select {
	background-color: #2a2a3a !important;
	color: #f1f1f1 !important;
	border-color: #3b3b4f !important;
}

/* ========================
	 NAV / SIDEBAR DARK FIX
	 ======================== */
:where(body.dark-mode, [data-bs-theme="dark"]) .dropdown-menu,
:where(body.dark-mode, [data-bs-theme="dark"]) .list-group {
	background-color: #1f1f2e !important;
	color: #f1f1f1 !important;
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: 12px;
}

:where(body.dark-mode, [data-bs-theme="dark"]) .dropdown-item,
:where(body.dark-mode, [data-bs-theme="dark"]) .list-group-item {
	color: #f1f1f1 !important;
	border: none;
	margin-bottom: .4rem;
	border-radius: 8px;
	background: transparent;
}

:where(body.dark-mode, [data-bs-theme="dark"]) .dropdown-item:hover,
:where(body.dark-mode, [data-bs-theme="dark"]) .list-group-item:hover {
	background: linear-gradient(90deg, #0d6efd, #0aa2ff);
	color: #fff !important;
}

/* Ítems deshabilitados */
:where(body.dark-mode, [data-bs-theme="dark"]) .dropdown-item.disabled,
:where(body.dark-mode, [data-bs-theme="dark"]) .list-group-item.disabled {
	color: #666 !important;
	background: transparent !important;
}

/* Botón salir especial */
.btn-logout {
	background: linear-gradient(90deg, #ff4d4d, #cc0000);
	color: #fff !important;
	border-radius: 12px;
	border: none;
}
.btn-logout:hover {
	background: linear-gradient(90deg, #cc0000, #990000);
}

/* Avatar tweaks in dark mode */
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .avatar {
	box-shadow: 0 0 0 2px rgba(255,255,255,0.12);
	font-weight:600;
}

/* ========================
	 Focus visible (Accesibilidad)
	 ======================== */
a:focus-visible,
button:focus-visible,
.dropdown-item:focus-visible {
	outline: 3px solid #0d6efd;
	outline-offset: 2px;
	border-radius: 8px;
}

:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) a:focus-visible,
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) button:focus-visible,
:where(body.dark-mode, [data-bs-theme="dark"], [data-theme="dark"]) .dropdown-item:focus-visible {
	outline: 3px solid rgba(255,255,255,0.85);
	outline-offset: 2px;
	border-radius: 8px;
}

/* Responsive: ocultar username en XS, mantener accesible via aria-label */
@media (max-width: 480px) {
	#userDropdown span.username-text { display: none; }
}
