:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#18324b;background:#f0f4f8;font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{cursor:pointer;border:1px solid #c3d0dc;border-radius:6px;padding:10px 13px;background:white;color:#18324b;text-align:center}button:hover,.button:hover{background:#e7f1ff}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,.button:focus-visible{outline:3px solid #246db8;outline-offset:2px}header{min-height:86px;background:#122c46;color:white;display:flex;gap:30px;align-items:center;padding:20px 30px}.brand{font-weight:700;font-size:32px;display:flex;align-items:center;gap:16px;color:#8dc5ff}.brand>span{font-size:20px;color:white;letter-spacing:.06em}.brand small{display:block;font-size:12px;font-weight:400;letter-spacing:.14em;margin-top:3px}.modules{display:flex;gap:8px;margin-left:auto}.modules button{background:transparent;color:white;border-color:#567084}.modules .active{background:#8bc2fb;color:#122c46;border-color:transparent}.prototype{font-size:13px;color:#c3d0dc}.workspace{display:grid;grid-template-columns:245px 1fr;min-height:calc(100vh - 86px)}aside{padding:26px 18px;background:white;border-right:1px solid #d8e1e9}aside>label{font-size:12px;font-weight:700;letter-spacing:.12em}input,select{padding:9px 10px;border:1px solid #bdccd9;border-radius:5px;background:white;color:#18324b;width:100%;min-height:40px}#projectName{margin:8px 0 24px;font-size:14px}nav{display:grid;gap:4px}nav button{border:0;text-align:left;background:transparent;font-size:14px}nav button.selected{background:#e2efff;color:#164f90;font-weight:650;border-left:3px solid #236cbb}.file-actions{display:grid;gap:9px;margin-top:30px;font-size:14px}.file-actions p{font-size:12px;line-height:1.6;color:#62788b}main{padding:32px 38px;min-width:0;max-width:1500px;width:100%;margin:auto}h1{font-size:30px;letter-spacing:-.025em;margin:5px 0 8px}h2{font-size:19px;margin:0 0 18px}p{line-height:1.6}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:700;color:#537389}.sub{color:#60778b;font-size:14px;margin-top:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.card,.panel{background:white;border:1px solid #dce5ed;border-radius:9px;padding:22px}.card strong{display:block;font-size:26px;margin:10px 0}.card small{color:#62788b;font-size:12px}.card.primary{background:#122c46;color:white;border:0}.card.primary small{color:#afc7da}.card.primary strong{color:#8dc5ff}.label{font-size:14px}.panel{margin:18px 0}.fields{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:15px}.fields label{font-size:14px;display:grid;gap:8px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:12px;color:#587186;background:#f5f8fb;font-weight:650;padding:13px 10px}td{padding:10px;border-bottom:1px solid #e8eef3}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td input{max-width:135px;text-align:right;font-size:14px}td input.text{max-width:none;text-align:left}tfoot td{font-weight:700;background:#f5f8fb}.notice{padding:14px 18px;background:#fff7df;border-left:3px solid #c69122;font-size:14px;line-height:1.6;border-radius:4px;margin:16px 0}.error{background:#fff0ee;border-color:#b44430;color:#8b3021}.trace{font-size:13px;color:#60778b}details summary{cursor:pointer;font-weight:600;font-size:14px}details p,details li{font-size:14px;line-height:1.65}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.section-head h2{margin:0}#status:not(:empty){padding:12px;background:#e2efff;margin-bottom:15px;border-radius:5px}.total{font-size:20px;font-weight:650}.cost-row input{max-width:180px}.muted{color:#61798c}.wide{min-width:760px}.link{color:#185ca8}.empty{color:#6a7e8e;font-size:14px}a{color:#175da7}@media(max-width:1100px){.fields{grid-template-columns:repeat(3,1fr)}main{padding:25px}.prototype{display:none}.card strong{font-size:22px}}@media(max-width:780px){header{padding:16px;gap:10px}.brand small{display:none}.workspace{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid #d8e1e9;padding:16px}nav{display:flex;overflow:auto}nav button{white-space:nowrap}#projectName{margin-bottom:12px}.file-actions{display:flex;flex-wrap:wrap;margin-top:15px}.file-actions p{width:100%;margin:0}main{padding:20px 14px}.cards{grid-template-columns:1fr;gap:9px}.card{padding:16px}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:26px}.modules{gap:4px}.modules button{font-size:13px;padding:8px}.brand{font-size:25px}.brand>span{font-size:17px}}
:root{color-scheme:light}aside{min-width:0}.workspace{width:100%}@media(max-width:780px){.workspace{grid-template-columns:minmax(0,1fr)}header{flex-wrap:wrap}.modules{flex-shrink:0}.cards,.panel{min-width:0}}
@media(max-width:780px){.workspace{grid-template-columns:minmax(0,1fr)}}


input[aria-invalid="true"]{border-color:#b44430;background:#fff0ee}.card.overbilled{border-color:#b44430}.card.overbilled strong{color:#a43124}

.note-ref{display:inline-grid;place-items:center;width:24px;min-height:24px;padding:0;margin-left:6px;border-radius:50%;border:1px solid #246bb4;background:#e5f0ff;color:#18558f;font-size:15px;font-weight:800;vertical-align:middle;line-height:1}
.note-popover{position:fixed;z-index:100;width:min(340px,calc(100vw - 16px));padding:14px 16px;background:#fff;color:#18324b;border:1px solid #91b3ba;border-radius:9px;box-shadow:0 12px 32px #102b4660;font-size:14px;line-height:1.5}.note-popover[hidden]{display:none}.note-popover p{margin:0 0 8px;overflow-wrap:anywhere}.note-popover button{display:block;margin-left:auto;padding:5px 9px;font-size:13px}

.workspace{grid-template-columns:340px minmax(0,1fr)}.project-controls{display:flex;align-items:center;gap:8px;margin:10px 0 24px}.project-controls #projectName{flex:1;min-width:0;margin:0;min-height:48px;font-size:16px}.project-controls button{min-height:48px}.nav-row{display:flex;align-items:center;gap:4px}.nav-row>[data-view]{flex:1;min-width:0}.nav-row .pdf-button{flex:none;padding:7px;font-size:12px;border:1px solid #b9ccd8;color:#185ca8}.invoice-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.invoice-summary>div{padding:16px;background:#eef6f8;border-radius:6px}.invoice-summary span{display:block;font-size:14px}.invoice-summary strong{display:block;font-size:23px;margin-top:8px}.invoice-table input[type=date]{min-width:155px;max-width:none;text-align:left}.invoice-table input[data-numeric]{min-width:140px}.invoice-table{min-width:620px}@media(max-width:1000px){.workspace{grid-template-columns:285px minmax(0,1fr)}}@media(max-width:780px){.workspace{grid-template-columns:minmax(0,1fr)}.nav-row{flex-shrink:0}.project-controls #projectName{margin:0}.invoice-summary{grid-template-columns:1fr}}

[hidden]{display:none!important}.copyright{text-align:center;padding:24px;font-size:13px;color:#536777;border-top:1px solid #d8e3eb}.tga-navigation{margin:12px 0;padding:10px 0;border-top:1px solid #d8e3eb}.tga-navigation summary{font-weight:700;cursor:pointer;line-height:1.4}.tga-navigation .nav-row{padding-left:14px}.direct-total{display:flex;align-items:end;gap:12px;margin:18px 0}.direct-total label{flex:1}.direct-total input{display:block;max-width:320px}.cost-assignments{margin:14px 0}.cost-assignments select{min-width:240px}.copyright+dialog{width:min(1250px,94vw);max-height:90vh;border:0;border-radius:12px;padding:24px;background:#f4f7fa;color:#122c46}dialog::backdrop{background:#122c46aa}.admin-toolbar{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-table input{min-width:145px}.admin-table th{white-space:nowrap}.admin-note{font-size:14px;color:#526779}.admin-buttons{display:flex;gap:12px;margin:20px 0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}#role{font-size:13px;font-weight:700}.direct-total button{white-space:nowrap}@media(max-width:750px){.direct-total,.admin-toolbar{flex-wrap:wrap}.admin-grid{grid-template-columns:1fr}}

#nav button,#nav summary,#save,#saveData,.direct-total label{font-weight:700}.direct-total{display:flex;flex-wrap:wrap;align-items:end}.direct-total label{min-width:180px}.direct-total input{width:100%}.direct-total select{display:block;max-width:100%}.cost-row select{min-width:160px}.modules select{min-width:160px;font-weight:700}

#accessDialog{width:min(950px,94vw);max-height:90vh;border:0;padding:24px;border-radius:12px}input[type=checkbox]{width:20px;height:20px}.criterion{display:block;margin:18px 0}.criterion select{display:block;width:100%;margin-top:8px}.aho-services td:first-child{min-width:320px}.aho-services input{min-width:95px}.welcome{max-width:950px;padding:40px}.workspace:has(> aside:first-child[hidden]){grid-template-columns:1fr}.welcome h2{margin-top:28px}

header{position:sticky;top:0;z-index:40}html{scroll-padding-top:100px}.net-note{margin:0;padding:8px 20px;background:#edf4ff;color:#264957;font-size:13px}.invoice-editor textarea,.aho-services textarea{width:100%;min-height:80px;font:inherit;padding:8px}.login-box{max-width:460px;margin:8vh auto;padding:28px;background:white;border:1px solid #dce5ed;border-radius:12px}.login-box label{display:block;margin:15px 0}.login-box input{display:block;width:100%;margin-top:6px}.invoice-editor .fields{grid-template-columns:repeat(2,minmax(0,1fr))}header .brand{white-space:nowrap}@media(max-width:780px){header{flex-wrap:wrap}.invoice-editor .fields{grid-template-columns:1fr}}

/* Klarere Kennzeichnung der zentralen Werkzeuge und der Anmeldung. */
header .brand{display:grid;gap:3px;font-weight:700;color:#8dc5ff}
header .brand .brand-main{font-size:30px;line-height:1;letter-spacing:.035em;color:#8dc5ff}
header .brand small{font-size:12px;font-weight:500;letter-spacing:.14em;color:white}
.modules{align-items:center}
.modules label{font-size:16px;font-weight:700}
.account-switch{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #8dc5ff;border-radius:6px;color:white;text-decoration:none;font-weight:650;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.account-switch:hover{background:#8dc5ff;color:#122c46;border-color:#8dc5ff;transform:translateY(-1px)}
.account-switch:focus-visible{outline:3px solid white;outline-offset:3px}
.tga-navigation .nav-row{padding-left:18px}
.tga-navigation .nav-row>[data-view]{font-weight:400;line-height:1.35}
@media(max-width:780px){header .brand .brand-main{font-size:24px}.modules label{font-size:14px}}
.welcome .experience{margin-top:30px;padding:22px 24px;background:#eef6f8;border-left:4px solid #236cbb;border-radius:7px}
.welcome .experience h2{margin-top:0}
.welcome .experience p{margin-bottom:0}
.copyright{display:flex;justify-content:center;gap:8px 24px;flex-wrap:wrap;line-height:1.5}
.copyright span+span{position:relative}
.copyright span+span::before{content:'·';position:absolute;left:-14px;color:#8ba0b1}
@media(max-width:780px){.welcome .experience{padding:18px}.copyright{display:grid;gap:5px}.copyright span+span::before{content:none}}

.active-project{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 10px;border-radius:999px;background:#203f5d;color:#ddebff;font-size:13px}
#projectSwitch{margin:8px 0 16px}.cost-summary{position:sticky;top:calc(var(--header-height,86px) + 8px);z-index:25;padding:8px;background:#f0f4f8;border-radius:10px;margin:14px 0 22px}.cost-summary .card{padding:13px 16px}.cost-summary .card strong{font-size:20px;margin:7px 0}.kg700-sync h2{margin-bottom:10px}.service-disabled{opacity:.55;background:#f4f6f8}.service-disabled textarea,.service-disabled input[data-numeric]{text-decoration:line-through}.aho-services td:first-child{min-width:55px}.aho-services td:nth-child(2){min-width:320px}.table-wrap{overflow:auto}
@media(max-width:780px){header{position:sticky;top:0;max-height:none}.active-project{order:5;max-width:100%;width:100%}.cost-summary{grid-template-columns:repeat(3,minmax(150px,1fr));overflow-x:auto}.cost-summary .card{min-width:150px}.cost-summary .card strong{font-size:17px}.prototype{display:none}}

#homeProjects{max-width:760px;margin:0 0 20px}#homeProjects[hidden]{display:none}#homeProjects select{max-width:480px;margin:10px 12px 10px 0}#homeProjects button{display:inline-block}.cost-summary .card button{margin-top:9px;padding:7px 12px;background:#122c46;color:#fff}.cost-summary .card small{display:block;margin-top:6px}#deleteProject{margin-top:8px;color:#9c2632;border-color:#e3bbc0;width:100%}
#homeProjects{max-width:900px}
.saved-project{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #dce5ed}
.saved-project span{font-weight:650;overflow-wrap:anywhere}
.new-project-controls{display:flex;gap:12px;margin-top:18px}
.new-project-controls input{flex:1;min-width:180px}
.new-project-controls button{white-space:nowrap}
.stages-heading{font-size:1.65rem;margin:28px 0 16px}
.aho-stage{margin-bottom:16px}
.aho-stage h3{font-size:1.15rem;margin:0}
.stage-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.stage-actions button.active,.admin-buttons button.active{background:#e0f6e8;color:#164f90;border-color:#397ec2;font-weight:700}
.criterion-required{color:#aa2633;font-weight:650}
.criterion-required select{border:2px solid #c63745}
.required-note{margin-left:12px;color:#aa2633;font-size:.875rem}
.add-service-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 4px;border-bottom:1px solid #e2e9ef}
.add-service-row span{line-height:1.4}
.add-service-row button{flex:none}
@media(max-width:750px){.saved-project,.new-project-controls,.add-service-row{align-items:stretch;flex-direction:column}.add-service-row button,.new-project-controls button{width:100%}}
/* Arbeitsbereich und feste Projektaktionen */
body{padding-bottom:calc(var(--footer-height,70px) + 16px)}
.copyright{position:static;bottom:auto;left:auto;right:auto;z-index:auto;background:#122c46;color:#ecf5f6;padding:12px 20px;border-top:1px solid #315673;box-shadow:0 -3px 14px #122c4620;font-size:13px}
.project-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}
.project-action-grid button{width:100%;min-height:48px;padding:8px;font-size:14px;font-weight:700}
#saveProject{background:#226bb8;color:white;border-color:#226bb8}
#saveProject:hover{background:#195b9e}
#deleteProject{margin:0;background:#b32b3c;color:white;border-color:#b32b3c}
#deleteProject:hover:not(:disabled){background:#912032}
.project-banner{display:flex;align-items:baseline;gap:18px;padding:18px 22px;margin-bottom:20px;background:#e5f4f1;border-left:5px solid #246db8;border-radius:8px}
.project-banner span{font-size:14px;color:#426477;font-weight:650}
.project-banner strong{font-size:1.55rem;line-height:1.25;overflow-wrap:anywhere}
.cost-section-title{font-size:1.4rem;margin:26px 0 10px}
.kg-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:12px}
.kg-head h3{font-size:1.3rem;line-height:1.35;margin:0;flex:1;min-width:230px}
.kg-head h3 .muted{display:block;font-size:.95rem;font-weight:500;color:#567186}
.kg-inline{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.kg-inline label{font-size:14px;font-weight:650;display:grid;gap:5px;min-width:170px}
.kg-inline input{max-width:210px}
.kg-panel>details{margin-top:8px}
@media(max-width:780px){.copyright{padding:10px 15px}.project-banner{display:block}.project-banner strong{display:block;margin-top:5px}.kg-head{display:block}.kg-inline{margin-top:12px}}
/* Projektaktionen, Arbeitsleiste und kompakte feste Seitenleiste */
header .project-action-grid{display:flex;gap:7px;align-items:center;margin:0 0 0 auto}
header .project-action-grid button{width:42px;height:42px;min-height:42px;padding:9px;display:grid;place-items:center}
header .project-action-grid svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
header .project-action-grid #deleteProject{width:42px;margin:0}
header .modules{margin-left:0}
.workflow{position:sticky;top:var(--header-height,86px);z-index:38;background:#e8f1f4;border-bottom:1px solid #cbdbe3;padding:8px 20px;overflow-x:auto}
.workflow nav{display:flex;align-items:center;gap:4px;min-width:max-content}
.workflow .nav-row{flex:none}
.workflow .nav-row>[data-view]{white-space:nowrap;padding:9px 12px;border-radius:6px}
.workflow nav button.selected{border-left:0;border-bottom:3px solid #236cbb}
.workflow .tga-navigation{margin:0;padding:0 8px;border:0;position:relative}
.workflow .tga-navigation summary{padding:9px 12px;white-space:nowrap}
.workflow .tga-navigation[open]{background:white;border-radius:6px}
.workflow .tga-navigation .nav-row{padding-left:0}
.workspace{grid-template-columns:205px minmax(0,1fr)}
.workspace aside{position:sticky;top:calc(var(--header-height,86px) + var(--workflow-height,55px));align-self:start;height:calc(100vh - var(--header-height,86px) - var(--workflow-height,55px) - var(--footer-height,70px));overflow-y:auto;padding:18px 12px}
aside #renameProject{width:100%;font-weight:700;font-size:13px}
aside #renamePanel{padding:12px 0;font-size:13px}
aside #renamePanel input{margin:6px 0 8px}
aside #renamePanel button{width:100%}
aside .file-actions{margin-top:14px}
.copyright .net-note{background:transparent;color:#c5d7df;padding:0;margin:0;font-size:12px}
.invoice-editor .required-missing input,.invoice-editor .required-missing select{border:2px solid #b32b3c;background:#fff4f4}
.invoice-editor .required-missing{color:#a52936}
.invoice-editor .required-star{color:#b32b3c;font-weight:800}
.invoice-editor .required-hint{font-size:13px;color:#a52936;margin:8px 0 16px}
.invoice-editor .invoice-net{grid-column:1/-1;max-width:440px;font-weight:700}
.invoice-editor .invoice-net input{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;min-height:60px;text-align:right;border:2px solid #5d95a0}
@media(max-width:780px){header .project-action-grid{order:4;margin-left:0}.workflow{top:var(--header-height,86px);padding:5px 10px}.workspace{grid-template-columns:minmax(0,1fr)}.workspace aside{position:static;height:auto;overflow:visible;padding:12px}.copyright .net-note{font-size:11px}}
.workflow:has(#nav:empty){display:none}
/* Startseite mit Projektverwaltung rechts */
.workspace:has(#homeSidebar:not([hidden])){grid-template-columns:205px minmax(0,1fr) minmax(275px,320px)}
#homeSidebar{border-left:1px solid #d8e1e9;border-right:0;background:#f8fbfd;padding:16px;height:calc(100vh - var(--header-height,86px) - var(--footer-height,70px));top:var(--header-height,86px)}
#homeProjects{margin:0;padding:18px;max-width:none}
#homeProjects .new-project-controls{flex-direction:column}
#homeProjects .new-project-controls input{min-width:0}
#homeProjectList{max-height:35vh;overflow-y:auto}
#accountCompany{background:#244761;color:#eaf3ff;border-color:#648bb3;max-width:220px;white-space:normal;font-size:13px}
#accountCompany:hover{background:#356caa}
.workflow{padding:3px 14px}
.workflow .nav-row>[data-view]{padding:7px 10px;font-size:13px}
.workflow .tga-navigation summary{padding:7px 10px;font-size:13px}
.cost-summary{top:calc(var(--header-height,86px) + var(--workflow-height,45px) + 8px)}
@media(max-width:1050px){header{flex-wrap:wrap;gap:9px}.workspace:has(#homeSidebar:not([hidden])){grid-template-columns:175px minmax(0,1fr) 285px}}
@media(max-width:780px){.workspace:has(#homeSidebar:not([hidden])){grid-template-columns:minmax(0,1fr)}#homeSidebar{position:static;height:auto;overflow:visible;border-left:0;border-top:1px solid #d8e1e9}.active-project{order:initial;width:auto;max-width:180px}#accountCompany{order:6}}
.cost-breakdown{font-size:12px;line-height:1.45;color:#526f80}
.aho-page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.aho-page-heading h1{font-size:clamp(1.35rem,2vw,1.75rem)}
.aho-page-heading .reset-view{white-space:nowrap;flex:none}
.project-class-summary{position:sticky;top:calc(var(--header-height,86px) + var(--workflow-height,45px) + 8px);z-index:24;padding:3px 0;background:#f0f4f8}
.project-class-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0}
.addendum-stage h3{margin:0;font-size:1.15rem;font-weight:800}
.addendum-stage.has-addendum h3{color:#226bb8}
.addendum-stage .table-scroll input{min-width:115px}
.fee-breakdown th{font-size:14px;background:transparent}
.fee-breakdown td{font-size:15px;text-align:right;font-variant-numeric:tabular-nums}
.contract-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.contract-summary>div{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;background:#f4f7fa}
@media(max-width:780px){.project-class-cards,.contract-summary{grid-template-columns:1fr}}
.invoice-editor .admin-required{display:inline-flex;align-items:center;gap:5px;margin:5px 0 0;color:#32596a;font-size:12px;font-weight:500}
.invoice-editor .admin-required input{width:16px;height:16px;min-height:0}
.project-class-sticky{position:sticky;top:calc(var(--header-height,86px) + var(--workflow-height,45px));z-index:24;background:#f0f4f8;padding:7px 0}
.project-class-sticky .project-class-summary{position:static;padding:0}

/* Kompakter Kopf, dauerhaft sichtbare Arbeitsschritte und klare Zustände. */
header{gap:12px;padding:10px 18px;min-height:64px}
header .modules{gap:7px;flex:none}
header .modules label{font-size:13px;white-space:nowrap}
header .modules select{min-width:0;width:98px;min-height:34px;padding:5px 8px;font-size:13px}
header #homeButton{flex:none;min-height:34px;padding:5px 10px;background:#122c46;color:white;border:1px solid #62819a;font-weight:700;white-space:nowrap}
header #homeButton:hover{background:#244761}
header .active-project{flex:1;max-width:none;min-width:90px;width:auto;min-height:38px;background:#122c46;border-radius:6px;padding:5px 10px;font-size:1.25rem;font-weight:800;color:white;line-height:1.2;text-overflow:ellipsis;cursor:pointer;color-scheme:dark}
header .project-action-grid{margin:0;gap:4px;flex:none}
header .project-action-grid button,header .project-action-grid #deleteProject{width:32px;height:32px;min-height:32px;padding:6px}
header .project-action-grid svg{width:17px;height:17px}
.workflow{display:flex;align-items:center;gap:12px;position:sticky;top:var(--header-height,64px);z-index:39;overflow:visible;min-height:44px;padding:4px 12px}
.workflow nav{display:flex;flex:1;min-width:0;overflow-x:auto;gap:3px;scrollbar-width:thin}
.workflow-account{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:none;margin-left:auto}
.workflow-account .account-switch,.workflow-account #accountCompany{font-size:12px;min-height:32px;padding:5px 9px;max-width:185px;line-height:1.2}
.workflow-account .account-switch{border-color:#346b9f;background:#123650;color:#e6faf5}
.workflow-account #accountCompany{background:#244761;color:#eaf3ff;border-color:#648bb3}
.workflow:has(#nav:empty){display:flex}
.cost-summary{top:calc(var(--header-height,64px) + var(--workflow-height,44px) + 8px)}
.project-banner{display:none}
button.is-accepted{background:#1d65b2;color:white;border-color:#1d65b2;font-weight:700}
button.is-accepted:hover{background:#164f90;color:white}
.aho-stage .stage-actions button.stage-full{background:#21834b;color:white;border-color:#176b3a;font-weight:700}
.aho-stage .stage-actions button.stage-partial{background:#f5d966;color:#493609;border-color:#c49d20;font-weight:700}
.aho-stage .stage-actions button.stage-inactive{background:#b63939;color:white;border-color:#b63939;font-weight:700}
.cards .card.addenda-primary{background:#122c46;color:white;border-color:#122c46}
.cards .card.addenda-primary strong{color:#8dc5ff}
.sheet-pdf-button{display:inline-grid;place-items:center;width:38px;height:38px;min-width:38px;padding:6px;color:#19558d;border-color:#78a2c8;background:white}
.sheet-pdf-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:780px){header{gap:7px;padding:10px}header .active-project{order:initial;width:auto;flex:1;font-size:1.05rem}header .project-action-grid{order:initial}.workflow{padding:4px 8px;gap:6px}.workflow-account{gap:3px}.workflow-account .account-switch,.workflow-account #accountCompany{font-size:11px;padding:4px 5px;max-width:110px}}

.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.sheet-heading h1{margin:0}
.sheet-heading .sheet-pdf-button{margin-left:auto}
.workflow .pdf-button{display:grid;place-items:center;width:31px;height:31px;padding:4px}
.workflow .pdf-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#homeSidebar{top:calc(var(--header-height,64px) + var(--workflow-height,44px));height:calc(100vh - var(--header-height,64px) - var(--workflow-height,44px) - var(--footer-height,70px))}
.account-company{display:inline-flex;align-items:center;max-width:230px;min-height:34px;padding:6px 10px;color:#ddebff;background:#244761;border:1px solid #648bb3;border-radius:6px;font-size:12px;overflow-wrap:anywhere}
.workflow{position:fixed;left:0;right:0;top:var(--header-height,64px)}
.workspace{margin-top:var(--workflow-height,44px)}
.admin-sidebar-actions{display:grid;gap:7px;margin-bottom:12px}
.admin-sidebar-actions button{width:100%;font-size:13px;font-weight:700}
#accessAdminHome{background:#e0f2ed;color:#185a9e;border-color:#8bb8df}
#packageRequest{margin-top:12px;padding:16px}
#homeRenameProject{display:block;width:100%;margin:0 0 12px;background:#e8f2f9;color:#183e5b;font-weight:700}
#renamePanel #saveRename{margin-right:8px;background:#1d65b2;color:white;border-color:#1d65b2}
#packageRequest h2{font-size:1.05rem}
#packageRequest p{font-size:13px;margin:8px 0}
#packageRequest button{width:100%;margin-top:10px;background:#1d65b2;color:white}
.package-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.package-actions button{font-size:12px;padding:6px}
.package-actions [data-package-approve]{background:#1d65b2;color:white}
.package-actions [data-package-reject]{background:#b63939;color:white}
.addendum-stage-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.addendum-stage-links a{font-size:13px;padding:8px;border:1px solid #b9d3d7;border-radius:6px;text-decoration:none}
.addendum-stage-links a:hover{background:#e2f3ef}
.addendum-stage{scroll-margin-top:calc(var(--header-height,64px) + var(--workflow-height,44px) + 12px)}
@media(max-width:780px){.account-company{order:initial;max-width:100%;font-size:12px}#homeSidebar{height:auto}}
.workspace:has(> aside:first-child[hidden]):has(#homeSidebar:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(275px,320px)}
header #activeProject{border:1px solid #62819a;text-align:left}
header #activeProject option{background:white;color:#18324b}
header #activeProject:hover{background:#244761}
header #headerRenameProject{flex:none;display:grid;place-items:center;width:32px;height:32px;padding:6px;border:1px solid #62819a;background:#122c46;color:white}
header #headerRenameProject:hover{background:#244761}
header #headerRenameProject svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.account-menu{position:relative;flex:none}
.account-menu .account-company{cursor:pointer}
.account-menu #accountActions{position:absolute;z-index:70;top:calc(100% + 5px);right:0;min-width:160px;padding:8px;background:white;border:1px solid #b4cbd5;border-radius:8px;box-shadow:0 8px 24px #132d4650}
.account-menu #accountActions .account-switch{display:block;background:#122c46;color:white;text-align:center}
header #renamePanel{position:absolute;z-index:65;top:calc(100% + 6px);right:14%;width:min(360px,90vw);padding:14px;background:white;border:1px solid #b4cbd5;border-radius:8px;box-shadow:0 8px 24px #132d4650;color:#18324b}
header #renamePanel label{display:block;font-size:13px;font-weight:700}
header #renamePanel input{margin:8px 0}
@media(max-width:780px){.workspace:has(> aside:first-child[hidden]):has(#homeSidebar:not([hidden])){grid-template-columns:minmax(0,1fr)}.account-menu{max-width:100%}header #renamePanel{right:5vw}}
.aho-stage .stage-status{display:inline-block;padding:7px 10px;background:#f5d966;border:1px solid #c49d20;border-radius:6px;color:#493609;font-size:13px;font-weight:700}
.report-table td{vertical-align:top}

/* Markenlogo im Kopfbereich */
header .brand{display:block;position:relative;flex:0 0 auto;width:210px;min-width:0;aspect-ratio:2121/605;overflow:hidden;background:#122c46;padding:0;border-radius:4px}
header .brand img{display:block;position:absolute;left:-1.65%;top:-15.7%;width:102.4%;max-width:none;max-height:none;height:auto;filter:brightness(0) invert(1)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:780px){header .brand{width:170px}}
@media(max-width:480px){header .brand{width:150px}}
.cost-formula-steps{padding-left:1.4rem;line-height:1.5}.cost-formula-steps li{margin:.35rem 0;overflow-wrap:anywhere}
@media(max-width:780px) and (display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}header{top:env(safe-area-inset-top)}.workflow{top:calc(var(--header-height,64px) + env(safe-area-inset-top))}}

/* Die TGA-Anlagen erscheinen unter der Navigationsleiste und bleiben im eigenen Menü scrollbar. */
.workflow .tga-navigation .tga-menu{position:fixed;top:calc(var(--header-height,64px) + var(--workflow-height,44px) - 2px);left:clamp(12px,42vw,620px);max-height:min(65vh,600px);width:min(370px,90vw);overflow-y:auto;background:#fff;border:1px solid #b9ccd8;border-radius:0 0 9px 9px;box-shadow:0 12px 24px #122c4644;padding:9px;z-index:60}
.workflow .tga-navigation .tga-menu .nav-row>[data-view]{width:100%;text-align:left;white-space:normal}
.aho-stage .stage-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.aho-stage .stage-title h3{margin:0}
#newProjectDialog,#invoiceEditDialog,#databaseDialog{border:0;border-radius:12px;padding:24px;width:min(480px,94vw);box-shadow:0 18px 45px #122c4655}#newProjectDialog label,#invoiceEditDialog label{display:block;margin:13px 0}#newProjectDialog input,#invoiceEditDialog input,#invoiceEditDialog select{display:block;width:100%;margin-top:6px}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:20px}

/* Projekterfassung und rechtliche Informationen */
#newProjectDialog{width:min(720px,95vw);max-height:88vh;overflow:auto}#newProjectDialog .project-info-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}#newProjectDialog .full-width{grid-column:1/-1}#newProjectDialog textarea,#renamePanel textarea{width:100%;padding:9px 10px;border:1px solid #bdccd9;border-radius:5px;font:inherit;resize:vertical}#renamePanel details{margin:10px 0}#renamePanel details label{margin:10px 0}#renamePanel details input{margin:5px 0}
.access-granted td:first-child{background:#e9f8ef}.access-badge{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:12px;background:#1d65ad;color:#fff;font-weight:700;font-size:12px}.legal-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.legal-links button{font-size:13px;padding:5px 10px}.legal-dialog{width:min(760px,94vw);max-height:86vh;overflow-y:auto;border:0;border-radius:11px;padding:24px 28px;line-height:1.65}.legal-dialog .legal-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.legal-dialog h3{margin:22px 0 5px;font-size:17px}.legal-dialog p{margin:8px 0;font-size:15px}#logoutDialog{width:min(480px,94vw);border:0;border-radius:11px;padding:25px}#logoutError:not(:empty){color:#9b262e;background:#fff0ee;padding:9px;border-radius:5px}.account-menu #accountActions{min-width:225px}.account-menu #accountActions button{width:100%;text-align:left;margin:2px 0}.account-menu #accountActions button:disabled{cursor:not-allowed}
@media(max-width:620px){#newProjectDialog .project-info-fields{grid-template-columns:1fr}.legal-dialog{padding:18px}.legal-dialog .legal-head{flex-wrap:wrap}}

/* Leistungsphasen: Prozent und Grundhonorar direkt bei der Phase. */
.hoai-phases{width:max(100%,1100px);table-layout:fixed}
.hoai-phases th:first-child,.hoai-phases td:first-child{width:115px;min-width:115px}
.hoai-phases th:nth-child(2),.hoai-phases td:nth-child(2){width:102px;min-width:102px;white-space:nowrap}
.hoai-phases th:nth-child(3),.hoai-phases td:nth-child(3){width:140px;min-width:140px;white-space:nowrap}

@media(max-width:780px){
 body.tool-active{padding-bottom:env(safe-area-inset-bottom)}
 body.tool-active .copyright{display:none}
}

.note-ref{width:18px;min-height:18px;height:18px;padding:0;margin-left:3px;font-size:10px;line-height:1;vertical-align:super;position:relative;top:-.35em;flex:none}
.card strong .note-ref{font-size:10px;color:#18558f}
.cost-summary .card.primary{order:3}
.project-class-cards .card.primary button{display:block;margin-top:9px;padding:7px 12px;background:#fff;color:#122c46;border-color:#9cc6ed}
.project-class-cards .card.primary button.is-accepted{background:#e2efff;color:#164f90}
.aho-stage .stage-value{font-variant-numeric:tabular-nums;border-radius:6px;padding:5px 9px;white-space:nowrap}
.aho-stage .stage-value-full{color:#185897;background:#e1f4e9}
.aho-stage .stage-value-partial{color:#705000;background:#fff0ae}
.aho-stage .stage-value-zero{color:#9d2736;background:#fbe5e8}

/* Einheitliche Ergebnisfelder und Schaltflächen in allen AHO Blättern. */
.cards .card{position:relative;min-height:132px;padding:13px 16px}
.cards .card strong{font-size:20px;margin:7px 0;overflow-wrap:anywhere}
.cards .card:has(.result-accept) .label{padding-right:120px}
.cards .card .result-accept{position:absolute;top:12px;right:12px;margin:0;padding:7px 12px;background:#fff;color:#122c46;border-color:#9cc6ed;font-size:13px}
.cards .card .result-accept.is-accepted{background:#e2efff;color:#164f90;border-color:#9cc6ed}
.cards .card .result-accept:hover{background:#e7f1ff}
.note-ref{width:18px;min-height:18px;height:18px;padding:0;margin-left:3px;font-size:11px;line-height:1;vertical-align:super;position:relative;top:-.35em}
@media(max-width:780px){.cards .card{min-height:132px}.cards .card strong{font-size:20px}}

.cost-summary .card .result-accept{position:absolute;top:12px;right:12px;margin:0;padding:7px 12px;background:#fff;color:#122c46;border-color:#9cc6ed;font-size:13px}
.cost-summary .card .result-accept.is-accepted{background:#e2efff;color:#164f90}

/* Hinweissymbol bei KG-Direkteingaben rechts oben neben dem Eingabefeld. */
.kg-inline label:has(> .note-ref){position:relative;padding-right:28px}
.kg-inline label > .note-ref{position:absolute;top:-2px;right:0;margin:0;width:22px;min-height:22px;height:22px;font-size:13px;line-height:1;vertical-align:middle}

/* Erläuterungen gut lesbar in der Ecke des Ergebnisfelds. */
.cards .card strong .note-ref{position:absolute;top:auto;right:12px;bottom:12px;margin:0;width:22px;min-height:22px;height:22px;font-size:13px;line-height:1;vertical-align:middle;background:#e5f0ff;color:#18558f;border-color:#246bb4}

/* Startseite: bewusstes Zurücksetzen des aktuellen Projekts. */
#homeResetProject{margin-top:10px;border-color:#b9cbd8;color:#18324b}
.project-class-cards .card.primary .result-accept,.project-class-cards .card.primary .result-accept.is-accepted{background:#fff;color:#122c46;border-color:#9cc6ed}

/* PDF-Aktion auf die Oberkante der Ergebnisfelder setzen. */
#feeCards.sheet-results-with-pdf{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:14px;align-items:start}
#feeCards.sheet-results-with-pdf > .cards{grid-column:1;grid-row:1;margin-top:0;min-width:0}
#feeCards.sheet-results-with-pdf > .sheet-pdf-button{grid-column:2;grid-row:1;margin:0}
.cards.cost-summary.sheet-results-with-pdf{grid-template-columns:repeat(3,minmax(0,1fr)) 38px;align-items:start}
.cards.cost-summary.sheet-results-with-pdf > .sheet-pdf-button{order:4;grid-column:4;grid-row:1;margin:0}
@media(max-width:780px){.cards.cost-summary.sheet-results-with-pdf{grid-template-columns:repeat(3,minmax(150px,1fr)) 38px}}

.sheet-panel-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:14px;align-items:start;margin:18px 0}
.sheet-panel-row > .panel{min-width:0;margin:0}
.sheet-panel-row > .sheet-pdf-button{margin:0}

.refresh-page{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:7px;border:1px solid #62819a;border-radius:7px;background:#122c46;color:#fff;cursor:pointer}
.refresh-page:hover,.refresh-page:focus-visible{background:#244761}
.refresh-page svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:780px){.refresh-page{width:32px;height:32px;padding:5px}}
/* Die Seitenaktualisierung gehört nur zur Startseite. */
body.tool-active .refresh-page{display:none}
/* Verwaltungszugang im oberen Seitenbereich nur auf der Startseite. */
body.tool-active .admin-sidebar-actions{display:none}

.aho-stage-fees{table-layout:fixed;min-width:840px}.aho-stage-fees th,.aho-stage-fees td{width:16.6667%;padding-inline:12px}.aho-stage-fees th:not(:first-child),.aho-stage-fees td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}

/* Hinweissymbole unmittelbar hochgestellt an der erläuterten Bezeichnung. */
.note-ref,.kg-inline label > .note-ref,.cards .card strong .note-ref{position:relative;top:-.35em;right:auto;bottom:auto;display:inline-grid;width:18px;min-height:18px;height:18px;padding:0;margin:0 0 0 3px;font-size:11px;line-height:1;vertical-align:super}
.cards .card .label{display:inline-block}
.kg-inline label:has(> .note-ref){padding-right:0}

/* Das Ausrufezeichen bleibt an der Beschriftung, auch wenn das Label ein Grid ist. */
.note-label-text{display:inline;line-height:1.4}
.note-label-text .note-ref,.cards .card .label .note-ref{
 position:relative;top:-.65em;right:auto;bottom:auto;
 display:inline-grid;width:18px;min-height:18px;height:18px;
 margin:0 0 0 3px;padding:0;vertical-align:baseline;
 font-size:11px;line-height:1;
}
.kg-inline label:has(> .note-label-text){padding-right:0}

/* Installation auf dem Handy: Anleitung nur in der Browseransicht. */
.install-guide{display:none}
@media(max-width:780px){.install-guide{display:block;margin-top:12px}.install-guide summary{cursor:pointer;font-weight:700;color:#122c46}.install-guide p{font-size:14px;line-height:1.5;margin:10px 0 0}}
@media(max-width:780px) and (display-mode:standalone){.install-guide{display:none}}

/* Paragrafenhinweis direkt neben dem Titel der anrechenbaren Kosten. */
.cards .card .label .law-ref{display:inline-flex;align-items:center;justify-content:center;position:static;top:auto;right:auto;bottom:auto;width:auto;height:auto;min-height:22px;margin:0 0 0 7px;padding:2px 7px;border-radius:5px;font-size:12px;font-weight:700;line-height:1.2;vertical-align:middle;white-space:nowrap;color:#18558f;background:#e5f0ff;border:1px solid #9fc7ea}
.note-popover a:not([hidden]){display:inline-block;margin:8px 0;color:#175da7;font-weight:650}

.admin-activity{border-color:#9bbbd1;background:#f4f9fc}.activity-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.activity-head h2{margin:0}.activity-signal{border-radius:999px;background:#b73b32;color:white;padding:3px 9px;font-size:13px;font-weight:700}.activity-number{margin:12px 0 4px;color:#183a52}.activity-number strong{font-size:2rem;line-height:1}.admin-activity button{margin:6px 8px 0 0}#activitySummary{font-size:14px;color:#425c6e}

.hoai-fee-title{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 18px}.hoai-fee-title h1{margin-bottom:0}.fee-law-label{display:inline-flex;align-items:center;gap:6px;color:#34566d;font-size:14px;font-weight:600}.fee-law-label .law-ref{font-size:14px}@media(max-width:750px){.hoai-fee-title{align-items:flex-start;flex-direction:column}}
.hoai-fee-title .fee-law-label .law-ref{position:static;top:auto;display:inline-flex;width:auto;height:auto;min-height:24px;margin:0;padding:3px 8px;border-radius:5px;font-size:13px;line-height:1.2;white-space:normal;text-align:left;vertical-align:middle}

/* Vorbereiteter Fördermittelbereich: Navigation ohne Projekt- oder PDF-Aktionen. */
header .modules select#moduleSelect{width:auto;max-width:min(210px,42vw)}
body.fomi-active header .active-project,body.fomi-active header #headerRenameProject,body.fomi-active header .project-action-grid,body.fomi-active .project-banner{display:none}
.fomi-view{max-width:980px}
.fomi-placeholder{min-height:170px;display:flex;align-items:center;color:#506b7e}
.fomi-placeholder p{margin:0}
@media(max-width:780px){header .modules select#moduleSelect{max-width:40vw}.fomi-placeholder{min-height:120px}}

/* Neues Logo: oben nur das weiße Symbol, auf Start die vollständige Wortmarke. */
header .brand{width:78px;aspect-ratio:220/130;background:transparent;overflow:visible;border-radius:0}
header .brand img{position:static;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;filter:none}
.home-logo{position:relative;overflow:hidden;width:min(100%,900px);aspect-ratio:2.6;background:white;margin:-12px auto 16px}
.home-logo img{position:absolute;width:115%;max-width:none;height:auto;left:-7.5%;top:-28%}
@media(max-width:780px){header .brand{width:58px}.home-logo{margin:0 auto 12px}}
@media(max-width:480px){header .brand{width:48px}}

/* Das Markenzeichen auf der Startseite ohne Wortmarke oder Domain. */
.home-logo{display:flex;align-items:center;justify-content:center;width:216px;aspect-ratio:220/130;overflow:hidden;margin:0 0 20px;border-radius:12px;background:#122c46}
.home-logo img{position:static;display:block;width:92%;max-width:92%;height:auto;object-fit:contain}
@media(max-width:480px){.home-logo{width:175px;margin-bottom:16px}}

/* Symbol aus der gelieferten Bilddatei; der Schriftzug bleibt außerhalb des Ausschnitts. */
header .brand{position:relative;flex:0 0 auto;width:100px;height:58px;aspect-ratio:auto;overflow:hidden;background:#122c46;border-radius:0;isolation:isolate}
header .brand img{position:absolute;left:-18%;top:-42%;width:244%;height:auto;max-width:none;max-height:none;object-fit:initial;filter:grayscale(1) invert(1) brightness(4) contrast(1.3);mix-blend-mode:screen}
@media(max-width:780px){header .brand{width:76px;height:44px}}
@media(max-width:480px){header .brand{width:66px;height:38px}}
/* Kompakte obere Leiste mit unveränderter Logogröße. */
header{min-height:74px;padding:8px 18px}
@media(max-width:780px){header{min-height:58px;padding:7px 10px}}
.welcome .welcome-tagline{font-size:22px;font-weight:700;line-height:1.3;color:#185ca8;margin:4px 0 20px}
.home-section .home-section-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.home-project-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}
.home-project-fields label{display:grid;gap:7px;font-weight:600}
.home-project-fields input,.home-project-fields textarea{font-weight:400}
.home-project-fields textarea{font:inherit;padding:10px;border:1px solid #bdccd9;border-radius:5px;min-height:100px;width:100%}
.home-project-fields label:last-child{grid-column:1/-1}
.activity-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.activity-stats .activity-number{display:grid;gap:5px;margin:12px 0 4px}
.activity-stats .activity-number span{font-size:13px}
@media(max-width:640px){.home-project-fields{grid-template-columns:1fr}}
.workflow #backView,.workflow #homeButton{flex:none;display:grid;place-items:center;min-height:34px;padding:6px 10px;background:#fff;color:#163c55;border:1px solid #9eb8c7;font-weight:700;white-space:nowrap}
.workflow #backView{width:36px;padding:0;font-size:23px;line-height:1}
.workflow #backView:disabled{opacity:.45}
.workflow #homeButton:hover,.workflow #backView:hover:not(:disabled){background:#e7f1ff}
body:not(.tool-active) .workflow #homeButton{display:none}
.workflow .modules{display:flex;flex:none;margin-left:auto}
.workflow .modules select{width:min(170px,27vw);min-height:34px;padding:5px 8px;font-size:13px}
.home-welcome{position:relative;isolation:isolate;overflow:hidden;min-height:400px}
.home-welcome::before{content:"";position:absolute;inset:0;background:url('smart-bpm-watermark.png') center center/cover no-repeat;opacity:.11;pointer-events:none;z-index:0}
.home-welcome>*{position:relative;z-index:1}
.planning-image{display:block;width:100%;height:clamp(180px,25vw,300px);object-fit:cover;border-radius:9px;margin-bottom:20px}
.planning-tagline{font-size:24px;font-weight:700;color:#185ca8;line-height:1.3;margin:0 0 12px}
.home-project-management{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:24px 0;padding:18px 0;border-top:1px solid #d8e1e9;border-bottom:1px solid #d8e1e9}
.home-project-management label{display:grid;gap:6px;min-width:min(100%,230px)}
.home-project-management button{min-height:40px}
.workflow nav{overflow:visible}
.home-nav-item{position:relative}
.home-menu{display:none;position:absolute;left:0;top:100%;min-width:220px;max-height:min(70vh,440px);overflow-y:auto;padding:6px;background:#fff;border:1px solid #b9cbd9;border-radius:0 0 9px 9px;box-shadow:0 12px 24px #071e3460;z-index:80}
.home-nav-item.menu-open .home-menu{display:grid;gap:3px}
.home-menu button{display:block;width:100%;text-align:left;white-space:nowrap;background:#fff;color:#122c46;border:0;border-radius:5px;padding:9px 12px}
.home-menu button:hover,.home-menu button:focus-visible{background:#e7f1ff}
.home-menu button:disabled{opacity:.45}
@media(max-width:1100px){.workflow nav{overflow-x:auto}.home-menu{position:fixed;left:12px;top:calc(var(--header-height,64px) + var(--workflow-height,44px));width:min(340px,calc(100vw - 24px))}}
/* Die Werkzeugwahl erfolgt über die Untermenüs der Bereichsnavigation. */
.workflow .modules{display:none}
/* Die Planungsansicht nutzt den freien Bildschirm zwischen Navigation und Fußleiste. */
@media(min-width:781px){
 body:has(.planning-home){padding-bottom:0;overflow:hidden}
 .workspace:has(.planning-home){height:calc(100dvh - var(--header-height,98px) - var(--workflow-height,44px) - var(--footer-height,70px));min-height:0}
 main:has(.planning-home){max-width:none;width:100%;height:100%;margin:0;padding:0}
 .planning-home{display:flex;flex-direction:column;width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:16px 24px;border:0;border-radius:0}
 .planning-home .planning-image{flex:1;min-height:0;height:auto;margin:0 0 12px;object-fit:cover}
 .planning-home .planning-tagline{margin:0 0 4px}
 .planning-home p{margin:4px 0}
 .planning-home .home-section-actions{margin-top:8px}
}
@media(max-width:780px){.workflow #backView{width:34px}.workflow #homeButton{padding:6px 8px}.workflow .modules select{width:min(120px,30vw)}main:has(.planning-home){max-width:none;margin:0}.planning-home{max-width:none;padding:16px}.planning-image{margin-bottom:12px}}
/* Startseite im mittleren Bereich ohne die alten Außenabstände. */
@media(min-width:781px){
 body:has(.home-welcome){padding-bottom:calc(var(--footer-height,70px) + 16px);overflow-y:auto}
 .workspace:has(.home-welcome){height:auto;min-height:calc(100dvh - var(--header-height,98px) - var(--workflow-height,44px) - var(--footer-height,70px))}
 main:has(.home-welcome){height:auto;max-width:none;margin:0;padding:0}
 main:has(.home-welcome) #content{height:auto}
 .home-welcome{width:100%;max-width:none;height:auto;min-height:0;margin:0;padding:clamp(22px,3vw,46px);border:0;border-radius:0;overflow:visible}
}
@media(max-width:780px){main:has(.home-welcome){max-width:none;margin:0}.home-welcome{max-width:none;margin:0;padding:20px}}
/* Die Auswahl liegt lesbar und klickbar direkt auf dem vereinfachten Motiv. */
.planning-visual{position:relative;flex:1;min-height:250px;overflow:hidden;border-radius:9px;margin-bottom:12px}
.planning-visual .planning-image{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;object-fit:cover}
.planning-tool-choices{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);display:flex;gap:16px;justify-content:center;width:min(700px,90%);z-index:1}
.planning-tool-choices button{display:grid;gap:4px;min-width:0;flex:1;padding:15px 22px;text-align:left;background:#fffffff0;border:1px solid #a9c7d0;border-radius:10px;box-shadow:0 5px 18px #122c4638;color:#122c46}
.planning-tool-choices button:hover,.planning-tool-choices button:focus-visible{background:#e5f0ff;border-color:#2b78c8}
.planning-tool-choices strong{font-size:22px;color:#16599e}
.planning-tool-choices span{font-size:14px}
@media(max-width:780px){.planning-visual{height:clamp(290px,60vw,450px);min-height:290px;flex:none}.planning-tool-choices{gap:8px;width:96%;bottom:10px}.planning-tool-choices button{padding:10px}.planning-tool-choices strong{font-size:18px}.planning-tool-choices span{font-size:12px}}
/* Bereichsrechte bleiben in der Benutzerliste kompakt und aufklappbar. */
#accessDialog{width:min(1250px,96vw)}
.access-grants summary{white-space:nowrap}
.access-grant-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:7px 14px;padding:12px;min-width:370px;background:#f4f8fa;border:1px solid #d2e0e7;border-radius:7px}
.access-grant-grid label{display:flex;align-items:center;gap:7px;font-size:13px}
.access-grant-grid input{flex:none;width:18px;min-height:18px;height:18px}
.home-menu:has(.home-submenu){overflow:visible}
.home-submenu-parent{position:relative}
.home-submenu{display:none;position:absolute;left:100%;top:-6px;min-width:220px;max-height:70vh;overflow-y:auto;padding:6px;background:#fff;border:1px solid #b9cbd9;border-radius:7px;box-shadow:0 12px 24px #071e3460}
.home-submenu-parent:hover>.home-submenu,.home-submenu-parent:focus-within>.home-submenu,.home-submenu-parent.open>.home-submenu{display:grid;gap:3px}
.home-submenu:has(.home-submenu){overflow:visible;max-height:none;min-width:250px}
.planning-menu .home-submenu .home-submenu{min-width:340px}
.planning-menu .home-submenu button{white-space:normal}
@media(max-width:1100px){.home-menu:has(.home-submenu){max-height:min(70vh,520px);overflow-y:auto}.home-submenu{position:static;box-shadow:none;min-width:0;max-height:none;border:0;border-left:2px solid #b9cbd9;margin-left:9px;padding:0 0 0 8px}}
@media(max-width:1100px){.home-submenu:has(.home-submenu),.planning-menu .home-submenu .home-submenu{min-width:0}}
/* Drei eigenständige Terminpläne mit Monatskalender, Eingaben und Balkendiagramm. */
.schedule-view{max-width:1500px;margin:auto}
.schedule-head,.schedule-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.schedule-head{margin-bottom:14px}.schedule-head h1{margin:0}.schedule-head .eyebrow{margin:0 0 3px}
.schedule-layout{display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(360px,1fr);gap:16px}
.schedule-layout .panel{margin:0;min-width:0}
.schedule-section-head{margin-bottom:15px}.schedule-section-head h2{margin:0}.schedule-section-head>div{display:flex;align-items:center;gap:8px}.schedule-section-head button{padding:6px 11px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-grid>b{text-align:center;padding:7px 0;color:#527187;font-size:12px}
.calendar-day{min-height:78px;padding:5px;background:#f6f9fb;border:1px solid #e0e8ee;border-radius:5px;overflow:hidden}.calendar-day.outside{background:transparent;border:0}
.calendar-day time{display:block;font-weight:700;font-size:13px}.calendar-day.has-events{background:#e5f0ff;border-color:#a9d0f4}.calendar-day span{display:block;margin-top:3px;padding:2px 4px;border-radius:3px;background:#185ca8;color:#fff;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day small{font-size:10px}
.schedule-row{display:grid;grid-template-columns:minmax(120px,1.5fr) repeat(2,minmax(125px,1fr)) 78px auto;gap:6px;align-items:end;margin-bottom:10px;border-bottom:1px solid #e0e8ee;padding-bottom:10px}.schedule-row label{font-size:12px;font-weight:600;min-width:0}.schedule-row input{margin-top:4px;font-size:13px;min-width:0}.schedule-row button{padding:9px;font-size:12px}
.schedule-chart{margin-top:16px}.gantt-row{display:grid;grid-template-columns:minmax(145px,220px) minmax(0,1fr) 55px;gap:12px;align-items:center;margin:9px 0;font-size:13px}.gantt-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-track{height:24px;position:relative;background:repeating-linear-gradient(to right,#eaf0f4 0,#eaf0f4 calc(12.5% - 1px),#cddce5 calc(12.5% - 1px),#cddce5 12.5%);border-radius:5px}.gantt-bar{position:absolute;top:3px;bottom:3px;background:#80b4e8;border-radius:4px;overflow:hidden}.gantt-bar i{display:block;height:100%;background:#185ca8}.gantt-row small{text-align:right}
@media(max-width:1050px){.schedule-layout{grid-template-columns:1fr}.schedule-row{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-row label:first-child{grid-column:1/-1}}
@media(max-width:600px){.schedule-view{margin:0}.calendar-day{min-height:58px;padding:3px}.calendar-day span{font-size:9px}.schedule-head{align-items:flex-start}.gantt-row{grid-template-columns:90px minmax(0,1fr) 36px;gap:5px;font-size:11px}}
/* Kostenstände sind eigenständig und ändern die Honorar-Kostenbasis nicht. */
.cost-stage-view{max-width:1500px;margin:auto}.cost-stage-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.cost-stage-head h1{margin:0}.cost-stage-head .eyebrow{margin:0 0 4px}.cost-stage-total{margin:18px 0;display:flex;justify-content:space-between;align-items:center}.cost-stage-total strong{font-size:26px;margin:0;color:#175da7}.cost-stage-table th:nth-child(2),.cost-stage-table td:nth-child(2){width:230px;text-align:right}.cost-stage-table input{max-width:none;text-align:right}.cost-stage-table td:first-child input{text-align:left}.cost-stage-table tfoot th,.cost-stage-table tfoot td{background:#edf4ff;font-weight:700}
/* Kalender und Chart bilden links eine schmale Spalte; die Vorgänge nutzen rechts die Breite. */
.schedule-view{max-width:none}.schedule-layout{grid-template-columns:minmax(295px,0.68fr) minmax(560px,1.32fr);grid-template-areas:"calendar editor" "chart editor";align-items:start}.schedule-calendar{grid-area:calendar}.schedule-editor{grid-area:editor}.schedule-chart{grid-area:chart;margin-top:0}.schedule-calendar,.schedule-chart{padding:16px}.schedule-calendar .schedule-section-head{flex-wrap:wrap}.schedule-calendar .schedule-section-head>div{width:100%;justify-content:space-between;font-size:13px}.schedule-calendar .calendar-day{min-height:50px;padding:3px}.schedule-calendar .calendar-day span{font-size:10px}.schedule-chart .gantt-row{grid-template-columns:minmax(0,1fr) 48px;gap:4px 8px;margin:14px 0}.schedule-chart .gantt-row>span{grid-column:1/-1}.schedule-chart .gantt-track{grid-column:1;grid-row:2;height:21px}.schedule-chart .gantt-row small{grid-column:2;grid-row:2}.schedule-0 .gantt-bar{background:#246fba}.schedule-0 .gantt-bar i{background:#92c8fb}.schedule-1 .gantt-bar{background:repeating-linear-gradient(135deg,#3976b4 0 8px,#6096c9 8px 16px)}.schedule-1 .gantt-bar i{background:#123f6d}.schedule-2 .gantt-bar{background:#dc9d46;border:1px solid #ab711e}.schedule-2 .gantt-bar i{background:#725015}
@media(max-width:1050px){.schedule-layout{grid-template-columns:1fr;grid-template-areas:"calendar" "chart" "editor"}.schedule-calendar .calendar-day{min-height:58px}}
@media(max-width:600px){.cost-stage-head{align-items:start}.cost-stage-total strong{font-size:20px}.cost-stage-table th:nth-child(2),.cost-stage-table td:nth-child(2){width:140px}}
.cost-stage-table .cost-level-one{background:#eaf3f6}.cost-stage-table .cost-level-one th{font-size:14px;color:#18324b}.cost-level-one small{display:block;font-size:12px;color:#507387}.cost-level-two td:first-child{padding-left:30px}.cost-level-three td:first-child{padding-left:50px}.cost-level-three{background:#f6faff}.cost-level-three td:first-child{display:flex;gap:7px}.cost-level-three [data-cost-position=code]{width:85px;flex:none;text-align:left}.cost-add-position td{padding:3px 10px 10px 50px}.cost-add-position button{font-size:12px;padding:5px 9px}.cost-frame-row{border-left:7px solid var(--row-color)}.cost-frame-row td:first-child{display:flex;align-items:center;gap:8px}.cost-frame-row input[type=color]{width:42px;min-width:42px;height:40px;padding:2px;cursor:pointer}.cost-frame-row button,.cost-level-three button{margin-left:6px;font-size:12px}.cost-trade-add{display:flex;align-items:end;gap:8px}.cost-trade-add label{display:grid;gap:4px;min-width:270px;font-size:12px}.cost-stage-table td:first-child input[data-cost-trade=code]{max-width:85px}.tracking-table{min-width:1550px}.tracking-table th:first-child,.tracking-table td:first-child{position:sticky;left:0;z-index:1;background:#fff;min-width:190px}.tracking-table th:first-child{background:#f5f8fb}.tracking-table td{min-width:150px}.tracking-table td input{max-width:none;width:100%;text-align:right}.tracking-table td:first-child input{text-align:left}.tracking-table tfoot th,.tracking-table tfoot td{font-weight:700;background:#e8f2ff}.tracking-table tfoot th{z-index:2}
@media(max-width:780px){.cost-trade-add{flex-wrap:wrap}.cost-trade-add label{min-width:0;width:100%}.cost-level-three td:first-child{flex-wrap:wrap}.cost-stage-table .cost-level-one th{font-size:12px}}
.procurement-view{max-width:none}.procurement-view>.toolbar{margin:14px 0}.procurement-table{min-width:1970px}.procurement-table th,.procurement-table td{min-width:150px}.procurement-table th:first-child,.procurement-table td:first-child{position:sticky;left:0;z-index:1;min-width:185px;background:#fff}.procurement-table th:first-child{background:#f5f8fb}.procurement-table th:nth-child(4),.procurement-table td:nth-child(4){min-width:320px}.procurement-table select{min-width:300px}.procurement-table input[type=date]{min-width:150px}.procurement-table time{white-space:nowrap}.schedule-editor .schedule-section-head>div{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.schedule-0 .schedule-row{grid-template-columns:minmax(150px,1fr) minmax(120px,1fr) repeat(2,minmax(130px,.75fr)) 75px auto}.schedule-0 .schedule-row select{font-size:12px}
@media(max-width:1250px){.schedule-0 .schedule-row{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-0 .schedule-row label:first-child{grid-column:1/-1}}
.schedule-0 .schedule-dependencies{grid-column:1/-1;display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(145px,1fr) minmax(85px,.65fr) minmax(130px,1fr) minmax(125px,.9fr);gap:8px;padding:10px;background:#f2f7f9;border-radius:6px}.schedule-dependencies label{display:grid;gap:4px}.schedule-dependencies select,.schedule-dependencies input{width:100%;margin:0}.schedule-warning{grid-column:1/-1;color:#8b4815;background:#fff1da;padding:8px 10px;border-radius:5px;font-size:13px}.schedule-warning button{margin-left:8px}.gantt-dependency{grid-column:1/-1;color:#476e80;font-size:12px;line-height:1.35}.gantt-conflict .gantt-dependency{color:#9a4a19}.gantt-conflict .gantt-bar{outline:2px solid #cb783e}
@media(max-width:850px){.schedule-0 .schedule-dependencies{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.schedule-0 .schedule-dependencies{grid-template-columns:1fr}}
/* Bereichsbilder: Themen öffnen beim Überfahren, bei Tastaturfokus und über die Pfeiltaste. */
.area-hero .planning-tool-choices:has(>.hero-choice:only-child){width:min(380px,90%)}
.area-hero .hero-choice{position:relative;flex:1;min-width:0}
.area-hero .planning-tool-choices .hero-primary{width:100%;height:100%;padding-right:44px}
.area-hero .planning-tool-choices .hero-toggle{position:absolute;right:8px;top:8px;z-index:2;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #a9c7d0;border-radius:7px;background:#fff;color:#16599e;font-size:23px;box-shadow:none}
.area-hero .hero-dropdown{display:none;position:absolute;left:0;right:0;bottom:100%;z-index:5;max-height:min(45vh,300px);overflow-y:auto;padding:5px;background:#fff;border:1px solid #a9c7d0;border-radius:8px 8px 0 0;box-shadow:0 -8px 18px #122c4638}
.area-hero .hero-choice:hover>.hero-dropdown,.area-hero .hero-choice:focus-within>.hero-dropdown,.area-hero .hero-choice.open>.hero-dropdown{display:block}
.area-hero .planning-tool-choices .hero-dropdown button{display:block;width:100%;min-height:36px;margin:0;padding:8px 10px;border:0;border-radius:5px;background:#fff;box-shadow:none;color:#122c46;font-size:14px;line-height:1.35;text-align:left;white-space:normal}
.area-hero .planning-tool-choices .hero-dropdown button:hover,.area-hero .planning-tool-choices .hero-dropdown button:focus-visible{background:#e5f0ff;outline:2px solid #236cbb;outline-offset:-2px}
.area-hero .planning-tool-choices .hero-dropdown button:disabled{color:#8297a6;cursor:not-allowed}
.area-hero .hero-menu-label{display:block;padding:9px 10px 4px;color:#567488;font-size:12px;font-weight:700}
@media(max-width:780px){.area-hero .hero-dropdown{max-height:180px}.area-hero .planning-tool-choices .hero-primary{padding-right:42px}.area-hero .planning-tool-choices .hero-toggle{right:5px;top:5px;width:30px;height:30px}}
/* Die Bereichsbilder füllen den Arbeitsbereich; Unterthemen klappen unter den Karten auf. */
@media(min-width:781px){main:has(.area-hero) #content{height:100%;min-height:0}}
.area-hero{position:relative;isolation:isolate;overflow:hidden;padding:0!important}
.area-hero .planning-visual{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;border-radius:0;overflow:hidden}
.area-hero .planning-visual::after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#ffffffa8);pointer-events:none}
.area-hero .planning-image{object-fit:cover;object-position:center center}
.area-hero .planning-tool-choices{top:clamp(28px,12%,110px);bottom:auto;width:min(760px,92%)}
.area-hero .hero-dropdown{top:100%;bottom:auto;border-radius:0 0 8px 8px;box-shadow:0 10px 20px #122c4638}
.area-hero .planning-tagline{position:absolute;left:clamp(18px,3vw,50px);bottom:74px;z-index:2;margin:0;color:#16599e;text-shadow:0 1px 6px #fff}
.area-hero>p{position:absolute;left:clamp(18px,3vw,50px);bottom:24px;z-index:2;margin:0;padding:5px 9px;background:#ffffffbd;border-radius:5px;color:#122c46}
.area-hero:has(img[src="schedule-hero.png"]) .planning-tool-choices{width:min(1050px,94%)}
@media(max-width:780px){.area-hero{min-height:calc(100dvh - var(--header-height,70px) - var(--workflow-height,44px) - var(--footer-height,0px))}.area-hero .planning-visual{height:100%;min-height:0}.area-hero .planning-tool-choices{top:24px;bottom:auto;width:96%}.area-hero .planning-tagline{bottom:70px}.area-hero>p{bottom:18px;right:16px}.area-hero:has(img[src="schedule-hero.png"]) .planning-tool-choices{flex-wrap:wrap;width:96%}.area-hero:has(img[src="schedule-hero.png"]) .hero-choice{flex:1 1 45%}}
/* Projekt und Fachmodule */
.area-hero .planning-tool-choices:has(>.hero-choice:nth-child(4)){width:min(1100px,96%);flex-wrap:wrap;gap:8px}
.area-hero .planning-tool-choices:has(>.hero-choice:nth-child(4))>.hero-choice{flex:1 1 210px}
.area-hero .hero-subchoice{position:relative}
.area-hero .hero-subchoice>.hero-subtrigger{font-weight:600}
.area-hero .hero-submenu{display:none;position:static;min-width:0;max-height:24vh;overflow:auto;padding:5px;border:1px solid #a9c7d0;border-radius:7px;background:#fff;box-shadow:0 8px 16px #122c4638}
.area-hero .hero-subchoice:hover>.hero-submenu,.area-hero .hero-subchoice:focus-within>.hero-submenu{display:block}

.review-page{width:100%;max-width:none;min-height:calc(100dvh - 185px);padding:clamp(16px,2vw,36px)}
.review-page .section-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.review-page .review-sheet-heading,.review-sheet-title,.review-logo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.review-sheet-title h1,.review-logo-actions button{margin:0}
.review-logo-actions button{white-space:nowrap}

.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:20px 0}
.review-grid label,.review-page>label{display:grid;gap:5px}
.review-page input,.review-page select,.review-page textarea{max-width:100%}
.review-page table{width:100%;min-width:720px;border-collapse:collapse}
.review-page th,.review-page td{padding:9px;text-align:left;border-bottom:1px solid #d6e3eb}
.review-page td input,.review-page td select{width:100%;min-width:100px}
.review-results{max-width:500px;margin:20px 0;border:1px solid #d6e3eb;border-radius:10px;overflow:hidden}
.review-results>div{display:flex;justify-content:space-between;gap:18px;padding:10px 15px;border-bottom:1px solid #d6e3eb}
.review-results>div:last-child{background:#e3efff;font-weight:700;border:0}
.review-checks,.review-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}
.review-checks label{display:flex;align-items:center;gap:6px}
.review-page h2{margin-top:24px}
.project-list-page{width:100%;min-height:calc(100dvh - 185px);padding:clamp(16px,2vw,36px)}
.project-list-page .section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.project-list-page table{width:100%;min-width:760px;border-collapse:collapse}
.project-list-page th,.project-list-page td{text-align:left;padding:9px;border-bottom:1px solid #d6e3eb}
.project-list-page td input,.project-list-page td select{width:100%;min-width:115px}
.project-list-page .table-scroll{margin:20px 0}
.organization-page .table-scroll{overflow:auto;max-width:100%}
.organization-page table{min-width:1460px}
.organization-page th:first-child,.organization-page td:first-child{min-width:265px}
.organization-page th:last-child,.organization-page td:last-child{min-width:105px}
.organization-page td select{min-width:245px}
.organization-page td input{min-width:135px}
.organization-page td input[data-project-field="address"]{min-width:230px}
.organization-page .organization-order{display:flex;gap:5px;margin-bottom:6px}
.organization-page .organization-order button{min-width:34px;padding:5px 8px;font-weight:700}
.organization-page td:last-child>button{padding:6px 9px}
.psp-page{max-width:none}.psp-actions{display:flex;gap:10px;flex-wrap:wrap}.psp-workspace{display:grid;grid-template-columns:minmax(320px,38%) minmax(0,1fr);gap:22px;align-items:start}.psp-editor{max-height:75vh;overflow:auto;padding:4px}.psp-entry{background:#f7fbff;border:1px solid #cbdbe9;border-radius:10px;padding:15px;margin:0 0 12px}.psp-entry-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.psp-entry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.psp-entry-fields label{font-size:14px;font-weight:650;min-width:0}.psp-entry-fields input,.psp-entry-fields select{display:block;width:100%;margin-top:4px}.psp-wide{grid-column:1/-1}.psp-preview{min-width:0;overflow:auto;background:white;border:1px solid #cbdbe9;border-radius:12px;padding:16px}.psp-sheet{min-width:700px;background:white;color:#102f65;font-family:Arial,sans-serif;padding:15px;border:1px solid #234d91;border-radius:8px}.psp-sheet h2{margin:0;background:#0b3280;color:white;text-align:center;padding:12px;font-size:22px;border-radius:7px}.psp-subtitle{border:1px solid #0b3280;text-align:center;padding:9px;font-size:15px}.psp-chart{display:flex;gap:22px;align-items:flex-start;padding:24px 0;overflow:auto}.psp-tree{flex:1;min-width:0}.psp-tree ul,.psp-side ul{display:flex;justify-content:center;padding:25px 0 0;position:relative;list-style:none;margin:0}.psp-tree li,.psp-side li{position:relative;text-align:center;flex:1;padding:0 7px;min-width:130px}.psp-tree li:before,.psp-tree li:after{content:'';position:absolute;top:-14px;right:50%;width:50%;height:14px;border-top:2px solid #194a93}.psp-tree li:after{right:auto;left:50%;border-left:2px solid #194a93}.psp-tree li:only-child:before,.psp-tree li:only-child:after{display:none}.psp-tree li:first-child:before,.psp-tree li:last-child:after{border:0}.psp-tree li ul:before{content:'';position:absolute;top:0;left:50%;height:25px;border-left:2px solid #194a93}.psp-card{min-height:64px;border:2px solid #3385a5;border-radius:12px;overflow:hidden;color:#143154;background:#f3fbff;text-align:left;display:flex;flex-direction:column;gap:7px;padding:10px;overflow-wrap:anywhere;break-inside:avoid}.psp-card strong{font-size:15px}.psp-card small,.psp-card span{font-size:13px;line-height:1.35}.psp-tree>ul>li:nth-child(2n)>.psp-card{background:#fbe9e9;border-color:#aa5555}.psp-side{width:190px;flex:none;border-left:2px dashed #78a1d1;padding-left:14px}.psp-side h3{font-size:14px;margin:0}.psp-side ul{display:block;padding-top:10px}.psp-side li{padding:0 0 10px;min-width:0}.psp-side .psp-card{border-color:#769a41;background:#f1f7e5}.psp-legend{font-size:13px;border-top:1px solid #bdcde3;padding-top:10px}@media(max-width:1000px){.psp-workspace{grid-template-columns:1fr}.psp-editor{max-height:none}}@media(max-width:600px){.psp-entry-fields{grid-template-columns:1fr}.psp-page .section-head{align-items:flex-start;flex-direction:column}}@media print{.psp-sheet{min-width:0;border:0}.psp-chart{overflow:visible}.psp-card{print-color-adjust:exact;-webkit-print-color-adjust:exact}.psp-sheet h2{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
/* Bereichskarten bleiben auch mit langen Bezeichnungen im Bild. */
.area-hero:has(img[src="funding-hero.png"]) .planning-tool-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(760px,calc(100% - 32px));gap:10px;max-height:calc(100% - 190px);overflow-y:auto;align-content:start}
.area-hero:has(img[src="funding-hero.png"]) .hero-choice{min-width:0;width:100%}
.area-hero:has(img[src="funding-hero.png"]) .hero-primary{min-width:0;padding:12px 16px}
.area-hero:has(img[src="cost-management-hero.png"]) .planning-tool-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(1100px,calc(100% - 32px));gap:10px;max-height:calc(100% - 190px);overflow-y:auto;align-content:start}
.area-hero:has(img[src="cost-management-hero.png"]) .hero-choice{min-width:0;width:100%}
.area-hero:has(img[src="cost-management-hero.png"]) .hero-primary{min-width:0;padding:13px 16px}
.area-hero:has(img[src="cost-management-hero.png"]) .hero-choice:has(.hero-toggle) .hero-primary{padding-right:64px}
.area-hero:has(img[src="cost-management-hero.png"]) .hero-primary strong{font-size:clamp(16px,1.25vw,20px);overflow-wrap:anywhere}
@media(max-width:950px){.area-hero:has(img[src="cost-management-hero.png"]) .planning-tool-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.area-hero:has(img[src="funding-hero.png"]) .planning-tool-choices,.area-hero:has(img[src="cost-management-hero.png"]) .planning-tool-choices{grid-template-columns:1fr;top:16px;max-height:calc(100% - 130px)}.area-hero:has(img[src="funding-hero.png"]) .hero-primary,.area-hero:has(img[src="cost-management-hero.png"]) .hero-primary{padding:9px 12px}.area-hero:has(img[src="cost-management-hero.png"]) .hero-choice:has(.hero-toggle) .hero-primary{padding-right:54px}}
.expenditure-page{width:100%;min-height:calc(100dvh - 185px);padding:clamp(16px,2vw,36px)}
.expenditure-page .section-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.expenditure-page .table-scroll{margin:18px 0}
.expenditure-page table{width:100%;border-collapse:collapse}
.expenditure-page .expenditure-table{min-width:1780px}
.expenditure-page th,.expenditure-page td{padding:9px;border-bottom:1px solid #d6e3eb;text-align:left}
.expenditure-page thead th,.expenditure-page tfoot th{background:#eaf3f6}
.expenditure-page input[type=number]{width:130px}
.expenditure-page input[type=date]{min-width:145px}
.expenditure-page .funding-source-names{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-top:20px}
.expenditure-page .funding-source-names label{display:grid;gap:5px}
.expenditure-page .funding-source-names input{width:100%}
.expenditure-page .cash-controls{display:flex;align-items:end;gap:12px;margin:20px 0}
.expenditure-page .cash-controls label{display:grid;gap:5px}
.aggregate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:20px 0}
.aggregate-grid>div{display:grid;gap:8px;padding:18px;background:#eaf3f6;border-radius:9px}
.aggregate-grid strong{font-size:23px;color:#16599e}
@media(max-width:760px){.expenditure-page .funding-source-names{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:551px){.area-hero:has(img[src="cost-management-hero.png"]) .planning-tool-choices{overflow:visible;max-height:none}}
/* Fußzeile: Rechtstexte im selben Schriftbild wie die übrigen Angaben. */
.copyright .legal-links{align-items:center;gap:18px}
.copyright .legal-links button{appearance:none;border:0;background:transparent;box-shadow:none;margin:0;padding:0;color:inherit;font:inherit;line-height:inherit;cursor:pointer}
.copyright .legal-links button:hover,.copyright .legal-links button:focus-visible{text-decoration:underline;background:transparent;color:#fff;outline-offset:3px}
/* Aufträge, CPV und Kostenabweichungen. */
.cost-orders{width:100%;min-height:calc(100dvh - 185px);padding:clamp(16px,2vw,36px)}
.cost-orders .section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cost-orders .table-scroll{margin:16px 0}
.cost-orders table{min-width:1350px;width:100%;border-collapse:collapse}
.cost-orders th,.cost-orders td{padding:9px;border-bottom:1px solid #d6e3eb;text-align:left}
.cost-orders td select,.cost-orders td input{min-width:120px;width:100%}
.cost-orders td:first-child select{min-width:230px}
.cost-orders td small{display:block;margin-top:4px}
.cost-orders tfoot th{background:#e8f2ff}
.cost-stage-table:has([data-cost-trade=cpvCode]){min-width:820px}
.cost-stage-table [data-cost-trade=cpvCode]{width:130px}
.cost-stage-table [data-cost-trade=code]{width:90px}
.cost-stage-table [data-cost-trade=name]{min-width:260px;width:100%}
.cost-stage-table [data-cost-trade=costGroup]{min-width:120px;max-width:170px}
.tracking-table th:first-child,.tracking-table td:first-child{position:static;min-width:80px;width:80px;white-space:nowrap}
.tracking-table th:nth-child(2),.tracking-table td:nth-child(2){position:sticky;left:80px;z-index:1;background:#fff;min-width:190px}
.tracking-table th:nth-child(2){background:#f5f8fb}
.tracking-table tfoot th:first-child{z-index:2}
.tracking-table .tracking-overrun [data-tracking-field=current]{color:#a3292c;border-color:#c43438;font-weight:700}
.tracking-scroll{max-height:clamp(260px,calc(100dvh - var(--header-height,64px) - var(--workflow-height,44px) - 140px),720px);overflow:auto;overscroll-behavior:contain;border:1px solid #d6e3eb;border-radius:8px}
.tracking-table{border-collapse:separate;border-spacing:0}
.tracking-table thead th{position:sticky;top:0;z-index:7;min-width:150px;background:#e8f2ff;border-bottom:2px solid #729bc1;color:#143b62;font-size:16px;font-weight:800;text-align:center;vertical-align:middle;padding:9px 7px;white-space:normal}
.tracking-table thead th:first-child{min-width:80px;z-index:8}
.tracking-table thead th:nth-child(2){position:sticky;top:0;left:80px;z-index:9;background:#e8f2ff;min-width:190px}
.tracking-table thead th:last-child{min-width:115px}
.tracking-table thead th>span{display:block;line-height:1.3}
.tracking-table thead [data-tracking-filter]{display:inline-flex;align-items:center;justify-content:center;margin-top:5px;width:29px;height:27px;min-height:27px;padding:0;border-color:#8caecb;color:#17558b;line-height:1}
.tracking-table thead [data-tracking-filter] svg{display:block;flex:none}
.tracking-table thead [data-tracking-filter]:hover,.tracking-table thead [data-tracking-filter]:focus-visible{border-color:#175da7;background:#dcecff}
.tracking-table thead [data-tracking-filter].is-filtered{background:#175da7;color:white;border-color:#175da7}
.tracking-table thead [data-tracking-filter].is-filtered:hover,.tracking-table thead [data-tracking-filter].is-filtered:focus-visible{background:#124b86;color:white}
.tracking-table tbody tr[hidden]{display:none}
.tracking-filter-count{margin:0 0 8px;color:#275985;font-size:14px;font-weight:650}
.tracking-filter-count[hidden]{display:none}
.tracking-filter-menu{position:fixed;z-index:100;max-height:min(390px,calc(100dvh - 16px));overflow:auto;padding:14px;background:white;border:1px solid #8caecb;border-radius:9px;box-shadow:0 12px 32px #122c4650;color:#18324b}
.tracking-filter-menu[hidden]{display:none}
.tracking-filter-menu>label{display:grid;gap:6px;font-size:14px;font-weight:700}
.tracking-filter-menu input[type=search]{font-size:15px}
.tracking-filter-options{max-height:185px;overflow:auto;margin:10px 0;padding:4px;border:1px solid #d8e5f0;border-radius:5px}
.tracking-filter-options label{display:flex;align-items:center;gap:9px;padding:6px;font-size:14px;cursor:pointer}
.tracking-filter-options label:hover{background:#edf4ff}
.tracking-filter-options input{width:17px;height:17px;min-height:17px;flex:none}
.tracking-filter-options span{overflow-wrap:anywhere}
.tracking-filter-options p{margin:8px;font-size:14px}
.tracking-filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.tracking-filter-actions button{font-size:13px;padding:7px 5px}
#content:has(.area-hero){position:relative}
#content:has(.area-hero) .cost-comparison{position:absolute;z-index:4;left:20px;right:20px;bottom:125px;margin:0;background:#f0f8f8ed}
@media(max-width:780px){#content:has(.area-hero) .cost-comparison{bottom:115px;left:12px;right:12px;padding:8px;font-size:12px;max-height:120px;overflow:auto}.cost-comparison span{min-width:130px}}

/* Planung: klare zweispaltige Auswahl mit aufklappbaren Fachgebieten. */
.area-hero:has(img[src="planning-effort.png"]) .hero-choice:first-child>.hero-dropdown{width:min(760px,calc(100vw - 40px));right:auto;max-height:min(62vh,620px);overflow:auto;padding:14px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:12px;box-shadow:0 14px 35px #122c4640}
.area-hero:has(img[src="planning-effort.png"]) .hero-choice:first-child:hover>.hero-dropdown,.area-hero:has(img[src="planning-effort.png"]) .hero-choice:first-child:focus-within>.hero-dropdown,.area-hero:has(img[src="planning-effort.png"]) .hero-choice:first-child.open>.hero-dropdown{display:grid}
.area-hero:has(img[src="planning-effort.png"]) .hero-subchoice{min-width:0;border:1px solid #c8d8e8;border-radius:8px;background:#f6faff;overflow:hidden}
.area-hero:has(img[src="planning-effort.png"]) .hero-subchoice>.hero-subtrigger{padding:13px 15px;border:0;border-radius:0;box-shadow:none;background:transparent;color:#174f87;font-size:15px}
.area-hero:has(img[src="planning-effort.png"]) .hero-subchoice>.hero-subtrigger:hover,.area-hero:has(img[src="planning-effort.png"]) .hero-subchoice.open>.hero-subtrigger{background:#e2efff}
.area-hero:has(img[src="planning-effort.png"]) .hero-submenu{max-height:none;overflow:visible;margin:0 8px 8px;padding:4px;border:0;box-shadow:none;background:white}
.area-hero .hero-subchoice.open>.hero-submenu{display:block}
@media(max-width:640px){.area-hero:has(img[src="planning-effort.png"]) .hero-choice:first-child>.hero-dropdown{grid-template-columns:1fr;max-height:62vh;width:min(420px,calc(100vw - 26px));padding:8px}}
.expenditure-page .funding-source-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:16px 0;font-size:14px}.expenditure-page .funding-source-controls label{display:grid;gap:4px;min-width:200px}.expenditure-page .funding-source-controls input{max-width:120px}.expenditure-page .funding-source-names{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.expenditure-page .expenditure-table{min-width:1950px}.expenditure-page .expenditure-table select{min-width:190px}
.risk-register{min-height:calc(100dvh - 185px)}.risk-register table{min-width:2000px}.risk-register td{vertical-align:top}.risk-register td input,.risk-register td select,.risk-register td textarea{min-width:150px;width:100%;max-width:none;font:inherit}.risk-register td textarea{min-width:260px}.risk-register td strong{display:inline-block;min-width:36px;padding:6px;border-radius:6px;text-align:center;background:#e2efff;color:#164f90}.risk-register .risk-medium td strong{background:#fff1d6;color:#735019}.risk-register .risk-high td strong{background:#ffe5e1;color:#9b302b}
/* Planung öffnet ihre Fachgebiete ausschließlich per Klick. */
.area-hero:has(img[src="planning-effort.png"]) .hero-choice:first-child:hover>.hero-dropdown,
.area-hero:has(img[src="planning-effort.png"]) .hero-choice:first-child:focus-within>.hero-dropdown{display:none}
.area-hero:has(img[src="planning-effort.png"]) .hero-choice:first-child.open>.hero-dropdown{display:grid}
.area-hero:has(img[src="planning-effort.png"]) .hero-subchoice:hover>.hero-submenu,
.area-hero:has(img[src="planning-effort.png"]) .hero-subchoice:focus-within>.hero-submenu{display:none}
.area-hero:has(img[src="planning-effort.png"]) .hero-subchoice.open>.hero-submenu{display:block}
.cost-din-groups{display:grid;gap:10px;margin-top:14px}
.cost-din-group{margin:0;padding:0;overflow:hidden;border:1px solid #c8d8e8}
.cost-din-group summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;padding:15px 19px;background:#f4f8fd;color:#18324b;font-size:17px;list-style:none}
.cost-din-group summary::-webkit-details-marker{display:none}
.cost-din-group summary::before{content:'▸';color:#236cbb;font-size:18px}
.cost-din-group[open] summary::before{content:'▾'}
.cost-din-group summary span{flex:1}
.cost-din-group summary strong{font-size:18px;color:#185ca8;white-space:nowrap}
.cost-din-body{padding:16px 19px 19px}
.cost-din-body>label{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;font-weight:600}
.cost-din-body>label input{width:min(230px,100%)}
.cost-din-body .cost-stage-table{min-width:610px}
.cost-din-body .cost-stage-table th:nth-child(2),.cost-din-body .cost-stage-table td:nth-child(2){width:230px}
@media(max-width:650px){.cost-din-group summary{padding:12px;font-size:14px}.cost-din-group summary strong{font-size:15px}.cost-din-body{padding:12px}}
/* Die Kostenentwicklung nutzt die KG-Karten der Kostenbasis. */
.cost-stage-view .cost-frame-groups{display:grid;gap:12px;margin:16px 0}
.cost-stage-view .cost-frame-group{margin:0;padding:17px 20px}
.cost-stage-view .cost-frame-group .kg-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.cost-stage-view .cost-frame-group .kg-head h3{margin:0;font-size:17px}
.cost-stage-view .cost-frame-group .kg-head strong{color:#185ca8;font-size:18px}
.cost-stage-view .cost-frame-group label,.cost-stage-view .cost-frame-items>label{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.cost-stage-view .cost-frame-group label input,.cost-stage-view .cost-frame-items>label input{max-width:230px}
.cost-stage-view .cost-frame-items{margin-top:22px}
.cost-stage-view .cost-frame-items h3{font-size:18px}
.cost-stage-view .cost-din-groups{margin-top:16px}
@media(min-width:900px){.cost-stage-view .cost-frame-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cost-din-body>[data-cost-clear-group]{margin:0 0 14px;background:#fff;color:#185ca8;border-color:#a9c7d0}
.legacy-din-costs{margin:14px 0;padding:12px 15px;border:1px solid #d3dfec;border-radius:8px;background:#f5f8fc}
.legacy-din-costs summary{color:#244761;font-size:14px}
.legacy-din-costs p{margin:9px 0;font-size:14px}
.cost-breakdown-warning{display:block;color:#9a342b;font-size:12px;font-weight:600}
.table-horizontal-control{position:fixed;bottom:calc(var(--footer-height,70px) + 6px);z-index:42;display:flex;align-items:center;gap:9px;height:40px;padding:5px 8px;background:#fff;border:1px solid #8aacc8;border-radius:8px;box-shadow:0 3px 16px #122c4640}
.table-horizontal-control button{flex:none;min-width:30px;height:28px;padding:1px 6px;color:#154f86;background:#e8f2ff;border-color:#a9c7df}
.table-horizontal-control input[type=range]{flex:1;min-width:0;width:100%;height:24px;min-height:24px;padding:0;accent-color:#185ca8;cursor:ew-resize}
body:has(.table-horizontal-control:not([hidden])){padding-bottom:calc(var(--footer-height,70px) + 54px)}
@media(max-width:780px){.table-horizontal-control{bottom:calc(var(--footer-height,0px) + 4px)}}

.aho-copyright{margin:28px 0 6px;padding:14px 4px;border-top:1px solid #c9d9e5;color:#52697c;font-size:14px;text-align:center}
.procurement-table{min-width:2500px}.procurement-table th:nth-child(2),.procurement-table td:nth-child(2){min-width:320px}.procurement-table th:nth-child(4),.procurement-table td:nth-child(4){min-width:150px}.schedule-1 .schedule-row{grid-template-columns:minmax(150px,1fr) minmax(120px,1fr) repeat(2,minmax(130px,.75fr)) 75px auto}.schedule-1 .schedule-row select{font-size:12px}
@media(max-width:1250px){.schedule-1 .schedule-row{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-1 .schedule-row label:first-child{grid-column:1/-1}}
.cost-stage-table .trade-sequence{width:64px;text-align:center;font-variant-numeric:tabular-nums;font-weight:700;color:#235680}.cost-stage-table .trade-actions{white-space:nowrap}.cost-stage-table .trade-actions button{margin-right:4px}.cost-stage-table .trade-actions button[data-cost-move]{min-width:36px;padding:9px;font-weight:700}.cost-stage-table:has(.trade-sequence){min-width:780px}
.workflow .home-nav-item>.home-menu-toggle{padding:7px 5px;margin-left:-5px;border:0;background:transparent;color:#23465e;font-size:15px}.workflow .home-nav-item>.home-menu-toggle:hover{color:#185ca8}.home-nav-item.menu-open .home-menu{display:grid;gap:3px}.home-nav-item .home-menu{position:fixed;top:calc(var(--header-height,64px) + var(--workflow-height,44px));left:var(--menu-left,12px);width:max-content;max-width:min(340px,calc(100vw - 24px));max-height:min(70vh,600px);overflow:auto}.home-menu button{white-space:normal;line-height:1.35}
.procurement-table th:nth-child(2),.procurement-table td:nth-child(2){min-width:170px}.procurement-table th:nth-child(3),.procurement-table td:nth-child(3){min-width:320px}
.home-welcome::before{display:none}.home-welcome{display:block}.home-landing{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:clamp(20px,3vw,44px);max-width:1800px;margin:auto}.home-landing-copy{align-self:center;padding:clamp(4px,1.4vw,20px)}.home-landing-copy h1{font-size:clamp(38px,4vw,64px);margin:0 0 8px}.home-landing-copy p{max-width:62ch;font-size:clamp(17px,1.3vw,21px);line-height:1.55}.home-landing-copy .welcome-tagline{font-size:clamp(22px,2vw,30px);margin:0 0 22px}.home-landing-copy .home-login-status{font-size:14px;color:#506d85;margin-top:24px}.home-overview-image{width:100%;height:clamp(270px,46vh,620px);object-fit:cover;object-position:center;border-radius:13px}.home-contact-layout{max-width:1800px;margin:clamp(22px,3vw,44px) auto 0}.home-contact-form{max-width:850px;padding:clamp(22px,2.2vw,36px);border:1px solid #d6e3ec;background:#fff;border-radius:12px;box-shadow:0 12px 35px #1439580b}.home-contact-form h2{margin:0 0 8px;font-size:24px}.home-contact-form>p{margin:0 0 18px}.home-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-contact-fields label{display:grid;gap:7px;font-size:14px;font-weight:600}.home-contact-fields .contact-message{grid-column:1/-1}.home-contact-fields textarea{width:100%;min-height:130px;padding:12px;border:1px solid #bdccd9;border-radius:5px;font:inherit;resize:vertical;color:#18324b}.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.contact-form-actions button{background:#185ca8;color:#fff;border-color:#185ca8;font-weight:700}.contact-form-actions button:hover{background:#0e477f}.contact-form-actions [role=status]{font-size:14px;max-width:55ch}.home-contact-inbox{max-width:1100px;margin:28px auto 0}.contact-inbox-item{padding:18px;margin:12px 0;background:#fff;border:1px solid #d6e3ec;border-radius:9px}.contact-inbox-item.contact-unread{border-left:4px solid #185ca8}.contact-inbox-item>div:first-child{display:flex;justify-content:space-between;gap:12px}.contact-inbox-item small{color:#60778b}.contact-message-text{white-space:pre-wrap;overflow-wrap:anywhere}.contact-inbox-actions{display:flex;align-items:center;gap:10px;font-size:13px}.admin-contacts{margin:0 0 14px}.admin-contacts h2{margin-bottom:7px}.admin-contacts p{margin:0 0 12px}.admin-contacts button{width:100%}
@media(max-width:900px){.home-landing{grid-template-columns:1fr}.home-landing-copy{padding:0}.home-overview-image{height:clamp(230px,35vh,420px)}.home-contact-form{max-width:none}}@media(max-width:540px){.home-contact-fields{grid-template-columns:1fr}.home-contact-fields .contact-message{grid-column:auto}.home-landing-copy p{font-size:16px}.home-contact-form{padding:19px}.contact-inbox-item>div:first-child{display:block}}
.admin-backup{margin:0 0 14px}.admin-backup h2{margin-bottom:10px}.admin-backup button{width:100%}.admin-backup .trace{margin:10px 0 0;line-height:1.4}.home-landing-copy h1{line-height:1.05;overflow-wrap:anywhere}
.home-menu .cost-stages-menu>button{display:flex;align-items:center;justify-content:space-between;gap:18px;font-weight:650}
.home-menu .cost-stages-menu>button span{transition:transform .15s ease}
.home-menu .cost-stages-menu.open>button span{transform:rotate(180deg)}
.home-menu .cost-stages-menu>.home-submenu{position:static;display:none;width:100%;min-width:0;max-height:280px;overflow-y:auto;margin:2px 0 6px 7px;padding:3px 0 3px 9px;border:0;border-left:2px solid #8caecb;border-radius:0;box-shadow:none;background:#fff}
.home-menu .cost-stages-menu.open>.home-submenu{display:grid;gap:2px}
.home-menu .cost-stages-menu>.home-submenu button{font-size:14px;padding:8px 10px}
.tracking-filter-menu{display:grid;gap:8px;max-height:min(480px,calc(100dvh - 16px));padding:16px;border-color:#b0c6d9;border-radius:12px;box-shadow:0 18px 42px #102b4640}
.tracking-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#173d61;font-size:16px}
.tracking-filter-heading [data-filter-close]{width:29px;min-height:29px;padding:0;border:0;background:transparent;color:#496982;font-size:24px;line-height:1}
.tracking-filter-menu>label{gap:5px}
.tracking-filter-menu input[type=search]{width:100%;min-height:38px;padding:8px 10px}
.tracking-filter-selection{margin:0;color:#45627a;font-size:13px}
.tracking-filter-options{max-height:170px;margin:0;padding:4px;border-color:#d8e5f0;border-radius:7px}
.tracking-filter-options label{border-radius:5px}
.tracking-filter-actions{gap:7px}
.tracking-filter-actions button{min-height:34px;padding:7px;font-size:13px;white-space:normal}
.tracking-filter-menu>.tracking-filter-done{width:100%;min-height:36px;background:#175da7;color:#fff;border-color:#175da7;font-weight:650}
.cost-tracking .tracking-table thead th:first-child,.cost-tracking .tracking-table tbody td:first-child{position:sticky;left:0;z-index:3;background:#fff}
.cost-tracking .tracking-table thead th:first-child{z-index:10;background:#e8f2ff}
.cost-tracking .tracking-table thead th:nth-child(2),.cost-tracking .tracking-table tbody td:nth-child(2){position:sticky;left:80px;z-index:3;background:#fff}
.cost-tracking .tracking-table thead th:nth-child(2){z-index:10;background:#e8f2ff}
.cost-trades-table{min-width:940px}
.cost-trades-table th:first-child,.cost-trades-table td:first-child{position:sticky;left:0;z-index:3;min-width:70px;width:70px;background:#fff}
.cost-trades-table th:nth-child(2),.cost-trades-table td:nth-child(2){position:sticky;left:70px;z-index:3;min-width:155px;background:#fff}
.cost-trades-table thead th:first-child,.cost-trades-table thead th:nth-child(2){z-index:10;background:#e8f2ff}
.cost-trades-table td:nth-child(3){min-width:270px}
.cost-trades-table td:nth-child(4){min-width:170px}
.cost-trades-table .trade-actions{min-width:230px}
.procurement-view .tracking-scroll{max-height:clamp(300px,calc(100dvh - var(--header-height,64px) - var(--workflow-height,44px) - 170px),720px)}
.procurement-table.tracking-table thead th{font-size:16px;font-weight:800;text-align:center;vertical-align:middle}
.procurement-table.tracking-table th:first-child,.procurement-table.tracking-table td:first-child{position:sticky;left:0;min-width:185px;z-index:3;background:#fff}
.procurement-table.tracking-table th:nth-child(2),.procurement-table.tracking-table td:nth-child(2){position:sticky;left:185px;min-width:170px;z-index:3;background:#fff}
.procurement-table.tracking-table thead th:first-child,.procurement-table.tracking-table thead th:nth-child(2){z-index:10;background:#e8f2ff}
.procurement-table.tracking-table th:nth-child(3),.procurement-table.tracking-table td:nth-child(3){min-width:320px}
body.management-wide main{max-width:none;width:100%;margin:0;padding:clamp(12px,1.6vw,28px)}
body.management-wide .cost-stage-view,body.management-wide .schedule-view,body.management-wide .procurement-view{max-width:none;width:100%;margin:0}
body.management-wide .tracking-scroll{max-height:none;overflow:auto}
body.management-wide .panel{max-width:none}
@media(min-width:781px){.home-landing-copy h1{font-size:clamp(28px,2.6vw,44px);line-height:1.12}}
.home-landing-copy{container-type:inline-size}
.home-landing-copy h1{font-size:clamp(17px,6.35cqw,44px);line-height:1.12;white-space:nowrap;overflow-wrap:normal;word-break:normal;letter-spacing:-.025em}
.home-landing-copy .welcome-tagline{font-size:clamp(14px,4cqw,28px);line-height:1.3}
/* Gemeinsame Tabellenstruktur in Kosten, Terminen und Risiken. */
.management-table .sequence-col{box-sizing:border-box;min-width:58px!important;width:58px!important;max-width:58px!important;padding:8px 4px!important;text-align:center!important;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700;color:#235680}
.management-table th.sequence-col{font-size:13px!important;line-height:1.15;white-space:normal}
.management-table .remarks-col{min-width:220px;width:260px;vertical-align:top}
.management-table .remarks-col textarea{box-sizing:border-box;display:block;width:100%;min-width:180px;min-height:52px;padding:8px;border:1px solid #bdccda;border-radius:6px;background:#fff;color:#18324b;font:inherit;resize:vertical}
.management-table .remarks-col textarea:focus{outline:2px solid #377fc0;outline-offset:1px}
.cost-trades-table th:nth-child(2),.cost-trades-table td:nth-child(2){left:58px}
.cost-tracking .management-table thead th:nth-child(2),.cost-tracking .management-table tbody td:nth-child(2){left:58px;min-width:80px}
.cost-tracking .management-table thead th:nth-child(3),.cost-tracking .management-table tbody td:nth-child(3){position:sticky;left:138px;z-index:3;background:#fff;min-width:200px}
.cost-tracking .management-table thead th:nth-child(3){z-index:10;background:#e8f2ff}
.procurement-table.management-table th:first-child,.procurement-table.management-table td:first-child{min-width:58px;width:58px}
.procurement-table.management-table th:nth-child(2),.procurement-table.management-table td:nth-child(2){left:58px;min-width:185px;width:185px}
.procurement-table.management-table th:nth-child(3),.procurement-table.management-table td:nth-child(3){position:sticky;left:243px;min-width:170px;width:170px;z-index:3;background:#fff}
.procurement-table.management-table thead th:nth-child(3){z-index:10;background:#e8f2ff}
.procurement-table.management-table th:nth-child(4),.procurement-table.management-table td:nth-child(4){min-width:320px}
/* Tabellen bleiben per Mausrad bis an die Kopfzeile scrollbar. */
.table-scroll,.table-wrap{max-height:max(260px,calc(100dvh - var(--header-height,64px) - var(--workflow-height,44px) - 28px));overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:8px}
.table-scroll table,.table-wrap table{border-collapse:separate;border-spacing:0}
.table-scroll thead th,.table-wrap thead th{position:sticky;top:0;z-index:5;background:#e8f2ff;box-shadow:inset 0 -2px #729bc1}
body.management-wide .tracking-scroll{max-height:max(260px,calc(100dvh - var(--header-height,64px) - var(--workflow-height,44px) - 28px))}
/* Nummer, KG und Gewerk bleiben beim horizontalen Verschieben sichtbar. */
.cost-trades-table.management-table th:nth-child(2),.cost-trades-table.management-table td:nth-child(2){box-sizing:border-box;min-width:155px;width:155px;max-width:155px;left:58px}
.cost-trades-table.management-table thead th:nth-child(3),.cost-trades-table.management-table tbody td:nth-child(3){position:sticky;left:213px;z-index:6;background:#fff}
.cost-trades-table.management-table thead th:nth-child(-n+3){z-index:12;background:#e8f2ff}
.cost-trades-table.management-table tbody td:nth-child(-n+2){z-index:6}
.cost-tracking .management-table thead th:nth-child(-n+3){z-index:12;background:#e8f2ff}
.procurement-table.management-table thead th:nth-child(-n+3){z-index:12;background:#e8f2ff}
.cost-orders .management-orders-table thead th:nth-child(2),.cost-orders .management-orders-table tbody td:nth-child(2){position:sticky;left:58px;z-index:6;min-width:260px;background:#fff}
.cost-orders .management-orders-table thead th:nth-child(2){z-index:12;background:#e8f2ff}
.cost-orders .management-table thead th:first-child{position:sticky;left:0;z-index:12;background:#e8f2ff}
.cost-orders .management-table tbody td:first-child{position:sticky;left:0;z-index:6;background:#fff}
/* Mausrad: erst die Tabelle bis unter die Navigation bringen, dann Zeilen scrollen. */
#content .table-scroll,#content .table-wrap,#content .tracking-scroll{overscroll-behavior-y:auto}
#content .tracking-scroll{max-height:max(260px,calc(100dvh - var(--header-height,64px) - var(--workflow-height,44px) - 28px))}

/* Risikomanagement: Maßnahmen und Ampelmatrix */
.risk-measures,.risk-chart{max-width:none}
.risk-traffic-chart{display:grid;grid-template-columns:minmax(260px,400px) minmax(280px,1fr);gap:clamp(16px,3vw,40px);align-items:center;margin:20px 0;padding:clamp(14px,2vw,28px);background:#f8fbfe;border:1px solid #d6e3ec;border-radius:14px}.risk-traffic-chart svg{width:100%;max-width:400px;height:auto;display:block;margin:auto}.risk-traffic-summary .risk-overview-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.risk-traffic-summary p{color:#455f73;line-height:1.5}@media(max-width:850px){.risk-traffic-chart{grid-template-columns:1fr}.risk-traffic-chart svg{max-width:330px}}@media(max-width:600px){.risk-traffic-summary .risk-overview-counts{grid-template-columns:1fr}}
.risk-action-card{border:1px solid #d6e3ec;border-radius:12px;background:#fff;padding:clamp(16px,2vw,26px);margin:18px 0;box-shadow:0 8px 24px #1238570b}
.risk-action-head{display:flex;justify-content:space-between;align-items:start;gap:16px;border-bottom:1px solid #e1eaf1;padding-bottom:14px;margin-bottom:18px}
.risk-action-head h2{margin:9px 0 4px;font-size:21px}.risk-action-head small{color:#526b7e}
.risk-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,42px)}
.risk-action-grid h3{font-size:16px;margin:0 0 12px}.risk-action-grid label{display:grid;gap:6px;font-weight:600;font-size:14px}
.risk-action-grid textarea,.risk-action-grid input,.risk-action-grid select{width:100%;font:inherit;padding:9px;border:1px solid #b9cbd9;border-radius:6px;color:#17334c;background:#fff}
.risk-suggestion{border:1px solid #dce7f0;background:#f6faff;border-radius:8px;padding:12px;margin-bottom:10px}.risk-suggestion p{margin:0 0 10px;line-height:1.45}.risk-suggestion button{font-size:14px}
.risk-extra{margin-top:12px}.risk-extra button{margin-top:6px}.risk-action-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.risk-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 10px;font-size:13px;font-weight:700;white-space:nowrap}
.risk-pill.risk-low{background:#def3e6;color:#17623b}.risk-pill.risk-medium{background:#fff1bd;color:#795500}.risk-pill.risk-high{background:#fbe1e0;color:#a02d2c}
.risk-overview-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.risk-overview-counts>div{padding:16px;border-radius:9px;display:grid;gap:5px}.risk-overview-counts strong{font-size:30px}.risk-overview-counts .risk-low,.risk-matrix-cell.risk-low{background:#def3e6;color:#17623b}.risk-overview-counts .risk-medium,.risk-matrix-cell.risk-medium{background:#fff1bd;color:#795500}.risk-overview-counts .risk-high,.risk-matrix-cell.risk-high{background:#fbe1e0;color:#a02d2c}
.risk-cycle{margin:22px 0 30px;padding:clamp(16px,2.5vw,28px);border:1px solid #d6e3ec;border-radius:14px;background:#f8fbfe}.risk-cycle h2{margin:0 0 6px}.risk-cycle p{margin:0;color:#455f73;line-height:1.5}.risk-cycle-layout{display:grid;grid-template-columns:minmax(250px,400px) minmax(250px,1fr);align-items:center;gap:clamp(16px,3vw,42px);max-width:980px;margin:14px auto 0}.risk-cycle svg{display:block;width:100%;height:auto;max-width:400px;margin:auto}.risk-cycle-legend{display:grid;gap:11px;margin:0;padding:0;list-style:none;counter-reset:none}.risk-cycle-legend li{display:flex;align-items:center;gap:12px;font-size:clamp(15px,1.25vw,18px);line-height:1.35;font-weight:600;color:#17334c}.risk-cycle-number{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;color:#fff;font-weight:700}.risk-chart>h2{margin-top:30px}
@media(max-width:700px){.risk-cycle-layout{grid-template-columns:1fr}.risk-cycle svg{max-width:330px}.risk-cycle-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.risk-cycle-legend li{font-size:14px}.risk-cycle-number{width:30px;height:30px}}
@media(max-width:440px){.risk-cycle-legend{grid-template-columns:1fr}}
.risk-matrix-scroll{overflow-x:auto;max-width:100%}.risk-matrix{min-width:480px;max-width:750px;margin:20px auto}.risk-axis-title,.risk-axis-caption{font-weight:700;text-align:center;margin:8px}.risk-matrix-row{display:grid;grid-template-columns:36px repeat(5,minmax(0,1fr));gap:5px;margin-bottom:5px}.risk-axis-label{display:grid;place-items:center;font-weight:700}.risk-matrix-cell{min-height:80px;border:1px solid #ffffff;border-radius:5px;padding:6px;display:flex;flex-direction:column;justify-content:space-between}.risk-matrix-cell small{opacity:.75}.risk-matrix-cell div{display:flex;flex-wrap:wrap;gap:4px}.risk-matrix-cell span{background:#fff;border:1px solid currentColor;border-radius:4px;padding:2px 5px;font-weight:700;font-size:12px}.risk-axis-bottom{text-align:center;font-weight:700}.risk-chart-list>div{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-bottom:1px solid #dce7f0;padding:11px 0}.risk-chart-list>div span:last-child{margin-left:auto;color:#526b7e}
@media(max-width:780px){.risk-action-grid{grid-template-columns:1fr}.risk-action-meta{grid-template-columns:1fr 1fr}.risk-overview-counts{grid-template-columns:1fr}.risk-chart-list>div span:last-child{margin-left:0}}
@media(max-width:480px){.risk-action-meta{grid-template-columns:1fr}}
/* Risikomanagement: die vier Einstiegsschaltflächen in fester Reihenfolge. */
.area-hero:has(img[src="risks-hero.png"]) .planning-tool-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));top:25px;width:min(760px,calc(100% - 32px));gap:10px;max-height:none;overflow:visible;align-content:start}
.area-hero:has(img[src="risks-hero.png"]) .hero-choice{min-width:0;width:100%}
.area-hero:has(img[src="risks-hero.png"]) .hero-primary{min-width:0;padding:12px 16px;text-align:left}
.area-hero:has(img[src="risks-hero.png"]) .hero-primary strong{font-size:clamp(16px,1.25vw,20px);overflow-wrap:anywhere}
@media(max-width:550px){.area-hero:has(img[src="risks-hero.png"]) .planning-tool-choices{grid-template-columns:1fr;top:16px}.area-hero:has(img[src="risks-hero.png"]) .hero-primary{padding:9px 12px}}
.risk-category-picker{min-width:190px;max-width:280px}
.risk-category-picker summary{cursor:pointer;padding:8px 10px;border:1px solid #b9cbd9;border-radius:6px;background:#fff;line-height:1.35;white-space:normal}
.risk-category-picker[open] summary{border-color:#185ca8}
.risk-category-options{display:grid;gap:6px;padding:10px;margin-top:6px;background:#f8fbff;border:1px solid #d5e3ef;border-radius:7px;max-height:280px;overflow-y:auto}
.risk-category-options label{display:flex;align-items:center;gap:8px;white-space:normal;font-size:13px;cursor:pointer}
.risk-category-options input[type=checkbox]{width:16px;height:16px;flex:none;accent-color:#185ca8}
.risk-category-custom{display:grid;gap:7px;margin-top:6px}.risk-category-custom input{width:100%;min-width:0}

.fomi-view{max-width:none}.funding-table{margin-bottom:1.2rem}.funding-table-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.funding-table-head h2{margin:0}.funding-table table{min-width:max-content}.funding-table th{min-width:160px;white-space:normal}.funding-table td input{min-width:160px;width:100%;box-sizing:border-box}.funding-table td:first-child,.funding-table th:first-child{min-width:45px}.funding-calculation td{font-weight:600;background:#eff7fa}@media(max-width:780px){.funding-table-head{align-items:flex-start}}
.funding-steps{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.5rem}.funding-steps button{border:1px solid #a8bdc7;border-radius:.55rem;background:#fff;padding:.6rem .8rem;font-size:.9rem;text-align:left}.funding-steps button[aria-current="step"]{background:#0c5267;color:white;border-color:#0c5267}.funding-form-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.25rem 0}.funding-form-fields label{display:grid;gap:.35rem}.funding-form-fields input{min-width:0;width:100%}.funding-form-fields small{font-size:.8rem;color:#546875}.funding-table h3{margin-top:1.4rem}
.price-risk-card{border:1px solid #b6ccd4;border-radius:.8rem;padding:1.2rem;margin:1.25rem 0;background:#f8fbfc}.price-risk-fields,.price-risk-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem;margin:1rem 0}.price-risk-points>div{display:grid;gap:.5rem;padding:.7rem;border:1px solid #d4e1e5;border-radius:.5rem}.price-risk-card label{display:grid;gap:.35rem}.price-risk-card input{width:100%;min-width:0}.price-risk-result{display:flex;flex-wrap:wrap;gap:.65rem 1.3rem;padding:.8rem;background:#e9f3f6;border-radius:.5rem}
/* Startseite: das bestehende Motiv als halbtransparentes Hintergrundbild */
.home-welcome{position:relative;isolation:isolate;background:#f7fbff}
.home-welcome::before{display:block;content:"";position:absolute;inset:0;z-index:-1;background:url("smart-bpm-overview.png") center center/cover no-repeat;opacity:.5;pointer-events:none}
.home-landing{display:block;max-width:1800px;margin:auto}
.home-landing-copy{max-width:780px;padding:clamp(20px,3vw,44px);background:rgba(255,255,255,.88);border-radius:13px;backdrop-filter:blur(4px)}
.home-landing-copy .welcome-tagline{font-size:clamp(24px,3.2vw,38px);line-height:1.25}
@media(max-width:540px){.home-landing-copy{padding:20px}.home-landing-copy .welcome-tagline{font-size:clamp(14px,5.4vw,30px)}}
.home-landing-copy{background:rgba(255,255,255,.70)}
.home-landing-copy h1{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.home-landing-copy .welcome-tagline{font-size:var(--landing-subtitle-size,28px)}
.home-contact-layout{max-width:1800px;margin-left:auto;margin-right:auto}
.home-contact-form{width:min(100%,780px);max-width:none;background:rgba(255,255,255,.30);backdrop-filter:blur(8px)}
.project-file-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem}.project-file-columns>section{background:#f5f8fc;border:1px solid #d8e2ef;border-radius:12px;padding:1.2rem}.project-file-columns h2{background:#0b315f;color:#fff;border-radius:6px;padding:.7rem 1rem;font-size:1.15rem;margin:0 0 1rem}.project-file-columns ul{list-style:none;margin:0;padding-left:1.1rem;border-left:1px solid #bed0e4}.project-file-columns li{margin:.4rem 0}.project-file-columns summary{cursor:pointer;padding:.45rem .6rem;background:#fff;border:1px solid #d7e2ee;border-radius:5px;color:#173b64;font-weight:600}.project-file-columns details ul{margin:.45rem 0 .7rem 1.1rem}.project-file-columns .folder-note{font-size:.88rem;margin:.35rem .7rem;color:#46627e}.risk-topic-buttons{display:flex;gap:.7rem;flex-wrap:wrap;margin:0 0 1.2rem}.risk-topic-buttons button{border:1px solid #b8cce0;background:#fff;color:#173b64;border-radius:7px;padding:.7rem 1rem;font-weight:700;cursor:pointer}.risk-topic-buttons button[aria-current=page]{background:#0b315f;color:#fff}@media(max-width:800px){.project-file-columns{grid-template-columns:1fr}}
.project-files{margin-top:1.25rem;padding:clamp(16px,2vw,30px);background:#fff;border:1px solid #d8e2ef;border-radius:12px}.project-file-upload{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.project-file-upload>label:first-child{display:grid;gap:5px;flex:1 1 300px}.project-file-upload select{width:100%;min-width:0}.project-file-upload .button{cursor:pointer}.project-file-upload input[type=file]{display:block;margin-top:6px;max-width:230px}.project-file-group{padding:12px 0;border-top:1px solid #d8e2ef}.project-file-group h3{font-size:1rem;overflow-wrap:anywhere}.project-file-group ul{list-style:none;padding:0}.project-file-group li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}.project-file-group li a{overflow-wrap:anywhere}.project-file-group li small{color:#526b7e}.project-file-group li button{margin-left:auto}.project-file-template{margin-top:20px}.project-file-template>summary{cursor:pointer;font-weight:700}

body:not(.site-home){padding-bottom:16px}body:not(.site-home)>.copyright{display:none!important}
body.documentation-view main{margin:0 auto;padding-top:16px;align-self:start}body.documentation-view .project-list-page{min-height:0;margin:0 0 12px;padding:16px}body.documentation-view .project-files{margin-top:12px}
/* Die Startseitengestaltung bleibt auch vor der Anmeldung sichtbar. */
body.auth-screen main.auth-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,460px);gap:clamp(24px,4vw,64px);align-items:start;width:100%;max-width:none;min-height:calc(100dvh - 200px);margin:0;padding:clamp(24px,4vw,60px)}
.auth-page .auth-introduction{align-self:center;min-width:0}.auth-page .home-landing-copy{width:100%;max-width:780px}.auth-page .home-landing-copy h1{font-size:clamp(18px,6.35cqw,44px)}.auth-page .home-landing-copy .welcome-tagline{font-size:clamp(15px,4cqw,28px)}.auth-page .login-box{width:100%;max-width:460px;margin:0;background:rgba(255,255,255,.96);box-shadow:0 12px 35px #14395818}.auth-page .login-box h1{font-size:26px}
@media(max-width:900px){body.auth-screen main.auth-page{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 16px}.auth-page .auth-introduction,.auth-page .login-box{width:100%;max-width:680px;justify-self:center}.auth-page .home-landing-copy{max-width:none}}
.project-file-storage{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.project-file-storage>label{display:grid;gap:6px;min-width:240px}.project-file-storage [hidden]{display:none}

.registration-legal{border:1px solid #c5d5e3;border-radius:8px;padding:14px;margin:20px 0}.registration-legal legend{font-weight:600;padding:0 6px}.login-box .legal-consent{display:grid;grid-template-columns:20px minmax(0,1fr) 28px;gap:10px;align-items:start;margin:12px 0}.login-box .legal-consent input[type=checkbox]{width:18px;height:18px;margin:4px 0;accent-color:#1768ac}.login-box .legal-consent label{margin:0;line-height:1.5;font-size:14px}.login-box .legal-info{width:26px;height:26px;border:1px solid #267bc1;border-radius:50%;padding:0;line-height:24px;background:#edf5ff;color:#1768ac;font-weight:700}.registration-legal .legal-caption{font-size:12px;line-height:1.5;margin:12px 0 0;color:#496173}.legal-dialog .legal-head button{flex-shrink:0}.legal-dialog a{overflow-wrap:anywhere}body.auth-screen>.copyright{display:flex!important}body.auth-screen{padding-bottom:120px}.auth-screen .login-box{margin-bottom:30px}

.tracking-table td.tracking-below{background:#e4f4e9;color:#176a36;font-weight:700}.tracking-table td.tracking-above{background:#fde7e7;color:#a3292c;font-weight:700}.tracking-reason{min-width:190px;margin-top:6px;white-space:normal}.tracking-reason small{display:block;color:#8d4c12}.tracking-reason select{width:100%;margin-top:5px}

.cost-stage-head:has(.cost-stage-date){display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.cost-stage-head>div{min-width:0}.cost-stage-date{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap;margin:0;font-size:.875rem}.cost-stage-date input[type="date"]{width:145px;min-width:0;max-width:145px;padding:5px 7px;margin:0;font-size:.875rem;box-sizing:border-box}.cost-stage-head .cost-stage-date{justify-self:end}.cost-stage-head h1{overflow-wrap:anywhere}@media(max-width:600px){.cost-stage-head:has(.cost-stage-date){grid-template-columns:minmax(0,1fr) auto;gap:8px}.cost-stage-head:has(.cost-stage-date)>[data-cost-save]{grid-row:2;grid-column:1/-1;justify-self:start}.cost-stage-head .cost-stage-date{grid-column:2;grid-row:1}.cost-stage-head .cost-stage-date>span{display:none}.cost-stage-date input[type="date"]{width:132px;max-width:132px}}

.cost-stage-date label{display:flex;align-items:center;gap:6px;margin:0}.cost-stage-date input[type="text"]{width:116px;min-width:0;padding:5px 7px;font-size:.875rem;box-sizing:border-box;margin:0}.cost-stage-date .cost-calendar{position:relative;width:32px;height:32px;display:grid;place-items:center;border:1px solid #b8c7d8;border-radius:5px;background:#f5f8fc;font-size:20px}.cost-stage-date .cost-calendar input[type="date"]{position:absolute;inset:0;width:100%;max-width:none;height:100%;padding:0;opacity:0;cursor:pointer}.cost-calendar:focus-within{outline:2px solid #175da7;outline-offset:2px}.cost-calendar input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}.cost-history{margin:12px 0}.cost-history-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #d9e2ec}.cost-history-dialog{max-width:min(900px,90vw);max-height:85vh;overflow:auto}.cost-column-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.cost-column-options{max-height:300px;overflow:auto;display:grid;gap:8px}.cost-column-options label{display:flex;align-items:center;gap:8px;margin:0}.cost-column-options input[type="checkbox"]{width:18px;min-width:18px;margin:0}.cost-column-options button{margin-left:auto}.cost-column-order{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.cost-column-order>div{display:flex;align-items:center;gap:6px;border:1px solid #d9e2ec;padding:6px;border-radius:5px}.cost-column-order button{padding:4px 8px}.cost-increase{color:#c02626}@media(max-width:600px){.cost-stage-date label>span{display:none}.cost-stage-date .cost-calendar>span{display:block}.cost-stage-date{gap:4px}.cost-column-options label{flex-wrap:wrap}.cost-history-list>div{align-items:flex-start}}

.required-cost-date-dialog{width:min(480px,calc(100vw - 32px));box-sizing:border-box;padding:24px;max-height:85vh;overflow:auto}.required-cost-date-dialog h2{margin-top:0}.required-cost-date-dialog .cost-stage-date{justify-content:flex-start;margin:18px 0}.required-cost-date-dialog .cost-stage-date label>span{display:block}.required-cost-date-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:20px}.required-cost-date-dialog [role="alert"]{color:#b42318}.required-cost-date-dialog::backdrop{background:rgba(15,30,50,.45)}

.fee-cost-selector{border:1px solid #b8cbe0;background:#f3f7fc;border-radius:8px;padding:14px 16px;margin:0 0 16px}.fee-cost-fields{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px}.fee-cost-fields label{display:grid;gap:5px;min-width:180px;margin:0}.fee-cost-fields select{width:100%;margin:0}.fee-cost-total{margin-left:auto;display:grid;gap:5px;text-align:right}.fee-cost-total strong{font-size:1.15rem;color:#175da7}.fee-cost-label{font-size:.875rem;margin:10px 0}.fee-cost-warning{color:#8a4800;font-size:.875rem;margin:10px 0}.fee-cost-selector details{font-size:.875rem}@media(max-width:600px){.fee-cost-fields label{min-width:0;width:100%}.fee-cost-total{margin-left:0;text-align:left}}

.activity-active-users{list-style:none;padding:0;margin:8px 0 14px;max-height:180px;overflow:auto;font-size:.875rem}.activity-active-users li{margin:4px 0;overflow-wrap:anywhere}

.cost-din-group summary .cost-summary-direct{display:flex;align-items:center;gap:10px;margin:0;font-size:.875rem;font-weight:600;cursor:default}.cost-din-group summary .cost-summary-direct span{flex:none;max-width:310px}.cost-din-group summary .cost-summary-direct input{width:160px;min-width:110px;margin:0;padding:7px 9px;flex:none;font-weight:400}.cost-din-body>.cost-summary-direct{margin-bottom:14px}@media(max-width:950px){.cost-din-group summary:has(.cost-summary-direct){flex-wrap:wrap}.cost-din-group summary:has(.cost-summary-direct)>span{flex:1;min-width:40%}.cost-din-group summary .cost-summary-direct{order:3;margin-left:28px;width:calc(100% - 28px);justify-content:space-between}.cost-din-group summary .cost-summary-direct span{max-width:none;flex:1}.cost-din-group summary:has(.cost-summary-direct)>strong{margin-left:auto}}

/* Compact procurement controls: date, day type, days, calendar and explanatory bubble. */
.procurement-table td{vertical-align:middle}.procurement-date-cell{min-width:0;width:216px}.procurement-date-controls{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;height:36px}.procurement-table .procurement-date-controls>input{box-sizing:border-box;width:108px;min-width:0;padding:6px 4px;height:32px;font-size:14px;text-align:center}.procurement-table .procurement-date-controls>input.procurement-days{width:42px;min-width:0;padding:6px 2px;font-size:14px;-moz-appearance:textfield}.procurement-days::-webkit-inner-spin-button,.procurement-days::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.procurement-day-arrow,.procurement-delivery-arrow{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:32px;flex:none;color:#1260a3;cursor:pointer}.procurement-day-arrow select,.procurement-delivery-arrow select{position:absolute;inset:0;opacity:0;width:100%;height:100%;min-width:0;cursor:pointer;padding:0}.procurement-day-arrow:focus-within,.procurement-delivery-arrow:focus-within{outline:2px solid #2674b8;border-radius:3px}.procurement-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:32px;flex:none;border:1px solid #aac3d7;border-radius:6px;color:#1260a3;cursor:pointer;font-size:22px;overflow:hidden}.procurement-picker input[type=date]{position:absolute;inset:0;opacity:0;width:100%;height:100%;min-width:0;padding:0;cursor:pointer}.procurement-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.procurement-picker:focus-within{outline:2px solid #2674b8}.procurement-table .procurement-hint{flex:none;width:18px;height:18px;margin:0;padding:0;font-size:12px;line-height:16px;vertical-align:middle}.procurement-hint.has-warning{color:#a33b14;border-color:#a33b14;background:#fff2e8}.procurement-electronic{display:flex;gap:5px;align-items:center;font-size:12px;margin-top:8px}.procurement-electronic input,.local-holidays input{width:auto;min-width:0}.local-holidays{border:1px solid #c7d9e9;border-radius:8px;font-size:13px}.local-holidays label{display:flex;flex-direction:row;align-items:center;gap:6px}.procurement-table.tracking-table thead th{min-width:0;font-size:14px;white-space:normal}.procurement-table{min-width:max-content}.procurement-delivery-arrow{vertical-align:middle}

.project-data-view{max-width:none}.project-data-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:clamp(24px,3vw,48px);align-items:start}.project-data-layout .home-project-fields{min-width:0}.project-state-map{margin-top:24px;padding:20px;background:#f4f8fc;border:1px solid #cbddeb;border-radius:12px;position:sticky;top:16px}.project-state-map h3{margin:0 0 12px;font-size:18px}.project-state-map svg{display:block;width:100%;max-height:490px}.project-map-selection{margin:14px 0 0;color:#185ca8;font-size:16px;font-weight:700;text-align:center}.project-map-source{margin:10px 0 0;font-size:12px;text-align:center}.project-map-source a{color:#657c91}.home-project-fields [data-home-project-info="clientAddress"],.home-project-fields [data-home-project-info="projectAddress"]{min-height:78px;resize:vertical}@media(max-width:1000px){.project-data-layout{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.project-data-layout .home-project-fields{grid-template-columns:1fr}}@media(max-width:700px){.project-data-layout{grid-template-columns:1fr}.project-state-map{position:static;margin:0 auto 24px;width:min(100%,360px);box-sizing:border-box}}

.procurement-head{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;gap:12px;margin-bottom:20px}.procurement-head h1{margin:0;flex:none}.procurement-head .procurement-state{font-size:14px;white-space:nowrap}.procurement-head [data-procurement-save]{margin-left:auto}.procurement-table .procurement-date-controls{display:inline-flex;flex-wrap:nowrap;align-items:center;vertical-align:middle;height:36px}.procurement-starts-button{font-size:12px;padding:4px 7px;margin-left:6px}.procurement-starts-dialog{max-width:500px;width:calc(100vw - 32px);padding:24px;box-sizing:border-box;max-height:85vh;overflow:auto}.procurement-starts-dialog h2{margin-top:0}.procurement-starts-dialog form>label{display:grid;gap:6px;margin:14px 0}.procurement-start-date{display:flex;gap:8px}.procurement-start-date input{min-width:0;width:50%}.procurement-start-actions{display:flex;justify-content:flex-end;gap:8px}.procurement-starts-dialog [role=alert]{color:#a33b14}.procurement-starts-dialog::backdrop{background:#152e4c66}

/* Construction calendar above the four-column editor. */
.schedule-1 .schedule-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"calendar" "editor" "chart"}.schedule-1 .calendar-day{min-height:64px}.construction-schedule-table{width:100%;min-width:780px;table-layout:fixed}.construction-schedule-table th:first-child{width:34%}.construction-schedule-table th:nth-child(2),.construction-schedule-table th:nth-child(3){width:16%}.construction-schedule-table th:nth-child(4){width:34%}.construction-schedule-table input,.construction-schedule-table select{width:100%;min-width:0;box-sizing:border-box;font-size:14px}.construction-trade{display:flex;align-items:center;gap:5px}.construction-trade select{flex:1}.construction-trade button{flex:none;padding:5px 10px}.construction-dependency{display:flex;gap:6px;align-items:center}.construction-dependency select:first-child{width:55%}.construction-dependency select:nth-child(2){width:45%}.procurement-table.management-table th:nth-child(4),.procurement-table.management-table td:nth-child(4){width:360px;min-width:360px;max-width:360px}.procurement-table .procurement-method-cell [data-procurement-field="method"]{width:360px;min-width:0;max-width:360px;box-sizing:border-box}.procurement-starts-button{margin:5px 0 0}.procurement-head{align-items:center}.procurement-head h1{font-size:clamp(24px,2.5vw,36px)}

/* Compact, evenly spaced procurement columns; only the trade stays pinned. */
.procurement-table.management-table.tracking-table{table-layout:fixed;width:max-content;border-collapse:collapse;border-spacing:0}.procurement-table.management-table.tracking-table th,.procurement-table.management-table.tracking-table td{padding:8px;box-sizing:border-box;width:230px;min-width:230px;max-width:230px}.procurement-table.management-table.tracking-table tbody td{border-bottom:1px solid #7c96ad}.procurement-table.management-table.tracking-table th:first-child,.procurement-table.management-table.tracking-table td:first-child{position:static;left:auto;width:54px;min-width:54px;max-width:54px;z-index:auto}.procurement-table.management-table.tracking-table th:nth-child(2),.procurement-table.management-table.tracking-table td:nth-child(2){position:sticky;left:0;width:225px;min-width:225px;max-width:225px;z-index:4;background:#fff;box-shadow:2px 0 0 #92a9bc}.procurement-table.management-table.tracking-table thead th:nth-child(2){z-index:14;background:#e8f2ff}.procurement-table.management-table.tracking-table th:nth-child(3),.procurement-table.management-table.tracking-table td:nth-child(3){position:static;left:auto;width:155px;min-width:155px;max-width:155px;z-index:auto}.procurement-table.management-table.tracking-table th:nth-child(4),.procurement-table.management-table.tracking-table td:nth-child(4){width:205px;min-width:205px;max-width:205px}.procurement-table.management-table.tracking-table th:nth-child(5),.procurement-table.management-table.tracking-table td:nth-child(5){width:155px;min-width:155px;max-width:155px}.procurement-table.management-table.tracking-table [data-procurement-field="method"]{width:189px;min-width:0;max-width:189px;font-size:14px}.procurement-table.management-table.tracking-table [data-procurement-field="planner"]{width:139px;min-width:0;max-width:139px;box-sizing:border-box;font-size:14px}.procurement-table.management-table.tracking-table th:nth-last-child(2),.procurement-table.management-table.tracking-table td:nth-last-child(2){width:95px;min-width:95px;max-width:95px}.procurement-table.management-table.tracking-table th:last-child,.procurement-table.management-table.tracking-table td:last-child{width:180px;min-width:180px;max-width:180px}.procurement-table.management-table.tracking-table thead th{background:#e8f2ff}

.procurement-table.management-table.tracking-table thead th:first-child,.procurement-table.management-table.tracking-table thead th:nth-child(3){position:sticky;top:0;left:auto;z-index:12}

/* Shared column starts for the estimate's DIN group headers. */
.cost-din-group summary:has(>.cost-summary-direct){display:grid;grid-template-columns:18px minmax(0,1fr) minmax(0,2.25fr) minmax(160px,.75fr);gap:14px;justify-content:normal}
.cost-din-group summary:has(>.cost-summary-direct)>span{min-width:0}
.cost-din-group summary .cost-summary-direct{display:grid;grid-template-columns:minmax(0,1fr) 160px;column-gap:14px;order:initial;margin:0;width:auto;min-width:0;justify-content:normal}
.cost-din-group summary .cost-summary-direct span{max-width:none;min-width:0}
.cost-din-group summary:has(>.cost-summary-direct)>strong{margin:0;text-align:right}
@media(min-width:1100px){
 .cost-din-group summary:has(>.cost-summary-direct){grid-template-columns:18px calc(31% - 46px) calc(55% - 14px) minmax(0,1fr)}
 .cost-din-group summary .cost-summary-direct{grid-template-columns:calc(47.2727% - 14px) minmax(0,1fr)}
}
@media(max-width:650px){
 .cost-din-group summary:has(>.cost-summary-direct){grid-template-columns:18px minmax(0,1fr) auto}
 .cost-din-group summary .cost-summary-direct{grid-column:2 / -1;grid-row:2;grid-template-columns:minmax(0,1fr) 110px}
 .cost-din-group summary .cost-summary-direct input{width:110px}
 .cost-din-group summary:has(>.cost-summary-direct)>strong{grid-column:3;grid-row:1}
}

/* Calendar and task editor on the left, timeline on the right. */
.schedule-0 .schedule-layout,.schedule-1 .schedule-layout{grid-template-columns:minmax(360px,.68fr) minmax(0,1.32fr);grid-template-areas:"calendar chart" "editor chart";grid-template-rows:auto 1fr;align-items:start}
.schedule-0 .schedule-chart,.schedule-1 .schedule-chart{align-self:stretch;min-height:520px}
.schedule-0 .schedule-chart .gantt-row,.schedule-1 .schedule-chart .gantt-row{grid-template-columns:minmax(120px,210px) minmax(0,1fr) 48px;gap:8px 12px}
.schedule-0 .schedule-chart .gantt-row>span,.schedule-1 .schedule-chart .gantt-row>span{grid-column:1;grid-row:auto}
.schedule-0 .schedule-chart .gantt-track,.schedule-1 .schedule-chart .gantt-track{grid-column:2;grid-row:auto}
.schedule-0 .schedule-chart .gantt-row small,.schedule-1 .schedule-chart .gantt-row small{grid-column:3;grid-row:auto}
.schedule-0 .schedule-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
.schedule-0 .schedule-row>label:first-child{grid-column:1 / -1}
.schedule-0 .schedule-dependencies{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.schedule-summary-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 0;border-bottom:1px solid #9fb3c5;font-size:14px}
.schedule-summary-row>strong,.schedule-summary-row>small{grid-column:1 / -1}
.schedule-summary-row time{display:block;font-weight:600;margin-top:4px}
@media(max-width:1050px){.schedule-0 .schedule-layout,.schedule-1 .schedule-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"calendar" "editor" "chart";grid-template-rows:auto}.schedule-0 .schedule-chart,.schedule-1 .schedule-chart{min-height:0}}
@media(max-width:600px){.schedule-0 .schedule-chart .gantt-row,.schedule-1 .schedule-chart .gantt-row{grid-template-columns:90px minmax(0,1fr) 36px;gap:5px}}

.schedule-date-control{display:flex;align-items:center;gap:5px;min-width:0}
.schedule-date-control>input{width:108px;min-width:0;flex:1;margin:0;font-size:14px;padding:7px 5px;box-sizing:border-box}
.schedule-date-picker{position:relative;display:inline-flex!important;align-items:center;justify-content:center;width:30px;height:34px;flex:none;border:1px solid #aac3d7;border-radius:6px;color:#1260a3;font-size:22px!important;cursor:pointer;overflow:hidden}
.schedule-date-picker input[type=date]{position:absolute;inset:0;opacity:0;width:100%;height:100%;min-width:0;padding:0;margin:0;cursor:pointer}
.schedule-date-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.schedule-date-picker:focus-within{outline:2px solid #2674b8}
.schedule-date-picker:has(input:disabled){opacity:.5;cursor:default}
.construction-schedule-table th:first-child{width:30%}.construction-schedule-table th:nth-child(2),.construction-schedule-table th:nth-child(3){width:19%}.construction-schedule-table th:nth-child(4){width:32%}

.schedule-1 .schedule-layout{grid-template-areas:"editor chart";grid-template-rows:auto}
.schedule-1 .schedule-date-control.is-entered>input{background:#e5f4e9;border-color:#4c9862;color:#185a2d}
.schedule-1 .schedule-date-control.is-entered .schedule-date-picker{background:#e5f4e9;border-color:#4c9862;color:#185a2d}
@media(max-width:1050px){.schedule-1 .schedule-layout{grid-template-areas:"editor" "chart";grid-template-rows:auto}}

/* Filled values are derived from the current persisted values, without extra state. */
input.is-filled:not([type=hidden]):not([type=checkbox]):not([type=radio]),select.is-filled,textarea.is-filled{box-shadow:inset 0 0 0 2px #527b9d;border-color:#527b9d}
input.is-filled[type=checkbox],input.is-filled[type=radio]{outline:2px solid #527b9d;outline-offset:1px}
.cost-trades-table.tracking-table{min-width:1040px;width:100%;table-layout:fixed}
.cost-trades-table.tracking-table th,.cost-trades-table.tracking-table td{min-width:0;padding:7px 8px;box-sizing:border-box;position:static;left:auto}
.cost-trades-table.tracking-table th:nth-child(1){width:45px}.cost-trades-table.tracking-table th:nth-child(2){width:100px}.cost-trades-table.tracking-table th:nth-child(3){width:210px}.cost-trades-table.tracking-table th:nth-child(4){width:145px}.cost-trades-table.tracking-table th:nth-child(5){width:150px}.cost-trades-table.tracking-table th:nth-child(6){width:155px}.cost-trades-table.tracking-table th:nth-child(7){width:125px}.cost-trades-table.tracking-table th:nth-child(8){width:110px}
.cost-trades-table [data-cost-trade],.cost-trades-table [data-trade-programs]{width:100%;min-width:0;max-width:none;font-size:14px;box-sizing:border-box;text-align:left}
.cost-trades-table [data-cost-trade=amount]{text-align:right}.cost-trades-table .trade-actions{display:flex;gap:4px;flex-wrap:wrap}.cost-trades-table .trade-actions button{padding:5px 7px}
.trade-link-cell{font-size:13px;white-space:normal;max-width:190px;overflow-wrap:anywhere}
.psp-sheet{min-width:0;box-sizing:border-box;width:100%}.psp-chart{gap:20px;overflow:auto;max-width:100%;align-items:flex-start}.psp-tree{flex:0 0 auto;width:max-content;min-width:0}.psp-tree ul{justify-content:flex-start;gap:20px;width:max-content}.psp-tree li{flex:0 0 auto;min-width:0;padding:0;width:max-content}.psp-tree li>.psp-card{width:200px;box-sizing:border-box;margin:0 auto}.psp-tree li:before,.psp-tree li:after{width:calc(50% + 10px)}.psp-tree li:only-child:before,.psp-tree li:only-child:after{display:none}.psp-side{box-sizing:border-box;min-width:200px}.psp-side li>.psp-card{width:100%;box-sizing:border-box}
@media(max-width:650px){.psp-preview{padding:8px}.psp-sheet{padding:8px}.psp-tree li>.psp-card{width:170px}.psp-tree ul{gap:16px}.psp-sheet h2{font-size:17px}}

.schedule-0 .schedule-layout{grid-template-areas:"editor chart";grid-template-rows:auto}.schedule-summary-mode{grid-column:1/-1}.schedule-row-actions{display:flex;gap:5px;justify-content:flex-end}.construction-trade [data-schedule-trade-search]{min-width:120px;flex:1}.construction-trade [data-schedule-trade-create]{font-size:11px;padding:5px}.schedule-summary-mode small{display:block;font-weight:400}
@media(max-width:1050px){.schedule-0 .schedule-layout{grid-template-areas:"editor" "chart";grid-template-rows:auto}}

.cost-trades-table.management-table.tracking-table{min-width:1190px}
.cost-trades-table.management-table.tracking-table th:nth-child(2),.cost-trades-table.management-table.tracking-table td:nth-child(2){width:100px;min-width:100px;max-width:100px;left:58px}
.cost-trades-table.management-table.tracking-table thead th{position:sticky;top:0;left:auto}
.cost-trades-table.management-table.tracking-table thead th:nth-child(3),.cost-trades-table.management-table.tracking-table tbody td:nth-child(3){left:158px;width:210px;min-width:210px;max-width:210px;position:sticky}
.cost-trades-table.management-table.tracking-table .remarks-col{width:160px;min-width:160px;max-width:160px}.cost-trades-table.management-table.tracking-table .remarks-col textarea{min-width:0}
/* Titles stay in the existing heading row and can be edited directly. */
h1 .editable-table-title,h2 .editable-table-title,h3 .editable-table-title{font:inherit;font-weight:inherit;color:inherit;background:transparent;border:1px solid transparent;border-radius:4px;padding:2px 4px;min-width:8ch;max-width:100%;box-sizing:border-box;}
h1 .editable-table-title:hover,h2 .editable-table-title:hover,h3 .editable-table-title:hover{border-color:#93afc7;}
h1 .editable-table-title:focus,h2 .editable-table-title:focus,h3 .editable-table-title:focus{background:#fff;border-color:#327cb5;outline:2px solid #327cb530;}
.procurement-table.management-table.tracking-table thead .procurement-column-title{width:100%;min-width:0;max-width:100%;box-sizing:border-box;font:inherit;font-weight:700;color:inherit;text-align:center;background:transparent;border:1px solid transparent;border-radius:4px;padding:4px 2px;}
.procurement-table.management-table.tracking-table thead .procurement-column-title:hover,.procurement-table.management-table.tracking-table thead .procurement-column-title:focus{border-color:#769bbb;background:#fff;}
.procurement-table .procurement-header-controls{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:5px;}
.procurement-table .procurement-header-controls [data-tracking-filter]{margin:0;}
.procurement-table .procurement-header-controls [data-procurement-column-day-type]{width:130px;min-width:0;font-size:12px;padding:5px;box-sizing:border-box;}
.procurement-config-dialog{width:min(720px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:24px;box-sizing:border-box;border:1px solid #8aa7c3;border-radius:12px;}
.procurement-config-dialog::backdrop{background:#152e4c66;}.procurement-config-dialog h2{margin-top:0}.procurement-config-dialog form>label{display:grid;gap:6px;margin:12px 0}.procurement-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.procurement-config-dialog [role=alert]{color:#a33b14}.procurement-preset-table{width:100%}.procurement-preset-table td,.procurement-preset-table th{padding:7px;border-bottom:1px solid #8ba5bf}.procurement-preset-table input{width:90px;min-width:0;box-sizing:border-box}.procurement-preset-table select{width:140px;min-width:0;box-sizing:border-box}
/* PSP diagram uses the full workspace, with the editor below it. */
body.psp-full-width main{max-width:none;width:100%;margin:0;padding:clamp(10px,1.4vw,24px);box-sizing:border-box;}
.psp-workspace{display:flex;flex-direction:column;gap:20px;}.psp-preview{order:-1;width:100%;box-sizing:border-box;overflow:visible;}.psp-editor{width:100%;box-sizing:border-box;max-height:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px;padding:0;}.psp-entry{margin:0;}.psp-editor>button{align-self:start;justify-self:start;}.psp-zoom-controls{display:flex;gap:6px;flex-wrap:wrap;}.psp-zoom-controls [aria-pressed=true]{background:#e4f0ff;border-color:#194a93;}.psp-diagram{width:100%;overflow:auto;box-sizing:border-box;margin-top:18px;}.psp-svg{display:block;width:100%;max-width:100%;height:auto;}.psp-sheet{overflow:hidden;}.psp-preview>.section-head{flex-wrap:wrap;}
.cost-trades-table.management-table.tracking-table{min-width:1310px;}.cost-trades-table.tracking-table th:nth-child(4){width:230px;}.cost-trades-table.tracking-table th:nth-child(7){width:105px;}.cost-trades-table.tracking-table th:nth-child(8){width:125px;}.cost-trades-table.tracking-table th:nth-child(9){width:110px;}
.din-cost-basis-table{min-width:760px;width:100%;table-layout:auto}
.din-cost-basis-table thead th{white-space:nowrap;text-align:left}
.din-cost-basis-table thead th>span{display:inline-block!important;vertical-align:middle;line-height:1.2}
.din-cost-basis-table thead [data-tracking-filter]{display:inline-flex;vertical-align:middle;margin:0 0 0 5px!important;width:22px;height:22px;min-height:22px;padding:2px}
.din-cost-basis-table thead [data-tracking-filter] svg{width:13px;height:13px}
.protocol-master table{min-width:650px}
.protocol-master td:last-child{width:90px;min-width:90px}
.protocol-list-remove{min-height:30px;padding:4px 8px;color:#99404a;background:#fff;border:1px solid #d8aab0;border-radius:5px;white-space:nowrap}
.protocol-responsible-row{display:flex;align-items:flex-end;gap:8px;margin:8px 0}
.protocol-responsible-row>label{flex:1 1 auto;margin:0}
.protocol-responsible-row .protocol-list-remove{flex:0 0 auto}
/* Dedicated risk allowance column in the cost-by-trade table. */
.cost-trades-table.tracking-table{min-width:1430px}
.cost-trades-table.tracking-table th:nth-child(1){width:45px}.cost-trades-table.tracking-table th:nth-child(2){width:90px}.cost-trades-table.tracking-table th:nth-child(3){width:190px}.cost-trades-table.tracking-table th:nth-child(4){width:145px}.cost-trades-table.tracking-table th:nth-child(5){width:200px}.cost-trades-table.tracking-table th:nth-child(6){width:150px}.cost-trades-table.tracking-table th:nth-child(7){width:155px}.cost-trades-table.tracking-table th:nth-child(8){width:135px}.cost-trades-table.tracking-table th:nth-child(9){width:110px}.cost-trades-table.tracking-table th:nth-child(10){width:145px}
.cost-trades-table .trade-risk-cell{text-align:left;vertical-align:top}
.cost-trades-table .forecast-trade-risk{display:block;margin:0 0 4px;white-space:normal;font-size:12px;line-height:1.3}
.cost-trades-table .forecast-trade-risk input,.cost-trades-table .trade-risk-reason input{display:block;width:100%;min-width:0;box-sizing:border-box;text-align:left}
.cost-trades-table .trade-risk-cell>small{display:block;margin:3px 0 5px;font-size:12px;color:#35566e;white-space:nowrap}
.cost-trades-table .trade-risk-reason{display:block;margin:0;font-size:12px;line-height:1.3}
/* Keep toolbar help icons fully visible at the upper-right corner of their controls. */
.shared-din-view .din-pdf-toolbar-upload{position:relative;box-sizing:border-box}
.shared-din-view .din-confirmation-control{position:relative;display:inline-flex;align-items:center;box-sizing:border-box}
.shared-din-view .din-confirmation-control>.din-confirmation-note{position:absolute!important;top:-8px!important;right:-8px!important;z-index:5;margin:0!important}
.trade-cost-view .cost-trades-table thead .trade-filter-heading{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;line-height:1.25}
.trade-cost-view .cost-trades-table thead .trade-filter-heading>span{display:inline;line-height:1.25}
.trade-cost-view .cost-trades-table thead .trade-filter-heading>[data-tracking-filter]{flex:0 0 27px;width:27px;height:26px;min-height:26px;margin:0;padding:0}
.note-popover{z-index:1200}
@media print{.psp-zoom-controls{display:none;}.psp-diagram{overflow:visible;}.psp-svg{width:100%!important;max-width:100%!important;}}
body.psp-full-width .workspace{grid-template-columns:minmax(0,1fr);}.cost-trades-table.management-table.tracking-table{min-width:1400px;}
/* One persistent PSP entry mask, independent of the number of saved activities. */
.psp-workspace .psp-editor{display:block;width:100%}
.psp-edit-picker{display:flex;align-items:end;gap:12px;margin-bottom:14px}
.psp-edit-picker label{flex:1;max-width:720px}
.psp-edit-picker select{width:100%}
.psp-entry select[multiple]{min-height:110px}
.psp-entry [data-psp-result]{margin:12px 0 0;color:#17577b}
/* PSP entry sidebar follows the schedule workspace arrangement. */
.psp-workspace{display:grid;grid-template-columns:minmax(320px,38%) minmax(0,1fr);align-items:start}
.psp-workspace .psp-preview{order:0;min-width:0}
.psp-workspace .psp-editor{min-width:0}
.psp-edit-picker{flex-wrap:wrap;align-items:center}
.psp-edit-picker label{min-width:0;flex-basis:100%}
.framework-phase-picker{display:block;margin:12px 0;font-weight:650}
.framework-phase-picker select{display:block;width:100%;margin-top:6px}
.framework-form-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}
.framework-undated{border-top:1px solid #9fb3c5;margin-top:18px;padding-top:10px}
.procurement-kg{display:inline-block;margin-left:8px;padding:2px 5px;border:1px solid #a8bdd2;border-radius:4px;font-size:12px;white-space:nowrap;color:#274967}
@media(max-width:1000px){.psp-workspace{grid-template-columns:minmax(0,1fr)}}
/* Match the narrower schedule sidebar; reserve more space for the PSP graphic. */
.psp-workspace{grid-template-columns:minmax(360px,.68fr) minmax(0,1.32fr)}
.trade-subproject-picker{min-width:190px;max-width:300px;border:1px solid #bdcfe1;border-radius:6px;background:white}
.trade-subproject-picker summary{padding:10px 12px;cursor:pointer;white-space:normal;font-weight:400;color:#173b60}
.trade-subproject-picker.has-selection summary{background:#eaf4ee}
.trade-subproject-options{max-height:280px;overflow:auto;border-top:1px solid #bdcfe1;padding:5px 0}
.trade-subproject-options label{display:flex;align-items:flex-start;gap:8px;padding:7px 8px;font-size:13px;font-weight:400;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.trade-subproject-options input[type=checkbox]{width:16px;height:16px;margin:2px 0 0;flex:none}
.trade-subproject-options strong{font-weight:750}
.schedule-date-mode{font-size:12px;display:block;margin-bottom:8px}
.schedule-date-mode select{display:block;width:100%;max-width:240px;margin-top:4px}
.schedule-0 .schedule-row>.schedule-task-title{grid-column:1/-1}
.gantt-milestone{position:absolute;top:50%;width:12px;height:12px;background:#185ca8;transform:translate(-50%,-50%) rotate(45deg);border:1px solid #113955}
@media(max-width:1000px){.psp-workspace{grid-template-columns:minmax(0,1fr)}}
.tracking-column-actions{display:flex;gap:8px;flex-wrap:wrap}
.tracking-columns-form{display:grid;gap:14px;min-width:min(420px,80vw)}
.tracking-columns-form label:not(.tracking-column-choices label){display:grid;gap:5px}
.tracking-column-choices{display:grid;gap:10px;max-height:60vh;overflow:auto}
.tracking-column-choices label{display:flex;align-items:center;gap:10px}
.tracking-column-choices input[type=checkbox]{width:18px;height:18px;margin:0}
.cost-tracking th[hidden],.cost-tracking td[hidden]{display:none!important}
.cost-tracking [data-tracking-custom]{min-width:150px}

.gantt-open-dates{display:block;padding:6px 10px;color:#526e83;font-size:.85rem}.gantt-undated .gantt-track{border:1px dashed #9ab1c5;background:#f5f8fb;height:auto;min-height:28px}
.framework-chart-choice{display:flex;align-items:center;gap:8px;font-size:.875rem}.framework-chart-choice select{width:auto;max-width:230px;margin:0}.framework-chart-scroll{overflow-x:auto;margin-top:16px}.framework-timeline{width:100%;table-layout:fixed;border-collapse:collapse}.framework-timeline th,.framework-timeline td{border-bottom:1px solid #b4c6d8;padding:10px;vertical-align:middle}.framework-timeline tbody th{text-align:left;font-size:.875rem;background:#fff}.framework-timeline tbody th>span{display:block;overflow-wrap:anywhere}.framework-timeline tbody th small{display:block;font-weight:400;font-size:.8rem;margin-top:6px;color:#405b71}.framework-timeline .framework-time-cell{position:relative;padding:10px 0;isolation:isolate;background:white}.framework-time-section{position:absolute;top:0;bottom:0;z-index:-1;border-left:1px solid #89a7c3;box-sizing:border-box}.time-blue{background:#e8f3ff}.time-white{background:#fff}.framework-time-axis{height:66px}.framework-time-heading{position:absolute;top:10px;bottom:8px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:3px;font-size:.875rem}.framework-timeline .gantt-track{height:30px;background:transparent;border-radius:0}.framework-timeline .gantt-bar{top:7px;bottom:7px;min-width:2px}.framework-chart-progress{font-size:.8rem;text-align:right;background:white}.framework-chart-dependency{position:relative;display:block;padding:3px 8px;font-size:.8rem;color:#405b71}.framework-timeline .gantt-open-dates{position:relative}.schedule-chart .schedule-section-head{flex-wrap:wrap;gap:10px}
.framework-duration>div{display:flex;gap:6px}.framework-duration input{min-width:0;width:45%}.framework-duration select{min-width:0;width:55%}.summary-date-auto{background:#e4f5e8!important;border-color:#4c9564!important}.summary-date-manual{background:#ffe8e8!important;border-color:#c75454!important}.framework-chart-scroll{position:relative}.framework-dependency-overlay{position:absolute;left:0;top:0;pointer-events:none;z-index:2;overflow:visible}.framework-dependency-overlay path{fill:none;stroke:#93c9ed;stroke-width:1.25;stroke-linejoin:round}.framework-dependency-overlay circle{fill:#93c9ed}
[data-schedule-bar-color]{display:inline-block;width:28px;height:24px;min-height:0;padding:1px;margin:4px 0;vertical-align:middle;border:1px solid #9bb3c8;border-radius:4px;cursor:pointer}.framework-timeline tbody th>span{display:inline}
@media(min-width:1051px){.schedule-0 .resizable-layout,.schedule-1 .resizable-layout,.psp-workspace.resizable-layout{position:relative;grid-template-columns:minmax(280px,min(var(--editor-width,34%),calc(100% - 300px))) minmax(0,1fr)}.panel-resize-handle{position:absolute;top:0;bottom:0;left:calc(min(var(--editor-width,34%),calc(100% - 300px)) + 3px);width:10px;cursor:col-resize;touch-action:none;z-index:5;border-radius:4px;background:linear-gradient(to right,transparent 4px,#a9c4da 4px,#a9c4da 6px,transparent 6px)}.panel-resize-handle:hover,.panel-resize-handle:focus,.is-resizing .panel-resize-handle{background:#c7e2fa;outline:1px solid #6d9bbc}.is-resizing{user-select:none}.schedule-editor,.psp-editor{min-width:0}}
@media(max-width:1050px){.panel-resize-handle{display:none}.psp-workspace.resizable-layout{grid-template-columns:minmax(0,1fr)}}

.framework-form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.framework-colour-picker{display:flex;align-items:center;gap:5px;font-size:.875rem;white-space:nowrap}.framework-colour-picker input{width:32px;height:28px;min-height:0;padding:1px;margin:0;cursor:pointer}

.framework-timeline .framework-phase-edit{display:block;width:100%;text-align:left;padding:8px;border:1px solid #bfd2e5;border-radius:5px;background:#f7fbff;color:#173b60;font:inherit;cursor:pointer;white-space:normal}.framework-phase-edit>span{display:block;overflow-wrap:anywhere;font-weight:600}.framework-phase-edit small{display:block;font-weight:400;font-size:.8rem;margin-top:5px}.framework-phase-edit:hover{background:#e7f2ff;border-color:#769dc1}.framework-phase-edit:focus-visible{outline:2px solid #246fba;outline-offset:2px}

.construction-schedule-table .construction-edit-active td{background:#edf6ff;outline:1px solid #abc9e5}.construction-trade [data-schedule-bar-color]{flex:none;width:28px;min-width:28px}

.framework-timeline .gantt-bar{background:#246fba}.framework-timeline .gantt-bar i{background:#92c8fb}

.schedule-completion-button{justify-self:start;margin:6px 0;font-size:.875rem;padding:7px 10px}.schedule-completion-dialog{width:min(440px,calc(100vw - 40px));box-sizing:border-box}.schedule-completion-dialog input{width:100%;margin-top:6px}.schedule-completion-dialog [data-completion-error]{color:#a52d39}

.auth-page .public-contact{grid-column:1 / -1;width:100%;box-sizing:border-box}.public-contact .home-contact-layout{width:100%}

/* Startseite: bündige Karten, 70 % transparente Flächen, deckende Inhalte. */
.auth-page .auth-introduction{align-self:start}
.auth-page .home-landing-copy,.auth-page .login-box,.auth-page .home-contact-form{background:rgba(255,255,255,.30);backdrop-filter:none}
.auth-page .login-box{margin-bottom:0}
.auth-page .public-contact{margin:0;padding:0;background:transparent;border:0;box-shadow:none}
.auth-page .public-contact .home-contact-layout{margin:0;max-width:none}
.auth-page .public-contact .home-contact-form{width:100%;max-width:none;box-sizing:border-box}
@media(max-width:900px){.auth-page .public-contact{max-width:680px;justify-self:center}}

.mobile-home-action-label{display:none}
.mobile-home-menu{position:relative;flex:none;margin-left:auto}
.mobile-home-menu-toggle{display:grid;place-items:center;width:42px;height:42px;padding:8px;background:#244761;color:#fff;border:1px solid #648bb3;border-radius:7px}
.mobile-home-menu-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.mobile-home-actions{position:absolute;right:0;top:calc(100% + 6px);z-index:75;width:min(240px,calc(100vw - 24px));padding:8px;background:#fff;border:1px solid #b4cbd5;border-radius:9px;box-shadow:0 8px 24px #132d4650;box-sizing:border-box}
header .mobile-home-actions>.account-menu{width:100%;max-width:none}
header .mobile-home-actions>#headerRenameProject,header .mobile-home-actions>#headerPdf,header .mobile-home-actions .account-company{display:flex;align-items:center;gap:10px;width:100%;height:auto;min-height:44px;max-width:none;margin:2px 0;padding:10px;text-align:left;background:#f0f5fa;color:#122c46;border:1px solid #d8e3eb;border-radius:6px;font-size:14px}
header .mobile-home-actions .mobile-home-action-label{display:inline}
header .mobile-home-actions svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8}
header .mobile-home-actions button:disabled{opacity:.5;cursor:not-allowed}

body.site-home,body.auth-screen,body:has(.home-welcome){padding-bottom:env(safe-area-inset-bottom,0px)}

header button.brand{padding:0;border:0;cursor:pointer;box-shadow:none}
header button.brand:focus-visible{outline:2px solid #9bcafa;outline-offset:3px}
header .mobile-home-actions>#homeButton{display:flex;align-items:center;width:100%;min-height:44px;margin:2px 0;padding:10px;text-align:left;background:#f0f5fa;color:#122c46;border:1px solid #d8e3eb;border-radius:6px;font-size:14px}
body.fomi-active header .mobile-home-actions>#headerRenameProject{display:flex}

header .mobile-home-actions>#saveProject,header .mobile-home-actions>#refreshPage{display:flex;align-items:center;gap:10px;width:100%;height:auto;min-height:44px;margin:2px 0;padding:10px;text-align:left;background:#f0f5fa;color:#122c46;border:1px solid #d8e3eb;border-radius:6px;font-size:14px}
.pull-refresh-indicator{position:fixed;left:50%;transform:translateX(-50%);top:calc(var(--header-height,58px) + var(--workflow-height,0px) + 10px);z-index:90;max-width:calc(100vw - 24px);padding:10px 14px;border:1px solid #9eb8c7;border-radius:20px;background:#fff;color:#163c55;box-shadow:0 3px 14px #122c4620;font-size:13px;text-align:center;pointer-events:none}
@media(max-width:780px){html{overscroll-behavior-y:contain}.workflow #nav>.home-nav-item:has(> [data-home-section="Start"]){display:none}.project-action-grid:empty{display:none}}

header .mobile-home-actions>#undoProject,header .mobile-home-actions>#redoProject{display:flex;align-items:center;gap:10px;width:100%;height:auto;min-height:44px;margin:2px 0;padding:10px;text-align:left;background:#f0f5fa;color:#122c46;border:1px solid #d8e3eb;border-radius:6px;font-size:14px}

/* Shared planning fee background, with full-opacity controls. */
body.planning-fees-background .workspace{position:relative;isolation:isolate;background:transparent}
body.planning-fees-background .workspace::before{content:"";position:absolute;inset:0;z-index:-1;background:url("planning-effort.png") center center/cover no-repeat;opacity:.5;pointer-events:none}
body.planning-fees-background .area-hero{background:transparent}
body.planning-fees-background .area-hero .planning-image{display:none}
body.planning-fees-background .area-hero .planning-visual::after{display:none}

/* Signed-in homepage help and personal support. */
#supportWidget{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:85;font-size:14px}
#supportWidget[hidden],#supportWidget [hidden]{display:none!important}
.support-launcher{display:flex;gap:8px;align-items:center;background:#16599e;color:white;border-color:#16599e;border-radius:28px;padding:12px 18px;box-shadow:0 5px 20px #122c4638;font-weight:700}
.support-launcher:hover{background:#104478}
.support-panel{position:absolute;bottom:58px;right:0;display:flex;flex-direction:column;width:min(420px,calc(100vw - 24px));max-height:min(720px,calc(100dvh - 130px));padding:0;background:#fff;border:1px solid #a9c7d0;border-radius:14px;box-shadow:0 12px 45px #122c4650;overflow:hidden;color:#18324b}
.support-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;padding:16px;background:#122c46;color:#fff}
.support-head h2{margin:0;font-size:19px}.support-head p{margin:5px 0 0;font-size:12px;color:#d2e6f6}.support-head button{font-size:24px;padding:0 9px;background:transparent;color:#fff;border:0}
.support-tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid #d8e3eb}.support-tabs button{flex:1;font-size:13px;padding:9px 6px}.support-tabs [aria-selected=true]{background:#e7f1ff;color:#16599e;border-color:#16599e;font-weight:700}
#supportFaq,#supportChat{padding:14px;overflow:auto;min-height:0;overscroll-behavior:contain}
.support-search{display:flex;gap:6px;margin-top:6px}.support-search input{min-width:0;flex:1;width:100%;padding:9px;border:1px solid #b4cbd5;border-radius:6px}.support-search button{padding:9px}
.support-caption{font-size:12px;line-height:1.5;color:#567084;margin:9px 0}
[data-faq-results] details{padding:10px 0;border-bottom:1px solid #d8e3eb}[data-faq-results] summary{cursor:pointer;line-height:1.5;font-weight:600}[data-faq-results] summary span{display:block;font-size:11px;font-weight:400;color:#567084}[data-faq-results] p{font-size:14px;line-height:1.6;margin:10px 0}
[data-support-contact]{margin-top:12px;width:100%}
[data-support-status]{margin:0;padding:0 14px 8px;color:#16599e;font-size:13px;white-space:pre-wrap}
[data-support-name]{font-size:15px;margin:10px 0}.support-chat-log{max-height:270px;min-height:100px;overflow:auto;overscroll-behavior:contain;padding:5px;border:1px solid #d8e3eb;border-radius:8px;background:#f6f9fc}
.support-message{padding:9px;margin:6px 0;border-radius:8px;background:#e6f0fc;overflow-wrap:anywhere}.support-message.from-admin{background:#e2f1ec}.support-message strong{font-size:12px}.support-message p{margin:5px 0;white-space:pre-wrap;line-height:1.5}.support-message time{font-size:10px;color:#567084}
[data-support-send] label{display:block;margin:8px 0 5px}[data-support-send] textarea{width:100%;padding:8px;font:inherit;border:1px solid #b4cbd5;border-radius:6px;resize:vertical;max-height:140px}[data-support-send] button{width:100%;margin-top:5px;background:#16599e;color:#fff}
[data-support-online-label]{display:flex;gap:6px;align-items:center;font-size:13px;padding:6px 0}[data-support-online]{width:auto!important;margin:0}
[data-support-inbox]{max-height:340px;overflow:auto}[data-support-inbox] button{display:flex;flex-wrap:wrap;gap:5px;width:100%;text-align:left;margin:6px 0}[data-support-inbox] button>span:last-child{width:100%;font-size:12px;color:#567084;overflow-wrap:anywhere}.support-pending{font-size:11px;color:#a3540a;margin-left:auto}
@media(max-width:780px){#supportWidget{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.support-panel{width:calc(100vw - 24px);max-height:calc(100dvh - 110px)}.support-chat-log{max-height:30dvh}}

.support-launchers{display:flex;align-items:center;gap:8px}
.support-launcher svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.support-launcher[aria-expanded=true]{background:#104478;outline:2px solid #a8d2ff;outline-offset:2px}
#supportFaq [data-faq-choice]{width:100%;margin:7px 0 12px;padding:10px;border:1px solid #b4cbd5;border-radius:6px;box-sizing:border-box}
[data-faq-results] h3{margin:8px 0;font-size:15px}
[data-support-send] [data-contact-captcha]{margin-top:10px}
[data-support-send] [data-contact-result]{display:block;font-size:12px;color:#a52c32}

/* Die Chat-Sprechblase sitzt über der kleinen Ingenieurfigur. */
#supportWidget[data-support-view=chat] .support-panel{bottom:calc(100% + 18px);border-radius:24px;overflow:visible;max-height:min(640px,calc(100dvh - 215px))}
#supportWidget[data-support-view=chat] .support-panel::after{content:"";position:absolute;right:45px;bottom:-13px;width:24px;height:24px;background:#fff;border-right:1px solid #a9c7d0;border-bottom:1px solid #a9c7d0;transform:rotate(45deg);border-bottom-right-radius:5px}
#supportWidget[data-support-view=chat] .support-head{display:contents}
#supportWidget[data-support-view=chat] .support-head>div{display:none}
#supportWidget[data-support-view=chat] [data-support-close]{position:absolute;right:9px;top:8px;z-index:3;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#eaf3fa;color:#18324b;font-size:24px;line-height:28px}
#supportWidget[data-support-view=chat] #supportChat{border-radius:24px;padding:16px;min-height:0}
#supportWidget[data-support-view=chat] [data-support-name]{padding-right:34px;margin-top:2px}
#supportWidget[data-support-view=chat] [data-support-status]{position:relative;background:#fff;border-radius:0 0 24px 24px;z-index:1}
@media(max-width:780px){#supportWidget[data-support-view=chat] .support-panel{max-height:calc(100dvh - 205px)}}

.support-launchers{align-items:flex-end}
.support-launcher[data-support-launch=chat]{flex-direction:column;gap:2px;width:94px;padding:4px 6px 6px;background:transparent;color:#18324b;border:0;box-shadow:none;opacity:.7;border-radius:20px}
.support-launcher[data-support-launch=chat]:hover{background:#e8f3fc80}
.support-launcher[data-support-launch=chat][aria-expanded=true]{background:#e8f3fc80}
.support-engineer-button-image{display:block;width:82px;height:88px;object-fit:contain;filter:drop-shadow(0 2px 3px #122c4626)}
#supportWidget[data-support-view=faq] .support-panel{bottom:calc(100% + 12px)}

/* Chat oben, FAQ darunter; beide Schaltflächen 30 % transparent. */
.support-launchers{flex-direction:column;align-items:center;gap:8px}
.support-launchers [data-support-launch]{opacity:.7}
.support-launcher[data-support-launch=faq]{width:94px;justify-content:center}

[data-captcha-retry]{font-size:13px;padding:8px 10px;margin:8px 0;background:#eaf3fa!important;color:#18324b!important;border:1px solid #b4cbd5}
[data-contact-captcha]{max-width:100%;min-width:0}

.framework-form-actions>button[type=submit]{flex-basis:100%}
.framework-top-actions{justify-content:flex-start;flex-wrap:wrap;margin:0;gap:5px}
.framework-top-actions button{padding:7px 10px}
.framework-timeline thead .framework-phase-heading{font-size:20px;font-weight:750}
.framework-phase-edit[draggable=true]{cursor:grab}
.framework-drag-handle{float:right;margin-left:5px;padding:2px 5px;color:#688ba8;cursor:grab;touch-action:none;font-size:22px;line-height:1}
.phase-dragging{opacity:.45}
.framework-timeline tr.phase-drop-before>th,.framework-timeline tr.phase-drop-before>td{box-shadow:inset 0 3px #246fba}
.framework-timeline tr.phase-drop-after>th,.framework-timeline tr.phase-drop-after>td{box-shadow:inset 0 -3px #246fba}
@media(min-width:1051px){.schedule-0 .schedule-editor{position:sticky;top:calc(var(--header-height,64px) + var(--workflow-height,44px) + 12px);max-height:calc(100dvh - var(--header-height,64px) - var(--workflow-height,44px) - 24px);overflow-y:auto;overscroll-behavior:contain;align-self:start;margin-top:0}.schedule-0 .schedule-chart{margin-top:0}}
.schedule-0 .framework-form-head{flex-wrap:wrap;align-items:flex-start}
.schedule-0 .framework-form-head>strong{width:100%}
.schedule-0 .framework-form-actions{width:100%}

/* Dates point to the actual bar endpoints; short ranges use two label rows. */
.framework-timeline .time-blue{background:rgba(232,243,255,.5)}
.framework-timeline .gantt-bar i{background:rgba(146,200,251,.5)}
.framework-timeline .gantt-track{height:72px}
.framework-timeline .gantt-bar{top:29px;bottom:auto;height:16px}
.framework-timeline .gantt-milestone{top:37px}
.gantt-date-marker{position:absolute;top:2px;color:#173b60;font-size:12px;line-height:17px;white-space:nowrap;z-index:2;pointer-events:none}
.gantt-date-marker>span{display:block;background:rgba(255,255,255,.75);border-radius:2px;padding:0 2px}
.gantt-date-marker>i{display:block;position:absolute;top:19px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #3976b4}
.marker-start{transform:none}.marker-start>i{left:-4px}
.marker-end{transform:translateX(-100%)}.marker-end>i{right:-4px}
.marker-milestone{transform:translateX(-50%)}.marker-milestone>i{left:calc(50% - 4px)}
.gantt-date-marker.marker-below{top:52px}.marker-below>i{top:-7px;border-top:0;border-bottom:6px solid #3976b4}
.framework-timeline .date-nonworking>span{background:#ffe483;color:#5c4700}
.schedule-0 .schedule-date-control.date-nonworking input[type=text],.schedule-1 .schedule-date-control.date-nonworking input[type=text]{background:#fff0a6!important;border-color:#c39a20!important;color:#5c4700}
.framework-timeline thead th:first-child{position:relative}
.timeline-column-resize{position:absolute;right:-5px;top:0;bottom:0;width:10px;cursor:col-resize;touch-action:none;z-index:5}
.timeline-column-resize::after{content:'';position:absolute;left:4px;top:10px;bottom:10px;width:2px;background:#7c9cbb}
.timeline-column-resize:focus-visible{outline:2px solid #246fba}
.framework-timeline .timeline-phase-active .framework-phase-edit{background:#d0e3f6;border-color:#246fba;color:#102f50;box-shadow:inset 3px 0 #246fba}
.gantt-progress-marker{position:absolute;top:48px;transform:translateX(-100%);padding:0 3px;color:#173b60;background:rgba(255,255,255,.85);font-size:12px;line-height:18px;white-space:nowrap;z-index:3;pointer-events:none}
.gantt-progress-marker[data-progress="0"]{transform:none}
.framework-timeline .gantt-track:has(.marker-below){height:94px}
.framework-timeline .gantt-track:has(.marker-below) .gantt-progress-marker{top:75px}
.gantt-progress-marker::before{content:'';position:absolute;right:0;top:-5px;height:5px;border-right:1px solid #173b60}
.gantt-progress-marker[data-progress="0"]::before{right:auto;left:0}
.framework-chart-duration{text-align:center;font-weight:600;background:#fff;font-size:14px}
.framework-chart-duration,.framework-timeline thead th:last-child{background:#e8f3ff}
.gantt-date-marker .holiday-note{pointer-events:auto;position:absolute;left:calc(100% + 3px);top:0;width:14px;height:14px;min-width:14px;min-height:14px;padding:0;font-size:10px;line-height:12px;z-index:4}
.marker-end .holiday-note{left:auto;right:calc(100% + 3px)}
.schedule-date-control:has(.holiday-note){position:relative;padding-right:20px}
.schedule-date-control>.holiday-note{position:absolute;right:0;top:50%;transform:translateY(-50%);width:16px;height:16px;min-width:16px;min-height:16px;padding:0;font-size:11px;line-height:14px}
/* Holiday hint sits on the date input corner, before the calendar button. */
.schedule-date-control:has(.holiday-note){padding-right:0}
.schedule-date-control>.holiday-note{right:auto;transform:none;z-index:4;background:#e8f3ff}
.timeline-today-line{position:absolute;top:0;bottom:0;width:0;border-left:2px solid #d52330;z-index:1;pointer-events:none}
.framework-duration-heading{font-size:12px;line-height:1.25;text-align:center;padding:8px!important;overflow-wrap:normal}
.framework-timeline .framework-chart-duration{padding:8px}
.framework-year-heading{position:absolute;top:5px;height:27px;display:flex;justify-content:center;align-items:center;border-bottom:1px solid #89a7c3;border-left:1px solid #89a7c3;box-sizing:border-box;font-size:16px}
.framework-period-heading{position:absolute;top:38px;height:24px;display:flex;justify-content:center;align-items:center;font-size:14px;font-weight:700}
.gantt-date-marker,.gantt-progress-marker{font-size:14px;font-weight:700;line-height:19px}
.framework-year-heading{top:0;height:33px;border:1px solid #89a7c3}
.framework-year-heading.year-blue{background:#dcebf9}
.framework-year-heading.year-white{background:#fff}
.save-next-primary,.framework-form-actions>button.save-next-primary{background:#185ca8;color:white;border:2px solid #12477e;font-weight:750;box-shadow:0 2px 5px rgba(24,92,168,.2)}
.save-next-primary:hover{background:#12477e;color:white}
.save-next-primary:focus-visible{outline:3px solid #8dbce9;outline-offset:2px}
.schedule-completion-field{display:grid;gap:4px;font-size:14px;font-weight:600;margin:8px 0}
.schedule-completion-field input{width:100%;margin:0;max-width:160px}
.construction-duration{display:grid;gap:4px;margin:8px 0;font-size:14px;font-weight:600}
.construction-duration>div{display:grid;grid-template-columns:minmax(55px,1fr) minmax(85px,1fr);gap:6px}
.construction-duration input,.construction-duration select{width:100%;min-width:0;margin:0}
.construction-schedule-table .save-next-primary{font-size:13px;margin-top:6px}
.construction-single-mask .schedule-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.construction-single-mask .framework-form-head{margin:14px 0}
.construction-single-mask .framework-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.construction-single-mask .save-next-primary{width:100%}
.construction-single-mask .schedule-task-title,.construction-dependencies{grid-column:1/-1}
.construction-single-mask .construction-trade{display:flex;gap:6px}
.construction-single-mask .construction-trade input{flex:1;min-width:0}
.construction-dependencies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;background:#f2f7f9;border-radius:6px}
.construction-dependencies label{display:grid;gap:4px}
.construction-dependencies select{width:100%;min-width:0}
.construction-single-mask .schedule-completion-field input{max-width:none}
@media(max-width:500px){.construction-single-mask .schedule-row,.construction-dependencies{grid-template-columns:1fr}}
@media(min-width:1051px){.schedule-1 .schedule-editor{position:sticky;top:calc(var(--header-height,80px) + var(--workflow-height,48px) + 12px);max-height:calc(100vh - var(--header-height,80px) - var(--workflow-height,48px) - 28px);overflow-y:auto}}
.trade-cash-page{max-width:none}.cash-plan-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.cash-plan-actions label{display:flex;align-items:center;gap:8px}.cash-plan-actions select{width:auto;margin:0}
.trade-cash-plan-table{border-collapse:collapse;min-width:1100px;width:max-content;table-layout:auto}.trade-cash-plan-table th,.trade-cash-plan-table td{border:1px solid #a7bfd6;padding:10px;vertical-align:middle;font-size:13px;white-space:nowrap;text-align:right}.trade-cash-plan-table thead th{text-align:center;white-space:normal;min-width:100px;max-width:140px}.trade-cash-plan-table .cash-trade{position:sticky;left:0;z-index:2;background:#f7fbff;text-align:left;min-width:230px;max-width:280px;white-space:normal}.cash-trade small{display:block;color:#8a571a;font-weight:400;margin-top:5px}.trade-cash-plan-table .cash-year{font-size:16px;border:1px solid #89a7c3}.trade-cash-plan-table .year-blue{background:#dcebf9}.trade-cash-plan-table .year-white{background:#fff}.trade-cash-plan-table .cash-blue{background:rgba(232,243,255,.5)}.trade-cash-plan-table .cash-white{background:#fff}.trade-cash-plan-table tfoot{font-weight:750;background:#dcebf9}.trade-cash-plan-table .cash-period{min-width:130px}

.trade-cash-plan-table .cash-group{position:sticky;left:0;min-width:80px;width:80px;max-width:80px;box-sizing:border-box;text-align:left;z-index:3;background:#dcebf9}.trade-cash-plan-table .cash-trade{left:80px}.trade-cash-plan-table tbody tr[data-cash-kg] td.cash-group{font-weight:750}

.trade-cash-plan-table tbody tr.cash-overdue>th,.trade-cash-plan-table tbody tr.cash-overdue>td{background:#ffe4e4;color:#a4161a;border-color:#cf8181}.trade-cash-plan-table .cash-overdue-note{color:#a4161a;font-weight:700}

.trade-cash-plan-table .cash-group{min-width:110px;width:110px;max-width:110px}.trade-cash-plan-table .cash-trade{left:110px}.trade-cash-plan-table .cash-group-heading th,.trade-cash-plan-table .cash-group-total>th,.trade-cash-plan-table .cash-group-total>td{background:#dcebf9;font-weight:750}.trade-cash-plan-table .cash-group-heading th{text-align:left}.trade-cash-plan-table .cash-group select{width:90px;padding:5px;margin:0;font-size:13px}.trade-cash-plan-table tr[hidden]{display:none}

.cash-header{display:flex;align-items:center;gap:clamp(12px,1.5vw,28px);margin-bottom:20px;flex-wrap:wrap}.cash-title{display:flex;align-items:center;gap:8px}.cash-title h1{margin:0;font-size:clamp(24px,1.7vw,34px)}.cash-header-total{display:flex;flex-direction:column;gap:4px;font-size:13px}.cash-header-total strong{font-size:18px;white-space:nowrap}.cash-header .cash-plan-actions{margin-left:auto;font-size:13px;gap:8px}.cash-header .cash-plan-actions button,.cash-header .cash-plan-actions select{padding:7px 10px;font-size:13px}.cash-help{position:relative}.cash-help summary{display:grid;place-items:center;border:1px solid #2874b9;border-radius:50%;width:24px;height:24px;color:#2874b9;background:#e8f3ff;cursor:pointer;font-weight:700;list-style:none}.cash-help summary::-webkit-details-marker{display:none}.cash-help-bubble{position:absolute;top:32px;left:-200px;width:min(620px,80vw);padding:18px;background:#f3f8fe;border:1px solid #82accf;border-radius:14px;box-shadow:0 5px 20px #163c5b30;z-index:20;line-height:1.6;font-size:14px}.trade-cash-plan-table .cash-period,.trade-cash-plan-table .cash-year,.trade-cash-plan-table .cash-annual-total{position:relative}.trade-cash-plan-table .cash-annual-total{text-align:center;font-size:16px;font-weight:800;background:#dcebf9}.cash-today-marker{position:absolute;top:-1px;bottom:-1px;border-left:2px solid #e02626;z-index:4;pointer-events:none}.trade-cash-plan-table .cash-period{min-width:150px;width:150px;max-width:150px;box-sizing:border-box}@media(max-width:700px){.cash-header{gap:16px}.cash-title{width:100%}.cash-help-bubble{left:auto;right:-10px;width:80vw}.cash-header .cash-plan-actions{margin-left:0}}

/* Approved start-page design, 04.10.2026. */
.home-welcome::before{background-image:url("smart-bpm-project-background.png");background-position:center top;background-size:cover;opacity:1}
.home-welcome .home-landing-copy,.auth-page .home-landing-copy{box-sizing:border-box;background:transparent;backdrop-filter:none;border-radius:0;padding:12px 0;max-width:900px;color:#173b5c}
.home-landing-copy h1,.auth-page .home-landing-copy h1{font-size:clamp(25px,5.8cqw,48px);line-height:1.12;white-space:normal;letter-spacing:-.025em;margin:18px 0 14px;color:#092d67}
.smart-wordmark{display:block;width:clamp(180px,42cqw,320px);height:auto;max-width:100%;margin-bottom:18px;color:#092d67}
.home-title{display:block;overflow-wrap:anywhere}
.home-landing-copy .home-eyebrow{font-size:12px;line-height:1.5;letter-spacing:.19em;text-transform:uppercase;font-weight:700;margin:0 0 24px;color:#173b5c}
.home-landing-copy .welcome-tagline,.auth-page .home-landing-copy .welcome-tagline{font-size:clamp(20px,3.4cqw,28px);line-height:1.3;font-weight:600;margin:0 0 24px;color:#173b5c}
.home-landing-copy>p:not(.welcome-tagline):not(.home-eyebrow):not(.home-login-status){font-size:18px;line-height:1.6;max-width:62ch;margin:0 0 22px;color:#173b5c}
.home-landing-copy .home-demonstration{margin-bottom:0!important}
.auth-page .login-box,.home-welcome .home-contact-form{background:rgba(255,255,255,.5);backdrop-filter:none;color:#173b5c}
.auth-page .login-box h1,.home-contact-form h2{font-size:28px;color:#173b5c}
.auth-page .login-box form>button[type=submit]{display:block;width:100%;background:#173b5c;border-color:#173b5c;color:#fff;font-weight:700;margin-top:18px}
.auth-page .login-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:18px}
.auth-page .login-links button{background:transparent;border:0;box-shadow:none;padding:4px 0;color:#173b5c;text-decoration:underline}
.auth-page .login-box input,.home-contact-form input,.home-contact-form select,.home-contact-form textarea{background:#fff;color:#173b5c}
body.auth-screen main.auth-page{grid-template-columns:minmax(0,1fr) minmax(320px,460px);gap:clamp(32px,4vw,68px);padding:clamp(24px,4vw,60px)}
@media(max-width:900px){body.auth-screen main.auth-page{grid-template-columns:minmax(0,1fr);padding:24px 16px;gap:28px}.home-welcome::before{background-size:auto 900px;background-position:58% top;background-repeat:no-repeat}.home-welcome .home-landing-copy{background:linear-gradient(90deg,rgba(255,255,255,.8),rgba(255,255,255,.5));padding:16px;border-radius:10px}.home-landing-copy h1,.auth-page .home-landing-copy h1{font-size:clamp(22px,5.8cqw,38px)}}
@media(max-width:540px){.home-landing-copy>p:not(.welcome-tagline):not(.home-eyebrow):not(.home-login-status){font-size:16px}.home-landing-copy .home-eyebrow{font-size:11px;letter-spacing:.13em}.home-landing-copy .welcome-tagline,.auth-page .home-landing-copy .welcome-tagline{font-size:20px}.smart-wordmark{width:210px}.auth-page .login-box h1,.home-contact-form h2{font-size:25px}}
.auth-page .public-contact{grid-column:1;width:100%;max-width:900px;justify-self:start}
@media(max-width:900px){.auth-page .public-contact{max-width:680px;justify-self:center}}
/* Bauausgabenbuch: grouped invoice and cost-group columns. */
.expenditure-page .book-template-table{min-width:3400px;width:max-content}
.book-template-table thead th{vertical-align:middle;text-align:center;border:1px solid #7e8f7a;background:#e2efda;color:#172b20;min-width:90px;max-width:240px;line-height:1.3;font-size:12px;padding:10px 7px}
.book-template-table td{vertical-align:top;border-right:1px solid #e4edf3}
.book-template-table td:nth-child(2),.book-template-table td:nth-child(8),.book-template-table td:nth-child(10){min-width:190px}
.book-template-table small{display:block;margin-top:6px;max-width:230px;line-height:1.4;color:#60778b}
.book-template-table input:not([type=number]):not([type=date]){width:100%;min-width:135px}
.book-template-table .book-money{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.book-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.book-entry-dialog{width:min(960px,calc(100vw - 32px));max-height:90dvh;overflow:auto;border:1px solid #ccdce6;border-radius:12px;padding:24px;color:#18324b}
.book-entry-dialog::backdrop{background:#12324b66}
.book-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.book-entry-grid label{display:grid;gap:7px;font-size:14px}
.book-entry-grid input,.book-entry-grid select{width:100%!important;min-width:0!important}
.book-entry-preview{padding:14px;background:#edf5fa;border-radius:8px;line-height:1.6}
.book-form-error{color:#a32323}.book-help,.book-funding-settings{margin:16px 0}.book-help p{max-width:100ch;line-height:1.5}
.book-funding-import{margin:22px 0;padding:16px;border:1px solid #c5d8bb;border-radius:8px;background:#f4f8f0}
.book-funding-import summary{font-weight:700;cursor:pointer}
.book-funding-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:16px 0}
.book-funding-choices label{display:flex;align-items:start;gap:10px;padding:12px;border:1px solid #c5d8bb;background:white;border-radius:6px}
.book-funding-choices input[type=checkbox]{width:18px;min-width:18px;height:18px;margin:2px 0}
.book-funding-choices small{display:block;margin-top:5px;color:#4e6652}
@media(max-width:640px){.book-entry-grid{grid-template-columns:1fr}.book-entry-dialog{padding:16px}.expenditure-page .section-head{align-items:start;flex-direction:column}}
.review-cover{border:1px solid #c6d8e3;border-radius:9px;margin:24px 0;padding:20px;background:#fff}
.cover-switch{display:flex;align-items:center;gap:10px;margin:12px 0}.cover-switch input{width:auto}
.cover-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.cover-meta label,.cover-meta>div{display:grid;gap:6px}.cover-meta span{font-size:13px;color:#506b80}.cover-meta input{width:100%;min-width:0}
.cover-calculation{width:100%;min-width:620px;border-collapse:collapse}.cover-calculation th,.cover-calculation td{padding:10px;border:1px solid #c6d8e3;vertical-align:middle}.cover-calculation thead{background:#e9f2f8}.cover-calculation th:first-child{width:40px}.cover-calculation td:nth-child(3){width:155px}.cover-calculation input[type=number]{width:105px}.cover-calculation .cover-money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.cover-total{background:#edf4f9;font-weight:700}.cover-final{background:#dcecf5}.cover-previous input{width:100%;min-width:110px}.cover-signature{margin-top:20px}.cover-positions summary{font-weight:600;padding:10px 0}.cover-positions table{min-width:850px}.cover-positions input{max-width:150px}.review-cover .trace{line-height:1.5}
@media(max-width:640px){.review-cover{padding:12px}.cover-meta{grid-template-columns:1fr}}
@media print{body.print-review-cover *{visibility:hidden!important}body.print-review-cover .review-cover,body.print-review-cover .review-cover *{visibility:visible!important}body.print-review-cover .review-cover{position:absolute;inset:0 auto auto 0;width:100%;max-width:none;margin:0;padding:0;border:0;font-size:10pt}body.print-review-cover .review-cover button,body.print-review-cover .cover-switch,body.print-review-cover .review-cover .trace,body.print-review-cover .cover-positions{display:none!important}body.print-review-cover .review-cover h2{font-size:15pt}body.print-review-cover .table-scroll{overflow:visible!important}body.print-review-cover .cover-calculation{min-width:0}body.print-review-cover .cover-calculation td,body.print-review-cover .cover-calculation th{padding:5px}body.print-review-cover .review-cover input{border:0;padding:0;background:transparent;color:#000}body.print-review-cover .cover-meta{gap:6px;margin:8px 0}body.print-review-cover .cover-signature{break-inside:avoid}body.print-review-cover .review-cover tr{break-inside:avoid}}
@media print{body.print-review-cover .workspace,body.print-review-cover main,body.print-review-cover #content,body.print-review-cover .review-page{height:auto!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important}}

/* Keep the mobile start-page title within its available content width. */
@media(max-width:540px){.home-welcome .home-landing-copy,.auth-page .home-landing-copy{container-type:inline-size}.home-landing-copy .home-title{font-size:min(38px,7.5cqw);white-space:nowrap;overflow-wrap:normal;max-width:100%}}

.home-welcome{background:transparent;min-height:calc(100dvh - var(--header-height,98px) - var(--workflow-height,44px))}.home-welcome::before{position:fixed;inset:0;background-image:url("smart-tkq-construction-clear.webp?v=clear-1");background-size:cover;background-position:center;background-repeat:no-repeat}body.auth-screen main.auth-page{background-image:url("smart-tkq-construction-clear.webp?v=clear-1");background-size:cover;background-position:center;min-height:100dvh}
.order-entry-dialog{width:min(1000px,95vw);max-height:90dvh;overflow:auto}.order-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.order-form-grid label{display:grid;gap:6px}.order-form-grid input,.order-form-grid select,.order-form-grid textarea{width:100%;box-sizing:border-box}.order-form-grid textarea{padding:10px;font:inherit;border:1px solid #bdccd9;border-radius:5px;resize:vertical}.order-form-checks{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0}.order-checkbox{display:flex;align-items:center;gap:8px}.order-checkbox input{width:auto}.order-entry-dialog h3{margin-top:24px}@media(max-width:650px){.order-form-grid{grid-template-columns:1fr}}

body.auth-screen main.auth-page{background-attachment:fixed}

.book-order-register{margin:24px 0;padding:18px;border:1px solid #c5d5e3;border-radius:8px;background:#f8fbff}.book-order-register h2{margin:0 0 8px}.book-orders-table{width:100%;min-width:1000px;border-collapse:collapse}.book-orders-table th,.book-orders-table td{padding:10px;border-bottom:1px solid #d6e3eb;text-align:left}.book-orders-table thead,.book-orders-table tfoot{background:#e8f2ff}

#homeSidebar #adminDatabase,#homeSidebar #adminBackup{width:100%;margin:0 0 14px}#homeSidebar #adminDatabase .admin-sidebar-actions{margin-bottom:0}#homeProjectUtilities{margin:14px 0}#homeProjectUtilities summary{cursor:pointer;font-weight:600}#homeProjectUtilities>button{margin-top:10px;width:100%}.review-order-context{margin:20px 0;padding:18px;background:#f3f8fe;border:1px solid #c5d5e3;border-radius:8px}.review-order-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}.review-order-data span{display:block;font-size:12px;color:#587186}.review-order-data strong{display:block;margin-top:4px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.review-order-context summary{cursor:pointer}@media(max-width:800px){.review-order-data{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.review-order-data{grid-template-columns:1fr}}

/* Startseite: Verwaltung und Projekte links, Kontakte rechts. */
.workspace:has(>#adminSidebar:not([hidden])):has(#homeSidebar:not([hidden])){grid-template-columns:285px minmax(0,1fr) minmax(275px,320px)}
#adminSidebar{padding:16px;background:#f8fbfd}#adminSidebar .panel{width:100%;margin:0 0 14px;padding:20px}#adminSidebar .admin-sidebar-actions{margin-bottom:0}#adminSidebar #adminBackupDownload{width:100%}
.home-welcome::before{background-position:calc(50% + 28px) center;background-color:#f7fbff}
@media(min-width:781px) and (max-width:1100px){.workspace:has(>#adminSidebar:not([hidden])):has(#homeSidebar:not([hidden])){grid-template-columns:245px minmax(0,1fr) 275px}}
@media(max-width:780px){.workspace:has(>#adminSidebar:not([hidden])):has(#homeSidebar:not([hidden])){grid-template-columns:minmax(0,1fr)}#adminSidebar{position:static;height:auto;overflow:visible}.home-welcome::before{background-position:center}}

#adminSidebar[hidden],#adminSidebar [hidden]{display:none!important}
body.site-home #adminSidebar:not([hidden]){display:flex;flex-direction:column;align-self:start;position:sticky;top:calc(var(--header-height,98px) + var(--workflow-height,44px));height:auto;max-height:none;min-height:calc(100dvh - var(--header-height,98px) - var(--workflow-height,44px) - 24px);overflow:visible}
#adminSidebar #homeProjects{margin:16px 0 0;padding:18px;flex:none}body.site-home #adminSidebar #homeProjects{margin-top:auto;padding-top:20px}#adminSidebar #homeProjects button{width:100%;margin-top:8px}#adminSidebar #homeProjects select{width:100%;margin:10px 0}
@media(max-width:780px){body.site-home #adminSidebar:not([hidden]){position:static;min-height:0;height:auto}body.site-home #adminSidebar #homeProjects{margin-top:16px}}

/* Assign the admin start-page columns explicitly and keep panels above the full-screen image. */
body.admin-home .workspace{grid-template-areas:"administration content contacts";grid-template-columns:285px minmax(0,1fr) minmax(275px,320px);align-items:start}
body.admin-home .workspace>#adminSidebar{grid-area:administration;position:sticky;top:calc(var(--header-height,98px) + var(--workflow-height,44px));z-index:1;isolation:isolate;display:flex;flex-direction:column;gap:14px;padding:16px;background:#f8fbfd;border-right:1px solid #d8e1e9}
body.admin-home .workspace>main{grid-area:content;min-width:0}
body.admin-home .workspace>#homeSidebar{grid-area:contacts;z-index:1;isolation:isolate}
body.admin-home #adminSidebar>#adminDatabase,body.admin-home #adminSidebar>#adminBackup{flex:none;min-width:0;margin:0;padding:18px;overflow-wrap:anywhere}
body.admin-home #adminSidebar h2{font-size:1.15rem;margin-top:0}
@media(min-width:781px) and (max-width:1100px){body.admin-home .workspace{grid-template-columns:245px minmax(0,1fr) 275px}}
@media(max-width:780px){body.admin-home .workspace{grid-template-areas:"content" "administration" "contacts";grid-template-columns:minmax(0,1fr)}body.admin-home .workspace>#adminSidebar{position:static;min-height:0;height:auto;overflow:visible}}

/* Admin start page: translucent windows and room for the management motif. */
body.admin-home .workspace>#adminSidebar,body.admin-home .workspace>#homeSidebar{background:transparent}
body.admin-home #adminSidebar>.panel,body.admin-home #homeSidebar>.panel{background:rgba(255,255,255,.5);background-image:none;backdrop-filter:none;opacity:1}
/* Anchor the image's right edge before the right sidebar, including tall screens. */
body.admin-home{--home-right-column:320px}
body.admin-home .home-welcome::before{background-position:right var(--home-right-column) center}
@media(min-width:781px) and (max-width:1100px){body.admin-home{--home-right-column:275px}}
@media(max-width:780px){body.admin-home .home-welcome::before{background-position:center}}
.smart-wordmark-image{object-fit:contain;mix-blend-mode:multiply}
.smart-wordmark-text{width:auto;background:transparent;font-size:clamp(48px,10cqw,82px);line-height:1;font-weight:700;letter-spacing:-.035em}

/* Marked start-page layout: logo, aligned caption, readable copy, bottom status. */
.home-brand{display:block;width:clamp(180px,42cqw,320px);max-width:100%;margin-bottom:24px}
.home-brand .smart-wordmark{width:100%;margin:0 0 8px}
.home-landing-copy .home-brand .home-eyebrow{display:block;width:100%;margin:0;font-size:clamp(7px,1.57cqw,12px);line-height:1.5;letter-spacing:.12em;text-align:justify;text-align-last:justify;white-space:nowrap}
.home-welcome .home-landing{display:flex;flex-direction:column;min-height:calc(100dvh - var(--header-height,98px) - var(--workflow-height,44px) - 2 * clamp(22px,3vw,46px))}
.home-welcome .home-landing-copy{align-self:stretch}
.home-welcome .home-landing-copy>p:not(.welcome-tagline):not(.home-eyebrow):not(.home-login-status),.auth-page .home-landing-copy>p:not(.welcome-tagline):not(.home-eyebrow):not(.home-login-status){font-size:18px;line-height:1.5;overflow-wrap:break-word}
.home-welcome .home-landing>.home-login-status{margin:auto 0 0;padding-top:32px;font-size:14px;line-height:1.5;color:#506d85}
@media(max-width:540px){.home-brand{width:210px}.home-landing-copy .home-brand .home-eyebrow{font-size:8px}.home-welcome .home-landing-copy>p:not(.welcome-tagline):not(.home-eyebrow):not(.home-login-status),.auth-page .home-landing-copy>p:not(.welcome-tagline):not(.home-eyebrow):not(.home-login-status){font-size:16.5px}.home-welcome .home-landing{min-height:calc(100dvh - var(--header-height,98px) - var(--workflow-height,44px) - 40px)}}

.home-brand .smart-wordmark-image{mix-blend-mode:normal;background:transparent}

/* Shared euro and state-calendar presentation across pages and dialogs. */
input[data-currency-field]{font-variant-numeric:tabular-nums}
input.app-date-nonworking,td.app-date-nonworking,time.app-date-nonworking{background-color:#fff0dc!important;color:#794b12!important;box-shadow:inset 0 0 0 1px #d59136}
.app-date-note{display:block;font-size:12px;line-height:1.35;font-weight:500;color:#794b12;white-space:normal;margin:4px 0 0}

/* Align the caption with the visible lettering, excluding the PNG's transparent margins. */
.home-brand{container-type:inline-size}
.home-landing-copy .home-brand .home-eyebrow{width:94.84%;margin:0 0 0 3.87%;font-size:6cqw;font-weight:400;text-transform:none;letter-spacing:0;text-align:justify;text-align-last:justify;line-height:1.5}

/* Darker start-page description for stronger contrast with the photograph. */
.home-welcome .home-landing-copy>p:not(.welcome-tagline):not(.home-eyebrow):not(.home-login-status),.auth-page .home-landing-copy>p:not(.welcome-tagline):not(.home-eyebrow):not(.home-login-status){color:#071b33}

/* Stretch the clearer construction photo across the complete page background. */
.home-welcome::before,body.admin-home .home-welcome::before,body.auth-screen main.auth-page{background-image:linear-gradient(rgba(255,255,255,.30),rgba(255,255,255,.30)),url("smart-tkq-construction-clear.webp?v=clear-1");background-size:100% 100%,100% 100%;background-position:center,center;background-repeat:no-repeat;background-color:#edf4fa}

/* A single network, anchored to the upper-left brand block on both start pages.
   The three management symbols form the triangle around the centered wordmark. */
.home-welcome::after,body.auth-screen main.auth-page::before{content:none;background-image:none;transform:none}
.home-brand{position:relative;isolation:isolate;display:block;width:clamp(280px,100%,480px);max-width:100%;aspect-ratio:1.15;margin:0 0 20px;container-type:inline-size}
.home-brand::before{content:"";position:absolute;inset:0;z-index:-1;background-image:none;background-repeat:no-repeat;background-size:190% auto;background-position:right center;opacity:.32;pointer-events:none}
.home-brand .smart-wordmark-image{position:absolute;left:47%;top:44%;transform:translate(-50%,-50%);width:52%;max-width:none;height:auto;margin:0;background:transparent}
.home-landing-copy .home-brand .home-eyebrow{position:absolute;left:47%;top:56%;transform:translateX(-50%);width:61%;margin:0;font-size:4.5cqw;line-height:1.4;font-weight:400;letter-spacing:0;text-align:center;text-align-last:center;white-space:nowrap}
@media(max-width:540px){.home-brand{width:min(100%,360px)}}

/* Enlarge only the network; align the caption to the PNG's visible letters. */
.home-brand::before{transform:scale(1.12);transform-origin:47% 44%}
.home-landing-copy .home-brand .home-eyebrow{left:47.67%;width:49.32%;top:55%;font-size:inherit;line-height:1}
.home-brand .home-eyebrow svg{display:block;width:100%;height:auto;overflow:visible}
.home-brand .home-eyebrow text{font-family:Arial,sans-serif;font-size:30px;font-weight:400;fill:currentColor;letter-spacing:0}
/* Paired planning/construction orders and termination forms. */
.order-workspace-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px}
.order-workspace-menu button{padding:20px;text-align:left;font-size:18px;white-space:normal;border:1px solid #adc5da;background:#f1f7fc;color:#173b5c}
.order-workspace-menu button.selected{background:#173b5c;color:#fff}
@media(max-width:540px){.order-workspace-menu{gap:8px}.order-workspace-menu button{padding:12px;font-size:15px}}

/* Continuous column dividers from procurement headings to the last row. */
.procurement-table.tracking-table{border-collapse:separate;border-spacing:0}
.procurement-table.tracking-table th,.procurement-table.tracking-table td{border-right:1px solid #91a9bf;border-bottom:1px solid #c4d2df}
.procurement-table.tracking-table th:first-child,.procurement-table.tracking-table td:first-child{border-left:1px solid #91a9bf}
.procurement-table.tracking-table thead th{border-top:1px solid #91a9bf}

.change-workspace-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 24px}
.change-workspace-menu section{padding:16px;background:#f1f7fc;border:1px solid #adc5da;border-radius:6px}
.change-workspace-menu h2{font-size:20px;margin:0 0 12px}
.change-workspace-menu button{display:block;width:100%;margin:8px 0;padding:12px;text-align:left;white-space:normal}
.change-workspace-menu button.selected{background:#173b5c;color:white}
.change-document-dialog{width:min(1200px,96vw);max-width:96vw;max-height:90dvh;overflow:auto}
.change-document-dialog [hidden]{display:none!important}
.change-positions-table{min-width:1200px}
.change-positions-table input{width:100%;min-width:70px}
.change-check-open{color:#794b12}.change-check-fail{color:#a3292c}.change-check-documented{color:#126237}
.change-totals{padding:14px;background:#edf4fa;margin:16px 0;line-height:1.6;font-variant-numeric:tabular-nums}
@media(max-width:540px){.change-workspace-menu{gap:8px}.change-workspace-menu section{padding:10px}.change-workspace-menu h2{font-size:17px}}

/* Opaque home administration panels */
body.admin-home #adminContacts.panel,body.admin-home #adminActivity.panel,body.admin-home #homeProjectUtilities.panel{background:#fff;background-image:none;opacity:1;backdrop-filter:none}

.tracking-invoice-row{background:#eef5fb;color:#24445f}.tracking-invoice-row td{font-size:12px}.tracking-invoice-row .remarks-col{white-space:normal;min-width:240px;max-width:420px}.tracking-invoice-row button{font-size:12px}

.review-status-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;margin:8px 0 20px;border:1px solid #c5d3df;border-radius:8px;background:#f5f8fb}.review-status-toolbar .review-status-red{background:#fde5e5;color:#8d1e24;border:1px solid #be3841}.review-status-toolbar .review-status-yellow{background:#fff0b3;color:#624b00;border:1px solid #b88c05}.review-status-toolbar .review-status-green{background:#dff3e5;color:#175a2e;border:1px solid #33814b}.review-status-badge{display:inline-block;padding:4px 9px;border-radius:6px}.review-status-toolbar button[aria-pressed="true"]{outline:2px solid currentColor;outline-offset:2px;font-weight:750}.review-status-toolbar button:hover{filter:brightness(.96)}

.tracking-change-alert{background:#ffe4e4!important;color:#9c2026;border:2px solid #c83e46!important}.tracking-change-alert input{color:#9c2026;border-color:#c83e46;font-weight:750}.tracking-change-alert .tracking-reason{color:#9c2026}

/* Preserve the home background image proportions on mobile. */
@media(max-width:900px){
  .home-welcome::before,
  body.admin-home .home-welcome::before,
  body.auth-screen main.auth-page{
    background-size:100% 100%,cover;
    background-position:center,center top;
  }
}

.cost-history-list>div{flex-wrap:wrap}.cost-history-list>div>span{flex:1 1 240px}.cost-history-remove{color:#a32929;border-color:#cf8b8b}

.delete-confirmation-dialog{width:min(460px,calc(100vw - 32px));max-width:calc(100vw - 32px);box-sizing:border-box;border:1px solid #adc3d7;border-radius:10px;padding:24px;color:#173b5c;background:#fff}.delete-confirmation-dialog::backdrop{background:#10263c66}.delete-confirmation-dialog h2{font-size:20px;line-height:1.4;margin:0 0 24px}.delete-confirmation-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.delete-confirmation-actions button{min-width:100px;min-height:44px}.delete-confirmation-yes{background:#a32929;color:#fff;border-color:#a32929}
.review-important{font-size:1.08rem;font-weight:700}.review-important input{font-size:1.2rem!important;font-weight:700;min-height:44px}.cover-deduction-options{margin:16px 0;padding:12px;background:#edf5fa}.cover-deduction-options label{display:inline-flex;gap:8px;margin:8px 18px 8px 0}.review-sequence{display:block;max-width:680px;margin:18px 0}.review-query textarea{display:block;width:100%;margin-top:10px}.cover-query-print{display:none}.review-upload-dialog{max-width:540px;border:0;border-radius:12px;padding:26px;box-shadow:0 18px 70px #1235}.review-upload-dialog::backdrop{background:#16324f88}.review-upload-dialog .review-actions{flex-wrap:wrap}.cover-signature+.cover-query-print{display:block}
.pdf-preview-dialog{width:min(1200px,96vw);max-width:96vw;height:92vh;max-height:96vh;padding:0;border:1px solid #9ab3cb;border-radius:12px;overflow:hidden;box-shadow:0 20px 80px #102c5066}.pdf-preview-dialog[open]{display:flex;flex-direction:column}.pdf-preview-dialog::backdrop{background:#102c5080}.pdf-preview-head{padding:12px 18px;background:#eef5fb;border-bottom:1px solid #c2d2df}.pdf-preview-head h2{margin:0;font-size:1.1rem;overflow-wrap:anywhere}.pdf-preview-frame{flex:1;min-height:0;width:100%;border:0;background:#e7edf3}.pdf-preview-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 18px;border-top:1px solid #c2d2df;background:white}.pdf-preview-actions button:first-child{background:#173e63;color:white}.pdf-preview-actions a{font-size:.9rem}@media(max-width:600px){.pdf-preview-dialog{width:98vw;max-width:98vw;height:96dvh}.pdf-preview-actions{gap:8px;padding:10px}.pdf-preview-actions button{font-size:.85rem}}@media print{.pdf-preview-dialog{display:none!important}}
.review-required-star{color:#c71e2d;font-weight:800}.review-missing{border:2px solid #c71e2d!important;outline:0!important;background:#fff5f5!important}.review-message-dialog,.review-reviewer-dialog{position:fixed;inset:0;margin:auto;width:min(540px,92vw);max-height:90vh;overflow:auto;border:1px solid #b7cbdc;border-radius:12px;padding:24px;box-shadow:0 20px 80px #15345466}.review-message-dialog::backdrop,.review-reviewer-dialog::backdrop{background:#15345480}.review-message-dialog button{display:block;min-width:100px;margin:20px auto 0}.review-reviewer-dialog label{display:block;margin:14px 0}.review-reviewer-dialog input,.review-reviewer-dialog select{display:block;width:100%;box-sizing:border-box;margin-top:6px}.review-reviewer-dialog .review-actions{margin-top:20px}.cover-check-summary{width:100%;border-collapse:collapse}.cover-check-summary th,.cover-check-summary td{padding:8px;border-bottom:1px solid #c8d6e3;text-align:left}
.review-cover .cover-deduction-options>summary{font-size:1.25rem;font-weight:800;color:#173e63;background:#fff0bc;border-left:5px solid #d49312;border-radius:6px;padding:12px 16px;line-height:1.4;cursor:pointer}.review-cover .cover-deduction-options>summary:hover{background:#ffe5a0}.review-cover .cover-deduction-options>summary:focus-visible{outline:3px solid #397aad;outline-offset:3px}@media(max-width:600px){.review-cover .cover-deduction-options>summary{font-size:1.15rem;padding:10px 12px}}

.review-check-options{margin:16px 0}.review-check-options>summary{cursor:pointer;font-size:1.1rem;font-weight:700;color:#173d60;padding:12px;background:#edf4fa;border-radius:6px}.review-check-options .review-checks{flex-direction:column}.review-check-result{margin-left:auto;color:#526678;font-size:.9rem}@media print{.review-check-options{display:none!important}}

.review-page .review-primary-actions{align-items:flex-start;justify-content:flex-end;margin:0;gap:10px}.review-invoice-dropdown{position:relative;max-width:440px}.review-invoice-dropdown>summary{list-style:none;cursor:pointer;background:#edf4fa;border:1px solid #8da9c1;border-radius:6px;padding:10px 14px;font-weight:700;color:#173d60}.review-invoice-dropdown>summary::-webkit-details-marker{display:none}.review-invoice-dropdown>summary::after{content:" ▾"}.review-invoice-dropdown[open]>summary::after{content:" ▴"}.review-invoice-dropdown>label{display:block;position:absolute;z-index:20;right:0;min-width:340px;max-width:calc(100vw - 40px);padding:14px;background:#fff;border:1px solid #8da9c1;border-radius:6px;box-shadow:0 8px 22px #173d6028}.review-invoice-dropdown select{display:block;width:100%;margin-top:8px}.review-invoice-dropdown>summary:focus-visible{outline:3px solid #397aad;outline-offset:2px}@media(max-width:700px){.review-page .review-primary-actions{justify-content:flex-start;width:100%}.review-invoice-dropdown{max-width:100%;width:100%}.review-invoice-dropdown>label{position:static;min-width:0;max-width:none}}

.review-page label:has(>.review-required-star),.review-reviewer-dialog label:has(>.review-required-star){position:relative;padding-right:18px}.review-page label>.review-required-star,.review-reviewer-dialog label>.review-required-star{position:absolute;top:0;right:0;font-size:1.15rem;line-height:1;color:#c71e2d}.cover-calculation td:has(>.review-required-star){position:relative;padding-top:22px}.cover-calculation td>.review-required-star{position:absolute;top:4px;right:6px;font-size:1.15rem;line-height:1}.review-page .review-important input:not(.review-missing){border-color:#9eb0c1}.review-page .review-important label{background:transparent}

.cost-confirmation{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid #b8c7d8;border-radius:8px;margin:12px 0}.cost-history-list>div.cost-history-confirmed,.cost-history-confirmed{background:#e2f3e7;border:1px solid #70ad82;border-radius:8px;color:#185c32;padding:12px}.cost-history-confirmed button[data-cost-history-confirm]{background:#237540;color:white;border-color:#237540;opacity:1}

/* Marked desktop start page: copy/contact on the left, brain beside login. */
.cover-logo-header{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:16px;margin:12px 0 28px}.cover-logo-header label{display:grid;gap:8px;font-size:14px}.cover-logo{max-width:200px;max-height:95px;object-fit:contain}.review-cover .cover-project-group,.review-cover .cover-invoice-group{display:block;border:1px solid #c6d8e3;border-radius:8px;overflow:hidden;margin:0 0 28px}.review-cover .cover-project-group>*,.review-cover .cover-invoice-group>*{display:grid;grid-template-columns:minmax(160px,40%) minmax(0,1fr);align-items:center;gap:14px;padding:10px 14px;border-bottom:1px solid #dce5ec}.review-cover .cover-meta>*:last-child{border-bottom:0}.review-cover .cover-meta strong{white-space:normal;overflow-wrap:anywhere}.review-cover .cover-invoice-caption{font-size:20px;font-weight:700;background:#edf4fa}.review-cover .cover-calculation{border-collapse:separate;border-spacing:0}.cover-step-group::before{content:"";display:table-row;height:28px}.cover-step-group>tr>td,.cover-step-group>tr>th{border-top:0;border-bottom:1px solid #c6d8e3}.cover-step-group>tr:first-child>*{border-top:1px solid #c6d8e3}.cover-step-group>tr:last-child>*{border-bottom:2px solid #a9bed0}.cover-step-group>tr>th:first-child{border-left:1px solid #c6d8e3}.cover-step-group>tr>td:last-child{border-right:1px solid #c6d8e3}.cover-previous{margin-top:14px}.cover-previous td,.cover-previous th{font-size:13px}.review-cover .cover-signature{margin-top:32px;padding-top:20px;border-top:1px solid #c6d8e3}@media(max-width:600px){.review-cover .cover-project-group>*,.review-cover .cover-invoice-group>*{grid-template-columns:1fr;gap:6px}.cover-logo-header{justify-content:flex-start}}
@media(min-width:1200px){
  body.auth-screen main.auth-page{column-gap:clamp(24px,3vw,48px);row-gap:24px;align-content:start}
  .auth-page .auth-introduction{position:relative;grid-column:1;grid-row:1}
  .auth-page .home-landing-copy{width:55%;max-width:none;padding-top:0}
  .auth-page .home-landing-copy h1{display:contents}
  .auth-page .home-title{font-size:clamp(22px,2.3vw,44px);line-height:1.12;margin:12px 0 18px;color:#092d67;letter-spacing:-.025em}
  .auth-page .home-brand{position:absolute;top:0;right:0;width:42%;max-width:480px;margin:0}
  .auth-page .login-box{grid-column:2;grid-row:1 / span 2;align-self:start}
  .auth-page .public-contact{grid-column:1;grid-row:2;width:55%;max-width:none;justify-self:start}
  .auth-page .home-contact-form{padding:clamp(20px,2vw,32px)}
}

/* Highlight the project title, invoice number and numbered calculation headings. */
.review-cover .cover-project-title,.review-cover .cover-invoice-group>.review-invoice-number,.review-cover .cover-calculation .cover-total{background:#dce6ef;color:#172b40}.review-cover .cover-calculation .cover-final{background:#d0deeb}.review-page [data-review-sequence]{background:#e8eef5;font-weight:700;color:#173b5c}

/* Bauausgabenbuch: blue top header and compact main cost groups. */
.book-template-table thead tr:first-child th{background:#dceefa;color:#18324b;border-color:#9bb9ce}
.expenditure-page .book-template-table{min-width:0}
.expenditure-page .book-template-table .book-kg-heading{min-width:132px;max-width:132px;padding:8px 4px}
.expenditure-page .book-template-table .book-kg-money{min-width:66px;max-width:90px;padding:8px 4px;font-size:11px}
.expenditure-page .book-template-table td:nth-child(6),.expenditure-page .book-template-table thead tr:first-child th:nth-child(6){min-width:64px;width:64px}
.expenditure-page .book-template-table [data-book-field=costGroup]{min-width:58px;width:58px;padding:6px 2px}

.expenditure-page .book-template-table td:nth-child(2),.expenditure-page .book-template-table thead tr:first-child th:nth-child(2){min-width:78px;width:78px}
.expenditure-page .book-template-table [data-book-field=allocationId]{min-width:70px;width:78px;padding:6px 3px}

.trade-cash-plan-table .cash-top-total th,.trade-cash-plan-table .cash-top-total td{background:#dceefa;font-weight:700;border-bottom:2px solid #7aa6c3}
.trade-cash-plan-table .cash-top-total .cash-period small{display:block;font-size:11px;font-weight:500;margin-bottom:5px;white-space:nowrap}

/* Project summary above the home introduction, in the marked six positions. */
.home-project-summary{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:960px;margin:-12px auto 20px}
.home-summary-card{display:flex;flex-direction:column;gap:5px;min-width:0;padding:14px 10px;border:1px solid #c4d9e8;border-radius:10px;background:rgba(239,248,255,.8);color:#082b51;text-align:center}
.home-summary-card>span{font-size:14px;font-weight:600}.home-summary-card>strong{font-size:clamp(12px,2.8vw,22px);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.home-summary-card>small{font-size:11px;color:#49667f}
@media(max-width:540px){.home-project-summary{gap:6px;margin-bottom:14px}.home-summary-card{padding:10px 4px}.home-summary-card>span{font-size:11px}.home-summary-card>small{font-size:9px}}

/* Move the six home values closer to the mobile navigation. */
@media(max-width:780px){.home-welcome:has(>.home-project-summary){padding-top:12px}}

.aggregate-controls{display:flex;flex-wrap:wrap;gap:20px;margin:18px 0}.aggregate-controls label{display:grid;gap:6px}.aggregate-controls [data-aggregate-vat]{max-width:100px}.aggregate-cost-table{min-width:760px;width:100%;border-collapse:collapse}.aggregate-cost-table th,.aggregate-cost-table td{border:1px solid #b8cbd9;padding:12px 14px}.aggregate-cost-table thead th{background:#dceefa;text-align:center}.aggregate-cost-table tbody th{text-align:left;font-weight:400}.aggregate-cost-table td:first-child{width:64px;text-align:center}.aggregate-cost-table .aggregate-money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.aggregate-cost-table .aggregate-subtotal{background:#edf5fa;font-style:italic}.aggregate-cost-table .aggregate-total{background:#dceefa;font-weight:700}.aggregate-cost-table .aggregate-total th{font-weight:700}.aggregate-cost-table input{width:100%;min-width:120px;text-align:right}.aggregate-existing-details{margin:18px 0}.aggregate-existing-details>summary{cursor:pointer;font-weight:600;padding:12px}

/* Aggregated cost comparison: larger type, tighter columns and linked chart. */
.aggregate-cost-page{font-size:16px}.aggregate-comparison-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(350px,1fr);gap:18px;align-items:start}.aggregate-comparison-layout>.table-scroll{min-width:0}.aggregate-cost-page .aggregate-cost-table{min-width:620px;width:100%;font-size:16px}.aggregate-cost-page .aggregate-cost-table th,.aggregate-cost-page .aggregate-cost-table td{padding:9px 7px;line-height:1.35}.aggregate-cost-page .aggregate-cost-table thead th{font-size:16px}.aggregate-cost-page .aggregate-cost-table td:first-child{width:42px}.aggregate-cost-page .aggregate-cost-table tbody th{max-width:220px}.aggregate-cost-page .aggregate-cost-table input{min-width:105px;font-size:16px;padding:6px}.aggregate-cost-page .aggregate-controls{font-size:16px}.aggregate-cost-page .aggregate-controls select,.aggregate-cost-page .aggregate-controls input{font-size:16px}.aggregate-chart{margin:0;padding:16px 10px;border:1px solid #b8cbd9;border-radius:8px;background:#f7fbfe;min-width:0}.aggregate-chart figcaption{font-size:19px;font-weight:700;text-align:center;margin:0 0 12px}.aggregate-chart-scroll{overflow-x:auto}.aggregate-chart svg{display:block;width:100%;min-width:350px;height:auto;font-family:inherit;color:#18324b}.aggregate-axis-text{font-size:17px;fill:#18324b}.aggregate-axis-title{font-size:17px;fill:#18324b}.aggregate-bar-value{font-size:15px;fill:#235472}.aggregate-chart p{font-size:14px;margin:12px 6px 0;line-height:1.45;color:#526b7d}@media(max-width:1100px){.aggregate-comparison-layout{grid-template-columns:minmax(0,1fr)}.aggregate-chart{max-width:760px;width:100%;box-sizing:border-box}}

.aggregate-cost-page .aggregate-cost-table{table-layout:fixed}.aggregate-kg-col{width:42px}.aggregate-label-col{width:230px}.aggregate-value-col{width:165px}.aggregate-cost-page .aggregate-cost-table thead th{overflow-wrap:anywhere}.aggregate-save-controls{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.aggregate-save-controls button{min-height:40px}.aggregate-column-picker{align-self:flex-end;position:relative}.aggregate-column-picker summary{cursor:pointer;border:1px solid #b8cbd9;border-radius:5px;padding:10px 14px;background:#edf5fa}.aggregate-column-picker>div{position:absolute;z-index:20;right:0;min-width:300px;max-width:90vw;max-height:350px;overflow:auto;background:#fff;border:1px solid #b8cbd9;box-shadow:0 6px 20px #18324b24;padding:12px;border-radius:5px}.aggregate-column-picker>div>label{display:flex;align-items:flex-start;gap:9px;padding:7px 0;cursor:pointer}.aggregate-column-picker input{width:18px;height:18px;flex-shrink:0}.aggregate-chart-legend{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px}.aggregate-chart-legend li{display:flex;align-items:center;gap:6px}.aggregate-chart-legend span,.aggregate-column-color{display:inline-block;width:12px;height:12px;flex-shrink:0;border-radius:2px}.aggregate-column-color{margin-right:6px}@media(max-width:600px){.aggregate-column-picker>div{left:0;right:auto}.aggregate-controls{gap:12px}}

/* Compact, centered cost tracking with continuous cell separators. */
.cost-tracking .tracking-table.management-table{width:max-content;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0;margin-inline:auto}
.cost-tracking .tracking-table.management-table th,.cost-tracking .tracking-table.management-table td{box-sizing:border-box;width:140px;min-width:140px;max-width:140px;padding:6px 5px;text-align:center;vertical-align:middle;border-right:1px solid #91a9bf;border-bottom:1px solid #91a9bf}
.cost-tracking .tracking-table.management-table tr>:first-child{border-left:1px solid #91a9bf}
.cost-tracking .tracking-table.management-table thead th{border-top:1px solid #91a9bf;font-size:14px}
.cost-tracking .tracking-table.management-table [data-tracking-column="kg"]{width:70px;min-width:70px;max-width:70px;left:58px}
.cost-tracking .tracking-table.management-table [data-tracking-column="name"]{width:180px;min-width:180px;max-width:180px;left:128px}
.cost-tracking .tracking-table.management-table [data-tracking-column="contractor"],.cost-tracking .tracking-table.management-table [data-tracking-column="remarks"]{width:180px;min-width:180px;max-width:180px}
.cost-tracking .tracking-table.management-table input,.cost-tracking .tracking-table.management-table textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:6px 4px;text-align:center;font-size:13px}
.cost-tracking .tracking-table.management-table .procurement-column-title{padding:5px 2px;font-weight:700;font-size:12px}
.cost-tracking .tracking-table.management-table .tracking-reason{min-width:0;white-space:normal}
.cost-tracking .tracking-table.management-table tfoot th{width:auto;max-width:none}

/* Selected swimming-pool construction image with master schedule and site team. */
.home-welcome::before,body.admin-home .home-welcome::before,body.auth-screen main.auth-page{background-image:linear-gradient(rgba(255,255,255,.40),rgba(255,255,255,.40)),url("smart-bpm-swimming-pool-home-v7.webp");background-size:cover;background-position:center center;background-repeat:no-repeat;background-color:#edf4fa}

@media(max-width:780px){
.home-welcome::before,body.admin-home .home-welcome::before,body.auth-screen main.auth-page{background-size:100% 100%,cover;background-position:center center,center center;background-color:#edf4fa}
/* A fixed viewport layer keeps the image full-screen while the mobile page scrolls. */
body.auth-screen main.auth-page{background-image:none;background-attachment:scroll;isolation:isolate}
body.auth-screen main.auth-page::before{content:"";display:block;position:fixed;inset:0;z-index:-1;pointer-events:none;transform:none;background-image:linear-gradient(rgba(255,255,255,.40),rgba(255,255,255,.40)),url("smart-bpm-swimming-pool-home-v7.webp");background-size:100% 100%,cover;background-position:center center;background-repeat:no-repeat;background-color:#edf4fa}
}

/* Match contact, login activity and project tools to the translucent left panels. */
body.admin-home #adminContacts.panel,body.admin-home #adminActivity.panel,body.admin-home #homeProjectUtilities.panel,.auth-page .login-box,.home-welcome .home-contact-form,.auth-page .home-contact-form{background:rgba(255,255,255,.5);background-image:none;opacity:1;backdrop-filter:none}

/* Move the desktop public-home brand together into the marked lower sky area. */
@media(min-width:1200px){
.auth-page .home-brand{top:clamp(340px,44vh,420px);right:10%;}
}

/* Signed-in home: upper-left copy, compact upper-right values, lower-right brand. */
.home-welcome:has(.home-user-copy){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(28px,3vw,48px);row-gap:0;align-items:start;padding:24px 24px 36px 34px}
.home-welcome:has(.home-user-copy)>.home-project-summary{grid-column:2;grid-row:1;justify-self:end;width:100%;max-width:600px;margin:0;gap:8px}
.home-welcome:has(.home-user-copy) .home-summary-card{padding:10px 8px;gap:3px;border-radius:8px}
.home-welcome:has(.home-user-copy) .home-summary-card>span{font-size:12px;line-height:1.25}
.home-welcome:has(.home-user-copy) .home-summary-card>strong{font-size:20px;line-height:1.2}
.home-welcome:has(.home-user-copy) .home-summary-card>small{font-size:10px;line-height:1.2}
.home-welcome:has(.home-user-copy)>.home-landing,.home-welcome .home-user-copy{display:contents;container-type:normal}
.home-welcome .home-copy-text{grid-column:1;grid-row:1 / span 2;min-width:0;position:relative;z-index:1}
.home-welcome .home-copy-text h1{margin:0 0 18px;line-height:1.12;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.home-welcome .home-copy-text .home-title{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.home-welcome .home-copy-text p{max-width:58ch;font-size:18px;line-height:1.5;margin:0 0 20px}
.home-welcome .home-user-copy>.home-brand{grid-column:2;grid-row:2;position:relative;inset:auto;align-self:start;justify-self:end;width:calc(100% - 40px);max-width:420px;margin:clamp(110px,15vh,150px) 0 24px 0}
.home-welcome:has(.home-user-copy) .home-login-status,.home-welcome:has(.home-user-copy)>.home-contact-inbox{grid-column:1 / -1}
@media(max-width:1100px){
.home-welcome:has(.home-user-copy){grid-template-columns:minmax(0,1fr);padding:20px;gap:24px}
.home-welcome .home-copy-text{grid-column:1;grid-row:1}
.home-welcome:has(.home-user-copy)>.home-project-summary{grid-column:1;grid-row:2;max-width:600px;justify-self:end}
.home-welcome .home-user-copy>.home-brand{grid-column:1;grid-row:3;width:min(calc(100% - 40px),360px);margin:20px 20px 12px 0}
.home-welcome .home-copy-text p{font-size:16px}
}

/* Mobile: retain the crane at the right edge and fit each full value to its card. */
@media(max-width:780px){
 .home-welcome::before,body.admin-home .home-welcome::before,body.auth-screen main.auth-page::before{background-position:center center,right calc(var(--header-height,98px) + var(--workflow-height,44px) + 24px);background-color:#cbe5f8}
 .home-summary-card{container-type:inline-size}
 .home-welcome:has(.home-user-copy) .home-summary-card>strong,.home-summary-card>strong{font-size:min(20px,calc(140cqw / var(--value-length,14)));white-space:nowrap;overflow-wrap:normal;word-break:normal;line-height:1.25}
}
/* Desktop network and wordmark beneath the copy, aligned to its left edge. */
@media(min-width:1101px){
.home-welcome .home-copy-text{grid-row:1}
.home-welcome .home-user-copy>.home-brand{grid-column:1;grid-row:2;justify-self:start;margin:32px 0 24px}
.home-welcome .home-user-copy>.home-brand::before{transform-origin:left center}
}

/* Translucent pale-blue navigation with restrained shadows and clear focus states. */
:root{--nav-glass:rgba(178,218,249,.30);--nav-ink:#071c34;--nav-text-shadow:0 1px 1px rgba(255,255,255,.80),0 1px 2px rgba(6,28,52,.10)}
.workflow{background:var(--nav-glass);border-bottom:1px solid rgba(119,169,210,.38);box-shadow:0 3px 12px rgba(24,69,108,.10);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.workflow nav button,.workflow .home-nav-item>.home-menu-toggle,.workflow #backView,.workflow #homeButton{color:var(--nav-ink);font-weight:650;text-shadow:var(--nav-text-shadow);background:transparent}
.workflow #backView,.workflow #homeButton{background:var(--nav-glass);border-color:rgba(111,164,207,.40)}
.workflow nav button.selected,.workflow nav button:hover,.workflow #homeButton:hover,.workflow #backView:hover:not(:disabled){background:rgba(149,203,246,.42);color:var(--nav-ink);box-shadow:inset 0 -2px 0 rgba(31,110,177,.65)}
.workflow .home-menu,.workflow .home-submenu,.workflow .tga-navigation .tga-menu,.home-menu .cost-stages-menu>.home-submenu{background:var(--nav-glass);border-color:rgba(111,164,207,.40);box-shadow:0 8px 22px rgba(16,56,91,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.workflow .home-menu button,.workflow .home-submenu button,.workflow .tga-navigation .tga-menu button{background:transparent;color:var(--nav-ink);font-weight:600;text-shadow:var(--nav-text-shadow)}
.workflow .home-menu button:hover,.workflow .home-submenu button:hover,.workflow .tga-navigation .tga-menu button:hover,.workflow .home-menu button:focus-visible{background:rgba(149,203,246,.42)}
header .prototype{padding:4px 9px;border:1px solid rgba(178,218,249,.35);border-radius:6px;background:var(--nav-glass);color:#e5f3ff;text-shadow:0 1px 2px rgba(0,28,52,.45)}

/* Opaque backgrounds only for individual navigation labels. */
.workflow nav button,.workflow .home-nav-item>.home-menu-toggle,.workflow #backView,.workflow #homeButton,.workflow .home-menu button,.workflow .home-submenu button,.workflow .tga-navigation .tga-menu button{background:#e5f1fb;border-radius:5px;opacity:1}
.workflow nav button.selected,.workflow nav button:hover,.workflow #homeButton:hover,.workflow #backView:hover:not(:disabled),.workflow .home-menu button:hover,.workflow .home-submenu button:hover,.workflow .tga-navigation .tga-menu button:hover,.workflow .home-menu button:focus-visible{background:#cbe4f8}
.workflow nav button:disabled,.workflow #backView:disabled,.workflow #homeButton:disabled{background:#e5f1fb;opacity:1;color:#718397;text-shadow:none}
header .prototype{background:#e5f1fb;color:var(--nav-ink);text-shadow:var(--nav-text-shadow);border-color:#b8d4eb}

/* Keep fixed dropdowns attached directly to their heading; no containing-block offset. */
.workflow{backdrop-filter:none;-webkit-backdrop-filter:none}
.workflow .home-nav-item>.home-menu{top:var(--menu-top,calc(var(--header-height,64px) + var(--workflow-height,44px) - 4px));margin-top:0;padding-top:0;border-top:0;border-radius:0 0 8px 8px}
.workflow .home-nav-item.menu-open>[data-home-section],.workflow .home-nav-item.menu-open>.home-menu-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}

/* Use the same translucent surface for both homepage sidebars. */
body.site-home{--home-panel-surface:rgba(255,255,255,.5)}
body.site-home .workspace>#adminSidebar,body.site-home .workspace>#homeSidebar{background:transparent;background-image:none}
body.site-home #adminDatabase.panel,body.site-home #adminBackup.panel,body.site-home #homeProjects.panel,body.site-home #adminContacts.panel,body.site-home #adminActivity.panel,body.site-home #homeProjectUtilities.panel{background:var(--home-panel-surface);background-image:none;opacity:1;backdrop-filter:none;-webkit-backdrop-filter:none}

/* Align the network with the title in its own desktop column. */
@media(min-width:1101px){
.home-welcome .home-copy-text{grid-column:1;grid-row:1 / span 2;container-type:inline-size}
.home-welcome .home-copy-text h1{font-size:min(48px,6.35cqw)}
.home-welcome .home-user-copy>.home-brand{grid-column:2;grid-row:1;justify-self:start;align-self:start;margin:24px 0 24px 20px}
.home-welcome:has(.home-user-copy)>.home-project-summary{grid-column:2;grid-row:2;margin:0}
}

/* Let the table determine the height of the adjacent chart. */
@media(min-width:1101px){
.aggregate-comparison-layout{align-items:stretch}
.aggregate-comparison-layout>.aggregate-chart{contain:size;min-height:0;display:flex;flex-direction:column;overflow:auto;box-sizing:border-box}
.aggregate-comparison-layout>.aggregate-chart .aggregate-chart-scroll{flex:1;min-height:0;position:relative}
.aggregate-comparison-layout>.aggregate-chart svg{position:absolute;inset:0;height:100%;width:100%}
}

/* The approved network and logo now form one fixed background layer. */
.home-welcome .home-user-copy>.home-brand,.auth-page .home-brand{visibility:hidden;pointer-events:none}
.home-welcome::after,body.auth-screen main.auth-page::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url("smart-bpm-home-background-brand.svg?v=logo-clean-v9-20261025");background-repeat:no-repeat;background-size:min(420px,calc((100vw - 720px)/2)) auto;background-position:left calc(50vw - 4px) top calc(var(--header-height,64px) + var(--workflow-height,44px) + 48px)}
body.auth-screen main.auth-page::after{background-size:min(420px,38vw) auto;background-position:right 10vw top clamp(340px,44vh,420px)}
@media(max-width:1100px){
.home-welcome::after{background-size:min(360px,calc(100vw - 64px)) auto;background-position:left 24px top calc(var(--header-height,64px) + var(--workflow-height,44px) + 530px)}
body.auth-screen main.auth-page::after{background-size:min(300px,calc(100vw - 48px)) auto;background-position:right 24px top 370px}
}
@media(min-width:781px) and (max-width:1100px){
.home-welcome::after{background-size:min(360px,calc(100vw - 560px)) auto;background-position:left 265px top calc(var(--header-height,64px) + var(--workflow-height,44px) + 530px)}
}
.funding-research-navigation,.funding-research-sources{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}
.funding-research-navigation a,.funding-research-sources a{text-decoration:none;color:#123c65;background:#eaf4fc}
.funding-research-navigation span{display:inline-block;padding:2px 7px;margin-left:6px;border-radius:12px;background:#d2e6f8;font-size:12px}
.funding-research-category{scroll-margin-top:calc(var(--header-height,64px) + var(--workflow-height,44px) + 16px)}
.funding-research-category .table-scroll table{min-width:1500px}
.funding-research-category [data-funding-research-category]{min-width:150px}
.funding-research-sources .trace{flex-basis:100%}
/* Mobile brand: align the background motif with the start-page heading. */
@media(max-width:780px){
 .home-welcome::after{background-position:left 24px top calc(var(--header-height,64px) + var(--workflow-height,44px) + 20px)}
 body.auth-screen main.auth-page::after{background-position:right 24px top calc(var(--header-height,64px) + 58px)}
}

/* Values start level with the heading; background motifs sit below them. */
@media(min-width:1101px){
.home-welcome:has(.home-user-copy)>.home-project-summary{grid-column:2;grid-row:1;align-self:start;margin:0}
.home-welcome .home-user-copy>.home-brand{grid-column:2;grid-row:2;margin:32px 0 24px 20px}
.home-welcome::after{background-position:left calc(50vw - 4px) top calc(var(--header-height,64px) + var(--workflow-height,44px) + 240px)}
}
@media(max-width:780px){
.home-welcome .home-copy-text{display:contents}
.home-welcome .home-copy-text h1{grid-column:1;grid-row:1;margin:0}
.home-welcome:has(.home-user-copy)>.home-project-summary{grid-column:1;grid-row:2;margin:0}
.home-welcome .home-copy-text>p{grid-column:1;margin:0}
.home-welcome .home-user-copy>.home-brand{grid-column:1;grid-row:6}
.home-welcome::after{background-position:left 24px top calc(var(--header-height,64px) + var(--workflow-height,44px) + 620px)}
}
@media(min-width:781px) and (max-width:1100px){
.home-welcome::after{background-position:left 265px top calc(var(--header-height,64px) + var(--workflow-height,44px) + 620px)}
}

.cost-pdf-upload small{display:block;margin-top:8px}.cost-pdf-dialog{width:min(1100px,94vw);max-height:90vh;border:1px solid #a7c6df;border-radius:12px;padding:24px;color:#163957;background:#f5faff}.cost-pdf-dialog::backdrop{background:rgba(12,32,52,.55)}.cost-pdf-dialog .table-scroll{max-height:48vh;margin:16px 0}.cost-pdf-dialog td{vertical-align:top;max-width:340px;white-space:normal}.cost-pdf-dialog select{max-width:280px}.cost-pdf-dialog input[type=number]{width:140px}.cost-pdf-dialog [data-error]{color:#a52b22}.cost-pdf-dialog td input:not([type=checkbox]){display:block;margin-top:6px}

/* Align the background network horizontally with the content above it. */
.home-welcome::after{background-position-x:var(--home-brand-horizontal)}

/* Desktop network begins at the text edge, below the final paragraph. */
@media(min-width:1101px){
 .home-welcome::after{background-position-x:var(--home-brand-horizontal,24px);background-position-y:var(--home-brand-vertical,calc(var(--header-height,64px) + var(--workflow-height,44px) + 420px))}
}

/* Public desktop start page: network in the clear area beside contact and login. */
@media(min-width:1200px){
 body.auth-screen main.auth-page::after{background-size:var(--auth-brand-width,420px) auto;background-position:left var(--auth-brand-left,45vw) top var(--auth-brand-top,240px)}
}

/* Mobile public start: place the lowest network sphere on the crane tip. */
@media(max-width:780px){
 body.auth-screen main.auth-page::after{background-position:right calc(24px + 6.3vw) top calc(var(--header-height,64px) + 58px + .5vw - 4.5rem)}
}

/* Darker Smart wordmark on mobile start pages. */
@media(max-width:780px){
 .home-welcome::after,body.auth-screen main.auth-page::after{background-image:url("smart-bpm-home-background-brand-mobile.svg?v=logo-clean-v9-20261025")}
}

/* HOAI-Leistungsphasenauswahl bleibt auch bei Abwahl bedienbar. */
.hoai-phase-choice{display:flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer}
.hoai-phase-choice input[type="checkbox"]{width:18px;min-height:18px;height:18px;padding:0;margin:0;accent-color:#187a48}
.hoai-phases tr.phase-excluded{background:#f1f3f5;color:#687784}
.hoai-phases tr.phase-excluded .hoai-phase-choice span{text-decoration:line-through}

.time-fees{min-width:940px}
.time-fee-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}
.time-fee-actions button[data-move-hour]{width:32px;min-height:32px;padding:4px;font-size:18px}
.time-fee-actions button:disabled{opacity:.4;cursor:default}
.time-fees tfoot th,.time-fees tfoot td{border-top:2px solid #9eafbd;background:#edf3f8;font-weight:700}

/* Both compact fee rows stay together below the navigation. */
.fee-total-sticky{position:sticky;top:calc(var(--header-height,64px) + var(--workflow-height,44px));z-index:30;margin:0 0 16px;border-radius:10px;overflow:hidden;background:#122c46;color:#fff;box-shadow:0 3px 10px #122c4633}
.fee-metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.fee-metric{min-width:0;padding:12px 16px;display:flex;flex-direction:column;gap:4px;border-right:1px solid #ffffff24}
.fee-metric:last-child{border-right:0}.fee-metric span{font-size:14px;font-weight:600}.fee-metric strong{font-size:21px;color:#8dc5ff;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.fee-metric small{font-size:11px;color:#c4d8e9;line-height:1.3}
.fee-metric-row-actual{background:#eaf3fb;color:#122c46;border-top:1px solid #abc7df}.fee-metric-row-actual .fee-metric{border-color:#b9cede}.fee-metric-row-actual strong{color:#174e81}.fee-metric-row-actual small{color:#4d6479}.fee-metric.overbilled strong{color:#a62424}
#content:has(> .fee-total-sticky) .project-class-sticky{position:static}
body.planning-fees-background .sheet-pdf-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;height:auto;min-height:44px;padding:10px 16px;background:#205fa5;color:#fff;border:2px solid #144e87;border-radius:8px;font-size:14px;font-weight:700;white-space:nowrap;box-shadow:0 3px 8px #144e8726}
body.planning-fees-background .sheet-pdf-button:hover{background:#144e87}body.planning-fees-background .sheet-pdf-button:focus-visible{outline:3px solid #70b4ff;outline-offset:3px}
body.planning-fees-background #feeCards.sheet-results-with-pdf{display:flex;flex-direction:column;align-items:stretch;margin-bottom:16px}body.planning-fees-background #feeCards>.sheet-pdf-button{align-self:flex-end;order:-1}body.planning-fees-background #feeCards>.panel{margin:0}
body.planning-fees-background .cards.cost-summary.sheet-results-with-pdf{grid-template-columns:repeat(3,minmax(0,1fr))}body.planning-fees-background .cards.cost-summary>.sheet-pdf-button{grid-column:1/-1;grid-row:auto;justify-self:end}
@media(max-width:780px){.fee-metric{padding:8px;gap:3px}.fee-metric span{font-size:11px;line-height:1.3}.fee-metric strong{font-size:clamp(12px,3.2vw,18px)}.fee-metric small{display:none}}
@media(max-width:780px) and (display-mode:standalone){.fee-total-sticky{top:calc(var(--header-height,64px) + var(--workflow-height,44px) + env(safe-area-inset-top))}}
@media print{.fee-total-sticky{display:none}}

.cost-allocation-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.cost-allocation-panel table{min-width:600px}.cost-allocation-panel td small,.cost-planner-label{display:block;font-size:12px;color:#60778b;margin-top:5px}.cost-allocation-panel select{min-width:200px}.cost-allocation-panel input{min-width:80px}.cost-trades-table td:has(select[data-cost-trade="planner"]){min-width:220px}@media(max-width:780px){.cost-allocation-totals{grid-template-columns:1fr}}

/* Shared save actions, matching the supplied blue button reference. */
button.save-action{background:#205fa5!important;color:#fff!important;border:3px solid #144e87!important;border-radius:11px!important;padding:12px 22px;min-height:48px;font-weight:700;font-size:16px;line-height:1.25;box-shadow:0 4px 9px #144e8726;text-align:center;max-width:100%;white-space:normal}
button.save-action:hover:not(:disabled){background:#1b5595!important;box-shadow:0 5px 12px #144e8733}
button.save-action:focus-visible{outline:3px solid #8dc5ff;outline-offset:3px}
button.save-action:disabled{opacity:.55;cursor:default}
@media(max-width:780px){button.save-action{padding:11px 16px;font-size:15px;min-height:46px}}

/* Approved Smart − TKQ wordmark, fully visible in the header. */
header .brand img{position:static;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;filter:brightness(0) invert(1);mix-blend-mode:normal}

.hoai-phases tfoot th,.hoai-phases tfoot td{background:#e8f2ff;font-weight:700;border-top:2px solid #9bbbd7}
.fee-letter-editor{width:min(850px,94vw);max-height:90vh;padding:24px;border:1px solid #a8c4d9;border-radius:14px}.fee-letter-editor form>label{display:block;margin:12px 0}.fee-letter-editor textarea{display:block;width:100%;box-sizing:border-box}.fee-letter-editor input[type=checkbox]{width:auto;margin-right:8px}.fee-letter-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fee-letter-grid select{width:100%}.fee-letter-editor pre{white-space:pre-wrap;font:inherit;background:#f1f6fb;padding:12px}.fee-letter-editor fieldset{margin:12px 0}.fee-letter-editor fieldset label{display:block}.fee-letter-editor .dialog-actions{position:sticky;bottom:0;background:white;padding:12px 0;flex-wrap:wrap}@media(max-width:600px){.fee-letter-grid{grid-template-columns:1fr}}
.documentation-tabs,.protocol-view-tabs,.protocol-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 20px}.documentation-tabs [aria-current=page],.protocol-view-tabs [aria-current=page]{background:#d4eafb;color:#123956;border:2px solid #8ebade}.protocol-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:20px 0}.protocol-workspace input:not([type=checkbox]),.protocol-workspace select,.protocol-workspace textarea{width:100%;box-sizing:border-box}.protocol-workspace textarea{min-width:160px;resize:vertical}.protocol-workspace>label{display:block;margin:16px 0}.protocol-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.protocol-workspace details{margin:16px 0;padding:14px;background:#f6faff;border:1px solid #d5e4ef;border-radius:8px}.protocol-topics{min-width:780px}.protocol-topics td:nth-child(2){min-width:250px}.protocol-topics td:nth-child(4){min-width:340px}.protocol-actions{min-width:1150px}.protocol-actions td:nth-child(3){min-width:360px}.protocol-actions td:nth-child(-n+2){width:65px}.protocol-actions td:nth-child(6){min-width:140px}.protocol-actions td:nth-child(7){min-width:140px}.protocol-master table{min-width:550px}.protocol-toolbar label{min-width:200px}.protocol-suggestion{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #dce7ee;padding:8px 0}.protocol-workspace [data-protocol-save]{background:#d9edfc;color:#153e5d;border:2px solid #93bbd9;font-weight:700}.protocol-workspace [aria-invalid=true]{border:2px solid #c52525}@media(max-width:700px){.protocol-columns{grid-template-columns:1fr}.protocol-fields{grid-template-columns:1fr 1fr}.protocol-toolbar>*{flex:1 1 150px}.protocol-suggestion{display:block}}

.procurement-framework{max-width:1400px;margin:0 auto}.procurement-placeholder{background:#edf5fb;padding:12px 16px;border-radius:8px;color:#244b68}.procurement-phase-nav,.procurement-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.procurement-phase-nav [aria-current=page]{background:#d5ebfc;border:2px solid #8ab8d8;color:#123956}.procurement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0 28px;align-items:start}.procurement-card{border:1px solid #bed8e9;border-radius:12px;background:#fff;padding:18px;min-width:0}.procurement-card summary{cursor:pointer;font-weight:700;color:#163e5c;line-height:1.5}.procurement-card summary span{display:block;color:#58768b;font-size:12px;font-weight:400;margin-top:5px}.procurement-card h2{font-size:20px;margin:0 0 12px}.procurement-fields{padding-left:20px}.procurement-fields li{margin:14px 0;line-height:1.5}.procurement-fields span{display:block;font-size:13px;color:#637783}.procurement-info{background:#eef7fe;border-left:4px solid #87b9df;border-radius:6px;padding:12px 16px;margin:16px 0;color:#204b68}.procurement-info p{margin:6px 0;line-height:1.55}.procurement-info a,.procurement-sources a{color:#185e92;text-decoration:underline;overflow-wrap:anywhere}.procurement-framework>section{margin-top:28px}.procurement-framework>section>h2{font-size:22px}.procurement-sources{border-top:1px solid #cbdfea;margin-top:28px;padding-top:16px}@media(max-width:760px){.procurement-grid{grid-template-columns:1fr}.procurement-phase-nav button{flex:1 1 220px;text-align:left}.procurement-card{padding:15px}}

/* Vergabe: click-operated hierarchy, each branch stays inside the dropdown. */
#nav .procurement-nav-item>.home-menu{width:var(--menu-width);max-width:none;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;resize:none;max-height:min(75dvh,650px)}
#nav .procurement-nav-item .home-submenu{position:static;left:auto;top:auto;display:none;width:auto;min-width:0;max-height:none;overflow:visible;box-shadow:none;margin:3px 0 8px 10px;padding:4px 0 4px 10px;border:0;border-left:2px solid #9fc7e5;border-radius:0;background:#f4f9fe}
#nav .procurement-nav-item .home-submenu-parent:hover>.home-submenu,#nav .procurement-nav-item .home-submenu-parent:focus-within>.home-submenu{display:none}
#nav .procurement-nav-item .home-submenu-parent.open>.home-submenu{display:grid;gap:3px}
#nav .procurement-nav-item [data-submenu-toggle]{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;font-weight:650}
#nav .procurement-nav-item [data-submenu-toggle] span{flex:none;transition:transform .15s ease}
#nav .procurement-nav-item [data-submenu-toggle][aria-expanded=true]{background:#deeffc;color:#173d5c}
#nav .procurement-nav-item [data-submenu-toggle][aria-expanded=true] span{transform:rotate(180deg)}
#nav .procurement-nav-item .home-menu button{white-space:normal;overflow-wrap:anywhere;min-height:42px;line-height:1.4}

/* Four procurement areas use the same visual navigation as cost management. */
.area-hero:has(img[src="contracts-hero.png"]) .planning-tool-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(1000px,calc(100% - 32px));gap:14px;overflow:visible;max-height:none;align-content:start}
.area-hero:has(img[src="contracts-hero.png"]) .hero-choice{min-width:0;width:100%}
.area-hero:has(img[src="contracts-hero.png"]) .hero-primary{min-width:0;min-height:100px;padding:16px 20px}
.area-hero:has(img[src="contracts-hero.png"]) .hero-choice:has(.hero-toggle) .hero-primary{padding-right:64px}
.area-hero:has(img[src="contracts-hero.png"]) .hero-primary strong{font-size:clamp(17px,1.5vw,22px);overflow-wrap:anywhere;line-height:1.3}
@media(max-width:550px){.area-hero:has(img[src="contracts-hero.png"]) .planning-tool-choices{grid-template-columns:1fr;top:16px;gap:8px;max-height:calc(100% - 130px);overflow-y:auto}.area-hero:has(img[src="contracts-hero.png"]) .hero-primary{min-height:70px;padding:10px 12px}.area-hero:has(img[src="contracts-hero.png"]) .hero-choice:has(.hero-toggle) .hero-primary{padding-right:54px}}

#nav .documentation-menu>.home-submenu{position:static;display:none;min-width:0;max-height:none;overflow:visible;box-shadow:none;margin:3px 0 8px 10px;padding:4px 0 4px 10px;border:0;border-left:2px solid #9fc7e5;border-radius:0;background:#f4f9fe}
#nav .documentation-menu:hover>.home-submenu,#nav .documentation-menu:focus-within>.home-submenu{display:none}
#nav .documentation-menu.open>.home-submenu{display:grid;gap:3px}
#nav .documentation-menu>[data-submenu-toggle]{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;font-weight:650}
#nav .documentation-menu>[data-submenu-toggle][aria-expanded=true]{background:#deeffc}
#nav .documentation-menu>[data-submenu-toggle][aria-expanded=true] span{transform:rotate(180deg)}

.procurement-legal,.review-payment-deadlines{background:#f5faff;border:1px solid #bfd9ec;border-radius:10px;padding:18px;margin:18px 0}.procurement-context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.procurement-context-grid label,.procurement-procedure-select{display:grid;gap:7px}.procurement-context-grid input,.procurement-context-grid select,.procurement-procedure-select select{width:100%;box-sizing:border-box}.procurement-procedure-select{margin:24px 0;padding:16px;background:#e5f2fc;border:2px solid #9fc7e5;border-radius:8px;font-size:18px;font-weight:700}.procurement-procedure-select select{font-size:16px;min-height:44px}.review-payment-deadlines textarea{width:100%;box-sizing:border-box}.deadline-confirm{display:flex;align-items:flex-start;gap:10px;margin:16px 0}.deadline-confirm input{width:20px;min-width:20px;height:20px}.deadline-results{padding:10px 15px;background:white;border-radius:7px}.deadline-hint{padding:10px 12px;border-left:3px solid #ddb551;background:#fff9e9;color:#624b18}.procurement-legal table{width:100%;border-collapse:collapse}.procurement-legal th,.procurement-legal td{text-align:left;padding:10px;border-bottom:1px solid #cedfea}.procurement-legal a{overflow-wrap:anywhere}
.protocol-top-one{padding:16px;background:rgba(226,240,251,.65);border:1px solid #9cc6e5;border-radius:8px;text-align:left}.protocol-top-one h3{margin-top:0;color:#16476a}.protocol-top-one .protocol-actions{min-width:780px}.protocol-top-one select{min-width:235px}.protocol-topics>.protocol-top-one{margin:12px 0}
/* Abrechnung: Unterpunkte öffnen innerhalb der Liste per Klick. */
#nav .payment-menu>.home-submenu{position:static;left:auto;top:auto;display:none;width:auto;min-width:0;max-height:none;overflow:visible;resize:none;box-shadow:none;margin:3px 0 8px 10px;padding:4px 0 4px 10px;border:0;border-left:2px solid #9fc7e5;border-radius:0;background:#f4f9fe}
#nav .payment-menu:hover>.home-submenu,#nav .payment-menu:focus-within>.home-submenu{display:none}
#nav .payment-menu.open>.home-submenu{display:grid;gap:3px}
#nav .payment-menu>[data-submenu-toggle]{display:flex;align-items:center;justify-content:space-between;gap:14px;white-space:normal;min-height:44px;font-weight:650}
#nav .payment-menu>[data-submenu-toggle] span{flex:none;transition:transform .15s ease}
#nav .payment-menu>[data-submenu-toggle][aria-expanded=true] span{transform:rotate(180deg)}
#nav .payment-menu .home-submenu button{white-space:normal;overflow-wrap:anywhere;min-height:42px}
.protocol-logo-controls{margin:18px 0;padding:16px;border:1px solid #c7ddec;border-radius:8px;background:#f5faff}.protocol-logo-controls h2{margin-top:0}.protocol-logo-controls img{display:block;max-width:220px;max-height:90px;object-fit:contain;margin-bottom:12px}.protocol-logo-controls label{display:block}.protocol-logo-controls input[type=file]{margin-top:6px}

.cost-comparison-stand{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #e1e9f0}.cost-comparison-stand>label{flex:1;min-width:0}.cost-comparison-stand-actions{display:flex;gap:6px;flex-shrink:0}.cost-column-options .cost-comparison-stand-actions button{margin-left:0}.cost-stage-view th>.cost-history-remove{margin-top:6px;font-size:12px;padding:5px 9px}@media(max-width:600px){.cost-comparison-stand{flex-wrap:wrap}.cost-comparison-stand>label{flex-basis:100%}.cost-comparison-stand-actions{margin-left:26px}}

/* The PDF action stays at the upper right of every planning-fee result bar. */
.fee-total-sticky .fee-metric-with-pdf{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}
.fee-metric-values{min-width:0;display:flex;flex-direction:column;gap:4px}
body.planning-fees-background .fee-total-sticky .sheet-pdf-button{flex-shrink:0;min-height:48px;padding:12px 18px;font-size:16px;border-width:3px;border-radius:10px;background:#205fa5;color:#fff}
.fee-total-sticky .sheet-pdf-button span{font-size:inherit;font-weight:700}.fee-total-sticky .sheet-pdf-button svg{width:24px;height:24px}
@media(max-width:1150px){.fee-total-sticky .fee-metric-with-pdf{flex-direction:column;align-items:stretch;gap:8px}.fee-total-sticky .fee-metric-with-pdf>.sheet-pdf-button{align-self:flex-end}}
@media(max-width:780px){body.planning-fees-background .fee-total-sticky .sheet-pdf-button{min-height:36px;padding:6px;gap:4px;font-size:11px;border-width:2px}.fee-total-sticky .sheet-pdf-button svg{width:16px;height:16px}.fee-metric-values{gap:3px}}

/* Compact cost-stand controls without repeated explanatory text. */
.fee-cost-selector{padding:10px 12px;margin-bottom:12px}.fee-cost-fields{gap:10px}.fee-cost-fields label{gap:3px;font-size:13px}.fee-cost-fields select{padding:7px 9px;min-height:36px}.fee-cost-total{gap:3px;font-size:13px}.fee-cost-warning{margin:8px 0}.fee-cost-selector>details{margin-top:8px}.fee-cost-selector>details>summary{padding:0;line-height:1.4}

.other-addendum-entry{padding:10px 0;border-top:1px solid #d8e3ed}.other-addendum-entry .fields{align-items:end;gap:10px;margin-bottom:8px}.other-addendum-entry>label{display:block;font-size:13px}.other-addendum-entry textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px;resize:vertical;min-height:52px}.other-addendum-entry .fields>label:first-child{flex:2}

/* Even column widths and centered headings keep the phase table readable. */
.hoai-phases{width:100%;min-width:1134px;table-layout:fixed;font-size:14px}
.hoai-phases th:nth-child(n),.hoai-phases td:nth-child(n){width:calc(100% / 9);min-width:0;padding:12px 14px;text-align:center;vertical-align:middle;white-space:normal;line-height:1.45}
.hoai-phases thead th{font-size:13px;overflow-wrap:normal;word-break:normal}
.hoai-phases th:first-child,.hoai-phases td:first-child{position:sticky;left:0;z-index:2;background:#fff}
.hoai-phases th:first-child{background:#e8f2ff;z-index:3}.hoai-phases tr.phase-excluded td:first-child{background:#f1f3f5}.hoai-phases tfoot td:first-child{background:#e8f2ff}
.hoai-phases input[data-numeric]{display:block;width:100%;min-width:0;max-width:100px;padding:8px;min-height:38px;margin:0 auto;font-size:14px;text-align:right}
.hoai-phases .hoai-phase-choice{justify-content:center;gap:7px;margin:0}.hoai-phases .hoai-phase-choice input[type=checkbox]{width:18px;min-width:18px}
@media(max-width:780px){.hoai-phases{min-width:1053px;font-size:13px}.hoai-phases th:nth-child(n),.hoai-phases td:nth-child(n){padding:10px 12px}.hoai-phases input[data-numeric]{font-size:16px;padding:7px}}

/* Emphasize earned phase and addendum amounts. */
.hoai-phases tbody td:nth-child(6),.hoai-phases tbody td:nth-child(9){font-weight:700}

/* Consistent working surfaces and independent mobile navigation. */
.workspace-working #content .panel{background:#fffffffa;border-color:#c7d9e8;box-shadow:0 2px 8px #163c5e09}
.workspace-working #content>section:not(.panel){background:#ffffffed;border-radius:12px;padding:18px}
.workspace-working #content th{line-height:1.45;padding:12px 14px;text-align:center}
.workspace-working #content td{padding:12px 14px;vertical-align:top}
.workspace-working #content .num{text-align:right;font-variant-numeric:tabular-nums}
.workspace-working #content .procurement-column-title{text-align:center}
button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #247ab4;outline-offset:3px}
.workspace-save-state{font-size:12px;color:#d7ebff;white-space:nowrap;padding:6px 10px;border:1px solid #93bad577;border-radius:8px}
.workspace-save-state.is-dirty{color:#ffe0a0;border-color:#ffe0a0}
.workspace-nav-toggle{font-size:12px;white-space:nowrap;border:1px solid #a4c3dc!important;background:#eaf4fc!important;color:#183e60!important}
@media(min-width:781px){.workspace-nav-collapsed #nav{display:none}.workspace-nav-collapsed .modules{margin-left:auto}}
.project-insights{margin:24px 0;padding:22px;background:#fffffff5;border:1px solid #c3d9e9;border-radius:12px;max-width:950px;position:relative;z-index:1;scroll-margin-top:calc(var(--header-height,64px) + var(--workflow-height,44px) + 16px)}
.project-insights h2{margin:0}.project-insights .section-head>span,.insight-intro{font-size:13px;color:#476981}.project-insights ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 0;padding:0}.project-insights li{min-width:0}.project-insights li>button{width:100%;height:100%;display:grid;gap:8px;text-align:left;white-space:normal;background:#f1f7fc;border:1px solid #c6ddec;padding:16px;border-radius:9px;color:#163c59}.project-insights li>button:hover{background:#e4f1fc;border-color:#80afd0}.project-insights strong{font-size:15px;overflow-wrap:anywhere}.project-insights small{font-size:13px;line-height:1.5}.insight-state{font-size:11px;font-weight:700;color:#285a7c}.insight-warning .insight-state{color:#88520c}.insight-destination{font-size:12px;color:#225e8a}.insight-empty{color:#426479}.workspace-explanation{margin:14px 0;padding:12px 16px;border:1px solid #bcd5e8;border-radius:8px;background:#f1f7fc}.workspace-mobile-bar,.mobile-view-choice,.mobile-row-details,.mobile-schedule-list{display:none}
@media(max-width:780px){
 body:has(.workspace-mobile-bar:not([hidden])){padding-bottom:calc(82px + env(safe-area-inset-bottom))}
 .workspace-mobile-bar:not([hidden]){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;position:fixed;bottom:0;left:0;right:0;z-index:70;background:#fffffff7;border-top:1px solid #bad1e4;box-shadow:0 -3px 16px #15395718;padding:8px 8px calc(8px + env(safe-area-inset-bottom))}
 .workspace-mobile-bar button{min-height:48px;padding:8px 4px;text-align:center;font-size:12px;font-weight:700;border:0;border-radius:8px;background:#edf5fc;color:#153c5c;white-space:normal}
 .workspace-mobile-bar [data-mobile-save]{background:#205fa5;color:#fff}.workspace-mobile-bar [aria-current=page]{background:#d8eafb}
 .workspace-save-state{order:10;flex-basis:100%;border:0;padding:3px 0;font-size:12px;white-space:normal}
 .workspace-nav-toggle{display:none}.workflow #nav{display:none}.workflow.workspace-mobile-expanded #nav{display:flex;flex-wrap:wrap;max-height:45vh;overflow:auto;gap:8px}.workflow.workspace-mobile-expanded #nav .nav-row{flex:1 1 140px}
 .workflow #nav .home-menu{max-height:50vh;overflow:auto}.workflow{flex-wrap:wrap}
 #content input:not([type=checkbox]):not([type=radio]):not([type=color]),#content select,#content textarea{font-size:16px;min-height:44px}#content button{min-height:44px}
 .workspace-working #content th,.workspace-working #content td{padding:10px 12px}
 .project-insights{padding:16px;margin:18px 0}.project-insights ul{grid-template-columns:1fr}.project-insights .section-head{align-items:flex-start;flex-wrap:wrap;gap:6px}
 .mobile-view-choice{display:inline-flex;margin:12px 0;align-items:center;background:#e4f1fc;color:#184c72;border:1px solid #a7cce6}.mobile-row-details{display:block;margin-top:8px;background:#e7f2fc;color:#184c72;border:1px solid #a7cce6;width:100%}
 .tracking-scroll:has(.mobile-cost-cards){overflow:visible;max-height:none!important}.mobile-cost-cards{display:block;min-width:0!important;width:100%!important}.mobile-cost-cards thead{display:none}.mobile-cost-cards tbody{display:grid;gap:14px}.mobile-cost-cards tr[data-tracking-row]{display:grid;grid-template-columns:minmax(0,1fr);padding:12px;border:1px solid #b8d2e5;border-radius:10px;background:white}
 .mobile-cost-cards tr[data-tracking-row]>td{display:none;position:static!important;min-width:0!important;max-width:100%!important;background:transparent!important;white-space:normal!important;border:0;width:auto!important;text-align:left!important;padding:8px!important}
 .mobile-cost-cards tr[data-tracking-row]>td.mobile-primary-cell:not([hidden]),.mobile-cost-cards tr.mobile-row-open>td:not([hidden]){display:block}.mobile-cost-cards td::before{content:attr(data-mobile-label);display:block;font-size:12px;font-weight:650;color:#47677f;margin-bottom:5px}.mobile-cost-cards td input,.mobile-cost-cards td textarea,.mobile-cost-cards td select{max-width:100%!important;min-width:0!important;width:100%!important}.mobile-cost-cards td[data-tracking-column=forecast]{background:#e5f2fd!important;border-radius:7px;font-weight:700}.mobile-cost-cards tfoot{display:table;width:100%;font-size:12px}.mobile-cost-cards tfoot tr{display:flex;flex-wrap:wrap}.mobile-cost-cards tfoot td::before{font-size:11px}.mobile-cost-cards tfoot td{flex:1 1 130px}.mobile-cost-cards tfoot th{flex-basis:100%}.mobile-cost-cards [data-tracking-invoice]{display:none}
 .schedule-chart.mobile-chart-hidden{display:none}.mobile-schedule-list{display:grid;gap:8px;margin:16px 0}.mobile-schedule-list h2{margin:0}.mobile-schedule-list button{display:grid;gap:6px;width:100%;text-align:left;background:#f0f7fd;border:1px solid #bfd7e9;white-space:normal}.mobile-schedule-list span{font-size:13px;color:#456980}.schedule-layout{min-width:0}
 body:has(.workspace-mobile-bar:not([hidden])) .copyright{position:static}body:has(.workspace-mobile-bar:not([hidden])) #supportWidget{bottom:calc(88px + env(safe-area-inset-bottom))!important}
}
@media print{.workspace-mobile-bar,.workspace-save-state,.workspace-nav-toggle,.mobile-view-choice,.mobile-schedule-list,.mobile-row-details,.project-insights{display:none!important}.schedule-chart.mobile-chart-hidden{display:block}}
.workspace-optional>summary{padding:2px 0;color:#184d73}.workspace-optional[open]>summary{margin-bottom:18px}.workspace-data-source{font-size:12px;color:#466981;line-height:1.6;border-left:3px solid #9cc5e3;padding-left:12px}
@media(min-width:1101px){.home-welcome:has(.home-user-copy)>.project-insights{grid-column:2;grid-row:2;width:100%;margin:18px 0}.home-welcome:has(>.project-insights) .home-user-copy>.home-brand{grid-row:3}}
@media(min-width:781px) and (max-width:1100px){.home-welcome:has(.home-user-copy)>.project-insights{grid-column:1;grid-row:3;width:100%;margin:0}.home-welcome:has(>.project-insights) .home-user-copy>.home-brand{grid-row:4}}
@media(max-width:780px){.home-welcome:has(.home-user-copy)>.project-insights{grid-column:1;grid-row:3;margin:0;width:100%}.home-welcome:has(>.project-insights) .home-user-copy>.home-brand{grid-row:8}}

/* Ordered areas, uniform touch targets and persistent orientation. */
.workspace-location{flex:1 1 100%;min-width:0;font-size:13px;line-height:1.4;color:#173e60;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:4px 2px}
.workflow{flex-wrap:wrap}
.workflow #nav>[class*=nav-row]>[aria-current=page],.workflow #nav>[class*=nav-row]>.selected{background:#cce6fa;color:#103c67;box-shadow:inset 0 -3px #287cb5}
@media(min-width:781px){
 .workflow #nav>.home-nav-item{display:grid;grid-template-columns:minmax(0,1fr) 28px;flex:0 0 160px;min-width:0}
 .workflow #nav>.home-nav-item>button[data-home-section]{height:56px;width:100%;padding:8px;white-space:normal;text-align:center;line-height:1.3;margin:0}
 .workflow #nav>.home-nav-item>.home-menu-toggle{height:56px;width:28px;margin:0;padding:4px}
 .workflow #nav>.home-nav-item:not(:has(>.home-menu-toggle)){grid-template-columns:1fr}
}
@media(max-width:780px){
 .workflow.workspace-mobile-expanded #nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;flex:1 1 100%;max-height:45dvh;overflow-y:auto;overflow-x:hidden;padding:4px 2px 8px;box-sizing:border-box;align-items:start}
 .workflow.workspace-mobile-expanded #nav>.nav-row{min-width:0;width:100%;margin:0}
 .workflow.workspace-mobile-expanded #nav>.home-nav-item{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:0}
 .workflow.workspace-mobile-expanded #nav>.home-nav-item>button[data-home-section],.workflow.workspace-mobile-expanded #nav>.nav-row>[data-view]{display:flex;align-items:center;justify-content:center;width:100%;height:64px;padding:8px 5px;margin:0;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.3;text-align:center;box-sizing:border-box}
 .workflow.workspace-mobile-expanded #nav>.home-nav-item>.home-menu-toggle{height:64px;width:30px;padding:4px;margin:0;border-left:1px solid #bdd6e8;border-radius:0 7px 7px 0}
 .workflow.workspace-mobile-expanded #nav>.home-nav-item:not(:has(>.home-menu-toggle)){grid-template-columns:1fr}
 .workflow.workspace-mobile-expanded #nav>.home-nav-item:has(>[data-home-section="Start"]){display:none}
 .workflow.workspace-mobile-expanded #nav>.tga-navigation{grid-column:1/-1}
 .workflow #nav .home-nav-item>.home-menu{max-width:calc(100vw - 24px);max-height:min(42dvh,360px);box-sizing:border-box}
 .workflow #nav .home-menu button{min-height:44px;padding:10px 12px}
 .workspace-location{font-size:12px;padding:3px 0}
}
@media print{.workspace-location{display:none}}

/* Softly raised area tiles with a tactile pressed state. */
.workflow #nav>.home-nav-item{
 border:1px solid #91b3cf;border-radius:10px;
 background:linear-gradient(160deg,#edf6fd 0%,#d3e7f7 55%,#bdd7ed 100%);
 box-shadow:0 5px 0 #8eafc9,0 9px 16px #173e6030,inset 0 2px 0 #ffffff,inset 0 -2px 0 #a2c2da66;
 transition:box-shadow .16s ease,border-color .16s ease;
}
.workflow #nav>.home-nav-item>button[data-home-section],
.workflow #nav>.home-nav-item>.home-menu-toggle{
 background:transparent;border:0;border-radius:9px;color:#173e60;text-shadow:0 1px 0 #ffffffa6;
}
.workflow #nav>.home-nav-item>button[data-home-section]{border-radius:9px 0 0 9px}
.workflow #nav>.home-nav-item:not(:has(>.home-menu-toggle))>button{border-radius:9px}
.workflow #nav>.home-nav-item>.home-menu-toggle{border-left:1px solid #b7d1e5;border-radius:0 9px 9px 0}
.workflow #nav>.home-nav-item:has(>[aria-current=page]),
.workflow #nav>.home-nav-item:has(>.selected){
 background:linear-gradient(155deg,#dceffd,#b9d9f1 55%,#9cc6e5);border-color:#6da5cc;
 box-shadow:0 5px 0 #6798bd,0 9px 16px #173e6038,inset 0 2px 0 #ffffff,inset 0 -2px 0 #86b5d566;
}
.workflow #nav>.home-nav-item>button[aria-current=page],
.workflow #nav>.home-nav-item>button.selected{background:transparent;color:#103c67;box-shadow:inset 0 -3px #287cb5}
.workflow #nav>.home-nav-item:active{top:2px;box-shadow:0 1px 0 #a2c2da,0 2px 5px #173e6020,inset 0 1px 3px #173e6010}
@media(hover:hover){
 .workflow #nav>.home-nav-item:hover{top:-1px;border-color:#78acd0;box-shadow:0 6px 0 #83a8c4,0 11px 18px #173e6038,inset 0 2px 0 #ffffff,inset 0 -2px 0 #a2c2da66}
 .workflow #nav>.home-nav-item:active{top:2px;box-shadow:0 1px 0 #a2c2da,0 2px 5px #173e6020,inset 0 1px 3px #173e6010}
}
@media(max-width:780px){
 .workflow.workspace-mobile-expanded #nav{gap:12px;padding:5px 3px 12px}
 .workflow.workspace-mobile-expanded #nav>.home-nav-item{box-sizing:border-box}
}
@media(prefers-reduced-motion:reduce){.workflow #nav>.home-nav-item{transition:none}.workflow #nav>.home-nav-item:hover,.workflow #nav>.home-nav-item:active{top:0}}

/* Compact header: area visibility above the navigation; refresh inside the menu. */
header .workspace-nav-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:36px;padding:7px 10px;border-radius:7px;font-size:12px;line-height:1.25}
header .workspace-nav-toggle[hidden]{display:none}
.workflow{flex-wrap:nowrap}
@media(min-width:781px){.workflow.workspace-nav-collapsed{display:none}}
@media(max-width:780px){header .workspace-nav-toggle{display:inline-flex;font-size:11px;min-height:36px;padding:6px 8px}.workflow{flex-wrap:wrap}}

@media(max-width:780px){
 header .workspace-nav-toggle{display:none!important}
 .workspace-mobile-bar:not([hidden]){grid-template-columns:repeat(2,minmax(0,1fr))}
 .workspace-mobile-bar [data-mobile-critical].has-critical{background:#b4232d;color:white;border:1px solid #901b24;box-shadow:0 2px 0 #7f1720}
 body:not(.workspace-working) .workflow{position:relative;top:0;max-height:none}
 body:not(.workspace-working) .workflow #nav{max-height:none;overflow:visible}
 body:not(.workspace-working) .workspace{margin-top:0}
 body:not(.workspace-working) .workflow #backView{display:none}
 .project-critical{scroll-margin-top:calc(var(--header-height,64px) + 16px)}
}
.project-critical li>button{border-color:#d7a2a7;background:#fff3f3}
.home-welcome>.project-critical{grid-row:auto!important;grid-column:1/-1!important;justify-self:stretch;width:auto;max-width:none;box-sizing:border-box}
@media(max-width:780px){body:not(.workspace-working) .project-insights{scroll-margin-top:calc(var(--header-height,64px) + 16px)}}

/* Mobile project start: areas and values remain above the scrolling copy. */
@media(max-width:780px){
 body:not(.workspace-working) .workflow{position:fixed;top:calc(var(--header-height,64px) + 12px + env(safe-area-inset-top,0px));left:0;right:0;z-index:39;display:flex;flex-wrap:wrap;gap:5px;padding:5px 8px 8px;background:#d2e8f8f5;border-bottom:1px solid #9cbfd8;box-sizing:border-box}
 body:not(.workspace-working) .workflow.workspace-mobile-expanded #nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:5px 3px 12px;max-height:none;overflow:visible}
 body:not(.workspace-working) .workflow.workspace-mobile-expanded #nav>.home-nav-item>button[data-home-section]{height:64px;min-height:64px;font-size:13px;padding:8px 5px}
 body:not(.workspace-working) .workflow.workspace-mobile-expanded #nav>.home-nav-item>.home-menu-toggle{height:64px;min-height:64px}
 body:not(.workspace-working) .workspace{margin-top:calc(var(--workflow-height,346px) + 12px)}
 body:not(.workspace-working) .home-welcome:has(.home-user-copy){display:block;padding:calc(var(--mobile-summary-height,136px) + 14px) 12px 20px;min-height:0}
 body:not(.workspace-working) .home-welcome>.home-project-summary{position:fixed;top:calc(var(--header-height,64px) + 12px + env(safe-area-inset-top,0px) + var(--workflow-height,346px));left:0;right:0;z-index:38;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;max-width:none;margin:0;padding:7px 8px;background:#d2e8f8f5;border-bottom:1px solid #9cbfd8;box-shadow:0 3px 8px #163e6020;box-sizing:border-box}
 body:not(.workspace-working) .home-summary-card{min-height:58px;padding:6px;gap:3px;box-sizing:border-box}
 body:not(.workspace-working) .home-summary-card>span{font-size:10px;line-height:1.15}
 body:not(.workspace-working) .home-summary-card>strong{font-size:min(16px,calc(138cqw / var(--value-length,14)));line-height:1.2}
 body:not(.workspace-working) .home-summary-card>small{font-size:8px;line-height:1.15}
 body:not(.workspace-working) .home-copy-text{display:block;margin:0;padding:0}
 body:not(.workspace-working) .home-copy-text h1{display:none}
 .mobile-project-detail .project-insights{margin:12px 0;max-width:none}
 body:not(.workspace-working) .workflow .home-menu{z-index:65;max-height:35dvh;overflow:auto}
}

/* Introductory content belongs to the start page without a selected project. */
.home-welcome.home-project-start{display:block;min-height:0}
@media(max-width:780px){body:not(.workspace-working) .home-welcome.home-project-start{padding:calc(var(--mobile-summary-height,136px) + 14px) 12px 20px}}

/* Locally hosted Inter SemiBold for the area labels. */
@font-face{font-family:'Smart Area Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-semibold.ttf') format('truetype')}
.workflow #nav>.home-nav-item>button[data-home-section]{font-family:'Smart Area Inter',Inter,'Segoe UI',Arial,sans-serif;font-weight:600}
@media(max-width:780px){
 /* No project means no pinned summary: leave just one line below the areas. */
 body:not(.workspace-working):not(.workspace-project-selected) .home-welcome:has(.home-user-copy){padding:24px 12px 20px}
 body:not(.workspace-working) .workflow.workspace-mobile-expanded #nav>.home-nav-item>button[data-home-section]{font-size:clamp(15px,4.6vw,20px);line-height:1.2;overflow-wrap:normal;padding:8px 5px}
 .workflow.workspace-mobile-expanded #nav>.home-nav-item{background:linear-gradient(155deg,#f1f9ff 0%,#dceefb 48%,#c4dff3 100%);box-shadow:0 4px 0 #92b4ce,0 8px 14px #173e6029,inset 0 2px 0 #fff,inset 0 -2px 0 #afcde366}
 .workflow.workspace-mobile-expanded #nav>.home-nav-item:has(>[aria-current=page]),.workflow.workspace-mobile-expanded #nav>.home-nav-item:has(>.selected){background:linear-gradient(155deg,#e8f5ff,#cce7fa 55%,#b4d8f1);box-shadow:0 4px 0 #7aa6c7,0 8px 14px #173e6030,inset 0 2px 0 #fff}
 .workflow.workspace-mobile-expanded #nav>.home-nav-item:active{top:2px;box-shadow:0 1px 0 #92b4ce,0 3px 6px #173e6020,inset 0 1px 3px #173e6010}
}

/* Project milestones share the measured summary block, below all six values. */
.home-project-timeline{grid-column:1/-1;min-width:0;padding:12px 14px;border:1px solid #b8d1e3;border-radius:10px;background:#edf7fff5;color:#173e60;box-sizing:border-box;text-align:left}
.home-timeline-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px}.home-timeline-heading>span{font-size:12px;color:#476981}
.home-timeline-chart{display:block;width:100%;height:auto;min-height:64px;max-height:100px;margin:5px 0}
.home-timeline-legend{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0;margin:8px 0;font-size:12px;line-height:1.3}
.home-timeline-legend li{display:flex;gap:6px;min-width:0}.home-timeline-legend li>span:last-child{overflow-wrap:anywhere}.home-timeline-legend strong{display:block;font-size:12px;margin-top:3px}.home-timeline-number{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#194b6d;color:white;font-weight:600}
.home-timeline-next,.home-timeline-empty{font-size:12px;line-height:1.4;margin:8px 0}.home-timeline-open{font:inherit;font-size:12px;padding:6px 9px;color:#194b6d;background:#dceefb;border:1px solid #9cbed6;border-radius:6px}
@media(max-width:780px){
 .workspace-mobile-bar:not([hidden]){gap:12px;padding:8px 11px calc(12px + env(safe-area-inset-bottom))}
 .workspace-mobile-bar button,.workspace-mobile-bar [data-mobile-critical].has-critical{box-sizing:border-box;min-height:64px;border:1px solid #91b3cf;border-radius:10px;background:linear-gradient(155deg,#f1f9ff 0%,#dceefb 48%,#c4dff3 100%);box-shadow:0 4px 0 #92b4ce,0 8px 14px #173e6029,inset 0 2px 0 #fff,inset 0 -2px 0 #afcde366;color:#173e60;text-shadow:0 1px 0 #ffffffa6;font-family:'Smart Area Inter',Inter,'Segoe UI',Arial,sans-serif;font-weight:600;font-size:clamp(15px,4.6vw,20px);line-height:1.2;padding:8px 5px}
 .workspace-mobile-bar button:active{transform:translateY(2px);box-shadow:0 1px 0 #92b4ce,0 3px 6px #173e6020,inset 0 1px 3px #173e6010}
 .workspace-mobile-bar button:focus-visible{outline:2px solid #287cb5;outline-offset:3px}
 body:has(.workspace-mobile-bar:not([hidden])){padding-bottom:calc(96px + env(safe-area-inset-bottom))}
 body:has(.workspace-mobile-bar:not([hidden])) #supportWidget{bottom:calc(102px + env(safe-area-inset-bottom))!important}
 .support-launcher[data-support-launch=chat]{width:47px;padding:2px 3px 3px;gap:1px;font-size:7px;border-radius:10px;min-height:0}
 .support-engineer-button-image{width:41px;height:44px}
 .support-launcher[data-support-launch=faq]{width:47px;padding:6px 9px;gap:4px;border-radius:14px;font-size:7px;min-height:0}
 .support-launcher svg{width:11px;height:11px}.support-launchers{gap:4px}
 .home-project-timeline{padding:7px 8px}.home-timeline-heading{font-size:11px}.home-timeline-heading>span{font-size:9px}.home-timeline-chart{min-height:40px;margin:3px 0}
 .home-timeline-legend{grid-template-columns:repeat(3,minmax(0,1fr));font-size:9px;gap:6px;margin:5px 0}.home-timeline-legend strong{font-size:9px;margin-top:2px}.home-timeline-number{width:15px;height:15px;font-size:9px}.home-timeline-legend li{gap:4px}
 .home-timeline-next,.home-timeline-empty,.home-timeline-open{font-size:9px;margin:5px 0}.home-timeline-open{padding:4px 6px}
}
.workspace-mobile-bar [data-mobile-critical]{background:linear-gradient(155deg,#eefbef,#ccebd0);color:#20532c;border-color:#90be98}
.workspace-mobile-bar [data-mobile-critical].has-critical{background:linear-gradient(155deg,#fff0f1,#f6cbd0);color:#822b36;border-color:#d79ca4}
@media(max-width:780px){
 .workspace-mobile-bar [data-mobile-critical]{background:linear-gradient(155deg,#eefbef,#ccebd0);color:#20532c;border-color:#90be98}
 .workspace-mobile-bar [data-mobile-critical].has-critical{background:linear-gradient(155deg,#fff0f1,#f6cbd0);color:#822b36;border-color:#d79ca4}
}

/* Project activity belongs to the account menu; cost values fill their cards. */
#accountActions .workspace-save-state,#mobileHomeActions .workspace-save-state{display:block;flex-basis:auto;white-space:normal;color:#173e5b;border:0;border-bottom:1px solid #c4d9e8;border-radius:0;padding:10px;font-size:12px}
#accountActions .workspace-save-state::before,#mobileHomeActions .workspace-save-state::before{content:'Letzte Aktivität';display:block;font-weight:700;margin-bottom:4px}
#accountActions .workspace-save-state.is-dirty,#mobileHomeActions .workspace-save-state.is-dirty{color:#875600}
.home-summary-card>strong{display:block;white-space:nowrap;overflow-wrap:normal;word-break:normal;letter-spacing:0;font-variant-numeric:tabular-nums;line-height:1.2}

.home-timeline-chart{min-height:80px;max-height:120px}
.home-timeline-number{width:20px;height:20px;font-size:12px}
@media(max-width:780px){.home-timeline-chart{min-height:64px}.home-timeline-number{width:15px;height:15px;font-size:9px}}

header .mobile-home-actions>#projectLifecycle,header .mobile-home-actions>#projectArchive{display:block;width:100%;min-height:44px;margin:2px 0;padding:10px;text-align:left;background:#f0f5fa;color:#122c46;border:1px solid #d8e3eb;border-radius:6px;font-size:14px}
header .mobile-home-actions>[hidden]{display:none!important}
.mobile-home-actions{max-height:calc(100dvh - 100px);overflow-y:auto}
.workflow .home-nav-item>.home-menu{left:var(--menu-left);width:var(--menu-width);min-width:0;max-width:none;box-sizing:border-box;top:var(--menu-top);margin:0}

/* Project dates fill the space above the mobile action bar. */
@media(max-width:780px){
 body.workspace-project-selected:not(.workspace-working) .home-welcome>.home-project-summary{
  --summary-space:calc(100dvh - var(--header-height,64px) - var(--workflow-height,346px) - env(safe-area-inset-top,0px) - var(--mobile-action-bar-space,calc(84px + env(safe-area-inset-bottom,0px))));
  height:max(0px,var(--summary-space));max-height:max(0px,var(--summary-space));grid-template-rows:auto minmax(0,1fr);align-items:stretch;overflow:visible;
 }
 .home-project-timeline{display:flex;flex-direction:column;justify-content:space-between;padding:12px 10px;gap:8px}
 .home-timeline-heading{font-size:15px;line-height:1.3}.home-timeline-heading>span{font-size:11px}
 .home-timeline-chart{height:auto;min-height:0;max-height:none;margin:6px 0;flex:none}
 .home-timeline-legend{font-size:12px;gap:12px 8px;margin:8px 0;line-height:1.4}
 .home-timeline-legend strong{font-size:12px;margin-top:4px}
 .home-timeline-next,.home-timeline-empty{font-size:12px;line-height:1.4;margin:8px 0}
}

/* Fit the complete mobile date card between the costs and bottom actions. */
@media(max-width:780px){
 body.workspace-project-selected:not(.workspace-working) .home-project-timeline{min-height:0;overflow:visible;padding:7px 8px;gap:3px;justify-content:flex-start}
 body.workspace-project-selected:not(.workspace-working) .home-timeline-heading{flex:none;font-size:12px;line-height:1.2}
 body.workspace-project-selected:not(.workspace-working) .home-timeline-heading>span{font-size:10px}
 body.workspace-project-selected:not(.workspace-working) .home-timeline-chart{flex:1 1 0;height:0;min-height:0;width:100%;margin:0}
 body.workspace-project-selected:not(.workspace-working) .home-timeline-legend{flex:none;font-size:10px;gap:5px 6px;margin:3px 0;line-height:1.2}
 body.workspace-project-selected:not(.workspace-working) .home-timeline-legend strong{font-size:10px;margin-top:2px}
 body.workspace-project-selected:not(.workspace-working) .home-timeline-next,body.workspace-project-selected:not(.workspace-working) .home-timeline-empty{flex:none;font-size:10px;line-height:1.2;margin:2px 0}
}

/* Desktop shortcuts open the same project views as the mobile actions. */
.home-project-quick-access{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;max-width:960px;box-sizing:border-box;margin:18px auto 10px}
.home-project-quick-access button{width:100%;min-width:0;box-sizing:border-box;min-height:64px;padding:10px 16px;border:1px solid #91b3cf;border-radius:10px;background:linear-gradient(155deg,#f1f9ff,#dceefb 48%,#c4dff3);box-shadow:0 4px 0 #92b4ce,0 8px 14px #173e6029,inset 0 2px 0 #fff;color:#173e60;font-family:'Smart Area Inter',Inter,'Segoe UI',Arial,sans-serif;font-weight:600;font-size:20px;line-height:1.2}
.home-project-quick-access [data-project-quick-access="critical"]{background:linear-gradient(155deg,#eefbef,#ccebd0);color:#20532c;border-color:#90be98}
.home-project-quick-access .has-critical{background:linear-gradient(155deg,#fff0f1,#f6cbd0);color:#822b36;border-color:#d79ca4}
.home-project-quick-access button:active{transform:translateY(2px)}
.home-project-quick-access button:focus-visible{outline:2px solid #287cb5;outline-offset:3px}
@media(max-width:780px){.home-project-quick-access{display:none}}
@media print{.home-project-quick-access{display:none}}

/* Public mobile home: keep the title below the persistent navigation. */
.auth-mobile-title{display:none}
@media(max-width:780px){
 body.auth-screen{--auth-title-height:clamp(44px,11.4vw,66px)}
 body.auth-screen>header{position:sticky;top:0;z-index:45}
 body.auth-screen main.auth-page{padding-top:var(--auth-title-height);overflow:visible}
 .auth-page>.auth-mobile-title{display:flex;align-items:center;position:fixed;top:var(--header-height,58px);left:0;right:0;height:var(--auth-title-height);padding:0 7.4vw;box-sizing:border-box;z-index:40;background:rgba(244,250,255,.96);box-shadow:0 1px 0 #c8deed}
 .auth-page>.auth-mobile-title h1{margin:0;color:#092d67;font-size:clamp(20px,6.35vw,44px);line-height:1.12;letter-spacing:-.025em;white-space:nowrap}
 .auth-page .home-landing-copy>h1{display:none}
 .auth-page .home-landing-copy{padding:0 3.2vw 12px;background:rgba(255,255,255,.5);border-radius:0 0 12px 12px}
 .auth-page .home-landing-copy>p:first-of-type{margin-top:0;padding-top:5px}
}
@media(max-width:780px) and (display-mode:standalone){
 body.auth-screen>header{top:env(safe-area-inset-top)}
 .auth-page>.auth-mobile-title{top:calc(var(--header-height,58px) + env(safe-area-inset-top))}
}

/* The platform description is reserved for accounts with every function. */
.home-platform-text{position:fixed;top:calc(var(--header-height,86px) + 3em);left:50%;transform:translateX(-50%);width:min(960px,calc(100% - 32px));z-index:40;background:#f4fafff5;padding:12px 16px;border-radius:10px;box-shadow:0 2px 8px #173e6014;font-size:16px;line-height:1.5}
.home-welcome .home-platform-text p{max-width:none;margin:0 0 12px;font-size:16px;line-height:1.5}
.home-welcome .home-platform-text p:last-child{margin-bottom:0}
.home-welcome:has(.home-platform-text) .home-landing{padding-top:calc(var(--platform-text-height,180px) + 3em)}
@media(max-width:780px){
 body:not(.workspace-working):has(.home-platform-text) .workflow{top:calc(var(--header-height,64px) + 3em + var(--platform-text-height,230px) + 12px + env(safe-area-inset-top,0px))}
 body:not(.workspace-working):has(.home-platform-text) .workspace{margin-top:calc(var(--workflow-height,346px) + var(--platform-text-height,230px) + 3em + 12px)}
 body:not(.workspace-working) .home-welcome:has(.home-platform-text){padding:14px 12px 20px}
 .home-welcome:has(.home-platform-text) .home-landing{padding-top:0}
 .home-platform-text{top:calc(var(--header-height,64px) + 3em + env(safe-area-inset-top,0px));padding:10px 12px}
}
@media print{.home-platform-text{position:static;transform:none;width:auto}.home-welcome:has(.home-platform-text) .home-landing{padding-top:0}}

.home-start-project-actions{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 18px;position:relative;z-index:1}
.home-start-project-actions button{min-height:48px;padding:12px 22px;border:1px solid #17619f;border-radius:10px;background:linear-gradient(155deg,#348bc9,#17619f);box-shadow:0 3px 0 #125286,0 6px 12px #173e6020;color:white;font-family:'Smart Area Inter',Inter,'Segoe UI',Arial,sans-serif;font-size:17px;font-weight:600}
.home-start-project-actions span{font-size:14px;line-height:1.4;color:#173e60}
@media(max-width:780px){.home-start-project-actions{display:grid;grid-template-columns:1fr;gap:10px;margin:0 0 20px}.home-start-project-actions button{width:100%}.home-start-project-actions span{text-align:center}}
.home-welcome .home-start-project-actions{grid-row:1}
.home-welcome:has(.home-start-project-actions) .home-copy-text{grid-row:2}
@media(min-width:781px){.home-welcome:has(.home-platform-text){padding-top:calc(var(--platform-text-height,180px) + 3em + 24px)}}

/* Signed-in landing background keeps the complete crane jib in view. */
.home-welcome:has(.home-user-copy)::before{background-size:100% 100%,auto min(100dvh,160vw);background-position:center center,right top;background-color:#dcebf5}
.home-welcome:has(.home-user-copy)::after{background-position-y:calc(var(--header-height,64px) + 3em + env(safe-area-inset-top,0px))}
.home-user-status{grid-column:1/-1;grid-row:4;position:relative;z-index:1;margin:18px 0 0}
.home-welcome .home-user-status .home-login-status{margin:0;padding:0;font-size:22px;line-height:1.35;font-weight:700;color:#000}
.home-user-status .home-login-status strong{font-weight:700}
.home-user-demonstration{margin:5px 0 0;font-size:16px;line-height:1.5;color:#000}
@media(max-width:780px){.home-welcome .home-user-status .home-login-status{font-size:20px}.home-user-demonstration{font-size:15px}}

/* Mobile user landing: menu creation, transparent copy and pinned account footer. */
@media(max-width:780px){
 header .mobile-home-actions>#homeNewProject{display:block;width:100%;min-height:44px;margin:2px 0;padding:10px;text-align:left;background:#f0f5fa;color:#122c46;border:1px solid #d8e3eb;border-radius:6px;font-size:14px}
 .home-start-project-actions{display:none}
 body:has(.home-user-status) .home-welcome,body:has(.home-user-status) .home-landing-copy{background:transparent;border:0;box-shadow:none;backdrop-filter:none}
 body:has(.home-user-status) .home-welcome::before{background-size:100% 100%,contain;background-position:center,center;background-color:#cbe5f8}
 .home-user-status{position:fixed;bottom:0;left:0;right:0;z-index:45;margin:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));text-align:center;background:transparent;text-shadow:0 1px 2px #fff,0 0 6px #fff}
 .home-welcome .home-platform-text{top:auto;bottom:calc(var(--home-user-footer-height,100px) + 12px);left:50%;width:calc(100% - 28px);margin:0;padding:0;background:transparent;border-radius:0;box-shadow:none;color:#000;text-shadow:0 1px 2px #fff,0 0 6px #fff}
 body:not(.workspace-working):has(.home-user-status) .workflow{top:calc(var(--header-height,64px) + 12px + env(safe-area-inset-top,0px))}
 body:not(.workspace-working):has(.home-user-status) .workspace{margin-top:calc(var(--workflow-height,346px) + 12px)}
 body:has(.home-user-status){padding-bottom:calc(var(--home-user-footer-height,100px) + var(--platform-text-height,0px) + 24px)}
 body:has(.home-user-status) .copyright{background:transparent;border:0;box-shadow:none;color:#000}
 body:has(.home-user-status) .copyright>span{display:none}
 body:has(.home-user-status) #supportWidget{bottom:calc(var(--home-user-footer-height,100px) + 12px)!important}
}

/* Fill the whole landing viewport, including behind long scrolling pages. */
.home-welcome::before,
body.admin-home .home-welcome::before,
.home-welcome:has(.home-user-copy)::before,
body:has(.home-user-status) .home-welcome::before,
body.auth-screen main.auth-page::before{
 position:fixed;inset:0;width:auto;height:auto;min-height:100vh;min-height:100dvh;
 background-size:100% 100%,cover;
 background-position:center center,center center;
 background-repeat:no-repeat;
}
body.auth-screen main.auth-page{background-image:none;isolation:isolate}
body.auth-screen main.auth-page::before{
 content:"";display:block;z-index:-1;pointer-events:none;
 background-image:linear-gradient(rgba(255,255,255,.40),rgba(255,255,255,.40)),url("smart-bpm-swimming-pool-home-v7.webp");
 background-color:#cbe5f8;
}

/* Anchor the construction photo on its right-hand crane. */
.home-welcome::before,
body.admin-home .home-welcome::before,
.home-welcome:has(.home-user-copy)::before,
body:has(.home-user-status) .home-welcome::before,
body.auth-screen main.auth-page::before{background-position:center center,right center}

/* Keep the complete crane jib within narrow screens without distorting it. */
.home-welcome::before,
body.admin-home .home-welcome::before,
.home-welcome:has(.home-user-copy)::before,
body:has(.home-user-status) .home-welcome::before,
body.auth-screen main.auth-page::before{
 background-size:100% 100%,auto min(100dvh,155vw);
 background-position:center center,right bottom;
 background-color:#76b8f2;
}

/* Anchor the network and logo immediately above the signed-in user's name. */
.home-welcome:has(.home-user-status)::after{display:none}
.home-user-status{text-align:center}
.home-account-brand{display:block;width:min(320px,calc(100vw - 48px));height:auto;margin:0 auto 12px;object-fit:contain}
@media(max-width:780px){
 .home-account-brand{width:auto;max-width:calc(100vw - 48px);height:min(28dvh,240px);margin:0 auto 10px}
}

/* Signed-in title and fixed account block follow the Start button's left edge. */
.home-welcome:has(.home-user-status) .home-copy-text h1{position:relative;left:var(--home-title-left-offset,0px);text-align:left}
.home-welcome .home-user-status{position:fixed;left:var(--home-user-left,12px);right:16px;bottom:0;z-index:45;margin:0;padding:10px 0 calc(10px + env(safe-area-inset-bottom));text-align:left;background:transparent;text-shadow:0 1px 2px #fff,0 0 6px #fff}
.home-user-status .home-account-brand{width:auto;max-width:min(320px,calc(100vw - var(--home-user-left,12px) - 16px));height:min(28dvh,240px);margin:0 0 10px;object-fit:contain;object-position:left bottom}
body:has(.home-user-status){padding-bottom:calc(var(--home-user-footer-height,340px) + 24px)}
@media(max-width:780px){.home-welcome:has(.home-user-status) .home-copy-text h1{display:block}}

/* Public title and introductory text stay two lines below the header. */
body.auth-screen main.auth-page{padding-top:calc(var(--public-intro-height,300px) + 3em + 24px)}
body.auth-screen .auth-introduction .home-landing-copy{position:fixed;top:calc(var(--header-height,64px) + 3em + env(safe-area-inset-top,0px));left:clamp(16px,7.4vw,120px);right:clamp(16px,7.4vw,120px);width:auto;max-width:960px;margin:0;padding:12px 16px;z-index:40;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-sizing:border-box;max-height:none;overflow:visible}
body.auth-screen .auth-introduction .home-landing-copy>h1{display:block;margin:0 0 12px;font-size:clamp(22px,4vw,44px)}
body.auth-screen .auth-introduction .home-landing-copy>p{margin:0 0 12px;font-size:clamp(15px,1.3vw,18px);line-height:1.5;max-width:none}
body.auth-screen .auth-introduction .home-landing-copy>p:last-child{margin-bottom:0!important}
.auth-page>.auth-mobile-title{display:none!important}

/* User landing: title one line lower and network two lines higher. */
.home-welcome:has(.home-user-status) .home-copy-text h1{display:block;position:fixed;top:calc(var(--header-height,64px) + 6rem + env(safe-area-inset-top,0px));left:var(--home-user-left,12px);right:16px;width:auto;margin:0;z-index:50}
.home-welcome:has(.home-user-status) .home-account-brand{position:fixed;left:var(--home-user-left,12px);bottom:calc(var(--home-user-footer-height,100px) + 7.5rem + 10px);width:auto;height:min(56dvh,480px);max-width:none;margin:0;z-index:1;object-fit:contain;object-position:left bottom;pointer-events:none}
@media(max-width:780px){
 body:not(.workspace-working):has(.home-user-status) .workflow{top:calc(var(--header-height,64px) + 6rem + var(--home-user-title-height,40px) + 12px + env(safe-area-inset-top,0px))}
 body:not(.workspace-working):has(.home-user-status) .workspace{margin-top:calc(var(--workflow-height,346px) + 6rem + var(--home-user-title-height,40px) + 12px)}
}

/* Package request and project creation share the same sidebar edges. */
body:has(.home-user-status) #packageRequest{margin-top:calc(12px + 7.5rem);background:rgba(255,255,255,.3);backdrop-filter:none}
.home-package-project-actions{margin:12px 0 18px;width:100%}
.home-package-project-actions>#homeNewProject{display:block;width:100%;margin-top:10px;background:#1d65b2;color:white}
.home-welcome .home-user-status{background:rgba(255,255,255,.4);border-radius:8px 8px 0 0}
@media(max-width:780px){.home-package-project-actions{display:none}}

/* Public mobile introduction: hide the title and lower the text two lines. */
@media(max-width:780px){
 body.auth-screen .auth-introduction .home-landing-copy{top:calc(var(--header-height,64px) + 7.5rem + env(safe-area-inset-top,0px));padding-top:0;background:rgba(255,255,255,.6);border-radius:10px}
 body.auth-screen .auth-introduction .home-landing-copy .home-brand{display:none}
 body.auth-screen .auth-introduction .home-landing-copy>h1{visibility:hidden}
 body.auth-screen main.auth-page{padding-top:calc(var(--public-intro-height,300px) + 7.5rem + 24px)}
}

/* Public desktop: one column edge for the introduction and contact form. */
@media(min-width:1200px){
 body.auth-screen main.auth-page{--public-column-left:calc(clamp(16px,7.4vw,120px) + 16px);--public-column-shift:calc(var(--public-column-left) - clamp(24px,4vw,60px))}
 body.auth-screen .auth-introduction .home-landing-copy{left:var(--public-column-left);right:auto;width:var(--public-column-width,35vw);max-width:none;padding-left:0;padding-right:0}
 body.auth-screen .auth-page .public-contact{margin-left:var(--public-column-shift);width:max(300px,calc(55% - var(--public-column-shift)))}
}

/* Tablet public start, including iPad portrait and larger touch screens. */
@media(min-width:700px) and (max-width:1199px),(min-width:700px) and (pointer:coarse){
 body.auth-screen .auth-introduction .home-landing-copy{top:calc(var(--header-height,64px) + 4.5rem + env(safe-area-inset-top,0px));left:6vw;right:auto;width:58vw;max-width:none;padding:0}
 body.auth-screen .auth-introduction .home-landing-copy>h1{display:block;visibility:visible;margin:0 0 12px}
 body.auth-screen .auth-introduction .home-landing-copy .home-brand{display:none}
 body.auth-screen .auth-introduction .home-title{margin-top:0}
 body.auth-screen main.auth-page{padding-top:calc(var(--public-intro-height,300px) + 4.5rem + 24px)}
 body.auth-screen main.auth-page::after{background-size:min(320px,30vw) auto;background-position:right calc(4vw + 48px) top calc(var(--header-height,64px) + 4.5rem - min(7.04px,.66vw) + env(safe-area-inset-top,0px))}
}

/* Keep the public contact frame in place and scroll its form independently. */
/* Phone introduction participates in the same page flow as the login form. */
@media(max-width:699px){
 body.auth-screen main.auth-page{padding-top:7.5rem}
 body.auth-screen .auth-introduction .home-landing-copy{position:relative;top:auto;left:auto;right:auto;width:100%;max-width:none;z-index:auto}
 body.auth-screen main.auth-page::after{--public-brand-width:min(336px,calc(100vw - 9px));background-image:url("smart-bpm-public-brand-mobile.svg?v=logo-clean-v9-20261025");background-size:var(--public-brand-width) auto;background-position:left calc(16px - var(--public-brand-width) * .047619) top calc(var(--header-height,64px) - 2.125rem + env(safe-area-inset-top,0px))}
}
.public-contact-window{margin:0;padding:0;background:transparent;border:0;box-shadow:none}
@media(min-width:700px){
 body.auth-screen .public-contact-window{position:fixed;top:var(--contact-window-top);left:var(--contact-window-left);width:var(--contact-window-width);max-height:max(120px,calc(100dvh - var(--contact-window-top) - 24px - env(safe-area-inset-bottom,0px)));overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;box-sizing:border-box;z-index:30;border-radius:12px}
 body.auth-screen .public-contact{min-height:120px}
 body.auth-screen .public-contact-window:focus-visible{outline:2px solid #397aad;outline-offset:3px}
}

/* Admin landing branding fits between the two sidebars. */
@media(min-width:781px){
 .home-welcome.home-admin-start .home-account-brand{left:var(--home-admin-brand-left,340px);max-width:var(--home-admin-brand-width,calc(100vw - 680px))}
}

/* Emphasize the first cash-plan row and its summary labels. */
.trade-cash-plan-table thead tr:first-child th{font-size:16px;color:#000;font-weight:700;line-height:1.4}
.trade-cash-page .cash-header-total{font-size:16px;color:#000;font-weight:700}
.trade-cash-page .cash-header-total strong{font-size:21px;color:#000;font-weight:700}
.trade-cash-page .cash-title h1,.trade-cash-page .cash-plan-actions>label{color:#000;font-weight:700}

/* Desktop area buttons fill the navigation bar evenly. */
@media(min-width:781px){
 .workflow #nav:has(>.home-nav-item){flex:1 1 0;min-width:0;max-width:none}
 .workflow #nav>.home-nav-item{display:grid;grid-template-columns:minmax(0,1fr) 30px;flex:1 1 0;min-width:0;max-width:none}
 .workflow #nav>.home-nav-item:not(:has(>.home-menu-toggle)){grid-template-columns:minmax(0,1fr)}
 .workflow #nav>.home-nav-item>button[data-home-section]{width:100%;min-width:0;white-space:normal;padding-left:8px;padding-right:8px}
 .workflow #nav>.home-nav-item>.home-menu-toggle{width:30px;min-width:0;padding-left:0;padding-right:0}
}

/* The whole area tile opens its dropdown; labels use the complete tile width. */
.workflow #nav>.home-nav-item:not(:has(>.home-menu-toggle)){grid-template-columns:minmax(0,1fr)}
.workflow #nav>.home-nav-item:not(:has(>.home-menu-toggle))>button[data-home-section]{border-radius:9px;text-align:center}
@media(min-width:781px){
 .workflow #nav>.home-nav-item>button[data-home-section]{font-size:clamp(14px,1.05vw,22px);line-height:1.25;padding:8px;overflow-wrap:normal}
}

/* Price prognosis: two separate windows and a draggable divider. */
.price-risk{container-type:inline-size;container-name:price-page}
.price-risk-layout{--price-editor-size:clamp(280px,var(--editor-width,53%),calc(100% - 302px));display:grid;grid-template-columns:var(--price-editor-size) minmax(0,1fr);gap:22px;align-items:stretch;position:relative}
.price-risk-layout>.panel{margin:0;min-width:0;padding:20px;container-type:inline-size;container-name:price-window}
.price-risk-layout>.panel>.section-head{min-height:58px;display:flex;align-items:flex-start;margin-bottom:12px}
.price-risk-editor-window h1{font-size:24px;margin:0;line-height:1.3;overflow-wrap:anywhere}
.price-risk-saved>.section-head h2{font-size:24px;margin:0;line-height:1.3;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}
.price-risk-saved>.section-head h2 small{font-size:13px;font-weight:400}
.price-risk .price-risk-editor{margin:0;padding:16px;min-width:0}
.price-risk-editor>label{display:grid;gap:8px;margin-bottom:16px}
.price-risk-editor .price-risk-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.price-risk-editor .price-risk-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:10px}
.price-risk-editor .price-risk-fields label,.price-risk-editor .price-risk-points label{min-width:0}
.price-risk-editor .price-risk-points>div{padding:8px}
.price-risk-editor input,.price-risk-editor select{min-width:0;width:100%;max-width:100%}
.price-risk-editor>.panel{margin:16px 0;padding:14px;min-width:0}
.price-risk-editor>.panel>label{display:grid;gap:8px;margin-top:12px}
.price-editor-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.price-editor-actions [data-price-save]{background:#1d65b2;color:white;border-color:#1d65b2}
.price-risk-saved>.price-risk-card{margin:0 0 16px;padding:18px}
.price-risk-saved h3{margin:0;font-size:18px}
.price-risk .price-risk-result{display:flex;flex-wrap:wrap;gap:14px;padding:14px;min-width:0}
.price-risk .price-risk-result span{flex:1 1 115px;font-size:13px;min-width:0}
.price-risk .price-risk-result strong{display:block;font-size:18px;overflow-wrap:anywhere;margin-top:4px}
.price-building-status,.price-series-label,.price-editor-status{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.price-risk-layout>.panel-resize-handle{display:block;position:absolute;top:0;bottom:0;left:calc(var(--price-editor-size) + 4px);width:14px;cursor:col-resize;touch-action:none;z-index:5;border-radius:4px;background:linear-gradient(to right,transparent 6px,#86aecb 6px,#86aecb 8px,transparent 8px)}
.price-risk-layout>.panel-resize-handle::after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:8px 2px;background:#e6f1f9;color:#1d65b2;border:1px solid #b5ccdf;border-radius:5px;font-size:16px}
.price-risk-layout>.panel-resize-handle:hover,.price-risk-layout>.panel-resize-handle:focus,.price-risk-layout.is-resizing>.panel-resize-handle{background:#c7e2fa;outline:1px solid #6d9bbc}
@container price-window (min-width:760px){.price-risk-editor .price-risk-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.price-risk-editor .price-risk-points{grid-template-columns:repeat(6,minmax(0,1fr))}}
@container price-page (max-width:619px){.price-risk-layout,.price-risk-layout.resizable-layout{grid-template-columns:minmax(0,1fr)}.price-risk-layout>.panel-resize-handle{display:none}.price-risk-layout>.panel{padding:14px}}
@media(max-width:480px){.price-risk-editor .price-risk-fields,.price-risk-editor .price-risk-points{grid-template-columns:1fr}.price-risk .price-risk-result{display:grid;grid-template-columns:1fr}}
.price-genesis-suggestions{margin:16px 0;padding:14px;background:#eef6fc;border:1px solid #bed3e4;border-radius:7px;min-width:0}
.price-genesis-suggestions h3{font-size:16px;margin:0 0 12px}
.price-genesis-suggestion{padding:12px 0;border-top:1px solid #c9dbe8}
.price-genesis-suggestion:first-of-type{border-top:0;padding-top:0}
.price-genesis-suggestions p{font-size:13px;overflow-wrap:anywhere;margin:8px 0}
.price-genesis-suggestion>strong{font-size:13px}
.price-genesis-suggestion button{margin-top:6px;max-width:100%;white-space:normal}

/* Shared M mark, retaining its blue and transparent courses. */
header .brand{width:56px;min-width:56px;flex:0 0 56px}header .brand img{filter:none;mix-blend-mode:normal}

header button.brand{background:#f5f8fb;padding:5px;border-radius:4px;height:44px}@media(max-width:480px){header button.brand{height:38px}}

.trade-cash-plan-table tbody tr.cash-final-settled>th,.trade-cash-plan-table tbody tr.cash-final-settled>td{background:#dff3e5;color:#175a2e;border-color:#91bd9e}.trade-cash-plan-table .cash-final-note{color:#175a2e;font-weight:700}

/* Keep backward distances visible within the fixed management-table columns. */
.procurement-table.tracking-table td.procurement-date-cell,.procurement-table.management-table.tracking-table td.procurement-date-cell,.procurement-table.management-table.tracking-table th.procurement-date-heading{width:300px;min-width:300px;max-width:none}
.procurement-table .procurement-date-controls>input{flex:0 0 108px;min-height:32px}
.procurement-table .procurement-date-controls>input.procurement-days{display:block;flex:0 0 54px;width:54px;min-width:54px;font-size:16px;font-weight:600;background:#fff;border:2px solid #759cba}
.procurement-table .procurement-day-arrow{width:26px;height:32px;border:1px solid #aac3d7;border-radius:4px;background:#edf7ff;flex:0 0 26px}
.procurement-table .procurement-day-arrow>span{display:inline;font-size:14px}
.procurement-table .procurement-day-arrow select{position:absolute;inset:0;opacity:0;width:100%;height:100%;min-height:0;padding:0;cursor:pointer}
.procurement-table .procurement-day-unit{display:block;margin-top:5px;max-width:280px;white-space:normal;font-size:12px;line-height:1.4;color:#315677}
@media(pointer:coarse){
 .procurement-table.tracking-table td.procurement-date-cell,.procurement-table.management-table.tracking-table td.procurement-date-cell,.procurement-table.management-table.tracking-table th.procurement-date-heading{width:340px;min-width:340px}
 .procurement-table .procurement-date-controls{height:44px}
 .procurement-table .procurement-date-controls>input,.procurement-table .procurement-picker{height:44px;min-height:44px;font-size:16px}
 .procurement-table .procurement-day-arrow{width:44px;height:44px;flex-basis:44px}
 .procurement-table .procurement-picker{width:44px}
}

/* Complete Smart-TKQ wordmark with the current construction M. */
header .brand{width:132px;min-width:132px;flex:0 0 132px}
@media(max-width:480px){header .brand{width:102px;min-width:102px;flex-basis:102px}}

/* White application wordmark on the dark header. */
header button.brand,header button.brand:hover{background:transparent}
header .brand img{filter:brightness(0) invert(1);mix-blend-mode:normal}

/* Procedure-specific legal intervals are visible beside the selected procedure. */
.procurement-method-deadlines{display:grid;gap:6px;margin-top:10px;white-space:normal}
.procurement-legal-field{display:grid;gap:3px;font-size:12px;text-align:left}
.procurement-legal-field>span{display:flex;gap:6px;align-items:center}
.procurement-table .procurement-legal-field input{width:64px;flex:0 0 64px;min-height:32px;text-align:center;font-size:15px}
.procurement-legal-field small,.procurement-auto-note{font-size:11px;line-height:1.4;color:#315677}
.procurement-method-deadlines .procurement-electronic{margin-top:0;white-space:normal;align-items:flex-start}

/* Only the current navigation area is blue; other areas remain light blue. */
.workflow #nav>.nav-row>button:is([data-home-section],[data-view],[data-honorar-costs]){background:linear-gradient(155deg,#eff8ff,#cde5f7);color:#173e60;border-color:#9ebfd8;text-shadow:none}
.workflow #nav>.nav-row>button:is([data-home-section],[data-view],[data-honorar-costs]):is(.selected,[aria-current="page"]){background:linear-gradient(155deg,#348bc9,#17619f);color:#fff;border-color:#125286;text-shadow:none;outline:2px solid #173e60;outline-offset:2px;box-shadow:inset 0 -3px #125286}

/* Mobile home areas sit immediately below the header, with 40% transparency. */
@media(max-width:780px){
 body:not(.workspace-working) .workflow,
 body:not(.workspace-working):has(.home-platform-text) .workflow,
 body:not(.workspace-working):has(.home-user-status) .workflow{top:calc(var(--header-height,64px) + env(safe-area-inset-top,0px));background:rgba(210,232,248,.6)}
 body:not(.workspace-working) .workspace,
 body:not(.workspace-working):has(.home-platform-text) .workspace,
 body:not(.workspace-working):has(.home-user-status) .workspace{margin-top:var(--workflow-height,346px)}
 body:not(.workspace-working) .home-welcome>.home-project-summary{top:calc(var(--header-height,64px) + env(safe-area-inset-top,0px) + var(--workflow-height,346px))}
 body:not(.workspace-working) .workflow.workspace-mobile-expanded #nav>.home-nav-item{background:transparent}
 body:not(.workspace-working) .workflow #nav>.nav-row>button:is([data-home-section],[data-view],[data-honorar-costs]){background:linear-gradient(155deg,rgba(239,248,255,.6),rgba(205,229,247,.6))}
 body:not(.workspace-working) .workflow #nav>.nav-row>button:is([data-home-section],[data-view],[data-honorar-costs]):is(.selected,[aria-current="page"]){background:linear-gradient(155deg,rgba(52,139,201,.6),rgba(23,97,159,.6))}
 .home-welcome:has(.home-user-status) .home-copy-text h1{position:relative;top:auto;left:auto;right:auto;width:auto;z-index:auto}
}

/* Translucent project shortcuts retain fully readable labels. */
@media(max-width:780px){
 .workspace-mobile-bar button{background:linear-gradient(155deg,rgba(241,249,255,.6),rgba(220,238,251,.6) 48%,rgba(196,223,243,.6))}
 .workspace-mobile-bar [data-mobile-critical]{background:linear-gradient(155deg,rgba(238,251,239,.6),rgba(204,235,208,.6))}
 .workspace-mobile-bar [data-mobile-critical].has-critical{background:linear-gradient(155deg,rgba(255,240,241,.6),rgba(246,203,208,.6))}
}

/* Mobile reference: move the account logo and network left and slightly lower. */
@media(max-width:780px){
 .home-welcome:has(.home-user-status) .home-account-brand{transform:translate(-20vw,40px)}
}

[data-procurement-row-settings]>label{display:grid;gap:6px;margin:12px 0}[data-procurement-row-settings] .procurement-method-deadlines{margin:12px 0;padding:12px;border:1px solid #8ba5bf;border-radius:8px}

.procurement-table .procurement-header-controls{justify-content:space-between;align-items:flex-start;margin:0 0 4px;min-height:27px}
.procurement-table .procurement-header-controls .procurement-hint{margin-left:auto}
.procurement-table.management-table.tracking-table .procurement-column-costGroup{width:76px;min-width:76px;max-width:76px;text-align:center;position:static;left:auto}
.procurement-table.management-table.tracking-table thead .procurement-column-costGroup{position:sticky;top:0;z-index:12;background:#e8f2ff}
.procurement-table.management-table.tracking-table .procurement-column-amount{width:155px;min-width:155px;max-width:155px}
.procurement-table.management-table.tracking-table .procurement-column-method{width:205px;min-width:205px;max-width:205px}
.procurement-table.management-table.tracking-table .procurement-column-planner{width:155px;min-width:155px;max-width:155px}

.procurement-table .procurement-header-controls{display:flex;align-items:center;gap:6px;margin:0;min-width:0}
.procurement-table .procurement-header-controls [data-tracking-filter]{flex:0 0 29px}
.procurement-table.management-table.tracking-table thead .procurement-header-controls .procurement-column-title{flex:1 1 0;width:0;min-width:0;max-width:100%;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.25;padding:4px 1px;min-height:27px;box-sizing:content-box}
.procurement-table .procurement-header-controls .procurement-hint{flex:0 0 18px;margin:0}
.note-popover{max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box}
.note-popover select{width:100%;min-width:0;max-width:100%;margin-bottom:10px;box-sizing:border-box}

/* Keep the Gewerke / KG divider visible alongside the sticky trade column. */
.procurement-table.management-table.tracking-table .procurement-column-trade{border-right:1px solid #91a9bf;box-shadow:inset -1px 0 0 #91a9bf}
.procurement-table.management-table.tracking-table thead .procurement-header-controls .procurement-column-title{field-sizing:content;box-sizing:border-box;height:auto;min-height:32px;max-height:none;flex:1 1 auto;width:100%;min-width:0;padding:6px 3px;line-height:1.3;border:1px solid #8aa9c3;border-radius:4px;background:transparent}
.procurement-table .procurement-header-controls{width:100%;box-sizing:border-box}

.procurement-table.management-table.tracking-table .procurement-column-method{width:480px;min-width:480px;max-width:480px}
.procurement-table.management-table.tracking-table .procurement-method-cell [data-procurement-field="method"]{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box}

.procurement-table.management-table.tracking-table thead .procurement-header-controls .procurement-column-title{flex:0 0 auto;field-sizing:fixed;max-width:none;min-width:0;min-height:32px;height:32px;padding:5px 3px;box-sizing:border-box;white-space:nowrap;overflow-wrap:normal;font-size:14px}
.procurement-table .procurement-header-controls{justify-content:flex-start}
.procurement-table .procurement-header-controls .procurement-hint{margin-left:auto}
.procurement-table.management-table.tracking-table .procurement-column-trade::after{content:"";position:absolute;top:0;bottom:-1px;right:0;width:1px;background:#91a9bf;pointer-events:none;z-index:15}
.procurement-table.management-table.tracking-table .procurement-column-costGroup{width:100px;min-width:100px;max-width:100px}

.procurement-table.management-table.tracking-table th.procurement-column-costGroup,.procurement-table.management-table.tracking-table td.procurement-column-costGroup,.procurement-table.management-table.tracking-table th.procurement-column-amount,.procurement-table.management-table.tracking-table td.procurement-column-amount{white-space:nowrap;overflow:hidden;box-sizing:border-box}
.procurement-table.management-table.tracking-table th.procurement-column-method,.procurement-table.management-table.tracking-table td.procurement-column-method{width:480px;min-width:480px;max-width:480px}
.procurement-table.management-table.tracking-table th.procurement-column-planner,.procurement-table.management-table.tracking-table td.procurement-column-planner{width:240px;min-width:240px;max-width:240px}
.procurement-table.management-table.tracking-table [data-procurement-field="planner"]{width:100%;max-width:100%;min-width:0;box-sizing:border-box}

.procurement-table.management-table.tracking-table td.procurement-column-trade{white-space:nowrap}
.procurement-table.management-table.tracking-table th.procurement-column-action,.procurement-table.management-table.tracking-table td.procurement-column-action{width:120px;min-width:120px;max-width:120px;white-space:nowrap}
.procurement-table.management-table.tracking-table .remarks-col textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-wrap:anywhere}

.procurement-table.management-table.tracking-table .procurement-column-resizer{position:absolute;right:0;top:0;bottom:0;width:10px;z-index:30;cursor:col-resize;touch-action:none;user-select:none}
.procurement-column-resizer::before{content:"";position:absolute;right:2px;top:25%;bottom:25%;width:3px;background:#5687b2;border-radius:2px}
.procurement-column-resizer:hover::before,.procurement-column-resizer:focus-visible::before{background:#175da7;width:5px}
.procurement-column-resizer:focus-visible{outline:2px solid #175da7;outline-offset:-2px}
.procurement-resizing,.procurement-resizing *{cursor:col-resize!important;user-select:none!important}
.procurement-table.management-table.tracking-table td.procurement-column-trade{white-space:normal;overflow-wrap:anywhere}

.procurement-pdf-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.procurement-pdf-columns label{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.procurement-pdf-columns input{width:18px;min-width:18px;height:18px;flex:none}.procurement-pdf-dialog form>button{margin-right:8px}@media(max-width:600px){.procurement-pdf-columns{grid-template-columns:1fr}}

/* Preissteigerungsprognose: both resizable windows use the full workspace. */
body.management-wide:has(.price-risk) .workspace{grid-template-columns:minmax(0,1fr)}
body.management-wide .price-risk{width:100%;max-width:none;margin:0}
body.management-wide .price-risk-layout{width:100%;max-width:none}

/* Compact procurement columns; long descriptions wrap below the date controls. */
.procurement-table.management-table.tracking-table{min-width:0}
.procurement-table.management-table.tracking-table th.procurement-date-heading,
.procurement-table.management-table.tracking-table td.procurement-date-cell{min-width:0;max-width:none;padding:6px}
.procurement-table .procurement-header-controls{gap:5px;align-items:flex-start}
.procurement-table.management-table.tracking-table thead .procurement-header-controls .procurement-column-title{flex:1 1 0;width:0;min-width:0;max-width:100%;font-size:14px}
.procurement-table thead .procurement-hint{flex:0 0 auto;margin-left:auto;align-self:flex-start}
.procurement-table .procurement-date-controls{gap:3px}
.procurement-table .procurement-day-unit{max-width:100%;overflow-wrap:anywhere;margin-top:3px}
/* Planung: a single expanded list, with selectable service groups. */
.area-hero:has(img[src="planning-effort.png"]) .hero-choice:first-child>.hero-dropdown{width:100%;right:0;grid-template-columns:minmax(0,1fr);gap:4px;padding:6px;max-height:62vh}
.area-hero:has(img[src="planning-effort.png"]) .hero-subchoice>.hero-subtrigger{padding:10px 12px}
@media(pointer:coarse){
 .procurement-table.management-table.tracking-table th.procurement-date-heading,
 .procurement-table.management-table.tracking-table td.procurement-date-cell{min-width:292px!important}
}


/* Procurement monitoring and compact filters. */
.procurement-table.management-table.tracking-table [data-procurement-text-date].procurement-overdue{color:#ad1727;border-color:#ad1727;background:#fff1f2;font-weight:750}
.procurement-table.tracking-table thead [data-tracking-filter]{width:22px;height:22px;min-height:22px;flex:0 0 22px;margin-top:4px;padding:2px;color:#103e6b;border-color:#6d91b5}
.procurement-table.tracking-table thead [data-tracking-filter] svg{width:12px;height:12px;color:#103e6b;stroke-width:2.5}
.procurement-table.management-table.tracking-table .procurement-column-costGroup{min-width:104px;width:104px;max-width:104px}
.procurement-packages-dialog{width:min(1120px,95vw);max-height:90dvh;box-sizing:border-box;overflow:hidden;border:1px solid #a5bfd5;border-radius:12px;padding:0;background:#f7fbff;color:#16334e}
.procurement-packages-dialog[open]{display:flex;flex-direction:column}
.procurement-packages-dialog>.section-head{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 24px;border-bottom:1px solid #aec8df;background:#f7fbff}
.procurement-packages-dialog>.section-head h2{margin:0}
.procurement-package-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.procurement-packages-body{flex:1 1 auto;min-height:0;overflow:auto;padding:0 24px 24px}
.package-window{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0;font-weight:650}
.package-window select{padding:8px;border:1px solid #8badc8;border-radius:5px}
.procurement-package-card{background:#fff;border:1px solid #aec8df;border-radius:10px;margin:18px 0;padding:20px}
.procurement-package-card h3{margin:0 0 18px}
.procurement-package-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.procurement-package-metrics>div{padding:12px;background:#e8f2fc;border-radius:6px;display:grid;gap:6px}
.procurement-package-metrics span,.procurement-package-metrics small{font-size:13px}
.procurement-package-metrics strong{font-size:17px;overflow-wrap:anywhere}
.procurement-package-card table{min-width:680px;width:100%}
.procurement-package-card th{text-align:left}
.package-overdue{color:#ad1727;font-weight:650}
.package-key-dates{font-size:13px;color:#395870}
@media(max-width:650px){.procurement-packages-dialog>.section-head{padding:14px 16px;gap:12px}.procurement-packages-body{padding:0 16px 16px}.procurement-package-metrics{grid-template-columns:1fr}.procurement-package-card{padding:14px}}

/* Fee tabs fit their labels on one line. */
.workflow #nav:has(>.nav-row>[data-honorar-costs]){flex:1 1 auto;min-width:0;max-width:100%;gap:4px;flex-wrap:wrap;align-items:center}
.workflow #nav:has(>.nav-row>[data-honorar-costs])>.nav-row,
.workflow #nav:has(>.nav-row>[data-honorar-costs])>.tga-navigation{flex:0 0 auto;width:max-content;min-width:0;max-width:none;margin:0;padding:0;box-sizing:border-box}
.workflow #nav:has(>.nav-row>[data-honorar-costs])>.nav-row>button,
.workflow #nav:has(>.nav-row>[data-honorar-costs])>.tga-navigation>summary{width:auto;min-width:0;max-width:none;min-height:32px;margin:0;padding:7px 10px;box-sizing:border-box;white-space:nowrap;overflow-wrap:normal;hyphens:none;text-align:center;line-height:1.25;font-size:13px;border-radius:6px}
.workflow #nav:has(>.nav-row>[data-honorar-costs])>.tga-navigation>summary{background:linear-gradient(155deg,#eff8ff,#cde5f7);color:#173e60;border:1px solid #9ebfd8}
#mobileHomeActions .workspace-save-state #status,#accountActions .workspace-save-state #status{margin:0;padding:0;color:inherit;white-space:normal;font-size:12px;line-height:1.5}
.organization-page th.organization-reorder-cell,.organization-page td.organization-reorder-cell{position:sticky;left:0;min-width:130px;width:130px;max-width:130px;background:#f3f8fd;z-index:3}
.organization-page thead th.organization-reorder-cell{z-index:6}
.organization-page th:nth-child(2),.organization-page td:nth-child(2){min-width:265px}
.organization-page .organization-order{margin:0;gap:4px;align-items:center}
.organization-page [data-organization-drag]{cursor:grab;color:#164d7a;touch-action:none}
.organization-page [data-organization-drag]:active{cursor:grabbing}
.organization-dragging{opacity:.55}
.organization-page tr.organization-drop-before>td{border-top:3px solid #176db2}
.organization-page tr.organization-drop-after>td{border-bottom:3px solid #176db2}
@media(pointer:coarse){.organization-page th.organization-reorder-cell,.organization-page td.organization-reorder-cell{min-width:162px;width:162px;max-width:162px}.organization-page .organization-order button{min-width:44px;min-height:44px}}

.procurement-table.management-table.tracking-table th.procurement-column-completion,
.procurement-table.management-table.tracking-table td.procurement-column-completion{width:120px;min-width:120px;max-width:120px;text-align:center}
.procurement-table [data-procurement-complete]{padding:7px 9px;min-height:34px;white-space:normal;font-weight:650}
.procurement-table .procurement-completed td,
.procurement-table .procurement-completed td strong,
.procurement-table .procurement-completed td input,
.procurement-table .procurement-completed td select,
.procurement-table .procurement-completed td textarea{color:#5f6872!important;-webkit-text-fill-color:#5f6872;opacity:1}
.procurement-table .procurement-completed td{background:#fffbe8!important}
.procurement-table .procurement-completed :disabled{cursor:default;background:#fffbe8;opacity:1}
.procurement-table .procurement-completed [data-procurement-complete]{color:#665117;border-color:#e1d7a5;background:#fffdf2;cursor:pointer;-webkit-text-fill-color:#665117}

/* Procurement: compact dates, readable costs and distinct construction anchor. */
.procurement-table td.procurement-column-trade strong{font-size:16px;line-height:1.4}
.procurement-table td.procurement-column-amount{font-weight:750;font-variant-numeric:tabular-nums}
.procurement-table.management-table.tracking-table [data-procurement-text-date].procurement-upcoming{color:#237a43;border-color:#83b895;background:#f4fbf6;font-weight:750}
.procurement-table.management-table.tracking-table th.procurement-column-constructionStart{background:#deedf9;box-shadow:inset 3px 0 0 #23699b}
.procurement-table.management-table.tracking-table td.procurement-column-constructionStart{background:#f0f7fc;border-left:3px solid #23699b}
.procurement-table td.procurement-column-constructionStart [data-procurement-text-date]{font-weight:800;border-width:2px}
.procurement-view .workspace-data-source,.procurement-table .procurement-day-unit{display:none}

/* Accepted procurement packages share a continuous alternating background. */
.procurement-table.tracking-table .procurement-package-blue:not(.procurement-completed)>td{background:#edf6ff!important}
.procurement-table.tracking-table .procurement-package-white:not(.procurement-completed)>td{background:#fff!important}
.procurement-table.management-table.tracking-table .procurement-column-packageNumber{width:150px;min-width:150px;max-width:150px;text-align:center;font-weight:750;position:static;left:auto;box-shadow:none}
.procurement-table.management-table.tracking-table .sequence-col{position:static;left:auto;box-shadow:none}
.procurement-table.management-table.tracking-table th.procurement-column-trade,
.procurement-table.management-table.tracking-table td.procurement-column-trade{position:sticky;left:0;z-index:4;box-shadow:2px 0 0 #92a9bc}
.procurement-table.management-table.tracking-table thead th.procurement-column-trade{left:0;z-index:14}
.procurement-table.management-table.tracking-table thead th.procurement-column-packageNumber,
.procurement-table.management-table.tracking-table thead th.sequence-col{position:sticky;top:0;left:auto;z-index:12}
.procurement-package-order-note{margin:0 0 10px;font-size:13px;color:#405d76}
.procurement-packages-dialog [data-package-error]{color:#a52d39}
.procurement-table.management-table.tracking-table td.procurement-merged-cell{text-align:center!important;vertical-align:middle!important}
.procurement-table.management-table.tracking-table td.procurement-merged-cell .procurement-date-controls{justify-content:center}
.procurement-table.management-table.tracking-table td.procurement-merged-blue{background:#edf6ff!important}
.procurement-table.management-table.tracking-table td.procurement-merged-white{background:#fff!important}
.procurement-table.management-table.tracking-table td.procurement-merged-completed{background:#fffbe8!important}
.procurement-table.management-table.tracking-table td[hidden]{display:none!important}
.procurement-head .procurement-state{order:1;margin-inline-start:auto;text-align:right}
.procurement-head [data-procurement-save]{margin-left:0}
.procurement-table.management-table.tracking-table th.procurement-column-packageNumber,
.procurement-table.management-table.tracking-table td.procurement-column-packageNumber{border-right:1px solid #91a9bf!important;box-shadow:inset -1px 0 0 #91a9bf;text-align:center!important;vertical-align:middle!important}
.procurement-table.management-table.tracking-table th.sequence-col,
.procurement-table.management-table.tracking-table td.sequence-col{border-left:1px solid #91a9bf!important}
.procurement-table.management-table.tracking-table tbody td.procurement-column-packageNumber{font-size:20px;font-weight:800;line-height:1.2}
.procurement-shared-lv{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.procurement-table .procurement-shared-lv .procurement-date-controls>[data-procurement-text-date]{font-size:18px;font-weight:750;flex-basis:128px;width:128px;text-align:center}
.procurement-table.management-table.tracking-table td.procurement-column-lvHandover.procurement-merged-cell{position:relative}
.procurement-package-intervals{position:absolute;bottom:6px;left:8px;right:8px;width:calc(100% - 16px);max-height:240px;overflow:auto;z-index:20;font-size:12px;text-align:left}
.procurement-package-intervals[open]{padding:8px;box-sizing:border-box;border:1px solid #aec8df;border-radius:6px;background:#f7fbff;box-shadow:0 4px 12px #16334e26}
.procurement-package-intervals>summary{cursor:pointer;text-align:center;font-weight:600;color:#405d76}
.procurement-package-intervals>label{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:8px}
.procurement-package-interval-controls{display:inline-flex;align-items:center;gap:4px}
.procurement-package-interval-controls>.procurement-days{width:54px;min-width:54px;padding:5px;text-align:center}
.procurement-table .procurement-shared-lv [data-procurement-text-date].procurement-upcoming{color:#237a43!important;-webkit-text-fill-color:#237a43}
.procurement-table .procurement-shared-lv [data-procurement-text-date].procurement-overdue{color:#ad1727!important;-webkit-text-fill-color:#ad1727}

.procurement-table.management-table.tracking-table tr.procurement-package-total>td{font-weight:800;border-top:2px solid #91a9bf;padding:10px 8px;vertical-align:middle}
.procurement-table tr.procurement-package-total .num{text-align:right;white-space:nowrap}
.procurement-logo-preview{max-width:90px;max-height:34px;object-fit:contain}
/* Terminspalten wählen; Aktionen bleiben außerhalb des Scrollbereichs. */
.procurement-config-dialog:has(.procurement-presets-form){overflow:hidden;padding:18px;width:min(820px,calc(100vw - 24px))}
.procurement-presets-form{display:flex;flex-direction:column;height:min(76vh,850px);min-height:0}
.procurement-presets-header{flex:none;border-bottom:1px solid #b8cddd;padding-bottom:10px;background:#fff}
.procurement-presets-header h2{margin:12px 0 0;font-size:21px}
.procurement-presets-header .procurement-dialog-actions{margin:0;flex-wrap:wrap}
.procurement-presets-body{overflow:auto;min-height:0;padding:8px 3px 12px;overscroll-behavior:contain}
.procurement-presets-body>label{display:grid;gap:6px;margin:12px 0}
.procurement-preset-table .procurement-visibility-cell{text-align:center;vertical-align:middle}
.procurement-preset-table input[type=checkbox]{width:20px;height:20px;accent-color:#176bb4;cursor:pointer}
@media(min-width:1101px){
 .workflow #nav .home-nav-item:has(.cost-stages-menu)>.home-menu{overflow:visible}
 .home-menu .cost-stages-menu>.home-submenu{position:absolute;left:100%;top:0;width:300px;min-width:250px;max-height:min(65vh,520px);margin:0;padding:6px;border:1px solid #b9cbd9;border-radius:7px;box-shadow:0 8px 22px rgba(16,56,91,.16)}
 .home-menu .cost-stages-menu>button span{transform:rotate(-90deg)}
 .home-menu .cost-stages-menu.open>button span{transform:rotate(-90deg)}
}
/* Einheitliche Farbe für PDF-Erstellung in allen Bereichen. */
button:is(#headerPdf,#save,.pdf-create-button,.sheet-pdf-button,[data-pdf],[data-sheet-pdf],[data-summary-pdf],[data-class-pdf],[data-procurement-pdf],[data-schedule-diagram-pdf],[data-cash-plan-pdf],[data-order-pdf],[data-change-document-pdf],[data-termination-pdf],[data-billing-pdf],[data-psp-pdf],[data-protocol-export],[data-cover-print],[data-form-download],[name=exportPdf]),.pdf-preview-actions button:not(:first-child){background:#176bb4!important;color:#fff!important;border-color:#12568f!important}
button:is(#headerPdf,#save,.pdf-create-button,.sheet-pdf-button,[data-pdf],[data-sheet-pdf],[data-summary-pdf],[data-class-pdf],[data-procurement-pdf],[data-schedule-diagram-pdf],[data-cash-plan-pdf],[data-order-pdf],[data-change-document-pdf],[data-termination-pdf],[data-billing-pdf],[data-psp-pdf],[data-protocol-export],[data-cover-print],[data-form-download],[name=exportPdf]):hover:not(:disabled),.pdf-preview-actions button:not(:first-child):hover:not(:disabled){background:#12568f!important}

.procurement-table.management-table.tracking-table tr.procurement-package-total>td{background:#cfe4f6!important;color:#000!important;border-top-color:#91a9bf}
.subproject-context{background:#f4f9fe;border:1px solid #b9d2e6;border-radius:8px;padding:12px 16px;margin:0 0 16px;clear:both;color:#18374f}.subproject-context-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.subproject-context-head>label{display:flex;align-items:center;gap:8px}.subproject-context select{max-width:100%;min-width:180px}.subproject-legend{display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:10px;font-size:13px}.subproject-legend i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:6px}.subproject-legend strong{margin-left:5px}.subproject-assignment-register{margin-top:12px}.subproject-assignment-register>summary{cursor:pointer;font-weight:650}.subproject-assignment-register>.table-scroll{max-height:360px;overflow:auto}.subproject-picker{min-width:175px;max-width:300px;width:100%;font-size:14px;padding:7px;box-sizing:border-box;border:1px solid #adc7dc;border-radius:5px;background:#fff;color:#17354f}.subproject-form-field,.subproject-inline-field{display:grid;gap:6px;margin:12px 0;max-width:340px}.subproject-cell{min-width:190px}.subproject-context .table-scroll{margin-top:12px}
tr[data-subproject-color]:not(.procurement-completed):not(.procurement-package-total)>td{background:var(--subproject-fill)!important}tr[data-subproject-color]>td.subproject-cell{border-left:4px solid var(--subproject-color)}tr[data-subproject-color]>td:first-child,tr[data-subproject-color]>th:first-child{box-shadow:inset 4px 0 var(--subproject-color)}tr[data-subproject-color] .subproject-picker{border-left:4px solid var(--subproject-color)}.framework-chart-table .subproject-picker{margin-top:7px;max-width:240px}.subproject-scope-note{font-size:13px;color:#425d72;padding:6px 0;margin:5px 0}
@media(max-width:780px){.subproject-context{padding:10px}.subproject-context-head{align-items:stretch}.subproject-context-head>label{flex:1 1 100%;flex-wrap:wrap}.subproject-context-head select{width:100%;font-size:16px}.subproject-picker{font-size:16px}.subproject-legend{gap:10px}.subproject-assignment-register .table-scroll{max-height:280px}}

/* Direktwahl der vorhandenen Planungsseiten in der Kopfzeile. */
.planning-nav-list{min-width:320px;max-width:min(520px,calc(100vw - 24px));max-height:70vh;overflow-y:auto;overscroll-behavior:contain}
.planning-nav-label{display:block;padding:9px 10px 3px;color:#507387;font-size:12px;font-weight:700;border-top:1px solid #e2ebf3}
.planning-nav-list button{white-space:normal;text-align:left}
@media(max-width:780px){.planning-nav-list{min-width:0;max-width:calc(100vw - 24px)}}

.subproject-cost-dialog{width:min(900px,calc(100vw - 28px));max-height:90vh;padding:22px;border:1px solid #b9d2e6;border-radius:10px;color:#18374f}.subproject-cost-dialog::backdrop{background:#102b4655}.subproject-cost-dialog .table-scroll{max-height:48vh;overflow:auto}.subproject-cost-dialog select{display:block;width:100%;margin:8px 0}.subproject-cost-dialog [type=checkbox]{width:20px;height:20px}

.planning-nav-menu>.planning-nav-list{position:fixed;z-index:240;box-shadow:0 12px 24px #071e3460;border:1px solid #b9cbd9;border-radius:7px;padding:6px;background:#fff;margin:0}

/* Seitliches Planungsmenü außerhalb des übergeordneten Dropdowns. */
#nav .planning-nav-list[popover]:not(:popover-open){display:none!important}
#nav .planning-nav-list[popover]:popover-open{display:grid;gap:3px;position:fixed;inset:auto;margin:0;border-radius:7px}
#nav .planning-flyout-host{overflow:visible;backdrop-filter:none;-webkit-backdrop-filter:none}

.cost-assignment-mode{display:block;margin-top:8px}.cost-assignment-mode>span{display:block;margin-bottom:4px;font-size:12px;color:#507387}.cost-assignment-mode select{width:100%;min-width:230px}.cost-assignment-mode select:disabled{opacity:.55}

.cost-assignment-shares{display:grid!important;gap:8px;margin-top:8px}.cost-assignment-shares label{display:grid;gap:4px}.cost-assignment-shares input{width:100%;max-width:230px;min-width:90px}

.cost-trades-table.management-table.tracking-table{min-width:1270px}.cost-trades-table.tracking-table th:nth-child(4){width:145px}.cost-trades-table.tracking-table th:nth-child(7){width:125px}.cost-trades-table.tracking-table th:nth-child(8){width:110px}.cost-trades-table.tracking-table th:nth-child(9){width:230px}

/* Gemeinsame Dropdown-Navigation für alle Hauptbereiche. */
.workflow #nav .home-nav-item>.home-menu{width:var(--menu-width);min-width:220px;max-width:calc(100vw - 24px);box-sizing:border-box;overflow:visible;max-height:70vh}
#nav .home-submenu-parent>button{display:flex;align-items:center;justify-content:space-between;gap:18px;font-weight:650;min-height:0}
#nav .home-submenu-parent>button span,#nav .home-submenu-parent.open>button span{transform:rotate(-90deg)}
#nav .home-submenu-parent>.home-submenu{display:none}
#nav .home-submenu-parent.open>.home-submenu{display:grid;gap:3px}
#nav .home-submenu[data-nav-flyout]{padding:6px;border:1px solid #b9cbd9;border-radius:7px;background:var(--nav-glass,#fff);box-shadow:0 8px 22px rgba(16,56,91,.16);box-sizing:border-box;resize:none}
#nav .home-submenu[data-nav-flyout]:not(:popover-open){display:none!important}
#nav .home-submenu[data-nav-flyout]:popover-open{display:grid;gap:3px;position:fixed;inset:auto;margin:0}
#nav .home-menu button,#nav .home-submenu button{font-size:14px;padding:8px 10px;line-height:1.35;min-height:0;white-space:normal;text-align:left}
@media(max-width:1100px){.workflow #nav .home-nav-item>.home-menu{min-width:0;max-height:65vh;overflow-y:auto}#nav .home-menu button,#nav .home-submenu button{min-height:44px}}
.din-position-assignment{min-width:260px}.din-position-assignment>label{display:block}.din-position-assignment select{width:100%}.din-profile-picker{margin-top:14px;border:1px solid #557f9d;border-radius:7px;background:#fff}.din-profile-picker>summary{padding:10px 12px;color:#183b56;cursor:pointer;white-space:normal}.din-profile-picker>div{display:grid;gap:8px;padding:10px 12px;max-height:320px;overflow:auto}.din-profile-picker label{display:flex;align-items:center;gap:8px;margin:0}.din-profile-picker input[type=checkbox]{width:18px;height:18px;min-width:18px;accent-color:#1768ab}.din-assignment-status{display:block;margin-top:7px;color:#507387}.din-other-assignments{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.din-other-assignments small{width:100%}.din-other-assignments button{font-size:12px;padding:5px 8px}
.shared-din-view .din-layout-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:16px}.din-heading{flex:1 1 360px}.shared-din-view .din-header-total{display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;gap:8px 16px;margin:0 0 12px;padding:0}.din-header-total span{font-size:14px;color:#507387}.shared-din-view .din-header-total strong{font-size:26px}.shared-din-view .din-head-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:2px}.shared-din-view .din-head-actions .cost-stage-date{margin:0;justify-content:flex-start}.shared-din-view .cost-pdf-upload{margin-bottom:18px}@media(max-width:780px){.shared-din-view .din-layout-head{gap:12px}.din-heading{flex-basis:100%}.shared-din-view .din-head-actions{justify-content:flex-start;width:100%}.shared-din-view .din-header-total strong{font-size:23px}.shared-din-view .din-head-actions .cost-stage-date{flex:0 0 auto}}@media(max-width:420px){.shared-din-view .din-head-actions .cost-stage-date{flex-basis:100%}}
#nav .procurement-nav-item .home-menu button,#nav .procurement-nav-item .home-submenu button{overflow-wrap:normal;word-break:normal;hyphens:none}
.shared-din-view .din-layout-head{display:grid;grid-template-columns:240px minmax(0,1fr) 250px;align-items:center;gap:18px 20px}.shared-din-view .din-layout-head>h1{grid-column:1/3;grid-row:1;font-size:26px;line-height:1.2;margin:0}.shared-din-view .din-header-total{grid-column:3;grid-row:1/3;display:block;text-align:right;align-self:start;margin:0;padding-top:3px}.shared-din-view .din-header-total span{display:block;margin-bottom:8px}.shared-din-view .din-header-total strong{display:block;font-size:26px;white-space:nowrap}.shared-din-view .din-scope-selector{grid-column:1;grid-row:2;margin:0;padding:0;border:0;background:none;clear:none}.din-scope-selector label{display:grid;gap:7px;margin:0}.din-scope-selector label>span{font-weight:600}.din-scope-selector select{width:100%;min-width:0}.shared-din-view .din-head-actions{grid-column:2;grid-row:2;align-items:end;justify-content:flex-start;margin:0}.shared-din-view .din-head-actions .cost-stage-date{display:grid;justify-items:start;gap:7px}.cost-confirmation>span{flex:1 1 260px}.cost-confirmation .cost-history-revoke,.cost-history-list .cost-history-revoke{background:#bc3541!important;color:#fff!important;border-color:#bc3541!important;white-space:nowrap}@media(max-width:1100px){.shared-din-view .din-layout-head{grid-template-columns:minmax(0,1fr) 250px}.shared-din-view .din-layout-head>h1{grid-column:1}.shared-din-view .din-header-total{grid-column:2;grid-row:1/2}.shared-din-view .din-scope-selector{grid-row:2}.shared-din-view .din-head-actions{grid-column:1/3;grid-row:3}}@media(max-width:600px){.shared-din-view .din-layout-head{grid-template-columns:minmax(0,1fr)}.shared-din-view .din-layout-head>h1{grid-column:1;grid-row:1;font-size:24px}.shared-din-view .din-header-total{grid-column:1;grid-row:2}.shared-din-view .din-header-total strong{font-size:24px}.shared-din-view .din-scope-selector{grid-row:3}.shared-din-view .din-head-actions{grid-column:1;grid-row:4}.shared-din-view .din-head-actions button{flex:1 1 160px}.cost-confirmation{flex-wrap:wrap}}
.shared-din-view .din-header-total{grid-row:1}.shared-din-view .din-unified-toolbar{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0;font-size:13px}.shared-din-view .din-unified-toolbar .din-scope-selector{flex:0 0 auto;padding:0;margin:0}.shared-din-view .din-unified-toolbar .din-scope-selector label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:13px}.shared-din-view .din-unified-toolbar select{width:118px;min-width:0;height:48px;margin:0;padding:6px;font-size:13px}.shared-din-view .din-unified-toolbar .cost-stage-date{display:flex;align-items:center;gap:6px;justify-content:flex-start;flex:0 0 auto;font-size:13px}.shared-din-view .din-unified-toolbar .cost-stage-date>label:not(.cost-calendar){display:flex;align-items:center;gap:6px;white-space:nowrap;margin:0}.shared-din-view .din-unified-toolbar .cost-stage-date input[type=text]{width:100px;height:48px;margin:0;padding:6px;font-size:13px}.shared-din-view .din-unified-toolbar .cost-calendar{width:32px;height:48px;flex:0 0 32px;margin:0}.shared-din-view .din-unified-toolbar>button{height:48px;min-height:48px;font-size:13px;line-height:1.35;padding:6px;flex:0 0 auto;white-space:normal;overflow-wrap:normal}.shared-din-view .din-unified-toolbar>[data-cost-save]{width:94px}.shared-din-view .din-unified-toolbar>[data-cost-new]{width:130px}.shared-din-view .din-unified-toolbar>[data-din-history-toggle]{width:126px}.shared-din-view .din-unified-toolbar>.din-toolbar-confirm{width:82px}.shared-din-view .din-unified-toolbar>.cost-history-revoke{width:122px;background:#bc3541;color:#fff;border-color:#bc3541}.shared-din-view .din-unified-toolbar>.din-toolbar-confirm.is-confirmed{background:#237540;color:#fff;opacity:1}.shared-din-view [data-din-cost-history]>summary{display:none}.shared-din-view [data-din-cost-history]{margin:0 0 16px}.shared-din-view .din-kg-head{display:flex;align-items:center;justify-content:flex-start;gap:18px;flex-wrap:nowrap}.shared-din-view .din-kg-head h3{margin:0;font-size:18px;line-height:1.35}.shared-din-view .din-kg-head>[data-kg-total]{font-size:17px;color:#175da7;white-space:nowrap}.shared-din-view .din-kg-head>button{margin-left:auto;white-space:nowrap;flex:0 0 auto}.shared-din-view .din-direct-cost{margin:12px 0}.shared-din-view .kg-panel>details>summary[hidden]{display:none}@media(max-width:1000px){.shared-din-view .din-unified-toolbar{flex-wrap:wrap}.shared-din-view .din-kg-head{flex-wrap:wrap}.shared-din-view .din-kg-head h3{flex-basis:100%}}@media(max-width:600px){.shared-din-view .din-unified-toolbar{grid-row:3}.shared-din-view .din-header-total{grid-row:2}.shared-din-view .din-unified-toolbar .din-scope-selector{flex-basis:100%}.shared-din-view .din-unified-toolbar select{width:180px;font-size:16px}.shared-din-view .din-unified-toolbar .cost-stage-date{flex-basis:100%}.shared-din-view .din-unified-toolbar .cost-stage-date input[type=text]{font-size:16px;width:132px}.shared-din-view .din-unified-toolbar>button{flex:1 1 140px}}

.early-cost-view .cost-frame-groups{display:block}.early-cost-view .cost-summary-direct{display:flex;align-items:center;gap:14px;margin:12px 0}.early-cost-view .cost-summary-direct input{width:180px}.early-cost-view .din-unified-toolbar>[data-stage-history-toggle]{width:150px}.early-cost-view .early-cost-history{margin:0 0 16px}.early-cost-view .kg-panel>details>summary[hidden],.early-cost-view .early-cost-history>summary[hidden]{display:none}
/* PDF-Auswahl und rechts ausgerichtete Kostenstand-Aktionen. */
.shared-din-view .din-unified-toolbar .din-pdf-toolbar-upload{display:flex;align-items:center;gap:5px;flex:0 0 auto}.shared-din-view .din-pdf-toolbar-upload>[data-cost-pdf-pick]{width:112px;height:48px;padding:6px;font-size:13px;line-height:1.35}.shared-din-view .din-pdf-toolbar-upload>[data-cost-pdf-pick]>span{display:block;white-space:nowrap}.shared-din-view .din-pdf-toolbar-upload>.note-ref{flex:0 0 auto;margin:0}.shared-din-view .din-pdf-toolbar-upload>input[hidden]{display:none}.shared-din-view .din-right-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto}.shared-din-view .din-right-actions>button{height:48px;min-height:48px;font-size:13px;line-height:1.35;padding:6px;flex:0 0 auto;white-space:normal;overflow-wrap:normal}.shared-din-view .din-right-actions>[data-cost-new]{width:156px}.shared-din-view .din-right-actions>[data-cost-new]>span{display:block;white-space:nowrap}.shared-din-view .din-right-actions>[data-din-history-toggle]{width:140px}.shared-din-view .din-right-actions>.din-toolbar-confirm{width:86px}.shared-din-view .din-right-actions>.din-toolbar-confirm.is-confirmed{background:#237540;color:#fff;opacity:1}.shared-din-view .din-right-actions>.cost-history-revoke{width:136px;background:#bc3541;color:#fff;border-color:#bc3541}@media(max-width:1200px){.shared-din-view .din-unified-toolbar:has(.din-right-actions){flex-wrap:wrap}.shared-din-view .din-right-actions{flex-wrap:wrap;justify-content:flex-end;max-width:100%}}@media(max-width:600px){.shared-din-view .din-right-actions{width:100%;margin-left:0;justify-content:flex-start}.shared-din-view .din-right-actions>button{flex:1 1 140px}.shared-din-view .din-pdf-toolbar-upload{margin:0}}
/* Erweiterte Teilprojektauswahl, verschobene Eingaben und kompakte Anrechenbarkeit. */
.shared-din-view:has(.din-middle-actions) .din-unified-toolbar .din-scope-selector select{width:236px;max-width:100%}.shared-din-view .din-middle-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto}.shared-din-view .din-middle-actions>[data-cost-save]{height:48px;min-height:48px;width:94px;font-size:13px;line-height:1.35;padding:6px;white-space:normal;overflow-wrap:normal;flex:0 0 auto}.shared-din-view .din-middle-actions+.din-right-actions{margin-left:12px}.din-eligibility-dropdown{min-width:260px;border:1px solid #adc7da;border-radius:6px;background:#fff;color:#173950}.din-eligibility-dropdown>summary{padding:12px;font-weight:600;cursor:pointer;line-height:1.4}.din-eligibility-dropdown>.din-position-assignment{padding:0 12px 12px}.din-eligibility-dropdown .din-profile-picker{background:#fff}.din-eligibility-dropdown .din-position-assignment>label:first-child{margin-top:0}@media(max-width:1200px){.shared-din-view .din-middle-actions{flex-wrap:wrap;max-width:100%}.shared-din-view .din-middle-actions+.din-right-actions{margin-left:auto}}@media(max-width:600px){.shared-din-view .din-middle-actions{width:100%;margin-left:0;align-items:center}.shared-din-view .din-middle-actions+.din-right-actions{margin-left:0}.shared-din-view:has(.din-middle-actions) .din-unified-toolbar .din-scope-selector select{width:236px;max-width:100%}.shared-din-view .din-middle-actions .cost-stage-date{flex-basis:auto}.din-eligibility-dropdown{min-width:220px}}
/* Bestätigten Kostenstand als Hinweis direkt an der Bestätigung anzeigen. */
.shared-din-view .din-confirmation-control{position:relative;display:inline-flex;flex:0 0 auto;align-items:center}.shared-din-view .din-confirmation-control>.din-toolbar-confirm{width:86px;height:48px;min-height:48px;font-size:13px;line-height:1.35;padding:6px;white-space:normal;overflow-wrap:normal}.shared-din-view .din-confirmation-control>.din-toolbar-confirm.is-confirmed{background:#237540;color:#fff;opacity:1}.shared-din-view .din-confirmation-control>.din-confirmation-note{position:absolute;top:-10px;right:-6px;margin:0;width:20px;height:20px;min-width:20px;min-height:20px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #9bbdd9;border-radius:50%;background:#edf6ff;color:#1765a3;font-size:14px;line-height:1;z-index:2}.shared-din-view .din-right-actions>.din-confirmation-control{margin:0 4px}.shared-din-view [data-din-cost-history]:not([open]){margin:0}@media(max-width:600px){.shared-din-view .din-right-actions>.din-confirmation-control{flex:1 1 140px}.shared-din-view .din-confirmation-control>.din-toolbar-confirm{width:100%}}
/* Direkt editierbare KG-Summen in einer gemeinsamen, nach links versetzten Spalte. */
.shared-din-view .din-kg-head{display:grid;grid-template-columns:minmax(0,44%) 190px minmax(190px,1fr);gap:18px;align-items:center;justify-content:normal}.shared-din-view .din-kg-head h3{min-width:0;margin:0}.shared-din-view .din-kg-head>.din-kg-total-input{display:block;width:190px;min-width:0;max-width:100%;height:46px;margin:0;padding:8px 10px;border:1px solid #86aeca;border-radius:5px;background:#f7fbff;color:#175da7;font-size:17px;font-weight:600;line-height:1.35;text-align:right;font-variant-numeric:tabular-nums;box-sizing:border-box}.shared-din-view .din-kg-head>.din-kg-total-input::placeholder{color:#175da7;opacity:.7}.shared-din-view .din-kg-head>.din-kg-total-input[aria-invalid=true]{border-color:#c33a48}.shared-din-view .din-kg-head>button{justify-self:end;margin-left:0}@media(max-width:900px){.shared-din-view .din-kg-head{grid-template-columns:minmax(0,1fr) 190px;gap:12px}.shared-din-view .din-kg-head>button{grid-column:2}}@media(max-width:550px){.shared-din-view .din-kg-head{grid-template-columns:minmax(0,1fr)}.shared-din-view .din-kg-head>.din-kg-total-input{width:100%;max-width:240px;font-size:17px}.shared-din-view .din-kg-head>button{grid-column:1;justify-self:start}}
/* Light green raised save action across cost views. */
button[data-cost-save]{background:linear-gradient(180deg,#e4f7d9 0%,#bee5aa 100%);color:#234c25;border:1px solid #8cbb76;box-shadow:0 3px 0 #7fa76d,inset 0 1px 0 #f6fff1,0 4px 7px #234c2520;text-shadow:0 1px 0 #ffffff80}
button[data-cost-save]:hover:not(:disabled){background:linear-gradient(180deg,#edfbe5 0%,#cbeeb8 100%);border-color:#749f5e}
button[data-cost-save]:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #7fa76d,inset 0 1px 3px #234c2520}
button[data-cost-save]:focus-visible{outline:3px solid #2874b8;outline-offset:4px}
button[data-cost-save]:disabled{opacity:.65;box-shadow:0 1px 0 #9db58e;cursor:default}

/* DIN: PDF hint at the button corner and a single horizontally navigable toolbar. */
.shared-din-view .din-unified-toolbar .din-pdf-toolbar-upload{position:relative;margin-right:5px}
.shared-din-view .din-pdf-toolbar-upload>.note-ref{position:absolute;top:-10px;right:-6px;margin:0;width:20px;height:20px;min-width:20px;min-height:20px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #9bbdd9;border-radius:50%;background:#edf6ff;color:#1765a3;font-size:14px;line-height:1;z-index:2}
.shared-din-view .din-middle-actions>[data-din-pdf-create]{width:86px;height:48px;min-height:48px;flex:0 0 auto;padding:6px;font-size:13px;line-height:1.35}
.shared-din-view [data-din-pdf-create]>span{display:block;white-space:nowrap}
.shared-din-view .din-unified-toolbar{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;padding:12px 8px 5px 0;scroll-padding:8px;max-width:100%}
.shared-din-view .din-unified-toolbar .din-middle-actions,.shared-din-view .din-unified-toolbar .din-right-actions{flex-wrap:nowrap;width:auto;max-width:none;flex:0 0 auto}
.shared-din-view .din-unified-toolbar .din-scope-selector,.shared-din-view .din-unified-toolbar .cost-stage-date{flex:0 0 auto}
.shared-din-view .din-unified-toolbar .din-right-actions>button,.shared-din-view .din-unified-toolbar .din-confirmation-control{flex:0 0 auto}
.shared-din-view .din-unified-toolbar .din-confirmation-control>.din-toolbar-confirm{width:86px}
/* DIN: keep the full cost heading and actions below the persistent application navigation. */
.shared-din-view>.din-layout-head{position:sticky;top:calc(var(--header-height,64px) + var(--workflow-height,44px));z-index:35;background:#fff;padding:16px 0 12px;border-bottom:1px solid #d4e3ef;box-shadow:0 6px 9px -7px #173e6070}
/* Raised top controls retain their existing action colors. */
body:has(.shared-din-view)>header button:not(.brand),
body:has(.shared-din-view) .workflow>button,
body:has(.shared-din-view) .workflow #nav>.home-nav-item>button,
body:has(.shared-din-view) .workflow #nav>.nav-row>button,
.shared-din-view .din-layout-head button:not(.note-ref){--din-button-edge:#8da8bd;box-shadow:0 3px 0 var(--din-button-edge),inset 0 1px 0 #ffffff80,0 4px 7px #122c461c}
.shared-din-view .din-layout-head [data-cost-save]{--din-button-edge:#7fa76d}
.shared-din-view .din-layout-head .pdf-create-button{--din-button-edge:#104e83}
.shared-din-view .din-layout-head .is-confirmed{--din-button-edge:#17582d}
.shared-din-view .din-layout-head .cost-history-revoke{--din-button-edge:#8c2431}
body:has(.shared-din-view)>header button:not(.brand):active:not(:disabled),
body:has(.shared-din-view) .workflow>button:active:not(:disabled),
body:has(.shared-din-view) .workflow #nav>.home-nav-item>button:active:not(:disabled),
body:has(.shared-din-view) .workflow #nav>.nav-row>button:active:not(:disabled),
.shared-din-view .din-layout-head button:not(.note-ref):active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--din-button-edge,#8da8bd),inset 0 1px 3px #122c4626}
body:has(.shared-din-view)>header button:disabled,
body:has(.shared-din-view) .workflow button:disabled,
.shared-din-view .din-layout-head button:disabled{box-shadow:none;transform:none}
@media print{.shared-din-view>.din-layout-head{position:static;box-shadow:none}}
.planning-fee-title{margin:0 0 16px;font-size:28px;line-height:1.2}
.planning-fee-context .subproject-legend{gap:10px 22px;margin-top:12px}

/* Navigation: comfortable targets and a persistent, clearly highlighted open path. */
.workflow #nav .home-menu button,.workflow #nav .home-submenu button{min-height:40px;padding:10px 12px;line-height:1.4;cursor:pointer}
#nav .home-submenu-parent.open>button{background:#cbe4f8;color:#123b60}
#nav .home-menu button:focus-visible,#nav .home-submenu button:focus-visible{outline:2px solid #176bb0;outline-offset:-2px;background:#cbe4f8}
#nav .home-submenu[data-nav-flyout]{overscroll-behavior:contain;scrollbar-gutter:stable}
@media(pointer:coarse){.workflow #nav .home-menu button,.workflow #nav .home-submenu button{min-height:44px}}

.funding-notices td label{display:grid;gap:.3rem;margin-bottom:.6rem;font-size:.82rem;color:#435d70}.funding-notices td label:last-child{margin-bottom:0}.funding-notices td small{display:block;margin-top:.5rem}.funding-notices input[readonly]{background:#eef5fa;color:#21435c;font-weight:600}.funding-notices th{vertical-align:bottom}.funding-notices td{vertical-align:top}

/* Procurement overview and three-state workflow */
.procurement-head .procurement-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin-left:4px;max-width:700px}
.procurement-summary-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 14px;padding:10px 14px;border:1px solid #c9dce9;border-radius:9px;background:#fff;min-width:235px;flex:1}
.procurement-summary-field>span,.procurement-summary-field>small{grid-column:1/-1;color:#47657c;font-size:12px}
.procurement-summary-field>strong{font-size:22px;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}
.procurement-summary-field>b{font-size:17px;align-self:center;white-space:nowrap;font-variant-numeric:tabular-nums}
.procurement-summary-reference{flex-basis:100%;margin:0;font-size:12px;color:#47657c}
.procurement-status-control{display:flex;align-items:center;justify-content:center;gap:8px;margin:0}
.procurement-status-control .procurement-status-dot{display:inline-block;flex:none;width:10px;height:10px;border-radius:50%;background:#bd3545}
.procurement-status-control[data-status=working] .procurement-status-dot{background:#e4ae24}
.procurement-status-control[data-status=done] .procurement-status-dot{background:#268657}
.procurement-status-control select{width:142px;min-width:0;font-size:13px}
.procurement-table .procurement-completed [data-procurement-status]{color:#234b36!important;-webkit-text-fill-color:#234b36;cursor:pointer;background:#fffdf3}
.procurement-table [data-procurement-total-tail]{font-size:12px;font-weight:550;color:#284e6c}
.procurement-table.tracking-table .procurement-package-blue:not(.procurement-completed)>td{background:#edf6ff!important}
.procurement-table.tracking-table .procurement-package-white:not(.procurement-completed)>td{background:#fff!important}
.package-window{padding:12px 15px;background:#f0f6fb;border-radius:8px}
.package-window select{min-width:190px;border-radius:7px;padding:10px 12px;background:#fff;color:#183e5d}
.home-summary-parts{border-top:1px solid #c7d9e6;margin-top:12px;padding-top:7px;display:grid;gap:6px;width:100%}
.home-summary-part{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;line-height:1.45;font-variant-numeric:tabular-nums}
.home-summary-part-label{display:flex;gap:6px;align-items:center;min-width:0;overflow-wrap:anywhere}
.home-part-swatch{display:inline-block;flex:none;width:8px;height:8px;border-radius:2px;background:var(--part-color,#83919e)}
.home-summary-part-value{white-space:nowrap;font-weight:550}
.home-milestone-parts{display:grid;gap:5px;margin-top:6px;width:100%}
.home-timeline-parts{display:grid;gap:7px;margin:8px 0 16px}
.home-timeline-part{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;align-items:center}
.home-timeline-part-label{font-size:12px;overflow-wrap:anywhere}
.home-timeline-part-chart{width:100%;height:42px;overflow:visible}
.home-timeline-overall-label{font-size:12px;font-weight:600;color:#284f6b;margin-top:6px}
@media(max-width:650px){.procurement-head .procurement-summary{margin:0;width:100%}.procurement-summary-field{min-width:0;flex-basis:100%}.home-timeline-part{grid-template-columns:65px minmax(0,1fr)}.home-summary-part{flex-wrap:wrap}}
.home-timeline-overall{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;align-items:center}
.home-timeline-overall .home-timeline-chart{width:100%;min-width:0}
.home-timeline-legend .home-summary-part{display:flex;font-size:12px;gap:8px}
.home-timeline-legend .home-milestone-parts{display:grid}
.home-timeline-legend .home-summary-part-value{font-weight:500}
@media(max-width:650px){.home-timeline-overall{grid-template-columns:65px minmax(0,1fr)}}
/* Expanded TP details remain readable and scroll with the mobile start page. */
@media(max-width:780px){
 body.workspace-project-selected:not(.workspace-working) .home-welcome:has(.home-summary-parts){padding:12px 12px 20px}
 body.workspace-project-selected:not(.workspace-working) .home-welcome:has(.home-summary-parts)>.home-project-summary{position:relative;top:auto;left:auto;right:auto;height:auto;max-height:none;grid-template-rows:auto auto;overflow:visible;z-index:1}
 body.workspace-project-selected:not(.workspace-working) .home-timeline-overall .home-timeline-chart{flex:none;height:auto;min-height:64px;margin:0}
 body.workspace-project-selected:not(.workspace-working) .home-welcome:has(.home-summary-parts) .home-timeline-legend{grid-template-columns:repeat(2,minmax(0,1fr));font-size:12px}
 .home-summary-part{font-size:12px}.home-summary-part-label{flex-wrap:wrap}
}

/* One shared horizontal scale for all project lanes. */
.home-parallel-timeline{--timeline-label-width:112px;width:100%;min-width:0;flex:none}
.home-parallel-axis{height:34px;margin-left:var(--timeline-label-width);position:relative;margin-right:8px;font-size:11px;color:#476981}
.home-parallel-tick{position:absolute;transform:translateX(-50%);white-space:nowrap}
.home-parallel-tick.tick-0{transform:none}.home-parallel-tick.tick-4{transform:translateX(-100%)}
.home-parallel-body{display:grid;grid-template-columns:var(--timeline-label-width) minmax(0,1fr);padding-right:8px}
.home-parallel-names{display:grid;grid-auto-rows:64px}
.home-parallel-label{display:flex;align-items:flex-start;gap:6px;padding:18px 10px 0 0;font-size:12px;font-weight:600;min-width:0;overflow-wrap:anywhere}
.home-parallel-label .home-part-swatch{margin-top:4px}.home-parallel-label small{display:block;font-size:11px;font-weight:400;color:#476981}
.home-parallel-plot{position:relative;min-width:0}
.home-parallel-lane{position:relative;height:64px}
.home-parallel-track{position:absolute;top:24px;left:0;right:0;height:8px;border-radius:4px;background:#e3edf4}
.home-parallel-bar{position:absolute;top:24px;height:8px;border-radius:4px;background:var(--lane-color)}
.home-parallel-overall .home-parallel-track,.home-parallel-overall .home-parallel-bar{top:16px;height:24px;border-radius:5px}
.home-parallel-dates{position:absolute;top:53px;left:0;font-size:11px;color:#476981;font-variant-numeric:tabular-nums;max-width:100%;overflow-wrap:anywhere}
.home-parallel-marker{position:absolute;top:23px;transform:translateX(-50%);width:10px;height:10px;border-radius:50%;background:var(--lane-color);box-shadow:0 0 0 2px #fff;z-index:3}
.home-parallel-grid,.home-parallel-guide,.home-parallel-today{position:absolute;top:0;bottom:10px;width:1px;pointer-events:none}
.home-parallel-grid{background:#dbe6ee;z-index:0}.home-parallel-guide{background:#6b8ba3;opacity:.45;z-index:2}.home-parallel-today{background:#c52939;z-index:4}
.home-parallel-key{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:#476981;margin-top:5px}.home-parallel-key>span:last-child{color:#aa2030}
.procurement-table.management-table.tracking-table tr.procurement-package-total>td{background:#f7fbfe!important;border-top-color:#c5d8e7;color:#173e60!important;-webkit-text-fill-color:#173e60}
@media(max-width:650px){.home-parallel-timeline{--timeline-label-width:76px}.home-parallel-axis .tick-1,.home-parallel-axis .tick-3{display:none}.home-parallel-label{font-size:12px;padding-right:7px}.home-parallel-label small{font-size:11px}}

/* Procurement figures belong beside the scope selector, above the trade table. */
.procurement-context{padding:16px;background:#fff}
.procurement-context-top{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,2fr);gap:20px;align-items:start}
.procurement-context .subproject-context-head{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.procurement-context .subproject-context-head>strong{font-size:16px}
.procurement-context .subproject-context-head>label{display:grid;gap:6px;font-size:12px;color:#47657c}
.procurement-context .subproject-context-head select{width:100%;min-width:0;padding:10px;border:1px solid #c9dce9;border-radius:7px;background:#fff;color:#183e5d;font-size:14px;box-sizing:border-box}
.procurement-context .procurement-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;max-width:none;margin:0}
.procurement-context .procurement-summary-field{min-width:0;background:#f3f7fb;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.procurement-context .procurement-summary-field>span,.procurement-context .procurement-summary-field>small{width:100%}
.procurement-context .procurement-summary-field>b{margin-left:auto}
.procurement-context .procurement-summary-reference{grid-column:1/-1;font-size:12px;line-height:1.6;margin:0}
.procurement-context-costs{margin-top:15px;border-top:1px solid #d5e2ec;padding-top:12px}
.procurement-context-costs>p{font-size:12px;color:#47657c;margin:0 0 8px}
.procurement-context-cost-list{display:flex;flex-wrap:wrap;gap:10px}
.procurement-context-cost{flex:1;min-width:180px;max-width:100%;padding:9px 12px;border:1px solid transparent;border-radius:7px;background:#f3f7fb;box-sizing:border-box}
.procurement-context-cost[data-selected=true]{border-color:#287cbd}
.procurement-context-cost>span{display:flex;align-items:center;gap:6px;font-size:12px;color:#47657c;overflow-wrap:anywhere}
.procurement-context-cost i{display:inline-block;width:8px;height:8px;flex:none;border-radius:2px}
.procurement-context-cost>strong{display:block;font-size:17px;margin-top:4px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:850px){.procurement-context-top{grid-template-columns:1fr}.procurement-context .subproject-context-head>label{flex:initial}.procurement-context-cost{flex-basis:100%;display:flex;justify-content:space-between;gap:10px;align-items:center}.procurement-context-cost>strong{margin:0}}
@media(max-width:480px){.procurement-context .procurement-summary{grid-template-columns:1fr}.procurement-context-cost{flex-wrap:wrap}.procurement-context .subproject-context-head select{font-size:16px}}

.procurement-missing-intervals{max-width:720px;color:#173e60}
.procurement-missing-intervals h2{margin:0 0 16px;font-size:22px}
.procurement-missing-intervals p{line-height:1.6}
.procurement-missing-list{max-height:36vh;overflow:auto;border:1px solid #d4e1eb;border-radius:8px;background:#f4f8fc;padding:0 16px}
.procurement-missing-list section{padding:12px 0;border-bottom:1px solid #d4e1eb}
.procurement-missing-list section:last-child{border:0}
.procurement-missing-list h3{font-size:15px;margin:0 0 6px}
.procurement-missing-list ul{padding-left:20px;margin:0;line-height:1.7;font-size:14px}
.procurement-missing-intervals .procurement-dialog-actions{justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px}
.procurement-missing-intervals [data-procurement-missing-confirm]{background:#1c67ac;color:#fff;border-color:#1c67ac}

.procurement-time-library{padding:16px;margin:14px 0;border:1px solid #bfd4e5;border-radius:10px;background:#f2f8fc;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.procurement-time-library>strong,.procurement-time-library>p,.procurement-time-library>.procurement-dialog-actions,.procurement-time-library>.procurement-electronic{grid-column:1/-1}
.procurement-time-library>p{margin:0;font-size:.9rem;line-height:1.5;color:#426079}
.procurement-time-library input:not([type=checkbox]),.procurement-time-library select{width:100%;min-width:0}
.procurement-time-library [data-procurement-time-status]{color:#1b624d}
@media(max-width:650px){.procurement-time-library{grid-template-columns:minmax(0,1fr);padding:12px}}

.procurement-done{margin:16px 0;padding:18px;border:1px solid #c5dcd2;border-radius:12px;background:#f4f9f6}
.procurement-done>header{margin-bottom:12px}.procurement-done h2{font-size:1.15rem;margin:0;color:#315e4c;display:flex;align-items:center;gap:8px}
.procurement-done h2 span{font-size:.8rem;font-weight:600;border-radius:20px;background:#e1ede7;padding:3px 9px}
.procurement-done-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:start;gap:12px}
.procurement-done-card{min-width:0;border:1px solid #d1dfd9;border-left:4px solid var(--done-project-color);border-radius:9px;background:#fff;overflow:hidden;box-shadow:0 2px 5px #173f2d08}
.procurement-done-card>summary{padding:12px;cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:5px}.procurement-done-card>summary::-webkit-details-marker{display:none}
.procurement-done-card>summary strong{font-size:1rem;line-height:1.35;overflow-wrap:anywhere;color:#244a3b}.procurement-done-card small{font-size:.8rem;color:#63786e}.procurement-done-badge{font-size:.75rem;font-weight:600;color:#477b62}
.procurement-done-details{padding:0 12px 12px;border-top:1px solid #e6eee9}.procurement-done-details dl{font-size:.8rem;line-height:1.4}.procurement-done-details dl>div{display:flex;justify-content:space-between;gap:12px;margin:6px 0}.procurement-done-details dt{color:#607569}.procurement-done-details dd{margin:0;white-space:nowrap}.procurement-done-details label{font-size:.8rem}.procurement-done-details select{width:100%}
.procurement-table tr[data-procurement-completed="true"],.procurement-table tr.procurement-package-total.procurement-completed{display:none!important}
.procurement-done-card[hidden],.procurement-done[hidden]{display:none!important}
@media(max-width:520px){.procurement-done{padding:12px}.procurement-done-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.procurement-done-card>summary{padding:10px}.procurement-done-card>summary strong{font-size:.9rem}.procurement-done-details dl>div{display:block}.procurement-done-details dd{white-space:normal}}

/* Completed procurement register */
.procurement-completed-table{width:100%;border-collapse:collapse;min-width:1000px;background:#fff}
.procurement-completed-table th,.procurement-completed-table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #dfE6ed}
.procurement-completed-table th{background:#edf4fa;color:#183c59;white-space:nowrap}
.procurement-completed-table tbody tr:nth-child(even){background:#f5f9fc}
.procurement-completed-table td:first-child{white-space:nowrap;border-left:4px solid var(--done-project-color)}
.procurement-part-dot{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--done-project-color);margin-right:7px}
.procurement-completed-table .num{text-align:right;white-space:nowrap}
.procurement-cancellation-reason{min-width:220px;max-width:420px;overflow-wrap:anywhere}
.procurement-cancellation-reason p{margin:0 0 8px;white-space:pre-wrap}
.procurement-status-control[data-status="cancelled"] .procurement-status-dot{background:#d88c27}
.procurement-status-control[data-status="cancelled"]{color:#815014;background:#fff4e2}
.procurement-dialog textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;font:inherit;padding:10px}

.cost-stand-saved{display:block;font-size:12px;font-weight:400;color:#526575;margin-top:4px}
.procurement-done{background:#fcfdfe;border-color:#e2e8ed}
.procurement-done h2{color:#000}.procurement-done h2 span{background:#f0f3f6;color:#303b44}
.procurement-completed-table th{background:#f6f9fc;color:#111}
.procurement-completed-table tbody tr:nth-child(even){background:#f8fbfe}
.procurement-completed-table tfoot th,.procurement-completed-table tfoot td{background:#f2f7fb;color:#111;font-weight:700;border-top:2px solid #ccd8e3}

/* Compact completed procurement register */
.procurement-done{padding:0;background:#fff;border-color:#dce5ee;overflow:hidden}
.procurement-done>header{margin:0;padding:15px 18px;background:#e5f2fc}
.procurement-done h2{color:#000!important}.procurement-done h2 span{background:#d8eafa;color:#000}
.procurement-done>.table-scroll{margin:0}
.procurement-completed-table{min-width:1170px;table-layout:fixed}
.procurement-completed-table th,.procurement-completed-table td{padding:10px 12px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.procurement-completed-table td:first-child{border-left:0;box-shadow:none}
.procurement-completed-table td strong{display:block;overflow:hidden;text-overflow:ellipsis}
.procurement-completed-table .procurement-status-control{display:inline-flex;align-items:center;white-space:nowrap;margin:0}
.procurement-completed-table .procurement-status-control select{min-width:0;width:126px;margin:0;padding-top:4px;padding-bottom:4px}
.procurement-completed-table .procurement-cancellation-reason{min-width:0;max-width:none}
.procurement-reason-inline{display:flex;align-items:center;gap:8px;min-width:0}
.procurement-reason-inline p{margin:0;min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.procurement-reason-inline button{flex:none;margin:0;padding:4px 8px}
@media(max-width:520px){.procurement-done{padding:0}}

.procurement-register-editable{display:flex;align-items:center;gap:5px;min-width:0}
.procurement-register-editable p{margin:0;min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.procurement-register-editable button{flex:none;min-width:22px;margin:0;padding:3px 5px;font-size:12px}
.procurement-completed-table .num .procurement-register-editable p{text-align:right}

.procurement-column-sequence{white-space:nowrap;font-weight:700;text-align:center}
.procurement-done-package-edit{display:block;margin:3px 0 0;padding:2px 4px;font-size:11px}

/* Compact scope selector with its costs underneath, followed by EU and national totals. */
.procurement-context-top{grid-template-columns:minmax(240px,1fr) minmax(0,2fr);align-items:start}
.procurement-context .subproject-context-head{gap:6px}
.procurement-context .procurement-context-costs{margin:0;padding:0;border:0}
.procurement-context .procurement-context-cost-list{display:grid;gap:4px}
.procurement-context .procurement-context-cost{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0;padding:0;border:0;background:none}
.procurement-context .procurement-context-cost>span,.procurement-context .procurement-context-cost>strong{font-size:11px;line-height:1.5;font-weight:400;margin:0}
.procurement-context .procurement-context-cost>strong{flex:none;font-weight:600}
.procurement-context .procurement-summary-field{padding:12px;gap:7px 10px;align-content:start}
.procurement-context .procurement-summary-field>strong{font-size:20px}
.procurement-context .procurement-summary-field>b{font-size:16px}
.procurement-column-sequence>strong{display:block}
.procurement-column-sequence .procurement-done-package-edit{font-weight:400;margin-top:4px;white-space:nowrap}
.procurement-completed-table th.procurement-completed-trade{position:relative;padding-right:20px;overflow:visible}
.procurement-completed-table .procurement-column-resizer{position:absolute;right:0;top:0;bottom:0;width:12px;height:100%;z-index:30;cursor:col-resize;touch-action:none;user-select:none}
@media(max-width:850px){.procurement-context-top{grid-template-columns:1fr}.procurement-context .procurement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.procurement-context .procurement-summary-field>strong{font-size:15px}.procurement-context .procurement-summary-field>b{font-size:13px}.procurement-context .procurement-summary-field{padding:9px;gap:5px}.procurement-context .procurement-context-cost{flex-wrap:wrap}}

/* Upper procurement window: selector, TP costs, compact procedure totals. */
.procurement-context .procurement-context-top{grid-template-columns:minmax(210px,.9fr) minmax(280px,1fr) minmax(400px,1.4fr);gap:16px;align-items:center}
.procurement-context .procurement-context-cost-box,.procurement-context .procurement-summary{padding:12px 14px;background:#f3f7fb;border:1px solid #d5e2ec;border-radius:8px;box-sizing:border-box;min-width:0}
.procurement-context .procurement-context-cost-box .procurement-context-cost-list{gap:8px}
.procurement-context .procurement-context-cost-box .procurement-context-cost{align-items:center}
.procurement-context .procurement-context-cost-box .procurement-context-cost>span{font-size:12px}
.procurement-context .procurement-context-cost-box .procurement-context-cost>strong{font-size:14px}
.procurement-context-invoice-label{margin:0 0 8px;color:#47657c;font-size:11px;font-weight:600}
.procurement-context .procurement-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;overflow-x:auto}
.procurement-context .procurement-summary-field{display:grid;grid-template-columns:160px max-content max-content;justify-content:start;gap:10px;align-items:center;padding:0;background:none;border:0;min-width:0}
.procurement-context .procurement-summary-field>span{grid-column:1;grid-row:1;width:auto;font-size:12px;line-height:1.4;white-space:nowrap}
.procurement-context .procurement-summary-field>strong{grid-column:2;grid-row:1;font-size:18px}
.procurement-context .procurement-summary-field>b{grid-column:3;grid-row:1;font-size:15px;margin:0;align-self:center}
@media(max-width:1100px){.procurement-context .procurement-context-top{grid-template-columns:minmax(190px,1fr) minmax(280px,1.3fr)}.procurement-context .procurement-summary{grid-column:1/-1}}
@media(max-width:650px){.procurement-context .procurement-context-top{grid-template-columns:minmax(0,1fr)}.procurement-context .procurement-summary{grid-column:auto}.procurement-context .procurement-context-cost-box .procurement-context-cost{flex-wrap:wrap}.procurement-context .procurement-summary-field{gap:6px}.procurement-context .procurement-summary-field>strong{font-size:15px}.procurement-context .procurement-summary-field>b{font-size:13px}}

.project-logo-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:12px}
.project-logo-controls button{margin:0;white-space:nowrap}
.project-logo-preview{max-width:120px;max-height:42px;object-fit:contain}
@media(max-width:650px){.project-logo-controls{justify-content:flex-start;gap:8px}}
@media print{.project-logo-controls{display:none!important}}
.organization-subproject-picker{min-width:190px;max-width:330px;padding:8px 10px;border:1px solid #b6ccdf;border-radius:8px;background:#f4f9fd;color:#173e60}
.organization-subproject-picker summary{cursor:pointer;font-weight:600;white-space:normal}
.organization-subproject-picker label{display:flex;align-items:center;gap:8px;margin:8px 0;white-space:normal}
.organization-page .organization-subproject-picker input[type=checkbox]{width:18px;min-width:18px;height:18px;margin:0;accent-color:#287cbd}
.organization-contact-differences,.organization-contact-merge{min-width:190px;max-width:340px;white-space:normal;margin:0 0 8px;padding:8px;border:1px solid #b6ccdf;border-radius:8px;background:#f4f9fd}
.organization-contact-differences summary,.organization-contact-merge summary{cursor:pointer;font-weight:600}
.organization-contact-differences ul{padding-left:20px;margin:4px 0 10px;overflow-wrap:anywhere}
.organization-contact-merge label{display:grid;gap:6px;margin:10px 0}

/* Keep the signed-in mobile landing title below the fixed navigation. */
@media(max-width:780px){
 body:not(.workspace-working) .home-welcome:has(.home-user-status) .home-copy-text h1{
  position:fixed;top:calc(var(--header-height,64px) + env(safe-area-inset-top,0px) + var(--workflow-height,346px));
  left:0;right:0;width:auto;margin:0;padding:8px 24px;box-sizing:border-box;
  z-index:50;background:rgba(210,232,248,.6);text-align:left;
 }
 body:not(.workspace-working) .home-welcome:has(.home-user-status) .home-copy-text .home-title{font-size:clamp(20px,7.5vw,38px);line-height:1.12;letter-spacing:-.025em}
}

/* Preserve the approved cost, schedule and quality colors on the dark header. */
header .brand img{filter:none;mix-blend-mode:normal}

/* Keep each area's existing child navigation beside Back, including mobile. */
.workflow #nav.area-subnavigation{display:flex;flex:1 1 0;min-width:0;max-width:none;flex-wrap:wrap;align-items:center;gap:7px;overflow:visible;padding:3px 0}
.workflow #nav.area-subnavigation>.nav-row{display:block;flex:0 1 auto;width:auto;min-width:0;max-width:100%;margin:0;padding:0;background:none;box-shadow:none;border:0}
.workflow #nav.area-subnavigation>.nav-row>button,.workflow #nav.area-subnavigation>.tga-navigation>summary{width:auto;max-width:100%;min-height:40px;margin:0;padding:9px 12px;border:1px solid #9ebfd8;border-radius:7px;background:linear-gradient(155deg,#eff8ff,#cde5f7);color:#173e60;font-size:13px;line-height:1.3;white-space:normal;text-align:center;overflow-wrap:anywhere;box-shadow:0 2px 3px #173e601a}
.workflow #nav.area-subnavigation>.nav-row>button:is(.selected,[aria-current="page"]),
.workflow #nav.area-subnavigation .home-submenu button[aria-current="page"]{background-color:#173e60;background-image:linear-gradient(155deg,#265474,#173e60);color:#fff;border-color:#173e60;outline:0;text-shadow:none}
.workflow:has(#nav.area-subnavigation){align-items:flex-start;background:#deedf8}
.workflow:has(#nav.area-subnavigation)>#backView{margin-top:3px}
@media(max-width:780px){.workflow #nav.area-subnavigation{display:flex;gap:6px}.workflow #nav.area-subnavigation>.nav-row>button{min-height:44px;padding:9px 10px;font-size:12px}}

/* Shared subproject separators: soft group fill with a darker upper stripe. */
tr[data-subproject-separator]>th,tr[data-subproject-separator]>td{background:var(--tp-fill)!important;color:#17324c!important;border-top:4px solid var(--tp-edge)!important;border-bottom:0!important;padding:10px 12px!important;font-weight:700;text-align:left;white-space:normal;position:static!important;box-shadow:none!important;}
tr[data-subproject-separator]>th{height:auto!important;min-width:0!important;}
tr[data-subproject-separator][hidden]{display:none!important;}
.trade-cash-plan-table tfoot tr>th,.trade-cash-plan-table tfoot tr>td{background:#173751!important;color:#fff!important;border-top:2px solid #173751;}
.cash-year-range{display:flex;gap:8px;align-items:end;flex-wrap:wrap;}
.cash-year-range label{display:grid;gap:5px;}.cash-year-range input{width:112px;min-width:0;}.cash-year-range button{align-self:end;}
@media(max-width:600px){.cash-year-range{width:100%;}.cash-year-range input{font-size:16px;width:120px;}}

.cost-tracking .tracking-column-actions{align-items:center}.cost-tracking .tracking-column-actions>.project-logo-controls{margin:0;gap:8px;justify-content:flex-start}

/* Apply each display row's own TP theme to every cell, including row headings. */
tr[data-subproject-group-key]>td,tr[data-subproject-group-key]>th{background:var(--tp-fill)!important;}
tr[data-subproject-group-key]>td:first-child,tr[data-subproject-group-key]>th:first-child{box-shadow:inset 3px 0 var(--tp-edge);}

.trade-cash-page .cash-header>.project-logo-controls{margin:0;gap:8px;justify-content:flex-start;align-self:center;}
.cash-timeline-surface{position:relative;width:max-content;min-width:100%;}
.cash-today-line{position:absolute;width:0;border-left:2px solid #cf3036;z-index:6;pointer-events:none;}
.cash-today-line>span{position:absolute;top:4px;left:4px;padding:3px 5px;background:#fff;color:#b6262d;font-size:11px;font-weight:700;white-space:nowrap;border-radius:3px;}
.cash-today-line[hidden]{display:none!important;}

/* Shared table system: heading actions and dark result rows. */
#content :is(.section-head,.cost-stage-head,.schedule-head,.schedule-section-head){flex-wrap:wrap;align-items:center;}
#content :is(.section-head,.cost-stage-head,.schedule-head,.schedule-section-head)>:is(h1,h2){margin-top:0;margin-bottom:0;}
#content :is(.section-head,.cost-stage-head,.schedule-head,.schedule-section-head)>:is(.toolbar,[class*="-actions"]){display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:auto;}
#content .cost-tracking>.table-title-toolbar{gap:12px 20px;margin-bottom:16px;}
#content .cost-tracking>.table-title-toolbar>.tracking-column-actions{justify-content:flex-end;}
#content .cost-tracking>.panel{margin-top:0;}
#content table :is(tfoot>tr,tr[data-tracking-summary],tr[data-procurement-package-total],tr.cash-group-total,tr.aggregate-total,tr.aggregate-subtotal,tr.cover-total,tr.cover-final)>:is(th,td){background:#14314e!important;color:#fff!important;font-weight:700!important;border-color:#36546e!important;box-shadow:none!important;}
#content table :is(tfoot>tr,tr[data-tracking-summary],tr[data-procurement-package-total],tr.cash-group-total,tr.aggregate-total,tr.aggregate-subtotal,tr.cover-total,tr.cover-final)>:is(th,td) :is(strong,span,small,a){color:#fff!important;}
#content table :is(tfoot>tr,tr[data-tracking-summary],tr[data-procurement-package-total],tr.cash-group-total,tr.aggregate-total,tr.aggregate-subtotal,tr.cover-total,tr.cover-final)>:is(th,td) :is(input,select,textarea,button){color:#17324c;}
@media(max-width:700px){#content .cost-tracking>.table-title-toolbar>.tracking-column-actions{margin-left:0;width:100%;justify-content:flex-start;}}

#content .table-title-toolbar:not(.din-layout-head){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;}
#content .table-title-toolbar>.project-logo-controls{margin:0;justify-content:flex-end;gap:8px;}
#content .table-title-toolbar>:is(h1,h2){margin:0;}

#content .din-layout-head.table-title-toolbar>h1{grid-column:1;grid-row:1;}
#content .din-layout-head.table-title-toolbar>.project-logo-controls{grid-column:2;grid-row:1;}
@media(max-width:1100px){#content .din-layout-head.table-title-toolbar>.project-logo-controls{grid-column:1;grid-row:2;justify-content:flex-start;}#content .din-layout-head.table-title-toolbar>.din-unified-toolbar{grid-row:3;}}
@media(max-width:600px){#content .din-layout-head.table-title-toolbar>.project-logo-controls{grid-column:1;grid-row:3;}#content .din-layout-head.table-title-toolbar>.din-unified-toolbar{grid-row:4;}}

.project-opening-dialog{width:min(520px,calc(100vw - 32px));border:1px solid #bdccd9;border-radius:12px;padding:26px;color:#18324b;box-shadow:0 16px 60px #122c4640}.project-opening-dialog::backdrop{background:#122c4670}.project-opening-dialog h2{font-size:21px;line-height:1.35}.project-opening-dialog p{overflow-wrap:anywhere}.project-opening-dialog [role=alert]{color:#8b3021}

.cost-tracking .tracking-remove{display:block;margin-top:6px;white-space:nowrap;color:#9b2424}

.aggregate-saved-stands{margin:16px 0;padding:12px;border:1px solid #ccd6df;border-radius:8px}.aggregate-saved-stands>h2{margin:0 0 12px}.aggregate-saved-stands>h3{margin:16px 0 8px}.aggregate-saved-stands .table-scroll{margin-top:12px}.aggregate-saved-stands .aggregate-stand-remove{color:#9b2424;white-space:nowrap}

/* Keep the three-digit KG visible beside the native select arrow. */
.cost-tracking .tracking-table.management-table [data-tracking-column="kg"]{width:96px;min-width:96px;max-width:96px;left:58px}
.cost-tracking .tracking-table.management-table [data-tracking-column="name"]{left:154px}
.cost-tracking .tracking-kg select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:6px 24px 6px 6px;font-size:14px;text-align:left}

.cost-orders input.change-amount-warning,.change-document-dialog input.change-amount-warning{background:#fff1b8!important;border-color:#b57c00!important;color:#755000!important}
.cost-orders input.change-amount-danger,.change-document-dialog input.change-amount-danger{background:#fde2e2!important;border-color:#bd2226!important;color:#a51519!important}
.change-limit-note{margin-left:6px;vertical-align:middle}
.change-justification-hint{display:flex;gap:8px;align-items:center;margin:14px 0}
.manual-date-control{display:inline-flex;align-items:stretch;width:100%;min-width:0;gap:4px}
.manual-date-control>input[data-manual-date-text]{flex:1 1 0;min-width:0;width:0;box-sizing:border-box}
.manual-date-control>input[type="date"]{flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;padding:6px!important;color:transparent!important;box-sizing:border-box}
.manual-date-control>input[type="date"]::-webkit-datetime-edit{display:none}
.manual-date-control>input[type="date"]::-webkit-calendar-picker-indicator{margin:0;cursor:pointer;opacity:1}

/* Shared information and warning speech bubbles across all application views. */
body .note-ref{
 --note-bubble-color:#5575b7;--note-tail-length:3.5px;
 position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;
 display:inline-grid!important;place-items:center!important;flex:0 0 auto!important;
 width:17px!important;min-width:17px!important;max-width:17px!important;height:16px!important;min-height:16px!important;max-height:16px!important;
 padding:0!important;margin:0 2px 3.5px 3px!important;box-sizing:border-box!important;
 border:0!important;border-radius:4.5px!important;background:var(--note-bubble-color)!important;color:transparent!important;
 font-size:0!important;line-height:1!important;vertical-align:middle!important;overflow:visible!important;
 box-shadow:0 .5px 1.5px #142c4626!important;
}
body .note-ref::before{content:"i";display:block;color:#fff;font-family:Arial,sans-serif;font-size:13.5px;font-style:normal;font-weight:800;line-height:1;transform:translateY(-.5px)}
body .note-ref::after{content:"";position:absolute;right:3px;bottom:calc(-1 * var(--note-tail-length));width:6px;height:5px;background:var(--note-bubble-color);clip-path:polygon(0 0,100% 0,100% 100%)}
body .note-ref.change-limit-note,body .note-ref.note-warning,body .note-ref[data-note-kind="warning"]{--note-bubble-color:#ed3737}
body .note-ref.change-limit-note::before,body .note-ref.note-warning::before,body .note-ref[data-note-kind="warning"]::before{content:"!"}
.shared-din-view .din-pdf-toolbar-upload>.note-ref{position:absolute!important;top:-12px!important;right:-8px!important;margin:0!important}
.note-popover.note-popover-warning{border:2px solid #db3d3d;box-shadow:0 12px 32px #7b1e2638}
@media(pointer:coarse){body .note-ref{width:22px!important;min-width:22px!important;max-width:22px!important;height:20px!important;min-height:20px!important;max-height:20px!important}}

/* The speech-bubble tail ends exactly at the field's upper-right corner. */
body .note-ref.note-corner,.shared-din-view .din-pdf-toolbar-upload>.note-ref.note-corner{position:absolute!important;left:var(--note-corner-left)!important;top:var(--note-corner-top)!important;right:auto!important;bottom:auto!important;margin:0!important;z-index:8}
body .note-ref.note-corner::after{right:0;bottom:calc(-1 * var(--note-tail-length));height:4.5px}
body :is(td,th).note-corner-cell{padding-top:24.5px!important;overflow:visible}
@media(pointer:coarse){body :is(td,th).note-corner-cell{padding-top:28.5px!important}}

/* Reserve enough space for a full German date plus its calendar button. */
.cost-orders .order-date-cell,.trade-cash-plan-table .cash-date-cell{min-width:174px;box-sizing:border-box}
.cost-orders .order-date-cell .manual-date-control,.trade-cash-plan-table .cash-date-cell .manual-date-control{min-width:156px}
.cost-orders .order-date-cell input[data-manual-date-text],.trade-cash-plan-table .cash-date-cell input[data-manual-date-text]{min-width:110px;width:0;box-sizing:border-box;font-size:14px;text-align:left;padding:7px 8px}

/* Vergabeterminplan: helle Summen- und Paketzeilen mit dunkler Schrift. */
#content .procurement-view table :is(tfoot>tr,tr[data-procurement-package-total])>:is(th,td){background:#d8e9f6!important;color:#17324c!important;border-color:#aec9de!important;}
#content .procurement-view table :is(tfoot>tr,tr[data-procurement-package-total])>:is(th,td) :is(strong,span,small,a){color:#17324c!important;}
.procurement-completed-table{min-width:1065px;}

/* Beschaffungsarten: native disclosure controls also work with touch and keyboard. */
#nav .procurement-procedures-menu>.procurement-catalog-menu{max-height:70dvh;overflow-y:auto;overscroll-behavior:contain;max-width:min(460px,calc(100vw - 24px));}
#nav .procurement-nav-branch{min-width:0;margin:4px 0;padding:2px 0 2px 10px;border-left:2px solid #bad3e6;}
#nav .procurement-nav-branch>summary{cursor:pointer;padding:10px 8px;color:#173e60;font-weight:700;line-height:1.4;white-space:normal;}
#nav .procurement-nav-branch button{display:block;width:100%;min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.45;padding:9px 10px;font-size:13px;}
#nav .procurement-nav-branch>summary:focus-visible{outline:3px solid #287cbd;outline-offset:1px;}
.procurement-catalog-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin:18px 0;}
.procurement-catalog-method{padding:18px;border:1px solid #bdd3e5;border-radius:10px;background:#f5faff;min-width:0;overflow-wrap:anywhere;}
.procurement-catalog-method h2{margin:0 0 12px;font-size:1.12rem;line-height:1.45;}
.procurement-catalog-notice{padding:12px 15px;border-left:4px solid #679cc4;background:#edf6fd;line-height:1.6;}
.procurement-catalog-regulation{margin:12px 0;border-top:1px solid #c7dce9;padding-top:8px;}
.procurement-catalog-regulation>summary{cursor:pointer;font-weight:700;padding:9px 0;line-height:1.5;}
.procurement-catalog-regulation ul{padding-left:18px;}
.procurement-catalog-regulation li{margin:7px 0;}
.procurement-catalog-regulation button{white-space:normal;text-align:left;line-height:1.45;}
.procurement-direct-badge{display:inline-block;border:1px solid #abc9de;border-radius:6px;padding:6px 9px;background:#e4f1fa;color:#163c5d;}
#nav .procurement-primary-branch{margin:0;padding:0;border:0;}
#nav .procurement-primary-entry,
#nav .procurement-primary-branch>summary.procurement-primary-entry,
.procurement-primary-links>.procurement-primary-entry{display:flex;align-items:center;box-sizing:border-box;width:100%;min-height:46px;margin:0;padding:11px 14px;border:1px solid #a8c6dc;border-radius:7px;background:#e5f1fb;color:#173e60;font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;text-align:left;white-space:normal;cursor:pointer;box-shadow:none;list-style:none;}
#nav .procurement-primary-entry::-webkit-details-marker{display:none;}
#nav .procurement-primary-entry:hover,
.procurement-primary-links>.procurement-primary-entry:hover{background:#d1e6f6;}
#nav .procurement-primary-entry:focus-visible,
.procurement-primary-links>.procurement-primary-entry:focus-visible{outline:3px solid #287cbd;outline-offset:2px;}
#nav .procurement-catalog-menu>.procurement-primary-branch>summary.procurement-primary-entry{min-height:42px;padding:10px 12px;border-color:#9ebfd8;border-radius:7px;background:linear-gradient(155deg,#eff8ff,#cde5f7);box-shadow:0 2px 3px #173e601a;}
#nav .procurement-catalog-menu>.procurement-primary-branch>summary.procurement-primary-entry:hover{background:linear-gradient(155deg,#e6f4ff,#bddcf2);}
#nav .procurement-catalog-menu>.procurement-primary-branch>summary.procurement-primary-entry:focus-visible{outline:2px solid #176bb0;outline-offset:2px;}
.procurement-primary-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
@media(max-width:680px){.procurement-primary-links{grid-template-columns:1fr;}}

/* Qualität: two main areas and the same three review panes in every HOAI phase. */
#nav .quality-nav-menu>.quality-nav-list{max-height:70dvh;max-width:min(460px,calc(100vw - 24px));overflow-y:auto;overscroll-behavior:contain;}
#nav .quality-nav-phase{margin:4px 0;padding-left:10px;border-left:2px solid #bad3e6;}
#nav .quality-nav-phase>summary{padding:10px 7px;font-weight:700;line-height:1.45;color:#173e60;cursor:pointer;white-space:normal;}
#nav .quality-nav-phase button{display:block;width:100%;text-align:left;white-space:normal;line-height:1.5;font-size:13px;padding:9px;}
#nav .quality-nav-phase>summary:focus-visible{outline:3px solid #287cbd;}
.quality-main-nav,.quality-phase-tabs,.quality-toolbar,.quality-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0;}
.quality-main-nav>button{flex:1 1 240px;min-height:46px;font-weight:700;}
.quality-phase-tabs>button{flex:1 1 220px;min-height:44px;line-height:1.5;white-space:normal;}
.quality-phase-tabs>[aria-current=page]{background:#245b82;color:#fff;}
.quality-area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-top:18px;}
.quality-area-grid>article{padding:18px;border:1px solid #bed4e5;border-radius:10px;background:#f4f9fd;min-width:0;}
.quality-area-grid h2{font-size:1.1rem;line-height:1.5;margin:0 0 12px;}
.quality-area-grid>article>button{display:block;width:100%;margin-top:9px;text-align:left;white-space:normal;line-height:1.45;}
.quality-workspace{line-height:1.6;}
.quality-workspace form{margin:20px 0;padding:18px;border:1px solid #c7dae8;border-radius:10px;background:#f8fbfe;}
.quality-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0;}
.quality-workspace label{display:flex;flex-direction:column;gap:6px;margin:10px 0;font-weight:600;}
.quality-workspace :is(input,select,textarea){width:100%;min-width:0;box-sizing:border-box;}
.quality-workspace textarea{font:inherit;resize:vertical;}
.quality-workspace td{vertical-align:top;}
.quality-workspace td textarea{min-width:190px;}
.quality-overdue>td{background:#fff0e9;color:#7a3522;}
[data-quality-error]{color:#9f253a;}
@media(max-width:680px){.quality-form-grid{grid-template-columns:1fr;}.quality-workspace form{padding:12px;}.quality-main-nav>button{flex-basis:100%;}}

/* Procedure guidance and live schedule assignments. */
.procurement-guide{max-width:1100px;margin-top:20px}.procurement-guide h2,.procurement-assigned h2{font-size:1.15rem;color:#17476b;margin:26px 0 10px}.procurement-guide p,.procurement-guide li{line-height:1.6}.procurement-guide ol{padding-left:1.5rem}.procurement-guide li{margin:7px 0}.procurement-guide-context{padding:18px;border:1px solid #bad2e4;background:#f3f8fc;border-radius:12px;margin-top:22px}.procurement-guide-context h2:first-child{margin-top:0}.procurement-guide-sources{padding-left:1.3rem}.procurement-guide a{overflow-wrap:anywhere}.procurement-assigned{margin-top:26px;padding-top:8px;border-top:1px solid #bed4e5}.procurement-assigned table{min-width:900px;width:100%}.procurement-assigned th{background:#dcecf7;color:#173f5e;text-align:left;padding:10px}.procurement-assigned td{padding:10px;border-bottom:1px solid #d9e5ed}.procurement-guide-count{background:#dfedf8;border-radius:18px;padding:3px 10px;font-size:.9rem}.procurement-assigned .trace,.procurement-guide .trace{font-size:.88rem;color:#526b7e}.procurement-guide-context select,.procurement-guide-context input{max-width:100%;min-width:0}.procurement-guide-context label{min-width:0}
@media(max-width:700px){.procurement-guide-context{padding:12px}.procurement-guide-context .procurement-context-grid{grid-template-columns:1fr}.procurement-guide h2{font-size:1.05rem}}

/* Shared tender amounts and offer comparison, scoped by trade and subproject. */
.procurement-picker>input[type="date"]{position:absolute!important;inset:0!important;opacity:0!important;width:100%!important;min-width:0!important;height:100%!important;padding:0!important}
.tender-cost-cell{min-width:160px}.tender-cost-cell input{width:150px;min-width:130px;text-align:right}.tender-cost-cell small{display:block;max-width:200px;font-size:12px;color:#48647a;white-space:normal}
.tender-dialog{width:min(1560px,96vw);max-width:96vw;max-height:92vh;overflow:auto;padding:24px;border:1px solid #a8bfd3;border-radius:14px;color:#183e5c;box-sizing:border-box;background:#f9fcff}.tender-dialog::backdrop{background:#132c47a8}.tender-dialog-header{display:flex;align-items:start;justify-content:space-between;gap:20px;border-bottom:1px solid #c4d7e6;margin-bottom:16px}.tender-dialog-header h2{margin:0}.tender-dialog-header p{margin:8px 0 18px}.tender-toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;position:sticky;top:-24px;background:#f9fcff;padding:10px 0;z-index:3}.tender-upload{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid #a7c3d8;border-radius:6px;padding:7px;margin:0}.tender-upload input{max-width:220px;font-size:13px}.tender-summary,.tender-form-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:16px}.tender-summary{background:#e8f2fa;padding:16px;border-radius:10px;align-items:end}.tender-summary label,.tender-dialog form label{display:grid;gap:6px}.tender-summary p{grid-column:1/-1;margin:0}.tender-dialog input,.tender-dialog textarea,.tender-dialog select{box-sizing:border-box;max-width:100%;min-width:0;background:#fff}.tender-message{min-height:22px;color:#9b3e17;font-weight:600}.tender-price-table{width:100%;min-width:1250px;border-collapse:collapse}.tender-price-table th{background:#dcecf8;color:#173e5d;padding:11px;text-align:left}.tender-price-table td{padding:10px;border-bottom:1px solid #c8dbe9;vertical-align:top}.tender-price-table input{width:150px}.tender-price-table [data-tender-bidder-field="name"]{width:200px}.tender-price-table small{display:block;font-size:12px;color:#526d83}.tender-row-actions button{display:block;margin-bottom:6px;font-size:12px}.tender-dialog h3{border-bottom:1px solid #c8dbe9;padding-bottom:9px;margin-top:28px}.tender-dialog h4{margin:24px 0 12px}.tender-dialog form>label{margin:12px 0}.tender-checks{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:16px}.tender-checks label{padding:12px;border:1px solid #ccdfec;border-radius:8px}.tender-dialog textarea{width:100%;resize:vertical}.tender-legal{padding:14px;background:#eaf3fa;border-radius:9px;margin-top:22px}.tender-legal a{overflow-wrap:anywhere}.tender-dialog .trace{font-size:.88rem;color:#526a7f;line-height:1.5}
@media(max-width:700px){.tender-dialog{width:98vw;max-width:98vw;padding:14px}.tender-toolbar{position:static}.tender-summary,.tender-form-grid,.tender-checks{grid-template-columns:1fr}.tender-dialog-header{gap:8px}.tender-dialog-header h2{font-size:1.2rem}.tender-dialog input,.tender-dialog select{font-size:16px}}

/* Holiday labels are revealed by hovering the marked date itself. */
.gantt-date-marker[title]{pointer-events:auto;}

/* Keep the three-digit KG code readable beside the fixed trade column. */
.cost-tracking .tracking-table.management-table [data-tracking-column="kg"]{width:100px;min-width:100px;max-width:100px;left:58px}
.cost-tracking .tracking-table.management-table [data-tracking-column="name"]{width:260px;min-width:260px;max-width:260px;left:158px}
.cost-tracking .tracking-table.management-table .tracking-kg select{font-variant-numeric:tabular-nums;text-overflow:clip;white-space:nowrap;padding-right:22px}

/* Forecast explanation and editable risk reviews. */
.forecast-policy-hint{display:inline-block;position:relative;text-align:left;font-size:.78rem;font-weight:400;margin:.2rem .25rem;vertical-align:middle;white-space:normal}
.forecast-policy-hint summary{cursor:pointer;color:#164e70;list-style:none;display:flex;align-items:center;gap:.35rem}
.forecast-info-icon{display:inline-grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:1.2rem;height:1.2rem;font-weight:700}
.forecast-policy-bubble{position:absolute;z-index:45;top:100%;right:0;width:min(640px,80vw);min-width:260px;max-height:42vh;overflow:auto;background:#fff;color:#173c58;border:1px solid #a6bfd2;border-radius:12px;padding:1rem;box-shadow:0 8px 25px #15334c30}
.forecast-policy-bubble pre{font:inherit;white-space:pre-wrap;line-height:1.5;margin:0;text-align:left}
.home-summary-card{position:relative}.home-summary-card .forecast-policy-hint{position:static}.home-summary-card .forecast-policy-bubble{top:3rem;left:1rem;right:auto}
.forecast-risk-edit{display:block;margin:.4rem 0 .1rem auto;font-size:.8rem;padding:.3rem .55rem}
.forecast-risk-status{display:block;white-space:normal;font-size:.72rem;font-weight:400}
.forecast-risk-warning{display:block;color:#aa361e;white-space:normal;font-weight:600;font-size:.85rem}
.forecast-trade-risk{display:block;white-space:normal;font-size:.75rem;margin-top:.4rem}.forecast-trade-risk input{width:7rem!important}
.forecast-risk-dialog{width:min(1050px,94vw);max-height:90vh;overflow:auto;border:1px solid #b3c5d4;border-radius:16px;padding:1.5rem;color:#153b56;background:#f8fbff}
.forecast-risk-dialog::backdrop{background:#102f4b88}.forecast-risk-dialog .section-head{display:flex;justify-content:space-between;gap:1rem}
.forecast-risk-summary,.forecast-risk-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}
.forecast-risk-summary>div{background:#e6f0f7;border-radius:8px;padding:.8rem}.forecast-risk-summary strong{display:block;font-size:1.15rem}
.forecast-risk-fields label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.forecast-risk-fields input,.forecast-risk-fields textarea{width:100%;box-sizing:border-box}
.forecast-risk-dialog td,.forecast-risk-dialog th{padding:.6rem;text-align:left}.forecast-risk-dialog td input{min-width:7rem;width:9rem}
@media(max-width:600px){.forecast-risk-fields,.forecast-risk-summary{grid-template-columns:1fr}.forecast-risk-dialog{padding:1rem}.forecast-policy-bubble{width:80vw;min-width:0}.home-summary-card .forecast-policy-bubble{left:.5rem}}
.forecast-hint-close{position:sticky;top:0;display:block;margin:0 0 .7rem auto;padding:.3rem .5rem;font-size:.8rem;background:#e6f0f7;color:#164e70}
@media(max-width:600px){
 #content .cost-tracking .tracking-table.management-table :is(th,td){position:static!important;left:auto!important}
 .forecast-policy-bubble,.home-summary-card .forecast-policy-bubble{position:fixed;left:4vw;right:4vw;top:18vh;width:auto;max-height:55vh;box-sizing:border-box;z-index:200}
}

/* Orders and PSP actions */
.order-remarks-cell{min-width:220px}.order-remarks-cell textarea{width:100%;min-width:200px;min-height:64px;resize:vertical;box-sizing:border-box;font:inherit}
.psp-page .psp-pdf-action{background:#1769aa;color:#fff;border:1px solid #1769aa}.psp-page .psp-pdf-action:hover{background:#12558b}.psp-page .psp-pdf-action:focus-visible{outline:3px solid #83bfff;outline-offset:2px}

.psp-kind-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.psp-kind-tabs [aria-pressed=true]{background:#176bb4;color:#fff;border-color:#176bb4}.psp-structured-entry .psp-entry-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.psp-structured-entry .psp-wide{grid-column:1/-1}.psp-form-details,.psp-graph-details{border:1px solid #cbdbe9;border-radius:8px;margin-top:14px;padding:12px}.psp-form-details>summary,.psp-graph-details>summary{cursor:pointer;font-weight:650;color:#194b6d}.psp-pdf-choice{display:flex;align-items:center;gap:6px;font-size:13px}.psp-tree-node{border:1px solid #cfdeeb;border-radius:8px;background:#f8fbfe;padding:12px;margin:8px 0}.psp-tree-node>summary{cursor:pointer;line-height:1.6}.psp-tree-children{margin:12px 0 0 12px;padding-left:12px;border-left:2px solid #a3c5df}.psp-tree-meta{font-size:13px;color:#47617a;margin:8px 0}.psp-tree-kind{display:inline-block;font-size:12px;color:#47617a;margin-left:8px}.psp-tree-node>button{font-size:12px;padding:4px 10px}.psp-structured-entry select[multiple]{min-height:100px}.psp-graph-details .psp-sheet{min-width:0}
@media(max-width:600px){.psp-structured-entry .psp-entry-fields{grid-template-columns:1fr}.psp-entry-head{align-items:flex-start;flex-direction:column}.psp-tree-children{margin-left:0;padding-left:8px}}

.organization-responsibility-options{max-height:360px;overflow-y:auto;padding-right:6px}.organization-select-all{position:sticky;top:0;background:#f4f9fd;border-bottom:1px solid #c6d9e9;padding-bottom:10px;z-index:1}.organization-responsibility-options>label{line-height:1.4;align-items:flex-start}.organization-responsibility-options input[type=checkbox]{flex:0 0 18px;margin-top:2px!important}

.critical-filters{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0}.critical-filters label{flex:1 1 200px;min-width:0}.critical-filters select{width:100%}.critical-priority-group{margin-top:22px}.critical-priority-group h3{font-size:19px}.critical-priority-group h3 small{font-weight:400}.project-critical .critical-priority-1{border-left:5px solid #c43e3e}.project-critical .critical-priority-2{border-left:5px solid #e0bd21}.project-critical .critical-priority-3{border-left:5px solid #32945d}.project-critical .critical-priority-1 .insight-state{color:#ac2626}.project-critical .critical-priority-2 .insight-state{color:#715700}.project-critical .critical-mark-urgent{width:auto;margin:0 14px 12px;padding:7px 12px;font-size:14px;border:1px solid #b7cbdc}.project-critical [hidden]{display:none!important}.critical-source-highlight{outline:3px solid #e0bd21;outline-offset:-3px}
.project-critical .critical-priority-group ul{grid-template-columns:1fr}.project-critical [data-critical-item]{display:flex;flex-direction:column;border-top:1px solid #c6ddec;border-right:1px solid #c6ddec;border-bottom:1px solid #c6ddec;border-radius:9px;background:#f5f9fc}.project-critical [data-critical-item]>button[data-insight-section]{height:auto;border:0;background:transparent}.project-critical [data-critical-item]>.critical-mark-urgent{align-self:flex-start;width:auto;height:auto;display:block;margin:0 16px 14px;background:#fff;border:1px solid #b7cbdc}.project-critical [data-critical-item]>.critical-mark-urgent[aria-pressed="true"]{background:#fff6bf;border-color:#e0bd21}

/* Priority traffic lights: overdue red, urgent yellow, pending green. */
.project-critical [data-critical-item].critical-priority-1{background:#fff5f5}.project-critical [data-critical-item].critical-priority-2{background:#fffced}.project-critical [data-critical-item].critical-priority-3{background:#f1faf4}.project-critical [data-critical-item] .insight-state{justify-self:start;padding:4px 8px;border-radius:5px}.project-critical .critical-priority-1 .insight-state{background:#fde4e4;color:#ac2626}.project-critical .critical-priority-2 .insight-state{background:#fff0a6;color:#715700}.project-critical .critical-priority-3 .insight-state{background:#dff2e5;color:#21673e}

/* Nonmodal project loading, without a backdrop. */
.project-opening-notice{position:fixed;top:70px;right:12px;z-index:90;max-width:calc(100vw - 24px);padding:8px 14px;background:#fff;color:#123e63;border:1px solid #b7d3e7;border-radius:8px;box-shadow:0 2px 8px #123e6320;font-size:14px;box-sizing:border-box}
.project-opening-notice p{margin:0}.project-opening-notice.has-error{max-width:min(480px,calc(100vw - 24px))}

.forecast-stand-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.forecast-stand-controls label{display:flex;align-items:center;gap:8px}.forecast-stand-controls span{flex:1 1 280px}

/* Contract type and the KG 700 switch share one caption row. */
.planning-fee-contract-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin:0 0 8px}
.planning-contract-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.planning-contract-title .note-ref{flex:0 0 auto;margin-left:auto}
.planning-fee-contract-heading .planning-contract-caption{display:inline-flex;align-items:center;gap:4px;margin:0;flex:0 0 auto}
.planning-fee-contract-heading .planning-fee-auto{display:inline-flex;align-items:center;gap:8px;margin:0;line-height:1.4}
.planning-fee-contract-heading .planning-fee-auto input[type="checkbox"]{display:inline-block;flex:0 0 auto;width:18px;height:18px;min-width:18px;margin:0;padding:0}
.planning-fee-contract{align-items:end}
.planning-contract-mode-field{min-width:0}
.planning-contract-mode-field select{width:100%;box-sizing:border-box}

.procurement-platform-links{margin-top:28px;padding:20px;border:1px solid #bdd3e5;border-radius:12px;background:#f7fbff;}
.procurement-platform-links .section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;}
.procurement-platform-links h2{margin:0 0 6px;font-size:1.25rem;}
.procurement-platform-links .section-head p,.procurement-platform-note{margin:4px 0 14px;color:#47647b;line-height:1.55;}
.procurement-platform-row{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.4fr auto;gap:12px;align-items:end;margin-top:12px;padding:14px;border:1px solid #d2e2ef;border-radius:9px;background:#fff;}
.procurement-platform-row label{display:grid;gap:6px;font-size:.88rem;font-weight:600;}
.procurement-platform-actions{display:flex;gap:8px;align-items:center;}
.procurement-platform-open{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:1px solid #b8cad8;border-radius:6px;background:#eaf3fa;color:#174b70;text-decoration:none;white-space:nowrap;}
.procurement-platform-open[aria-disabled="true"]{opacity:.55;pointer-events:none;}
.procurement-platform-empty{margin:8px 0 0;color:#61798b;}
@media(max-width:1050px){.procurement-platform-row{grid-template-columns:repeat(2,minmax(0,1fr));}.procurement-platform-actions{grid-column:1/-1;}}
@media(max-width:600px){.procurement-platform-links{padding:14px;}.procurement-platform-links .section-head{align-items:flex-start;flex-direction:column;}.procurement-platform-row{grid-template-columns:1fr;}.procurement-platform-actions{grid-column:auto;flex-wrap:wrap;}}

.procurement-catalog .procurement-page-title{display:flex;flex-direction:column;align-items:flex-start;gap:6px;line-height:1.18;max-width:100%;overflow-wrap:anywhere;}
.procurement-catalog .procurement-page-title>span{font-size:.78em;font-weight:400;line-height:1.3;}
@media(max-width:760px){.procurement-catalog .procurement-page-title{gap:5px;}}


/* Gemeinsame Ladeanimation für Site-Start, Projekte und alle Blätter. */
.site-loading-art{width:min(660px,88vw);color:#173c5a;font-family:system-ui,sans-serif}
.site-loading-lines{display:block;width:100%;height:auto;overflow:visible}
.site-loading-lines :where(path,circle){stroke-linecap:round;stroke-linejoin:round}
.site-line-cost,.site-line-timeline,.site-line-quality,.site-line-check{fill:none;stroke-linecap:round;stroke-linejoin:round}
.site-line-cost{stroke:#e58b32;stroke-width:7;stroke-dasharray:1;stroke-dashoffset:1;animation:site-line-draw 4s linear infinite}
.site-line-timeline{stroke:#4f86ad;stroke-width:7;stroke-dasharray:1;stroke-dashoffset:1;animation:site-line-draw 4s linear infinite}
.site-line-cost-arrow{fill:#e58b32}
.site-line-time-arrow{fill:#4f86ad}
.site-stage-label{fill:#58758c;font:600 13px system-ui,sans-serif;letter-spacing:.04em}
.site-line-quality{stroke:#2e8a62;stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1}
.site-line-check{stroke:#2e8a62;stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1}
.site-line-quality-stamp{opacity:0;transform-box:fill-box;transform-origin:center}
.quality-stamp-one{animation:stamp-one 4s linear infinite both}.quality-stamp-two{animation:stamp-two 4s linear infinite both}.quality-stamp-three{animation:stamp-three 4s linear infinite both}.quality-stamp-four{animation:stamp-four 4s linear infinite both}.quality-stamp-five{animation:stamp-five 4s linear infinite both}
.quality-stamp-one .site-line-quality{animation:ring-one 4s linear infinite both}.quality-stamp-one .site-line-check{animation:check-one 4s linear infinite both}
.quality-stamp-two .site-line-quality{animation:ring-two 4s linear infinite both}.quality-stamp-two .site-line-check{animation:check-two 4s linear infinite both}
.quality-stamp-three .site-line-quality{animation:ring-three 4s linear infinite both}.quality-stamp-three .site-line-check{animation:check-three 4s linear infinite both}
.quality-stamp-four .site-line-quality{animation:ring-four 4s linear infinite both}.quality-stamp-four .site-line-check{animation:check-four 4s linear infinite both}
.quality-stamp-five .site-line-quality{animation:ring-five 4s linear infinite both}.quality-stamp-five .site-line-check{animation:check-five 4s linear infinite both}
.site-loading-overlay[hidden]{display:none!important}
.site-loading-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:rgba(245,248,251,.91)}
.site-loading-card{display:grid;justify-items:center;gap:8px;width:min(700px,calc(100vw - 40px));padding:12px 18px;border:0;border-radius:0;background:transparent;box-shadow:none}
.site-loading-message{margin:0;color:#557087;font:500 13px/1.4 system-ui,sans-serif;text-align:center}
@keyframes site-line-draw{0%{stroke-dashoffset:1}58%,98%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes stamp-one{0%,10.8%{opacity:0;transform:scale(.78)}11.6%,98%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.78)}}
@keyframes stamp-two{0%,22.4%{opacity:0;transform:scale(.78)}23.2%,98%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.78)}}
@keyframes stamp-three{0%,34%{opacity:0;transform:scale(.78)}34.8%,98%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.78)}}
@keyframes stamp-four{0%,45.6%{opacity:0;transform:scale(.78)}46.4%,98%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.78)}}
@keyframes stamp-five{0%,57.2%{opacity:0;transform:scale(.78)}58%,98%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.78)}}
@keyframes ring-one{0%,10.8%{stroke-dashoffset:1}11.6%,98%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes ring-two{0%,22.4%{stroke-dashoffset:1}23.2%,98%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes ring-three{0%,34%{stroke-dashoffset:1}34.8%,98%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes ring-four{0%,45.6%{stroke-dashoffset:1}46.4%,98%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes ring-five{0%,57.2%{stroke-dashoffset:1}58%,98%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes check-one{0%,11.1%{stroke-dashoffset:1}11.9%,98%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes check-two{0%,22.7%{stroke-dashoffset:1}23.5%,98%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes check-three{0%,34.3%{stroke-dashoffset:1}35.1%,98%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes check-four{0%,45.9%{stroke-dashoffset:1}46.7%,98%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes check-five{0%,57.5%{stroke-dashoffset:1}58.3%,98%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@media(max-width:600px){.site-loading-art{width:min(660px,96vw)}.site-loading-card{width:calc(100vw - 24px);padding:8px 4px}.site-loading-message{font-size:12px}}
@media(prefers-reduced-motion:reduce){.site-line-cost,.site-line-timeline{animation:none;stroke-dashoffset:0}.site-line-quality-stamp{opacity:1;animation:none;transform:none}.site-line-quality,.site-line-check{animation:none;stroke-dashoffset:0}.site-line-cost-arrow,.site-line-time-arrow{display:none}}

/* Kostenberechnung: Logo-Aktionen in die Teilprojektzeile integrieren. */
.shared-din-view .din-logo-context .procurement-context-top{grid-template-columns:minmax(190px,.85fr) minmax(280px,1.35fr) auto;gap:14px;align-items:center}
.shared-din-view .din-logo-context .project-logo-controls{grid-column:auto;grid-row:auto;justify-content:flex-end;gap:8px;margin:0;white-space:nowrap}
.shared-din-view .din-logo-context .project-logo-controls button{margin:0}
@media(max-width:1050px){.shared-din-view .din-logo-context .procurement-context-top{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.shared-din-view .din-logo-context .procurement-context-top>.project-logo-controls{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:650px){.shared-din-view .din-logo-context .procurement-context-top{grid-template-columns:minmax(0,1fr)}.shared-din-view .din-logo-context .procurement-context-top>.project-logo-controls{grid-column:auto;flex-wrap:wrap}}
/* Hinweisblasen innerhalb der Aktionsfelder halten, damit die Werkzeugleiste sie nicht abschneidet. */
.shared-din-view .din-pdf-toolbar-upload>.note-ref{top:3px!important;right:3px!important}
.shared-din-view .din-confirmation-control>.din-confirmation-note{top:3px!important;right:3px!important}
/* Verfahrensüberschriften: Verfahrensname klar unter dem unveränderten Haupttitel anzeigen. */
.procurement-catalog .procurement-page-title{display:block;line-height:1.18;max-width:100%;overflow-wrap:anywhere}
.procurement-catalog .procurement-page-title>span{display:block;margin-top:6px;font-size:.78em;font-weight:400;line-height:1.3}

/* Vergabeverfahren: feste Zweiteilung des Seitentitels auf allen Verfahrensseiten. */
.procurement-catalog h1.procurement-page-title{display:flex!important;flex-direction:column!important;align-items:flex-start;gap:6px;line-height:1.18;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.procurement-catalog .procurement-page-title>.procurement-title-primary{display:block;max-width:100%;font-size:1em;font-weight:inherit;line-height:inherit}
.procurement-catalog .procurement-page-title>.procurement-title-secondary{display:block;max-width:100%;margin:0;font-size:.78em;font-weight:400;line-height:1.3}
@media(max-width:760px){.procurement-catalog h1.procurement-page-title{gap:5px}}
