/* Laundry internal template v2.
   Sources: laundry-reader.css/js and index.html laundry-status/calendar/receipt styles.
   Paint only. No geometry, visibility, data, event, barcode or print-layout changes. */
html.cd-template-v1 :is(#view-laundry,#view-query) {
 --lr-ink:#edf4ff;--lr-muted:#c6d4e5;--lr-line:rgba(115,147,194,.28);
}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.laundry-shell,.lr-reader) {
 background:var(--ctpl-page)!important;color:var(--ctpl-ink)!important;
}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.lr-sheet,.lr-history-card,.laundry-summary-item,.laundry-receipt,.laundry-old-group,.laundry-query-box,.laundry-query-result,.laundry-empty) {
 background:var(--ctpl-card)!important;color:var(--ctpl-ink);border-color:var(--ctpl-edge)!important;
}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.lr-sheet+.lr-sheet,.lr-good,.lr-receipt-head,.lr-summary,.lr-history-heading,.lr-actions,.laundry-details,.laundry-old-details,.laundry-query-meta,.laundry-item,.laundry-receipt-action) {border-color:var(--ctpl-edge)!important}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.lr-money .lr-total,.laundry-tabs,.laundry-due,.laundry-items,.laundry-old-entry,.laundry-mini,.laundry-billing,.laundry-start-notice) {
 background:#0e1936!important;color:var(--ctpl-copy)!important;border-color:var(--ctpl-edge)!important;
}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.lr-receipt-head h2,.lr-good>strong,.lr-history-heading h2,.lr-history-heading>strong,.lr-money .lr-total,.laundry-section-title h3,.laundry-receipt h4,.laundry-query-result h4,.laundry-old-group>summary,.laundry-details summary) {color:var(--ctpl-ink)!important}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.lr-money p,.lr-paid:not(.is-paid),.lr-history-meta,.lr-history-due,.laundry-billing-row,.laundry-billing-row.payment-detail,.laundry-item b,.laundry-item small,.laundry-mini span,.laundry-receipt-meta,.laundry-query-items,.laundry-section-title span) {color:var(--ctpl-copy)!important}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.lr-item-price strong,.lr-state.is-ready,.lr-summary>b:not(.is-processing),.laundry-due strong,.laundry-summary-item strong,.laundry-item-price,.laundry-billing-row.total strong,.laundry-billing-row.payment-detail:not(.remaining) strong,.laundry-query-meta strong,.laundry-query-count) {color:#9acbff!important}
/* Preserve status meanings, using their existing desktop high-contrast hues. */
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.lr-paid.is-paid,.laundry-payment-state.paid,.laundry-query-payment.paid) {color:#91dbba!important}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.laundry-payment-state.partial,.laundry-query-payment.partial,.laundry-billing-row.payment-detail.remaining strong) {color:#f4d197!important}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.laundry-payment-state.unpaid,.laundry-query-payment.unpaid) {color:#ffb4b9!important}
/* Neutral controls; active and disabled variants are treated separately. */
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.lr-expand,.lr-actions button,.lr-history-meta button,.laundry-contact,.laundry-load-more,.laundry-receipt-view,.laundry-date-button,.laundry-chip:not(.active),.laundry-tab:not(.active)) {
 background:var(--ctpl-card)!important;color:#9acbff!important;border-color:var(--ctpl-edge)!important;
}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.lr-expand,.lr-actions button,.lr-history-meta button,.laundry-contact,.laundry-load-more,.laundry-receipt-view,.laundry-date-button,.laundry-chip:not(.active)):hover {background:#18284a!important}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.lr-pay:not(:disabled),.laundry-search-row button:not(:disabled),.laundry-chip.active,.laundry-tab.active) {background:var(--ctpl-cta)!important;color:#06142b!important;border-color:#15a7fc!important}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.laundry-date-row input,.laundry-search-row input) {background:#0e1936!important;color:var(--ctpl-ink)!important;border-color:var(--ctpl-edge)!important;color-scheme:dark}
html.cd-template-v1 :is(#view-laundry,#view-query) .laundry-search-row input::placeholder {color:#aebed5}
html.cd-template-v1 :is(#view-laundry,#view-query) .laundry-date-button strong {color:var(--ctpl-ink)!important}
html.cd-template-v1 :is(#view-laundry,#view-query) .laundry-date-label {color:var(--ctpl-copy)!important}
html.cd-template-v1 :is(#view-laundry,#view-query) .laundry-query-items-toggle {color:#9acbff!important}
html.cd-template-v1 :is(#view-laundry,#view-query) .lr-actions>span {background:var(--ctpl-edge)}
/* Calendar scope never changes date semantics, tabindex or disabled opacity. */
html.cd-template-v1 #view-query :is(.laundry-calendar-panel,.laundry-calendar-jump) {background:var(--ctpl-card)!important;color:var(--ctpl-copy);border-color:var(--ctpl-edge)!important}
html.cd-template-v1 #view-query :is(.laundry-calendar-nav,.laundry-calendar-title,.laundry-year-btn:not(.active),.laundry-month-btn:not(.active),.laundry-day:not(.selected)) {background:#0e1936!important;color:var(--ctpl-copy)!important;border-color:var(--ctpl-edge)!important}
html.cd-template-v1 #view-query .laundry-weekdays {color:var(--ctpl-copy)!important}
html.cd-template-v1 #view-query :is(.laundry-weekdays .sun,.laundry-day.sun:not(.selected)) {color:#ffb4b9!important}
html.cd-template-v1 #view-query :is(.laundry-weekdays .sat,.laundry-day.sat:not(.selected)) {color:#9acbff!important}
html.cd-template-v1 #view-query .laundry-day.other:not(.selected) {color:#8b9bb4!important}
html.cd-template-v1 #view-query .laundry-day.today {outline-color:#8fddee!important}
html.cd-template-v1 #view-query :is(.laundry-year-btn.active,.laundry-month-btn.active,.laundry-day.selected,.laundry-calendar-close) {background:var(--ctpl-cta)!important;color:#06142b!important;border-color:#15a7fc!important}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.lr-pay,.lr-actions button,.lr-expand,.laundry-search-row input,.laundry-search-row button,.laundry-chip,.laundry-date-button,.laundry-calendar-panel button):focus-visible {outline-color:#edf7ff}
/* Screen receipt is part of the theme; machine-readable bars retain a white island. */
@media screen {
 html.cd-template-v1 .receipt-modal {background:var(--ctpl-page);color:var(--ctpl-ink)}
 html.cd-template-v1 .receipt-modal :is(.receipt-modal-head,.receipt-paper) {background:var(--ctpl-card);color:var(--ctpl-ink)}
 html.cd-template-v1 .receipt-modal .receipt-paper:after {background:linear-gradient(135deg,transparent 7px,#0e1936 0) 0 0/14px 10px repeat-x,linear-gradient(225deg,transparent 7px,#0e1936 0) 7px 0/14px 10px repeat-x}
 html.cd-template-v1 .receipt-modal :is(.receipt-line,.receipt-items th) {border-color:#8da4be}
 html.cd-template-v1 .receipt-modal .receipt-barcode-wrap {background:#fff;color:#111}
 html.cd-template-v1 .receipt-modal .receipt-modal-actions button {background:var(--ctpl-card);color:var(--ctpl-copy);border-color:var(--ctpl-edge)}
 html.cd-template-v1 .receipt-modal .receipt-modal-actions .receipt-save:not(:disabled) {background:var(--ctpl-cta);color:#06142b;border-color:transparent}
 html.cd-template-v1 .receipt-modal :is(.receipt-modal-back,.receipt-modal-actions button):focus-visible {outline-color:#edf7ff}
}
@media print {
 html.cd-template-v1 .receipt-modal.open,html.cd-template-v1 .receipt-modal .receipt-paper {background:#fff!important;color:#111!important}
 html.cd-template-v1 .receipt-modal .receipt-paper:after {background:linear-gradient(135deg,transparent 7px,#fff 0) 0 0/14px 10px repeat-x,linear-gradient(225deg,transparent 7px,#fff 0) 7px 0/14px 10px repeat-x}
}

/* Legacy receipt notifications/progress text without recoloring badges or progress dots. */
html.cd-template-v1 :is(#view-laundry,#view-query) .laundry-ready-message {background:#0e1936!important;color:#9acbff!important}
html.cd-template-v1 :is(#view-laundry,#view-query) .laundry-step {color:#aebed5!important}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.laundry-step.done,.laundry-step.current) {color:#9acbff!important}
