/* Mi asistencia: calendario protagonista y un solo panel para el equipo. */
#portal #view-asistencia .attendance-workspace {
  display: grid !important;
  grid-template-columns: minmax(0, 3fr) minmax(258px, 1fr) !important;
  align-items: start !important;
  gap: 16px !important;
  margin-bottom: 0 !important;
}

#portal #view-asistencia .calendar-card.attendance-calendar {
  min-width: 0 !important;
  min-height: 620px !important;
  height: auto !important;
  padding: 22px !important;
  justify-content: flex-start !important;
}

#portal #view-asistencia .calendar-grid {
  flex: 1 0 auto !important;
  grid-auto-rows: minmax(76px, 1fr) !important;
  gap: 6px !important;
  margin-bottom: 4px !important;
}

#portal #view-asistencia .calendar-week { margin-bottom: 7px !important; }
#portal #view-asistencia .calendar-week span { padding: 5px !important; }
#portal #view-asistencia .cal-day {
  min-width: 0 !important;
  min-height: 76px !important;
  padding: 10px !important;
  border-radius: 9px !important;
}
#portal #view-asistencia .cal-day.empty { border: 0 !important; background: transparent !important; }
#portal #view-asistencia .cal-day:has(.attendance-day-teammates) { min-height: 76px !important; }

#portal #view-asistencia .attendance-side-column {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
}

#portal #view-asistencia .attendance-teammates {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 17px !important;
}
#portal #view-asistencia .attendance-teammates-heading { margin-bottom: 12px !important; }
#portal #view-asistencia .attendance-teammates-heading h2 { font-size: 18px !important; }
#portal #view-asistencia .attendance-teammates-heading p { font-size: 11px !important; }
#portal #view-asistencia #attendance-teammates-count:empty { display: none; }

#portal #view-asistencia .attendance-teammates-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  align-content: start !important;
  gap: 5px !important;
  min-height: 0 !important;
  max-height: 228px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 0 3px 2px 0 !important;
}
#portal #view-asistencia .attendance-teammate {
  width: 100% !important;
  min-height: 50px !important;
  flex: none !important;
  padding: 6px 8px !important;
  border-radius: 10px !important;
}
#portal #view-asistencia .attendance-teammate-name b { font-size: 11px !important; }
#portal #view-asistencia .attendance-teammate-name small { font-size: 9px !important; }

#portal #view-asistencia .attendance-teammate-avatar {
  position: relative;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  overflow: hidden;
  border-radius: 50%;
  flex: none;
}
#portal #view-asistencia .attendance-teammate-avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

#portal #view-asistencia .attendance-teammate-detail {
  display: block !important;
  height: auto !important;
  margin: 13px 0 0 !important;
  padding: 12px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid #e6dfd7 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#portal #view-asistencia .attendance-teammate-heading { align-items: center; margin: 0 0 9px !important; }
#portal #view-asistencia .attendance-teammate-heading h3 {
  margin: 0;
  color: #29342f;
  font: 600 13px/1.3 'Inter', sans-serif;
}
#portal #view-asistencia #attendance-teammate-cards {
  display: block !important;
  max-height: 280px;
  overflow-y: auto;
  padding-right: 3px;
}
#portal #view-asistencia .attendance-teammate-card { padding: 10px !important; }
#portal #view-asistencia .attendance-teammate-card .attendance-teammate-avatar { width: 31px; height: 31px; }
#portal #view-asistencia .attendance-teammate-days > div { padding: 6px 0 !important; }

#portal #view-asistencia .attendance-selected-day {
  flex: none !important;
  min-width: 0;
  padding: 16px !important;
}
#portal #view-asistencia .attendance-selected-day h2 { margin-bottom: 8px !important; font-size: 17px !important; }
#portal #view-asistencia #attendance-selected-content { display: block !important; }
#portal #view-asistencia .selected-day-reason { margin: 7px 0 10px !important; }
#portal #view-asistencia .attendance-requests-disclosure summary { padding: 12px 15px !important; }

#portal #view-asistencia .attendance-day-teammates { min-height: 23px !important; gap: 0 !important; }
#portal #view-asistencia .attendance-day-teammates i,
#portal #view-asistencia .attendance-day-teammates em {
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  overflow: hidden;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  flex: none;
}
#portal #view-asistencia .attendance-day-teammates i + i,
#portal #view-asistencia .attendance-day-teammates em { margin-left: -5px !important; }
#portal #view-asistencia .attendance-day-teammates .attendance-teammate-avatar {
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  font-size: 7px !important;
}

/* Acabado visual del calendario basado en la referencia aprobada. */
#portal #view-asistencia .calendar-card.attendance-calendar {
  padding: 20px !important;
  border: 1px solid rgba(255,255,255,.9) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg,rgba(247,251,253,.96),rgba(231,240,245,.94)) !important;
  box-shadow: 0 18px 45px rgba(48,75,92,.11), inset 0 1px 0 rgba(255,255,255,.86) !important;
}
#portal #view-asistencia .attendance-calendar-head {
  display: grid !important;
  grid-template-columns: minmax(300px,1fr) auto auto !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 18px !important;
}
#portal #view-asistencia .attendance-calendar-heading {display:flex;align-items:center;gap:13px;min-width:0}
#portal #view-asistencia .attendance-calendar-icon {
  display:grid;place-items:center;width:46px;height:46px;flex:none;border:1px solid rgba(255,255,255,.9);border-radius:13px;background:rgba(255,255,255,.48);color:#176ca9;box-shadow:0 8px 20px rgba(47,97,128,.08)
}
#portal #view-asistencia .attendance-calendar-icon svg {width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#portal #view-asistencia .attendance-calendar-title-wrap {min-width:0}
#portal #view-asistencia .attendance-calendar-title-wrap>b {color:#173e62!important;font:600 25px/1.08 'Fraunces',Georgia,serif!important}
#portal #view-asistencia .attendance-calendar-title-wrap>small {display:block;margin-top:5px;color:#66829a!important;font:400 11px/1.35 'Inter',sans-serif!important;white-space:normal}
#portal #view-asistencia .attendance-calendar-head .month-toolbar {
  min-height:42px;padding:4px 7px!important;border:1px solid rgba(255,255,255,.94)!important;border-radius:13px!important;background:rgba(255,255,255,.52)!important;box-shadow:0 7px 18px rgba(45,79,101,.08)!important
}
#portal #view-asistencia .attendance-calendar-head .month-toolbar b {min-width:132px!important;color:#183d5f!important;font:700 12px/1 'Inter',sans-serif!important}
#portal #view-asistencia .attendance-calendar-head .month-toolbar button {width:30px!important;height:30px!important;background:transparent!important;color:#2b628d!important;box-shadow:none!important}
#portal #view-asistencia .attendance-calendar-head .month-toolbar button:hover:not(:disabled) {background:rgba(218,232,241,.72)!important}
#portal #view-asistencia .attendance-hours {
  display:flex!important;align-items:center!important;gap:9px!important;min-height:42px;padding:6px 12px!important;border:1px solid rgba(255,255,255,.96)!important;border-radius:13px!important;background:rgba(255,255,255,.52)!important;color:#1c5e91!important;box-shadow:0 7px 18px rgba(45,79,101,.08)!important
}
#portal #view-asistencia .attendance-hours>svg {width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#portal #view-asistencia .attendance-hours>span {display:flex;flex-direction:column;gap:1px}
#portal #view-asistencia .attendance-hours b {color:#173f64!important;font:700 15px/1 'Inter',sans-serif!important}
#portal #view-asistencia .attendance-hours small {color:#66829a!important;font:500 9px/1.1 'Inter',sans-serif!important}

