/*
 * Shared theme treatment for authenticated screens using MenuComponent.
 * Index and member creation keep their dedicated supplements; skill sheets
 * explicitly opt out in their Blade views.
 */

html.app-theme-enabled #page:not(.theme-page--member-new),
html.app-theme-enabled .page_container {
    background: var(--app-bg) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(h1, h2, h3, h4, h5, h6, label, legend, .title, .page-title, .section-title, .card-title),
html.app-theme-enabled .page_container :where(h1, h2, h3, h4, h5, h6, label, legend, .title, .page-title, .section-title, .card-title) {
    color: var(--app-text) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(
    .description,
    .setting-description,
    .help-text,
    [class$="-description"],
    [class$="-desc"],
    [class$="-help"],
    [class$="-code"],
    [class$="-price"]
),
html.app-theme-enabled .page_container :where(
    .description,
    .setting-description,
    .help-text,
    [class$="-description"],
    [class$="-desc"],
    [class$="-help"],
    [class$="-code"],
    [class$="-price"]
) {
    color: var(--app-text-muted) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where([class$="-static-value"], .static-value),
html.app-theme-enabled .page_container :where([class$="-static-value"], .static-value) {
    color: var(--app-text) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) a:not(.button):not([class*="btn"]),
html.app-theme-enabled .page_container a:not(.button):not([class*="btn"]) {
    color: var(--app-link);
}

html.app-theme-enabled #page:not(.theme-page--member-new) a:not(.button):not([class*="btn"]):hover,
html.app-theme-enabled .page_container a:not(.button):not([class*="btn"]):hover {
    color: var(--app-primary-hover);
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(
    .app-card,
    .section-card,
    .section-block,
    .form-container,
    .form-table,
    .hub-card,
    .hub-threshold-block,
    [class$="-card"],
    [class$="-meta"],
    [class$="-panel"]
),
html.app-theme-enabled .page_container :where(
    .app-card,
    .section-card,
    .section-block,
    .form-container,
    .form-table,
    [class$="-card"],
    [class$="-meta"],
    [class$="-panel"]
) {
    border-color: var(--app-border) !important;
    background: var(--app-surface) !important;
    color: var(--app-text) !important;
    box-shadow: 0 8px 24px var(--app-shadow);
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(.table-container .inner, .table-container2, .inner2, .inner3, .inner4, .inner5),
html.app-theme-enabled .page_container :where(.table-container .inner, .table-container2, .inner2, .inner3, .inner4, .inner5) {
    border-color: var(--app-border) !important;
    background: var(--app-surface) !important;
    color: var(--app-text) !important;
    box-shadow: 0 8px 24px var(--app-shadow);
}

html.app-theme-enabled[data-theme="dark"] #page:not(.theme-page--member-new) :where(
    .app-card,
    .section-card,
    .section-block,
    .form-container,
    .form-table,
    .hub-card,
    .hub-threshold-block,
    [class$="-card"],
    [class$="-meta"],
    [class$="-panel"],
    .table-container .inner,
    .table-container2,
    .inner2,
    .inner3,
    .inner4,
    .inner5
),
html.app-theme-enabled[data-theme="dark"] .page_container :where(
    .app-card,
    .section-card,
    .section-block,
    .form-container,
    .form-table,
    [class$="-card"],
    [class$="-meta"],
    [class$="-panel"],
    .table-container .inner,
    .table-container2,
    .inner2,
    .inner3,
    .inner4,
    .inner5
) {
    border: 1px solid var(--app-border-strong) !important;
    box-shadow: 0 10px 28px var(--app-shadow) !important;
}

html.app-theme-enabled[data-theme="dark"] #page:not(.theme-page--member-new) .admin-setting-link {
    border: 1px solid var(--app-border-strong) !important;
    background: var(--app-surface-raised) !important;
    color: var(--app-text) !important;
    box-shadow: 0 3px 12px var(--app-shadow);
}

html.app-theme-enabled[data-theme="dark"] #page:not(.theme-page--member-new) .admin-setting-link:hover {
    border-color: var(--app-primary) !important;
    background: var(--app-focus-soft) !important;
}

html.app-theme-enabled[data-theme="dark"] .admin-system-page .admin-setting-link .setting-label {
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] .admin-system-page .admin-setting-link .setting-description {
    color: var(--app-text-muted) !important;
}

html.app-theme-enabled #page.admin-system-page .admin-settings-container > .inner {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html.app-theme-enabled #page .member-management-page .admin-action-container > .inner {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html.app-theme-enabled[data-theme="dark"] #page:not(.theme-page--member-new) .danger-item .admin-setting-link {
    border-color: #b85b70 !important;
    background: #4a2631 !important;
    box-shadow: 0 3px 14px rgba(184, 91, 112, 0.18);
}

html.app-theme-enabled[data-theme="dark"] #page:not(.theme-page--member-new) .danger-item .admin-setting-link:hover {
    border-color: #dc7890 !important;
    background: #5a2d3a !important;
}

