/* v83: shared planning controls. Loaded after desktop and mobile styles. */
:root { --control-radius:12px; --control-height:38px; }
.item-modal :is(.modal-primary,.modal-secondary,.modal-danger,.item-remove-assignment),
:is(.planning-dialog,.food-meal-dialog) :is(.modal-primary,.modal-secondary,.modal-danger) {
 box-sizing:border-box; min-height:var(--control-height); border:1px solid #d5dfdb; border-radius:var(--control-radius); padding:.5rem .85rem; font-family:inherit;font-weight:600;font-size:.88rem;line-height:1.3; cursor:pointer; transform:none!important; transition:background-color .12s,border-color .12s;
}
.item-modal .modal-primary,:is(.planning-dialog,.food-meal-dialog) .modal-primary { background:var(--accent,#23715c);border-color:var(--accent,#23715c);color:white; }
.item-modal .modal-secondary,:is(.planning-dialog,.food-meal-dialog) .modal-secondary { background:white;color:var(--text);font-weight:500; }
.item-modal :is(.modal-danger,.item-remove-assignment),:is(.planning-dialog,.food-meal-dialog) .modal-danger { background:white;border:1px solid #e5b8b8!important;color:#ad3030;padding:.5rem .85rem!important; }
.item-modal .modal-danger:hover,:is(.planning-dialog,.food-meal-dialog) .modal-danger:hover { background:#fff3f3; }
:is(.item-modal,.planning-dialog,.food-meal-dialog) .modal-close { display:grid;place-items:center;min-width:34px;min-height:34px;padding:0;border-radius:10px;transform:none!important;user-select:none; }
:is(.item-modal,.planning-dialog,.food-meal-dialog) .modal-close:hover { background:#f1f5f3;transform:none!important; }
:is(.item-modal,.planning-dialog,.food-meal-dialog) .modal-close:focus:not(:focus-visible) { outline:none;box-shadow:none; }
:is(.planning-dialog,.food-meal-dialog) h3:focus { outline:none; }
:is(.item-modal,.planning-dialog,.food-meal-dialog) :is(input:not([type=checkbox]):not([type=hidden]),select,textarea) { font-family:inherit;font-size:.95rem;font-weight:400;border-radius:10px; }
#item-add-modal .modal-food-fields { margin-top:.8rem;background:#f7faf8;border-color:#dce5e0;gap:.7rem; }
#item-add-modal .modal-food-fields .modal-field { min-width:0; }
#item-add-modal .modal-tabs { display:flex;flex-wrap:wrap;gap:.2rem; }
#item-add-modal .modal-tab { font-family:inherit;font-weight:600;font-size:.88rem;line-height:1.35;padding:.6rem .75rem;min-height:38px; }
#item-add-modal .modal-check-row { padding:.65rem .8rem; }
#item-add-modal .modal-check-row label { font-size:.9rem; }#item-add-modal .modal-check-row small { font-size:.8rem;line-height:1.45; }
.food-supplies>h4 { margin:.8rem 0 .6rem;font-size:.95rem; }
.food-day>summary { grid-template-columns:minmax(7rem,.8fr) minmax(6rem,1fr) minmax(5rem,.6fr) minmax(6rem,.7fr); }
.food-meal-dialog .modal-grid { display:grid;grid-template-columns:1fr 1fr;gap:.6rem; }
.water-carry-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:.6rem; }
.water-person-card { display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;padding:.75rem .9rem;border:1px solid #e0e8e4;border-radius:14px;background:white; }
.water-person-card>strong { flex:0 0 auto;font-size:.9rem; }
.water-carry-editor { margin:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.8rem; }
.water-stepper { display:flex;align-items:center;gap:3px; }
.water-stepper input,.water-stepper button { box-sizing:border-box;height:32px!important;min-height:32px!important;border:1px solid #d5dfdb;border-radius:8px;font:inherit;line-height:1;padding:0!important;background:white;transform:none!important; }
.water-stepper input { width:60px;text-align:center;appearance:textfield; }.water-stepper input::-webkit-inner-spin-button { appearance:none; }
.water-stepper button { width:30px;color:var(--accent);cursor:pointer;visibility:hidden; }
.water-stepper:focus-within button,.water-stepper:hover button { visibility:visible; }
.water-stepper span { margin-left:3px; }.water-capacity-detail { color:var(--text-muted);font-size:.8rem;cursor:default; }
.water-carry-editor [data-water-save-status]:empty { display:none; }.water-carry-editor [data-water-save-status] { flex-basis:100%;color:var(--text-muted); }
.water-route-compact { padding:.7rem .85rem;margin:.7rem 0;background:#f9fbfa; }
.water-gap-highlights { display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;margin-bottom:.55rem;font-size:.85rem; }.water-gap-highlights>span { display:flex;gap:.45rem;align-items:baseline; }.water-gap-highlights small { color:var(--text-muted);font-size:.78rem; }
.water-route-scroll { overflow-x:auto; }.water-route-plot { min-width:0;padding:0 12px; }
.water-route-plot .route-water-day-bands { display:flex;position:static;height:25px; }.water-route-plot .route-water-day-band { min-width:0;overflow:hidden;white-space:nowrap;display:flex;align-items:center;justify-content:center;color:var(--day-color);background:var(--day-tint);border-right:1px solid white;font-size:.74rem; }
.water-source-rail { position:relative;height:40px;margin:0 0 3px; }.water-rail-line { position:absolute;left:0;right:0;top:20px;height:3px;background:#cedad5; }
.water-source-position { position:absolute;top:8px;transform:translateX(-50%); }
.water-chart-point { display:grid;place-items:center;width:24px;height:24px;padding:0;border:3px solid white;box-shadow:0 0 0 1px #b5c6bd;border-radius:50%;background:#4f7da8;color:white;font-family:inherit;font-weight:700;font-size:10px;line-height:1;cursor:pointer;transform:none!important; }
.water-chart-point.reliability-uncertain { background:white;color:#9b7026;border-color:#c9933c;box-shadow:none; }.water-chart-point.reliability-seasonal { background:#c9933c; }
.water-chart-point:hover,.water-chart-point:focus-visible { box-shadow:0 0 0 3px #1f6f5b44; }
.water-route-axis { display:flex;justify-content:space-between;gap:1rem;font-size:.7rem;color:var(--text-muted);padding-bottom:3px; }
.water-chart-legend { margin:.4rem 0 0;font-size:.72rem; }.water-chart-legend .source-key { width:9px;height:9px;border:0;border-radius:50%;background:#4f7da8; }.water-chart-legend .source-key.uncertain { border:2px solid #c9933c;background:white;box-sizing:border-box; }.water-chart-legend .source-key.seasonal { background:#c9933c; }
.water-cluster-flyout { position:fixed;z-index:21000;max-width:290px;max-height:45vh;overflow:auto;padding:.4rem;background:white;box-shadow:0 6px 28px #17372a33;border:1px solid #d7e3dc;border-radius:12px; }
.water-cluster-flyout button { display:block;width:100%;border:0;background:white;padding:.55rem;text-align:left;border-radius:9px;cursor:pointer;color:var(--text);font-family:inherit;font-weight:600;font-size:.82rem;line-height:1.3; }.water-cluster-flyout button:hover { background:#edf5f1; }.water-cluster-flyout small { display:block;font-weight:400;color:var(--text-muted);margin-top:.2rem; }
#trip-dashboard .dashboard-water-readiness-meta { display:flex;align-items:center!important;gap:.3rem; }
#trip-dashboard .dashboard-water-readiness-meta>em { margin:.25rem 0 0; }
.planning-dialog { box-sizing:border-box;width:min(650px,calc(100vw - 24px));max-height:85vh;overflow:auto;padding:1.2rem;border:0;border-radius:20px;background:white;color:var(--text);font:inherit;box-shadow:0 16px 60px #0004; }
.planning-dialog::backdrop { background:#24342b66;backdrop-filter:blur(3px); }.planning-dialog .modal-header { display:flex;align-items:center;justify-content:space-between; }.planning-dialog h3 { margin:0;font-size:1.15rem; }
.route-notes-dialog form { margin:.8rem 0; }.route-notes-dialog label { display:block;border-left:3px solid var(--day-color);padding-left:.5rem;margin-bottom:.4rem;font-size:.85rem;font-weight:650; }
.route-notes-dialog textarea { box-sizing:border-box;width:100%;resize:vertical;border:1px solid #d5dfdb;padding:.65rem;line-height:1.5; }.route-notes-dialog small { display:block;min-height:1rem;color:var(--text-muted);font-size:.75rem; }
.route-notes-link-row { padding:.45rem 0 0; }.text-action { display:inline-flex;align-items:center;gap:.35rem;background:none;border:0;padding:.25rem 0;color:var(--accent);font-family:inherit;font-weight:600;font-size:.8rem;line-height:1.4;cursor:pointer; }.text-action svg { width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
@media(max-width:700px){.food-day>summary{grid-template-columns:minmax(7rem,1fr) 1fr}.food-day>summary>span:last-child{grid-column:auto}.water-person-card{padding:.7rem}.water-capacity-detail{flex-basis:100%}.planning-dialog input,.planning-dialog textarea,.food-meal-dialog input,.water-stepper input{font-size:16px}.water-stepper button{visibility:visible}.food-meal-dialog .modal-grid{grid-template-columns:1fr 1fr}}

.water-gap-heading {font-size:.72rem;font-weight:600;color:var(--text-muted);margin-bottom:.35rem;}

@media(max-width:480px){#item-add-modal .modal-tabs{display:grid;grid-template-columns:1fr 1fr}#item-add-modal .modal-tab{text-align:center;width:100%}}

/* v84: shared planning details and compact, accessible controls. */
.carry-status-icon {width:21px;height:21px;vertical-align:middle;display:inline-block;object-fit:contain;}
.daily-food-planner {padding:.9rem;background:#f2f7f4;border:1px solid #dce7df;border-radius:16px;margin:.7rem 0 1rem;}
.daily-food-person {background:transparent;}.daily-food-person h4 {margin-top:.3rem;text-align:left;}
.food-unassigned-badge {display:inline-flex;margin:.5rem 0;padding:.3rem .55rem;border:1px solid #d6e2d9;border-radius:9px;background:#fff;color:#426552;font-size:.76rem;cursor:default;}
.food-summary-footer,.food-decision-meta.macro-meta {padding:.6rem .7rem!important;border:1px solid #dfe7e2;border-radius:10px;background:#f2f6f3;line-height:1.5;}
.food-summary-footer.has-missing {background:#fff9ed;border-color:#eadbc0;margin-top:.6rem;}
.dashboard-load-values {align-items:center!important;}
.dashboard-load-values>.dashboard-metric-badge {margin:0!important;align-self:center;line-height:1.3;transform:none;}
.quantity-control .quantity-step,.water-stepper button {font-weight:500!important;font-size:1.1rem!important;}
@media(hover:hover){
 .quantity-control:hover {z-index:5;}
 .quantity-control:hover .quantity-step{display:block;}
 .quantity-step::after {content:"";position:absolute;top:-1px;bottom:-1px;width:3px;}
 .quantity-step:first-child::after {left:100%;}
 .quantity-step:last-child::after {right:100%;}
}
.trip-day-summary-row .trip-day-summary-weather {justify-self:center;justify-content:center;}
.trip-day-summary-grid-head>span:nth-child(5) {text-align:center;}
.water-route-plot .route-water-day-band {border:0;border-right:1px solid white;padding:0;font-family:inherit;font-weight:600;cursor:pointer;}
.water-route-plot .route-water-day-band:hover,.water-route-plot .route-water-day-band:focus-visible {box-shadow:inset 0 -2px currentColor;}
.water-gap-lanes {display:grid;gap:.4rem;margin:.25rem 0 .7rem;}
.water-gap-lane {position:relative;padding-top:12px;text-align:center;font-size:.72rem;color:#5d6b63;}
.water-gap-span {position:absolute;top:0;height:9px;border:1.5px solid #b78a42;border-top:0;background:#c9933c20;box-sizing:border-box;}
.water-gap-lane.reliable .water-gap-span {border-color:#4f7da8;background:#4f7da820;}
.water-gap-caption {white-space:normal;}.water-chart-help {font-size:.73rem;color:var(--text-muted);line-height:1.45;margin:.6rem 0;}
@media(max-width:700px){
 .food-summary-decision-cards{grid-template-columns:minmax(0,1fr)!important;}
 .food-macro-stack{height:10px!important;}.food-macro-stack i{display:none;}
 .food-macro-legend{display:flex!important;flex-wrap:wrap;gap:.4rem .7rem!important;}
 .food-decision-meta.macro-meta{display:grid!important;grid-template-columns:1fr;gap:.4rem;}
 .food-decision-meta.macro-meta span{white-space:normal!important;overflow-wrap:anywhere;}
 .food-supplies{padding:.45rem;}.daily-food-planner{padding:.65rem;}
}

.food-summary-warning {display:flex!important;align-items:flex-start;gap:.6rem;padding:.7rem .8rem!important;margin-top:.65rem;border:1px solid #e7d6b5!important;border-radius:12px!important;background:#fff8eb!important;}
.food-summary-warning.neutral {border-color:#dce6df!important;background:#eff5f1!important;color:#456153;}
.food-summary-warning p {margin:.2rem 0 0;line-height:1.5;}

/* v85: shared visual contracts for headings, interpretations and dialogs.
   Day colors identify stages; status colors express severity independently. */
:root {
 --section-inset:1rem; --label-color:#54615b;
 --status-neutral-bg:#f0f3f2; --status-neutral-border:#dce3df; --status-neutral-text:#53625a;
 --status-good-bg:#edf5ef; --status-good-border:#cfdfd3; --status-good-text:#356447;
 --status-warning-bg:#fff6e7; --status-warning-border:#ead6ae; --status-warning-text:#835d20;
 --status-danger-bg:#fff0ee; --status-danger-border:#eccac5; --status-danger-text:#a34437;
}
#trip-dashboard,.category-tile.food-category-tile,.water-category-tile,.overnight-stays,#dashboard-attention {padding:var(--section-inset);}
:is(#trip-dashboard,.food-category-tile,.water-category-tile,.overnight-stays,#dashboard-attention)>.app-section-heading,
.app-section-heading.gear-section-heading {display:block;text-align:left;}
:is(#trip-dashboard,.food-category-tile,.water-category-tile,.overnight-stays,#dashboard-attention)>.app-section-heading {padding:0;margin:0 0 1rem;}
.app-section-heading.gear-section-heading {padding:var(--section-inset);margin:0 0 .6rem;}
.app-section-heading h3 {margin:0;font-size:1.2rem;font-weight:700;line-height:1.35;}
.app-section-heading p {margin:.35rem 0 0;font-size:.85rem;font-weight:400;line-height:1.5;color:var(--text-muted);}
:is(#trip-dashboard,.water-category-tile,.overnight-stays,.overnight-dialog,.food-discovery) .dashboard-metric-badge,
.food-decision-card-top b,.food-unassigned-badge {
 --status-bg:var(--status-neutral-bg);--status-border:var(--status-neutral-border);--status-text:var(--status-neutral-text);
 display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;max-width:100%;min-height:25px;
 padding:.25rem .5rem!important;margin:0;border:1px solid var(--status-border);border-radius:8px;
 background:var(--status-bg);color:var(--status-text);font-family:inherit;font-size:.73rem;font-style:normal;font-weight:500;line-height:1.3!important;white-space:normal;
}
:is(#trip-dashboard,.water-category-tile,.overnight-stays,.overnight-dialog,.food-discovery) .dashboard-metric-badge.good,
.food-decision-card.status-good .food-decision-card-top b {
 --status-bg:var(--status-good-bg);--status-border:var(--status-good-border);--status-text:var(--status-good-text);
}
:is(#trip-dashboard,.water-category-tile,.overnight-stays,.overnight-dialog,.food-discovery) .dashboard-metric-badge:is(.warning,.low,.very-low),
.food-decision-card:is(.status-low,.status-very-low,.status-warning) .food-decision-card-top b {
 --status-bg:var(--status-warning-bg);--status-border:var(--status-warning-border);--status-text:var(--status-warning-text);
}
:is(#trip-dashboard,.water-category-tile,.overnight-stays,.overnight-dialog,.food-discovery) .dashboard-metric-badge.danger {
 --status-bg:var(--status-danger-bg);--status-border:var(--status-danger-border);--status-text:var(--status-danger-text);
}
#trip-dashboard .dashboard-food-row {grid-template-columns:minmax(0,1fr) auto;gap:.35rem .7rem;}
#trip-dashboard .dashboard-food-person {grid-column:1;grid-row:1;}
#trip-dashboard .dashboard-food-main {display:contents;}
#trip-dashboard .dashboard-food-main strong {grid-column:2;grid-row:1;text-align:right;}
#trip-dashboard .dashboard-food-main .dashboard-metric-badge {grid-column:2;grid-row:2;justify-self:end;}
#trip-dashboard .dashboard-food-meta {grid-column:1;grid-row:2;white-space:normal;overflow:visible;}
#trip-dashboard .dashboard-load-values>.dashboard-metric-badge {align-self:center;}
.food-decision-card-top {align-items:center;gap:.5rem;}
:is(.trip-stat-label,.weather-card-label,.modal-section-label,.planning-panel-title),
.food-decision-card-top small,.dashboard-card-heading h4,.water-gap-heading {
 color:var(--label-color);font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.4;
}
.food-supplies {border:0!important;padding:0;background:transparent;margin-top:1rem;}
.food-nutrition-panel,.food-packing-panel {border:1px solid #dfe7e2;border-radius:16px;padding:.8rem;background:#f5f8f6;margin:0 0 1rem;min-width:0;}
.food-packing-panel {background:#f7f9fb;}
.food-nutrition-panel .food-summary-card {border:0;background:transparent;padding:0;box-shadow:none;}
.planning-panel-title {margin:0 0 .7rem;text-align:left;}
.food-nutrition-panel .food-summary-decision-cards {grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))!important;}
.food-item-assignment {display:inline-flex;text-align:left;margin:0;}
.food-item-assignment:empty {display:none;}
.food-item-assignment .food-unassigned-badge {max-width:none;border-radius:999px;--status-bg:var(--status-warning-bg);--status-border:var(--status-warning-border);--status-text:var(--status-warning-text);}
.food-category-tile .food-unassigned-badge {margin:0;}
.attention-day-group,.route-notes-dialog form {--day-color:#66776d;padding:.85rem;border:1px solid color-mix(in srgb,var(--day-color) 24%,white);border-radius:14px;background:color-mix(in srgb,var(--day-color) 7%,white);margin:.8rem 0;}
.attention-group-heading {margin:0 0 .6rem;}
.route-notes-dialog label {border:0;padding:0;color:var(--day-color);}
.tooltip-route-heading .tooltip-daylight-badge {display:inline-block;vertical-align:middle;margin-right:.25rem;}
:is(.item-modal,.planning-dialog,.food-meal-dialog) {font-family:inherit;color:var(--text);}
:is(.item-modal,.planning-dialog,.food-meal-dialog) .modal-header {align-items:flex-start;gap:.8rem;margin-bottom:1rem;}
:is(.item-modal,.planning-dialog,.food-meal-dialog) .modal-header h3 {font-size:1.15rem;font-weight:700;line-height:1.35;margin:0;}
:is(.item-modal,.planning-dialog,.food-meal-dialog) .modal-context {font-size:.83rem;font-weight:400;line-height:1.5;margin:.35rem 0 0;color:var(--text-muted);}
:is(.item-modal,.planning-dialog,.food-meal-dialog) :is(.modal-field label,.modal-field>span,.export-option label) {font-size:.83rem;font-weight:600;line-height:1.4;color:var(--label-color);}
:is(.item-modal,.planning-dialog,.food-meal-dialog) :is(input:not([type=checkbox]):not([type=hidden]),select,textarea) {box-sizing:border-box;color:var(--text);line-height:1.4;}
:is(.item-modal,.planning-dialog,.food-meal-dialog) .modal-actions {gap:.5rem;align-items:center;flex-wrap:wrap;}
:is(.item-modal,.planning-dialog,.food-meal-dialog) .modal-check-row {font-size:.88rem;font-weight:500;line-height:1.4;border-radius:10px;}
:is(.item-modal,.planning-dialog,.food-meal-dialog) .modal-check-row small {font-size:.78rem;font-weight:400;line-height:1.4;}
.modal-check-row.is-disabled {opacity:.5;cursor:not-allowed;}
@media(max-width:700px){
 :root{--section-inset:.8rem;}
 :is(.item-modal,.planning-dialog,.food-meal-dialog) :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){font-size:16px;}
 .food-nutrition-panel,.food-packing-panel{padding:.6rem;}
}
.food-category-tile .item-title-line {flex-wrap:wrap;gap:.25rem .35rem;}
.food-category-tile .item-title-open {flex:0 1 auto;min-width:0;}
.food-decision-card-top small {white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
/* v86: suggested refill locations share the existing planning panels. */
.water-discovery {margin-top:1rem;padding:.85rem;border:1px solid #dce7e2;background:#f5f8f6;border-radius:14px;}
.water-discovery-heading {display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.4rem;}
.water-discovery-heading h4 {margin:0;}.water-discovery-heading>span {font-size:.76rem;color:var(--text-muted);}
.water-discovery-help {font-size:.8rem;line-height:1.5;color:var(--text-muted);margin:.6rem 0;}
.water-discovery-list {max-height:340px;overflow:auto;display:grid;gap:.3rem;}
.water-discovery-row {display:flex;align-items:center;justify-content:space-between;gap:.7rem;width:100%;padding:.6rem .7rem;border:1px solid #e1e9e5;background:white;border-radius:10px;font:inherit;color:var(--text);text-align:left;cursor:pointer;transform:none!important;}
.water-discovery-row:hover {background:#eef5f1;}.water-discovery-row strong {font-size:.84rem;}.water-discovery-row small {display:block;font-size:.74rem;color:var(--text-muted);margin-top:.2rem;}
.water-discovery-credit {display:block;font-size:.72rem;line-height:1.5;color:var(--text-muted);margin-top:.65rem;}
.water-source-facts {display:grid;gap:.4rem;margin-bottom:.8rem;}.water-source-facts>div {display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;}.water-source-facts>div>span {color:var(--text-muted);}.water-source-facts strong {text-align:right;font-weight:500;}.water-source-facts a {font-size:.8rem;}
.water-source-dialog .modal-field {display:grid;gap:.3rem;margin:.7rem 0;font-size:.84rem;font-weight:600;}.water-source-dialog :is(input,select){width:100%;padding:.6rem;border:1px solid #d5dfdb;background:white;}
.leaflet-tooltip.route-marker-tooltip {background:#25332e;color:white;border:0;border-radius:9px;padding:.4rem .6rem;box-shadow:0 3px 12px #0002;font-family:inherit;font-size:.78rem;}
.leaflet-tooltip-top.route-marker-tooltip:before {border-top-color:#25332e;}.leaflet-tooltip-bottom.route-marker-tooltip:before {border-bottom-color:#25332e;}.leaflet-tooltip-left.route-marker-tooltip:before {border-left-color:#25332e;}.leaflet-tooltip-right.route-marker-tooltip:before {border-right-color:#25332e;}

.water-source-dialog select {height:42px;min-height:42px;}

/* v87: shared captions and compact food planning. */
#trip-dashboard>.visual-summary-header {display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1rem;}
#trip-dashboard>.visual-summary-header>div {flex:1 1 15rem;}
#trip-dashboard .trip-condition-chip-wrap {margin-left:auto;align-self:flex-start;}
.food-summary-decision-cards :is(.food-decision-meta,.food-range-caption,.food-summary-footer) {font-size:.76rem;font-weight:500;color:var(--text-muted);line-height:1.45;}
.food-summary-decision-cards .food-target-form {font-size:.76rem;font-weight:500;color:var(--text-muted);}
.item-table.food-no-worn .worn-column {display:none;}
.food-packing-panel>.item-table {width:100%;}
.water-discovery-progress {display:grid;gap:.35rem;margin:.6rem 0;font-size:.76rem;color:var(--text-muted);line-height:1.4;}
.water-discovery-progress[hidden] {display:none;}
.water-discovery-progress progress {appearance:none;display:block;width:100%;height:7px;border:0;border-radius:999px;overflow:hidden;background:#dde7e1;accent-color:var(--accent);}
.water-discovery-progress progress::-webkit-progress-bar {background:#dde7e1;border-radius:999px;}
.water-discovery-progress progress::-webkit-progress-value {background:var(--accent);border-radius:999px;}
.water-discovery-progress progress::-moz-progress-bar {background:var(--accent);border-radius:999px;}
.planning-info {display:inline-grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid #d3ded7;border-radius:50%;background:white;color:var(--label-color);font-family:inherit;font-size:.8rem;font-weight:600;line-height:1;cursor:pointer;transform:none!important;}
.food-meal-dialog .modal-title-row {display:flex;align-items:center;gap:.5rem;}
.food-meal-dialog .modal-context {margin-bottom:.75rem;}
.food-meal-dialog .food-meal-tabs {border-bottom:1px solid var(--line);gap:.2rem;margin:0 0 .6rem;}
.food-meal-dialog .food-meal-tabs button {flex:0 1 auto;border:1px solid transparent;border-radius:10px 10px 0 0;background:transparent;font-family:inherit;font-size:.88rem;font-weight:600;line-height:1.4;color:var(--text-muted);padding:.6rem .75rem;}
.food-meal-dialog .food-meal-tabs button[aria-pressed=true] {border-color:var(--line);border-bottom-color:white;background:white;color:var(--accent);margin-bottom:-1px;}
.food-meal-dialog .food-picker-filters {align-items:end;}
.food-meal-dialog label {font-size:.83rem;font-weight:600;color:var(--label-color);}
.food-meal-dialog :is(input,select) {height:40px;min-height:40px;padding:.45rem .6rem;border:1px solid #d5dfdb;background:white;}
.food-meal-picks {border:1px solid #e0e7e3;border-radius:12px;padding:.3rem;display:grid;gap:.2rem;margin:.5rem 0;}
.food-meal-pick {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;border:1px solid transparent;background:white;padding:0 .5rem 0 0;}
.food-meal-pick.is-selected {background:var(--accent-soft,#edf5f1);border-color:#b7d1c4;}
.food-meal-pick>button {width:100%;background:transparent;border:0;min-height:52px;}
.food-meal-pick>button[aria-pressed=true] {background:transparent;border:0;}
.meal-quantity {display:flex;align-items:center;gap:3px;}
.meal-quantity[hidden] {display:none;}
.food-meal-dialog .meal-quantity input {width:52px;text-align:center;appearance:textfield;padding:0;}
.meal-quantity input::-webkit-inner-spin-button {appearance:none;}
.food-meal-dialog .meal-quantity button {width:28px;height:32px;padding:0;border:1px solid #d5dfdb;border-radius:8px;background:white;color:var(--accent);font-family:inherit;font-size:1.1rem;font-weight:500;cursor:pointer;transform:none!important;}
.food-meal-dialog .meal-quantity input {height:32px;min-height:32px;border-radius:8px;}
.food-picker-footer {display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin-top:.6rem;}
.food-selection-summary {color:var(--text-muted);font-size:.78rem;font-weight:500;}
#item-add-modal[data-meal-create="1"] .modal-tabs {display:none;}
/* v88: overnight planning uses the same panels, controls and day colours. */
body[data-page-view="stays"] .gear-toolbar {display:none;}
.overnight-summary {font-size:.85rem;color:var(--text-muted);margin:.7rem 0;}
.overnight-nights {display:grid;gap:.6rem;margin:1rem 0;}
.overnight-night {display:flex;align-items:center;gap:.75rem;padding:.8rem;border:1px solid color-mix(in srgb,var(--day-color) 22%,white);border-radius:14px;background:color-mix(in srgb,var(--day-color) 7%,white);}
.overnight-day {display:grid;place-items:center;flex:0 0 32px;height:28px;border-radius:9px;background:var(--day-color);color:white;font-size:.76rem;font-weight:700;}
.overnight-night-main {flex:1;min-width:0;}.overnight-night-main small {display:block;font-size:.76rem;color:var(--text-muted);line-height:1.5;margin-top:.2rem;}
.overnight-name {border:0;background:transparent;color:var(--text);font:inherit;font-weight:650;padding:0;text-align:left;cursor:pointer;}
.overnight-actions {display:flex;flex-wrap:wrap;gap:.4rem;}
.overnight-stays :is(.modal-secondary,.modal-danger) {min-height:36px;border:1px solid #d5dfdb;border-radius:12px;background:white;padding:.45rem .7rem;color:var(--text);font-family:inherit;font-weight:500;font-size:.82rem;cursor:pointer;transform:none!important;}
.overnight-stays .modal-danger {color:#ad3030;border-color:#e5b8b8;}
.overnight-discovery {padding:.85rem;border:1px solid #dce7e2;background:#f5f8f6;border-radius:14px;}
.overnight-filters {display:flex;align-items:end;gap:.6rem;flex-wrap:wrap;margin:.6rem 0;}
.overnight-filters label {display:grid;gap:.3rem;flex:1;min-width:130px;font-size:.8rem;font-weight:600;color:var(--label-color);}
.overnight-filters :is(input,select),.overnight-dialog .modal-field :is(input,select) {box-sizing:border-box;width:100%;min-height:40px;height:40px;border:1px solid #d5dfdb;border-radius:10px;padding:.4rem .6rem;background:white;color:var(--text);font-family:inherit;font-size:.9rem;font-weight:400;}
.overnight-places {display:grid;gap:.3rem;max-height:360px;overflow:auto;}
.overnight-place {display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;border:1px solid #e1e9e5;border-radius:12px;padding:.65rem .75rem;background:white;color:var(--text);font:inherit;text-align:left;cursor:pointer;transform:none!important;}
.overnight-place:hover {background:var(--accent-soft,#edf5f1);}.overnight-place strong{font-size:.85rem;font-weight:600;}.overnight-place small {display:block;font-size:.75rem;color:var(--text-muted);line-height:1.4;margin-top:.2rem;}
.overnight-dialog .modal-field {display:grid;gap:.35rem;font-size:.83rem;font-weight:600;margin:.6rem 0;}
.overnight-dialog [hidden],.overnight-stays [hidden] {display:none!important;}
@media(max-width:600px){.overnight-night {display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;}.overnight-actions {grid-column:2;margin-left:0;}.overnight-dialog :is(input,select),.overnight-filters :is(input,select){font-size:16px;}.overnight-place {flex-wrap:wrap;}}
@media(max-width:480px){
 #trip-dashboard .dashboard-food-row {grid-template-columns:minmax(0,1fr);}
 #trip-dashboard .dashboard-food-person,#trip-dashboard .dashboard-food-main strong,#trip-dashboard .dashboard-food-main .dashboard-metric-badge,#trip-dashboard .dashboard-food-meta {grid-column:1;grid-row:auto;justify-self:start;text-align:left;}
 .food-meal-pick {grid-template-columns:minmax(0,1fr);padding:.15rem;gap:0;}
 .food-meal-pick .meal-quantity {justify-self:end;margin:0 .35rem .35rem;}
}

/* v89: discovery follows the existing planning panels and dialog controls. */
.food-discovery {margin:1rem 0;padding:1rem;border:1px solid #dce7e2;border-radius:14px;background:#f5f8f6;}
.food-discovery [hidden],.food-place-dialog [hidden] {display:none!important;}
.food-place-dialog .water-source-facts strong {overflow-wrap:anywhere;}
.overnight-dialog .water-source-facts .planning-panel-title {margin:.8rem 0 .2rem;}
@media(max-width:600px){.food-discovery :is(input,select){font-size:16px;}.food-discovery{padding:.75rem;}}

/* v90: resupply shares the food planner's spacing and controls. */
.resupply-plan {margin:.8rem 0;padding:1rem;border:1px solid #dce6e0;border-radius:16px;background:#f5f8f7;}
.resupply-heading {display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;}
.resupply-heading h4 {margin:0;}.resupply-plan .food-plan-muted {font-size:.8rem;line-height:1.5;margin:.55rem 0;}
.resupply-stops {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:.5rem;margin:.75rem 0;}
.resupply-stop {display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.7rem .8rem;border:1px solid #dce6e0;border-radius:12px;background:white;color:var(--text);font:inherit;text-align:left;min-width:0;overflow-wrap:anywhere;}
button.resupply-stop {cursor:pointer;transform:none!important;}button.resupply-stop:hover {background:#eaf3ef;}.resupply-stop strong {font-size:.87rem;}.resupply-stop small,.resupply-stop>span {font-size:.76rem;color:var(--text-muted);}
.resupply-packing-control {justify-content:flex-start;}.resupply-packing-control>label {display:flex;align-items:center;gap:.65rem;font-size:.85rem;font-weight:600;flex-wrap:wrap;}
.resupply-packing-control select {max-width:100%;border:1px solid #d5dfdb;background:white;border-radius:10px;padding:.5rem;font:inherit;font-weight:400;}
.resupply-dialog label {display:flex;flex-direction:column;gap:.3rem;margin:.65rem 0;font-size:.85rem;font-weight:600;}.resupply-dialog :is(select,textarea,input:not([type=checkbox])) {box-sizing:border-box;width:100%;border:1px solid #d5dfdb;padding:.55rem;background:white;color:var(--text);}
.resupply-form-grid {display:grid;grid-template-columns:1fr 1fr;gap:.65rem;}.resupply-dialog .resupply-rule {flex-direction:row;align-items:center;font-weight:400;padding:.55rem;border-radius:10px;background:#f5f8f7;margin:.3rem 0;}
.resupply-dialog .resupply-rule input {accent-color:var(--accent);width:18px;height:18px;flex:none;}.resupply-dialog [data-resupply-dialog-status]:not(:empty) {font-size:.85rem;color:#9b3d2e;}
.food-packing-panel[data-supply-view=stage] :is(.item-row[data-food-content="1"],.food-item-header-row) {display:none!important;}
.food-packing-panel[data-supply-view=stage] .category-total-strip>span {display:none;}
.resupply-stock {padding:.2rem .6rem .6rem;}.resupply-stock h4 {text-align:left;font-size:.92rem;margin:.55rem 0;}.resupply-stock-row {display:grid;grid-template-columns:minmax(120px,1fr) 90px 90px 80px;align-items:center;gap:.5rem;padding:.55rem .35rem;border-bottom:1px solid #e4ebe7;font-size:.84rem;}.resupply-stock-row small {display:block;font-size:.74rem;color:var(--text-muted);margin-top:.2rem;}.resupply-stock-row>strong,.resupply-stock-row>span:not(:first-child) {text-align:right;}.resupply-stock-total {font-size:.8rem;color:var(--text-muted);margin:.65rem 0 0;}
.resupply-meal-source {display:block;font-size:.7rem!important;font-weight:400;color:var(--text-muted);margin-top:.3rem;}
[data-resupply-profile] details {margin:.7rem 0;font-size:.82rem;}[data-resupply-profile] summary {cursor:pointer;color:var(--accent);}.resupply-profile-row {margin:.6rem 0;}.resupply-profile-bars {display:flex;gap:4px;overflow-x:auto;padding-top:.5rem;}.resupply-profile-day {display:flex;flex:1 0 24px;max-width:65px;min-height:80px;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;}.resupply-profile-day i {display:block;width:75%;border-radius:4px 4px 0 0;background:#568c77;}.resupply-profile-day small {font-size:.68rem;}
@media(max-width:600px){.resupply-plan{padding:.75rem}.resupply-packing-control>label{display:block;width:100%}.resupply-packing-control select{display:block;width:100%;margin-top:.3rem}.resupply-stock-row{grid-template-columns:1fr 1fr 1fr;font-size:.79rem}.resupply-stock-row>span:first-child{grid-column:1/-1}.resupply-stock-row>span:not(:first-child){text-align:left}.resupply-stock{padding:.2rem}.resupply-form-grid{grid-template-columns:1fr}.resupply-dialog select{font-size:16px}}

.resupply-plan [data-resupply-status]:not(:empty) {padding:.65rem .75rem;border-radius:12px;background:var(--warning-soft);border:1px solid #e9d7aa;font-size:.8rem;color:#775b20;line-height:1.5;}