#portal #view-asistencia .calendar-week {
  display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important;margin:0!important;padding:13px 14px 8px!important;border:1px solid rgba(255,255,255,.88)!important;border-bottom:0!important;border-radius:15px 15px 0 0!important;background:rgba(255,255,255,.34)!important
}
#portal #view-asistencia .calendar-week span {color:#284f70!important;font:600 10px/1.2 'Inter',sans-serif!important;text-align:center!important}
#portal #view-asistencia .calendar-grid {
  grid-auto-rows:minmax(82px,1fr)!important;gap:7px!important;margin:0!important;padding:6px 13px 13px!important;border:1px solid rgba(255,255,255,.88)!important;border-top:0!important;border-radius:0 0 15px 15px!important;background:rgba(255,255,255,.34)!important
}
#portal #view-asistencia .cal-day {
  position:relative!important;min-height:82px!important;padding:10px 10px 9px!important;border:1px solid rgba(255,255,255,.92)!important;border-radius:12px!important;background:rgba(247,251,253,.76)!important;color:#173b5b!important;box-shadow:0 5px 13px rgba(58,88,107,.07),inset 0 1px 0 rgba(255,255,255,.9)!important;overflow:visible!important
}
#portal #view-asistencia .cal-day:hover {transform:translateY(-1px)!important;border-color:rgba(78,136,177,.35)!important;box-shadow:0 9px 20px rgba(52,91,116,.12)!important}
#portal #view-asistencia .cal-day.empty {min-height:82px!important;border:1px solid rgba(255,255,255,.55)!important;background:rgba(230,240,246,.25)!important;box-shadow:none!important}
#portal #view-asistencia .cal-day-top {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:5px!important;width:100%!important}
#portal #view-asistencia .cal-day-top>b {color:#173b5b!important;font:600 15px/1 'Inter',sans-serif!important}
#portal #view-asistencia .cal-day-top>span {display:flex;align-items:center;gap:5px}
#portal #view-asistencia .cal-day-top i {display:block!important;width:8px!important;height:8px!important;border:0!important;border-radius:50%!important;background:#9eb7ca!important;box-shadow:none!important}
#portal #view-asistencia .cal-day-top em {padding:3px 7px!important;border:0!important;border-radius:999px!important;background:#1882cc!important;color:#fff!important;font:700 8px/1 'Inter',sans-serif!important;text-transform:uppercase!important;box-shadow:0 3px 9px rgba(24,130,204,.2)!important}
#portal #view-asistencia .cal-day>small {align-self:flex-start!important;max-width:calc(100% - 18px)!important;margin-top:auto!important;padding:5px 8px!important;border-radius:999px!important;background:rgba(222,233,240,.7)!important;color:#355c78!important;font:500 9px/1.1 'Inter',sans-serif!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#portal #view-asistencia .cal-day-action {position:absolute!important;right:9px!important;bottom:12px!important;width:7px!important;height:12px!important;overflow:hidden!important;color:transparent!important;font-size:0!important}
#portal #view-asistencia .cal-day-action::after {content:'›';display:block;color:#9ab5c9;font:400 18px/11px 'Inter',sans-serif}

