/* Keep navigation and financial tables usable on narrow screens. */
.page-wrapper, .content-wrapper, .content-area-table, .data-table-info { min-width: 0; max-width: 100%; }
.content-wrapper { box-sizing: border-box; }
.data-table-info { flex-wrap: wrap; gap: 12px; }
.data-table-info input, .data-table-info select { max-width: 100%; min-width: 0; }
.content-wrapper input:not([type=checkbox]), .content-wrapper select { max-width: 100%; min-width: 0; box-sizing: border-box; }
.filter-controls { flex-wrap: wrap; max-width: 100%; min-width: 0; }
.content-area-top, .area-top-r, .date-range-wrapper, .rdrCalendarWrapper, .rdrDateRangeWrapper { max-width: 100%; min-width: 0; }
.rdrMonth { width: 100%; max-width: 100%; box-sizing: border-box; }
.rdrDateDisplayItem { min-width: 0; }
.rdrDateDisplayItem input { width: 100%; }
.content-wrapper div:has(> div > input[type=date]) { flex-wrap: wrap; }
.data-table-diagram { display: block; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.data-table-diagram table { width: 100%; min-width: 720px; }
.data-table-diagram th, .data-table-diagram td { font-size: 13px; line-height: 1.5; }
.data-table-diagram td { max-width: 320px; overflow-wrap: anywhere; }
.data-table-diagram a { overflow-wrap: anywhere; }
button, input, select { font-size: 14px; }
button { min-height: 40px; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid #148773; outline-offset: 3px; }
button:disabled { color: #64748b; background: #edf1f5; border-color: #d7dfe8; opacity: 1; cursor: not-allowed; }
.pagination .btn:disabled, .pagination button[disabled] { color: #526375 !important; background: #edf1f5 !important; border-color: #d7dfe8 !important; opacity: 1 !important; }
.sidebar-toggle-btn, .sidebar-close-btn { width: 44px; height: 44px; display: grid; place-items: center; flex-shrink: 0; }
.sidebar { overflow-x: hidden; overflow-y: auto; }
.sidebar .menu-link { min-height: 44px; border-radius: 6px; }
.sidebar-brand img { width: 42px; height: 42px; object-fit: contain; }
.topbar { min-height: 68px; padding-right: 170px; }
.topbar-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 18px; }
.admin-notification-button { position: fixed; z-index: 990; top: 14px; right: 16px; min-height: 40px; padding: 8px 12px; color: #fff; background: #087d69; border: 0; border-radius: 6px; font-size: 13px; font-weight: 600; }
.admin-notification-button:disabled { background: #e2f3ed; color: #146d55; }
.theme-toggle-btn { position: fixed !important; top: auto !important; bottom: 20px !important; right: 16px !important; width: 44px; height: 44px; z-index: 980; border-radius: 6px; }
.admin-sidebar-backdrop { position: fixed; inset: 0; border: 0; background: #0008; z-index: 998; cursor: default; }
.admin-sidebar-backdrop[hidden] { display: none; }
@media (min-width: 1200px) { .admin-sidebar-backdrop { display: none; } }
@media (max-width: 1199px) {
  .sidebar { width: 260px; max-width: calc(100vw - 44px); transition: transform .18s ease; }
  .sidebar:not(.sidebar-show) { transform: translateX(-100%) !important; visibility: hidden; pointer-events: none; }
  .sidebar.sidebar-show { transform: translateX(0) !important; visibility: visible; pointer-events: auto; }
  .content-wrapper { margin-left: 0 !important; padding: 84px 16px 72px; width: 100%; }
  .content-area-table { width: 100%; box-sizing: border-box; padding: 16px; }
  .topbar { padding-left: 16px; padding-right: 155px; }
  .topbar-title { font-size: 15px; }
  .admin-notification-button { top: 14px; right: 12px; padding: 8px 10px; font-size: 12px; }
  .data-table-info { align-items: stretch; }
  .data-table-info input, .data-table-info select { width: 100%; }
  .data-table-info > input.form-control { width: 100% !important; flex: 1 1 100%; }
  .data-table-title { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) { .sidebar { transition: none; } }
