/* ──────────────────────────────────────────────
   Ageende Online — Design System (Stitch)
   ────────────────────────────────────────────── */

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
}

.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
}

/* ── Animations ── */
@keyframes slideIn {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
.step-enter { animation: slideIn 0.32s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

@keyframes spin { to { transform: rotate(360deg); } }
.spin { animation: spin 0.8s linear infinite; }

/* ── Calendar grid ── */
.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); }

/* ── Scrollbar hide ── */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

/* ── Toggle switch ── */
.toggle-checkbox:checked + .toggle-label { background-color: #094cb2; }
.toggle-checkbox:checked + .toggle-label .toggle-dot { transform: translateX(100%); }

/* ── Editorial card — animated left accent ── */
.editorial-card {
  border-left: 3px solid transparent;
  transition: border-left-color 0.2s ease, background-color 0.2s ease;
}
.editorial-card:hover { border-left-color: #094cb2; }

/* ── Primary gradient button ── */
.btn-gradient { background: linear-gradient(135deg, #094cb2 0%, #3366cc 100%); transition: opacity 0.18s ease, transform 0.1s ease; }
.btn-gradient:hover  { opacity: 0.91; }
.btn-gradient:active { transform: scale(0.99); }

/* ── Glass header ── */
.glass-panel { background: rgba(255,255,255,0.88); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }

/* ── Slot selected ── */
.slot-selected { border-color: #094cb2 !important; background-color: #f5f3f4 !important; }

/* ── Status badges ── */
.badge-confirmado { background-color: rgba(16,185,129,0.08); color: #065f46; border: 1px solid rgba(16,185,129,0.2); }
.badge-pendente   { background-color: #f9e37a; color: #4a3f00; border: 1px solid rgba(109,94,0,0.2); }
.badge-cancelado  { background-color: #ffdad6; color: #93000a; border: 1px solid rgba(186,26,26,0.2); }

/* ── Chip active ── */
.chip-active { background-color: #094cb2 !important; color: #ffffff !important; border-color: #094cb2 !important; }

/* ── Premium card ── */
.premium-card { background: #ffffff; border: 1px solid #e3e2e3; box-shadow: 0 2px 16px -6px rgba(0,0,0,0.07); }