#portal #view-asistencia .cal-day.p {border-color:rgba(255,255,255,.94)!important;background:linear-gradient(145deg,rgba(241,252,248,.94),rgba(224,246,239,.8))!important}
#portal #view-asistencia .cal-day.p>small {background:rgba(210,241,231,.82)!important;color:#176a52!important}
#portal #view-asistencia .cal-day.p .cal-day-top i {background:#12a478!important;box-shadow:none!important}
/* Verde oliva: comparticiones completadas en un día sin jornada laboral. */
#portal #view-asistencia .cal-day.shared:not(.team-mode) {background:linear-gradient(145deg,#f2f6e5,#e2edc8)!important;color:#435d27!important}
#portal #view-asistencia .cal-day.shared:not(.team-mode):not(.today):not([aria-pressed="true"]) {border-color:#bdcf98!important}
#portal #view-asistencia .cal-day.shared>small {background:#d7e6b8!important;color:#435d27!important}
#portal #view-asistencia .cal-day.shared .cal-day-top b {color:#435d27!important}
#portal #view-asistencia .cal-day.shared .cal-day-top i,#portal #view-asistencia .calendar-legend i.shared {background:#6b873d!important;box-shadow:none!important}
#portal #view-asistencia .cal-day.t,#portal #view-asistencia .cal-day.sharing-pending {border-color:rgba(255,255,255,.94)!important;background:linear-gradient(145deg,rgba(255,251,243,.95),rgba(250,237,214,.82))!important}
#portal #view-asistencia .cal-day.t>small,#portal #view-asistencia .cal-day.sharing-pending>small {background:rgba(250,233,201,.86)!important;color:#a05f0b!important}
#portal #view-asistencia .cal-day.t .cal-day-top i,#portal #view-asistencia .cal-day.sharing-pending .cal-day-top i {background:#f2aa2c!important;box-shadow:none!important}
#portal #view-asistencia .cal-day.j {border-color:rgba(255,255,255,.94)!important;background:linear-gradient(145deg,rgba(245,250,255,.95),rgba(224,239,252,.84))!important}
#portal #view-asistencia .cal-day.j>small {background:rgba(216,235,251,.86)!important;color:#176cad!important}
#portal #view-asistencia .cal-day.j .cal-day-top i {background:#1688d5!important;box-shadow:none!important}
#portal #view-asistencia .cal-day.ng,#portal #view-asistencia .cal-day.missing {border-color:rgba(255,255,255,.94)!important;background:linear-gradient(145deg,rgba(255,247,248,.96),rgba(250,229,233,.84))!important}
#portal #view-asistencia .cal-day.ng>small,#portal #view-asistencia .cal-day.missing>small {background:rgba(250,220,227,.78)!important;color:#bd3349!important}
#portal #view-asistencia .cal-day.ng .cal-day-top i,#portal #view-asistencia .cal-day.missing .cal-day-top i {background:#f05261!important;box-shadow:none!important}
#portal #view-asistencia .cal-day.incomplete {border-color:rgba(255,255,255,.94)!important;background:linear-gradient(145deg,rgba(251,247,255,.95),rgba(238,228,251,.84))!important}
#portal #view-asistencia .cal-day.incomplete>small {background:rgba(232,217,249,.82)!important;color:#7040a1!important}
#portal #view-asistencia .cal-day.incomplete .cal-day-top i {background:#8350d8!important;box-shadow:none!important}
#portal #view-asistencia .cal-day.pending,#portal #view-asistencia .cal-day.future,#portal #view-asistencia .cal-day.off {border-color:rgba(255,255,255,.92)!important;background:linear-gradient(145deg,rgba(248,251,253,.93),rgba(229,238,244,.72))!important}
#portal #view-asistencia .cal-day.pending>small,#portal #view-asistencia .cal-day.future>small,#portal #view-asistencia .cal-day.off>small {background:rgba(222,233,240,.78)!important;color:#42627a!important}
#portal #view-asistencia button.cal-day.today,#portal #view-asistencia button.cal-day[aria-pressed="true"] {outline:0!important;border:2px solid #2087cf!important;box-shadow:0 7px 18px rgba(32,135,207,.16),inset 0 0 0 1px rgba(255,255,255,.8)!important}

#portal #view-asistencia .attendance-day-teammates {position:absolute!important;right:9px!important;bottom:7px!important;margin:0!important;z-index:2}
#portal #view-asistencia .cal-day:has(.attendance-day-teammates) .cal-day-action {display:none!important}
#portal #view-asistencia .calendar-legend {display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px 18px!important;margin:14px 0 0!important;padding:12px 14px!important;border:1px solid rgba(255,255,255,.86)!important;border-radius:13px!important;background:rgba(255,255,255,.43)!important;color:#58748b!important;font:500 9px/1.2 'Inter',sans-serif!important}
#portal #view-asistencia .calendar-legend span {display:inline-flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}
#portal #view-asistencia .calendar-legend i {width:8px!important;height:8px!important;box-shadow:none!important}

@media (max-width: 1050px) {
  #portal #view-asistencia .attendance-workspace { grid-template-columns: minmax(0, 1fr) !important; }
  #portal #view-asistencia .calendar-card.attendance-calendar { min-height: 0 !important; }
  #portal #view-asistencia .attendance-calendar-head { grid-template-columns: minmax(260px, 1fr) auto auto !important; }
  #portal #view-asistencia .attendance-side-column { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; align-items: start !important; }
  #portal #view-asistencia .attendance-requests-disclosure { grid-column: 1 / -1; }
}

