/* Component chrome consumes the existing ns-gp/ns-gp-ag palettes. */
.ns-polish-8 {
    font-family: var(--ns-font);
    color: var(--ns-text);
}
.ns-polish-8:is(.ns-content-section, .ns-badge-showcase, .ns-scheduler-root) {
    background: var(--ns-bg);
}
.ns-polish-8 .ns-content-card {
    background: var(--ns-card);
    border-color: var(--ns-border);
}
.ns-polish-8 .ns-avatar-menu-overflow { background: var(--ns-card); }
.ns-badge-showcase.ns-polish-8 {
    --ns-text-primary: var(--ns-text);
    --ns-text-secondary: var(--ns-text-2);
    --ns-bg-primary: var(--ns-card);
    --ns-bg-secondary: var(--ns-surface);
    --ns-border-primary: var(--ns-border);
    --ns-accent: var(--ns-gold-light);
    --ns-accent-hover: var(--ns-gold-light);
}
/* The repaired scheduler template uses Bootstrap utilities as well as its older component CSS. */
.ns-scheduler-root.ns-polish-8 {
    --bs-body-color: var(--ns-text);
    --bs-body-bg: var(--ns-bg);
    --bs-border-color: var(--ns-border);
    --bs-secondary-color: var(--ns-text-2);
    --bs-tertiary-bg: var(--ns-surface);
}
.ns-scheduler-root.ns-polish-8 :is(.text-white, .text-light, .text-success, .text-danger) { color: var(--ns-text) !important; }
.ns-scheduler-root.ns-polish-8 .text-secondary { color: var(--ns-text-2) !important; }
.ns-scheduler-root.ns-polish-8 .text-warning { color: var(--ns-text) !important; }
.ns-scheduler-root.ns-polish-8 :is(.agent-sub-card-header, .agent-sub-card-body, .card, .ns-scheduler-step-card, .ns-scheduler-choice-card) {
    background: var(--ns-card);
    color: var(--ns-text);
    border-color: var(--ns-border);
}
.ns-scheduler-root.ns-polish-8 .agent-sub-card-header { padding: 12px; }
.ns-scheduler-root.ns-polish-8 :is(.ea-section-desc, .ea-badge-new) { color: var(--ns-text-2); }
.ns-scheduler-root.ns-polish-8 :is(.form-control, .form-select, .form-check-input) {
    background-color: var(--ns-bg);
    color: var(--ns-text);
    border-color: var(--ns-border-strong);
}
.ns-scheduler-root.ns-polish-8 :is(.form-control, .form-select)::placeholder { color: var(--ns-text-2); }
.ns-scheduler-root.ns-polish-8 .btn {
    --bs-btn-color: var(--ns-text);
    --bs-btn-bg: var(--ns-surface);
    --bs-btn-border-color: var(--ns-border-strong);
    --bs-btn-hover-color: var(--ns-text);
    --bs-btn-hover-bg: var(--ns-elevated);
    --bs-btn-hover-border-color: var(--ns-text-2);
    --bs-btn-active-color: var(--ns-text);
    --bs-btn-active-bg: var(--ns-elevated);
    --bs-btn-disabled-color: var(--ns-text-2);
    --bs-btn-disabled-bg: var(--ns-surface);
    --bs-btn-disabled-border-color: var(--ns-border);
    min-height: 44px;
    white-space: normal;
}
.ns-scheduler-root.ns-polish-8 .btn-primary {
    --bs-btn-color: var(--ns-on-accent);
    --bs-btn-bg: var(--ns-gold);
    --bs-btn-border-color: var(--ns-gold);
    --bs-btn-hover-color: var(--ns-on-accent);
    --bs-btn-hover-bg: var(--ns-gold);
    --bs-btn-hover-border-color: var(--ns-gold-light);
}
.ns-scheduler-root.ns-polish-8 :is(button, input, select, textarea):focus-visible {
    outline: 2px solid var(--ns-gold-light);
    outline-offset: 2px;
    box-shadow: none;
}
.ns-scheduler-root.ns-polish-8 :is(.ns-scheduler-choice-card, .ns-scheduler-pill).is-selected {
    border-color: var(--ns-gold-light);
    color: var(--ns-text);
}
.ns-content-section.ns-polish-8 {
    --ns-c-text: var(--ns-text);
    --ns-c-text-2: var(--ns-text-2);
    --ns-c-card: var(--ns-card);
    --ns-c-line: var(--ns-border);
}
.ns-scheduler-root.ns-polish-8 :is(.text-bg-primary, .text-bg-dark, .text-bg-secondary, .text-bg-success, .text-bg-danger, .text-bg-warning) {
    color: var(--ns-text) !important;
    background-color: var(--ns-surface) !important;
}
.ns-scheduler-root.ns-polish-8 .form-check-input:checked {
    background-color: var(--ns-gold-light);
    border-color: var(--ns-gold-light);
}
.ns-door.ns-polish-8[data-ns-door] {
    --ns-text-primary: var(--ns-text);
    --ns-text-secondary: var(--ns-text-2);
    --ns-text-muted: var(--ns-text-2);
    background: var(--ns-card);
    color: var(--ns-text);
}
.ns-polish-8 { min-width: 0; }
.ns-scheduler-root.ns-polish-8 { overflow-wrap: anywhere; }
.ns-scheduler-root.ns-polish-8 .toast { max-width: calc(100vw - 2rem); }
