/* MC8.6.13A9.x focused contrast/readability normalization.
   Loaded last so shared state semantics remain consistent across the two active shells. */

:root {
    --wc-line: #b8c7d5;
    --wc-muted: #566a7d;
    --wc-green: #14764c;
    --wc-amber: #925700;
    --wc-red: #b52f43;
}

/* Keyboard focus must remain visible on both light and dark surfaces. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid #2a91d6;
    outline-offset: 2px;
}

/* MasterFlow dark shell controls and functional states. */
.mf-input::placeholder,
.admin-toolbar input::placeholder,
.catalog-studio input::placeholder,
.catalog-studio textarea::placeholder {
    color: #9eb4c7;
    opacity: 1;
}

.primary-command:hover:not(:disabled),
.secondary-command:hover:not(:disabled) {
    border-color: #70dcff;
    filter: brightness(1.12);
}

.primary-command:disabled,
.secondary-command:disabled,
.intelligence-action:disabled {
    background: #263746;
    border-color: #657b8e;
    color: #c2d0dc;
    cursor: not-allowed;
    opacity: 1;
}

/* Users and Roles intentionally use dark administration surfaces inside a light page. */
.page .admin-toolbar,
.page .admin-panel,
.page .admin-table-wrap {
    color: #edf6ff;
}

.page .admin-toolbar a,
.page .admin-panel a,
.page .admin-table-wrap a {
    color: #bfe2ff;
    text-decoration-color: #69b8ef;
}

.page .admin-table th { color: #c9def0; }
.page .admin-table td { color: #edf6ff; }
.page .admin-panel p,
.page .admin-panel small,
.page .admin-toolbar span { color: #b9cede; }
.page .admin-panel h2,
.page .admin-toolbar strong { color: #fff; }
.page .admin-notice { color: #fff; }

/* Company Administration is a light workspace; prevent the global dark .mf-card rule leaking in. */
.company-admin-page .mf-card,
.company-admin-page .mf-panel,
.company-admin-page .mf-metric {
    background: var(--surface-primary);
    color: var(--text-primary);
}

.company-admin-page :where(input, select, textarea) {
    background: #fff;
    border-color: #7b8e9f;
    color: #112433;
}

.company-admin-page :where(input, textarea)::placeholder {
    color: #5c7081;
    opacity: 1;
}

.company-admin-page .data-table tbody tr:hover { background: #eef5fa; }
.company-admin-page .data-table td { color: #243f52; }

/* Admin Preferences and other theme cards use an explicitly light form surface. */
.content-stack .surface-card {
    background: #fff;
    border-color: #b8c7d5;
    color: #112433;
}

.content-stack .surface-card :where(input, select, textarea) {
    background: #fff;
    border: 1px solid #7b8e9f;
    color: #112433;
}

.content-stack .surface-card :where(input, textarea)::placeholder {
    color: #5c7081;
    opacity: 1;
}

/* Weblor customer shell: shared forms, navigation, cards, tables, dialogs and state controls. */
.wc-app-shell :where(input, select, textarea),
.wc-auth-shell :where(input, select, textarea) {
    background: #fff;
    border-color: #7b8e9f;
    color: var(--wc-text);
}

.wc-app-shell :where(input, textarea)::placeholder,
.wc-auth-shell :where(input, textarea)::placeholder {
    color: #5c7081;
    opacity: 1;
}

.wc-btn:hover:not(:disabled),
.wc-chip:hover:not(:disabled),
.wc-select-card:hover:not(:disabled),
.wc-product-select-card:hover:not(:disabled) {
    border-color: #0f5f91;
    filter: brightness(.96);
}

.wc-btn:disabled,
.wc-chip:disabled,
.wc-step:disabled,
.wc-select-card:disabled,
.wc-product-select-card:disabled {
    background: #d6dee6;
    border: 1px solid #9aaaba;
    color: #536575;
    cursor: not-allowed;
    opacity: 1;
}

.wc-badge-green { background: #d9efe4; color: #0e6540; }
.wc-badge-amber { background: #ffedbf; color: #784600; }
.wc-badge-red { background: #f9dfe4; color: #a12639; }
.wc-toast { background: #dcefe5; border-color: #98cdb1; color: #0f6843; }
.wc-error { background: #fae1e5; border-color: #d899a4; color: #9e2638; }
.wc-alert { background: #fff2d2; border-color: #d6b669; color: #754600; }

.wc-bottom-nav a:hover,
.wc-bottom-nav a:focus-visible,
.wc-bottom-nav a.active {
    color: #0f5688;
    background: #edf5fb;
}

.wc-card table { width: 100%; border-collapse: collapse; }
.wc-card table th {
    background: #e8f0f6;
    color: #29485e;
    text-align: left;
}
.wc-card table :where(th, td) { border-bottom: 1px solid #c3d0dc; }

/* Catalog Studio remains dark, but its lowest-contrast functional copy is raised. */
.catalog-tabs button,
.preview-controls button,
.bulk-bar button { color: #afc5d6; }
.catalog-row.header { color: #91adbf; }
.catalog-row small,
.catalog-count,
.editor-grid label { color: #91adbf; }
.empty-state { color: #9fb6c8; }
.manual-thumbnail p { color: #a9bfd1; }

@media (forced-colors: active) {
    :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
        outline-color: Highlight;
    }
}