@media (max-width: 650px) {
  #portal #view-asistencia,
  #portal #view-asistencia .attendance-workspace,
  #portal #view-asistencia .calendar-card.attendance-calendar { min-width: 0 !important; max-width: 100% !important; }
  #portal #view-asistencia .calendar-card.attendance-calendar { padding: 16px 10px !important; }
  #portal #view-asistencia .attendance-calendar-head { grid-template-columns: 1fr auto !important; gap: 10px !important; }
  #portal #view-asistencia .attendance-calendar-heading { grid-column: 1 / -1; }
  #portal #view-asistencia .attendance-calendar-icon { width: 40px; height: 40px; }
  #portal #view-asistencia .attendance-calendar-title-wrap>b { font-size: 21px !important; }
  #portal #view-asistencia .attendance-calendar-title-wrap>small { font-size: 10px !important; }
  #portal #view-asistencia .attendance-calendar-head .month-toolbar b { min-width: 104px !important; font-size: 10px !important; }
  #portal #view-asistencia .attendance-hours { min-height: 40px; padding: 5px 9px !important; }
  #portal #view-asistencia .attendance-hours>svg { width: 19px; height: 19px; }
  #portal #view-asistencia .calendar-grid,
  #portal #view-asistencia .calendar-week { width: 100% !important; min-width: 0 !important; grid-template-columns: repeat(7, minmax(0, 1fr)) !important; gap: 4px !important; }
  #portal #view-asistencia .calendar-grid { grid-auto-rows: minmax(69px, auto) !important; }
  #portal #view-asistencia .cal-day { min-height: 69px !important; padding: 7px 5px !important; }
  #portal #view-asistencia .cal-day small { overflow: hidden !important; white-space: normal !important; overflow-wrap: anywhere !important; font-size: 8px !important; }
  #portal #view-asistencia .attendance-side-column { grid-template-columns: minmax(0, 1fr) !important; }
  #portal #view-asistencia .attendance-requests-disclosure { grid-column: auto; }
  #portal #view-asistencia .attendance-day-teammates i,
  #portal #view-asistencia .attendance-day-teammates em { width: 18px !important; height: 18px !important; }
  #portal #view-asistencia .attendance-day-teammates .attendance-teammate-avatar { font-size: 6px !important; }
}
/* Equipo bajo el calendario y superficies compartidas. */
#portal #view-asistencia .attendance-main-column {display:flex;flex-direction:column;gap:16px;min-width:0}
#portal #view-asistencia .attendance-topbar {border:1px solid rgba(255,255,255,.9)!important;background:linear-gradient(145deg,rgba(247,251,253,.9),rgba(231,240,245,.86))!important;box-shadow:0 12px 32px rgba(48,75,92,.08),inset 0 1px 0 rgba(255,255,255,.84)!important;backdrop-filter:blur(14px)}
#portal #view-asistencia .attendance-stats .att-stat {border-color:rgba(255,255,255,.86)!important;background:rgba(255,255,255,.46)!important;box-shadow:0 5px 14px rgba(48,75,92,.05)!important}
#portal #view-asistencia .attendance-teammates,
#portal #view-asistencia .attendance-selected-day,
#portal #view-asistencia .attendance-requests-disclosure {
  border:1px solid rgba(255,255,255,.9)!important;
  background:linear-gradient(145deg,rgba(247,251,253,.96),rgba(231,240,245,.94))!important;
  box-shadow:0 18px 45px rgba(48,75,92,.11),inset 0 1px 0 rgba(255,255,255,.86)!important;
  backdrop-filter:blur(16px);border-radius:18px!important;
}
#portal #view-asistencia .attendance-teammates-heading h2 {color:#173e62!important;font:600 25px/1.08 'Fraunces',Georgia,serif!important}
#portal #view-asistencia .attendance-teammates {padding:22px!important}
#portal #view-asistencia .attendance-teammates-list {display:grid!important;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;max-height:none!important;overflow:visible!important;gap:10px!important;padding:0!important}
#portal #view-asistencia .attendance-teammate {display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;padding:14px 8px!important;min-height:112px!important;background:rgba(255,255,255,.45)!important;border:1px solid rgba(255,255,255,.9)!important;position:relative;text-align:center}
#portal #view-asistencia .attendance-teammate.is-selected {background:#e2eff8!important;border-color:#418abc!important}
#portal #view-asistencia .attendance-teammate>.attendance-teammate-avatar {width:44px!important;height:44px!important}
#portal #view-asistencia .attendance-teammate-name b {font-size:12px!important;white-space:normal}
#portal #view-asistencia .attendance-teammate-check {position:absolute;right:7px;top:7px}
#portal #view-asistencia .attendance-team-controls {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
#portal #view-asistencia .attendance-team-controls button {padding:9px 13px;border:1px solid #b8cfdf;border-radius:10px;background:rgba(255,255,255,.7);color:#234e70;font:600 12px 'Inter',sans-serif;cursor:pointer}
#portal #view-asistencia .attendance-team-controls button[aria-pressed=true] {background:#246eaa;color:white}
#portal #view-asistencia .attendance-team-preview-note {display:flex;align-items:center;gap:7px;margin:-4px 0 14px;padding:8px 10px;border:1px solid rgba(81,132,169,.2);border-radius:9px;background:rgba(226,239,248,.58);color:#496b83;font:500 10px/1.3 'Inter',sans-serif}
#portal #view-asistencia .attendance-team-preview-note[hidden] {display:none!important}
#portal #view-asistencia .attendance-team-preview-note span {color:#2876ae;font-size:12px}
#portal #view-asistencia #attendance-teammate-cards {display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;align-items:start!important;gap:10px!important;max-height:360px!important;overflow:auto!important;padding:0 4px 0 0!important}
#portal #view-asistencia .attendance-teammate-card {height:auto!important;background:rgba(255,255,255,.45)!important;border:1px solid rgba(255,255,255,.86)!important;border-radius:12px!important}
#portal #view-asistencia .attendance-teammate-avatar.has-photo {background:#dce9f2!important;color:transparent!important}
#portal #view-asistencia .attendance-teammate-avatar.has-photo img {display:block!important}
#portal #view-asistencia .calendar-legend {font-size:11px!important;gap:12px 18px!important;padding:15px!important}
#portal #view-asistencia .calendar-legend i {width:10px!important;height:10px!important}
#portal #view-asistencia .attendance-calendar-head {grid-template-columns:minmax(0,1fr) auto auto!important}
#portal #view-asistencia .cal-day.team-mode {background:rgba(245,250,254,.9)!important;border-color:rgba(255,255,255,.95)!important;justify-content:flex-start!important;gap:8px!important;min-height:115px!important}
#portal #view-asistencia .cal-day.team-mode>small,
#portal #view-asistencia .cal-day.team-mode .cal-day-action,
#portal #view-asistencia .cal-day.team-mode .cal-day-top i {display:none!important}
#portal #view-asistencia .cal-day.team-mode .attendance-day-teammates {position:static!important;order:1;margin-top:0!important;flex-wrap:wrap}
#portal #view-asistencia .attendance-team-day-copy {order:2;color:#42627a;font:500 10px/1.5 'Inter',sans-serif;overflow-wrap:anywhere;text-align:left}
#portal #view-asistencia .show-team-schedule .calendar-legend {display:none!important}
#portal #view-asistencia .attendance-teammate-detail {background:transparent!important;box-shadow:none!important;border-radius:0!important;border:0!important;border-top:1px solid #cedde6!important}
@media(max-width:650px){
 #portal #view-asistencia .attendance-calendar-head {grid-template-columns:1fr auto!important}
 #portal #view-asistencia .attendance-teammates-list {grid-template-columns:repeat(3,minmax(0,1fr))!important}
 #portal #view-asistencia .attendance-team-day-copy {font-size:8px}
 #portal #view-asistencia .calendar-legend {font-size:10px!important}
}

