/* Shared workspace palette. Higher specificity than each surface's base styles. */
html body:is(.portal-body,.auth-body,.nwp-workshop-surface,.nwp-calendar-surface),
html #kfz-app, html .nwp-calendar-surface,
html .nwp-workshop-surface .search-bar {
    background: var(--nwp-background, #f4f6fb);
}
html .portal-sidebar, html .app-header {
    background: var(--nwp-primary, #1e4080);
    color: var(--nwp-on-primary, #fff);
}
html .portal-sidebar :is(.sidebar-logo,.sidebar-nav-item,.sidebar-user-avatar,.sidebar-user-info,.sidebar-logout),
html .app-header .app-logout {
    color: var(--nwp-on-primary, #fff);
}
html .sidebar-nav-item.active { border-left-color: var(--nwp-on-primary, #fff); }
html .app-header .nwp-support-icon,
html .app-header .nwp-support-trigger:hover .nwp-support-icon { color: var(--nwp-on-primary, #fff); }
html .sidebar-nav-item:hover, html .sidebar-nav-item.active, html .sidebar-logout:hover {
    background: var(--nwp-primary-hover, #2756b0);
    color: var(--nwp-on-primary-hover, #fff);
}
html .kfz-btn-primary, html .nwp-settings .kfz-btn-primary,
html .app-btn-primary, html .app-btn-small,
html .auth-btn:not(.app-btn-secondary):not(.auth-btn-green),
html .copy-btn, html .setup-step-nr,
html .nwp-passkeys .nwp-pk-button:not(.nwp-pk-secondary),
html .nwp-calendar-surface .primary,
html .nwp-calendar-surface button[aria-pressed=true],
html .nwp-calendar-surface .month-date.is-today,
html .kfz-page-btn.active,
html .nwp-workflow .wf-primary {
    background: var(--nwp-primary, #1e4080);
    border-color: var(--nwp-primary, #1e4080);
    color: var(--nwp-on-primary, #fff);
}
html .kfz-btn-primary:hover, html .nwp-settings .kfz-btn-primary:hover,
html .app-btn-primary:hover, html .app-btn-small:hover,
html .auth-btn:not(.app-btn-secondary):not(.auth-btn-green):hover,
html .nwp-passkeys .nwp-pk-button:not(.nwp-pk-secondary):hover,
html .nwp-calendar-surface .primary:hover,
html .nwp-calendar-surface button[aria-pressed=true]:hover,
html .nwp-workflow .wf-primary:hover {
    background: var(--nwp-primary-hover, #2756b0);
    color: var(--nwp-on-primary-hover, #fff);
    border-color: var(--nwp-primary-hover, #2756b0);
}
html .nwp-settings .kfz-tab.active {
    background: var(--nwp-soft, #eaf4f1);
    color: var(--nwp-primary-ink, #1e4080);
    border-color: var(--nwp-primary-ink, #1e4080);
}
html .nwp-settings .kfz-tab.active small,
html .nwp-calendar-surface .time-heading.is-today,
html .nwp-passkeys .nwp-pk-secondary,
html .nwp-passkeys .nwp-pk-link { color: var(--nwp-primary-ink, #1e4080); }
html .nwp-passkeys .nwp-pk-secondary:hover { background: var(--nwp-soft, #eef3fa); }
html :is(.nwp-passkeys,.nwp-calendar-surface,.nwp-workflow,.nwp-settings) :is(button,input,select,textarea,summary,a):focus-visible {
    outline: 3px solid var(--nwp-primary-ink, #1e4080);
    outline-offset: 3px;
}
html .nwp-workshop-surface #screen-home > details,
html .nwp-workshop-surface .screen > :is(.section-title,.empty,.loading),
html .nwp-calendar-surface :is(.calendar-caption,.calendar-header h1,.calendar-legend),
html .nwp-calendar-surface .calendar-caption span,
html .nwp-calendar-surface .calendar-toolbar > label,
html .nwp-workshop-surface .success-container > p {
    color: var(--nwp-on-background, #1a1a2e);
}
html .portal-content > .kfz-wrap > h1,
html .nwp-settings-heading :is(h1,p,.nwp-eyebrow),
html .portal-content > .nwp-workflow > :is(.wf-heading,.wf-toolbar,.wf-count) {
    color: var(--nwp-on-background, #1a1a2e);
}
html .nwp-calendar-surface .calendar-event,
html .nwp-calendar-surface .month-event { background: var(--nwp-soft, #edf4ff); }
html .nwp-workshop-surface .home-tile:active,
html .nwp-workshop-surface .list-item:active { background: var(--nwp-soft, #eef3fa); }
