:root {
  --forest-950: #132e1b;
  --forest-900: #1c4126;
  --forest-800: #234f2d;
  --forest-700: #356a3a;
  --leaf-500: #7faa4e;
  --leaf-100: #eaf2df;
  --gold-600: #c98b13;
  --gold-500: #dda92f;
  --gold-100: #fff3ce;
  --cream-50: #fffdf7;
  --cream-100: #f8f5e9;
  --cream-200: #eee8d7;
  --ink-900: #172019;
  --ink-700: #49534c;
  --ink-500: #727c74;
  --line: #dfe4dc;
  --danger: #b63c31;
  --danger-soft: #fff0ed;
  --shadow: 0 16px 48px rgba(26, 55, 31, 0.09);
  --radius-xl: 24px;
  --radius-lg: 17px;
  --radius-md: 12px;
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  background: var(--cream-100);
}

body {
  min-height: 100vh;
  margin: 0;
  color: var(--ink-900);
  background:
    radial-gradient(circle at 9% 4%, rgba(221, 169, 47, 0.13), transparent 23rem),
    linear-gradient(180deg, #f8f6ed 0, #f4f1e7 100%);
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.45;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  -webkit-tap-highlight-color: transparent;
}

.app-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 20px clamp(20px, 4vw, 64px);
  color: #fff;
  background: var(--forest-950);
  border-bottom: 4px solid var(--gold-500);
  overflow: hidden;
}

.app-header::after {
  position: absolute;
  right: -80px;
  bottom: -150px;
  width: 360px;
  height: 360px;
  content: "";
  border: 58px solid rgba(127, 170, 78, 0.09);
  border-radius: 50%;
  pointer-events: none;
}

.brand-block,
.header-tools {
  position: relative;
  z-index: 1;
}

.brand-block {
  display: flex;
  align-items: center;
  gap: 24px;
  min-width: 0;
}

.brand-logo-wrap {
  display: grid;
  width: 242px;
  min-width: 242px;
  height: 92px;
  padding: 8px 13px;
  place-items: center;
  background: var(--cream-50);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
}

.brand-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand-copy {
  min-width: 0;
}

.brand-copy h1 {
  margin: 2px 0 3px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.03;
  letter-spacing: -0.04em;
}

.brand-copy > p:last-child {
  max-width: 480px;
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
}

.eyebrow,
.section-kicker {
  margin: 0;
  color: var(--gold-500);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.header-tools {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 11px;
  flex-shrink: 0;
}

.header-status-row,
.header-account-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}

.header-status-row {
  min-height: 25px;
  gap: 16px;
}

.header-account-row {
  flex-wrap: wrap;
}

.save-indicator {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 13px;
}

.sync-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
}

.sync-status.conflict {
  cursor: pointer;
}

.sync-status:focus-visible {
  outline: 2px solid var(--gold-400);
  outline-offset: 4px;
  border-radius: 6px;
}

.sync-dot {
  width: 8px;
  height: 8px;
  background: #aab2aa;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.07);
}

.sync-status.online .sync-dot,
.sync-status.synced .sync-dot {
  background: #8bc25b;
  box-shadow: 0 0 0 4px rgba(139, 194, 91, 0.13);
}

.sync-status.local .sync-dot {
  background: var(--gold-500);
  box-shadow: 0 0 0 4px rgba(221, 169, 47, 0.13);
}

.sync-status.syncing .sync-dot {
  background: var(--gold-500);
  box-shadow: 0 0 0 4px rgba(221, 169, 47, 0.13);
  animation: sync-pulse 1.4s ease-in-out infinite;
}

.sync-status.offline .sync-dot {
  background: #aab2aa;
}

.sync-status.error .sync-dot,
.sync-status.conflict .sync-dot {
  background: #f47d70;
  box-shadow: 0 0 0 4px rgba(244, 125, 112, 0.13);
}

.current-user-badge {
  min-height: 35px;
  padding: 7px 12px;
  color: #fff9e8;
  background: rgba(221, 169, 47, 0.13);
  border: 1px solid rgba(221, 169, 47, 0.3);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
  line-height: 19px;
  white-space: nowrap;
}

@keyframes sync-pulse {
  50% {
    opacity: 0.42;
    transform: scale(0.78);
  }
}

.status-dot {
  width: 8px;
  height: 8px;
  background: var(--gold-500);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(221, 169, 47, 0.13);
}

.save-indicator.saved .status-dot {
  background: #8bc25b;
  box-shadow: 0 0 0 4px rgba(139, 194, 91, 0.13);
}

.save-indicator.error .status-dot {
  background: #f47d70;
  box-shadow: 0 0 0 4px rgba(244, 125, 112, 0.13);
}

.backup-actions,
.section-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}

.button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 16px;
  color: var(--forest-900);
  background: #fff;
  border: 1px solid transparent;
  border-radius: 11px;
  font-weight: 750;
  line-height: 1;
  cursor: pointer;
  transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease, border-color 150ms ease;
}

.button:hover {
  transform: translateY(-1px);
}

.button:active {
  transform: translateY(0);
}

.button:disabled,
.icon-button:disabled {
  opacity: 0.48;
  cursor: not-allowed;
  transform: none;
}

.button:focus-visible,
.tab-button:focus-visible,
.icon-button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(221, 169, 47, 0.35);
  outline-offset: 2px;
}

.button-primary {
  color: #fff;
  background: var(--forest-800);
  box-shadow: 0 8px 20px rgba(35, 79, 45, 0.19);
}

.button-primary:hover {
  background: var(--forest-700);
}

.app-header .button-secondary {
  color: var(--forest-950);
  background: var(--gold-500);
}

.button-secondary {
  color: var(--forest-800);
  background: var(--leaf-100);
  border-color: #cadbb8;
}

.button-quiet {
  color: rgba(255, 255, 255, 0.86);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.15);
}

.button-compact {
  min-height: 35px;
  padding: 7px 11px;
  border-radius: 9px;
  font-size: 12px;
}

.workspace-panel .button-quiet,
.overview-panel .button-quiet,
.warehouse-dialog .button-quiet {
  color: var(--forest-800);
  background: #fff;
  border-color: var(--line);
}

.app-shell {
  width: min(1540px, calc(100% - 40px));
  margin: 28px auto 0;
}

.tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 1120px;
  padding: 7px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 8px 28px rgba(26, 55, 31, 0.07);
  backdrop-filter: blur(12px);
}

.crop-context-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 17px;
  padding: 15px 18px 15px 22px;
  background: rgba(255, 253, 247, 0.82);
  border: 1px solid var(--line);
  border-radius: 17px;
  box-shadow: 0 8px 24px rgba(26, 55, 31, 0.06);
}