/* Solicitudes siempre visibles y con la misma superficie glass. */
#portal:not(.admin-wide) #view-asistencia .attendance-request-center.attendance-requests-disclosure {
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.9)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(247,251,253,.96),rgba(231,240,245,.94))!important;
  box-shadow:0 18px 45px rgba(48,75,92,.11),inset 0 1px 0 rgba(255,255,255,.86)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  backdrop-filter:blur(16px)!important;
}
#portal:not(.admin-wide) #view-asistencia .attendance-requests-header {
  display:flex!important;align-items:center!important;gap:10px!important;padding:15px 16px!important;border-bottom:1px solid rgba(155,180,197,.28)!important
}
#portal:not(.admin-wide) #view-asistencia .attendance-requests-header>span {flex:1}
#portal:not(.admin-wide) #view-asistencia .attendance-requests-header b {display:block;color:#173e62!important;font:600 16px/1.2 'Fraunces',Georgia,serif!important}
#portal:not(.admin-wide) #view-asistencia .attendance-requests-header small {display:block;margin-top:3px;color:#688095!important;font:400 10px/1.25 'Inter',sans-serif!important}
#portal:not(.admin-wide) #view-asistencia .attendance-requests-header>i {display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(218,233,243,.8)!important;color:#315f80!important;font:600 10px/1 'Inter',sans-serif!important;font-style:normal}
#portal:not(.admin-wide) #view-asistencia .attendance-request-actions>button {background:transparent!important;border-color:rgba(159,183,199,.2)!important;color:#29475d!important}
#portal:not(.admin-wide) #view-asistencia .attendance-request-actions>button:hover {background:rgba(255,255,255,.48)!important}
#portal:not(.admin-wide) #view-asistencia .request-action-icon {background:rgba(218,233,243,.75)!important;color:#3675a0!important}
#portal:not(.admin-wide) #view-asistencia .attendance-request-actions>button>svg,
#portal:not(.admin-wide) #view-asistencia .personal-request-history>div:first-child button {color:#3675a0!important}
#portal:not(.admin-wide) #view-asistencia .personal-request-history {border-color:rgba(155,180,197,.28)!important}
#portal:not(.admin-wide) #view-asistencia .request-empty {border-color:rgba(255,255,255,.74)!important;background:rgba(255,255,255,.4)!important;color:#688095!important}

/* Equipo compacto: selección directa desde los avatares. */
#portal #view-asistencia .attendance-team-controls {justify-content:flex-end;margin:-35px 0 15px!important;pointer-events:none}
#portal #view-asistencia .attendance-team-controls button {pointer-events:auto;padding:5px 8px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#55758c!important;font:600 10px/1.2 'Inter',sans-serif!important;box-shadow:none!important}
#portal #view-asistencia .attendance-team-controls button:hover {background:rgba(255,255,255,.5)!important;color:#245f88!important}
#portal #view-asistencia .attendance-team-controls button[aria-pressed=true] {background:rgba(218,233,243,.72)!important;color:#245f88!important}
#portal #view-asistencia .attendance-team-controls button span {display:inline-grid;place-items:center;width:15px;height:15px;margin-right:3px;border:1px solid currentColor;border-radius:50%;font-size:9px}
#portal #view-asistencia .attendance-team-preview-note {margin:0 0 14px!important}
@media(max-width:650px){
  #portal #view-asistencia .attendance-team-controls {justify-content:flex-start;margin:8px 0 12px!important}
}

/* Estado siempre visible, sin truncamiento. */
#portal #view-asistencia .cal-day>small {
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  width:auto!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:break-word!important;
  line-height:1.2!important;
}

/* KPI blancos glass con un acento mínimo por estado. */
#portal:not(.admin-wide) #view-asistencia .attendance-stats .att-stat {
  --kpi-accent:#6f8ca1;
  --kpi-tint:rgba(111,140,161,.08);
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.94)!important;
  background:
    radial-gradient(circle at 88% 12%,var(--kpi-tint),transparent 48%),
    linear-gradient(145deg,rgba(255,255,255,.88),rgba(247,251,253,.7))!important;
  box-shadow:0 12px 30px rgba(48,75,92,.09),inset 0 1px 0 rgba(255,255,255,.96)!important;
  -webkit-backdrop-filter:blur(16px) saturate(120%)!important;
  backdrop-filter:blur(16px) saturate(120%)!important;
}
#portal:not(.admin-wide) #view-asistencia .attendance-stats .att-stat:hover {
  border-color:rgba(255,255,255,1)!important;
  box-shadow:0 16px 34px rgba(48,75,92,.13),inset 0 1px 0 #fff!important;
}
#portal:not(.admin-wide) #view-asistencia .attendance-stats .att-stat small {color:var(--kpi-accent)!important;opacity:1!important}
#portal:not(.admin-wide) #view-asistencia .attendance-stats .att-stat b {color:#203c52!important}
#portal:not(.admin-wide) #view-asistencia .attendance-stats .att-stat[data-stat="p"] {--kpi-accent:#4d8a6c;--kpi-tint:rgba(77,138,108,.1)}
#portal:not(.admin-wide) #view-asistencia .attendance-stats .att-stat[data-stat="t"] {--kpi-accent:#a47a35;--kpi-tint:rgba(164,122,53,.1)}
#portal:not(.admin-wide) #view-asistencia .attendance-stats .att-stat[data-stat="j"] {--kpi-accent:#5277a8;--kpi-tint:rgba(82,119,168,.1)}
#portal:not(.admin-wide) #view-asistencia .attendance-stats .att-stat[data-stat="ng"] {--kpi-accent:#a35b63;--kpi-tint:rgba(163,91,99,.09)}
#portal:not(.admin-wide) #view-asistencia .attendance-stats .att-stat[data-stat="incomplete"] {--kpi-accent:#8064a6;--kpi-tint:rgba(128,100,166,.09)}

/* Resumen diario estable: dos columnas al inicio y una fila por dato restante. */
#portal #view-asistencia .selected-day-summary {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 16px!important;margin:4px 0 12px!important}
#portal #view-asistencia .selected-day-summary>div {display:grid!important;grid-template-columns:minmax(0,auto) minmax(0,1fr)!important;align-items:center!important;gap:12px!important;min-width:0;padding:10px 0!important;border-top:1px solid rgba(156,177,190,.32)!important}
#portal #view-asistencia .selected-day-summary>div.is-wide {grid-column:1/-1!important}
#portal #view-asistencia .selected-day-summary dt {margin:0!important;color:#73808a!important;font:500 9px/1.45 'Inter',sans-serif!important}
#portal #view-asistencia .selected-day-summary dd {margin:0!important;color:#3f4f59!important;font:400 11px/1.45 'Inter',sans-serif!important;text-align:right!important;white-space:normal!important;overflow-wrap:anywhere!important}
#portal #view-asistencia #attendance-selected-extra:empty {display:none!important}

