/* Compact Crops module chrome. This is page-scoped and loaded after the
   legacy stylesheet so the four navigation items keep one stable treatment. */
.crop-module-shell .crop-dashboard-header {
    align-items: flex-start;
    display: block;
    margin-bottom: .45rem;
    padding: .15rem 0 .35rem;
}
.crop-module-shell .crop-dashboard-header h2 { margin: 0 0 .12rem; }
.crop-module-shell .crop-dashboard-header p:last-child { margin: 0; }

.crop-module-shell .crop-view-nav {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: .25rem;
    margin: 0 0 .65rem;
    overflow: visible;
    padding: 0 0 .35rem;
}
.crop-module-shell .crop-view-nav-primary { display: flex; flex: 1 1 auto; gap: .25rem; min-width: 0; }
.crop-module-shell .crop-view-nav a,
.crop-module-shell .crop-view-nav-more summary {
    align-items: center;
    background: transparent;
    border: 1px solid var(--line-soft);
    border-radius: 7px;
    color: var(--muted);
    display: flex;
    flex: 0 1 auto;
    font-size: .78rem;
    font-weight: 850;
    justify-content: center;
    min-height: 2.15rem;
    padding: .35rem .7rem;
    text-decoration: none;
    white-space: nowrap;
}
.crop-module-shell .crop-view-nav a:hover,
.crop-module-shell .crop-view-nav a:focus-visible,
.crop-module-shell .crop-view-nav-more summary:hover,
.crop-module-shell .crop-view-nav-more summary:focus-visible { background: var(--field); border-color: var(--line); color: var(--ink); outline: none; }
.crop-module-shell .crop-view-nav a[aria-current="page"],
.crop-module-shell .crop-view-nav a[aria-current="page"]:visited,
.crop-module-shell .crop-view-nav-more.is-current summary { background: var(--charcoal); border-color: var(--charcoal); box-shadow: none; color: #fffdf8 !important; }
.crop-module-shell .crop-view-nav-more { flex: 0 0 auto; min-width: max-content; position: relative; }
.crop-module-shell .crop-view-nav-more summary { cursor: pointer; list-style: none; }
.crop-module-shell .crop-view-nav-more summary::-webkit-details-marker { display: none; }
.crop-module-shell .crop-view-nav-more summary span { color: var(--orange); font-size: 1rem; line-height: 1; }
.crop-module-shell .crop-view-nav-more.is-current summary span { color: #fffdf8; }
.crop-module-shell .crop-view-nav-more > div { min-width: 9rem; }

/* Keep the three daily crop destinations and More in one deliberately aligned
   row. Areas remains a contextual selection inside More rather than forcing a
   fifth compressed tab onto a phone screen. */
.crop-module-shell .crop-view-nav {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: .25rem;
    margin-bottom: .75rem;
    padding-bottom: 0;
}
.crop-module-shell .crop-view-nav-primary {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    gap: .25rem;
    min-width: 0;
}
.crop-module-shell .crop-view-nav a,
.crop-module-shell .crop-view-nav-more summary {
    box-sizing: border-box;
    line-height: 1.1;
    min-height: 2.4rem;
    padding: .38rem .35rem;
    width: 100%;
}
.crop-module-shell .crop-view-nav-primary a { flex: 1 1 0; }
.crop-module-shell .crop-view-nav-more { display: block; flex: 0 0 auto; min-width: 0; position: relative; }
.crop-module-shell .crop-view-nav-more summary { overflow: visible; }

/* Land-area actions are compact controls, with one clear primary destination
   and quiet secondary maintenance/map actions. Explicit colors prevent later
   shared link rules from producing dark-on-dark controls. */
.crop-module-shell .crop-area-grid .crop-record-row nav { gap: .38rem; }
.crop-module-shell .crop-area-grid .crop-record-row nav a,
.crop-module-shell .crop-area-grid .crop-record-row nav a:visited {
    background: var(--field) !important;
    border: 1px solid var(--line) !important;
    color: var(--ink) !important;
    min-height: 2.2rem;
    padding: .38rem .58rem;
}
.crop-module-shell .crop-area-grid .crop-record-row nav a:first-child,
.crop-module-shell .crop-area-grid .crop-record-row nav a:first-child:visited {
    background: var(--charcoal) !important;
    border-color: var(--charcoal) !important;
    color: var(--paper) !important;
}
.crop-module-shell .crop-area-grid .crop-record-row nav a:hover,
.crop-module-shell .crop-area-grid .crop-record-row nav a:focus-visible {
    background: var(--paper-deep) !important;
    border-color: var(--orange) !important;
    color: var(--ink) !important;
}
.crop-module-shell .crop-area-grid .crop-record-row nav a:first-child:hover,
.crop-module-shell .crop-area-grid .crop-record-row nav a:first-child:focus-visible {
    background: var(--ink) !important;
    border-color: var(--ink) !important;
    color: var(--paper) !important;
}

/* The back affordance sits on charcoal: use an explicit light control rather
   than depending on one of several legacy header color overrides. */
body > header .app-back-button,
body > header .site-nav-menu nav a,
body > header .site-nav-menu nav button,
body > header .site-nav-menu .logout-form button {
    color: var(--paper) !important;
}
body > header .app-back-button,
body > header .app-back-button:visited {
    background: #fffdf8 !important;
    border: 1px solid #fffdf8 !important;
    border-radius: 7px !important;
    color: #181817 !important;
    text-decoration: none;
}
body > header .app-back-button:hover,
body > header .app-back-button:focus-visible {
    background: var(--paper-deep) !important;
    border-color: var(--orange) !important;
    color: #181817 !important;
}
body > header .site-nav-menu > summary { color: var(--paper) !important; }
body > header .site-nav-primary a:first-child { color: var(--ink) !important; }

body:has(.crop-module-shell) > .legal-footer {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    justify-content: center;
    padding: .65rem .7rem calc(.7rem + env(safe-area-inset-bottom));
}
body:has(.crop-module-shell) > .legal-footer a {
    background: var(--field);
    border: 1px solid var(--line-soft);
    border-radius: 999px;
    color: var(--ink) !important;
    font-size: .72rem;
    font-weight: 800;
    padding: .34rem .58rem;
    text-decoration: none;
}
body:has(.crop-module-shell) > .legal-footer a:hover,
body:has(.crop-module-shell) > .legal-footer a:focus-visible {
    background: var(--paper-deep);
    border-color: var(--orange);
    color: var(--ink) !important;
}

@media (max-width: 720px) {
    .crop-module-shell .crop-view-nav { display: flex; gap: .2rem; grid-template-columns: none; }
    .crop-module-shell .crop-view-nav-primary { display: flex; gap: .2rem; }
    .crop-module-shell .crop-view-nav a,
    .crop-module-shell .crop-view-nav-more summary { font-size: .68rem; min-height: 2.35rem; padding-inline: .18rem; }
    .crop-module-shell .crop-area-grid .crop-record-row { padding: .72rem .75rem; }
    .crop-module-shell .crop-area-grid .crop-record-row nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .crop-module-shell .crop-area-grid .crop-record-row nav a { min-width: 0; padding-inline: .22rem; text-align: center; }
}

/* Harvest selection uses the same high-contrast controls as the rest of the
   module, despite older global link and status rules. */
.crop-module-shell .harvest-measure-header .yfs-status-chip {
    flex: 0 0 auto;
    font-size: .72rem;
    line-height: 1.1;
}

.crop-module-shell .harvest-finish-actions .secondary-button,
.crop-module-shell .harvest-finish-actions .secondary-button:visited {
    background: var(--field);
    border: 1px solid var(--line);
    color: var(--ink) !important;
    text-decoration: none;
}

.crop-module-shell .harvest-finish-actions .secondary-button:hover,
.crop-module-shell .harvest-finish-actions .secondary-button:focus-visible {
    background: var(--paper-deep);
    border-color: var(--steel);
    color: var(--ink) !important;
}

.crop-module-shell .harvest-seed-recommendation-action,
.crop-module-shell .harvest-seed-recommendation-action:visited {
    align-self: start;
    color: #fffdf8 !important;
    text-decoration: none;
}

.crop-module-shell .crop-seed-review {
    background: #f4f8f0;
    border: 1px solid #c9d8bb;
    border-left: 4px solid var(--green);
    border-radius: 8px;
    display: grid;
    gap: .55rem;
    margin: 0 0 .85rem;
    padding: .72rem .78rem;
}

.crop-module-shell .crop-seed-review header h3 { margin: 0; }
.crop-module-shell .crop-seed-review-list { display: grid; gap: .42rem; }
.crop-module-shell .crop-seed-review-row {
    align-items: center;
    background: #fffdf8;
    border: 1px solid #c9d8bb;
    border-radius: 7px;
    color: var(--ink) !important;
    display: grid;
    gap: .35rem .7rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) auto;
    padding: .55rem .62rem;
    text-decoration: none;
}
.crop-module-shell .crop-seed-review-row:hover,
.crop-module-shell .crop-seed-review-row:focus-visible { background: var(--field); border-color: var(--green); color: var(--ink) !important; outline: none; }
.crop-module-shell .crop-seed-review-row > div { display: grid; gap: .08rem; min-width: 0; }
.crop-module-shell .crop-seed-review-row span,
.crop-module-shell .crop-seed-review-row small { color: var(--muted); font-size: .78rem; line-height: 1.28; }
.crop-module-shell .crop-seed-review-recommendation strong { color: var(--green); font-size: .84rem; }
.crop-module-shell .crop-seed-review-row.is-measuring .crop-seed-review-recommendation strong { color: #8a5a18; }
.crop-module-shell .crop-seed-review-row > b { color: var(--ink); font-size: .8rem; white-space: nowrap; }
.crop-module-shell .crop-seed-review-row em { color: var(--orange); font-size: 1.15rem; font-style: normal; }

/* Measured-harvest selection: evidence first, farmer decision last. */
.crop-module-shell .harvest-selection-workspace { display: grid; gap: .8rem; }
.crop-module-shell .harvest-selection-header { margin-bottom: 0; }
.crop-module-shell .harvest-selection-recommendation { align-items: center; background: #f3f8ef; border: 1px solid #c9d8bb; border-left: 4px solid var(--green); border-radius: 10px; display: grid; gap: .7rem 1rem; grid-template-columns: minmax(0, 1fr) auto; padding: .9rem 1rem; }
.crop-module-shell .harvest-selection-recommendation h3 { color: var(--ink); font-size: 1.15rem; margin: .05rem 0 .14rem; }
.crop-module-shell .harvest-selection-recommendation p { color: var(--muted); font-size: .84rem; line-height: 1.35; margin: 0; max-width: 58ch; }
.crop-module-shell .harvest-selection-recommendation__stats { display: flex; flex-wrap: wrap; gap: .45rem; grid-column: 1 / -1; }
.crop-module-shell .harvest-selection-recommendation__stats span { border-left: 1px solid #c9d8bb; display: grid; gap: .04rem; padding-left: .55rem; }
.crop-module-shell .harvest-selection-recommendation__stats span:first-child { border-left: 0; padding-left: 0; }
.crop-module-shell .harvest-selection-recommendation__stats b { color: var(--ink); font-variant-numeric: tabular-nums; }
.crop-module-shell .harvest-selection-recommendation__stats small { color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.crop-module-shell .harvest-selection-recommendation .primary-button { justify-self: end; min-height: 2.45rem; white-space: nowrap; }
.crop-module-shell .harvest-selection-method { background: var(--paper-deep); border: 1px solid var(--line-soft); border-radius: 8px; }
.crop-module-shell .harvest-selection-method summary { align-items: center; cursor: pointer; display: flex; gap: .6rem; justify-content: space-between; list-style: none; padding: .65rem .78rem; }
.crop-module-shell .harvest-selection-method summary::-webkit-details-marker { display: none; }
.crop-module-shell .harvest-selection-method summary span { color: var(--ink); font-size: .85rem; font-weight: 850; }
.crop-module-shell .harvest-selection-method summary small { color: var(--muted); font-size: .75rem; text-align: right; }
.crop-module-shell .harvest-selection-method > div { border-top: 1px solid var(--line-soft); color: var(--muted); font-size: .8rem; line-height: 1.38; padding: .68rem .78rem; }
.crop-module-shell .harvest-selection-method p, .crop-module-shell .harvest-selection-method ul { margin: 0; }.crop-module-shell .harvest-selection-method ul { margin-top: .42rem; padding-left: 1.15rem; }
.crop-module-shell .harvest-selection-form { display: grid; gap: .8rem; }
.crop-module-shell .harvest-selection-approach { background: var(--paper-deep); border: 1px solid var(--line-soft); border-radius: 8px; display: grid; gap: .1rem; padding: .72rem .8rem; }
.crop-module-shell .harvest-selection-approach > strong { color: var(--ink); font-size: .92rem; }.crop-module-shell .harvest-selection-approach > small { color: var(--muted); font-size: .77rem; line-height: 1.32; }
.crop-module-shell .harvest-selection-approach .form-field { margin: .55rem 0 0; }
.crop-module-shell .harvest-selection-candidates { border-top: 1px solid var(--line-soft); padding-top: .8rem; }
.crop-module-shell .harvest-selection-candidates > header { align-items: end; display: flex; gap: .75rem; justify-content: space-between; margin-bottom: .55rem; }
.crop-module-shell .harvest-selection-candidates h3 { color: var(--ink); margin: 0; }.crop-module-shell .harvest-selection-candidates > header > span { color: var(--muted); font-size: .76rem; font-weight: 800; }
.crop-module-shell .harvest-selection-groups { display: grid; gap: .65rem; }
.crop-module-shell .harvest-selection-group { background: var(--card); border: 1px solid var(--line-soft); border-left: 3px solid var(--steel); border-radius: 9px; overflow: hidden; }
.crop-module-shell .harvest-selection-group.state-candidate { border-left-color: var(--green); }.crop-module-shell .harvest-selection-group.state-watch { border-left-color: var(--orange); }.crop-module-shell .harvest-selection-group.state-avoid { border-left-color: #b4533c; }
.crop-module-shell .harvest-selection-group > header { align-items: start; background: var(--paper-deep); display: flex; gap: .6rem; justify-content: space-between; padding: .65rem .72rem; }
.crop-module-shell .harvest-selection-group h4 { color: var(--ink); font-size: .94rem; margin: .04rem 0; }.crop-module-shell .harvest-selection-group header small { color: var(--muted); font-size: .76rem; line-height: 1.3; }
.crop-module-shell .harvest-selection-group__metrics { display: flex; flex-wrap: wrap; gap: .25rem; justify-content: end; }.crop-module-shell .harvest-selection-group__metrics span { color: var(--muted); font-size: .72rem; font-weight: 750; white-space: nowrap; }
.crop-module-shell .harvest-selection-items { display: grid; }
.crop-module-shell .harvest-selection-item { align-items: center; border-top: 1px solid var(--line-soft); cursor: pointer; display: grid; gap: .22rem .55rem; grid-template-columns: 1.25rem minmax(0, 1fr) auto; padding: .62rem .72rem; position: relative; }
.crop-module-shell .harvest-selection-item input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.crop-module-shell .harvest-selection-item__check { background: var(--card); border: 1.5px solid var(--line); border-radius: 5px; height: 1.05rem; width: 1.05rem; }
.crop-module-shell .harvest-selection-item input:checked + .harvest-selection-item__check { background: var(--green); border-color: var(--green); box-shadow: inset 0 0 0 3px var(--card); }
.crop-module-shell .harvest-selection-item input:focus-visible + .harvest-selection-item__check { outline: 3px solid rgba(238, 111, 46, .3); outline-offset: 2px; }
.crop-module-shell .harvest-selection-item__identity { display: grid; gap: .04rem; min-width: 0; }.crop-module-shell .harvest-selection-item__identity strong { color: var(--ink); }.crop-module-shell .harvest-selection-item__identity small { color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.crop-module-shell .harvest-selection-state { align-self: start; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: .68rem; font-weight: 850; padding: .22rem .42rem; white-space: nowrap; }
.crop-module-shell .harvest-selection-item.state-recommended .harvest-selection-state { background: #edf4ea; border-color: #a6c29b; color: #39683d; }.crop-module-shell .harvest-selection-item.state-watch .harvest-selection-state { background: #fbf0dc; border-color: #d8ad64; color: #8a5e1d; }.crop-module-shell .harvest-selection-item.state-exclude .harvest-selection-state { background: #f9e5e1; border-color: #d49a8b; color: #8a4234; }
.crop-module-shell .harvest-selection-item__evidence { color: var(--muted); display: flex; flex-wrap: wrap; gap: .2rem .45rem; grid-column: 2 / -1; line-height: 1.25; }.crop-module-shell .harvest-selection-item__evidence small + small::before { content: '· '; }
.crop-module-shell .harvest-selection-lineage { background: var(--paper-deep); border: 1px solid var(--line-soft); border-radius: 9px; display: grid; gap: .6rem; padding: .75rem .82rem; }.crop-module-shell .harvest-selection-lineage h3 { color: var(--ink); font-size: 1rem; margin: .04rem 0; }.crop-module-shell .harvest-selection-lineage p { color: var(--muted); font-size: .8rem; line-height: 1.35; margin: 0; }.crop-module-shell .harvest-selection-lineage details { border-top: 1px solid var(--line-soft); padding-top: .55rem; }.crop-module-shell .harvest-selection-lineage summary { color: var(--ink); cursor: pointer; font-size: .82rem; font-weight: 850; }.crop-module-shell .harvest-selection-lineage .form-field { margin-top: .65rem; }
.crop-module-shell .harvest-selection-open-note { background: #fff8e9; border-left: 3px solid var(--orange); color: var(--muted); font-size: .8rem; margin: 0; padding: .6rem .72rem; }.crop-module-shell .harvest-selection-open-note strong { color: var(--ink); }
.crop-module-shell .harvest-selection-actions { align-items: stretch; display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 0; }.crop-module-shell .harvest-selection-actions .primary-button, .crop-module-shell .harvest-selection-actions .secondary-button { min-height: 2.65rem; }.crop-module-shell .harvest-selection-actions .secondary-button, .crop-module-shell .harvest-selection-actions .secondary-button:visited { background: var(--field); color: var(--ink) !important; text-decoration: none; }

@media (max-width: 560px) {
    .crop-module-shell .harvest-selection-recommendation { align-items: stretch; grid-template-columns: 1fr; }.crop-module-shell .harvest-selection-recommendation .primary-button { justify-self: stretch; width: 100%; }
    .crop-module-shell .harvest-selection-group > header { display: grid; }.crop-module-shell .harvest-selection-group__metrics { justify-content: start; }
    .crop-module-shell .harvest-selection-item { align-items: start; grid-template-columns: 1.25rem minmax(0, 1fr); }.crop-module-shell .harvest-selection-state { grid-column: 2; justify-self: start; }.crop-module-shell .harvest-selection-item__evidence { grid-column: 2; }
    .crop-module-shell .harvest-selection-actions { display: grid; grid-template-columns: 1fr; }.crop-module-shell .harvest-selection-actions > * { width: 100%; }
}

.planner-timeline { background: var(--card); border: 1px solid var(--line-soft); border-top: 4px solid var(--steel); border-radius: 9px; display: grid; gap: .7rem; padding: .85rem; }
.planner-timeline > header { align-items: center; display: flex; justify-content: space-between; gap: .75rem; }
.planner-timeline h3, .planner-timeline h4 { margin: 0; }.planner-timeline > header > span { color: var(--muted); font-size: .8rem; }
.planner-timeline-months { display: grid; gap: .55rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.planner-timeline-month { background: var(--paper-deep); border: 1px solid var(--line-soft); border-radius: 7px; display: grid; gap: .38rem; min-width: 0; padding: .58rem; }
.planner-timeline-month h4 { color: var(--ink); font-size: .9rem; }.planner-timeline-month > p { color: var(--muted); font-size: .75rem; margin: 0; }
.planner-timeline-event { align-items: start; border-left: 3px solid var(--steel); color: var(--ink) !important; display: grid; gap: .35rem; grid-template-columns: 2.5rem minmax(0, 1fr); padding: .25rem 0 .25rem .42rem; text-decoration: none; }
.planner-timeline-event time { color: var(--muted); font-size: .72rem; font-weight: 800; }.planner-timeline-event span { display: grid; gap: .06rem; }.planner-timeline-event strong { font-size: .8rem; }.planner-timeline-event small { color: var(--muted); font-size: .72rem; line-height: 1.25; }
.planner-timeline-event.kind-anchor { border-left-color: var(--orange); }.planner-timeline-event.kind-milestone { border-left-color: var(--green); }.planner-timeline-event.kind-crop { border-left-color: var(--blue); }.planner-timeline-event[href]:hover strong { text-decoration: underline; }

/* Farm planner: curated farm work first, supporting detail on demand. */
.planner-page-shell { display: grid; gap: 1rem; }
.planner-page-heading { align-items: end; margin-bottom: 0; }
.planner-page-heading > div:first-child { max-width: 42rem; }
.planner-page-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; }
.planner-page-actions a { min-height: 2.5rem; }
.planner-agenda, .planner-suggestions-panel, .planner-longrange-panel { background: var(--paper); border: 1px solid var(--line-soft); border-radius: 12px; padding: .9rem 1rem; }
.planner-coming-agenda { margin-top: -.35rem; }
.planner-section-heading { align-items: center; cursor: default; display: flex; gap: .75rem; justify-content: space-between; list-style: none; margin: 0; }
.planner-section-heading::-webkit-details-marker { display: none; }
.planner-section-heading h3 { color: var(--ink); margin: 0; }
.planner-section-heading .eyebrow { margin: 0 0 .08rem; }
.planner-section-count { color: var(--muted); font-size: .76rem; font-weight: 800; text-align: right; }
.planner-agenda-row { align-items: start; border-top: 1px solid var(--line-soft); display: grid; gap: .65rem; grid-template-columns: 4.2rem minmax(0, 1fr) auto; padding: .62rem 0; }
.planner-agenda-row:first-of-type { margin-top: .55rem; }
.planner-agenda-row time { color: var(--green); font-size: .76rem; font-weight: 850; line-height: 1.3; }
.planner-agenda-row.is-overdue time { color: #a84d36; }
.planner-agenda-row strong { color: var(--ink); display: block; line-height: 1.25; }
.planner-agenda-row small { color: var(--muted); display: block; font-size: .78rem; line-height: 1.32; margin-top: .1rem; }
.planner-domain { color: var(--steel-deep, var(--steel)); display: block; font-size: .68rem; font-weight: 850; letter-spacing: .04em; margin-bottom: .08rem; text-transform: uppercase; }
.compact-action { align-items: center; background: var(--paper-deep); border: 1px solid var(--line); border-radius: 7px; color: var(--ink) !important; display: inline-flex; font-size: .76rem; font-weight: 850; min-height: 2rem; padding: .25rem .5rem; text-decoration: none; }
.compact-action:hover, .compact-action:focus-visible { background: var(--field); border-color: var(--green); color: var(--ink) !important; outline: none; }
.planner-suggestions-panel, .planner-longrange-panel { margin: 0; }
.planner-suggestions-panel > summary, .planner-longrange-panel > summary { cursor: pointer; }
.planner-suggestions-panel > summary::after, .planner-longrange-panel > summary::after { color: var(--muted); content: 'Show'; font-size: .73rem; font-weight: 800; margin-left: .4rem; }
.planner-suggestions-panel[open] > summary::after, .planner-longrange-panel[open] > summary::after { content: 'Hide'; }
.planner-suggestion-list { margin-top: .45rem; }
.planner-suggestion { align-items: start; border-top: 1px solid var(--line-soft); display: grid; gap: .7rem; grid-template-columns: 4.1rem minmax(0, 1fr) auto; padding: .7rem 0; }
.planner-suggestion-date { display: grid; gap: .08rem; }
.planner-suggestion-date strong { color: var(--ink); font-size: .92rem; }
.planner-suggestion-date span { color: var(--muted); font-size: .68rem; font-weight: 750; white-space: nowrap; }
.planner-suggestion-copy > strong { color: var(--ink); display: block; line-height: 1.25; }
.planner-suggestion-copy p { color: var(--muted); font-size: .82rem; line-height: 1.3; margin: .12rem 0 0; }
.planner-suggestion-actions { align-items: center; display: flex; gap: .25rem; }
.planner-suggestion-actions form, .planner-suggestion-details form { margin: 0; }
.planner-suggestion-actions button { font-size: .75rem; min-height: 2rem; padding: .25rem .52rem; }
.planner-suggestion-actions .primary-button { background: var(--ink); color: var(--paper); }
.planner-suggestion-details { color: var(--muted); font-size: .78rem; grid-column: 2 / -1; line-height: 1.35; }
.planner-suggestion-details summary { color: var(--steel-deep, var(--ink)); cursor: pointer; font-weight: 800; }
.planner-suggestion-details p { margin: .35rem 0; }
.planner-suggestion-details ul { margin: .25rem 0 .45rem; padding-left: 1.1rem; }
.planner-suggestion-details .text-button { color: var(--muted); font-size: .74rem; min-height: 1.75rem; padding: 0; }
.planner-quiet-empty { color: var(--muted); font-size: .84rem; line-height: 1.4; margin: .6rem 0 .05rem; }
.planner-season-empty { background: var(--paper-deep); border-radius: 8px; color: var(--muted); display: grid; gap: .3rem; line-height: 1.35; margin-top: .7rem; padding: .7rem; }
.planner-season-empty strong { color: var(--ink); }.planner-season-empty .primary-button { justify-self: start; margin-top: .12rem; }
.planner-longrange-panel .planner-timeline-months { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); margin-top: .7rem; }
.planner-timeline-month { background: transparent; border: 0; border-top: 1px solid var(--line-soft); border-radius: 0; padding: .5rem 0; }
.planner-timeline-month h4 { color: var(--muted); font-size: .74rem; letter-spacing: .04em; margin: 0 0 .25rem; text-transform: uppercase; }
.planner-timeline-event { border-left: 2px solid var(--steel); color: var(--ink) !important; grid-template-columns: 1.6rem minmax(0, 1fr); padding: .2rem 0 .2rem .4rem; }
.planner-timeline-event.kind-anchor { border-left-color: var(--orange); }.planner-timeline-event.kind-milestone { border-left-color: var(--green); }.planner-timeline-event.kind-crop { border-left-color: var(--green); }
.planner-milestone-form .planner-timing-choice { border: 1px solid var(--line-soft); border-radius: 9px; display: grid; gap: .35rem; margin: .8rem 0; padding: .7rem; }
.planner-milestone-form .planner-timing-choice label { align-items: center; display: flex; gap: .45rem; margin: 0; }
.planner-milestone-form [data-timing-panel] { display: grid; gap: .65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.planner-milestone-form [data-timing-panel="one_off"] { grid-template-columns: minmax(0, 1fr); }
.planner-preference-list { background: var(--paper); border: 1px solid var(--line-soft); border-radius: 10px; display: grid; gap: 0; margin-top: 1rem; padding: .8rem; }
.planner-preference-list h3 { margin: 0 0 .4rem; }
.planner-preference-list > div { align-items: center; border-top: 1px solid var(--line-soft); display: flex; gap: .6rem; justify-content: space-between; padding: .55rem 0; }
.planner-preference-list span { color: var(--muted); font-size: .82rem; text-align: right; }

.variety-seed-lot-list { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.variety-seed-lot-list > a { background: var(--paper); border: 1px solid var(--line-soft); border-left: 3px solid var(--green); border-radius: 8px; color: var(--ink); display: grid; gap: .15rem; padding: .65rem .72rem; text-decoration: none; }
.variety-seed-lot-list > a:hover strong, .variety-seed-lot-list > a:focus-visible strong { color: var(--green); text-decoration: underline; }
.variety-seed-lot-list span, .variety-planting-seed-lots { color: var(--muted); font-size: .78rem; line-height: 1.3; }
.variety-planting-seed-lots { display: block; }

@media (max-width: 720px) {
    .crop-module-shell .crop-dashboard-header { margin-bottom: .35rem; padding-bottom: .2rem; }
    .crop-module-shell .crop-view-nav { display: grid; gap: .22rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .crop-module-shell .crop-view-nav-primary { display: contents; }
    .crop-module-shell .crop-view-nav a,
    .crop-module-shell .crop-view-nav-more summary { font-size: .7rem; min-width: 0; padding-inline: .25rem; width: 100%; }
    .crop-module-shell .crop-view-nav-more { display: block; min-width: 0; }
    .crop-module-shell .crop-view-nav-more > div { right: 0; }
    .crop-module-shell .crop-seed-review-row { align-items: start; grid-template-columns: minmax(0, 1fr) auto; }
    .crop-module-shell .crop-seed-review-recommendation { grid-column: 1 / -1; }
    .planner-overview-grid { grid-template-columns: minmax(0, 1fr); }
    .planner-work-panel, .planner-suggestions-panel, .planner-longrange-panel { padding: .78rem; }
    .planner-work-row { grid-template-columns: 3.35rem minmax(0, 1fr) auto; }
    .planner-section-heading { align-items: start; }
    .planner-anchor-note { max-width: 10rem; }
    .planner-suggestion { gap: .55rem; grid-template-columns: 3.65rem minmax(0, 1fr); }
    .planner-suggestion-actions { flex-direction: row; grid-column: 1 / -1; justify-content: flex-end; }
    .planner-milestone-form [data-timing-panel] { grid-template-columns: minmax(0, 1fr); }
    .planner-timeline-months { grid-template-columns: 1fr; }
}

/* Planner agenda/year composition. Kept at the end to supersede older rows. */
.planner-page-shell { gap: .8rem; }
.planner-page-actions a { align-items: center; color: var(--ink) !important; display: inline-flex; justify-content: center; text-decoration: none; }
.planner-page-actions .primary-button { color: var(--paper) !important; }
.planner-view-switcher { background: var(--paper-deep); border: 1px solid var(--line-soft); border-radius: 9px; display: inline-grid; gap: .25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 18rem; padding: .25rem; }
.planner-view-switcher a { border-radius: 6px; color: var(--ink) !important; font-size: .82rem; font-weight: 850; min-height: 2.15rem; padding: .42rem .7rem; text-align: center; text-decoration: none; }
.planner-view-switcher a[aria-current="page"] { background: var(--ink); color: var(--paper) !important; }
.planner-agenda, .planner-suggestions-panel, .planner-year { background: var(--paper); border: 1px solid var(--line-soft); border-radius: 11px; padding: .82rem; }
.planner-coming-agenda { margin-top: 0; }
.planner-agenda-list, .planner-suggestion-list { margin-top: .55rem; }
.planner-agenda-item { border-top: 1px solid var(--line-soft); display: grid; gap: .18rem; padding: .7rem 0; }
.planner-agenda-item:first-child { border-top: 0; padding-top: 0; }
.planner-agenda-item > strong { color: var(--ink); font-size: .96rem; line-height: 1.28; }
.planner-agenda-meta { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; }
.planner-agenda-meta time { color: var(--green); font-size: .77rem; font-weight: 900; }
.planner-agenda-item.is-overdue time { color: #a84d36; }
.planner-agenda-item details { margin-top: .18rem; }
.planner-agenda-item summary, .planner-suggestion > summary, .planner-year-operation > summary { cursor: pointer; list-style: none; }
.planner-agenda-item summary::-webkit-details-marker, .planner-suggestion > summary::-webkit-details-marker, .planner-year-operation > summary::-webkit-details-marker { display: none; }
.planner-agenda-item summary { color: var(--green); font-size: .78rem; font-weight: 850; }
.planner-agenda-item details p, .planner-operation-details p { color: var(--muted); font-size: .82rem; line-height: 1.38; margin: .45rem 0; }
.planner-domain { color: var(--green); font-size: .66rem; line-height: 1.2; }
.planner-suggestion { border-top: 1px solid var(--line-soft); display: block; padding: .68rem 0; }
.planner-suggestion:first-child { border-top: 0; padding-top: 0; }
.planner-suggestion > summary { align-items: start; display: grid; gap: .65rem; grid-template-columns: 4.2rem minmax(0, 1fr); }
.planner-suggestion-date strong { font-size: .9rem; }.planner-suggestion-date small { color: var(--muted); display: block; font-size: .67rem; font-weight: 750; line-height: 1.25; }
.planner-suggestion-copy small { color: var(--muted); display: block; font-size: .78rem; line-height: 1.32; margin-top: .08rem; }
.planner-operation-details { border-left: 2px solid var(--line-soft); margin: .58rem 0 .1rem 4.2rem; padding-left: .68rem; }
.planner-operation-details ul { color: var(--muted); font-size: .8rem; line-height: 1.4; margin: .25rem 0 .5rem; padding-left: 1rem; }
.planner-operation-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .4rem; }
.planner-operation-actions form { margin: 0; }.planner-operation-actions button { min-height: 2.2rem; }
.planner-individual-suggestions { border-top: 1px solid var(--line-soft); margin: .7rem 0 .65rem; padding-top: .65rem; }
.planner-individual-suggestions > p { align-items: baseline; display: flex; gap: .5rem; justify-content: space-between; margin: 0 0 .45rem; }
.planner-individual-suggestions > p strong { color: var(--ink); font-size: .82rem; }
.planner-individual-suggestions > p span { color: var(--muted); font-size: .75rem; }
.planner-individual-suggestion { align-items: center; background: var(--paper); border: 1px solid var(--line-soft); border-radius: .65rem; display: flex; gap: .65rem; justify-content: space-between; margin-top: .4rem; padding: .55rem .65rem; }
.planner-individual-suggestion > div:first-child { display: grid; gap: .12rem; min-width: 0; }
.planner-individual-suggestion > div:first-child > strong { color: var(--ink); font-size: .84rem; overflow-wrap: anywhere; }
.planner-individual-suggestion small { color: var(--muted); font-size: .74rem; line-height: 1.35; }
.planner-individual-actions { align-items: center; display: flex; flex-shrink: 0; flex-wrap: wrap; gap: .35rem; }
.planner-individual-actions form { margin: 0; }
.planner-individual-actions :is(button, a) { min-height: 2.2rem; padding: .35rem .55rem; }
.planner-page-shell + .form-help, .form-heading .form-help { color: var(--muted); font-size: .86rem; line-height: 1.45; margin: .45rem 0 0; max-width: 42rem; }
.planner-year { overflow: hidden; }
.planner-year-months { border-bottom: 1px solid var(--line); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); margin: .85rem 0 .45rem; padding-bottom: .35rem; }
.planner-year-months span { color: var(--muted); font-size: .67rem; font-weight: 850; text-align: center; text-transform: uppercase; }
.planner-year-operations { display: grid; gap: .38rem; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.planner-year-operation { grid-column: var(--start) / var(--end); min-width: 0; }
.planner-year-operation > summary { align-items: stretch; background: var(--paper-deep); border: 1px solid var(--line-soft); border-left: 4px solid var(--steel); border-radius: 7px; display: grid; gap: .3rem .55rem; grid-template-columns: 0 minmax(0, 1fr) auto; min-height: 3.7rem; padding: .45rem .55rem; }
.planner-year-operation.state-planned > summary { background: #eef4e9; border-left-color: var(--green); }.planner-year-operation.state-suggested > summary { border-left-color: var(--orange); }.planner-year-operation.state-completed > summary { opacity: .68; }.planner-year-operation.state-anchor > summary { background: #f8f0df; border-left-color: var(--orange); border-style: dashed; }
.planner-year-operation-copy { display: grid; min-width: 0; }.planner-year-operation-copy strong { color: var(--ink); font-size: .77rem; line-height: 1.2; overflow-wrap: anywhere; }.planner-year-operation-copy small { color: var(--muted); font-size: .66rem; line-height: 1.22; margin-top: .08rem; }
.planner-year-state { align-self: start; color: var(--muted); font-size: .61rem; font-weight: 850; text-transform: uppercase; }
.planner-year-operation .planner-operation-details { margin-left: .35rem; }
.planner-year-key { display: flex; flex-wrap: wrap; gap: .35rem .7rem; margin: .75rem 0 0; }.planner-year-key span { color: var(--muted); font-size: .72rem; font-weight: 800; }.planner-year-key span::before { background: var(--steel); border-radius: 50%; content: ''; display: inline-block; height: .48rem; margin-right: .22rem; width: .48rem; }.planner-year-key .state-planned::before { background: var(--green); }.planner-year-key .state-suggested::before, .planner-year-key .state-anchor::before { background: var(--orange); }.planner-year-key .state-completed::before { background: var(--line); }
@media (max-width: 720px) {
  .planner-page-heading { align-items: start; display: grid; gap: .65rem; }.planner-page-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }.planner-page-actions a { font-size: .72rem; min-width: 0; padding-inline: .3rem; }
  .planner-view-switcher { max-width: none; width: 100%; }.planner-agenda, .planner-suggestions-panel, .planner-year { padding: .72rem; }.planner-section-heading { gap: .4rem; }.planner-section-count { font-size: .69rem; }
  .planner-operation-details { margin-left: .25rem; }.planner-operation-actions > form { flex: 1 1 auto; }.planner-operation-actions .primary-button, .planner-operation-actions .secondary-button { width: 100%; }
  .planner-individual-suggestions > p { align-items: flex-start; flex-direction: column; gap: .15rem; }.planner-individual-suggestion { align-items: stretch; flex-direction: column; }.planner-individual-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.planner-individual-actions form, .planner-individual-actions button { width: 100%; }
  .planner-year-months { display: none; }.planner-year-operations { display: grid; grid-template-columns: 1fr; }.planner-year-operation { grid-column: auto; }.planner-year-operation > summary { grid-template-columns: minmax(0, 1fr) auto; min-height: 0; }.planner-year-operation-copy .planner-domain::before { content: attr(data-month); }
  .planner-year-operation-copy strong { font-size: .88rem; }.planner-year-operation-copy small { font-size: .74rem; }.planner-year-state { font-size: .63rem; }
}

/* Planner correction: a calm agenda and a readable farm-year date rail. */
.planner-page-shell {
  gap: 1rem;
}

.planner-page-shell .planner-page-heading {
  align-items: end;
  gap: 1rem;
}

.planner-page-shell .planner-page-heading > div:first-child {
  max-width: 40rem;
}

.planner-page-shell .planner-page-heading .eyebrow,
.planner-page-shell .planner-section-heading .eyebrow {
  color: var(--muted) !important;
  letter-spacing: .045em;
}

.planner-page-shell .planner-page-heading h2,
.planner-page-shell .planner-section-heading h3,
.planner-page-shell .planner-section-heading .planner-section-count {
  color: var(--ink) !important;
  text-shadow: none;
}

.planner-page-shell .planner-page-actions {
  align-items: center;
  gap: .45rem;
}

.planner-page-shell .planner-page-actions a {
  border-radius: .65rem;
  box-sizing: border-box;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.2;
  min-height: 2.6rem;
  padding: .55rem .78rem;
}

.planner-page-shell .planner-page-actions .primary-button {
  background: var(--ink);
  color: var(--paper) !important;
}

.planner-page-shell .planner-view-switcher {
  background: var(--paper-deep);
  border-radius: .7rem;
  max-width: 22rem;
  padding: .22rem;
}

.planner-page-shell .planner-view-switcher a {
  align-items: center;
  border-radius: .5rem;
  display: flex;
  justify-content: center;
  min-height: 2.4rem;
}

.planner-page-shell .planner-weather-context {
  align-items: end;
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-left: 4px solid var(--steel);
  border-radius: .85rem;
  display: grid;
  gap: .85rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: .9rem 1rem;
  scroll-margin-top: 1rem;
}

.planner-page-shell .planner-weather-context.condition-heat { border-left-color: var(--orange); }
.planner-page-shell .planner-weather-context.condition-frost { border-left-color: #7ba7bd; }
.planner-page-shell .planner-weather-context.condition-wind { border-left-color: var(--steel); }
.planner-page-shell .planner-weather-context.is-resolved { border-left-color: var(--line); }

.planner-weather-context-copy {
  display: grid;
  gap: .18rem;
  min-width: 0;
}

.planner-weather-context-copy h3,
.planner-weather-context-copy p {
  margin: 0;
}

.planner-weather-context-copy p {
  line-height: 1.4;
  max-width: 52rem;
}

.planner-weather-context-copy > small {
  color: var(--muted);
  line-height: 1.35;
}

.planner-weather-state {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-size: .7rem;
  font-weight: 850;
  gap: .38rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.planner-weather-state i {
  background: var(--steel);
  border-radius: 50%;
  height: .55rem;
  width: .55rem;
}

.condition-heat .planner-weather-state i { background: var(--orange); }
.condition-frost .planner-weather-state i { background: #7ba7bd; }
.is-resolved .planner-weather-state i { background: var(--line); }

.planner-weather-days {
  display: grid;
  gap: .45rem;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.planner-weather-days article {
  background: var(--paper-deep);
  border-radius: .6rem;
  display: grid;
  gap: .15rem;
  min-width: 0;
  padding: .55rem .65rem;
}

.planner-weather-days article > header {
  align-items: center;
  display: flex;
  gap: .45rem;
  justify-content: space-between;
}

.planner-weather-days article > small,
.planner-weather-days article > span {
  color: var(--muted);
  font-size: .72rem;
}

.planner-weather-days article > a {
  color: var(--ink) !important;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.25;
  margin-top: .18rem;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.planner-weather-context > .secondary-button {
  white-space: nowrap;
}

.planner-page-shell .planner-agenda,
.planner-page-shell .planner-suggestions-panel,
.planner-page-shell .planner-year {
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: .85rem;
  box-shadow: none;
  padding: 1rem;
}

.planner-page-shell .planner-section-heading {
  align-items: start;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line-soft) !important;
  color: var(--ink) !important;
  min-height: 0;
  padding: 0 0 .7rem;
}

.planner-page-shell .planner-section-heading::after,
.planner-page-shell .planner-section-heading::before {
  background: none !important;
  border: 0 !important;
}

.planner-page-shell .planner-section-heading h3 {
  font-size: 1.18rem;
  line-height: 1.15;
}

.planner-page-shell .planner-section-count {
  font-size: .75rem;
  line-height: 1.25;
  max-width: 12rem;
}

.planner-page-shell .planner-agenda-list,
.planner-page-shell .planner-suggestion-list {
  margin-top: .2rem;
}

.planner-page-shell .planner-agenda-item {
  gap: .22rem;
  padding: .75rem 0;
}

.planner-page-shell .planner-agenda-item > strong,
.planner-page-shell .planner-suggestion-copy > strong,
.planner-page-shell .planner-year-operation-copy > strong {
  color: var(--ink) !important;
  font-weight: 780;
  letter-spacing: 0;
  text-transform: none;
}

.planner-page-shell .planner-agenda-item > strong {
  font-size: 1rem;
}

.planner-page-shell .planner-agenda-item summary,
.planner-page-shell .planner-suggestion > summary,
.planner-page-shell .planner-year-operation > summary,
.planner-page-shell .planner-preference-control > summary {
  color: var(--green) !important;
}

.planner-page-shell .planner-agenda-item summary,
.planner-page-shell .planner-preference-control > summary {
  font-size: .8rem;
  font-weight: 750;
}

.planner-page-shell .planner-operation-details {
  border-left-color: var(--line);
  margin-top: .5rem;
}

.planner-page-shell .planner-operation-actions {
  align-items: center;
  gap: .45rem;
}

.planner-page-shell .planner-operation-actions .primary-button,
.planner-page-shell .planner-operation-actions .secondary-button,
.planner-page-shell .compact-action {
  border-radius: .6rem;
  min-height: 2.4rem;
}

.planner-page-shell .planner-preference-control {
  margin: 0;
}

.planner-page-shell .planner-preference-control form {
  margin-top: .35rem;
}

.planner-page-shell .planner-preference-control .text-button {
  color: var(--muted) !important;
  text-decoration: none;
}

.planner-page-shell .planner-suggestion {
  padding: .8rem 0;
}

.planner-page-shell .planner-suggestion > summary {
  gap: .8rem;
  grid-template-columns: 4.35rem minmax(0, 1fr);
}

.planner-page-shell .planner-suggestion-date {
  border-right: 1px solid var(--line-soft);
  min-height: 2.85rem;
}

.planner-page-shell .planner-suggestion-date strong {
  color: var(--ink) !important;
  font-size: 1rem;
  line-height: 1.1;
}

.planner-page-shell .planner-suggestion-date small,
.planner-page-shell .planner-suggestion-copy small,
.planner-page-shell .planner-operation-details p {
  color: var(--muted) !important;
}

.planner-page-shell .planner-domain {
  color: var(--green) !important;
  font-size: .69rem;
  font-weight: 850;
  letter-spacing: .06em;
}

.planner-page-shell .planner-year {
  overflow: visible;
}

.planner-page-shell .planner-year-timeline {
  display: grid;
  gap: 1.15rem;
  margin-top: .9rem;
}

.planner-page-shell .planner-year-month {
  background: transparent;
  border: 0;
  border-radius: 0;
  display: block;
  padding: 0;
}

.planner-page-shell .planner-year-month h4 {
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.2;
  margin: 0 0 .4rem;
}

.planner-page-shell .planner-year-operations {
  border-left: 1px solid var(--line);
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
  margin-left: .55rem;
}

.planner-page-shell .planner-year-operation {
  display: block;
  grid-column: auto;
  min-width: 0;
}

.planner-page-shell .planner-year-operation > summary {
  align-items: start;
  background: transparent;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: .2rem .65rem;
  grid-template-columns: 3rem 1rem minmax(0, 1fr) auto;
  min-height: 0;
  padding: .52rem 0 .52rem .35rem;
}

.planner-page-shell .planner-year-operation > summary:hover,
.planner-page-shell .planner-year-operation > summary:focus-visible {
  background: var(--paper-deep);
  border-radius: .55rem;
  outline: none;
}

.planner-page-shell .planner-year-operation time {
  color: var(--muted);
  font-size: .73rem;
  font-variant-numeric: tabular-nums;
  font-weight: 850;
  line-height: 1.3;
}

.planner-page-shell .planner-year-marker {
  background: var(--steel);
  border: 2px solid var(--paper);
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--steel);
  height: .48rem;
  justify-self: center;
  margin-top: .22rem;
  width: .48rem;
}

.planner-page-shell .state-planned .planner-year-marker { background: var(--green); box-shadow: 0 0 0 1px var(--green); }
.planner-page-shell .state-suggested .planner-year-marker { background: var(--orange); box-shadow: 0 0 0 1px var(--orange); }
.planner-page-shell .state-anchor .planner-year-marker { background: var(--paper); border-color: var(--orange); box-shadow: 0 0 0 1px var(--orange); }
.planner-page-shell .state-completed .planner-year-marker { background: var(--line); box-shadow: 0 0 0 1px var(--line); }

.planner-page-shell .planner-year-operation-copy {
  display: grid;
  min-width: 0;
}

.planner-page-shell .planner-year-operation-copy > strong {
  font-size: .95rem;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.planner-page-shell .planner-year-operation-copy small {
  color: var(--muted);
  font-size: .75rem;
  line-height: 1.3;
  margin-top: .08rem;
}

.planner-page-shell .planner-year-state {
  align-self: start;
  color: var(--muted) !important;
  font-size: .62rem;
  font-weight: 800;
  line-height: 1.3;
  padding-top: .05rem;
}

.planner-page-shell .state-anchor .planner-year-state,
.planner-page-shell .state-anchor .planner-year-operation-copy > strong {
  color: var(--orange) !important;
}

.planner-page-shell .planner-year-operation .planner-operation-details {
  margin: .05rem 0 .45rem 4.65rem;
}

.planner-page-shell .planner-year-key {
  border-top: 1px solid var(--line-soft);
  margin: .8rem 0 0;
  padding-top: .65rem;
}

@media (max-width: 720px) {
  .planner-page-shell .planner-page-heading { display: grid; gap: .7rem; }
  .planner-page-shell .planner-page-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
  .planner-page-shell .planner-page-actions a { font-size: .72rem; padding-inline: .35rem; text-align: center; }
  .planner-page-shell .planner-view-switcher { max-width: none; width: 100%; }
  .planner-page-shell .planner-weather-context { align-items: stretch; grid-template-columns: 1fr; padding: .8rem; }
  .planner-weather-days { grid-template-columns: 1fr; }
  .planner-weather-context > .secondary-button { justify-self: stretch; text-align: center; white-space: normal; }
  .planner-page-shell .planner-agenda,
  .planner-page-shell .planner-suggestions-panel,
  .planner-page-shell .planner-year { padding: .85rem; }
  .planner-page-shell .planner-section-count { font-size: .7rem; max-width: 8.2rem; }
  .planner-page-shell .planner-operation-actions > form { flex: 1 1 auto; }
  .planner-page-shell .planner-operation-actions .primary-button,
  .planner-page-shell .planner-operation-actions .secondary-button { width: 100%; }
  .planner-page-shell .planner-operation-details { margin-left: .15rem; padding-left: .6rem; }
  .planner-page-shell .planner-year-operation > summary { grid-template-columns: 2.6rem .9rem minmax(0, 1fr); }
  .planner-page-shell .planner-year-state { display: none; }
  .planner-page-shell .planner-year-operation .planner-operation-details { margin-left: 3.55rem; }
  .planner-page-shell .planner-year-operation-copy > strong { font-size: .91rem; }
}

/* Planner refinement: compact choices, clear windows, and calm record upkeep. */
.planner-page-shell .planner-agenda,
.planner-page-shell .planner-suggestions-panel,
.planner-page-shell .planner-linear,
.planner-page-shell .planner-catchup {
  gap: .65rem;
  padding: .85rem 1rem;
}

.planner-page-shell .planner-agenda-item {
  align-items: center;
  column-gap: .7rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: .58rem 0;
  row-gap: .2rem;
}

.planner-page-shell .planner-agenda-meta {
  grid-column: 1;
  grid-row: 1;
  gap: .32rem;
}

.planner-page-shell .planner-agenda-meta time,
.planner-page-shell .planner-agenda-meta .planner-domain {
  background: var(--paper-deep);
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  color: var(--muted) !important;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .015em;
  line-height: 1.1;
  padding: .24rem .42rem;
  text-transform: none;
}

.planner-page-shell .planner-agenda-item.tone-soft .planner-agenda-meta time { color: var(--green) !important; }
.planner-page-shell .planner-agenda-item > strong { grid-column: 1; grid-row: 2; line-height: 1.18; }
.planner-page-shell .planner-agenda-reason { color: var(--muted) !important; font-size: .76rem; grid-column: 1; line-height: 1.28; }
.planner-page-shell .planner-agenda-item .planner-item-open {
  align-items: center;
  background: var(--ink);
  border-radius: .5rem;
  color: var(--paper) !important;
  display: inline-flex;
  font-size: .72rem;
  font-weight: 800;
  grid-column: 2;
  grid-row: 1 / span 3;
  justify-content: center;
  line-height: 1.1;
  min-height: 2.2rem;
  padding: .35rem .5rem;
  text-align: center;
}

.planner-page-shell .planner-suggestion { padding: .82rem 0; }
.planner-page-shell .planner-suggestion-main {
  align-items: start;
  column-gap: .8rem;
  display: grid;
  grid-template-columns: 4.6rem minmax(0, 1fr) auto;
}
.planner-page-shell .planner-suggestion-date {
  align-content: start;
  border-right: 1px solid var(--line-soft);
  display: grid;
  gap: .24rem;
  min-height: 4.4rem;
  padding-right: .7rem;
}
.planner-page-shell .planner-suggestion-date strong { font-size: 1.04rem; line-height: 1.05; }
.planner-page-shell .planner-suggestion-date small { font-size: .68rem; line-height: 1.22; }
.planner-page-shell .planner-suggestion-copy { display: grid; gap: .24rem; min-width: 0; padding: .03rem 0 .08rem; }
.planner-page-shell .planner-suggestion-copy .planner-domain { margin-bottom: .04rem; }
.planner-page-shell .planner-suggestion-copy > strong { font-size: 1rem; line-height: 1.2; }
.planner-page-shell .planner-suggestion-copy > small:not(.planner-anchor-note) { line-height: 1.35; }
.planner-page-shell .planner-anchor-note {
  border-left: 2px solid var(--orange);
  font-size: .72rem !important;
  line-height: 1.3;
  margin-top: .15rem !important;
  padding-left: .48rem;
}
.planner-page-shell .planner-suggestion-main .planner-item-open { align-self: start; color: var(--green) !important; font-size: .72rem; font-weight: 800; margin-top: .08rem; white-space: nowrap; }
.planner-page-shell .planner-operation-actions { justify-content: flex-end; margin-top: .55rem; }
.planner-page-shell .planner-operation-actions .primary-button { min-height: 2.15rem; padding: .38rem .62rem; }
.planner-page-shell .planner-suggestion-options { position: relative; }
.planner-page-shell .planner-suggestion-options > summary {
  border: 1px solid var(--line-soft);
  border-radius: .5rem;
  color: var(--muted) !important;
  cursor: pointer;
  font-size: .76rem;
  font-weight: 800;
  list-style: none;
  padding: .38rem .56rem;
}
.planner-page-shell .planner-suggestion-options > summary::-webkit-details-marker { display: none; }
.planner-page-shell .planner-suggestion-options[open] > div {
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: .6rem;
  box-shadow: 0 .35rem .8rem rgba(31, 29, 23, .14);
  display: grid;
  gap: .3rem;
  min-width: 9.5rem;
  padding: .35rem;
  position: absolute;
  right: 0;
  top: calc(100% + .25rem);
  z-index: 3;
}
.planner-page-shell .planner-suggestion-options form { margin: 0; }
.planner-page-shell .planner-suggestion-options button { min-height: 2rem; width: 100%; }

.planner-page-shell .planner-linear { background: var(--paper); }
.planner-page-shell .planner-timeline-context { color: var(--muted); font-size: .8rem; line-height: 1.35; margin: -.2rem 0 .05rem; max-width: 48rem; }
.planner-page-shell .planner-timeline-scroll { margin-top: .1rem; }
.planner-page-shell .planner-window { box-shadow: none; }
.planner-page-shell .planner-window.state-planned { background: #dcebd5; border-color: var(--green); }
.planner-page-shell .planner-window.state-suggested { background: #fbebbe; border-color: var(--orange); }
.planner-page-shell .planner-window.state-anchor { background: var(--ink); border-color: var(--ink); }
.planner-page-shell .planner-timeline-controls { border-top: 1px solid var(--line-soft); margin-top: .15rem; padding-top: .5rem; }
.planner-page-shell .planner-timeline-controls > summary { color: var(--green); cursor: pointer; font-size: .78rem; font-weight: 800; }
.planner-page-shell .planner-timeline-controls[open] > summary { margin-bottom: .55rem; }
.planner-page-shell .planner-timeline-controls .planner-timeline-filters { align-items: end; display: flex; flex-wrap: wrap; gap: .5rem .8rem; }
.planner-page-shell .planner-timeline-controls fieldset,
.planner-page-shell .planner-timeline-controls label { margin: 0; }

.planner-page-shell .planner-catchup { background: transparent; border-color: var(--line-soft); }
.planner-page-shell .planner-catchup header { align-items: start; border-bottom: 1px solid var(--line-soft); gap: .75rem; padding-bottom: .55rem; }
.planner-page-shell .planner-catchup h3 { color: var(--ink); font-size: 1rem; margin: .04rem 0; }
.planner-page-shell .planner-catchup-context { color: var(--muted); font-size: .77rem; line-height: 1.3; margin: .22rem 0 0; max-width: 37rem; }
.planner-page-shell .planner-catchup > div { display: grid; gap: .35rem; }
.planner-page-shell .planner-catchup > div > a { align-items: center; background: var(--paper-deep); border: 1px solid var(--line-soft); border-radius: .55rem; color: var(--ink) !important; display: flex; gap: .7rem; justify-content: space-between; padding: .5rem .6rem; text-decoration: none; }
.planner-page-shell .planner-catchup > div > a span { display: grid; gap: .1rem; min-width: 0; }
.planner-page-shell .planner-catchup > div > a strong { font-size: .83rem; }
.planner-page-shell .planner-catchup > div > a small { color: var(--muted); font-size: .72rem; line-height: 1.22; }
.planner-page-shell .planner-catchup > div > a > b { color: var(--green); flex: 0 0 auto; font-size: .72rem; }

@media (max-width: 720px) {
  .planner-page-shell .planner-agenda,
  .planner-page-shell .planner-suggestions-panel,
  .planner-page-shell .planner-linear,
  .planner-page-shell .planner-catchup { padding: .75rem; }
  .planner-page-shell .planner-agenda-item .planner-item-open { max-width: 5.7rem; }
  .planner-page-shell .planner-agenda-reason { display: none; }
  .planner-page-shell .planner-suggestion-main { column-gap: .6rem; grid-template-columns: 3.8rem minmax(0, 1fr) auto; }
  .planner-page-shell .planner-suggestion-date { min-height: 4.15rem; padding-right: .45rem; }
  .planner-page-shell .planner-suggestion-copy > small:not(.planner-anchor-note) { font-size: .74rem; }
  .planner-page-shell .planner-timeline-controls .planner-timeline-filters { align-items: stretch; display: grid; grid-template-columns: 1fr; }
  .planner-page-shell .planner-timeline-controls button { justify-self: start; }
  .planner-page-shell .planner-catchup header > span { color: var(--muted); font-size: .68rem; white-space: nowrap; }
}