.crop-context-bar h2 {
  margin: 1px 0 0;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.processing-control {
  display: grid;
  min-width: 500px;
  max-width: 720px;
  flex: 1 1 620px;
  gap: 4px;
  margin-left: auto;
}

.processing-control > label {
  color: var(--ink-700);
  font-size: 12px;
  font-weight: 900;
}

.processing-control-row {
  display: flex;
  align-items: center;
  gap: 7px;
}

.processing-control select,
.processing-control input {
  height: 42px;
  padding: 7px 34px 7px 11px;
  color: var(--forest-900);
  background: #fff;
  border: 1px solid #b8c9ad;
  border-radius: 10px;
  font: inherit;
  font-weight: 850;
}

.processing-control-row > select {
  width: 138px;
  flex: 0 0 138px;
}

.processing-filter-values {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  gap: 7px;
}

.processing-filter-values[hidden] {
  display: none;
}

.processing-filter-values > input,
.processing-filter-values > select {
  width: 100%;
}

.processing-period label {
  display: flex;
  min-width: 0;
  flex: 1 1 0;
  align-items: center;
  gap: 5px;
  color: var(--ink-500);
  font-size: 11px;
  font-weight: 800;
}

.processing-period input {
  width: 100%;
  min-width: 0;
}

.processing-control small {
  color: var(--ink-500);
  font-size: 10px;
}

.overview-panel {
  margin-top: 17px;
  padding: clamp(18px, 2.5vw, 28px);
  background:
    linear-gradient(135deg, rgba(255, 253, 247, 0.98), rgba(248, 245, 233, 0.94)),
    #fff;
  border: 1px solid rgba(214, 221, 211, 0.95);
  border-radius: var(--radius-xl);
  box-shadow: 0 12px 34px rgba(26, 55, 31, 0.07);
}

.overview-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.overview-heading h2 {
  margin: 3px 0 0;
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.overview-heading > p {
  max-width: 560px;
  margin: 0;
  color: var(--ink-500);
  text-align: right;
}

.overview-summary,
.summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: 11px;
  margin-top: 18px;
}

.all-crops-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(230px, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.all-crops-summary.single-crop {
  grid-template-columns: minmax(260px, 1fr);
}

.crop-balance-card {
  padding: 15px 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.crop-balance-card.active {
  border-color: #a7c08a;
  box-shadow: 0 0 0 2px rgba(116, 151, 78, 0.12);
}

.crop-balance-card header {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 11px;
}

.crop-balance-card header small {
  margin-left: auto;
  color: var(--ink-500);
  font-size: 10px;
  font-weight: 800;
}

.crop-summary-mark {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: #fff;
  background: var(--forest-800);
  border-radius: 9px;
  font-weight: 900;
}

.crop-summary-mark.soy { background: #597d42; }
.crop-summary-mark.buckwheat { background: #805a39; }

.crop-balance-card dl,
.crop-balance-card dd {
  margin: 0;
}

.crop-balance-card dl > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 0;
  color: var(--ink-500);
  font-size: 12px;
}

.crop-balance-card dd {
  color: var(--ink-900);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.crop-balance-card .balance-line {
  margin-top: 5px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}

.negative-value { color: var(--danger) !important; }

.overview-card,
.summary-card,
.kpi-card {
  position: relative;
  min-height: 112px;
  padding: 15px 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 15px;
  overflow: hidden;
}

.overview-card::before,
.summary-card::before,
.kpi-card::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  content: "";
  background: var(--gold-500);
}

.overview-card small,
.overview-card span,
.summary-card small,
.kpi-card small {
  display: block;
  color: var(--ink-500);
}

.overview-card strong,
.summary-card strong,
.kpi-card strong {
  display: block;
  margin-top: 5px;
  color: var(--forest-900);
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}

.overview-card em,
.summary-card em,
.kpi-card em {
  color: var(--ink-500);
  font-size: 12px;
  font-style: normal;
}

.overview-card.primary,
.summary-card.primary,
.kpi-card.primary {
  color: #fff;
  background: var(--forest-800);
  border-color: var(--forest-800);
}

.overview-card.primary strong,
.overview-card.primary small,
.overview-card.primary span,
.overview-card.primary em,
.summary-card.primary strong,
.summary-card.primary small,
.kpi-card.primary strong,
.kpi-card.primary small {
  color: inherit;
}

.overview-card.warning::before,
.summary-card.warning::before,
.balance-warning::before {
  background: #df8a20;
}

.overview-card.husk::before {
  background: #8e6b2f;
}

.overview-card.negative,
.summary-card.negative,
.balance-negative {
  background: var(--danger-soft);
  border-color: #efc7c1;
}

.overview-card.negative::before,
.summary-card.negative::before,
.balance-negative::before {
  background: var(--danger);
}

.field-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 11px;
  margin-top: 11px;
}

.field-summary:empty {
  display: none;
}

.field-summary-card,
.combine-summary-card,
.breakdown-card {
  padding: 14px 16px;
  background: rgba(234, 242, 223, 0.58);
  border: 1px solid #d9e6ca;
  border-radius: 14px;
}

.field-summary-card header,
.combine-summary-card header,
.breakdown-card header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}

.field-summary-card strong,
.combine-summary-card strong,
.breakdown-card strong {
  color: var(--forest-900);
}

.field-summary-card p,
.combine-summary-card p,
.breakdown-card p {
  margin: 3px 0 0;
  color: var(--ink-700);
  font-size: 13px;
}

.field-summary-card.completed {
  background: rgba(243, 237, 218, 0.78);
  border-color: #dfcf9f;
}

.field-status-badge {
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}

.field-status-badge.active {
  color: var(--forest-800);
  background: #dfecd4;
}

.field-status-badge.completed {
  color: #74521e;
  background: #f2dfaa;
}

.field-closed-value {
  color: #74521e !important;
}

.mode-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
  padding: 5px;
  background: var(--cream-100);
  border: 1px solid var(--cream-200);
  border-radius: 13px;
}

.mode-button {
  display: flex;
  min-height: 42px;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 10px;
  color: var(--ink-700);
  line-height: 1.2;
  text-align: center;
  background: transparent;
  border: 0;
  border-radius: 9px;
  font-weight: 800;
  cursor: pointer;
}

.mode-button span {
  display: inline-grid;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  place-items: center;
  color: var(--forest-800);
  background: var(--leaf-100);
  border-radius: 7px;
  font-family: Georgia, serif;
}

.mode-button.active {
  color: #fff;
  background: var(--forest-800);
  box-shadow: 0 7px 17px rgba(35, 79, 45, 0.17);
}

.mode-button.active span {
  color: #704b06;
  background: var(--gold-500);
}

.tab-button {
  display: flex;
  min-height: 68px;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  color: var(--ink-700);
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 13px;
  cursor: pointer;
}

.tab-button.active {
  color: #fff;
  background: var(--forest-800);
  box-shadow: 0 10px 22px rgba(35, 79, 45, 0.2);
}

.tab-button > span:last-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.tab-button strong {
  font-size: 15px;
}

.tab-button small {
  color: var(--ink-500);
  font-size: 12px;
}

.tab-button.active small {
  color: rgba(255, 255, 255, 0.66);
}

.tab-icon,
.empty-mark {
  display: inline-grid;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--forest-800);
  background: var(--gold-100);
  border-radius: 11px;
  font-family: Georgia, serif;
  font-size: 20px;
  font-weight: 800;
}

.tab-icon.wheat,
.empty-mark.crop {
  color: #69490d;
  background: #f7e5a7;
}

.tab-icon.soy {
  color: #315531;
  background: #dcebd2;
}

.tab-icon.buckwheat {
  color: #713e2b;
  background: #f2ddd1;
}

.workspace-panel {
  margin-top: 18px;
  padding: clamp(20px, 3vw, 36px);
  background: rgba(255, 253, 247, 0.93);
  border: 1px solid rgba(214, 221, 211, 0.92);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
}

.section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
}

.section-heading h2,
.dialog-heading h2 {
  margin: 3px 0 4px;
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.1;
  letter-spacing: -0.035em;
}

.section-heading p:last-child {
  max-width: 750px;
  margin: 0;
  color: var(--ink-700);
}

.harvest-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.sort-button.active {
  color: #fff;
  background: var(--forest-800);
  border-color: var(--forest-800);
}

.formula-strip {
  display: flex;
  align-items: center;
  gap: clamp(12px, 2.5vw, 28px);
  margin: 25px 0 18px;
  padding: 15px 18px;
  color: var(--ink-700);
  background: var(--cream-100);
  border: 1px solid var(--cream-200);
  border-radius: var(--radius-lg);
}

