/* Keep records readable on a phone without a horizontally spilling table. */
.shell,main,.panel,.dashboard-grid>*,.detail-grid>*,.filters,.report-form{min-width:0;max-width:100%}
.panel-heading{flex-wrap:wrap}.filter-field input,.filter-field select{max-width:100%}.filters .filter-field{min-width:0;flex-basis:140px}.filters .search-field{flex-basis:220px}
.record-table td{overflow-wrap:anywhere}.record-table td:last-child{max-width:none}.calendar-filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}.calendar-filters .filter-field{flex:0 1 240px}.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:24px 0 18px}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px;font-size:11px}.calendar-legend span{padding:4px 10px;border-radius:4px}.calendar-month{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#edf2e7;font-size:10px;text-align:center;padding:10px 0}.calendar-day{padding:8px;min-height:140px;min-width:0;border-top:1px solid var(--line);border-right:1px solid var(--line)}.calendar-day:last-child{border-right:0}.calendar-day>time{font-size:11px;display:block;margin-bottom:8px}.outside-month{background:#f3f5ef;color:var(--muted)}.is-today>time{font-weight:700;color:#315d43;text-decoration:underline;text-underline-offset:4px}.calendar-event{display:block;padding:7px 8px;margin:6px 0;border-radius:5px;overflow-wrap:anywhere;border-left:3px solid currentColor}.calendar-event strong{font-size:11px;font-weight:600;display:block}.calendar-event small{font-size:9px;display:block;margin-top:3px}.event-project{background:#f3eadb;color:#71522d}.event-harvest{background:#eaf2e1;color:#466735}.event-volunteer{background:#eeebf6;color:#665780}.event-cancelled strong{text-decoration:line-through}.calendar-agenda{display:none}.agenda-day{padding:18px;margin-bottom:15px}.agenda-day h3{font-size:14px;font-weight:600;margin-bottom:10px}.calendar-empty{font-size:13px;color:var(--muted);margin:20px 0}.day-notes{font-size:13px;line-height:1.8;margin-top:22px;overflow-wrap:anywhere}.day-tasks{padding-left:0;list-style:none;margin:20px 0}.day-tasks li{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.day-tasks .badge{margin-right:7px}.day-record-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}.day-record-heading .subtitle{margin-top:10px}.group-hours-summary{background:#edf2e7;border-radius:6px;padding:14px;margin:20px 0;font-size:13px}.actual-attendance{font-size:10px;line-height:1.7;margin-top:5px;color:#62705e}.detail-grid dd{white-space:normal}.form-actions{flex-wrap:wrap}
@media(max-width:1000px){.calendar-month{display:none}.calendar-agenda{display:block}.calendar-agenda .calendar-event strong{font-size:13px}.calendar-agenda .calendar-event small{font-size:11px}.calendar-empty{display:none}}
@media(max-width:700px){
 .table-scroll:has(.record-table){overflow:visible;max-width:100%}.record-table,.record-table tbody{display:block;width:100%}.record-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.record-table tr{display:block;padding:14px 18px;border-top:1px solid var(--line);max-width:100%}.record-table td{display:grid;grid-template-columns:minmax(90px,34%) minmax(0,1fr);gap:12px;width:100%;min-width:0;max-width:none!important;padding:7px 0;border:0;font-size:12px;white-space:normal}.record-table td::before{content:attr(data-label);font-size:10px;font-weight:500;color:#64715e;overflow-wrap:anywhere}.record-table td:first-child{font-weight:550}.record-table td>a,.record-table td>span{min-width:0;overflow-wrap:anywhere}.record-table td.record-view{display:none}.record-table td[colspan]{display:block}.record-table td[colspan]::before{display:none}.record-table .empty{padding:18px 0}
 .filters,.report-actions,.panel-heading{padding-left:18px;padding-right:18px}.table-heading{padding-left:18px;padding-right:18px}.report-actions{align-items:flex-start}.report-actions .actions{width:100%}.report-actions .button{flex:1;white-space:normal}.calendar-filters .filter-field{flex:1 1 140px}.calendar-heading h2{font-size:25px}.tabs{flex-wrap:wrap;gap:4px 18px;overflow:visible}.tabs a{padding:10px 0;font-size:11px}.checkbox-field>div{grid-template-columns:1fr}.detail-panel{padding:20px 18px}.record-footer{overflow-wrap:anywhere}.project-stats{max-width:100%}.project-time .panel-heading .actions{gap:8px}.project-time .panel-heading .button{white-space:normal}.trend-panel .chart-values table{table-layout:fixed}.chart-values td,.chart-values th{min-width:0;max-width:none;overflow-wrap:anywhere;padding:8px!important;font-size:10px!important}
}
.day-plan-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:15px 0;border-top:1px solid var(--line);margin-top:15px;font-size:12px}.day-plan-row strong{flex:1;min-width:0;overflow-wrap:anywhere}

/* A first-harvest estimate is a marker, not a one-day picking window. */
.timeline-harvest.timeline-start-only{width:1.25rem;min-width:1.25rem;border-radius:50%;overflow:visible}
.timeline-start-only span{display:none}
.timeline-start-only::after{content:"◇";display:block;text-align:center}

.planting-form h2{margin:24px 0 16px}.planting-form details{margin:24px 0}.planting-form details>p{margin:16px 0}
