html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

/* Delivered Bushels highlighting styles */
.delivered-orange {
  background-color: #ff9500 !important;
  color: white !important;
  padding: 4px 8px;
  border-radius: 3px;
  font-weight: bold;
}

.delivered-green {
  background-color: #28a745 !important;
  color: white !important;
  padding: 4px 8px;
  border-radius: 3px;
  font-weight: bold;
}

/* DevExtreme DataGrid minimum column width styles */
.dx-datagrid-headers .dx-datagrid-header-panel .dx-header-row .dx-datagrid-column {
  white-space: nowrap !important;
}

.dx-datagrid .dx-header-row td {
  white-space: nowrap !important;
}

/* Prevent column headers from wrapping */
.dx-datagrid-text-content {
  white-space: nowrap !important;
}

/* Profile Summary Alignment */
.profile-summary-aligned {
  position: relative;
  min-height: 32px;
  width: 100%;
}

.profile-summary-aligned [data-align-column] {
  position: absolute;
  white-space: nowrap;
  top: 50%;
  transform: translate(-50%, -50%);
}

.profile-summary-aligned .badge {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
}

/* Custom Popup Buttons - Sticky Footer */
.flatwater-buttons-customized .dx-popup-content {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding-bottom: 0 !important;
}

.flatwater-buttons-customized .dx-popup-content > .dx-scrollable,
.flatwater-buttons-customized .dx-popup-content > .dx-form {
  flex: 1 1 auto;
  overflow-y: auto !important;
  min-height: 0;
}

.flatwater-popup-buttons {
  flex: 0 0 auto;
  position: sticky;
  bottom: 0;
  margin-top: auto;
  margin-left: -16px;
  margin-right: -16px;
  padding-left: 16px;
  padding-right: 16px;
  z-index: 100;
}

/* Add breathing room between form fields in edit popups */
.dx-datagrid-edit-popup-form .dx-field-item {
  padding-bottom: 12px;
}

/* Hide DevExtreme's auto-generated EDIT icon in command columns.
   All grids use custom edit buttons in CellTemplates instead.
   Keep the delete icon visible. */
.dx-datagrid .dx-command-edit .dx-link-edit {
  display: none !important;
}

/* Marketing Plan Creator phase grids use the built-in edit icon
   instead of a custom CellTemplate — re-show it. */
#mpcPhase1Grid .dx-command-edit .dx-link-edit,
#mpcPhase2Grid .dx-command-edit .dx-link-edit,
#mpcPhase3Grid .dx-command-edit .dx-link-edit {
  display: inline-block !important;
}

/* Exposure Health — sidebar warning pulse animation */
@keyframes exposure-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

.exposure-warning-pulse {
  animation: exposure-pulse 2s ease-in-out infinite;
}

/* Marketing Plan Creator — allow phase grid column headers to wrap */
#mpcPhase1Grid .dx-header-row .dx-datagrid-text-content,
#mpcPhase2Grid .dx-header-row .dx-datagrid-text-content,
#mpcPhase3Grid .dx-header-row .dx-datagrid-text-content {
    white-space: normal !important;
}

/* Marketing Plan Creator — prevent Phase Total summary from truncating */
.phase-subtotal {
    white-space: nowrap;
    overflow: visible;
}

/* Marketing Plan Creator — Executed row highlight */
.mpc-row-implemented {
    background-color: #d4edda !important;
}

/* Marketing Plan Creator — Planning Target info-box labels: allow wrapping so
   "Bushels to Address" and "Remaining Unallocated" display without truncation.
   Specificity 0,3,0 overrides AdminLTE's .info-box .info-box-text at 0,2,0. */
.info-box .info-box-text.mpc-info-box-label {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}