html.app-theme-enabled[data-theme="dark"] .admin-system-page .danger-item .setting-label {
    color: #ffd1da !important;
}

html.app-theme-enabled[data-theme="dark"] .admin-system-page .danger-item .setting-description {
    color: #efb1bf !important;
}

html.app-theme-enabled[data-theme="dark"] .admin-system-page .danger-item .admin-setting-link.disabled-link {
    opacity: 0.76;
    border-color: #76515c !important;
    background: #38252b !important;
}

html.app-theme-enabled[data-theme="light"] .admin-system-page .danger-item .admin-setting-link.disabled-link {
    opacity: 1;
    border-color: #c5d0dc !important;
    background: #eef2f6 !important;
}

html.app-theme-enabled[data-theme="light"] .admin-system-page .danger-item .disabled-link .setting-label {
    color: #526176 !important;
}

html.app-theme-enabled[data-theme="light"] .admin-system-page .danger-item .disabled-link .setting-description {
    color: #5b6b7f !important;
}

html.app-theme-enabled[data-theme="dark"] .admin-system-page .disabled-link :where(.setting-label, .setting-description) {
    color: var(--app-text-muted) !important;
}

html.app-theme-enabled[data-theme="dark"] #page:not(.theme-page--member-new) :where(
    .member-summary,
    .member-search-result,
    .info-value,
    .feature-flag-name,
    .feature-flag-status,
    .member-access-label-text
) {
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] #page:not(.theme-page--member-new) :where(
    .member-no-result,
    .feature-flag-empty
) {
    color: var(--app-text-muted) !important;
}

html.app-theme-enabled[data-theme="dark"] .company-edit-page .company-edit-meta-label {
    color: var(--app-text-muted) !important;
}

html.app-theme-enabled[data-theme="dark"] .company-edit-page .company-edit-meta-value {
    color: var(--app-text) !important;
}

html.app-theme-enabled:not([data-theme="dark"]) .company-edit-page .company-edit-cancel,
html.app-theme-enabled[data-theme="light"] .company-edit-page .company-edit-cancel {
    border: 1px solid #9ca3af !important;
    background: #e5e7eb !important;
    color: #111827 !important;
}

html.app-theme-enabled:not([data-theme="dark"]) .company-edit-page .company-edit-cancel:hover,
html.app-theme-enabled[data-theme="light"] .company-edit-page .company-edit-cancel:hover {
    border-color: #6b7280 !important;
    background: #d1d5db !important;
    color: #030712 !important;
}

