/* v2.99.103 — iOS Safari does not focus-zoom form fields with computed text >=16px.
   Do not alter the viewport scale or disable user pinch zoom. Screen only, so A3 exports remain unchanged. */
@media screen and (max-width: 900px) and (hover: none) {
  body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  body textarea,
  body select {
    font-size: 16px !important;
  }
  .bc-stock-modal {
    overflow-x: hidden;
    overflow-y: auto;
    max-width: 100vw;
    padding: 14px;
  }
  .bc-stock-modal-card {
    box-sizing: border-box;
    width: 100%;
    max-width: min(490px, calc(100vw - 28px));
    min-width: 0;
    overflow-wrap: break-word;
  }
  .bc-stock-modal-actions { min-width: 0; }
  .bc-stock-modal-actions button { min-width: 0; overflow-wrap: break-word; }
}

/* Small animated status indicators for the four dashboard navigation tiles. */
body :is(.dashboard-switch-top,.documents-tabs[aria-label="Dashboards"]) > :is(a,button) {
  position: relative !important;
}
body :is(.dashboard-switch-top,.documents-tabs[aria-label="Dashboards"]) > :is(a,button) .bc-nav-live-dot {
  position: absolute !important;
  top: 9px;
  right: 9px;
  width: 8px;
  height: 8px;
  box-sizing: border-box;
  flex: none;
  border-radius: 50%;
  background: #23a469;
  border: 1px solid #effff6;
  box-shadow: 0 0 0 2px rgba(35,164,105,.13), 0 0 7px rgba(35,164,105,.4);
  pointer-events: none;
  z-index: 2;
  animation: bc-nav-pulse 2.6s ease-in-out infinite;
}
body :is(.dashboard-switch-top,.documents-tabs[aria-label="Dashboards"]) > :is(a,button) .bc-nav-live-dot[data-state="off"] {
  background: #ee9c22;
  border-color: #fff2d5;
  box-shadow: 0 0 0 2px rgba(238,156,34,.14), 0 0 7px rgba(238,156,34,.40);
}
body :is(.dashboard-switch-top,.documents-tabs[aria-label="Dashboards"]) > :is(a,button) .bc-nav-live-dot[data-state="checking"] {
  background: #a9a3a3;
  border-color: #f6f1ed;
  box-shadow: none;
  animation: none;
}
@keyframes bc-nav-pulse { 0%, 100% { opacity: 1; transform:scale(1); } 50% { opacity:.55; transform:scale(.80); } }
@media (prefers-reduced-motion: reduce) { body .bc-nav-live-dot { animation:none!important; } }
@media print { body .bc-nav-live-dot { display:none!important; } }