/* Calendario y lateral comparten altura; Equipo ocupa el ancho completo debajo. */
@media (min-width:1051px) {
  #portal #view-asistencia .attendance-workspace {grid-template-rows:auto auto!important;align-items:stretch!important}
  #portal #view-asistencia .attendance-main-column {display:contents!important}
  #portal #view-asistencia .calendar-card.attendance-calendar {grid-column:1;grid-row:1;height:100%!important}
  #portal #view-asistencia .attendance-side-column {grid-column:2;grid-row:1;height:100%!important;align-self:stretch!important}
  #portal #view-asistencia .attendance-teammates {grid-column:1/-1;grid-row:2;width:100%!important}
  #portal #view-asistencia .attendance-selected-day {flex:0 0 auto!important}
  #portal #view-asistencia .attendance-request-center.attendance-requests-disclosure {display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important}
  #portal #view-asistencia .attendance-request-center .personal-request-history {margin-top:auto!important}
}

/* Leyenda legible y equilibrada en dos filas: 4 + 3 elementos. */
#portal #view-asistencia .calendar-legend {
  display:grid!important;
  grid-template-columns:repeat(7,max-content)!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:15px 17px!important;
  background:rgba(255,255,255,.58)!important;
  color:#3f6079!important;
  font:600 11px/1.3 'Inter',sans-serif!important;
}
#portal #view-asistencia .calendar-legend>span {display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;white-space:nowrap!important}
#portal #view-asistencia .calendar-legend i {width:11px!important;height:11px!important;flex:none!important}
@media (max-width:650px) {
  #portal #view-asistencia .calendar-legend {grid-template-columns:repeat(2,minmax(0,1fr))!important;justify-content:stretch!important;gap:10px 14px!important;font-size:10px!important}
  #portal #view-asistencia .calendar-legend>span {white-space:normal!important}
  #portal #view-asistencia .calendar-legend>span:last-child {grid-column:1/-1}
}

/* Controles exclusivos de la experiencia móvil. */
#portal #view-asistencia .attendance-mobile-calendar-toggle,
#portal #view-asistencia .attendance-mobile-actions,
#portal #view-asistencia .attendance-mobile-modal-close,
#portal #view-asistencia .attendance-mobile-backdrop,
#portal #view-asistencia .attendance-mobile-team-day,
#portal #view-asistencia .attendance-desktop-calendar-toggle,
#portal #view-asistencia .attendance-desktop-team-panel {display:none}