.formula-strip > div {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.formula-strip .formula-wide {
  flex: 1 1 420px;
}

.formula-strip .formula-wide small {
  white-space: normal;
}

.formula-strip p {
  display: flex;
  margin: 0;
  flex-direction: column;
}

.formula-strip small {
  color: var(--ink-500);
  white-space: nowrap;
}

.formula-number {
  display: inline-grid;
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
  place-items: center;
  color: #fff;
  background: var(--forest-800);
  border-radius: 50%;
  font-size: 12px;
  font-weight: 800;
}

.formula-arrow {
  color: #b6bcae;
  font-size: 20px;
}

.table-card {
  position: relative;
  min-height: 196px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.table-scroll {
  width: 100%;
  overflow-x: auto;
}

.data-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.vehicle-table {
  min-width: 1320px;
}

.crop-table {
  min-width: 1510px;
}

.data-table th,
.data-table td {
  padding: 12px 10px;
  text-align: left;
  border-bottom: 1px solid #edf0eb;
}

.data-table th:first-child,
.data-table td:first-child {
  padding-left: 18px;
}

.data-table th:last-child,
.data-table td:last-child {
  padding-right: 16px;
}

.data-table thead th {
  height: 50px;
  color: var(--ink-700);
  background: #f7f8f4;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.075em;
  text-transform: uppercase;
  white-space: nowrap;
}

.data-table thead th.calculated {
  color: var(--forest-700);
  background: #f0f5eb;
}

.data-table thead th.editable {
  color: #73520d;
  background: #fff7df;
}

.data-table thead th.difference {
  color: #76491c;
  background: #fbf1e7;
}

.data-table th.numeric,
.data-table td.numeric {
  text-align: right;
}

.data-table tbody tr {
  transition: background 140ms ease;
}

.data-table tbody tr:hover {
  background: #fbfcf9;
}

.data-table tbody tr.invalid-row {
  background: var(--danger-soft);
}

.data-table tbody tr.saving-row {
  opacity: 0.72;
}

.data-table tbody tr.dragging,
.data-table tbody tr.is-dragging {
  opacity: 0.42;
  background: var(--gold-100);
}

.data-table tbody tr.drag-over,
.data-table tbody tr.drop-target {
  box-shadow: inset 0 3px 0 var(--gold-500);
}

.drag-column {
  width: 46px;
  min-width: 46px;
  padding-inline: 5px !important;
  text-align: center !important;
}

.drag-handle,
.row-drag-handle,
.column-drag-handle,
.manager-drag-handle {
  display: inline-grid;
  width: 34px;
  height: 38px;
  padding: 0;
  place-items: center;
  color: #899087;
  background: transparent;
  border: 0;
  border-radius: 9px;
  font-size: 19px;
  line-height: 1;
  cursor: grab;
  user-select: none;
}

.drag-handle:hover,
.row-drag-handle:hover,
.column-drag-handle:hover,
.manager-drag-handle:hover {
  color: var(--forest-800);
  background: var(--leaf-100);
}

.drag-handle:active,
.row-drag-handle:active,
.column-drag-handle:active,
.manager-drag-handle:active {
  cursor: grabbing;
}

.row-drag-handle:disabled {
  opacity: 0.32;
  cursor: default;
}

.row-drag-handle:disabled:hover {
  color: #899087;
  background: transparent;
}

.data-table thead th.column-draggable,
.data-table thead th[data-column-id] {
  position: relative;
  color: #73520d;
  background: #fff7df;
  cursor: grab;
}

.auto-column-label,
.manual-column-label {
  display: block;
  margin-top: 2px;
  color: #9a7425;
  font-size: 9px;
  letter-spacing: 0.04em;
  text-transform: none;
}

.manual-column-label {
  color: #9b7d40;
}

.data-table .auto-combine-value {
  color: var(--forest-800);
  background: #f4f8ee;
  border-color: #d7e4ca;
  font-weight: 850;
}

.data-table .auto-combine-value.negative {
  color: var(--danger);
  background: var(--danger-soft);
  border-color: #f1cbc6;
}

.data-table thead th.column-draggable.drag-over,
.data-table thead th[data-column-id].drag-over {
  box-shadow: inset 3px 0 0 var(--gold-500);
}

.data-table input,
.data-table select,
.add-warehouse-form input,
.warehouse-name-input {
  width: 100%;
  height: 42px;
  padding: 8px 10px;
  color: var(--ink-900);
  background: #fff;
  border: 1px solid #d3d9d0;
  border-radius: 9px;
}

.data-table input:hover,
.data-table select:hover,
.add-warehouse-form input:hover,
.warehouse-name-input:hover {
  border-color: #aeb9ab;
}

.data-table input[type="number"],
.data-table input.input-number {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.data-table .readonly-value {
  display: flex;
  min-width: 86px;
  min-height: 42px;
  align-items: center;
  justify-content: flex-end;
  padding: 8px 10px;
  color: var(--forest-800);
  background: #f1f5ed;
  border: 1px solid #dfe9d6;
  border-radius: 9px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.data-table .akros-input {
  background: #fffaf0;
  border-color: #ebce83;
  font-weight: 750;
}

.data-table .allocation-input,
.data-table [data-allocation] {
  background: #fffaf0;
  border-color: #ebce83;
  font-weight: 750;
}

.data-table .allocation-input.auto-value,
.data-table [data-allocation].auto-value {
  color: var(--forest-800);
  background: #f4f8ee;
  border-color: #d7e4ca;
}

.data-table .storage-netto-input {
  background: #fffaf0;
  border-color: #ebce83;
  font-weight: 750;
}

.data-table .storage-netto-input.auto-value {
  color: var(--forest-800);
  background: #f4f8ee;
  border-color: #d7e4ca;
}

.data-table .difference-value {
  color: #8d5a16;
  background: #fff6e9;
  border-color: #f1dfc7;
}

.data-table .difference-value.negative {
  color: var(--danger);
  background: var(--danger-soft);
  border-color: #f1cbc6;
}

.data-table .field-error,
.data-table .input-error,
.field-form .input-error,
.warehouse-dialog .input-error {
  border-color: var(--danger);
  box-shadow: 0 0 0 3px rgba(182, 60, 49, 0.1);
}

.actions-column {
  width: 54px;
  text-align: center !important;
}

.icon-button {
  display: inline-grid;
  width: 38px;
  height: 38px;
  padding: 0;
  place-items: center;
  color: var(--ink-500);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
}

.icon-button:hover {
  color: var(--danger);
  background: var(--danger-soft);
  border-color: #f1d2ce;
}

.data-table tfoot td,
.data-table tfoot th {
  color: var(--forest-900);
  background: var(--leaf-100);
  border-bottom: 0;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.empty-state {
  display: grid;
  min-height: 260px;
  padding: 34px 20px;
  text-align: center;
  place-items: center;
  place-content: center;
}

.empty-state[hidden] {
  display: none;
}

.empty-state .empty-mark {
  width: 48px;
  height: 48px;
  margin-bottom: 9px;
}

.empty-state h3 {
  margin: 0;
  font-size: 19px;
}

.empty-state p {
  max-width: 390px;
  margin: 5px 0 16px;
  color: var(--ink-500);
}

.table-note {
  margin: 13px 4px 0;
  color: var(--ink-500);
  font-size: 13px;
}

.table-bottom-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 13px;
  padding: 12px 14px;
  background: rgba(248, 245, 233, 0.82);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.table-filter-summary {
  margin: 0;
  color: var(--ink-500);
  font-size: 13px;
  font-weight: 750;
}

.warehouse-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin: 24px 0 17px;
}

.purpose-select.seed {
  color: #80520e;
  background: #fff7df;
  border-color: #e9cf8b;
}

.warehouse-summary-card {
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 15px;
}

.warehouse-summary-card.overall {
  color: #fff;
  background: var(--forest-800);
  border-color: var(--forest-800);
}

.warehouse-summary-card.warning {
  background: #fff6e9;
  border-color: #e8c681;
}

.warehouse-summary-card small,
.warehouse-summary-card strong {
  display: block;
}

.warehouse-summary-card small {
  color: var(--ink-500);
}

.warehouse-summary-card.overall small {
  color: rgba(255, 255, 255, 0.65);
}

.warehouse-summary-card strong {
  margin-top: 3px;
  font-size: 24px;
  font-variant-numeric: tabular-nums;
}

.summary-breakdown {
  display: grid;
  gap: 3px;
  margin-top: 9px;
  color: var(--ink-500);
  font-size: 12px;
  line-height: 1.35;
}

.summary-breakdown span {
  display: block;
}

.summary-breakdown-light {
  color: rgba(255, 255, 255, 0.82);
}

.warehouse-dialog {
  width: min(610px, calc(100% - 28px));
  max-height: calc(100vh - 42px);
  padding: 0;
  color: var(--ink-900);
  background: var(--cream-50);
  border: 0;
  border-radius: 22px;
  box-shadow: 0 24px 80px rgba(19, 46, 27, 0.28);
}

.warehouse-dialog.field-dialog {
  width: min(1120px, calc(100% - 28px));
}

.field-dialog .warehouse-list {
  max-height: 430px;
}

.warehouse-dialog::backdrop {
  background: rgba(14, 33, 20, 0.58);
  backdrop-filter: blur(3px);
}

.dialog-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 25px 26px 14px;
}

.dialog-heading h2 {
  font-size: 27px;
}

.dialog-close,
.icon-button.class-dialog-close,
.icon-button.transfer-dialog-close,
.icon-button.processing-dialog-close,
.icon-button.audit-dialog-close {
  color: var(--ink-700);
  background: var(--cream-100);
  border-color: var(--cream-200);
  font-size: 24px;
}

.add-warehouse-form {
  padding: 10px 26px 20px;
}

.add-warehouse-form label {
  display: block;
  margin-bottom: 6px;
  color: var(--ink-700);
  font-size: 12px;
  font-weight: 800;
}

.add-warehouse-form > div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 9px;
}

.warehouse-list {
  max-height: 320px;
  padding: 0 26px;
  overflow-y: auto;
}

.warehouse-list-item {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}

.warehouse-list-item small {
  display: block;
  margin-top: 3px;
  color: var(--ink-500);
  font-size: 11px;
}

.item-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}

.dialog-empty {
  margin: 0;
  padding: 20px 0;
  color: var(--ink-500);
  text-align: center;
}

.field-form {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) minmax(95px, 0.35fr) minmax(130px, 0.7fr) auto;
  align-items: end;
  gap: 10px;
  padding: 10px 26px 20px;
}

