/* Overrides & responsive helpers for Acondicionamiento and small screens */

/* Custom thin scrollbar for horizontally scrollable grids and modal lists */
.custom-scroll {
  scrollbar-width: thin;
  scrollbar-color: rgba(100,116,139,.4) transparent; /* slate-500/40 */
}
.custom-scroll::-webkit-scrollbar { height: 6px; width: 6px; }
.custom-scroll::-webkit-scrollbar-track { background: transparent; }
.custom-scroll::-webkit-scrollbar-thumb {
  background: rgba(100,116,139,.35);
  border-radius: 9999px;
}
.custom-scroll::-webkit-scrollbar-thumb:hover { background: rgba(100,116,139,.55); }

/* Caja card sizing safety on very narrow devices */
.caja-card { min-width: 150px; }

/* Nuevo diseño tarjeta caja */
.caja-card {
  position: relative;
  background: linear-gradient(145deg,var(--b2) 0%,var(--b1) 100%);
  backdrop-filter: saturate(140%) blur(6px);
}
.caja-card::before {
  content:"";
  position:absolute; inset:0; border-radius:inherit;
  background:linear-gradient(120deg,rgba(var(--p)/.25),transparent 60%);
  opacity:.4; pointer-events:none;
}
.caja-card:hover::before { opacity:.7; }
.caja-card .timer-progress { position:relative; }
.caja-card .timer-progress .timer-bar { transition:width .4s cubic-bezier(.4,.0,.2,1); }
.caja-card .badge-warning { animation:pulseWarn 1.2s infinite alternate; }
@keyframes pulseWarn { from { filter:brightness(1); } to { filter:brightness(1.35); } }

/* Estado completado (remaining<=0) resalta borde */
/* Resalte ligero cuando cronómetro completa */
[data-caja-timer-started][data-complete] { box-shadow:0 0 0 1px rgba(239,68,68,.6) inset; }

/* ===== Global style enhancements (dashboard-like) ===== */
.k-panel {
  position:relative;
  border:1px solid rgba(255,255,255,0.06);
  background:linear-gradient(165deg,rgba(255,255,255,0.04),rgba(255,255,255,0.02));
  border-radius:1rem;
  padding:1.25rem 1.5rem;
}
.k-panel::before {
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(at 15% 10%,rgba(var(--p-r,99),var(--p-g,102),var(--p-b,241),0.18),transparent 70%);
  pointer-events:none;opacity:.65;
}

.k-gradient-btn {
  background:linear-gradient(92deg,#5a78ff,#7c4dff 55%,#8d45ff);
  color:#fff;border:0;box-shadow:0 4px 18px -6px rgba(124,77,255,.45);
  position:relative;overflow:hidden;
}
.k-gradient-btn:hover { filter:brightness(1.05); }
.k-gradient-btn:active { transform:translateY(1px); }
.k-gradient-btn::after {
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(120deg,rgba(255,255,255,.35),transparent 40%, rgba(255,255,255,.05));
  mix-blend-mode:overlay;pointer-events:none;
}

.k-soft-border { border:1px solid rgba(255,255,255,0.07); }
.k-title-gradient { background:linear-gradient(90deg,#5d7bff,#8a4dff); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* Sidebar refinement con soporte tema */
html[data-theme='kryoDark'] aside { background:linear-gradient(180deg,#12161f,#161c26 40%,#141923); }
html[data-theme='kryoLight'] aside { background:linear-gradient(180deg,#ffffff,#f5f7fa 45%,#eef2f7); color:#1e293b; }
html[data-theme='kryoLight'] aside { border-right:1px solid #e2e8f0; }
html[data-theme='kryoLight'] aside .menu li > * { color:#334155; }
html[data-theme='kryoLight'] aside .menu a.active { color:#fff; }
aside .menu a.active { background:linear-gradient(92deg,#5a78ff,#7c4dff); color:#fff; }
aside .menu a { border-radius:.75rem; transition:background .25s, color .25s; }
aside .menu a:not(.active):hover { background:rgba(255,255,255,0.04); }
html[data-theme='kryoLight'] aside .menu a:not(.active):hover { background:rgba(0,0,0,0.04); }

/* Buttons unify radius */
.btn { border-radius:.7rem; }

/* Ultra-small screens < 430px (our custom xs breakpoint target) */
@media (max-width: 429px) {
  .acond-header-actions { gap: .5rem; }
  .acond-header-actions .btn { padding-left:.5rem; padding-right:.5rem; height:2.5rem; min-height:2.5rem; }
  .caja-card .badge { font-size:10px; }
}

/* Extreme narrow < 360px: tighten further */
@media (max-width: 359px) {
  .acond-header-actions .btn span { display:none; } /* hide text keep icon */
  .acond-grid-wrap { padding-left:.25rem; padding-right:.25rem; }
}

/* Smooth horizontal scroll momentum (iOS) */
.acond-grid-wrap { -webkit-overflow-scrolling: touch; }