html.app-theme-enabled[data-theme="dark"] .company-edit-page .company-edit-save {
    border-color: #5ea8c7 !important;
    background: #1b5f84 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}

html.app-theme-enabled[data-theme="dark"] .company-edit-page .company-edit-save:hover {
    border-color: #78bdd8 !important;
    background: #23739e !important;
    color: #ffffff !important;
}

html.app-theme-enabled[data-theme="dark"] .company-edit-page .company-edit-cancel {
    border: 1px solid #5d738c !important;
    background: #24384f !important;
    color: #eaf4ff !important;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
}

html.app-theme-enabled[data-theme="dark"] .company-edit-page .company-edit-cancel:hover {
    border-color: #7890ab !important;
    background: #2c4561 !important;
    color: #ffffff !important;
}

html.app-theme-enabled[data-theme="dark"] .company-edit-page :is(.company-edit-save, .company-edit-cancel):focus-visible {
    outline: 3px solid rgba(103, 199, 237, 0.28);
    outline-offset: 2px;
}

html.app-theme-enabled[data-theme="dark"] #page:not(.theme-page--member-new) .my-page-menu-list .list-group-item a {
    border: 1px solid var(--app-border-strong) !important;
    box-shadow: 0 2px 8px var(--app-shadow);
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(input, select, textarea),
html.app-theme-enabled .page_container :where(input, select, textarea) {
    border-color: var(--app-border) !important;
    background-color: var(--app-control-bg) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(input, textarea)::placeholder,
html.app-theme-enabled .page_container :where(input, textarea)::placeholder {
    color: var(--app-text-muted) !important;
    opacity: 0.78;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(input, select, textarea):focus,
html.app-theme-enabled .page_container :where(input, select, textarea):focus {
    border-color: var(--app-focus-ring) !important;
    box-shadow: 0 0 0 3px var(--app-focus-soft) !important;
    outline: none;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(input[readonly], textarea[readonly], input:disabled, select:disabled, textarea:disabled),
html.app-theme-enabled .page_container :where(input[readonly], textarea[readonly], input:disabled, select:disabled, textarea:disabled) {
    background: var(--app-surface-raised) !important;
    color: var(--app-text-muted) !important;
    opacity: 0.78;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(input[type="checkbox"], input[type="radio"]),
html.app-theme-enabled .page_container :where(input[type="checkbox"], input[type="radio"]) {
    accent-color: var(--app-primary);
    box-shadow: none !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(
    a.button,
    button.button,
    button[type="submit"],
    input[type="submit"],
    .primary-btn,
    .btn-primary,
    .action-btn,
    .admin-action-button
),
html.app-theme-enabled .page_container :where(
    a.button,
    button.button,
    button[type="submit"],
    input[type="submit"],
    .primary-btn,
    .btn-primary,
    .action-btn,
    .admin-action-button
) {
    border-color: var(--app-primary) !important;
    background: var(--app-primary) !important;
    color: var(--app-on-primary) !important;
    box-shadow: 0 3px 10px var(--app-shadow);
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(
    a.button,
    button.button,
    button[type="submit"],
    input[type="submit"],
    .primary-btn,
    .btn-primary,
    .action-btn,
    .admin-action-button
):hover,
html.app-theme-enabled .page_container :where(
    a.button,
    button.button,
    button[type="submit"],
    input[type="submit"],
    .primary-btn,
    .btn-primary,
    .action-btn,
    .admin-action-button
):hover {
    border-color: var(--app-primary-hover) !important;
    background: var(--app-primary-hover) !important;
    color: var(--app-on-primary) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(
    .ghost-btn,
    .readonly-btn,
    .js-back-button,
    [class*="cancel"],
    [class*="back-button"]
),
html.app-theme-enabled .page_container :where(
    .ghost-btn,
    .readonly-btn,
    .js-back-button,
    [class*="cancel"],
    [class*="back-button"]
) {
    border-color: var(--app-border) !important;
    background: var(--app-surface-raised) !important;
    color: var(--app-text) !important;
    box-shadow: none;
}

html.app-theme-enabled[data-theme="light"] #page:not(.theme-page--member-new) :where(.js-back-button, [class*="back-button"]),
html.app-theme-enabled:not([data-theme="dark"]) #page:not(.theme-page--member-new) :where(.js-back-button, [class*="back-button"]) {
    border-color: #9ca3af !important;
    background: #e5e7eb !important;
    color: #111827 !important;
}

html.app-theme-enabled[data-theme="light"] #page:not(.theme-page--member-new) :where(.js-back-button, [class*="back-button"]):hover,
html.app-theme-enabled:not([data-theme="dark"]) #page:not(.theme-page--member-new) :where(.js-back-button, [class*="back-button"]):hover {
    border-color: #6b7280 !important;
    background: #d1d5db !important;
    color: #030712 !important;
}

html.app-theme-enabled[data-theme="dark"] #page:not(.theme-page--member-new) :where(.js-back-button, [class*="back-button"]) {
    border-color: #5d738c !important;
    background: #24384f !important;
    color: #eaf4ff !important;
}

html.app-theme-enabled[data-theme="dark"] #page:not(.theme-page--member-new) :where(.js-back-button, [class*="back-button"]):hover {
    border-color: #7890ab !important;
    background: #2c4561 !important;
    color: #ffffff !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(.danger-btn, .btn-danger, :is(button, a, input)[class*="delete"], :is(button, a, input)[class*="withdraw"]),
html.app-theme-enabled .page_container :where(.danger-btn, .btn-danger, :is(button, a, input)[class*="delete"], :is(button, a, input)[class*="withdraw"]) {
    border-color: var(--app-danger-border) !important;
    background: var(--app-danger-bg) !important;
    color: var(--app-danger-text) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(button, a, input):focus-visible,
html.app-theme-enabled .page_container :where(button, a, input):focus-visible {
    outline: 3px solid var(--app-focus-soft);
    outline-offset: 2px;
}

html.app-theme-enabled #page:not(.theme-page--member-new) table,
html.app-theme-enabled .page_container table {
    border-color: var(--app-table-border) !important;
    background: var(--app-table-row) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) table :where(thead, thead tr, thead th),
html.app-theme-enabled .page_container table :where(thead, thead tr, thead th) {
    border-color: var(--app-table-border) !important;
    background: var(--app-table-header) !important;
    color: var(--app-table-header-text) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) table tbody tr,
html.app-theme-enabled .page_container table tbody tr {
    border-color: var(--app-table-border) !important;
    background: var(--app-table-row) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) table tbody tr:nth-child(even),
html.app-theme-enabled .page_container table tbody tr:nth-child(even) {
    background: var(--app-table-row-alt) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) table tbody tr:hover,
html.app-theme-enabled .page_container table tbody tr:hover {
    background: var(--app-focus-soft) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) table :where(td, th),
html.app-theme-enabled .page_container table :where(td, th) {
    border-color: var(--app-table-border) !important;
    color: inherit;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(.alert-success, [class$="-alert-success"], .message-success, .success-message) {
    border-color: var(--app-success-border) !important;
    background: var(--app-success-bg) !important;
    color: var(--app-success-text) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(.alert-error, [class$="-alert-error"], .message-error, .error-message, .feature-alert:not(.feature-alert-success)) {
    border-color: var(--app-danger-border) !important;
    background-color: var(--app-danger-bg) !important;
    color: var(--app-danger-text) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) .field-error {
    color: var(--app-danger-text) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(.alert-warning, .warning-message) {
    border-color: var(--app-warning-border) !important;
    background: var(--app-warning-bg) !important;
    color: var(--app-warning-text) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(.badge, .status-badge) {
    border-color: var(--app-border) !important;
    background: var(--app-surface-raised) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(
    [role="tab"],
    .tab-button,
    .company-edit-tab-button,
    .preview-tab-btn
) {
    border-color: transparent !important;
    background: transparent !important;
    color: var(--app-text-muted) !important;
}

html.app-theme-enabled #page:not(.theme-page--member-new) :where(
    [role="tab"].active,
    [role="tab"][aria-selected="true"],
    .tab-button.active,
    .tab-button.is-active,
    .company-edit-tab-button.is-active,
    .preview-tab-btn.active
) {
    border-bottom-color: var(--app-primary) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled :where(.modal-backdrop, .member-modal-overlay, .edit-modal-overlay, .delete-modal-overlay, .feature-gate-modal__backdrop) {
    background: var(--app-overlay) !important;
}

html.app-theme-enabled :where(
    .modal-content,
    .member-modal,
    .member-modal-content,
    .edit-modal-content,
    .delete-modal-content,
    .feature-gate-modal__dialog
) {
    border: 1px solid var(--app-border) !important;
    background: var(--app-surface-raised) !important;
    color: var(--app-text) !important;
    box-shadow: 0 18px 48px var(--app-shadow) !important;
}

html.app-theme-enabled[data-theme="dark"] .member-modal .member-modal-header {
    border-color: var(--app-border-strong) !important;
}

html.app-theme-enabled[data-theme="dark"] .member-modal :where(
    .member-modal-title,
    .member-modal-close,
    #editDisplayName,
    #deleteConfirmText,
    #twoFactorResetConfirmText
) {
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] .member-modal :where(input, select, textarea) {
    border-color: var(--app-border) !important;
    background: var(--app-control-bg) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] :where(.member-action-toggle, .global-member-menu) {
    border-color: var(--app-border-strong) !important;
    background: var(--app-surface-raised) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] .global-member-menu .member-action-item:not(.is-danger) {
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] .global-member-menu .member-action-item:not(.is-danger):hover {
    background: var(--app-focus-soft) !important;
}

html.app-theme-enabled[data-theme="dark"] .global-member-menu .member-action-item.is-danger {
    color: var(--app-danger-text) !important;
}

html.app-theme-enabled[data-theme="dark"] .member-modal .btn-modal-cancel {
    border: 1px solid var(--app-border) !important;
    background: var(--app-surface) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] .member-modal .btn-modal-save {
    background: var(--app-primary) !important;
    color: var(--app-on-primary) !important;
}

html.app-theme-enabled[data-theme="dark"] .member-modal .btn-modal-delete-confirm {
    border: 1px solid var(--app-danger-border) !important;
    background: var(--app-danger-bg) !important;
    color: var(--app-danger-text) !important;
}

html.app-theme-enabled :where(
    .modal-content,
    .member-modal,
    .member-modal-content,
    .edit-modal-content,
    .delete-modal-content,
    .feature-gate-modal__dialog
) :where(h1, h2, h3, h4, p, label, .feature-gate-modal__title) {
    color: inherit !important;
}

html.app-theme-enabled :where(.feature-gate-modal__price) {
    background: var(--app-focus-soft) !important;
    color: var(--app-primary) !important;
}

html.app-theme-enabled :where(.select2-dropdown, .select2-results__option, .select2-search--dropdown .select2-search__field) {
    border-color: var(--app-border) !important;
    background: var(--app-surface-raised) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--app-primary) !important;
    color: var(--app-on-primary) !important;
}

/* Modern section-based screens that do not use the legacy #page wrapper. */
html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) {
    color: var(--app-text) !important;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) :where(h1, h2, h3, h4, label) {
    color: var(--app-text) !important;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) :where(
    .registry-subtitle,
    .registry-empty,
    .job-details-subtitle,
    .job-details-help,
    .job-card-meta,
    .job-card-meta-label,
    .multi-import-desc,
    .dropzone-sub
) {
    color: var(--app-text-muted) !important;
}

html.app-theme-enabled .job-details-page .job-details-help {
    border-left-color: var(--app-primary) !important;
    background: var(--app-surface-raised) !important;
}

html.app-theme-enabled .job-details-page :where(.job-card-toggle, .job-card-preview) {
    color: var(--app-text) !important;
}

html.app-theme-enabled .job-details-page :where(.job-details-save-bar, .job-details-empty, .job-process-option) {
    border-color: var(--app-border) !important;
    background: var(--app-surface-raised) !important;
    color: var(--app-text) !important;
    box-shadow: 0 -2px 12px var(--app-shadow);
}

html.app-theme-enabled .multi-import-page :where(.modal, .preview-modal) {
    border-color: var(--app-border) !important;
    background: var(--app-surface-raised) !important;
    color: var(--app-text) !important;
    box-shadow: 0 18px 48px var(--app-shadow);
}

html.app-theme-enabled .multi-import-page :where(.modal-header, .modal-footer, .preview-modal-header) {
    border-color: var(--app-border) !important;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) :where(
    .registry-card,
    .job-card,
    .job-create-panel,
    .multi-import-card,
    .table-wrap,
    .dropzone,
    .chip
) {
    border-color: var(--app-border) !important;
    background: var(--app-surface) !important;
    color: var(--app-text) !important;
    box-shadow: 0 8px 24px var(--app-shadow);
}

html.app-theme-enabled[data-theme="dark"] :where(.workplace-registry-page, .job-details-page, .multi-import-page) :where(
    .registry-card,
    .job-card,
    .job-create-panel,
    .multi-import-card,
    .table-wrap,
    .dropzone
) {
    border-color: var(--app-border-strong) !important;
    box-shadow: 0 10px 28px var(--app-shadow);
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page) :where(.job-card-summary, .job-card[open] .job-card-summary) {
    border-color: var(--app-border) !important;
    background: var(--app-surface-raised) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) :where(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea
) {
    border-color: var(--app-border) !important;
    background: var(--app-control-bg) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) :where(input, textarea)::placeholder {
    color: var(--app-text-muted) !important;
    opacity: 0.78;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) :where(input, select, textarea):focus {
    border-color: var(--app-focus-ring) !important;
    box-shadow: 0 0 0 3px var(--app-focus-soft) !important;
    outline: none;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) :where(input[type="checkbox"], input[type="radio"]) {
    accent-color: var(--app-primary);
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) :where(
    .button,
    button[type="submit"],
    .primary-btn,
    .action-btn
) {
    border-color: var(--app-primary) !important;
    background: var(--app-primary) !important;
    color: var(--app-on-primary) !important;
}

html.app-theme-enabled .workplace-registry-page :where(.button, button[type="submit"], .primary-btn, .action-btn),
html.app-theme-enabled .job-details-page :where(.button, button[type="submit"], .primary-btn, .action-btn),
html.app-theme-enabled .multi-import-page :where(.button, button[type="submit"], .primary-btn, .action-btn) {
    color: var(--app-on-primary) !important;
}

html.app-theme-enabled[data-theme="dark"] .theme-dark-calm-buttons :where(
    .button,
    button[type="submit"],
    .primary-btn,
    .action-btn
) {
    border: 1px solid #5ea8c7 !important;
    background: #1b5f84 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}

html.app-theme-enabled[data-theme="dark"] .theme-dark-calm-buttons :where(
    .button,
    button[type="submit"],
    .primary-btn,
    .action-btn
):hover {
    border-color: #78bdd8 !important;
    background: #23739e !important;
    color: #ffffff !important;
}

html.app-theme-enabled[data-theme="dark"] .theme-dark-calm-buttons :where(
    .button,
    button[type="submit"],
    .primary-btn,
    .action-btn
):focus-visible {
    outline: 3px solid rgba(103, 199, 237, 0.28);
    outline-offset: 2px;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) :where(.ghost-btn, [class*="cancel"]) {
    border-color: var(--app-border) !important;
    background: var(--app-surface-raised) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) :where(.danger-btn, :is(button, a, input)[class*="delete"]) {
    border-color: var(--app-danger-border) !important;
    background: var(--app-danger-bg) !important;
    color: var(--app-danger-text) !important;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) table {
    border-color: var(--app-table-border) !important;
    background: var(--app-table-row) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) table :where(thead, thead tr, thead th) {
    border-color: var(--app-table-border) !important;
    background: var(--app-table-header) !important;
    color: var(--app-table-header-text) !important;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) table tbody tr {
    border-color: var(--app-table-border) !important;
    background: var(--app-table-row) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) table tbody tr:nth-child(even) {
    background: var(--app-table-row-alt) !important;
}

html.app-theme-enabled :where(.workplace-registry-page, .job-details-page, .multi-import-page) table :where(td, th) {
    border-color: var(--app-table-border) !important;
    color: inherit;
}

html.app-theme-enabled :where(.registry-alert-success, .job-details-alert-success, .multi-import-page .alert-success) {
    border-color: var(--app-success-border) !important;
    background: var(--app-success-bg) !important;
    color: var(--app-success-text) !important;
}

html.app-theme-enabled :where(.registry-alert-error, .job-details-alert-error, .multi-import-page .alert:not(.alert-success)) {
    border-color: var(--app-danger-border) !important;
    background: var(--app-danger-bg) !important;
    color: var(--app-danger-text) !important;
}

html.app-theme-enabled .multi-import-page :where(.status-cell, .status-tooltip, .chip) {
    border-color: var(--app-border) !important;
    color: var(--app-text) !important;
}

/* Skill/licence master screens: override legacy light-only text and controls. */
html.app-theme-enabled[data-theme="dark"] .skill-master-hub-page :where(
    .hub-card-title,
    .hub-threshold-title
) {
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] .skill-master-hub-page :where(
    .hub-card-desc,
    .hub-threshold-description,
    .hub-threshold-unit
) {
    color: var(--app-text-muted) !important;
}

html.app-theme-enabled[data-theme="dark"] .skill-master-hub-page .hub-threshold-success {
    border-color: var(--app-success-border) !important;
    background: var(--app-success-bg) !important;
    color: var(--app-success-text) !important;
}

html.app-theme-enabled[data-theme="dark"] .skill-master-hub-page .hub-threshold-error {
    color: var(--app-danger-text) !important;
}

html.app-theme-enabled[data-theme="dark"] :where(
    .skill-master-hub-page,
    .skill-master-list-page,
    .skill-master-legacy-page
) .backTo {
    color: var(--app-link) !important;
}

html.app-theme-enabled[data-theme="dark"] :where(
    .skill-master-list-page,
    .skill-master-legacy-page
) :where(.page-nav-link:not(.active), .clear-link) {
    border-color: var(--app-border) !important;
    background: var(--app-control-bg) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] .skill-master-list-page .page-nav-link.active {
    border-color: var(--app-primary) !important;
    background: var(--app-primary) !important;
    color: var(--app-on-primary) !important;
}

html.app-theme-enabled[data-theme="dark"] :where(
    .skill-master-list-page,
    .skill-master-legacy-page
) :where(.search-panel-title, .card-title) {
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] :where(
    .skill-master-list-page,
    .skill-master-legacy-page
) .pagination .page-link {
    border-color: var(--app-border) !important;
    background: var(--app-control-bg) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] .skill-master-list-page .pagination .page-item.active .page-link {
    border-color: var(--app-primary) !important;
    background: var(--app-primary) !important;
    color: var(--app-on-primary) !important;
}

html.app-theme-enabled[data-theme="dark"] .skill-master-list-page .pagination .page-item.disabled .page-link {
    border-color: var(--app-border) !important;
    background: var(--app-surface) !important;
    color: var(--app-text-muted) !important;
}

html.app-theme-enabled[data-theme="dark"] .edit-modal-panel {
    border: 1px solid var(--app-border-strong) !important;
    background: var(--app-surface-raised) !important;
    color: var(--app-text) !important;
    box-shadow: 0 18px 48px var(--app-shadow) !important;
}

html.app-theme-enabled[data-theme="dark"] .edit-modal-panel .edit-modal-header {
    border-color: var(--app-border) !important;
}

html.app-theme-enabled[data-theme="dark"] .edit-modal-panel :where(.edit-modal-title, .edit-modal-close) {
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] .edit-modal-panel .edit-modal-subtitle {
    color: var(--app-text-muted) !important;
}

html.app-theme-enabled[data-theme="dark"] .edit-modal-panel :where(input, select, textarea) {
    border-color: var(--app-border) !important;
    background: var(--app-control-bg) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] .edit-modal-panel .modal-error-box {
    border-color: var(--app-danger-border) !important;
    background: var(--app-danger-bg) !important;
    color: var(--app-danger-text) !important;
}

/* Company edit buttons: keep page-specific contrast over generic cancel/button rules. */
html.app-theme-enabled[data-theme="light"] #page.company-edit-page .company-edit-cancel,
html.app-theme-enabled:not([data-theme="dark"]) #page.company-edit-page .company-edit-cancel {
    border: 1px solid #9ca3af !important;
    background: #e5e7eb !important;
    color: #111827 !important;
}

html.app-theme-enabled[data-theme="light"] #page.company-edit-page .company-edit-cancel:hover,
html.app-theme-enabled:not([data-theme="dark"]) #page.company-edit-page .company-edit-cancel:hover {
    border-color: #6b7280 !important;
    background: #d1d5db !important;
    color: #030712 !important;
}

html.app-theme-enabled[data-theme="dark"] #page.company-edit-page .company-edit-save {
    border-color: #5ea8c7 !important;
    background: #1b5f84 !important;
    color: #ffffff !important;
}

html.app-theme-enabled[data-theme="dark"] #page.company-edit-page .company-edit-cancel {
    border: 1px solid #5d738c !important;
    background: #24384f !important;
    color: #eaf4ff !important;
}

html.app-theme-enabled[data-theme="light"] #page.member-access-page .member-access-cancel,
html.app-theme-enabled:not([data-theme="dark"]) #page.member-access-page .member-access-cancel {
    border: 1px solid #9ca3af !important;
    background: #e5e7eb !important;
    color: #111827 !important;
}

html.app-theme-enabled[data-theme="light"] #page.member-access-page .member-access-cancel:hover,
html.app-theme-enabled:not([data-theme="dark"]) #page.member-access-page .member-access-cancel:hover {
    border-color: #6b7280 !important;
    background: #d1d5db !important;
    color: #030712 !important;
}

html.app-theme-enabled[data-theme="dark"] #page.member-access-page .member-access-save {
    border-color: #5ea8c7 !important;
    background: #1b5f84 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}

html.app-theme-enabled[data-theme="dark"] #page.member-access-page .member-access-save:hover {
    border-color: #78bdd8 !important;
    background: #23739e !important;
    color: #ffffff !important;
}

html.app-theme-enabled[data-theme="dark"] #page.member-access-page .member-access-title {
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] #page.member-access-page .member-access-description {
    color: var(--app-text-muted) !important;
}

html.app-theme-enabled[data-theme="dark"] #page.member-access-page .member-access-card {
    border-color: var(--app-border-strong) !important;
    background: var(--app-surface) !important;
}

