/* Replenishment readability RP-2. Layout wrappers have no loading state of their own;
   the existing editor retains loading, empty, failure and permission states.
   All colors map to DS-2.0. Scope deliberately outranks historic RP rules. */
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) {
 --rp-label-color:var(--text-2);
}
/* Let the document (or the existing modal body) own vertical scrolling. */
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.table-wrap,.rp-record-options,.rp-war-calendar-scroll,.rp-war-stock-scroll) {max-height:none;overscroll-behavior:auto;overflow:auto;scrollbar-gutter:auto;}
html body #app .replenish-v96.rp-beginner-layout:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-record-picker {padding:var(--s-4);gap:var(--s-3);}
html body #app .replenish-v96.rp-beginner-layout:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-record-options {grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;gap:var(--s-2);}
html body #app .replenish-v96.rp-beginner-layout:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-record-options article {padding:var(--s-2);background:var(--surface);}
html body #app .replenish-v96.rp-beginner-layout:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-record-options article p {margin:var(--s-1) 0;color:var(--text-2);}
/* Pack small numeric inputs into consistent rows, keeping every control and source. */
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) [data-rp-form]>fieldset {gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-group {padding:var(--s-4);gap:var(--s-2);background:var(--surface);}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-group h3 {margin:0 0 var(--s-3);font-weight:700;font-size:var(--fs-lg);}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-grid {gap:var(--s-3);}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-input-product,.rp-input-rules) .rp-grid {grid-template-columns:repeat(6,minmax(0,1fr));}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) label.field {gap:var(--s-1);color:var(--text);}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-field-label {color:var(--text);font-weight:600;font-size:var(--fs-sm);min-height:1.5em;}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-grid :is(input,select) {height:var(--control-h);width:100%;font-size:var(--fs-md);}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-field-note,.rp-field-note small,.rp-source,.small.muted) {color:var(--text-2);}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-field-note,.rp-error,.rp-update,.rp-errors,.rp-notice):empty {display:none;}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-group p {margin:var(--s-2) 0;line-height:1.5;}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-beginner-intro {margin-block:var(--s-3);padding:var(--s-2) var(--s-3);}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-sales {margin-top:var(--s-2);}
/* Strong summary and semantic phase colors make the report the focal point. */
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-summary {background:var(--replenish-summary-bg);color:var(--replenish-summary-text);border:0;padding:var(--s-5);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-summary :is(span,small) {color:var(--replenish-summary-text-2);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-summary strong {color:var(--replenish-summary-text);font-size:var(--fs-xl);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-summary>div {border-color:var(--replenish-summary-divider);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-info {gap:var(--s-3);margin-block:var(--s-3);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-main {grid-template-columns:minmax(0,1fr);gap:var(--s-3);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-war-calendar,.rp-war-detail,.sj-stock) {padding:var(--s-4);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-phase-legend {display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);margin-block:var(--s-3);color:var(--text);font-size:var(--fs-sm);font-weight:600;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-phase-legend>span {display:inline-flex;align-items:center;gap:var(--s-2);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-phase-legend>span::before {content:'';width:var(--s-4);height:var(--s-2);border-radius:var(--r-xs);background:var(--accent);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-key-receive::before {background:var(--warning);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-key-sell::before {background:var(--success);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-key-clear::before {background:var(--danger);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-key-peak::before {background:var(--surface-selected);border:1px solid var(--accent);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-key-holiday::before {background:repeating-linear-gradient(135deg,var(--surface) 0 3px,var(--text-2) 3px 5px);}
/* Dates occupy real layout space, never the end of a short or clipped bar. */
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-calendar-inner {min-width:max(760px,var(--calendar-min,760px));}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-war-month-head,.rp-war-season,.rp-war-month-row,.rp-war-batch) {grid-template-columns:240px minmax(0,1fr);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-month-head {background:var(--surface-2);color:var(--text);font-weight:700;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-sticky {background:var(--surface);color:var(--text);padding:var(--s-3);z-index:4;text-align:left;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-sticky small {color:var(--text-2);font-size:var(--fs-xs);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-month-cell {height:104px;gap:var(--s-1);justify-content:flex-end;color:var(--text);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-month-cell strong {font-size:var(--fs-md);font-weight:700;white-space:nowrap;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-month-cell small {color:var(--text-2);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-sales-bar {opacity:1;max-height:var(--s-6);border-radius:var(--r-xs) var(--r-xs) 0 0;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-peak-label {background:var(--accent-soft);color:var(--accent-text);padding:0 var(--s-1);border-radius:var(--r-xs);font-weight:700;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-batch {min-height:112px;align-items:stretch;transition:background-color var(--dur-hover) var(--ease-out);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-batch-ident {display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-1);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-batch-ident strong {padding:var(--s-1) var(--s-2);background:var(--accent-soft);color:var(--accent-text);border-radius:var(--r-xs);font-size:var(--fs-md);font-weight:700;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-batch-ident b {font-size:var(--fs-lg);color:var(--text);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-ship-label {position:static;display:block;white-space:nowrap;color:var(--accent-text);font-size:var(--fs-md);font-weight:700;line-height:1.6;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-ship-label time {font-size:var(--fs-lg);font-variant-numeric:tabular-nums;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-dates {height:112px;overflow:hidden;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-date-facts {position:relative;z-index:3;display:flex;gap:var(--s-4);align-items:start;padding:var(--s-2) var(--s-3);color:var(--text);line-height:1.5;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-date-facts>span {display:grid;font-size:var(--fs-xs);text-align:left;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-date-facts time {position:static;display:block;white-space:nowrap;font-size:var(--fs-sm);font-weight:700;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-war-shipping,.rp-war-receiving) {top:60px;height:12px;border-radius:var(--r-xs);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-shipping {background:var(--accent);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-shipping::before,html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-shipping::after {top:0;width:12px;height:12px;border:2px solid var(--surface);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-receiving {background:var(--warning);border:2px dashed var(--surface);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-selling {top:84px;height:12px;background:var(--success);border-radius:var(--r-xs);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-clearance-line {border-color:var(--danger);top:52px;bottom:0;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-clearance-line>span {color:var(--danger);background:var(--surface);font-weight:600;top:44px;right:var(--s-1);font-size:var(--fs-xs);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-detail {border-top:3px solid var(--accent);background:var(--surface);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-steps {grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--s-2);margin-block:var(--s-3);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-steps time {color:var(--text);font-weight:600;font-size:var(--fs-sm);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-detail dl {grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s-3);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-detail dl>div {padding-block:var(--s-2);display:grid;gap:var(--s-1);}
/* The inventory graphic keeps its original data and batch selection behavior. */
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .sj-stock {border-top:3px solid var(--success);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .sj-chart {max-height:none;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .sj-chart text {fill:var(--text);font-size:14px;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .sj-chart .sj-line {stroke-width:4;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .sj-chart .sj-safe {stroke-width:3;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .sj-batches>button {flex:1 1 160px;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .sj-batches>button strong {color:var(--accent-text);font-size:var(--fs-md);}
@media(max-width:1200px){
 html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-input-product,.rp-input-rules) .rp-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
 html body #app .replenish-v96.rp-beginner-layout:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-record-options {grid-template-columns:repeat(3,minmax(0,1fr));}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-steps {grid-template-columns:repeat(4,minmax(0,1fr));}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-detail dl {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:900px){
 html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) [data-rp-form]>fieldset {grid-template-columns:minmax(0,1fr);}
 html body #app .replenish-v96.rp-beginner-layout:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-record-options {grid-template-columns:repeat(2,minmax(0,1fr));}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-summary strong {font-size:var(--fs-lg);}
}
@media(max-width:600px){
 html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-input-product,.rp-input-rules) .rp-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-grid :is(input,select) {height:44px;}
 html body #app .replenish-v96.rp-beginner-layout:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-record-options {grid-template-columns:minmax(0,1fr);}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-steps {grid-template-columns:repeat(2,minmax(0,1fr));}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-detail dl {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(prefers-reduced-motion:reduce){html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-batch {transition:none;}}
[data-motion=reduce] .replenish-v96 .rp-war-batch {transition:none;}
@media(min-width:1201px){
 html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-input-source,.rp-input-sales) .rp-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
 html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-input-source,.rp-input-sales) .rp-field-label {min-height:3em;}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-visual {display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--s-3);}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-visual>* {grid-column:1/-1;}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-visual:has(>.rp-clearance-summary)>.rp-clearance-summary {grid-column:1;margin:0;}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-visual:has(>.rp-clearance-summary)>.rp-war-info {grid-column:2;display:grid;grid-template-columns:1fr;margin:0;gap:var(--s-2);}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-info>div {padding:var(--s-2) var(--s-3);}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-detail {display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--s-2) var(--s-4);align-items:start;}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-detail>h3 {grid-column:1/-1;margin:0;}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-detail>p:not(.small) {grid-column:1;margin:0;}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-detail>.rp-war-steps {grid-column:2;grid-row:2/4;margin:0;}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-detail>dl {grid-column:1/-1;margin:0;}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-detail>button {grid-column:1;}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-detail>p.small {grid-column:2;margin:0;}
}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-group {margin-block:0;}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-core {margin-block:var(--s-3);gap:var(--s-3);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-war-visual,.rp-war-computations)[hidden] {display:none;}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-source {padding:0 var(--s-1);margin-block:0;line-height:1.5;}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-group {padding:var(--s-3);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-detail .rp-war-quantity strong {font-size:var(--fs-xl);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-ship-label time {color:var(--accent-text);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-date-facts time {color:var(--text);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-core span {color:var(--text-2);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .sj-chart .sj-receiving {stroke:var(--text-2);}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-core {padding:var(--s-3);gap:var(--s-2);}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-core span {margin-bottom:var(--s-1);}
html body .replenish-v96.rp-beginner:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-core .rp-notice {padding:var(--s-2);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-visual>.rp-clearance-summary {padding:var(--s-3);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-visual>.rp-clearance-summary p {margin-block:var(--s-2);}
html body #app .replenish-v96.rp-beginner-layout:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-record-options article {margin-block:0;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-receiving-policy .rp-war-shipping::after {background:var(--warning);}
@media(max-width:600px){html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-war-month-head,.rp-war-season,.rp-war-month-row,.rp-war-batch) {grid-template-columns:200px minmax(0,1fr);}}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-today>span {position:absolute;left:var(--s-1);bottom:var(--s-1);top:auto;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-month-cell strong {white-space:normal;overflow-wrap:anywhere;}
/* Match legend specificity to the common swatch rule. */
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-phase-legend>.rp-key-receive::before {background:var(--warning);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-phase-legend>.rp-key-sell::before {background:var(--success);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-phase-legend>.rp-key-clear::before {background:var(--danger);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-phase-legend>.rp-key-peak::before {background:var(--surface-selected);border:1px solid var(--accent);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-phase-legend>.rp-key-holiday::before {background:repeating-linear-gradient(135deg,var(--surface) 0 3px,var(--text-2) 3px 5px);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-today>span {white-space:nowrap;}

/* RP-2.1: background and holiday masks must stay behind every phase bar. */
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-dates {isolation:isolate;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-peak-bg {z-index:0;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-holiday {z-index:1;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-war-shipping,.rp-war-receiving,.rp-war-selling) {z-index:2;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-war-today,.rp-war-clearance-line) {z-index:3;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-date-facts {z-index:4;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-policy-note {padding:var(--s-3);border-inline-start:var(--s-1) solid var(--accent);border-radius:var(--r-sm);background:var(--accent-soft);color:var(--text);font-size:var(--fs-sm);line-height:1.5;}
/* RP-3: six explicit date columns; all are visible by default. */
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-calendar-heading h3{margin:0;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-columns{position:relative;z-index:12;min-width:120px;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-columns>summary{cursor:pointer;padding:var(--s-2) var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);min-height:var(--control-h-sm);font-size:var(--fs-sm);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-columns>summary:hover{background:var(--surface-hover);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-columns>summary:active{background:var(--surface-selected);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-columns>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-columns>div{position:absolute;right:0;top:100%;width:min(340px,calc(100vw - 56px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2);padding:var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-2);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-columns label{display:flex;align-items:center;gap:var(--s-2);min-height:var(--control-h-sm);font-size:var(--fs-sm);color:var(--text);cursor:pointer;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-columns input{width:18px;height:18px;min-width:18px;accent-color:var(--accent);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-calendar-inner{min-width:max(1120px,var(--calendar-min,1120px));}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-date-facts{display:grid;grid-template-columns:repeat(var(--rp-fact-cols,6),minmax(0,1fr));gap:var(--s-3);align-items:start;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-date-name{color:var(--text);font-weight:600;line-height:1.5;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-date-facts time{line-height:1.5;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-date-missing{font-size:var(--fs-xs);color:var(--text-2);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) [data-rp-war-fact=clearance] time{color:var(--danger);}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-batch{min-height:168px;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-dates{height:168px;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) :is(.rp-war-shipping,.rp-war-receiving){top:92px;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-selling{top:120px;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-clearance-line{top:82px;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-clearance-line>span{top:60px;}
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-upgrade-preview-note{padding:var(--s-3);border:1px solid var(--warning);border-radius:var(--r-sm);background:var(--warning-soft);color:var(--text);font-size:var(--fs-sm);line-height:1.5;}
@media(max-width:600px){html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-columns :is(summary,label){min-height:44px;}}

/* RP-3.1 First sellable date: four summary cells; all original facts remain. */
html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-summary {grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:1100px) {
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-summary {grid-template-columns:repeat(2,minmax(0,1fr));}
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-summary>div {border:0;}
}
@media(max-width:540px) {
 html body .replenish-v96:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#) .rp-war-summary {grid-template-columns:minmax(0,1fr);}
}
