/* Preserve table markup/actions on desktop; fold metadata only on mobile. */
.mobile-card-fold-toggle{display:none}
@media screen and (max-width:760px){
  html body table.mobile-card-table tr.mobile-card-foldable:not(.mobile-card-info-open)>td.mobile-card-fold-extra{display:none!important}
  html body table.mobile-card-table tr.mobile-card-foldable>td.mobile-card-primary{position:relative;padding:16px 64px 16px 16px!important;display:block!important;min-height:60px;grid-template-columns:none!important;border-bottom:0!important}
  html body table.mobile-card-table tr.mobile-card-foldable>td.mobile-card-primary::before{display:none!important}
  html body table.mobile-card-table tr.mobile-card-foldable>td.mobile-card-primary :is(.title-link,a,strong){white-space:normal!important;overflow-wrap:anywhere;line-height:1.5!important}
  html body table.mobile-card-table .mobile-card-fold-toggle{position:absolute;right:8px;top:8px;display:grid!important;place-items:center;width:44px!important;height:44px!important;min-height:44px!important;min-width:44px!important;margin:0!important;padding:0!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#64748b!important;box-shadow:none!important;cursor:pointer}
  html body table.mobile-card-table .mobile-card-fold-toggle::before,html body table.mobile-card-table .mobile-card-fold-toggle::after{display:none!important}
  .mobile-card-fold-toggle>span{font-size:25px;line-height:1;transition:transform .24s ease}
  .mobile-card-info-open .mobile-card-fold-toggle>span{transform:rotate(180deg)}
  html body table.mobile-card-table tr.mobile-card-info-open>td.mobile-card-primary{border-bottom:1px solid #e8eef6!important}
  html body table.mobile-card-table tr.mobile-card-info-open>td.mobile-card-fold-extra{animation:itdaMobileInfoReveal .28s cubic-bezier(.2,.7,.2,1);}
  /* The iframe page owns touch scroll; avoid an auto-height nested body scroller. */
  html body #globalRegisterModal .global-register-body{min-height:0!important;touch-action:auto!important}
  html body #globalRegisterModal .global-register-frame{touch-action:auto!important}
  html.itda-modal-child{height:100%!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain!important}
  html.itda-modal-child body{height:auto!important;min-height:100%!important;overflow:visible!important;touch-action:auto!important;overscroll-behavior:auto!important}
  html.itda-modal-child body #reportEditForm,html.itda-modal-child body #reportEditForm>.panel-body{height:auto!important;max-height:none!important;overflow:visible!important}
  html.itda-modal-child body #reportEditForm .ck-editor__editable_inline{height:auto!important;max-height:none!important;overflow:visible!important;touch-action:auto!important;overscroll-behavior:auto!important}
}
@keyframes itdaMobileInfoReveal{from{opacity:.25;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.mobile-card-fold-toggle>span{transition:none!important}table.mobile-card-table tr.mobile-card-info-open>td{animation:none!important}}
@media print{.mobile-card-fold-toggle{display:none!important}}

.mobile-month-day,.mobile-month-detail{display:none}
@media screen and (max-width:760px){
  html body .mobile-month-panel{min-width:0!important;overflow:visible!important}
  html body :is(#visitCalendar,#carCalendar){min-width:0!important;width:100%!important;max-width:100%!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:0!important;padding:0!important;}
  html body :is(#visitCalendar,#carCalendar) .weekday{height:30px!important;min-width:0!important;padding:4px 0!important;font-size:12px!important}
  html body :is(#visitCalendar,#carCalendar) .day{height:var(--mobile-month-cell,52px)!important;min-height:0!important;min-width:0!important;overflow:hidden!important;padding:0!important;position:relative;}
  html body :is(#visitCalendar,#carCalendar) .day>.day-num,html body :is(#visitCalendar,#carCalendar) .day>.day-events{display:none!important}
  html body :is(#visitCalendar,#carCalendar) .mobile-month-day{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%!important;height:100%!important;min-height:0!important;min-width:0!important;padding:3px 0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--text,#334155)!important;box-shadow:none!important;font-size:13px!important;line-height:1.15!important;touch-action:manipulation}
  html body :is(#visitCalendar,#carCalendar) .mobile-month-day::before,html body :is(#visitCalendar,#carCalendar) .mobile-month-day::after{display:none!important}
  html body :is(#visitCalendar,#carCalendar) .mobile-month-day.selected{background:#eaf4ff!important;color:#1d4ed8!important}
  html body :is(#visitCalendar,#carCalendar) .today .mobile-month-number{background:#2563eb;color:#fff;border-radius:50%;padding:3px;min-width:23px;text-align:center}
  .mobile-month-marks{display:flex;gap:3px;align-items:center;justify-content:center}
  .mobile-month-dot{width:5px;height:5px;border-radius:50%;display:block}
  .mobile-month-day small{font-size:10px!important;line-height:1!important}
  html body .mobile-month-panel>.calendar-head{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:6px!important;min-height:56px!important;padding:8px!important}
  html body .mobile-month-panel .calendar-title-center{position:static!important;transform:none!important;min-width:0!important;text-align:center!important}
  html body .mobile-month-panel .calendar-title-center small{display:none!important}
  html body .mobile-month-panel .calendar-month-title{font-size:16px!important;min-height:40px!important;padding:3px!important;white-space:nowrap!important}
  html body .mobile-month-panel .calendar-head .btn{min-height:40px!important;height:40px!important;min-width:36px!important;padding:4px 9px!important;font-size:13px!important}
  html body .mobile-month-panel .calendar-nav-left,html body .mobile-month-panel .calendar-nav-right{gap:4px!important;display:flex!important}
  html body #carFilterCards{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:10px!important}
  html body #carFilterCards .car-filter-card{width:auto!important;min-height:38px!important;padding:6px 10px!important;gap:6px!important;flex:0 1 auto!important}
  html body #carFilterCards .car-filter-card div{flex:initial!important}
  html body #carFilterCards .car-filter-card small,html body #carFilterCards .car-filter-card em{display:none!important}
  html body #carFilterCards .car-filter-card b{font-size:12px!important}
  html body #carFilterCards .car-color-dot{width:7px!important;height:7px!important;flex-basis:7px!important}
  html body #visitOrgLegend{gap:4px!important;margin-bottom:8px!important}
  html body #visitOrgLegend>span{padding:3px 7px!important;font-size:11px!important}
  html body .mobile-month-detail:not([hidden]){display:grid!important;gap:8px;padding:12px;border-top:1px solid #e2e8f0}
  html body .mobile-month-detail[hidden]{display:none!important}
  html body .mobile-month-detail>strong{font-size:13px}
  html body .mobile-month-detail p{margin:0;font-size:13px;color:#64748b}
  html body .mobile-month-detail .mobile-month-detail-event{display:flex!important;flex-wrap:wrap;gap:5px!important;width:100%!important;height:auto!important;min-height:44px!important;padding:10px!important;border-radius:8px!important;font-size:13px!important;line-height:1.5!important;white-space:normal!important}
  html body .mobile-month-detail-event :is(strong,span){font-size:13px!important}
}
@media print{.mobile-month-day,.mobile-month-detail{display:none!important}}