html.app-theme-enabled[data-theme="dark"] #page.member-access-page .member-access-meta {
    border: 1px solid var(--app-border) !important;
    background: var(--app-surface-raised) !important;
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] #page.member-access-page .member-access-option {
    border-color: var(--app-border) !important;
    background: var(--app-control-bg) !important;
}

html.app-theme-enabled[data-theme="dark"] #page.member-access-page .member-access-option label {
    color: var(--app-text) !important;
}

html.app-theme-enabled[data-theme="dark"] #page.member-access-page .member-access-help,
html.app-theme-enabled[data-theme="dark"] #page.member-access-page .member-access-label-supplement,
html.app-theme-enabled[data-theme="dark"] #page.member-access-page .member-access-help-supplement {
    color: var(--app-text-muted) !important;
}

html.app-theme-enabled[data-theme="dark"] #page.member-access-page .field-error {
    color: var(--app-danger-text) !important;
}

html.app-theme-enabled[data-theme="dark"] #page.member-access-page .member-access-cancel {
    border: 1px solid #5d738c !important;
    background: #24384f !important;
    color: #eaf4ff !important;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
}

html.app-theme-enabled[data-theme="dark"] #page.member-access-page .member-access-cancel:hover {
    border-color: #7890ab !important;
    background: #2c4561 !important;
    color: #ffffff !important;
}

html.app-theme-enabled #page.member-access-page :is(.member-access-save, .member-access-cancel):focus-visible {
    outline: 3px solid rgba(103, 199, 237, 0.28);
    outline-offset: 2px;
}

html.app-theme-enabled.app-touch-phone #page:not(.theme-page--member-new) :where(.app-card, .section-card, [class$="-card"]) {
    padding: 1rem;
}

@media print {
    html.app-theme-enabled #page,
    html.app-theme-enabled .page_container {
        background: #ffffff !important;
        color: #000000 !important;
    }
}
