/* Shared flat primary actions. Visual-only overrides keep each control's layout. */
:is(.button.primary, .button.dark, .primary-button, .mobile-page-fab,
    .mobile-create-action, .landing-button:not(.landing-button-white),
    .landing-tenant-form button, .inline-stock-form button, .date-day.selected,
    .consumable-list-body .inventory-fact-column .mobile-card-edit) {
  background: linear-gradient(115deg, #3788ff, #287cf2) !important;
  border-color: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
}
:is(.button.primary, .button.dark, .primary-button, .mobile-page-fab,
    .mobile-create-action, .landing-button:not(.landing-button-white),
    .landing-tenant-form button, .inline-stock-form button, .date-day.selected,
    .consumable-list-body .inventory-fact-column .mobile-card-edit):hover {
  background: linear-gradient(115deg, #2d7df4, #2272e7) !important;
}
:is(.button.primary, .button.dark, .primary-button, .mobile-page-fab,
    .mobile-create-action, .landing-button:not(.landing-button-white),
    .landing-tenant-form button, .inline-stock-form button, .date-day.selected,
    .consumable-list-body .inventory-fact-column .mobile-card-edit):active {
  background: linear-gradient(115deg, #2473e7, #1e69d8) !important;
}
:is(.button.primary, .button.dark, .primary-button, .mobile-page-fab,
    .mobile-create-action, .landing-button, .landing-tenant-form button):focus-visible {
  outline: 3px solid #8fbaff;
  outline-offset: 3px;
}

/* One range layout for analytics, payroll and platform payments. */
body .date-range-control.date-range-control {
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(150px, 210px) 16px minmax(150px, 210px) auto;
  align-items: center;
  gap: 12px;
  border: 1px solid #cdddff;
  border-radius: 17px;
  background: rgba(250, 252, 255, .6);
  box-shadow: none;
  box-sizing: border-box;
}
body .date-range-payroll.date-range-control { margin-bottom: 18px; }
body .date-range-control .date-range-field {
  position: relative;
  width: 100%;
  min-width: 0;
  height: 50px;
  margin: 0;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #dbe5f4;
  border-radius: 12px;
  background: rgba(255, 255, 255, .88);
  color: #1a304f;
  box-sizing: border-box;
  cursor: pointer;
}
body .date-range-field > svg {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  fill: none;
  stroke: #7b8daa;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
body .date-range-control .date-range-field input[type=date] {
  width: 100%; min-width: 0; max-width: 100%; height: 100%;
  padding: 0; border: 0; border-radius: inherit;
  background: transparent; box-shadow: none; font: inherit; color: inherit;
  box-sizing: border-box;
}
body .date-range-field.is-enhanced input[type=date] {
  position: absolute; inset: 0; z-index: 1; opacity: 0; cursor: pointer;
}
.date-range-field input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; cursor: pointer;
}
.date-range-value { display: none; }
.date-range-field.is-enhanced .date-range-value {
  display: block; white-space: nowrap; font-size: 16px; font-weight: 500;
  font-variant-numeric: tabular-nums; pointer-events: none;
}
.date-range-field.is-empty .date-range-value { color: #8292a8; }
body .date-range-field:focus-within { outline: 2px solid #8fbaff; outline-offset: 2px; }
.date-range-separator { display: block; text-align: center; color: #8d9db6; }
body .date-range-control .date-range-submit {
  width: auto; min-width: 0; height: 50px; min-height: 50px;
  grid-column: auto; align-self: center; margin: 0; padding: 0 22px;
  border-radius: 12px; white-space: nowrap;
}
.platform-payment-filters .date-range-control { flex: 0 1 auto; }
@media (max-width: 1100px) {
  .analytics-period-controls { flex-wrap: wrap; }
}
body .date-range-submit > svg { display: none; }
@media (max-width: 620px) {
  body .date-range-control.date-range-control {
    width: 100%; grid-template-columns: minmax(0, 1fr) 10px minmax(0, 1fr) 44px;
    padding: 8px; gap: 6px;
  }
  body .date-range-control .date-range-submit {
    grid-column: auto; width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 12px;
  }
  body .date-range-submit > span { display: none; }
  body .date-range-submit > svg {
    display: block; width: 23px; height: 23px; fill: none; stroke: currentColor;
    stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round;
  }
  body .date-range-control .date-range-field { height: 44px; padding: 0 6px; gap: 4px; }
  body .date-range-field > svg { width: 16px; height: 16px; flex-basis: 16px; }
  .date-range-field.is-enhanced .date-range-value { font-size: 13px; }
  .platform-body .platform-shell { padding: 16px; }
  .platform-shell .platform-payment-filters.form-card { padding: 12px; }
}
@media (max-width: 360px) {
  body .date-range-control.date-range-control { padding: 6px; gap: 4px; grid-template-columns: minmax(0, 1fr) 8px minmax(0, 1fr) 40px; }
  body .date-range-control .date-range-submit { width: 40px; height: 42px; min-height: 42px; }
  body .date-range-control .date-range-field { height: 42px; padding: 0 4px; gap: 4px; }
  body .date-range-field > svg { width: 14px; height: 14px; flex-basis: 14px; }
  .date-range-field.is-enhanced .date-range-value { font-size: 11px; }
}

.date-range-payroll ~ .stat-strip { grid-template-columns: minmax(210px, 1fr) 1fr 1fr; }
@media (max-width:620px) { .date-range-payroll ~ .stat-strip { grid-template-columns:minmax(0,1fr); } }
