/* Same saved themes as the cabinet. Loading never covers controls or live data. */
html { scrollbar-gutter: stable; }
html body.experience-ui :is(.main-area,.si-content,.vmodal-body) { scrollbar-gutter: stable; }
html body.experience-ui .amis-loading-table-sized { min-block-size: var(--amis-loading-table-floor, 240px); }
html body.experience-ui :is(#vehiclesLoadStatus,#fleetVehiclesFeedback) {
  box-sizing: border-box;
  min-block-size: 40px;
  padding-block: 8px;
  color: var(--text-2);
}
html body.experience-ui :is(#vehiclesLoadStatus,#fleetVehiclesFeedback)[hidden] {
  display: block !important;
  visibility: hidden;
}
html body.experience-ui #fleetVehiclesFeedback > p { margin: 0; }
html body.experience-ui .amis-loading-reserve { isolation: isolate; }
html body.experience-ui .amis-loading-reserve::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 0 auto;
  height: 2px;
  pointer-events: none;
  border-radius: 2px;
  background: var(--experience-focus, #176ca4);
  opacity: .45;
}
html body.experience-ui .amis-loading-initial > :not([data-amis-loading-placeholder]):not([data-amis-loading-status]) { display: none; }
html body.experience-ui .amis-loading-announcement {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
html body.experience-ui .amis-skeleton {
  box-sizing: border-box;
  inline-size: 100%;
  color: transparent;
  pointer-events: none;
  user-select: none;
}
html body.experience-ui div.amis-skeleton { padding: 16px; }
html body.experience-ui tr.amis-skeleton > td { padding: 8px 12px; }
html body.experience-ui .amis-skeleton-rows { display: grid; gap: 12px; inline-size: 100%; }
html body.experience-ui .amis-skeleton-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-block-size: 30px;
}
html body.experience-ui .amis-skeleton-line {
  display: block;
  flex: 0 1 auto;
  block-size: 12px;
  max-inline-size: 100%;
  border-radius: 4px;
  background: var(--surface-3, #eaf0f5);
  animation: amis-skeleton-breathe 1.8s ease-in-out infinite alternate;
}
html body.experience-ui .amis-skeleton-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
html body.experience-ui .amis-skeleton-block {
  display: grid;
  align-content: center;
  gap: 20px;
  min-block-size: 128px;
  padding: 20px;
  border-radius: 12px;
  background: var(--surface-2, #f7f9fb);
}
html body.experience-ui .amis-skeleton-form .amis-skeleton-row { min-block-size: 36px; }
html body.experience-ui .amis-skeleton-dashboard .amis-skeleton-grid { min-block-size: 320px; }
@keyframes amis-skeleton-breathe { from { opacity: .55; } to { opacity: 1; } }
@media (max-width: 620px) {
  html body.experience-ui :is(#vehiclesLoadStatus,#fleetVehiclesFeedback) { min-block-size: 64px; }
  html body.experience-ui .amis-skeleton-grid { grid-template-columns: 1fr; gap: 12px; }
  html body.experience-ui .amis-skeleton-block { min-block-size: 88px; padding: 16px; gap: 12px; }
  html body.experience-ui div.amis-skeleton { padding: 12px; }
  html body.experience-ui .amis-skeleton-row { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html body.experience-ui .amis-skeleton-line { animation: none; opacity: .8; }
}
@media (forced-colors: active) {
  html body.experience-ui .amis-skeleton-line { background: GrayText; }
  html body.experience-ui .amis-loading-reserve::after { background: Highlight; }
}
