/* DESIGN-002: one shared work palette for every portal page.
   Load after module styles. Status/result colors remain semantic. */
:root{--background:#f3f5f7;--surface:#fff;--border:#d9e0e6;--text:#26323d;--muted:#5b6773;--text-muted:#5b6773;--gold-light:#edf1f5;--shadow:0 3px 14px #26323d08;--success:#216444;--success-bg:#e8f4ed;--info:#235788;--info-bg:#edf4fc;--warning:#80520d;--warning-bg:#fff3dc;--danger:#a12632;--danger-bg:#fff0f1}
body,.portal-body,.login-page,body.qb-presentation,.qb-reader-body{background:var(--background);color:var(--text)}
h1,h2,h3,.hp-content,.op-content,.qb-workspace,.qb-reader-main,.hp-reference-panel{color:var(--text)}
.main,.content,.portal-content{color:var(--text)}
.btn-light,.btn:not(.btn-primary):not(.btn-gold),.qb-focus-toggle,.qb-reset,.access-action,.button{background:#fff;color:#344451;border-color:#cbd4dc}
.btn-light:hover,.btn:not(.btn-primary):not(.btn-gold):hover,.qb-focus-toggle:hover,.qb-reset:hover,.button:hover{background:#eef2f5;border-color:#98a7b5}
.btn-primary,.btn-gold,.intro-action{background:var(--accent);color:#fff}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,
.qb-workspace input:not([type=checkbox]):not([type=hidden]),.qb-workspace select,.qb-workspace textarea,
.op-content input,.op-content select,.booking-input,.hp-year-mode{background:#fff;color:var(--text);border-color:#aebbc7}
input[readonly],textarea[readonly],input:disabled,select:disabled,textarea:disabled,.settings-fields input[readonly]{background:#f4f6f8;color:#475461;border-color:#d2dae1}
.panel,.admin-panel,.hp-panel,.op-panel,.qb-panel,.card,.module-card,.edit-panel,.object-panel,.np-card,
.hp-metrics article,.op-metrics article,.hp-object,.qb-card,.tenant-rights-card,.user-right-row{background:#fff;border-color:var(--border)}
.panel-header,.admin-panel-heading,.object-heading,.object-panel-title,.finance-section,.hp-object-summary,.tenant-rights-heading,.tenant-module-option{border-color:var(--border)}
table{background:#fff}
thead,thead th,.vf-table-scroll thead th,.hp-table thead th,.op-table th,.qb-table th,
body[data-page="bericht-bearbeiten"] .finance-table thead th{background:#edf1f5;color:#40505f}
td,th,.hp-table td,.hp-table th,.finance-table th,.finance-table td,.op-table td,.qb-table td,.qb-table th{border-color:#e1e6eb}
.finance-table td,.op-table td,.tenant-table td,.rights-table td,.audit-table td{color:var(--text)}
.finance-table .account-code,.account-code{color:#344451!important}
.finance-table .account-name,.hp-metrics strong,.op-metrics strong,.op-panel h2,.op-bar-label strong,.op-note strong{color:var(--text)}
.quickstart,.info-box,.account-panel,.manual-account,.object-result,.object-result>div,.object-result-title,
.finance-total td,.hp-object-total,.hp-all-objects,.hp-ao-comparison tfoot,.op-note,.op-movements>div,
.np-year,.np-step,.np-footer,.qb-badge,.object-panel-title span,.tenant-module-list span,.op-pill,.op-status{background:#f1f4f7;color:#485563;border-color:var(--border)}
.hp-edit-table .hp-edit-year{background:#fff}
.hp-plan-focus{background:#f5f7fa!important}
.hp-all-objects{border-bottom-color:#cbd4dc!important}
.np-plan{background:#fff}
.np-modes label:has(input:checked),.np-kind label:has(input:checked){background:#edf4f1;color:#214d3e;border-color:#8faf9e;box-shadow:inset 0 0 0 1px #8faf9e}
.object-list a,.object-list span,.ao-entry,.hp-code,.hp-count,.hp-kind,.hp-year-mode{color:var(--text)}
.object-list a:hover,.ao-entry:hover{background:#f3f5f7}
.object-list a.active,.ao-entry.active,.tenant-table tr.active{background:#edf4f1}
.object-result strong{color:var(--text)}
.guv-total th,.guv-total td{background:#edf1f5;color:var(--text)}
.guv-section th,.guv-section td{background:#183d38!important;color:white}
.guv-table .guv-plan{box-shadow:inset 2px 0 #bcc9d3,inset -2px 0 #bcc9d3}
.op-metrics .op-accent{background:#fff;border-top-color:var(--accent)}
.op-track{background:#edf1f5}
.op-track span{background:#236b58}.op-bars-teal .op-track span{background:#557e9e}
.op-movements strong{color:var(--text)}
.tenant-module-option:not(:has(input:checked)){background:#f3f5f7}
.tenant-module-level,.tenant-rights-footer span,.user-right-context span,.user-create-form label,.user-profile-form label,.user-right-row label{color:#485563}
.user-create-form input,.user-create-form select,.user-profile-form input,.user-profile-form select,.user-right-row select,.tenant-module-level select{color:var(--text);border-color:#aebbc7}
.metric-icon,.metric-icon.gold,.module-icon,.quickstart-icon,.construction-symbol{background:#edf1f5;color:#405866}
.hp-heading p,.hp-panel p,.op-heading p,.op-content label,.op-bar-label>span,.op-empty-chart,.op-empty-chart p,.op-footnote,.op-muted,
.hp-metrics span,.hp-metrics small,.op-metrics article>span,.op-metrics small,.op-bar-row small,.op-table small,.op-table details,
.hp-table th small,.hp-table .hp-kind,.hp-help,.hp-standard-history summary,.hp-totals .hp-help,.hp-standards small,.hp-upload small,
.object-result span,.object-result small,.finance-heading span,.edit-heading p:not(.eyebrow),.edit-state small,
.np-hint,.np-context span,.np-section-heading p,.np-form label small,.np-modes small,.np-follow p,.np-footer p,
.tenant-search span,.admin-heading p,.admin-panel-heading p,.rights-table tbody th span,.tenant-empty,.admin-empty,
.field-hint,.vf-table-hint,.vf-selection-value,.qb-key-hint,.qb-focus-ao,.qb-undo,.document-switcher span{color:#5b6773}
.eyebrow,.hp-eyebrow,.op-eyebrow,.np-eyebrow{color:#526371}
/* Information, warnings, saved states and financial results stay distinct. */
.notice:not(.success):not(.error):not(.notice-error),.qb-note,.op-note,.admin-notice:not(.success),.qb-form-feedback{background:var(--info-bg);color:#335775;border-color:#cadced}
.notice.success,.admin-notice.success,.hp-notice,.report-status.reviewed{background:var(--success-bg);color:var(--success);border-color:#bbd9c7}
.hp-warning,.op-warning,.qb-live-notice{background:var(--warning-bg);color:var(--warning);border-color:#efd9ad}
.notice.error,.notice-error,.error,.qb-form-error,.qb-live-error{background:var(--danger-bg)!important;color:var(--danger)!important;border-color:#e8c2c7!important}
.qb-field-dirty{background:#fffbf2!important;box-shadow:0 0 0 2px #bd8627!important}
.qb-row-dirty{border-left-color:#bd8627}.hp-unsaved,.hp-adjusted{color:var(--warning)}
#hp-unsaved.hp-save-error{color:var(--danger)}
.hp-table .hp-result-positive,.finance-table .hp-result-positive{background:var(--success-bg);color:var(--success)}
.hp-table .hp-result-negative,.finance-table .hp-result-negative{background:var(--danger-bg);color:var(--danger)}
.hp-table .hp-result-zero,.finance-table .hp-result-zero{background:#f1f4f7;color:#485563}
.positive,.qb-workspace .positive,.qb-reader-main .positive{color:var(--success)}
.negative,.qb-workspace .negative,.qb-reader-main .negative{color:var(--danger)}
.neutral{color:#5b6773}
/* Independent document windows, previews and embedded source viewers. */
body[data-page=hp-document-view]{background:var(--background);color:var(--text)}
body[data-page=hp-document-view] thead th,body[data-page=hp-document-view] .row-number{background:#edf1f5;color:#485563}
body[data-page=hp-document-view] tbody tr:hover td{background:#f5f7fa}
body[data-page=hp-document-view] .table-scroll,body[data-page=hp-document-view] pre{border-color:var(--border)}
.hp-reference-panel>header,.km-document-picker{background:#f1f4f7;color:var(--text);border-color:var(--border)}
#hp-reference-list button{background:#fff;color:var(--text);border-color:var(--border)}
/* Login keeps the brand illustration and uses the same neutral surfaces. */
.login-story,.login-story .login-story-copy h1,.login-card h2{color:var(--text)}
.login-story .login-story-copy p,.login-description,.login-footer,.login-card .eyebrow{color:#5b6773}
.login-kicker{color:#5b6773!important}
.login-card{background:#fff;border-color:var(--border);box-shadow:0 12px 40px #26323d09}
.login-card .password-form label,.login-card .password-form input{color:var(--text)}
/* Brand and document headers are intentionally dark, with light text. */
.sidebar,.qb-reader-header,.qb-presentation-brand,body[data-page=hp-document-view]>header{background:#183d38;color:#fff}
.qb-reader-header h1,.qb-reader-header h2,.qb-presentation-brand h1,body[data-page=hp-document-view]>header h1{color:#fff}
.sidebar .nav-label,.sidebar .brand-subtitle,.sidebar .account-name{color:#b7cebc}
.sidebar .navigation a{color:#d0ded1}
.sidebar .navigation a.active{background:#c5dcad;color:#183d38}
.sidebar .navigation .nav-secondary.active{background:#315b49;color:#fff}
@media print{body,body.qb-presentation{background:#fff}.panel,.hp-panel,.op-panel,.qb-panel{box-shadow:none}}

/* Remaining report/archive and delegation surfaces use the same neutrals. */
body table thead th,.report-table th,.rights-table thead th,.audit-table thead th{background:#edf1f5;color:#40505f}
.booking-actions,.finish-section,.report-summary div,.report-empty-state>div,.delegation-card{background:#f1f4f7;border-color:var(--border)}
.report-table td,.report-summary strong,.confirmation-card h1,.confirmation-summary dd{color:var(--text)}
.report-heading p:not(.eyebrow),.report-summary span,.report-empty-state p,.booking-actions p,.remark-section p,.finish-section p,.remark-actions span,.confirmation-card>p:not(.eyebrow),.confirmation-summary dt,.finance-table .account-name small{color:#5b6773}
.report-status.draft,.report-status.importing,.confirmation-warning{background:var(--warning-bg);color:var(--warning);border-color:#efd9ad}
.report-status.finalized,.report-notice{background:var(--success-bg);color:var(--success)}
.report-status.replaced{background:#edf1f5;color:#485563}
.delegation-content input:not([type=checkbox]):not([type=hidden]),.delegation-content select{color:var(--text);border-color:#aebbc7}
.delegation-content fieldset,.delegation-scope,.delegation-group{border-color:var(--border)}