@media (min-width:1051px) {
  #portal #view-asistencia .attendance-teammates {display:none!important}
  #portal #view-asistencia .attendance-desktop-calendar-toggle {display:flex;align-items:center;justify-content:center;gap:9px;flex:0 0 auto;min-height:46px;padding:8px 12px;border:1px solid rgba(255,255,255,.92);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(232,241,246,.78));color:#55748a;box-shadow:0 10px 25px rgba(48,75,92,.08),inset 0 1px 0 #fff;font:600 10px/1.2 'Inter',sans-serif;cursor:pointer}
  #portal #view-asistencia .attendance-desktop-calendar-toggle i {position:relative;width:38px;height:21px;border-radius:999px;background:#a4b6c2;box-shadow:inset 0 1px 3px rgba(35,70,92,.2);transition:.2s}
  #portal #view-asistencia .attendance-desktop-calendar-toggle i::after {content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(35,70,92,.24);transition:.2s}
  #portal #view-asistencia .attendance-desktop-calendar-toggle[aria-checked="true"] i {background:#327eaa}
  #portal #view-asistencia .attendance-desktop-calendar-toggle[aria-checked="true"] i::after {transform:translateX(17px)}
  #portal #view-asistencia .attendance-desktop-calendar-toggle b {color:#275b7d;font-weight:600}
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-mobile-backdrop:not([hidden]) {display:block!important;position:fixed;z-index:500;inset:0;border:0;background:rgba(13,34,49,.48);backdrop-filter:blur(6px)}
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-mobile-team-day.is-desktop-open {display:block!important;position:fixed!important;z-index:501!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:min(620px,calc(100vw - 40px))!important;max-height:86vh!important;overflow:auto!important;padding:24px!important;border:1px solid rgba(255,255,255,.96)!important;border-radius:22px!important;background:linear-gradient(145deg,rgba(250,253,255,.98),rgba(230,240,246,.97))!important;box-shadow:0 30px 90px rgba(20,48,67,.34),inset 0 1px 0 #fff!important;backdrop-filter:blur(20px)!important}
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-mobile-team-day.is-desktop-open .attendance-mobile-modal-close {display:grid!important;place-items:center;position:absolute;top:14px;right:14px;width:36px;height:36px;padding:0;border:0;border-radius:11px;background:rgba(224,235,242,.95);color:#315a75;font-size:22px}
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-mobile-team-day h2 {margin:0 46px 6px 0;color:#263e52;font:600 23px/1.25 'Fraunces',Georgia,serif}
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-mobile-team-day>p {margin:0 0 17px;color:#688095;font:400 12px/1.45 'Inter',sans-serif}
  #portal #view-asistencia.attendance-desktop-team-mode #attendance-mobile-team-day-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-mobile-team-person {display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding:12px;border:1px solid rgba(255,255,255,.9);border-radius:14px;background:rgba(255,255,255,.52)}
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-mobile-team-person .attendance-teammate-avatar {width:42px!important;height:42px!important;grid-row:1/3}
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-mobile-team-person b {display:block;color:#294558;font:600 13px/1.25 'Inter',sans-serif}
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-mobile-team-person small {display:block;margin-top:4px;color:#6b8191;font:400 10px/1.35 'Inter',sans-serif}
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-mobile-team-person time {grid-column:2;color:#315f7f;font:600 11px/1.25 'Inter',sans-serif}
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-mobile-team-empty {grid-column:1/-1;margin:0;padding:22px;border:1px solid rgba(255,255,255,.86);border-radius:14px;background:rgba(255,255,255,.44);color:#688095;text-align:center;font:500 12px/1.5 'Inter',sans-serif}
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-selected-day,
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-request-center,
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-teammates,
  #portal #view-asistencia.attendance-desktop-team-mode .calendar-legend {display:none!important}
  #portal #view-asistencia.attendance-desktop-team-mode .attendance-desktop-team-panel {display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:16px;border:1px solid rgba(255,255,255,.92);border-radius:18px;background:linear-gradient(145deg,rgba(247,251,253,.96),rgba(231,240,245,.94));box-shadow:0 18px 45px rgba(48,75,92,.11),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(16px)}
  #portal #view-asistencia .attendance-desktop-team-panel header {margin-bottom:12px;padding-right:4px}
  #portal #view-asistencia .attendance-desktop-team-panel h2 {margin:0;color:#173e62;font:600 20px/1.2 'Fraunces',Georgia,serif}
  #portal #view-asistencia .attendance-desktop-team-panel header p {margin:5px 0 0;color:#688095;font:400 10px/1.4 'Inter',sans-serif}
  #portal #view-asistencia #attendance-desktop-team-list {display:flex;flex:1 1 auto;flex-direction:column;gap:7px;min-height:0;overflow:auto;padding-right:3px}
  #portal #view-asistencia .attendance-desktop-team-person {border:1px solid rgba(255,255,255,.9);border-radius:13px;background:rgba(255,255,255,.48);overflow:hidden;transition:.18s}
  #portal #view-asistencia .attendance-desktop-team-person.is-selected {border-color:rgba(58,126,170,.55);background:rgba(235,246,252,.76);box-shadow:0 8px 20px rgba(48,91,120,.09)}
  #portal #view-asistencia .attendance-desktop-team-person>button {display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:9px;border:0;background:transparent;color:#29475c;text-align:left;cursor:pointer}
  #portal #view-asistencia .attendance-desktop-team-person .attendance-teammate-avatar {width:34px!important;height:34px!important}
  #portal #view-asistencia .attendance-desktop-team-person b {display:block;font:600 11px/1.25 'Inter',sans-serif}
  #portal #view-asistencia .attendance-desktop-team-person small {display:block;margin-top:3px;color:#728695;font:400 8px/1.3 'Inter',sans-serif}
  #portal #view-asistencia .attendance-desktop-team-person>button>i {color:#47708c;font:700 11px/1 'Inter',sans-serif;font-style:normal}
  #portal #view-asistencia .attendance-desktop-team-week {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:0 9px 9px}
  #portal #view-asistencia .attendance-desktop-team-week span {display:flex;min-width:0;flex-direction:column;gap:3px;padding:6px 3px;border-radius:8px;background:rgba(255,255,255,.7);color:#60798b;text-align:center;font:500 7px/1.25 'Inter',sans-serif}
  #portal #view-asistencia .attendance-desktop-team-week b {color:#2f5d7a;font-size:8px;white-space:nowrap}
  #portal #view-asistencia.attendance-desktop-team-mode .cal-day.team-mode {min-height:90px!important;background:rgba(245,250,254,.9)!important;border-color:rgba(255,255,255,.95)!important}
  #portal #view-asistencia.attendance-desktop-team-mode .cal-day.team-mode>small,
  #portal #view-asistencia.attendance-desktop-team-mode .cal-day.team-mode .cal-day-action,
  #portal #view-asistencia.attendance-desktop-team-mode .cal-day.team-mode .cal-day-top i {display:none!important}
  #portal #view-asistencia.attendance-desktop-team-mode .cal-day.team-mode .attendance-day-teammates {position:static!important;margin-top:auto!important}
}

@media (max-width:650px) {
  #portal #view-asistencia .attendance-topbar {display:none!important}
  #portal #view-asistencia .attendance-calendar-head {grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
  #portal #view-asistencia .attendance-calendar-heading {grid-column:1/-1!important}
  #portal #view-asistencia .attendance-calendar-head .month-toolbar {grid-column:1!important;width:100%!important;min-width:0!important}
  #portal #view-asistencia .attendance-calendar-head .month-toolbar b {min-width:0!important;flex:1!important}
  #portal #view-asistencia .attendance-hours {display:none!important}
  #portal #view-asistencia .attendance-mobile-calendar-toggle {display:flex!important;grid-column:2;align-items:center;gap:7px;min-height:40px;padding:0 10px;border:1px solid rgba(255,255,255,.9);border-radius:11px;background:rgba(255,255,255,.58);color:#315a78;font:600 9px/1.1 'Inter',sans-serif;white-space:nowrap}
  #portal #view-asistencia .attendance-mobile-calendar-toggle i {position:relative;width:34px;height:19px;border-radius:999px;background:#9bb0bf;box-shadow:inset 0 1px 3px rgba(35,70,92,.18);transition:.2s}
  #portal #view-asistencia .attendance-mobile-calendar-toggle i::after {content:"";position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(35,70,92,.25);transition:.2s}
  #portal #view-asistencia .attendance-mobile-calendar-toggle[aria-checked="true"] i {background:#317fae}
  #portal #view-asistencia .attendance-mobile-calendar-toggle[aria-checked="true"] i::after {transform:translateX(15px)}
  #portal #view-asistencia .cal-day>small,
  #portal #view-asistencia .cal-day .cal-day-action {display:none!important}
  #portal #view-asistencia .cal-day:not(.team-mode) {position:relative!important;align-items:center!important;justify-content:center!important}
  #portal #view-asistencia .cal-day .cal-day-top {display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important}
  #portal #view-asistencia .cal-day .cal-day-top>b {font-size:17px!important;line-height:1!important;text-align:center!important}
  #portal #view-asistencia .cal-day .cal-day-top>span {position:absolute!important;top:6px!important;right:6px!important;display:flex!important;align-items:center!important;gap:3px!important}
  #portal #view-asistencia .attendance-mobile-actions {display:block!important}
  #portal #view-asistencia .attendance-mobile-actions button {display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:44px;border:1px solid rgba(255,255,255,.92);border-radius:13px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(232,241,246,.78));color:#285d82;box-shadow:0 10px 24px rgba(48,75,92,.08);font:600 11px/1 'Inter',sans-serif}
  #portal #view-asistencia .attendance-side-column {display:contents!important}
  #portal #view-asistencia .attendance-selected-day,
  #portal #view-asistencia .attendance-request-center.attendance-requests-disclosure,
  #portal #view-asistencia .attendance-mobile-team-day {display:none!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open,
  #portal #view-asistencia .attendance-request-center.attendance-requests-disclosure.is-mobile-open,
  #portal #view-asistencia .attendance-mobile-team-day.is-mobile-open {display:block!important;position:fixed!important;z-index:501!important;inset:auto 12px!important;top:50%!important;transform:translateY(-50%)!important;width:auto!important;max-height:88vh!important;margin:0!important;overflow:auto!important;padding:22px 18px 18px!important;border:1px solid rgba(255,255,255,.96)!important;border-radius:22px!important;background:linear-gradient(145deg,rgba(250,253,255,.98),rgba(230,240,246,.97))!important;box-shadow:0 28px 80px rgba(20,48,67,.34),inset 0 1px 0 #fff!important;backdrop-filter:blur(20px)!important}
  #portal #view-asistencia .attendance-mobile-backdrop:not([hidden]) {display:block!important;position:fixed;z-index:500;inset:0;border:0;background:rgba(13,34,49,.48);backdrop-filter:blur(6px)}
  #portal #view-asistencia .attendance-mobile-modal-close {display:grid!important;place-items:center;position:absolute;z-index:2;top:12px;right:12px;width:34px;height:34px;padding:0;border:0;border-radius:10px;background:rgba(224,235,242,.95);color:#315a75;font-size:21px;line-height:1}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open h2 {margin:0 0 11px!important;padding-right:42px;color:#263e52!important;font-size:22px!important;line-height:1.25!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-reason {margin:0 0 15px!important;font-size:13px!important;line-height:1.5!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-summary {grid-template-columns:minmax(0,1fr)!important;gap:0!important;margin:0 0 17px!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-summary>div,
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-summary>div.is-wide {grid-column:1/-1!important;gap:14px!important;padding:13px 0!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-summary dt {font-size:12px!important;line-height:1.4!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-summary dd {font-size:14px!important;line-height:1.45!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-record {min-height:48px!important;margin-top:4px!important;font-size:12px!important}
  #portal #view-asistencia .attendance-request-center.is-mobile-open .attendance-requests-header {padding-right:44px!important}
  #portal #view-asistencia:not(.attendance-mobile-team-mode) .attendance-teammates {display:none!important}
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-mobile-actions,
  #portal #view-asistencia.attendance-mobile-team-mode .calendar-legend {display:none!important}
  #portal #view-asistencia.attendance-mobile-team-mode .cal-day.team-mode {min-height:82px!important;background:rgba(245,250,254,.9)!important;border-color:rgba(255,255,255,.95)!important}
  #portal #view-asistencia.attendance-mobile-team-mode .cal-day.team-mode>small,
  #portal #view-asistencia.attendance-mobile-team-mode .cal-day.team-mode .cal-day-action,
  #portal #view-asistencia.attendance-mobile-team-mode .cal-day.team-mode .cal-day-top i {display:none!important}
  #portal #view-asistencia.attendance-mobile-team-mode .cal-day.team-mode .attendance-day-teammates {position:static!important;margin-top:auto!important;flex-wrap:wrap!important}
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-teammates {display:flex!important;margin:0!important;padding:15px!important}
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-teammates-heading {margin-bottom:10px!important}
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-teammates-heading h2 {font-size:19px!important}
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-teammates-heading p,
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-team-controls,
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-team-preview-note {display:none!important}
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-teammates-list {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-teammate {min-height:72px!important;padding:9px!important;display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:8px!important;text-align:left!important}
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-teammate>.attendance-teammate-avatar {width:34px!important;height:34px!important}
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-teammate-name b {font-size:10px!important}
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-teammate-name small {font-size:8px!important}
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-teammate-check {display:none!important}
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-teammates {display:none!important}
  #portal #view-asistencia .attendance-mobile-team-day h2 {margin:0 42px 5px 0;color:#263e52;font:600 21px/1.25 'Fraunces',Georgia,serif}
  #portal #view-asistencia .attendance-mobile-team-day>p {margin:0 0 16px;color:#688095;font:400 12px/1.45 'Inter',sans-serif}
  #portal #view-asistencia #attendance-mobile-team-day-list {display:grid;gap:9px}
  #portal #view-asistencia .attendance-mobile-team-person {display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid rgba(255,255,255,.9);border-radius:14px;background:rgba(255,255,255,.5)}
  #portal #view-asistencia .attendance-mobile-team-person .attendance-teammate-avatar {width:42px!important;height:42px!important}
  #portal #view-asistencia .attendance-mobile-team-person b {display:block;color:#294558;font:600 13px/1.25 'Inter',sans-serif}
  #portal #view-asistencia .attendance-mobile-team-person small {display:block;margin-top:4px;color:#6b8191;font:400 10px/1.35 'Inter',sans-serif}
  #portal #view-asistencia .attendance-mobile-team-person time {color:#315f7f;font:600 11px/1.25 'Inter',sans-serif;text-align:right;white-space:nowrap}
  #portal #view-asistencia .attendance-mobile-team-empty {margin:0;padding:20px 14px;border:1px solid rgba(255,255,255,.85);border-radius:14px;background:rgba(255,255,255,.42);color:#688095;text-align:center;font:500 12px/1.5 'Inter',sans-serif}
}

@media (max-width:390px) {
  #portal #view-asistencia .attendance-mobile-calendar-toggle {padding:0 7px}
  #portal #view-asistencia .attendance-mobile-calendar-toggle span {max-width:58px;white-space:normal}
  #portal #view-asistencia.attendance-mobile-team-mode .attendance-teammates-list {grid-template-columns:1fr!important}
}