.field-form label {
  display: grid;
  gap: 6px;
  color: var(--ink-700);
  font-size: 12px;
  font-weight: 800;
}

.field-form input,
.field-form select,
.field-name-input,
.field-hectares-input,
.field-variety-input,
.field-status-input,
.field-husk-input,
.column-name-input {
  width: 100%;
  height: 42px;
  padding: 8px 10px;
  color: var(--ink-900);
  background: #fff;
  border: 1px solid #d3d9d0;
  border-radius: 9px;
}

.field-status-explainer {
  margin: 0 26px 14px;
  padding: 12px 14px;
  color: var(--ink-700);
  background: #f6f1df;
  border: 1px solid #e7d8aa;
  border-radius: 12px;
}

.field-status-explainer strong {
  color: var(--forest-900);
}

.field-status-explainer p {
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 1.45;
}

.field-hectares-input {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.field-list-item,
.column-list-item,
.manager-list-item {
  display: grid;
  grid-template-columns: auto minmax(130px, 1fr) minmax(90px, 0.32fr) minmax(125px, 0.65fr) auto;
  align-items: center;
  gap: 9px;
}

.field-list-item {
  grid-template-columns: auto minmax(170px, 1fr) minmax(82px, 0.32fr) minmax(125px, 0.62fr) minmax(112px, 0.48fr) minmax(155px, 0.72fr) auto;
  padding: 13px 0;
}

.field-list-item.completed {
  margin: 0 -8px;
  padding-right: 8px;
  padding-left: 8px;
  background: rgba(246, 239, 218, 0.62);
  border-radius: 11px;
}

.field-manager-main {
  min-width: 0;
}

.field-status-input {
  font-weight: 800;
}

.field-state-control {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.field-waste-choice {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  color: var(--ink-700);
  font-size: 10px;
  font-weight: 750;
  line-height: 1.25;
}

.field-waste-choice input {
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: var(--forest-700);
}

.field-status-input.active {
  color: var(--forest-800);
  background: #f4f8ee;
}

.field-status-input.completed {
  color: #74521e;
  background: #fff7de;
  border-color: #dfc883;
}

.field-husk-control {
  display: grid;
  min-width: 0;
  gap: 3px;
  color: var(--ink-700);
  font-size: 10px;
  font-weight: 800;
}

.field-husk-control small {
  margin: 0;
  line-height: 1.2;
}

.field-husk-input {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.field-husk-input:disabled {
  color: var(--ink-500);
  background: var(--cream-100);
}

.column-list-item {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.field-list-item.dragging,
.column-list-item.dragging,
.manager-list-item.dragging {
  opacity: 0.48;
}

.field-list-item.drag-over,
.column-list-item.drag-over,
.manager-list-item.drag-over {
  box-shadow: inset 0 3px 0 var(--gold-500);
}

.dialog-note {
  margin: 18px 26px 24px;
  color: var(--ink-500);
  font-size: 12px;
}

/* Движение, классы и состав складов */
.movement-panel {
  border-top: 4px solid var(--gold-500);
}

.movement-heading {
  align-items: center;
}

.movement-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.movement-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  gap: 12px;
  margin: 24px 0 18px;
}

.movement-summary:empty,
.movement-list:empty,
.audit-list:empty {
  display: none;
}

.movement-summary-card,
.inventory-composition-card,
.movement-stat-card {
  min-width: 0;
  padding: 16px 17px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 15px;
}

.movement-summary-card.overall,
.movement-stat-card.overall {
  color: #fff;
  background: var(--forest-800);
  border-color: var(--forest-800);
}

.movement-summary-card.warning,
.movement-stat-card.warning {
  background: #fff7e4;
  border-color: #ead196;
}

.movement-summary-card small,
.movement-summary-card strong,
.movement-stat-card small,
.movement-stat-card strong {
  display: block;
}

.movement-summary-card small,
.movement-stat-card small {
  color: var(--ink-500);
}

.movement-summary-card.overall small,
.movement-stat-card.overall small {
  color: rgba(255, 255, 255, 0.7);
}

.movement-summary-card strong,
.movement-stat-card strong {
  margin-top: 3px;
  font-size: 23px;
  font-variant-numeric: tabular-nums;
}

.movement-ledgers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 16px;
}

.movement-ledger {
  min-width: 0;
  padding: 18px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--line);
  border-radius: 18px;
}

.realization-ledger {
  grid-column: 1 / -1;
  background: linear-gradient(180deg, rgba(255, 251, 239, 0.95), rgba(255, 255, 255, 0.78));
  border-color: #e4d8ba;
}

.realization-panel {
  border-top: 4px solid var(--gold-500);
}

.realization-heading {
  align-items: center;
}

.realization-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.realization-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.realization-summary .movement-summary-card:not(.overall) {
  background: #fffdf8;
  border-color: #e8dfc8;
}

.realization-bottom-actions {
  border-color: #e4d8ba;
}

.realization-ledger .movement-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.movement-card.realization-card {
  border-left-color: #b88022;
}

/* Separate warehouse overview and management workspace */
.warehouse-management-panel {
  border-top: 4px solid var(--leaf-500);
}

.processing-control[hidden],
.overview-panel[hidden] {
  display: none;
}

.warehouse-management-heading {
  align-items: center;
}

.warehouse-management-summary {
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
}

.warehouse-management-list {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.warehouse-management-card {
  min-width: 0;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(26, 55, 31, 0.06);
}

.warehouse-management-card-heading {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  align-items: center;
  gap: 16px;
  padding: 17px 18px;
  background: linear-gradient(135deg, #f4f8ee, #fffdf7 72%);
  border-bottom: 1px solid var(--line);
}

.warehouse-management-card-heading > div:first-child,
.warehouse-management-total {
  min-width: 0;
}

.warehouse-management-card-heading > div:first-child > small,
.warehouse-management-total small {
  display: block;
  margin-top: 4px;
  color: var(--ink-500);
  font-size: 11px;
  font-weight: 700;
}

.warehouse-management-name {
  width: 100%;
  min-width: 0;
  height: 43px;
  padding: 7px 10px;
  color: var(--forest-950);
  background: #fff;
  border: 1px solid #ccd6c8;
  border-radius: 10px;
  font-size: 18px;
  font-weight: 850;
  letter-spacing: -0.015em;
}

.warehouse-management-name:hover {
  border-color: #9fae9c;
}

.warehouse-management-total {
  text-align: right;
  white-space: nowrap;
}

.warehouse-management-total strong {
  display: block;
  color: var(--forest-900);
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}

.warehouse-crops-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 12px;
  padding: 16px;
}

.warehouse-crops-grid > .dialog-empty {
  grid-column: 1 / -1;
  padding: 24px 12px;
}

.warehouse-crop-stock {
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.warehouse-crop-stock.active-crop {
  border-color: #b9d39f;
  box-shadow: inset 0 3px 0 var(--leaf-500);
}

.warehouse-crop-stock > header {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 12px;
  background: var(--cream-100);
  border-bottom: 1px solid var(--line);
}

.warehouse-crop-stock.active-crop > header {
  background: #f1f7e9;
}

.warehouse-crop-stock > header > div {
  min-width: 0;
}

.warehouse-crop-stock > header strong,
.warehouse-crop-stock > header small {
  display: block;
}

.warehouse-crop-stock > header strong {
  color: var(--forest-900);
  font-size: 16px;
}

.warehouse-crop-stock > header small {
  margin-top: 2px;
  color: var(--ink-500);
  font-size: 11px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.warehouse-crop-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 4px;
}

.warehouse-crop-actions .button {
  min-height: 30px;
  padding: 5px 8px;
  font-size: 10px;
}

.warehouse-stock-empty {
  margin: 0;
  padding: 18px 12px;
  color: var(--ink-500);
  text-align: center;
  font-size: 11px;
}

.warehouse-stock-rows {
  display: grid;
}

.warehouse-stock-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  border-top: 1px solid #edf0eb;
}

.warehouse-stock-row:first-child {
  border-top: 0;
}

.warehouse-stock-row > span {
  min-width: 0;
}

.warehouse-stock-row b,
.warehouse-stock-row small {
  display: block;
}

.warehouse-stock-row b {
  color: var(--ink-900);
  font-size: 12px;
}

.warehouse-stock-row small {
  margin-top: 3px;
  color: var(--ink-500);
  font-size: 10px;
  line-height: 1.35;
}

.warehouse-stock-row > strong {
  color: var(--forest-900);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.warehouse-stock-row.uncertain {
  background: #fff9ea;
}

.warehouse-stock-row.uncertain > strong {
  color: #92670c;
}

.warehouse-stock-row.negative {
  background: var(--danger-soft);
}

.warehouse-stock-row.negative > strong {
  color: var(--danger);
}

.warehouse-management-empty {
  min-height: 260px;
  padding: 38px 20px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px dashed #cdd7c8;
  border-radius: 18px;
}

.movement-ledger-heading,
.movement-card-header,
.movement-card-footer,
.inventory-composition-header,
.inventory-class-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.movement-ledger-heading {
  padding-bottom: 13px;
  border-bottom: 1px solid var(--line);
}

.movement-ledger-heading h3 {
  margin: 2px 0 0;
  font-size: 21px;
  letter-spacing: -0.025em;
}

.movement-list {
  display: grid;
  gap: 10px;
  padding-top: 12px;
}

.movement-card,
.transfer-card,
.processing-card {
  min-width: 0;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-left: 4px solid var(--leaf-500);
  border-radius: 13px;
  box-shadow: 0 8px 22px rgba(26, 55, 31, 0.055);
}

.processing-card {
  border-left-color: var(--gold-500);
}

.movement-card h4,
.transfer-card h4,
.processing-card h4 {
  margin: 0;
  color: var(--forest-900);
  font-size: 15px;
}

.movement-card p,
.transfer-card p,
.processing-card p {
  margin: 4px 0 0;
  color: var(--ink-500);
  font-size: 12px;
}

.processing-card .movement-card-footer {
  align-items: flex-end;
  flex-wrap: wrap;
}

.processing-card .item-actions {
  flex: 1 1 100%;
  flex-wrap: wrap;
}

.movement-route {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin: 11px 0;
  padding: 10px;
  background: var(--cream-100);
  border-radius: 10px;
}

.movement-route > :last-child {
  text-align: right;
}

.movement-route-arrow {
  color: var(--gold-600);
  font-size: 18px;
  font-weight: 900;
}

.movement-card-meta,
.movement-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  color: var(--ink-700);
  font-size: 12px;
}

.movement-metrics strong {
  color: var(--forest-900);
  font-variant-numeric: tabular-nums;
}

.movement-status-badge,
.class-badge,
.class-chip,
.variety-chip,
.composition-chip {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 3px 8px;
  color: var(--forest-800);
  background: var(--leaf-100);
  border: 1px solid #d3e2c2;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.2;
}

.movement-status-badge.draft,
.movement-status-badge.state-draft {
  color: var(--ink-700);
  background: #f0f2ee;
  border-color: #dfe4dc;
}

.movement-status-badge.in-progress,
.movement-status-badge.state-in-progress,
.movement-status-badge.reconciliation {
  color: #74521e;
  background: #fff3ce;
  border-color: #ead196;
}

.movement-status-badge.closed,
.movement-status-badge.state-closed {
  color: var(--forest-800);
  background: var(--leaf-100);
  border-color: #cadbb8;
}

.inventory-composition {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.inventory-composition-header {
  align-items: baseline;
}

.inventory-composition-header strong {
  color: var(--forest-900);
}

.inventory-composition-header small,
.inventory-class-row small {
  color: var(--ink-500);
}

.inventory-class-row {
  min-width: 0;
  padding: 8px 10px;
  background: #f8faf5;
  border: 1px solid #e5eadf;
  border-radius: 10px;
}

.inventory-class-row > div:first-child {
  min-width: 0;
}

.inventory-varieties,
.composition-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 5px;
}

.variety-chip,
.composition-chip {
  color: #725516;
  background: #fff7df;
  border-color: #eddda9;
  font-weight: 750;
}

.class-list .warehouse-list-item {
  border-left: 3px solid transparent;
}

.class-list .warehouse-list-item:hover {
  border-left-color: var(--gold-500);
}

.movement-bottom-actions .section-actions {
  flex-shrink: 0;
}

/* Формы перевозок и обработки */
.warehouse-dialog.operation-dialog {
  width: min(1160px, calc(100% - 28px));
  overflow: hidden;
}

.operation-dialog .dialog-heading {
  padding-bottom: 13px;
  background: linear-gradient(180deg, #fffdf7 0%, #faf7eb 100%);
  border-bottom: 1px solid var(--line);
}

.operation-form {
  max-height: calc(100vh - 155px);
  padding: 20px 26px 24px;
  overflow-y: auto;
}

.form-section {
  padding: 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 15px;
}

.form-section + .form-section,
.form-section + .processing-balance-preview,
.processing-balance-preview + .form-field-wide,
.form-section + .form-field-wide {
  margin-top: 12px;
}

.form-section-heading,
.form-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.form-section-heading {
  margin-bottom: 13px;
}

.form-section-heading-split {
  justify-content: space-between;
  gap: 20px;
}

.form-section-heading strong,
.form-section-heading small {
  display: block;
}

.form-section-heading strong {
  color: var(--forest-900);
}

.form-section-heading small {
  margin-top: 1px;
  color: var(--ink-500);
  font-size: 11px;
}

.form-step {
  display: inline-grid;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  place-items: center;
  color: #fff;
  background: var(--forest-800);
  border-radius: 9px;
  font-size: 12px;
  font-weight: 900;
}

.operation-grid {
  display: grid;
  align-items: end;
  gap: 11px;
}

.operation-grid-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.operation-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.operation-grid-four {
  grid-template-columns: minmax(135px, 0.7fr) minmax(115px, 0.55fr) repeat(2, minmax(170px, 1fr));
}

.operation-grid-five {
  grid-template-columns: minmax(130px, 0.65fr) minmax(110px, 0.55fr) minmax(145px, 0.85fr) repeat(2, minmax(145px, 0.8fr));
}

.quick-operation-grid {
  display: grid;
  grid-template-columns: minmax(135px, 0.85fr) 38px minmax(135px, 0.85fr) minmax(220px, 1.35fr) minmax(115px, 0.7fr) minmax(105px, 0.58fr) minmax(150px, 0.8fr);
  align-items: start;
  gap: 11px;
  padding: 16px;
  background: linear-gradient(145deg, #fff 0%, #fbfcf7 100%);
  border: 1px solid var(--line);
  border-radius: 15px;
}

.realization-quick-grid {
  grid-template-columns: minmax(135px, 0.8fr) minmax(220px, 1.35fr) minmax(135px, 0.78fr) minmax(105px, 0.58fr) minmax(105px, 0.58fr) minmax(150px, 0.82fr);
}

.processing-quick-grid {
  grid-template-columns: minmax(140px, 0.8fr) minmax(220px, 1.3fr) minmax(135px, 0.75fr) minmax(170px, 0.9fr) minmax(255px, 1.35fr);
}

.processing-return-dialog .realization-quick-grid {
  grid-template-columns: repeat(4, minmax(125px, 1fr)) minmax(160px, 0.85fr);
}

.quick-route-arrow {
  display: grid;
  width: 38px;
  min-height: 43px;
  place-items: center;
  align-self: start;
  margin-top: 23px;
  color: #76540d;
  background: #fff4d7;
  border: 1px solid #ead196;
  border-radius: 10px;
  font-size: 20px;
  font-weight: 900;
}

.quick-cargo-field small {
  min-height: 28px;
  color: var(--ink-500);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.35;
}

.quick-net-hint {
  min-height: 43px;
  align-self: start;
  margin-top: 23px;
  background: #eef6e9;
  border-color: #cadfbd;
}

.quick-net-hint strong {
  white-space: nowrap;
}

.processing-quick-start {
  display: grid;
  gap: 10px;
}

.processing-quick-weight {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: 8px;
}

.processing-quick-weight[hidden],
#processingQuickMassField[hidden] {
  display: none;
}

.quick-operation-note {
  margin: 0;
  padding: 9px 12px;
  color: var(--ink-500);
  background: #f6f4e9;
  border-left: 3px solid var(--gold-500);
  border-radius: 4px 10px 10px 4px;
  font-size: 11px;
  line-height: 1.45;
}

.operation-details {
  margin-top: 12px;
  background: #fafbf7;
  border: 1px solid var(--line);
  border-radius: 13px;
  overflow: hidden;
}

.operation-details > summary {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 13px;
  color: var(--forest-800);
  font-size: 12px;
  font-weight: 850;
  list-style: none;
  cursor: pointer;
}

.operation-details > summary::-webkit-details-marker {
  display: none;
}

.operation-details > summary::after {
  content: "\203A";
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  flex: 0 0 auto;
  color: #76540d;
  background: #fff1c8;
  border-radius: 8px;
  font-size: 20px;
  line-height: 1;
  transform: rotate(90deg);
  transition: transform 0.16s ease;
}

.operation-details[open] > summary {
  background: #f4f7ee;
  border-bottom: 1px solid var(--line);
}

.operation-details[open] > summary::after {
  transform: rotate(-90deg);
}

.operation-details > .operation-grid {
  margin: 0;
  padding: 13px;
}

.operation-details > .operation-grid .form-field-wide {
  grid-column: 1 / -1;
  margin-top: 0;
}

.advanced-processing-details > summary {
  color: #74521e;
}

.processing-trip-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.processing-trip-groups > section {
  min-width: 0;
  padding: 10px;
  background: #f8faf5;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.processing-trip-heading,
.processing-trip-row {
  display: flex;
  align-items: center;
  gap: 9px;
}

.processing-trip-heading {
  justify-content: space-between;
  margin-bottom: 8px;
  color: var(--forest-900);
  font-size: 12px;
}

.processing-trip-row {
  padding: 7px 0;
  border-top: 1px dashed #dfe5d9;
  font-size: 11px;
}

.processing-trip-row > span:nth-child(2) {
  display: grid;
  min-width: 0;
  flex: 1 1 auto;
}

.processing-trip-row small {
  color: var(--ink-500);
}

.processing-trip-row > b {
  white-space: nowrap;
  color: var(--forest-800);
}

.processing-trip-number {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  flex: 0 0 auto;
  color: #fff;
  background: var(--forest-700);
  border-radius: 50%;
  font-size: 10px;
  font-weight: 900;
}

.processing-trip-empty {
  display: block;
  padding: 8px 0 2px;
  color: var(--ink-500);
  font-size: 11px;
}

.inventory-variety-mass {
  display: flex !important;
  justify-content: space-between;
  gap: 12px;
  margin-top: 3px !important;
  color: var(--ink-700) !important;
}

.inventory-variety-mass b {
  white-space: nowrap;
  color: var(--forest-800);
}

.inventory-composition-unknown {
  display: block;
  margin-top: 4px;
  color: #996516 !important;
  font-style: italic;
}

.summary-subheading {
  width: 100%;
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px solid rgb(255 255 255 / 0.25);
  font-weight: 850;
}

.advanced-processing-details > .form-section,
.advanced-processing-details > .processing-balance-preview {
  margin: 12px 13px 0;
}

.advanced-processing-details > .form-field-wide {
  margin: 12px 13px 13px;
}

.compact-grid {
  margin-top: 11px;
}

.form-field {
  display: grid;
  min-width: 0;
  gap: 6px;
  color: var(--ink-700);
  font-size: 12px;
  font-weight: 800;
}

.form-field > span {
  min-height: 17px;
}

.form-field input,
.form-field select,
.form-field textarea,
.operation-form input,
.operation-form select,
.operation-form textarea,
.login-form input,
.login-form select {
  width: 100%;
  min-width: 0;
  min-height: 43px;
  padding: 8px 10px;
  color: var(--ink-900);
  background: #fff;
  border: 1px solid #d3d9d0;
  border-radius: 9px;
}

.form-field textarea,
.operation-form textarea {
  min-height: 76px;
  resize: vertical;
}

.form-field input:hover,
.form-field select:hover,
.form-field textarea:hover,
.operation-form input:hover,
.operation-form select:hover,
.operation-form textarea:hover {
  border-color: #aeb9ab;
}

.form-field input:disabled,
.form-field select:disabled,
.operation-form input:disabled,
.operation-form select:disabled {
  color: var(--ink-500);
  background: #f1f2ee;
  cursor: not-allowed;
}

.form-field-wide {
  margin-top: 12px;
}

.toggle-field {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  color: var(--forest-800);
  background: var(--leaf-100);
  border: 1px solid #cadbb8;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.toggle-field input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: var(--forest-700);
}

.calculation-hint {
  display: flex;
  min-height: 43px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 11px;
  color: var(--forest-800);
  background: #f1f5ed;
  border: 1px solid #dfe9d6;
  border-radius: 9px;
}

.calculation-hint small {
  color: var(--ink-500);
}

.calculation-hint strong {
  font-size: 17px;
  font-variant-numeric: tabular-nums;
}

.byproduct input {
  font-weight: 800;
}

.byproduct.waste input {
  background: #fffaf0;
  border-color: #ebce83;
}

.byproduct.husk input {
  background: #f8f4e7;
  border-color: #ded1a8;
}

.byproduct.dust input {
  background: #f2f3f0;
  border-color: #d3d7d0;
}

.processing-balance-preview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.5fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  color: var(--ink-700);
  background: #f5f6f2;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.processing-balance-preview > div {
  min-width: 0;
}

.processing-balance-preview small,
.processing-balance-preview strong {
  display: block;
}

.processing-balance-preview small {
  font-size: 11px;
}

.processing-balance-preview strong {
  margin-top: 2px;
  color: var(--forest-900);
  font-size: 19px;
  font-variant-numeric: tabular-nums;
}

.processing-balance-preview > span {
  color: var(--ink-500);
  font-size: 20px;
  font-weight: 850;
}

.processing-balance-note {
  grid-column: 1 / -1;
  margin: 1px 0 0;
  color: var(--ink-500);
  font-size: 11px;
}

.processing-balance-preview.state-ok,
.processing-balance-preview.ok,
.processing-balance-preview.balanced {
  background: #edf6e8;
  border-color: #c9dfba;
}

.processing-balance-preview.state-warning,
.processing-balance-preview.warning,
.processing-balance-preview.estimated {
  background: #fff7df;
  border-color: #e9cf8b;
}

.processing-balance-preview.state-error,
.processing-balance-preview.error,
.processing-balance-preview.negative {
  color: var(--danger);
  background: var(--danger-soft);
  border-color: #f1cbc6;
}

.processing-balance-preview.state-error strong,
.processing-balance-preview.error strong,
.processing-balance-preview.negative strong {
  color: var(--danger);
}

.dialog-form-actions {
  position: sticky;
  bottom: -24px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  margin: 18px -26px -24px;
  padding: 15px 26px 20px;
  background: rgba(255, 253, 247, 0.96);
  border-top: 1px solid var(--line);
  backdrop-filter: blur(10px);
}

/* Вход и журнал изменений */
.login-screen {
  width: min(680px, calc(100% - 28px));
  max-height: calc(100vh - 28px);
  padding: 0;
  color: var(--ink-900);
  background: transparent;
  border: 0;
  overflow: visible;
}

.login-screen::backdrop {
  background:
    radial-gradient(circle at 15% 12%, rgba(221, 169, 47, 0.17), transparent 32rem),
    rgba(12, 31, 18, 0.94);
  backdrop-filter: blur(8px);
}

.login-card {
  padding: clamp(24px, 5vw, 42px);
  background: var(--cream-50);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-top: 5px solid var(--gold-500);
  border-radius: 24px;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.38);
}

.login-brand {
  display: grid;
  grid-template-columns: 178px minmax(0, 1fr);
  align-items: center;
  gap: 24px;
}

.login-brand img {
  display: block;
  width: 100%;
  padding: 11px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.login-brand h2 {
  margin: 4px 0 6px;
  color: var(--forest-950);
  font-size: clamp(25px, 4vw, 34px);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.login-brand p:last-child {
  margin: 0;
  color: var(--ink-500);
}

.login-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.login-error {
  grid-column: 1 / -1;
  margin: 0;
  padding: 10px 12px;
  color: var(--danger);
  background: var(--danger-soft);
  border: 1px solid #f1cbc6;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 800;
}

.login-submit {
  grid-column: 1 / -1;
  min-height: 46px;
}

.login-note {
  margin: 15px 0 0;
  color: var(--ink-500);
  text-align: center;
  font-size: 12px;
}

.login-note span {
  color: var(--leaf-500);
}

.warehouse-dialog.audit-dialog {
  width: min(860px, calc(100% - 28px));
}

.audit-list {
  display: grid;
  max-height: min(520px, calc(100vh - 180px));
  gap: 8px;
  padding: 4px 26px;
  overflow-y: auto;
}

.audit-item {
  display: grid;
  grid-template-columns: minmax(105px, 0.45fr) minmax(85px, 0.35fr) minmax(0, 1.7fr);
  gap: 12px;
  padding: 11px 13px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 11px;
}

.audit-item time,
.audit-item-user {
  color: var(--ink-500);
  font-size: 11px;
}

.audit-item-user {
  color: var(--forest-800);
  font-weight: 850;
}

.audit-item p {
  margin: 0;
  color: var(--ink-700);
  font-size: 12px;
}

.warehouse-dialog.conflict-dialog {
  width: min(780px, calc(100% - 28px));
}

.conflict-intro {
  margin: 0;
  padding: 0 26px 16px;
  color: var(--ink-600);
  line-height: 1.55;
}

.conflict-list {
  display: grid;
  max-height: min(500px, calc(100vh - 240px));
  gap: 10px;
  padding: 2px 26px 8px;
  overflow-y: auto;
}

.conflict-item {
  padding: 15px;
  background: #fffaf0;
  border: 1px solid #ead8a8;
  border-radius: 13px;
}

.conflict-item h3,
.conflict-item p {
  margin: 0;
}

.conflict-item p {
  margin-top: 6px;
  color: var(--ink-600);
  font-size: 13px;
}

.conflict-item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 13px;
}

.app-footer {
  display: flex;
  width: min(1540px, calc(100% - 40px));
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 15px auto 0;
  padding: 14px 4px 24px;
  color: var(--ink-500);
  font-size: 12px;
}

.app-footer p {
  margin: 0;
}

.app-footer p:first-child span {
  color: var(--leaf-500);
}

.toast-region {
  position: fixed;
  z-index: 20;
  right: 20px;
  bottom: 20px;
  display: grid;
  width: min(380px, calc(100% - 40px));
  gap: 9px;
  pointer-events: none;
}

.toast-message {
  padding: 13px 15px;
  color: #fff;
  background: var(--forest-950);
  border-left: 4px solid var(--gold-500);
  border-radius: 11px;
  box-shadow: 0 14px 35px rgba(19, 46, 27, 0.24);
}

.toast-message.error {
  border-left-color: #f47d70;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 980px) {
  .app-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .header-tools {
    width: 100%;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .header-account-row {
    order: 3;
    width: 100%;
  }

  .mode-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .movement-ledgers {
    grid-template-columns: 1fr;
  }

  .realization-ledger .movement-list {
    grid-template-columns: 1fr;
  }

  .realization-summary,
  .warehouse-management-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .warehouse-management-card-heading {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .warehouse-management-card-heading > .button {
    grid-column: 1 / -1;
    justify-self: end;
  }

  .warehouse-crops-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quick-operation-grid,
  .realization-quick-grid,
  .processing-quick-grid,
  .processing-return-dialog .realization-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quick-route-arrow {
    display: none;
  }

  .transfer-dialog .quick-cargo-field,
  .transfer-dialog .quick-net-hint,
  .processing-quick-weight {
    grid-column: 1 / -1;
  }

  .processing-trip-groups {
    grid-template-columns: 1fr;
  }

  .transfer-dialog .quick-net-hint {
    margin-top: 0;
  }

  .operation-grid-three,
  .operation-grid-four,
  .operation-grid-five {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .formula-strip {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .tabs {
    max-width: none;
  }

  .crop-context-bar {
    flex-wrap: wrap;
  }

  .processing-control {
    width: 100%;
    max-width: none;
    order: 3;
    margin-left: 0;
  }

  .formula-arrow {
    display: none;
  }

  .overview-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .overview-heading > p {
    text-align: left;
  }

  .all-crops-summary {
    grid-template-columns: 1fr;
  }

  .field-form {
    grid-template-columns: 1fr 1fr;
  }

  .field-list-item {
    grid-template-columns: auto minmax(180px, 1fr) minmax(105px, 0.45fr) auto;
  }

  .field-list-item .field-variety-input,
  .field-list-item .field-husk-control {
    grid-column: 2;
  }

  .field-list-item .field-state-control {
    grid-column: 3;
  }

  .field-list-item .item-actions {
    grid-column: 4;
    grid-row: 1 / span 3;
  }
}

@media (max-width: 700px) {
  .app-header {
    padding: 17px;
  }

  .brand-block {
    align-items: flex-start;
    flex-direction: column;
    gap: 13px;
  }

  .brand-logo-wrap {
    width: 220px;
    min-width: 0;
    height: 82px;
  }

  .brand-copy > p:last-child {
    font-size: 13px;
  }

  .header-tools {
    align-items: stretch;
    flex-direction: column;
  }

  .header-status-row,
  .header-account-row {
    align-items: stretch;
    justify-content: flex-start;
  }

  .header-status-row {
    flex-wrap: wrap;
  }

  .header-account-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .current-user-badge {
    grid-column: 1 / -1;
    text-align: center;
  }

  .header-account-row .button:last-child {
    grid-column: 1 / -1;
  }

  .backup-actions .button {
    flex: 1;
  }

  .app-shell,
  .app-footer {
    width: min(100% - 22px, 1540px);
  }

  .tabs {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .crop-context-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .processing-control {
    min-width: 0;
    width: 100%;
    margin-left: 0;
  }

  .processing-control-row {
    align-items: stretch;
    flex-direction: column;
  }

  .processing-control-row > select {
    width: 100%;
    flex-basis: auto;
  }

  .processing-period {
    flex-direction: column;
  }

  .mode-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 4px;
  }

  .mode-button {
    min-width: 0;
    gap: 4px;
    padding-inline: 6px;
    font-size: 12px;
  }

  .mode-button span {
    display: none;
  }

  .tab-button {
    min-height: 59px;
  }

  .workspace-panel {
    padding: 17px 12px;
    border-radius: 18px;
  }

  .overview-panel {
    padding: 17px 12px;
    border-radius: 18px;
  }

  .section-heading {
    align-items: stretch;
    flex-direction: column;
    gap: 17px;
  }

  .section-heading > .button,
  .section-actions,
  .section-actions .button {
    width: 100%;
  }

  .section-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .movement-actions,
  .movement-bottom-actions .section-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .movement-ledger {
    padding: 13px;
    border-radius: 14px;
  }

  .realization-summary,
  .warehouse-management-summary {
    grid-template-columns: 1fr;
  }

  .warehouse-management-list {
    gap: 13px;
  }

  .warehouse-management-card {
    border-radius: 14px;
  }

  .warehouse-management-card-heading {
    grid-template-columns: 1fr;
    gap: 11px;
    padding: 13px;
  }

  .warehouse-management-card-heading > .button {
    grid-column: auto;
    width: 100%;
    justify-self: stretch;
  }

  .warehouse-management-total {
    text-align: left;
  }

  .warehouse-crops-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }

  .warehouse-management-name {
    font-size: 16px;
  }

  .quick-operation-grid,
  .realization-quick-grid,
  .processing-quick-grid,
  .processing-return-dialog .realization-quick-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }

  .quick-cargo-field,
  .quick-net-hint,
  .processing-quick-weight {
    grid-column: auto;
  }

  .quick-net-hint {
    margin-top: 0;
  }

  .processing-quick-weight {
    grid-template-columns: 1fr;
  }

  .operation-details > summary {
    padding-inline: 11px;
  }

  .operation-details > .operation-grid {
    padding: 11px;
  }

  .processing-card .item-actions {
    align-items: stretch;
  }

  .processing-card .item-actions .button {
    flex: 1 1 100%;
  }

  .processing-card .item-actions .icon-button {
    margin-left: auto;
  }

  .processing-trip-row {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .processing-trip-row .item-actions {
    width: 100%;
    padding-left: 31px;
  }

  .movement-ledger-heading {
    align-items: flex-start;
  }

  .movement-route {
    grid-template-columns: 1fr;
  }

  .movement-route > :last-child {
    text-align: left;
  }

  .movement-route-arrow {
    transform: rotate(90deg);
  }

  .table-bottom-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .table-bottom-actions .button {
    width: 100%;
  }

  .harvest-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .harvest-actions .button:last-child {
    grid-column: 1 / -1;
  }

  .formula-strip {
    margin-top: 18px;
  }

  .app-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .add-warehouse-form > div {
    grid-template-columns: 1fr;
  }

  .field-form {
    grid-template-columns: 1fr;
  }

  .warehouse-dialog.operation-dialog,
  .warehouse-dialog.audit-dialog,
  .login-screen {
    width: calc(100% - 14px);
    max-height: calc(100vh - 14px);
  }

  .operation-dialog .dialog-heading {
    padding: 18px 16px 12px;
  }

  .operation-dialog .dialog-heading h2 {
    font-size: 23px;
  }

  .operation-form {
    max-height: calc(100vh - 102px);
    padding: 14px 12px 18px;
  }

  .operation-grid,
  .operation-grid-two,
  .operation-grid-three,
  .operation-grid-four,
  .operation-grid-five {
    grid-template-columns: 1fr;
  }

  .form-section {
    padding: 13px;
  }

  .form-section-heading-split {
    align-items: stretch;
    flex-direction: column;
  }

  .toggle-field {
    justify-content: center;
  }

  .processing-balance-preview {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .processing-balance-preview > span {
    transform: rotate(90deg);
  }

  .dialog-form-actions {
    bottom: -18px;
    display: grid;
    grid-template-columns: 1fr;
    margin: 16px -12px -18px;
    padding: 12px;
  }

  .login-card {
    padding: 22px 16px;
    border-radius: 18px;
  }

  .login-brand,
  .login-form {
    grid-template-columns: 1fr;
  }

  .login-brand img {
    width: min(210px, 100%);
    margin: 0 auto;
  }

  .audit-list {
    padding-inline: 14px;
  }

  .audit-item {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .field-list-item,
  .column-list-item,
  .manager-list-item {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .field-list-item .field-hectares-input {
    grid-column: 2;
  }

  .field-list-item .field-variety-input {
    grid-column: 2;
  }

  .field-list-item .field-state-control,
  .field-list-item .field-husk-control,
  .field-list-item .item-actions {
    grid-column: 2;
  }

  .field-list-item .item-actions {
    grid-row: auto;
    justify-content: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
