/* The palette lives in ns-tokens.css. These aliases reconnect older chrome to it. */
.ns-polish-21:not(.ns-sign-preview) {
    --ns-text-primary: var(--ns-text);
    --ns-text-secondary: var(--ns-text-2);
    --ns-text-muted: var(--ns-text-2);
    --ns-bg-primary: var(--ns-bg);
    --ns-bg-secondary: var(--ns-card);
    --ns-bg-tertiary: var(--ns-surface);
    --ns-bg-surface: var(--ns-card);
    --ns-bg-muted: var(--ns-surface);
    --ns-accent: var(--ns-gold);
    --ns-accent-hover: var(--ns-gold-deep);
    --ns-accent-text: var(--ns-on-accent);
    color: var(--ns-text);
    background-color: var(--ns-bg);
    font-family: var(--ns-font);
    min-width: 0;
}
.ns-polish-21 .ns-mywork__card { background: var(--ns-card); border-color: var(--ns-border); border-radius: var(--ns-radius); }
.ns-polish-21 .ns-mywork__make { color: var(--ns-on-accent); }
.ns-polish-21 :is(.ns-cq__actions, .ns-orient__actions) .btn-primary { color: var(--ns-on-accent); }
.ns-polish-21 :is(.ns-cq__actions, .ns-orient__actions) .btn-primary:hover { background: var(--ns-gold-deep); border-color: var(--ns-gold-deep); }
.ns-polish-21 :is(.ns-mywork__title, .ns-cq__title, .ns-orient__title) { font-weight: 500; }
.ns-polish-21 :is(.ns-cq__card, .ns-orient__card) { overflow-wrap: anywhere; }
.ns-polish-21 :is(.ns-cq__card, .ns-orient__card) :is(input, select, textarea) { color: var(--ns-text); background: var(--ns-card); border-color: var(--ns-border-strong); }
.ns-polish-21 :is(.ns-cq__card, .ns-orient__card) a:not(.btn) { color: var(--ns-gold-light); }
.ns-polish-21 .ns-bblib__top { flex-wrap: wrap; }
.ns-polish-21 :is(input, textarea)::placeholder { color: var(--ns-text-2); opacity: 1; }
.qagent-create-v2.ns-polish-21 { --ns-bg-card: var(--ns-card); --ns-bg-input: var(--ns-bg); }
.qagent-create-v2.ns-polish-21 :is(.tab-link, .host-entry, .qcreate-avatar-type-btn) { color: var(--ns-text); background: var(--ns-surface) !important; border-color: var(--ns-border-strong) !important; }
.qagent-create-v2.ns-polish-21 .tab-item.active .tab-link { color: var(--ns-gold-light); border-color: var(--ns-gold) !important; box-shadow: inset 0 -2px 0 var(--ns-gold); }
.qagent-create-v2.ns-polish-21 :is(input, select, textarea):focus { border-color: var(--ns-gold) !important; box-shadow: none !important; }
.qagent-create-v2.ns-polish-21 :is(.qagent-v2-phone-icon, .error-message) { color: var(--ns-text); }
.ns-polish-21-embed .embed-password-card { color: var(--ns-text); background: var(--ns-card); border-color: var(--ns-border); }
.ns-polish-21-embed .embed-password-card :is(input, .input-group-text) { color: var(--ns-text); background: var(--ns-surface); border-color: var(--ns-border-strong); }
.ns-polish-21-embed .embed-password-card .text-primary { color: var(--ns-gold-light) !important; }
.ns-polish-21-embed .embed-password-card .btn-primary { color: var(--ns-on-accent); background: var(--ns-gold); border-color: var(--ns-gold); }
body:has(.ns-polish-21.ns-gp-ag) #main-content { background: var(--ns-bg); color: var(--ns-text); }

/* Owner theme tokens also reach SweetAlert, which portals its dialogs to body. */
body:has(.ns-polish-21.ns-gp-ag) .swal2-popup {
    background: var(--ns-card);
    color: var(--ns-text);
    font-family: var(--ns-font);
    border: 1px solid var(--ns-border-strong);
    border-radius: var(--ns-radius);
}
body:has(.ns-polish-21.ns-gp-ag) .swal2-confirm { background: var(--ns-gold) !important; color: var(--ns-on-accent) !important; }
body:has(.ns-polish-21.ns-gp-ag) .swal2-cancel { background: var(--ns-surface) !important; color: var(--ns-text) !important; }

/* The live prospect keeps its own accent; matching ink is supplied by the same palette. */
body.ns-polish-21.ns-gp-16197 .pp-keep { background: var(--ns-gold); color: var(--ns-on-accent); }
body.ns-polish-21.ns-gp-16197:not(.ns-doors-pp) .pp-keep { color: var(--ns-text); background: color-mix(in srgb, var(--pp-accent) 16%, var(--ns-card)); border: 1px solid var(--ns-border-strong); }

body.ns-polish-21.ns-landing-page .landing-bg { background: var(--ns-bg); }
body.ns-polish-21.ns-landing-page :is(.landing-header, .landing-footer) { background: var(--ns-bg); color: var(--ns-text); border-color: var(--ns-border); }
body.ns-polish-21.ns-landing-page :is(.landing-brand, .landing-nav-link, .landing-link-btn) { color: var(--ns-text); }
.ns-polish-21 .pilot-submit { min-height: 44px; }

@media (max-width: 575.98px) {
    .ns-polish-21 .ns-mywork__grid { grid-template-columns: minmax(0, 1fr); }
    .ns-polish-21 :is(.ns-cq__title, .ns-orient__title) { font-size: 1.5rem; }
}
