/*
 * Banyan Knowledge product theme.
 * Palette authority: InnoLotus Ivy Color System, 02 · Banyan Knowledge.
 */
:root {
    color-scheme: light;
    --bk-banyan-deep: #39763A;
    --bk-banyan-leaf: #6BA955;
    --bk-banyan-young: #9BCB86;
    --bk-banyan-soft: #DDECD5;
    --bk-banyan-background: #EEF5E9;
    --bk-lotus-white: #FDFDFB;
    --bk-forest-ink: #263928;
    --bk-surface: #FDFDFB;
    --bk-surface-subtle: #F6FAF3;
    --bk-surface-inset: #E7F0E1;
    --bk-border: #C9DCC0;
    --bk-border-strong: #91B183;
    --bk-text: #263928;
    --bk-text-secondary: #405542;
    --bk-text-muted: #5C6F5D;
    --bk-text-disabled: #7A8A7B;
    --bk-accent-on-soft: #326A34;
    --bk-focus: #39763A;
    --bk-success: #39763A;
    --bk-success-surface: #E7F3E1;
    --bk-warning: #805721;
    --bk-warning-surface: #FFF4E4;
    --bk-danger: #9B4037;
    --bk-danger-surface: #FBEDEA;
    --bk-shadow: 0 16px 42px rgba(38, 57, 40, .09);

    /* Compatibility aliases for the existing Enterprise component layer. */
    --bg: var(--bk-banyan-background);
    --panel: var(--bk-surface);
    --panel-raised: var(--bk-surface-subtle);
    --line: var(--bk-border);
    --line-strong: var(--bk-border-strong);
    --text: var(--bk-text);
    --muted: var(--bk-text-secondary);
    --faint: var(--bk-text-muted);
    --mint: var(--bk-banyan-deep);
    --mint-deep: var(--bk-banyan-soft);
    --amber: var(--bk-warning);
    --danger: var(--bk-danger);
}

html,
body {
    background: var(--bk-banyan-background);
    color: var(--bk-text);
}

code,
.settings-back {
    color: var(--bk-banyan-deep);
}

button:focus-visible,
a:focus-visible,
input:focus-visible {
    outline: 3px solid var(--bk-focus);
    outline-offset: 3px;
}

.knowledge-console,
.settings-page {
    background:
        linear-gradient(rgba(57, 118, 58, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(57, 118, 58, .035) 1px, transparent 1px),
        radial-gradient(ellipse 72% 42% at 52% -12%, rgba(155, 203, 134, .34), transparent 70%),
        var(--bk-banyan-background);
    background-size: 36px 36px, 36px 36px, auto, auto;
}

.console-header,
.settings-page-header {
    background: rgba(253, 253, 251, .9);
    box-shadow: 0 1px 0 rgba(57, 118, 58, .04);
    backdrop-filter: blur(14px);
}

.wordmark-mark {
    background: var(--bk-banyan-soft);
    color: var(--bk-accent-on-soft);
}

.environment-badge {
    border-color: rgba(128, 87, 33, .34);
    background: var(--bk-warning-surface);
    color: var(--bk-warning);
}

.eyebrow,
.settings-page .eyebrow,
.settings-card label,
.settings-card dt,
.settings-check small,
.field-note {
    color: var(--bk-text-muted);
}

.scope-state {
    border-color: var(--bk-border-strong);
    background: var(--bk-success-surface);
    color: var(--bk-banyan-deep);
}

.status-dot,
.claim-state {
    background: var(--bk-banyan-leaf);
    box-shadow: 0 0 0 3px rgba(107, 169, 85, .15);
}

.state-panel,
.scope-summary,
.workspace-grid,
.settings-card {
    background: rgba(253, 253, 251, .92);
    box-shadow: var(--bk-shadow);
}

.state-panel.error-state {
    border-color: #D9B3AB;
    background: var(--bk-danger-surface);
}

.state-icon {
    border-color: #C98579;
}

.spinner {
    border-color: var(--bk-banyan-soft);
    border-top-color: var(--bk-banyan-deep);
}

.secondary-button,
.settings-primary {
    border-color: var(--bk-banyan-deep);
    background: var(--bk-banyan-deep);
    color: var(--bk-lotus-white);
}

.secondary-button:hover,
.settings-primary:hover {
    border-color: #2F6431;
    background: #2F6431;
}

.claim-list {
    background: var(--bk-surface-subtle);
}

.search-box,
.settings-card input {
    border-color: var(--bk-border-strong);
    background: var(--bk-lotus-white);
    color: var(--bk-text);
}

.search-box:focus-within,
.settings-card input:focus {
    border-color: var(--bk-banyan-deep);
    box-shadow: 0 0 0 3px rgba(57, 118, 58, .14);
}

.search-box input::placeholder {
    color: var(--bk-text-muted);
}

.claim-row {
    border-color: var(--bk-border);
}

.claim-row.selected {
    background: linear-gradient(90deg, var(--bk-banyan-soft), rgba(253, 253, 251, .86));
    box-shadow: inset 3px 0 var(--bk-banyan-deep);
}

.claim-copy strong,
.claim-metadata dd,
.evidence-row strong,
.settings-card dd {
    color: var(--bk-text-secondary);
}

.claim-detail {
    background: linear-gradient(140deg, rgba(253, 253, 251, .98), rgba(238, 245, 233, .72) 72%);
}

.space-badge {
    border-color: var(--bk-border-strong);
    background: var(--bk-surface-subtle);
    color: var(--bk-text-secondary);
}

.source-icon {
    border-color: var(--bk-border-strong);
    background: var(--bk-banyan-soft);
    color: var(--bk-accent-on-soft);
}

.skip-link {
    background: var(--bk-banyan-deep);
    color: var(--bk-lotus-white);
}

.settings-state {
    background: var(--bk-surface-inset);
}

.settings-state.error,
.settings-source.forced {
    border-color: var(--bk-warning);
    background: var(--bk-warning-surface);
    color: var(--bk-warning);
}

.settings-state.success,
.settings-source {
    border-color: var(--bk-banyan-deep);
    background: var(--bk-success-surface);
    color: var(--bk-text-secondary);
}

.settings-secondary {
    border-color: var(--bk-border-strong);
    background: var(--bk-surface);
    color: var(--bk-text-secondary);
}

.settings-secondary:hover {
    border-color: var(--bk-banyan-deep);
    background: var(--bk-banyan-soft);
    color: var(--bk-accent-on-soft);
}

button:disabled {
    cursor: not-allowed;
    opacity: .64;
}
