/* El calendario móvil comparte las superficies de los comprobantes. */
.attendance-history-figure,.attendance-history-hint{display:none!important}
@media(max-width:650px){
  #portal #view-asistencia{color:#203248}
  #portal:not(.admin-wide) #view-asistencia>.view-head{
    position:relative;
    display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:16px;
    margin:4px 0 20px!important;padding:0!important;align-items:start;
  }
  #portal:not(.admin-wide) #view-asistencia>.view-head>div{min-width:0;padding:0;grid-column:1!important;grid-row:1!important}
  #portal:not(.admin-wide) #view-asistencia>.view-head::after{content:none!important}
  #portal:not(.admin-wide) #view-asistencia>.view-head h1{
    margin:0;font:700 25px/1.2 Inter,system-ui,sans-serif!important;
    letter-spacing:-.025em!important;color:#203248!important;
  }
  #portal:not(.admin-wide) #view-asistencia>.view-head>div>p:last-child{
    margin:7px 0 0;max-width:34ch;color:#526477!important;
    font:400 12px/1.5 Inter,system-ui,sans-serif!important;
  }
  #portal:not(.admin-wide) #view-asistencia .mobile-inline-home{
    position:absolute!important;top:0!important;right:0!important;display:grid;place-items:center;align-self:start;
    width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;
    border:1px solid rgba(255,255,255,.95);border-radius:50%;
    background:#e7f2f5;color:#52788b;box-shadow:0 3px 9px rgba(44,76,89,.06);
    transition:background-color 160ms ease,transform 160ms ease;
  }
  #portal:not(.admin-wide) #view-asistencia .mobile-inline-home::before{content:none}
  #portal:not(.admin-wide) #view-asistencia .mobile-inline-home span{display:none}
  #portal:not(.admin-wide) #view-asistencia .mobile-inline-home svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  #portal:not(.admin-wide) #view-asistencia .mobile-inline-home:hover{background:#dcecf1;box-shadow:none;transform:none}
  #portal:not(.admin-wide) #view-asistencia .mobile-inline-home:active{transform:scale(.96)}
  #portal #view-asistencia .calendar-card.attendance-calendar{
    padding:16px 12px!important;border:0!important;border-radius:22px!important;
    background:#fff!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible;
  }
  #portal #view-asistencia .calendar-card.attendance-calendar::before,
  #portal #view-asistencia .calendar-card.attendance-calendar::after{content:none!important}
  #portal #view-asistencia .attendance-calendar-head{gap:12px 8px!important;padding:0!important;margin:0 0 18px!important;background:transparent!important;border:0!important}
  #portal #view-asistencia .attendance-calendar-heading{
    display:flex!important;gap:12px!important;align-items:center!important;
    padding:8px 12px 0 2px!important;border-radius:16px;background:#eff6f2;
  }
  #portal #view-asistencia .attendance-history-figure{display:block!important;width:84px;height:100px;object-fit:contain;object-position:bottom;align-self:flex-end;flex-shrink:0}
  #portal #view-asistencia .attendance-calendar-title-wrap{padding-block:12px 18px}
  #portal #view-asistencia .attendance-calendar-title-wrap>b{color:#203248!important;font:700 20px/1.2 Inter,system-ui,sans-serif!important;letter-spacing:-.025em}
  #portal #view-asistencia .attendance-calendar-title-wrap>.attendance-history-hint{display:block!important;margin-top:7px;color:#526e60!important;font:400 11px/1.5 Inter,system-ui,sans-serif!important}
  #portal #view-asistencia .attendance-calendar-head .month-toolbar{
    min-height:44px!important;padding:0!important;border:0!important;border-radius:12px!important;
    background:#f4f6f7!important;box-shadow:none!important;gap:0!important;
  }
  #portal #view-asistencia .attendance-calendar-head .month-toolbar b{font-size:11px!important;color:#203248!important;white-space:normal;line-height:1.3!important;text-align:center}
  #portal #view-asistencia .attendance-calendar-head .month-toolbar button{width:36px!important;height:44px!important;flex-shrink:0;color:#b71950!important;border-radius:10px!important;font-size:24px}
  #portal #view-asistencia .attendance-calendar-head .month-toolbar button:disabled{color:#9ca8a1!important;opacity:.6}
  #portal #view-asistencia .attendance-mobile-calendar-toggle{min-height:44px;background:#f4f6f7;border:0;color:#526477;border-radius:12px;padding:0 8px;font-size:10px}
  #portal #view-asistencia .attendance-mobile-calendar-toggle i{background:#aabbb2;box-shadow:none;flex-shrink:0}
  #portal #view-asistencia .attendance-mobile-calendar-toggle[aria-checked="true"] i{background:#E11D5F}
  #portal #view-asistencia .calendar-week{margin:0 0 8px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
  #portal #view-asistencia .calendar-week span{color:#637587!important;font-size:10px!important;padding:4px 0!important}
  #portal #view-asistencia .calendar-grid{grid-auto-rows:minmax(52px,auto)!important;padding:0!important;gap:5px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  #portal #view-asistencia .calendar-grid .cal-day{
    min-height:52px!important;padding:6px 2px!important;border:1px solid transparent!important;
    border-radius:11px!important;box-shadow:none!important;transform:none!important;
    background:#f5f5f3!important;transition:background-color 150ms ease,border-color 150ms ease;
  }
  #portal #view-asistencia .calendar-grid .cal-day.empty{background:transparent!important;border-color:transparent!important}
  #portal #view-asistencia .calendar-grid .cal-day .cal-day-top>b{font:600 15px/1 Inter,system-ui,sans-serif!important;color:#55625b!important;font-variant-numeric:tabular-nums!important}
  #portal #view-asistencia .calendar-grid .cal-day .cal-day-top>span{top:5px!important;right:5px!important;gap:2px!important}
  #portal #view-asistencia .calendar-grid .cal-day .cal-day-top i{width:5px!important;height:5px!important}
  #portal #view-asistencia .calendar-grid .cal-day .cal-day-top em{font-size:6px!important;padding:2px 3px!important;letter-spacing:0;background:#E11D5F!important;box-shadow:none!important}
  #portal #view-asistencia .calendar-grid .cal-day.p{background:#eaf4ed!important}
  #portal #view-asistencia .calendar-grid .cal-day.p .cal-day-top>b{color:#346b55!important}
  #portal #view-asistencia .calendar-grid .cal-day.shared:not(.team-mode){background:#edf2dd!important;border-color:transparent!important}
  #portal #view-asistencia .calendar-grid .cal-day.shared .cal-day-top>b{color:#526d31!important}
  #portal #view-asistencia .calendar-grid .cal-day:is(.t,.sharing-pending){background:#fbf0dc!important}
  #portal #view-asistencia .calendar-grid .cal-day.j{background:#eaf1fa!important}
  #portal #view-asistencia .calendar-grid .cal-day:is(.ng,.missing){background:#fbecee!important}
  #portal #view-asistencia .calendar-grid .cal-day.incomplete{background:#f0eafa!important}
  #portal #view-asistencia .calendar-grid .cal-day:is(.future,.pending,.off){background:#f5f5f3!important}
  #portal #view-asistencia .calendar-grid button.cal-day.today{border:1px solid #e4a2b8!important;box-shadow:none!important}
  #portal #view-asistencia .calendar-grid button.cal-day[aria-pressed="true"]{border:2px solid #E11D5F!important;box-shadow:none!important}
  #portal #view-asistencia .calendar-grid button.cal-day:focus-visible{outline:2px solid #E11D5F!important;outline-offset:2px!important}
  #portal #view-asistencia .calendar-legend{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 12px!important;padding:16px 2px 2px!important;margin:16px 0 0!important;border:0!important;border-top:1px solid #edf1ee!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  #portal #view-asistencia .calendar-legend span{display:flex;align-items:flex-start;gap:6px;font-size:10px!important;line-height:1.4!important;color:#526477!important;font-weight:500!important;min-width:0}
  #portal #view-asistencia .calendar-legend i{width:7px;height:7px;flex-shrink:0;margin-top:3px;box-shadow:none!important}
  #portal #view-asistencia .attendance-mobile-actions button{min-height:48px;background:#fff;color:#b71950;border:0;border-radius:14px;box-shadow:none;font-size:13px}
  #portal #view-asistencia :is(.attendance-selected-day,.attendance-request-center,.attendance-mobile-team-day).is-mobile-open{
    background:#fff!important;border:0!important;backdrop-filter:none!important;
    box-shadow:0 16px 48px rgba(32,50,72,.16)!important;max-height:calc(100dvh - 40px)!important;
  }
  #portal #view-asistencia .attendance-mobile-modal-close{width:40px;height:40px;border-radius:50%;color:#fff;background:#E11D5F}
  #portal #view-asistencia :is(.attendance-selected-day.is-mobile-open h2,.attendance-mobile-team-day h2){font:700 20px/1.3 Inter,system-ui,sans-serif!important;color:#203248!important;letter-spacing:-.02em}
  #portal #view-asistencia .selected-day-reason{padding:12px!important;background:#eff6f2;border-radius:12px;color:#526e60!important}
  #portal #view-asistencia .selected-day-record{background:#E11D5F!important;color:#fff!important;border:0!important;border-radius:12px!important;box-shadow:none!important}
  #portal #view-asistencia .attendance-request-actions>button{background:#f4f7f5!important;border:0!important;box-shadow:none!important}
  #portal #view-asistencia .request-action-icon{background:#e3eee7!important;color:#397b60!important}
  #portal #view-asistencia.attendance-mobile-team-mode .calendar-legend{display:none!important}
  #portal #view-asistencia.attendance-mobile-team-mode .calendar-grid .cal-day.team-mode{min-height:70px!important;background:#f0f5f2!important}
  #portal #view-asistencia button:focus-visible{outline:2px solid #E11D5F;outline-offset:3px}
}
@media(max-width:360px){
  #portal #view-asistencia .calendar-card.attendance-calendar{padding:14px 10px!important}
  #portal #view-asistencia .attendance-calendar-head{grid-template-columns:minmax(0,1fr)!important}
  #portal #view-asistencia .attendance-mobile-calendar-toggle{grid-column:1;justify-content:space-between}
  #portal #view-asistencia .attendance-mobile-calendar-toggle span{max-width:none;white-space:normal}
  #portal #view-asistencia .attendance-history-figure{width:70px;height:90px}
  #portal #view-asistencia .attendance-calendar-title-wrap>b{font-size:18px!important}
  #portal #view-asistencia .calendar-grid{gap:3px!important}
}
@media(max-width:650px){
  #portal #view-asistencia .attendance-selected-day.is-mobile-open{padding:20px 16px 16px!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open h2{font-size:18px!important;padding-right:44px;margin-bottom:12px!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 16px!important;margin-bottom:12px!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:auto!important;display:flex!important;flex-direction:column;align-items:flex-start!important;gap:4px!important;padding:9px 0!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-summary dt{font-size:10px!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-summary dd{margin:0;font-size:12px!important;text-align:left!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-reason{font-size:12px!important;margin-bottom:8px!important}
  #attendance-day-modal{padding:12px;align-items:center}
  #attendance-day-modal .attendance-day-sheet{width:100%;max-width:480px;height:min(720px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);border:0;border-radius:24px;background:#fff;overflow:hidden}
  #attendance-day-modal .attendance-day-sheet>.modal-close{top:12px;right:12px;width:40px;height:40px;border-radius:50%;background:#E11D5F;color:#fff;z-index:3}
  #attendance-day-content{height:100%;padding:18px 16px;box-sizing:border-box;min-height:0}
  .attendance-compact{height:100%;min-height:0;display:flex;flex-direction:column;gap:10px;color:#203248}
  .attendance-compact-head{padding-right:44px;flex-shrink:0}
  .attendance-compact-head h2{font:700 18px/1.25 Inter,system-ui,sans-serif;margin:0;letter-spacing:-.02em;color:#203248}
  .attendance-compact-head p{font-size:11px;line-height:1.5;color:#526e60;margin:6px 0 0}
  .attendance-compact-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;padding:12px;border-radius:14px;background:#eff6f2;flex-shrink:0}
  .attendance-compact-facts dt{font-size:10px;color:#526e60}
  .attendance-compact-facts dd{margin:3px 0 0;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;color:#346b55}
  .attendance-record-overview{display:grid;grid-template-columns:86px minmax(0,1fr);gap:6px;background:#eff6f2;border-radius:16px;overflow:hidden;align-items:center;flex-shrink:0;padding:6px 10px 0 2px}
  .attendance-record-overview>img{width:86px;height:114px;object-fit:contain;object-position:bottom;align-self:end}
  .attendance-record-overview .attendance-compact-facts{padding:8px 0 14px;gap:12px 10px;background:transparent;border-radius:0}
  .attendance-record-overview .attendance-compact-facts dd{font-size:12px;line-height:1.4;margin-top:3px}
  .attendance-activity-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-shrink:0;margin-top:2px}
  .attendance-activity-heading>b{font:600 13px/1.4 Inter,system-ui,sans-serif;color:#203248}
  .attendance-activity-heading>small{font-size:10px;color:#637587;text-align:right}
  #attendance-day-modal .attendance-activity-tabs{display:flex;gap:6px;overflow-x:auto;flex-shrink:0;scrollbar-width:thin;padding:2px 0 4px;scrollbar-color:#ceddd4 transparent}
  #attendance-day-modal .attendance-activity-tabs button{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-height:40px;max-width:100%;padding:8px 12px;border:1px solid #e4ebe7;border-radius:12px;background:#fff;color:#526477;font:600 12px/1.3 Inter,system-ui,sans-serif;box-shadow:none;text-align:left;white-space:normal}
  #attendance-day-modal .attendance-activity-tabs button span{display:grid;place-items:center;min-width:18px;height:18px;padding:0 3px;border-radius:6px;background:#edf1ee;color:#526477;font-size:10px}
  #attendance-day-modal .attendance-activity-tabs button[aria-pressed="true"]{border-color:#ebadc2;background:#fff0f5;color:#ad1749}
  #attendance-day-modal .attendance-activity-tabs button[aria-pressed="true"] span{background:#f6dce6;color:#ad1749}
  #attendance-day-modal .attendance-activity-tabs button:hover{background:#f3f7f4;color:#346b55}
  #attendance-day-modal .attendance-activity-tabs button[aria-pressed="true"]:hover{background:#fce5ee;color:#ad1749}
  .attendance-compact-stage{flex:1;min-height:0;border-radius:14px;background:#f2f5f3;overflow:hidden;display:grid}
  .attendance-compact-photo{position:relative;display:block;width:100%;height:100%;min-height:0;padding:8px 8px 32px;border:0;background:transparent;overflow:hidden}
  .attendance-compact-photo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px}
  .attendance-compact-photo span{position:absolute;bottom:8px;left:0;right:0;color:#b71950;font-size:11px;font-weight:600}
  .attendance-compact-stage video{width:100%;height:100%;min-height:0;object-fit:contain}
  .attendance-activity-empty{padding:16px;overflow:auto;align-self:stretch;font-size:13px;line-height:1.5}
  .attendance-activity-empty p{white-space:pre-wrap;color:#526477}
  .attendance-activity-empty a,.attendance-activity-empty button{color:#b71950}
  .attendance-file-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}
  .attendance-file-nav button{width:44px;height:40px;border:0;border-radius:12px;color:#b71950;background:#fceaf0;font-size:24px}
  .attendance-file-nav button:disabled{color:#899b91;background:#f1f4f2}
  .attendance-file-nav span{font-size:11px;color:#526477}
  .attendance-compact-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}
  .attendance-compact-footer small{color:#637587;font-size:9px}
  .attendance-compact-footer button{min-height:40px;border:0;background:transparent;color:#b71950;font-size:11px;font-weight:600}
  .attendance-history-warning{margin:0;color:#855a31;font-size:10px;line-height:1.4}
  #attendance-day-modal :is(button,select):focus-visible{outline:2px solid #E11D5F;outline-offset:2px}
  #attendance-day-modal .attendance-evidence-close{border:0;border-radius:50%;background:#E11D5F;color:#fff;font-size:24px}
  #attendance-day-modal .attendance-evidence-stage img{width:100%!important;height:100%!important;object-fit:contain!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-reason{display:flex;align-items:center;gap:12px;min-height:88px;padding:6px 12px 0 0!important;background:#eff6f2;color:#426753!important;line-height:1.5!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-reason::before{content:"";display:block;flex:0 0 76px;align-self:stretch;min-height:88px;background:url('../../../images/dashboard/attendance-history.png') center bottom/contain no-repeat}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-record,
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-record:focus-visible{background:#E11D5F!important;color:#fff!important;border:0!important;box-shadow:none!important;opacity:1!important;transition:background-color 150ms ease}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-record:hover{background:#c61752!important;color:#fff!important}
  #portal #view-asistencia .attendance-selected-day.is-mobile-open .selected-day-record:active{background:#ad1749!important;color:#fff!important}
}
@media(max-width:650px) and (max-height:520px){
  #attendance-day-modal .attendance-day-sheet{overflow:auto}
  .attendance-compact{height:auto;min-height:100%}
  .attendance-compact-stage{min-height:120px}
}
@media(prefers-reduced-motion:reduce){
  #portal #view-asistencia .calendar-grid .cal-day{transition:none!important}
  #portal:not(.admin-wide) #view-asistencia .mobile-inline-home{transition:none;transform:none}
}
