/* DESIGN-001 · Shared Petrol / Salbei system. Loaded after each page stylesheet. */
:root{--navy:#183d38;--navy-dark:#12312d;--navy-light:#285546;--gold:#236b58;--gold-light:#e6efdc;--accent:#236b58;--background:#f5f4ef;--surface:#fff;--border:#dce3d9;--text:#243d34;--muted:#566b60;--text-muted:#566b60;--green:#176547;--red:#a12632;--orange:#865b13;--shadow:0 4px 18px #183d3808;color-scheme:light}
html{scroll-padding-block:20px}body{background:var(--background);color:var(--text);line-height:1.55;font-family:"Segoe UI",Arial,sans-serif}*,*::before,*::after{box-sizing:border-box}
:where(main,section,article,aside,nav,form,fieldset,header,footer,div){min-width:0}
:where(h1,h2,h3,p,dd,dt,label,summary,a,strong,small,code){overflow-wrap:anywhere}
h1,h2,h3{color:var(--navy);line-height:1.25}h1{font-size:clamp(1.6rem,3vw,2.4rem)}h2{font-size:clamp(1.15rem,2vw,1.45rem)}
a{color:var(--accent);text-underline-offset:3px}img,svg{max-width:100%}button,input,textarea,select{font:inherit}textarea{resize:vertical}button,a,input,select,textarea,summary{touch-action:manipulation}
:where(input,select,textarea){max-width:100%;min-width:0;accent-color:var(--accent)}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{border-color:#a9bbae;border-radius:8px;color:var(--text)}
:where(input,select,textarea):disabled{color:#586b60;background:#eef1ea;opacity:1}input[type=checkbox],input[type=radio]{flex-shrink:0}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #236b58!important;outline-offset:3px;box-shadow:none}
.vf-skip{position:fixed;top:8px;left:12px;transform:translateY(-180%);z-index:1000;background:#fff;color:#183d38;padding:12px 18px;border:2px solid #236b58;border-radius:8px;font-weight:700}.vf-skip:focus{transform:none}
#vf-main:focus{outline:none}.portal-body{background:var(--background)}.app{width:100%;align-items:flex-start}.main{min-width:0;width:0;max-width:100%}.content,.portal-content{width:100%;padding:32px clamp(20px,3vw,48px)}
:where(.panel,.admin-panel,.hp-panel,.op-panel,.card,.module-card,.edit-panel,.object-panel,.np-card){border-color:var(--border);box-shadow:var(--shadow);border-radius:12px}
:where(.panel-header,.admin-panel-heading){border-color:var(--border)}
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:normal;text-align:center;line-height:1.4;max-width:100%;border:1px solid transparent;border-radius:8px;background:#eaf0e4;color:var(--navy)}
.btn-primary,.btn-gold,.intro-action{background:var(--accent);color:white}.btn-primary:hover,.btn-gold:hover,.intro-action:hover{background:var(--navy)}.btn-light{background:#edf1e8;color:var(--navy);border-color:var(--border)}
:where(.export-actions,.report-actions,.account-actions,.np-actions,.hp-actions,.confirmation-actions,.remark-actions,.manual-account-actions){flex-wrap:wrap}
:where(.eyebrow,.hp-eyebrow,.op-eyebrow,.np-eyebrow){color:#526b5b}.metric-icon,.metric-icon.gold,.module-icon,.module-primary .module-icon,.quickstart-icon,.construction-symbol{background:#eaf1df;color:#236b58}
.module-primary{border-top-color:#236b58}.module-primary .module-card-link{background:#236b58;border-color:#236b58;color:#fff}.quickstart,.info-box,.account-panel{background:#edf2e8;border-color:#d8e2d0;color:#405b4a}
.sidebar{background:#183d38;color:#f5f7f1;border-color:#2d5145}.sidebar .brand{padding:24px 20px;gap:10px}.brand-logo{width:38px;height:38px;flex:0 0 38px}.sidebar .brand-title{color:#fff}.sidebar .brand-subtitle{color:#52665b}.sidebar .nav-label{color:#52665b}.sidebar .navigation a{color:#52665b;line-height:1.4}.sidebar .navigation a>.ui-icon{color:#52665b}.sidebar .navigation a:hover{background:#285546;color:#fff}.sidebar .navigation a.active{background:#c5dcad;color:#183d38;box-shadow:none}.sidebar .navigation a.active>.ui-icon{color:#183d38}.sidebar .navigation .nav-secondary.active{background:#315b49;color:#fff;box-shadow:inset 3px 0 #c5dcad}.sidebar .sidebar-profile{border-color:#426250}.sidebar .profile-avatar{background:#315b49;color:#e4efd9}.sidebar .profile-link{color:#f5f7f1}.sidebar .account-name{color:#52665b;min-width:0}.sidebar .logout-button{color:#52665b}.sidebar .logout-button:hover{background:#285546}.sidebar :focus-visible{outline-color:#c5dcad!important}.sidebar .admin-nav-pending{color:#52665b;opacity:1}.vf-nav-content{display:flex;flex-direction:column;flex:1;min-height:0}.vf-nav-toggle{display:none}.vf-nav-content[hidden]{display:none!important}
.topbar{height:auto;min-height:80px;gap:16px;flex-wrap:wrap}.workspace-breadcrumb{flex-wrap:wrap;gap:8px 12px}.session-label{color:#53695f;white-space:normal;max-width:100%;flex-wrap:wrap}.session-label span{overflow-wrap:anywhere}.topbar-title{color:var(--navy)}
.vf-table-scroll{width:100%;max-width:100%;overflow:auto;overscroll-behavior-x:contain;scrollbar-color:#789582 #edf1e8;scrollbar-width:auto;border-radius:6px;isolation:isolate;-webkit-overflow-scrolling:touch}
.vf-table-scroll>table{min-width:100%}.vf-table-scroll:focus-visible{outline-offset:-3px}
:where(.hp-scroll,.finance-table-wrap,.admin-table-scroll,.report-table-wrap,.tenant-table-wrap,.op-table-wrap):has(>.vf-table-scroll){overflow:visible;max-width:100%}
.vf-table-hint{display:block;color:#566b60;font-size:12px;margin:6px 0 10px;line-height:1.5}.vf-table-hint[hidden]{display:none}
:where(table) th{line-height:1.5}.vf-table-scroll td,.vf-table-scroll th{font-variant-numeric:tabular-nums}.vf-table-scroll thead th{background:#eef2e8;color:#435e4e}.vf-table-scroll td{line-height:1.5}
:where(.hp-table,.finance-table,.preview-table) td.amount,:where(.money,.percent,.op-number){white-space:nowrap;text-align:right}
.finance-table .account-name{white-space:normal;overflow-wrap:anywhere;color:var(--text);font-size:13px}.finance-table .account-name>span{display:block!important;white-space:normal;overflow:visible}.finance-table .account-code{color:#245b43!important}.booking-input{background:#f2f6ed;border-color:#96b19e;color:var(--navy)}.booking-input:focus{border-color:#236b58}.hp-edit-table .hp-edit-year{background:#f0f5e9}.hp-plan-focus{background:#e7efdc!important}.hp-all-objects{background:#edf2e8}.hp-year-mode{color:var(--text)}
.object-list a:hover,.object-list a.active{background:#eef4e5}.object-list a.active{box-shadow:inset 3px 0 #236b58}.object-list a{color:var(--text)}.object-list span{color:#566b60}.object-panel{max-width:100%}.hp-object-footer{align-items:flex-start}.hp-object-footer .btn{flex-shrink:1}.hp-object-footer p{margin-top:0}.hp-table th:first-child{overflow-wrap:anywhere}.hp-history select{min-width:0;max-width:100%}.hp-history{align-items:flex-end}.hp-history label{max-width:100%}.hp-history select{width:100%}
.hp-table .hp-result-positive,.finance-table .hp-result-positive{background:#edf5ea;color:#176547}.hp-table .hp-result-negative,.finance-table .hp-result-negative{background:#fff0f0;color:#a12632}.hp-table .hp-result-zero,.finance-table .hp-result-zero{background:#f1f3ee;color:#526257}
.guv-section th,.guv-section td{background:#183d38!important;color:white}.guv-section th span{color:inherit}.guv-total th,.guv-total td{background:#e8efdf}.guv-table .guv-plan{box-shadow:inset 2px 0 #b5c9a2,inset -2px 0 #b5c9a2}.guv-filter select{max-width:100%;min-width:0}.guv-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.op-metrics .op-accent{border-top-color:#236b58;background:#f6f8f0}.op-track span{background:#236b58}.op-bars-teal .op-track span{background:#608b6b}.op-note strong{white-space:normal}.op-bar-label{flex-wrap:wrap}.op-bar-label strong{margin-left:auto}.op-toolbar>div{flex-wrap:wrap}.op-global-filters .btn{height:auto;min-height:44px}.op-table td:nth-child(2){overflow-wrap:anywhere}.op-pagination a{padding:10px 4px}.op-movements>div{background:#f0f4ea}
.np-year{background:#edf3e5;border-color:#d3dfc9}.np-year strong{color:#245b43}.np-step{background:#e8efdf;color:#236b58}.np-modes label:has(input:checked){border-color:#236b58;background:#eef4e6;box-shadow:inset 0 0 0 1px #236b58}.np-kind label:has(input:checked){border-color:#236b58;background:#eef4e6;color:#245b43}.np-footer{background:#edf2e8;border-color:#d8e2d0}.np-plan{background:linear-gradient(150deg,#fff 45%,#f2f6ed)}.np-actions{flex-shrink:1}.np-actions .btn{white-space:normal}
.admin-metrics>article{display:grid;gap:4px;padding:18px 22px;border-right:1px solid var(--border)}.system-checks{padding:0 24px 18px}.system-checks dd{overflow-wrap:anywhere}.admin-security-label{white-space:normal}.admin-panel-heading{gap:18px}.tree-toggle,.tree-toggle-spacer{width:32px;height:36px}.organization-main{grid-template-columns:32px 11px minmax(0,1fr)}.organization-tool-actions button,.admin-row-action,.access-action{min-height:44px}.organization-table-wrap{max-width:100%;scrollbar-color:#789582 #edf1e8}.organization-symbol.type-verband{background:#236b58}.organization-symbol.type-kirchenkreis{background:#699279}.organization-symbol.type-kirchengemeinde{background:#a0b995}
.report-status.reviewed{background:#e7f0df;color:#245b43}.tenant-table tr.active{background:#edf4e5}.report-summary{flex-wrap:wrap}.preview-total{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.preview-heading{flex-wrap:wrap}.preview-object>header{flex-wrap:wrap}.preview-object dl{flex-wrap:wrap}.workspace{grid-template-columns:240px minmax(0,1fr)}.upload-box input[type=file]{width:100%;max-width:100%;margin:16px 0}.panel-body{min-width:0}.ao-header{flex-wrap:wrap}.ao-entry.active{background:#edf4e5;border-left-color:#236b58}
body[data-page="hp-document-view"]>header{background:#183d38}body[data-page="hp-document-view"]>header h1{color:#fff}body[data-page="hp-document-view"] .toolbar select{max-width:100%}body[data-page="hp-document-view"] .table-scroll{max-height:none;overflow:visible}body[data-page="hp-document-view"] .vf-table-scroll{max-height:65vh;min-height:160px}body[data-page="hp-document-view"] pre{max-width:100%;overflow-wrap:anywhere}body[data-page="hp-document-view"] .button{white-space:normal}
.login-page .main{width:auto}.login-layout{width:100%}.login-story-copy{max-width:100%}.login-story .login-story-copy h1{overflow-wrap:normal}.login-page .login-card .btn-primary{background:#183d38;color:#fff}.login-page .login-story .eyebrow{color:#526b5b}.login-page .login-story h1{color:#183d38}.login-page .login-story p:not(.eyebrow){color:#526b5b}
@media(min-width:901px) and (max-width:1250px){.edit-workspace{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:230px}.sidebar .brand-title{font-size:14px}.grid-two{grid-template-columns:minmax(0,1fr)}.import-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-object-footer{position:static;flex-wrap:wrap}.preview-object dl div{text-align:left}}
@media(max-width:900px){
 .app{flex-direction:column;align-items:stretch}.main{width:100%;min-height:0}.sidebar{width:100%;height:auto;position:static;overflow:visible;display:block}.sidebar .brand{padding:18px 20px}.sidebar .brand-title{font-size:16px}.vf-nav-toggle:not([hidden]){display:flex;align-items:center;justify-content:space-between;width:calc(100% - 32px);margin:0 16px 16px;padding:12px 16px;border:1px solid #8cad94;border-radius:8px;background:#234d40;color:white;min-height:44px;font-weight:650}.vf-nav-content{display:flex}.sidebar .navigation{display:flex;flex-direction:column;overflow:visible;gap:5px;padding:0 16px 14px}.sidebar .navigation a{white-space:normal;min-height:44px;margin:0;font-size:14px;padding:12px 14px;flex-shrink:1}.sidebar .navigation a span{min-width:0;overflow-wrap:anywhere}.sidebar .navigation .nav-secondary{margin-left:12px}.sidebar .nav-label{display:block;padding:12px 14px 5px}.sidebar-bottom{display:block;margin:0;padding:0 0 18px}.sidebar .account-navigation{padding:0 16px 14px}.sidebar-profile{margin:0 20px;padding:12px 0 0;border-top:1px solid #426250;gap:12px}.sidebar .profile-copy strong{font-size:13px}.sidebar .account-name{display:block;white-space:normal;overflow:visible;font-size:12px;max-width:none}.sidebar .logout-button{min-width:44px;min-height:44px}.sidebar .profile-avatar{width:36px;height:36px}.topbar{min-height:64px;padding:14px 20px;align-items:flex-start;flex-direction:column;gap:8px}.session-label{display:flex;font-size:12px;line-height:1.5}.workspace-breadcrumb{font-size:13px}.workspace-breadcrumb .topbar-title{font-size:13px}.content,.portal-content,.admin-content{padding:24px 20px}.edit-workspace,.workspace{grid-template-columns:minmax(0,1fr)!important}.object-panel{position:static}.object-list,.ao-list{max-height:240px}.grid-two,.upload-layout,.settings-grid{grid-template-columns:minmax(0,1fr)}.object-layout{display:contents}.object-result{position:static}.np-columns{grid-template-columns:minmax(0,1fr)}.np-footer{align-items:stretch;flex-direction:column}.np-actions{align-self:stretch}.module-grid{grid-template-columns:minmax(0,1fr)}.quickstart{align-items:flex-start;flex-direction:column}.quickstart-steps{display:flex;border-left:0;padding:0;flex-shrink:1}.quickstart-steps li{flex-wrap:wrap}.account-actions{justify-content:flex-start}.organization-panel-heading,.organization-tools{flex-direction:column;align-items:stretch}.organization-search{width:100%}.tenant-search{flex-basis:auto;width:100%}
}
@media(max-width:650px){
 body{font-size:15px}.content,.portal-content,.admin-content{padding:22px 16px}h1{font-size:26px!important;letter-spacing:-.025em}.cards,.hp-metrics,.op-metrics,.guv-cards{grid-template-columns:minmax(0,1fr)}.metric-value,.hp-metrics strong,.op-metrics strong{font-size:26px;overflow-wrap:anywhere}.metric>div{min-width:0}.metric-icon{flex-shrink:0}.panel-body{padding:18px;overflow:visible}.hp-panel,.op-panel,.np-card,.preview-object{padding:18px}.panel-header,.admin-panel-heading{padding:18px;align-items:stretch;flex-direction:column}.admin-metrics{grid-template-columns:minmax(0,1fr)}.system-checks{padding:0 18px 18px}.system-checks div{grid-template-columns:minmax(0,1fr);gap:5px}.organization-tool-actions{flex-wrap:wrap}.organization-search input{width:100%}.admin-password-result code{max-width:100%;word-break:break-all}.tenant-table th:nth-child(3),.tenant-table td:nth-child(3){display:table-cell}.tenant-table{min-width:650px}.tenant-list-heading{align-items:stretch;flex-direction:column}.tenant-list-heading .tenant-search{flex:0 1 auto}.report-list-heading{align-items:stretch}.report-actions .btn{flex-basis:100%}.report-heading,.edit-heading,.hp-heading,.op-heading,.preview-heading,.np-heading,.finance-heading,.remark-actions,.finish-section,.booking-actions{align-items:stretch;flex-direction:column;gap:14px}.edit-heading-actions{justify-items:stretch}.export-actions .btn{flex:1 1 150px}.object-result,.preview-total,.result-values{grid-template-columns:minmax(0,1fr)}.preview-object dl{gap:14px}.preview-object dl div{width:100%;text-align:left}.preview-total strong{font-size:18px}.hp-object-summary,.hp-add-position{padding:0 16px 16px}.hp-object-footer{padding:16px;display:block}.hp-object-footer .btn{width:100%;margin-top:12px}.hp-history{align-items:stretch;flex-direction:column}.hp-history>*{width:100%}.hp-upload,.hp-standards,.hp-finance-inputs,.import-fields{grid-template-columns:minmax(0,1fr)}.hp-upload button,.hp-standards button,.op-upload>.btn{justify-self:stretch}.hp-actions .btn,.hp-add-position .btn{width:100%}.hp-object summary{padding:16px}.hp-count{float:none;display:block}.np-year{display:block;min-width:0;align-self:flex-start}.np-fields{grid-template-columns:minmax(0,1fr)}.np-modes{flex-direction:column}.np-kind{flex-wrap:wrap}.np-actions{flex-wrap:wrap;gap:12px}.np-actions .btn{flex:1 1 100%;width:100%}.np-form .np-amount input{font-size:24px!important}.np-content{padding:22px 16px!important}.guv-filter{align-items:stretch;flex-direction:column}.guv-filter select{width:100%;font-size:16px}.op-toolbar .op-global-filters{padding:16px;grid-template-columns:minmax(0,1fr)}.op-upload{grid-template-columns:minmax(0,1fr)}.op-filters{flex-direction:column;align-items:stretch}.op-bar-label{font-size:13px}.op-movements{grid-template-columns:minmax(0,1fr)}.op-movements span,.op-movements strong{overflow-wrap:anywhere}.op-pill,.op-status{white-space:normal}.confirmation-card{padding:20px}.confirmation-summary div{grid-template-columns:minmax(0,1fr);gap:5px}.confirmation-actions{flex-direction:column}.manual-account form{grid-template-columns:minmax(0,1fr)}.manual-account-actions{flex-direction:column;align-items:stretch}.reopen-form{flex-direction:column;align-items:stretch;width:100%}.reopen-form input{width:100%;min-width:0}.remark-actions{align-items:stretch}.stepper{align-items:flex-start;flex-direction:column;gap:12px}.step-number{flex-shrink:0}.upload-box{min-height:260px;padding:20px 14px}.upload-box input[type=file]{font-size:16px}.portal-footer{flex-direction:column;font-size:12px;gap:8px}.quickstart-copy{display:block}.login-card{max-width:100%}.login-layout{grid-template-columns:minmax(0,1fr)}.login-form-section{padding:20px 16px 32px}.login-story{padding:24px 16px 12px}.login-story h1{font-size:23px!important}
 /* Readable inputs also avoid automatic zoom on iOS; table columns remain scrollable. */
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,.booking-input,.hp-year-mode,.np-form input:not([type=radio]):not([type=hidden]),.np-form select{font-size:16px;min-height:44px}.hp-edit-table th:nth-child(n+2),.hp-edit-table td:nth-child(n+2){width:185px}.hp-edit-table{min-width:1390px}.finance-table .account-name{display:table-cell!important;min-width:240px}.finance-table .account-name small{font-size:12px}.position-remark{font-size:16px;min-height:44px}.np-form input[type=radio],input[type=checkbox]{min-width:20px;min-height:20px}button,summary{min-height:44px}summary{padding-block:10px}.hp-table .hp-edit-link,.finance-table .hp-edit-link{padding-block:10px}.toolbar{align-items:stretch}.toolbar select{width:100%}body[data-page="hp-document-view"]>header{padding:18px}body[data-page="hp-document-view"] main{padding:16px}body[data-page="hp-document-view"] .toolbar{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.vf-skip,.vf-nav-toggle,.vf-table-hint{display:none!important}.vf-table-scroll{overflow:visible;max-height:none!important}.main{width:100%}.sidebar{display:none!important}}
/* Keep off-screen accessible labels inside the scrollport's containing block. */
.vf-table-scroll{position:relative}
.report-status{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:650px){.content small,.op-bar-row small,.np-hint,.hp-help{font-size:12px}.sidebar .brand-subtitle{font-size:11px}}/* Accessible link and supporting-text contrast on light surfaces. */
.hp-back,.hp-edit-link,.np-back,.text-action,.account-panel a,.hp-ao-comparison a,.guv-table summary{color:#236b58}
.eyebrow,.hp-eyebrow,.op-eyebrow,.np-eyebrow{color:#526b5b}
.np-hint,.np-section-heading p,.np-form label small,.np-context span,.np-modes small,.np-follow p,.np-footer p,.op-table small,.op-table details,.op-bar-row small,.op-upload small,.op-metrics small,.hp-table th small,.field-hint,.report-table td>span:not(.report-status,.report-result){color:#566b60}
.vf-selection-value{display:block;max-width:100%;overflow-wrap:anywhere;white-space:normal;font-size:12px;color:#52665b;line-height:1.5;margin:6px 0 0;font-weight:400}
.vf-selection-value[hidden]{display:none}/* Supporting text on dark navigation surfaces remains light. */
.sidebar .brand-subtitle,.sidebar .nav-label,.sidebar .navigation a>.ui-icon,.sidebar .account-name,.sidebar .admin-nav-pending{color:#b7cebc}.sidebar .navigation a,.sidebar .logout-button{color:#d0ded1}.sidebar .profile-avatar{color:#e4efd9}.sidebar .navigation a.active,.sidebar .navigation a.active>.ui-icon{color:#183d38}.sidebar .navigation .nav-secondary.active{color:#fff}.workspace-breadcrumb>span:not(.topbar-title){color:#52665b}
body[data-page=hp-document-view]>header .eyebrow{color:#c5dcad}

/* UX-006 v2: input margin belongs to wrapper, eye stays centred in field. */
.vf-password-control{position:relative;display:block;width:100%;min-width:0}
.password-form .vf-password-control{margin-bottom:23px}
.vf-password-control input{box-sizing:border-box;display:block;width:100%;margin:0!important;padding-right:3.25rem!important}
.vf-password-control .vf-password-toggle{position:absolute;right:3px;top:50%;transform:translateY(-50%);display:grid;place-items:center;box-sizing:border-box;margin:0!important;padding:0!important;width:40px!important;height:40px;min-width:0!important;min-height:0!important;border:0!important;border-radius:6px;background:transparent!important;color:#50685e;font:inherit;cursor:pointer;box-shadow:none!important;line-height:1}
.vf-password-control .vf-password-toggle svg{display:block;width:21px;height:21px;pointer-events:none}
.vf-password-control .vf-password-toggle:hover{color:#183f32;background:#e9f0ec!important}
.vf-password-control .vf-password-toggle:focus-visible{outline:2px solid #376b59;outline-offset:-3px}
.vf-password-control .vf-password-toggle:disabled{opacity:.55;cursor:default}
