.farm-page { padding-block: var(--space-10) var(--space-16); }
.farm-intro { max-width: 760px; margin-bottom: var(--space-8); }
.farm-eyebrow { color: var(--accent-primary); font-weight: 700; margin-bottom: var(--space-3); }
.farm-intro h1 { font-size: var(--type-h1, clamp(2rem, 5vw, 3rem)); line-height: 1.28; letter-spacing: -.018em; margin: 0 0 var(--space-4); }
.farm-intro > p { line-height: 1.72; }
.farm-notice { background: var(--surface-secondary); padding: var(--space-4); border-radius: var(--radius-md, 12px); font-size: .9375rem; color: var(--text-secondary); margin-top: var(--space-5); }
.farm-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: var(--space-6); align-items: start; }
.farm-panel { min-width: 0; background: var(--surface-primary); border: 1px solid var(--border-default); border-radius: var(--radius-lg, 16px); padding: var(--space-6); }
.farm-section-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-4); }
.farm-section-head h2 { margin: 0; font-size: 1.25rem; }
.farm-tag { background: var(--surface-secondary); color: var(--text-secondary); border-radius: var(--radius-md, 12px); padding: var(--space-1) var(--space-3); font-size: .8125rem; white-space: nowrap; }
.farm-page label { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; font-size: .9375rem; font-weight: 600; }
.farm-page input, .farm-page textarea { width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid var(--border-default); border-radius: var(--radius-sm, 8px); padding: var(--space-3); color: var(--text-primary); background: var(--surface-primary); font: inherit; font-size: 1rem; min-height: 44px; }
.farm-page textarea { resize: vertical; line-height: 1.6; }
.farm-fields, .farm-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-4); margin-bottom: var(--space-4); }
.farm-wide { grid-column: 1 / -1; }
.farm-page fieldset { padding: 0; border: 0; margin: var(--space-6) 0 var(--space-4); min-width: 0; }
.farm-page legend { font-weight: 700; }
.farm-page legend span, .farm-hint { color: var(--text-secondary); font-size: .9375rem; font-weight: 400; }
.farm-hint { margin: 0 0 var(--space-4); line-height: 1.65; }
.farm-page fieldset .farm-hint { margin-top: var(--space-2); }
.farm-actions { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.farm-page button { min-height: 44px; padding: var(--space-2) var(--space-4); border: 1px solid var(--border-default); background: var(--surface-primary); color: var(--text-primary); border-radius: var(--radius-sm, 8px); font: inherit; font-size: .9375rem; cursor: pointer; }
.farm-page button:hover { background: var(--surface-secondary); }
.farm-page button.farm-primary { background: var(--accent-primary); color: #fff; border-color: transparent; }
.farm-page button:disabled { opacity: .55; cursor: not-allowed; }
.farm-page :focus-visible { outline: 3px solid var(--accent-primary); outline-offset: 3px; }
.farm-page [hidden] { display: none !important; }
#farm-error { color: var(--status-error, #b42318); }
#farm-status, #filter-status { color: var(--text-secondary); font-size: .9375rem; line-height: 1.65; }
.farm-record { border-top: 1px solid var(--border-default); padding-block: var(--space-5); overflow-wrap: anywhere; }
.farm-record h3 { font-size: 1.125rem; margin: var(--space-2) 0; }
.farm-record time, .farm-record-meta { color: var(--text-secondary); font-size: .9375rem; }
.farm-record-task { white-space: pre-wrap; line-height: 1.7; margin-block: var(--space-3); }
.farm-record-measures { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); font-size: .9375rem; padding: var(--space-3); background: var(--surface-secondary); border-radius: var(--radius-sm, 8px); margin-block: var(--space-3); }
.farm-empty { padding-block: var(--space-8); color: var(--text-secondary); line-height: 1.7; }
.farm-related { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.farm-related a { min-height: 44px; padding-block: var(--space-4); color: var(--accent-primary); font-weight: 700; text-decoration: none; }
.farm-related a:hover { text-decoration: underline; }
.farm-related span { display: block; color: var(--text-secondary); font-size: .9375rem; font-weight: 400; margin-top: var(--space-2); }
@media (max-width: 900px) { .farm-layout { grid-template-columns: 1fr; } .farm-related { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 480px) { .farm-panel { padding: var(--space-5); } .farm-fields, .farm-filters { grid-template-columns: 1fr; } .farm-related { grid-template-columns: 1fr; gap: var(--space-2); } }
@media (max-width: 480px) { .farm-page fieldset .farm-fields { grid-template-columns: repeat(2,minmax(0,1fr)); } }
