:root{--nav:#0f315c;--blue:#0f4c81;--teal:#00857a;--green:#08a66c;--red:#e84b3c;--orange:#f39a18;--cyan:#08a9cf;--gray:#e9edf3;--ink:#172033;--muted:#6b7280;--bg:#f2f5f9;--line:#dbe2ea}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#102d53,#0a1f3d);color:#fff;padding:24px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:grid;grid-template-columns:42px 1fr;align-items:center;color:inherit;text-decoration:none;font-size:22px;font-weight:800;letter-spacing:.2px}.brand small{grid-column:2;font-size:11px;font-weight:500;opacity:.7;text-transform:uppercase}.dog{grid-row:1/3;width:34px;height:34px;border-radius:11px;background:var(--orange);display:grid;place-items:center;color:#fff;font-weight:900}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:36px}.sidebar nav a,.sidebar-foot a{color:#dce8f6;text-decoration:none;padding:11px 12px;border-radius:9px}.sidebar nav a:hover{background:#ffffff18;color:#fff}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;padding:12px}.sidebar-foot small{opacity:.65;margin:3px 0 8px}main{min-width:0;padding:0 28px 40px}.top{height:98px;display:flex;align-items:center;justify-content:space-between}.top h1{margin:0;font-size:29px}.top p{margin:4px 0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 14px;font-weight:650;cursor:pointer;text-decoration:none;font-size:13px}.btn.primary{background:var(--blue);color:#fff}.btn.success{background:var(--green);color:#fff}.btn.warn{background:var(--orange);color:#fff}.btn.ghost{background:#fff;color:var(--blue);border:1px solid var(--line)}.btn.full{width:100%;margin-top:15px}.btn:disabled{opacity:.45}.flash{padding:12px 15px;border-radius:9px;margin-bottom:15px;background:#dcfce7;color:#166534}.flash.error{background:#fee2e2;color:#991b1b}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px;margin-bottom:18px}.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none;color:inherit;box-shadow:0 4px 16px #102d5310}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi strong{display:block;font-size:27px;margin-top:9px;color:var(--blue)}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:18px;box-shadow:0 4px 18px #102d5309}.panel h2{font-size:18px;margin:0 0 17px}.panel h3{font-size:14px;margin-top:22px}.panel-head{display:flex;justify-content:space-between}.task-list{display:flex;flex-direction:column}.task-row{display:grid;grid-template-columns:12px 1fr auto auto;align-items:center;gap:12px;padding:12px 6px;border-bottom:1px solid #edf0f4;text-decoration:none;color:inherit}.task-row small{display:block;color:var(--muted);margin-top:3px}.task-row.done{opacity:.55;text-decoration:line-through}.dot{width:9px;height:9px;border-radius:50%;background:var(--gray)}.dot.red{background:var(--red)}.dot.blue{background:var(--cyan)}.dot.green{background:var(--green)}.toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.quick-buttons{display:flex;gap:6px;flex-wrap:wrap}.toolbar-right{display:flex;gap:8px}.status-chip{border:0;border-radius:5px;padding:7px 11px;color:#fff;font-size:13px;cursor:pointer}.st-complete{background:var(--teal)}.st-progress{background:var(--cyan)}.st-reject{background:var(--red)}.st-idle{background:#aab3c1}.st-neutral{background:#6b7280}.search,input,select,textarea{border:1px solid #cfd7e2;border-radius:8px;padding:10px;background:#fff;font:inherit;color:inherit;outline:none}.search{min-width:310px}.search:focus,input:focus,select:focus,textarea:focus{border-color:#5b91c2;box-shadow:0 0 0 3px #0f4c8112}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:auto;max-height:calc(100vh - 205px)}.data-table{border-collapse:separate;border-spacing:0;min-width:1500px;width:max-content}.data-table th{position:sticky;top:0;background:var(--nav);color:#fff;z-index:2;min-width:125px;text-align:left;padding:8px;font-size:12px;vertical-align:top}.data-table th span{opacity:.65;margin-right:4px}.data-table th:nth-child(4),.data-table th:nth-child(10),.data-table th:nth-child(20){min-width:260px}.data-table td{border-bottom:1px solid #e9edf2;border-right:1px solid #edf0f4;padding:9px;vertical-align:top;max-width:350px;white-space:pre-wrap}.data-table tr:hover td{background:#eff7ff}.col-filter{display:block;width:100%;padding:5px;margin-top:6px;font-size:11px;border-radius:5px}.id-link{font-weight:800;color:var(--blue)}.column-panel{display:flex;flex-wrap:wrap;gap:7px;background:#fff;border:1px solid var(--line);padding:12px;border-radius:10px;margin-bottom:10px;max-height:160px;overflow:auto}.column-panel label{font-size:12px;width:180px}.hidden{display:none!important}.site-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.site-head p{margin:5px 0;color:var(--muted)}.tabs{display:flex;gap:4px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:18px}.tab{border:0;background:transparent;padding:11px 15px;font-weight:650;white-space:nowrap;color:var(--muted);cursor:pointer}.tab.active{color:var(--blue);border-bottom:3px solid var(--blue)}.tabpane{display:none}.tabpane.active{display:block}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-bottom:15px}.form-grid.three{grid-template-columns:repeat(3,1fr)}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650;color:#425066}.span2{grid-column:span 2}.span3{grid-column:span 3}textarea{width:100%;resize:vertical}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.input-panel{background:#e8f6ff}.input-panel textarea{background:#d6efff;min-height:78px}.milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.milestone{border:0;border-radius:8px;padding:14px;text-align:left;color:#fff;cursor:pointer}.milestone span{display:block;font-weight:650}.milestone b{display:block;font-size:12px;margin-top:7px;opacity:.8}.milestone.complete{background:var(--teal)}.milestone.progress{background:var(--cyan)}.milestone.idle{background:#f4c7c3;color:#8b1e19}.timeline article{padding:0 0 17px 18px;border-left:2px solid #dfe6ef;position:relative}.timeline article:before{content:'';position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--blue)}.timeline time,.timeline small{font-size:12px;color:var(--muted)}.timeline p{white-space:pre-wrap}.mini{border:0;background:var(--green);color:#fff;width:28px;height:28px;border-radius:7px}.billing-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.billing-card{border:1px solid var(--line);border-radius:10px;padding:15px;background:#f8fafc}.billing-card p{display:flex;justify-content:space-between}.simple-table>div,.simple-table form>div{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:10px;border-bottom:1px solid #edf0f4;align-items:center}.archive>div{grid-template-columns:120px 2fr 1fr 100px}.invoice-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.invoice-buttons label{display:block}.invoice-buttons input{display:none}.invoice-buttons span{display:block;padding:12px;border:2px solid var(--line);border-radius:10px;cursor:pointer}.invoice-buttons input:checked+span{border-color:var(--green);background:#e7f9f2}.invoice-buttons small{display:block;margin-top:4px}.calc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.calc-cards>div{padding:15px;border:1px solid var(--line);border-radius:10px}.calc-cards .gray{background:#edf0f4}.calc-cards span,.calc-cards small{display:block;color:var(--muted);font-size:12px}.calc-cards b{display:block;font-size:21px;margin:6px 0}.dropbox{border:2px dashed #b9c7d8;border-radius:12px;padding:25px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.import-row{display:grid;grid-template-columns:140px 1fr 2fr;gap:10px;padding:10px;border-bottom:1px solid var(--line)}.import-row.ok b{color:var(--green)}.import-row.bad b{color:var(--red)}.info-box{background:#eef5fb;border-left:4px solid var(--blue);padding:13px;margin:12px 0}.alarm-modal{position:fixed;inset:0;background:#06152ac7;z-index:99;display:grid;place-items:center}.alarm-card{background:#fff;border-radius:18px;padding:30px;width:min(570px,92vw);text-align:center;box-shadow:0 25px 80px #0008}.alarm-icon{width:70px;height:70px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:45px;font-weight:900;margin:auto}.login-bg{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#2c6094,#0b2445)}.login-card{width:min(420px,92vw);background:#fff;padding:32px;border-radius:20px;box-shadow:0 25px 70px #0005}.login-card.wide{width:min(680px,94vw)}.brand.center{display:flex;justify-content:center;gap:10px;color:var(--nav);margin-bottom:20px}.login-card h1{text-align:center}.login-card>p{text-align:center;color:var(--muted)}.login-card label{margin:12px 0}.checks{display:flex;gap:8px}.checks span{padding:7px 9px;border-radius:6px}.checks .yes{background:#dcfce7}.checks .no{background:#fee2e2}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.app{grid-template-columns:78px 1fr}.sidebar{padding:20px 10px}.brand span:not(.dog),.brand small,.sidebar nav a,.sidebar-foot{font-size:0}.sidebar nav a:before{content:'•';font-size:24px}.form-grid.three{grid-template-columns:1fr 1fr}.span3{grid-column:span 2}}@media(max-width:700px){main{padding:0 12px 30px}.app{display:block}.sidebar{position:static;height:auto;flex-direction:row;overflow:auto}.sidebar nav{flex-direction:row;margin:0}.two-col,.form-grid,.form-grid.three,.billing-grid,.calc-cards{grid-template-columns:1fr}.span2,.span3{grid-column:span 1}.kpi-grid{grid-template-columns:1fr}.invoice-buttons{grid-template-columns:1fr}}
.excel-form{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;margin-bottom:18px}.excel-form label{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px}.excel-form label span{min-height:32px}.excel-form input[readonly],.excel-form textarea[readonly]{background:#edf0f4;color:#6b7280}.archive-object summary{cursor:pointer;padding:4px 0 14px}.archive-object small{color:var(--muted)}
@media(max-width:1000px){.excel-form{grid-template-columns:1fr 1fr}}@media(max-width:650px){.excel-form{grid-template-columns:1fr}}

/* Idefix 2.1 – kompaktere Statusliste und neue Bedienung */
.brand{grid-template-columns:42px 1fr;grid-template-rows:auto auto auto;align-items:center}
.brand .dog{grid-row:1/4}
.brand .brand-name{grid-column:2;font-size:22px;line-height:1.05}
.brand .brand-project{grid-column:2;font-size:13px;font-weight:800;opacity:1;text-transform:none;letter-spacing:.4px;margin-top:2px}
.brand .brand-subtitle{grid-column:2;font-size:9px;font-weight:500;opacity:.7;text-transform:uppercase;margin-top:1px}
.top-actions{display:flex;gap:8px;align-items:center}.btn.mute{background:#687386;color:#fff;border:1px solid #687386}.btn.mute.active{background:#d94673;border-color:#d94673}.btn.compact{padding:7px 11px;font-size:13px}
.status-chip.st-pink,.st-pink{background:#d94673}.quick-buttons .status-chip{min-height:32px;white-space:normal;line-height:1.15}.quick-buttons{align-items:stretch}
.search,input,select,textarea{color:var(--ink)}.col-filter{color:var(--ink)!important;background:#fff!important;-webkit-text-fill-color:var(--ink);opacity:1}.col-filter::placeholder{color:#6b7280;opacity:1}
.data-table th{min-width:105px;white-space:normal}.data-table th .th-label{font-weight:750;line-height:1.22;min-height:30px}.data-table td{overflow-wrap:anywhere}
.data-table th.col-a,.data-table td.col-a{min-width:105px;width:105px;max-width:120px}
.data-table th.col-b,.data-table td.col-b{min-width:82px;width:82px;max-width:90px}
.data-table th.col-c,.data-table td.col-c{min-width:82px;width:82px;max-width:90px}
.data-table th.col-d,.data-table td.col-d{min-width:205px;width:205px;max-width:235px}
.data-table th.col-e,.data-table td.col-e{min-width:118px;width:118px;max-width:128px}
.data-table th.col-f,.data-table td.col-f{min-width:135px;width:135px;max-width:145px}
.data-table th.col-g,.data-table td.col-g{min-width:150px;width:150px;max-width:165px}
.data-table th.col-h,.data-table td.col-h{min-width:155px;width:155px;max-width:170px}
.data-table th.col-i,.data-table td.col-i{min-width:190px;width:190px;max-width:215px}
.cell-state{display:inline-flex;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:750}.cell-state.open{background:#fee2e2;color:#a32318}.cell-state.done{background:#d8f7eb;color:#08725a}
.site-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.site-status p{flex-basis:100%}
.parameter-list{margin-top:24px;border-top:1px solid var(--line);padding-top:14px}.parameter-list h3{margin:0 0 9px}.parameter-list>div{display:grid;grid-template-columns:minmax(210px,1fr) auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f4}.parameter-list span{font-size:13px;color:#425066}.parameter-list b{padding:5px 8px;border-radius:6px;font-size:12px;text-align:right}.parameter-list b.done{background:#d8f7eb;color:#08725a}.parameter-list b.open{background:#fee2e2;color:#a32318}.parameter-list b.progress{background:#d9f5fb;color:#087892}.parameter-list b.neutral{background:#edf0f4;color:#4b5563;max-width:250px}
.overview-milestones{margin-top:18px}.overview-milestones .milestones{grid-template-columns:repeat(6,minmax(130px,1fr))}.overview-milestones .milestone{min-height:76px}
.alarm-actions{display:flex;flex-direction:column;gap:11px;margin-top:18px}.alarm-quick{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.alarm-schedule-row{display:grid;grid-template-columns:85px minmax(120px,1fr) minmax(150px,auto);gap:8px;align-items:center;text-align:left;background:#f7f9fc;border:1px solid var(--line);border-radius:10px;padding:9px}.alarm-schedule-row.custom{grid-template-columns:70px minmax(145px,1fr) minmax(115px,1fr) auto}.alarm-schedule-row input{width:100%}.alarm-done{width:100%;margin-top:2px;padding:12px}
@media(max-width:1350px){.overview-milestones .milestones{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.toolbar-right{width:100%;flex-wrap:wrap}.toolbar-right .search{min-width:0;flex:1 1 100%}.parameter-list>div{grid-template-columns:1fr}.parameter-list b{text-align:left}.overview-milestones .milestones{grid-template-columns:1fr}.alarm-schedule-row,.alarm-schedule-row.custom{grid-template-columns:1fr}.alarm-schedule-row strong{text-align:center}}

/* Idefix 2.2 – Impressum und Datenschutz */
.login-legal{position:fixed;left:0;right:0;bottom:24px;display:flex;justify-content:center;align-items:center;gap:10px;color:#fff;font-size:13px;z-index:2}
.login-legal a{color:#fff;text-decoration:none;border-bottom:1px solid #ffffff80;padding-bottom:2px}
.login-legal a:hover{border-bottom-color:#fff}
.sidebar-legal{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid #ffffff1f}
.sidebar-legal a{font-size:12px;padding:5px 7px;color:#b9cbe0}
.legal-bg{min-height:100vh;margin:0;background:radial-gradient(circle at top,#2c6094,#0b2445);color:#fff}
.legal-shell{width:min(900px,calc(100% - 32px));margin:0 auto;padding:42px 0 34px}
.legal-back{display:inline-block;color:#fff;text-decoration:none;margin-bottom:20px;opacity:.9}
.legal-back:hover{opacity:1;text-decoration:underline}
.legal-brand{display:flex;align-items:center;gap:10px;font-size:21px;margin-bottom:18px}
.legal-brand .dog{width:32px;height:32px;border-radius:10px}
.legal-card{background:#ffffff12;border:1px solid #ffffff26;border-radius:20px;padding:34px 40px;box-shadow:0 25px 70px #0003;backdrop-filter:blur(7px)}
.legal-card h1{font-size:32px;margin:0 0 8px;color:#fff}
.legal-card h2{font-size:18px;color:#fff;margin:28px 0 8px}
.legal-card p,.legal-card li{color:#eaf2fb;line-height:1.65}
.legal-card strong{color:#fff}
.legal-card a{color:#fff;text-underline-offset:3px}
.legal-intro{font-size:15px;margin-top:0;color:#d6e5f5!important}
.legal-date{margin-top:32px!important;font-size:13px;color:#bfd0e3!important}
.legal-bottom{display:flex;justify-content:center;gap:10px;margin-top:22px;color:#fff}
.legal-bottom a{color:#fff;text-decoration:none;border-bottom:1px solid #ffffff80}
.legal-bottom a:hover,.legal-bottom a[aria-current="page"]{border-bottom-color:#fff}
@media(max-width:700px){.login-legal{bottom:14px}.legal-shell{padding:24px 0}.legal-card{padding:24px 20px}.legal-card h1{font-size:29px}.sidebar-legal{display:none}}

/* Homepage-Editor 3.2 */
.homepage-editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px}
.homepage-editor-toolbar h2{margin-bottom:6px}.homepage-editor-toolbar p{margin:0;color:var(--muted)}
.homepage-editor-layout{display:grid;grid-template-columns:minmax(430px,620px) minmax(520px,1fr);gap:18px;align-items:start}
.homepage-editor-form{min-width:0}.homepage-preview-column{position:sticky;top:12px;min-width:0}
.homepage-preview-head{display:flex;justify-content:space-between;align-items:center;background:var(--nav);color:#fff;padding:10px 14px;border-radius:12px 12px 0 0}
#homepagePreview{display:block;width:100%;height:720px;border:1px solid var(--line);border-top:0;background:#fff;border-radius:0 0 12px 12px;box-shadow:0 6px 18px #102d5312}
.editor-section{padding:0;overflow:hidden}.editor-section summary{cursor:pointer;font-size:16px;font-weight:750;padding:16px 18px;background:#f7f9fc;border-bottom:1px solid var(--line)}
.editor-section[open] summary{margin-bottom:16px}.editor-section>div,.editor-section>label,.editor-section>fieldset{margin-left:18px;margin-right:18px}.editor-section>.editor-grid:last-child,.editor-section>.editor-upload-grid:last-child{margin-bottom:18px}
.editor-grid{display:grid;gap:12px;margin-bottom:14px}.editor-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.editor-upload-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:16px}.editor-upload-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.editor-section label span{font-weight:700}.editor-section label small{font-weight:400;color:var(--muted);line-height:1.35}
.editor-section input[type="text"],.editor-section input[type="number"],.editor-section input[type="file"],.editor-section textarea{width:100%}
.range-grid{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px}
.range-field{gap:7px}.range-row{display:grid;grid-template-columns:1fr 72px;align-items:center;gap:10px}.range-row input[type="range"]{width:100%;padding:0;border:0;box-shadow:none}.range-row output{background:#fff;border:1px solid var(--line);border-radius:7px;padding:7px 8px;text-align:center;font-size:12px;color:var(--blue);font-weight:750}
.editor-card-fieldset{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px}.editor-card-fieldset legend{padding:0 7px;font-weight:750;color:var(--blue)}
.homepage-savebar{position:sticky;bottom:10px;z-index:8;display:flex;gap:8px;flex-wrap:wrap;padding:12px;box-shadow:0 12px 28px #102d5333}
.homepage-revisions{margin-top:18px}.homepage-revisions h2{margin-bottom:10px}.revision-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #edf0f4}.revision-row:last-child{border-bottom:0}
@media(max-width:1450px){.homepage-editor-layout{grid-template-columns:520px minmax(480px,1fr)}#homepagePreview{height:650px}}
@media(max-width:1150px){.homepage-editor-layout{grid-template-columns:1fr}.homepage-preview-column{position:static}.editor-upload-grid.three{grid-template-columns:1fr 1fr}#homepagePreview{height:650px}}
@media(max-width:700px){.homepage-editor-toolbar{align-items:flex-start;flex-direction:column}.editor-grid.two,.editor-upload-grid.three{grid-template-columns:1fr}.homepage-editor-layout{display:block}.homepage-preview-column{margin-top:18px}#homepagePreview{height:520px}.homepage-savebar{position:static}.range-row{grid-template-columns:1fr 64px}}

/* Homepage-Baukasten 3.3 */
.homepage-editor-layout{grid-template-columns:minmax(470px,680px) minmax(520px,1fr)}
.editor-selection-status{border:2px solid #b9c7d8;background:#f8fafc;color:#425066;font-weight:700;padding:12px 14px}
.editor-section{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.editor-section.editor-selected{border:3px solid #ef334f!important;box-shadow:0 0 0 4px #ef334f1f,0 8px 24px #102d5315;background:#fffafa}
.editor-section.editor-selected>summary{color:#c71936}
.editor-card-fieldset.editor-selected{border:2px solid #ef334f;background:#fff6f7}
.range-row{grid-template-columns:minmax(130px,1fr) 86px 72px}
.range-number{width:86px;padding:7px 8px;text-align:right}
.homepage-preview-head{gap:14px;flex-wrap:wrap}
.homepage-preview-head>div:first-child{display:flex;flex-direction:column;gap:2px}
.homepage-preview-head span{font-size:11px;color:#d8e8f8}
.preview-device-buttons{display:flex;gap:5px;flex-wrap:wrap}
.preview-device-buttons button{border:1px solid #ffffff55;background:#ffffff12;color:#fff;border-radius:6px;padding:6px 9px;font-size:11px;cursor:pointer}
.preview-device-buttons button.active{background:#fff;color:var(--nav);border-color:#fff;font-weight:800}
.homepage-preview-viewport{width:100%;min-height:420px;overflow:auto;background:#dfe6ef;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;position:relative}
.homepage-preview-scaler{transform-origin:top left}
#homepagePreview{display:block;border:0;background:#fff;border-radius:0;box-shadow:none;max-width:none}
.preview-help{font-size:11px;color:var(--muted);margin:7px 4px 0}
.editor-section summary{position:sticky;top:0;background:inherit;z-index:2}
@media(max-width:1450px){.homepage-editor-layout{grid-template-columns:540px minmax(470px,1fr)}}
@media(max-width:1150px){.homepage-editor-layout{grid-template-columns:1fr}.homepage-preview-column{position:static}.range-row{grid-template-columns:minmax(120px,1fr) 86px 72px}}
@media(max-width:700px){.range-row{grid-template-columns:1fr 82px}.range-row output{display:none}.preview-device-buttons{width:100%}}

/* Homepage-Editor 3.6: exakte Feldmarkierung und getrennte Desktop-Profile */
.editor-field-selected{outline:3px solid #ef334f!important;outline-offset:3px;border-radius:9px;background:#fff2f4!important;box-shadow:0 0 0 5px rgba(239,51,79,.12)!important;padding:7px!important}
.editor-field-selected>span{color:#c71936!important;font-weight:850!important}
.editor-field-selected input,.editor-field-selected textarea{border-color:#ef334f!important;box-shadow:0 0 0 3px rgba(239,51,79,.16)!important}
.editor-profile-note{border-left:5px solid #0f4c81;background:#eef6ff;border-radius:8px;padding:12px 14px;margin:5px 0 16px}
.editor-profile-note p{margin:5px 0 0;color:#425066;line-height:1.45}
.desktop-profile-standard>summary{color:#0f4c81;font-weight:850}
.desktop-profile-standard h3{margin:24px 0 10px;padding-bottom:6px;border-bottom:1px solid #dbe2ea;color:#0f315c}

/* Homepage-Baukasten 3.8: zugehörige Positions- und Schriftregler markieren */
.editor-control-selected{border:2px solid #ef334f!important;background:#fff3f5!important;border-radius:9px;padding:8px!important;box-shadow:0 0 0 3px rgba(239,51,79,.12)}
.editor-field-selected{border:2px solid #ef334f!important;background:#fff3f5!important;border-radius:9px;padding:8px!important;box-shadow:0 0 0 3px rgba(239,51,79,.12)}

/* Homepage-Baukasten 4.0: Vorschau entspricht der echten Browserbreite */
.preview-control-groups{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.preview-scale-buttons{display:flex;gap:5px;flex-wrap:wrap;padding-left:8px;border-left:1px solid rgba(255,255,255,.28)}
.preview-scale-buttons button{border:1px solid #ffffff55;background:#ffffff12;color:#fff;border-radius:6px;padding:6px 9px;font-size:11px;cursor:pointer}
.preview-scale-buttons button.active{background:#fff;color:var(--nav);border-color:#fff;font-weight:800}
#previewScaleLabel{font-size:10px!important;color:#bcd4eb!important}
.homepage-preview-scaler{position:relative;overflow:visible}
#homepagePreview{position:absolute;left:0;top:0;transform-origin:top left}
@media(max-width:700px){.preview-control-groups{width:100%;justify-content:flex-start}.preview-scale-buttons{padding-left:0;border-left:0}}

/* StandortCockpit 4.1 – Reporting und einheitliche Tabellenköpfe */
.kpi-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}
.data-table th{vertical-align:top}
.data-table th .th-label{height:64px;min-height:64px;display:flex;align-items:flex-start;font-weight:750;line-height:1.18;overflow:hidden}
.col-filter{margin-top:6px;height:28px}
.data-table th.col-i,.data-table td.col-i{min-width:190px;width:190px;max-width:215px}
.data-table th.col-workflow,.data-table td.col-workflow{min-width:210px;width:210px;max-width:240px}
.data-table th.col-sent-kw,.data-table td.col-sent-kw{min-width:215px;width:215px;max-width:235px}
.workflow-cell,.week-cell{display:inline-block;padding:5px 8px;border-radius:6px;font-size:12px;font-weight:700}
.workflow-cell.st-complete{background:#d8f3eb;color:#006b5f}.workflow-cell.st-progress{background:#d9f2fa;color:#05738d}.workflow-cell.st-reject{background:#fee2e2;color:#9b251e}.workflow-cell.st-idle{background:#eef1f5;color:#5f6876}.workflow-cell.st-neutral{background:#e8edf4;color:#425066}
.week-cell{background:#e6f0fb;color:#0f4c81}
.reporting-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:14px 18px}
.report-week-form label{min-width:245px}.report-week-form select{min-width:220px}
.report-summary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.report-summary span{background:#eef5fb;border:1px solid #d6e5f3;border-radius:8px;padding:8px 11px;color:#425066;font-size:12px}.report-summary b{color:var(--blue);font-size:16px;margin-right:4px}
.report-week-badge{display:inline-flex;align-items:center;border-radius:7px;padding:8px 12px;background:#e7f2fc;color:var(--blue);font-weight:750}
@media(max-width:1400px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.reporting-head{align-items:stretch;flex-direction:column}.report-summary{justify-content:flex-start}}

/* StandortCockpit 4.2 – Branding, Statusfarben und Produktions-Export */
:root{
  --nav:#09195D;
  --state-red:#FF4753;
  --state-green:#00FF6E;
  --state-orange:#FFCD44;
}
.sidebar{background:#09195D}
.brand{grid-template-columns:48px 1fr;column-gap:10px;font-family:Aptos,"Segoe UI",Arial,sans-serif;font-size:18px;font-weight:700;line-height:1.05}
.cockpit-logo{grid-row:1/4;width:44px;height:48px;object-fit:contain;align-self:center}
.brand .brand-name{font-family:Aptos,"Segoe UI",Arial,sans-serif;font-size:18px;font-weight:700;line-height:1.05}
.brand .brand-project{grid-column:2;font-family:Aptos,"Segoe UI",Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.1;opacity:1;text-transform:none;letter-spacing:0;margin-top:3px}
.brand .brand-subtitle{grid-column:2;font-family:Aptos,"Segoe UI",Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.1;opacity:1;text-transform:none;letter-spacing:0;margin-top:2px}
.brand.center{display:flex;align-items:center}.brand.center .cockpit-logo{width:42px;height:46px}
.legal-brand .cockpit-logo{width:38px;height:42px}

.data-table td.status-fill{padding:9px;text-align:center;vertical-align:middle;font-size:15px;font-weight:700;color:#09195D}
.data-table td.status-fill.state-red{background:#FF4753}
.data-table td.status-fill.state-green{background:#00FF6E}
.data-table td.status-fill.state-orange{background:#FFCD44}
.data-table tr:hover td.status-fill.state-red{background:#FF4753}
.data-table tr:hover td.status-fill.state-green{background:#00FF6E}
.data-table tr:hover td.status-fill.state-orange{background:#FFCD44}
.cell-state,.workflow-cell{display:block;padding:0;border-radius:0;background:transparent!important;color:inherit!important;font-size:inherit;font-weight:inherit;text-align:center}
.data-table th.col-e,.data-table td.col-e{min-width:118px;width:118px;max-width:128px}

.toolbar-right{align-items:flex-end;flex-wrap:wrap}
.production-export-form{display:flex;align-items:flex-end;gap:7px;margin:0}
.production-export-form label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:750;color:#425066}
.production-export-form select{min-width:125px;height:36px;padding:6px 8px;border-radius:7px}
.btn.production{height:36px;background:#09195D;color:#fff;white-space:nowrap}
#currentDateTime{text-transform:none;font-variant-numeric:tabular-nums}
@media(max-width:1100px){.brand .brand-name,.brand .brand-project,.brand .brand-subtitle{font-size:0}.cockpit-logo{width:45px;height:48px}.production-export-form{width:100%}}

/* StandortCockpit 4.3 – KVM-Export und kompakte Standortzeilen */
.data-table tbody td{vertical-align:middle;padding-top:6px;padding-bottom:6px;line-height:1.25}
.cell-two-lines{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;overflow-wrap:anywhere;line-height:1.25;max-height:2.5em}
.data-table td.col-j .cell-two-lines{min-width:0}
.data-table th.col-j,.data-table td.col-j{min-width:300px;width:300px;max-width:360px}
.data-table tbody tr{height:48px}
.toolbar-right .production-export-form{order:3}
.toolbar-right>a.btn.primary{order:4}
.workflow-cell{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.2;max-height:2.4em}

/* StandortCockpit 4.4 – Statusfelder als kompakte Buttons statt vollflächiger Zellen */
.data-table td.status-fill{
  background:#fff!important;
  color:inherit;
  text-align:center;
  vertical-align:middle;
}
.data-table tr:hover td.status-fill{
  background:#eff7ff!important;
}
.data-table td.status-fill .status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:112px;
  max-width:100%;
  padding:7px 14px;
  border-radius:6px;
  font-size:13px;
  font-weight:700;
  line-height:1.15;
  text-align:center;
  color:#fff!important;
  white-space:normal;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.08);
}
.data-table td.status-fill .status-pill.state-red{background:#E25745;}
.data-table td.status-fill .status-pill.state-green{background:#138B88;}
.data-table td.status-fill .status-pill.state-orange{background:#F0A11E;}
.data-table td.status-fill .workflow-cell.status-pill{
  min-width:132px;
  padding-left:12px;
  padding-right:12px;
}
.cell-state.status-pill,
.workflow-cell.status-pill{
  background-image:none!important;
}


/* StandortCockpit 4.5 – sichtbare NexSysOne-ähnliche Statusschaltflächen */
.data-table td.status-fill .status-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:110px;
  min-height:26px;
  padding:4px 12px!important;
  border:0!important;
  border-radius:4px!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.15!important;
  color:#fff!important;
  text-align:center!important;
  white-space:normal;
  box-shadow:none!important;
}
.data-table td.status-fill .status-pill.state-completed{background-color:#008578!important;}
.data-table td.status-fill .status-pill.state-approved{background-color:#00A65A!important;}
.data-table td.status-fill .status-pill.state-rejected{background-color:#DD4B39!important;}
.data-table td.status-fill .status-pill.state-overdue{background-color:#F39C12!important;}
.data-table td.status-fill .status-pill.state-ongoing{background-color:#00A9CF!important;}
.data-table td.status-fill .status-pill.state-na{background-color:#607D8B!important;}
.data-table td.status-fill .status-pill.state-idle{background-color:#D2D6DE!important;color:#555!important;font-weight:500!important;}
/* Rückwärtskompatibilität für eventuell zwischengespeicherte alte Klassen */
.data-table td.status-fill .status-pill.state-red{background-color:#DD4B39!important;}
.data-table td.status-fill .status-pill.state-green{background-color:#00A65A!important;}
.data-table td.status-fill .status-pill.state-orange{background-color:#F39C12!important;}

/* ============================================================
   StandortCockpit 4.6 – kompakter ProjectOne-inspirierter Systemstil
   ============================================================ */
:root{
  --project-navy:#071a67;
  --project-navy-2:#0b2f78;
  --project-toolbar:#e8edf4;
  --project-border:#c9d2df;
  --project-row:#ffffff;
  --project-row-alt:#e9e9e9;
  --project-blue:#075da7;
  --project-red:#df4c3f;
  --project-green:#008b7f;
  --project-approved:#00a65a;
  --project-orange:#f39c12;
  --project-cyan:#00a9cf;
  --project-gray:#cfd5de;
}
html,body{min-height:100%;}
body{font-family:Aptos,"Segoe UI",Arial,sans-serif;background:#e7ecf3;color:#233044;font-size:13px;}
.app{display:block;min-height:100vh;padding-top:42px;}
.sidebar.project-topbar{
  position:fixed;inset:0 0 auto 0;z-index:1000;height:42px;min-height:42px;
  padding:0 10px;background:var(--project-navy);color:#fff;
  display:flex;flex-direction:row;align-items:center;gap:8px;
  box-shadow:0 1px 0 rgba(0,0,0,.22);
}
.app-menu-toggle{
  width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px;
  border:0;border-radius:2px;background:transparent;color:#fff;font-size:16px;cursor:pointer;
}
.app-menu-toggle:hover{background:rgba(255,255,255,.12);}
.sidebar .brand{
  min-width:224px;max-width:224px;height:42px;margin:0;padding:0 8px 0 2px;
  display:grid;grid-template-columns:30px auto auto;grid-template-rows:24px 14px;
  column-gap:7px;align-items:center;color:#fff;text-decoration:none;
}
.sidebar .cockpit-logo{grid-row:1/3;width:27px;height:31px;object-fit:contain;}
.sidebar .brand-name{grid-column:2;font-size:14px;font-weight:600;line-height:1;white-space:nowrap;}
.sidebar .brand-project{grid-column:3;font-size:14px;font-weight:400;line-height:1;opacity:1;text-transform:none;white-space:nowrap;margin:0;}
.sidebar .brand-subtitle{grid-column:2/4;font-size:10px;font-weight:400;line-height:1;color:#cbd7f5;opacity:.9;text-transform:none;white-space:nowrap;margin:0;}
.sidebar nav{
  margin:0;min-width:0;flex:1;height:42px;display:flex;flex-direction:row;align-items:stretch;gap:0;overflow-x:auto;overflow-y:hidden;
  scrollbar-width:thin;scrollbar-color:#49629a transparent;
}
.sidebar nav a{
  color:#eaf0ff;text-decoration:none;border-radius:0;padding:0 10px;height:42px;
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;white-space:nowrap;
  border-bottom:3px solid transparent;
}
.sidebar nav a:hover{background:#ffffff12;color:#fff;}
.sidebar nav a.active{background:#ffffff0d;color:#fff;border-bottom-color:#2da5ff;font-weight:700;}
.sidebar-foot{
  margin:0 0 0 auto;padding:0 2px 0 10px;display:flex;flex-direction:row;align-items:center;gap:7px;height:42px;white-space:nowrap;
}
.sidebar-foot b{font-size:11px;font-weight:600;color:#fff;}
.user-dot{width:24px;height:24px;border-radius:50%;background:#d5d9e2;color:#33415b;display:grid;place-items:center;font-size:11px;font-weight:800;border:2px solid #fff8;}
.logout-link{padding:5px 7px!important;color:#dce8ff!important;font-size:10px!important;border-radius:2px!important;}
.sidebar-legal{display:none;}
body.nav-collapsed .sidebar nav{display:none;}
body.nav-collapsed .sidebar .brand{min-width:224px;}

main{min-width:0;padding:0 8px 18px;}
.top{
  height:54px;margin:0 -8px 7px;padding:0 10px;background:var(--project-toolbar);
  border-bottom:1px solid #bcc7d5;display:flex;align-items:center;justify-content:space-between;
}
.top h1{margin:0;color:#25354c;font-size:15px;font-weight:600;line-height:1.1;}
.top p{margin:3px 0 0;color:#66758a;font-size:10px;}
.top-actions{display:flex;gap:4px;align-items:center;}
.top-actions .btn{height:30px;min-width:30px;padding:5px 9px;border-radius:2px;font-size:10px;}

.btn{border-radius:2px;padding:7px 10px;font-size:11px;font-weight:600;box-shadow:none;}
.btn.primary{background:#075da7;}.btn.success{background:#008b7f;}.btn.warn{background:#f39c12;}
.btn.ghost{background:#fff;border:1px solid #aebbc9;color:#174a78;}
.search,input,select,textarea{border-radius:2px;border-color:#aeb9c8;padding:6px 7px;font-size:12px;background:#fff;}
.search:focus,input:focus,select:focus,textarea:focus{border-color:#2e6fa6;box-shadow:0 0 0 1px #2e6fa6;}

.toolbar{margin:0 0 5px;padding:5px 6px;background:#edf1f6;border:1px solid #ccd5e0;gap:7px;align-items:center;}
.quick-buttons{gap:4px;}
.toolbar-right{gap:4px;align-items:center;}
.status-chip{height:27px;padding:4px 10px;border-radius:3px;font-size:11px;font-weight:500;}
.search{min-width:270px;height:29px;}
.column-panel{border-radius:0;padding:7px;margin-bottom:5px;box-shadow:none;}

.table-wrap{
  background:#fff;border:1px solid #9aa9bc;border-radius:0;overflow:auto;max-height:calc(100vh - 111px);
  box-shadow:none;
}
.data-table{border-collapse:collapse;border-spacing:0;min-width:1500px;width:max-content;font-size:11px;}
.data-table th{
  position:sticky;top:0;z-index:3;background:var(--project-navy);color:#fff;
  min-width:118px;padding:5px 5px 4px;font-size:10px;font-weight:500;line-height:1.15;
  text-align:center;vertical-align:bottom;border-right:1px solid #243879;border-bottom:1px solid #09144e;
}
.data-table th .th-label{height:38px;min-height:38px;align-items:flex-end;justify-content:center;text-align:center;line-height:1.12;font-weight:500;}
.data-table th:nth-child(4),.data-table th:nth-child(10),.data-table th:nth-child(20){min-width:210px;}
.col-filter{height:22px;margin-top:4px;padding:2px 4px;border:1px solid #8798b1;border-radius:0;font-size:10px;background:#fff;color:#24334a;}
.data-table tbody tr{height:30px;}
.data-table tbody tr:nth-child(odd) td{background:var(--project-row);}
.data-table tbody tr:nth-child(even) td{background:var(--project-row-alt);}
.data-table td{
  padding:4px 5px;vertical-align:middle;border-right:1px solid #d4d7dc;border-bottom:1px solid #fff;
  max-width:310px;white-space:pre-wrap;font-size:11px;line-height:1.18;color:#263142;
}
.data-table tr:hover td{background:#d8e7f6!important;}
.data-table tbody tr[hidden]{display:none;}
.id-link{color:#163c7c;font-weight:700;text-decoration:none;}
.id-link:hover{text-decoration:underline;}
.cell-two-lines{line-height:1.18;max-height:2.36em;}
.data-table th.col-j,.data-table td.col-j{min-width:275px;width:275px;max-width:330px;}
.data-table th.col-workflow,.data-table td.col-workflow{min-width:175px;width:175px;max-width:195px;}
.data-table th.col-i,.data-table td.col-i{min-width:180px;width:180px;max-width:200px;}

/* Statusanzeigen im Stil der Referenz */
.data-table td.status-fill{background:inherit!important;text-align:center;vertical-align:middle;padding:3px 5px;}
.data-table tr:hover td.status-fill{background:#d8e7f6!important;}
.data-table td.status-fill .status-pill{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:92px;max-width:160px;min-height:23px;padding:3px 10px!important;
  border:0!important;border-radius:3px!important;color:#fff!important;font-size:11px!important;
  font-weight:500!important;line-height:1.1!important;box-shadow:none!important;text-align:center!important;
}
.data-table td.status-fill .status-pill.state-completed,.data-table td.status-fill .status-pill.state-green{background:#00857a!important;}
.data-table td.status-fill .status-pill.state-approved{background:#00a65a!important;}
.data-table td.status-fill .status-pill.state-rejected,.data-table td.status-fill .status-pill.state-red{background:#df4c3f!important;}
.data-table td.status-fill .status-pill.state-overdue,.data-table td.status-fill .status-pill.state-orange{background:#f39c12!important;}
.data-table td.status-fill .status-pill.state-ongoing{background:#00a9cf!important;}
.data-table td.status-fill .status-pill.state-na{background:#607d8b!important;}
.data-table td.status-fill .status-pill.state-idle{background:#cfd5de!important;color:#555!important;}

/* Dashboard und Formularseiten ebenfalls kompakter */
.kpi-grid{grid-template-columns:repeat(6,minmax(125px,1fr));gap:5px;margin-bottom:7px;}
.kpi{border-radius:0;border:1px solid #c9d2df;padding:9px 10px;box-shadow:none;background:#fff;min-height:62px;}
.kpi span{font-size:10px;color:#647287;}.kpi strong{font-size:18px;margin-top:5px;color:#0b3b75;}
.panel{border-radius:0;border:1px solid #c9d2df;padding:11px;margin-bottom:7px;box-shadow:none;background:#fff;}
.panel h2{font-size:14px;margin:0 0 10px;color:#24354d;}.panel h3{font-size:12px;margin-top:14px;}
.task-row{padding:7px 4px;gap:8px;font-size:11px;}
.task-row small,.task-row time{font-size:10px;}
.tabs{margin-bottom:8px;background:#e8edf4;border:1px solid #c5cfdb;gap:0;}
.tab{padding:7px 10px;font-size:11px;border-right:1px solid #c5cfdb;}
.tab.active{background:#fff;color:#071a67;border-bottom:2px solid #075da7;}
.form-grid{gap:8px;margin-bottom:8px;}label{font-size:11px;gap:3px;}.actions{margin-top:8px;gap:4px;}
.milestones{gap:5px;}.milestone{border-radius:2px;padding:9px;font-size:11px;}
.billing-card,.calc-cards>div,.info-box,.dropbox{border-radius:2px;}
.simple-table>div,.simple-table form>div{padding:6px;font-size:11px;}

/* Login im gleichen Systemstil */
.login-bg{background:#e6ebf2;align-items:start;padding-top:12vh;}
.login-card{border-radius:2px;border:1px solid #aeb9c7;box-shadow:0 8px 22px #001a4f24;padding:24px;background:#fff;}
.login-card h1{color:#071a67;font-size:20px;}.login-card>p{font-size:11px;}
.brand.center{color:#071a67;}

@media(max-width:1450px){
  .sidebar .brand{min-width:190px;max-width:190px;}.sidebar nav a{padding:0 7px;font-size:10px;}
  .sidebar .brand-subtitle{display:none;}.sidebar .brand{grid-template-rows:42px;}.sidebar .cockpit-logo{grid-row:1;}.sidebar .brand-name,.sidebar .brand-project{grid-row:1;}
  .kpi-grid{grid-template-columns:repeat(4,1fr);}
}
@media(max-width:1050px){
  .sidebar .brand{min-width:150px;max-width:150px;}.sidebar .brand-project{display:none;}
  .sidebar-foot b{display:none;}.sidebar nav a{padding:0 6px;}
  .kpi-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:760px){
  .app{padding-top:42px;}.sidebar.project-topbar{height:42px;min-height:42px;flex-direction:row;padding:0 7px;overflow:visible;}
  .sidebar .brand{min-width:150px;max-width:150px;}.sidebar nav{display:none;position:absolute;left:0;right:0;top:42px;height:auto;max-height:70vh;background:#071a67;flex-direction:column;overflow:auto;padding:4px;}
  body.menu-open .sidebar nav{display:flex;}.sidebar nav a{height:34px;justify-content:flex-start;border-bottom:0;border-left:3px solid transparent;}
  .sidebar nav a.active{border-left-color:#2da5ff;border-bottom:0;}.sidebar-foot{margin-left:auto;}.logout-link{display:none;}
  main{padding:0 4px 12px;}.top{margin:0 -4px 5px;padding:0 7px;height:49px;}.top h1{font-size:14px;}
  .toolbar{align-items:stretch;}.toolbar-right{width:100%;}.search{min-width:0;flex:1;}.kpi-grid{grid-template-columns:repeat(2,1fr);}
  .table-wrap{max-height:calc(100vh - 151px);}
}

/* ============================================================
   StandortCockpit 4.7 – klarere Schrift, neues Logo und Tabellenlinks
   ============================================================ */
body{
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.sidebar .brand-name,
.sidebar .brand-project,
.sidebar .brand-subtitle,
.sidebar nav a,
.top h1,
.data-table th,
.data-table td,
.btn,
.search,input,select,textarea{
  font-family:Arial,Helvetica,sans-serif;
}
.sidebar.project-topbar{background:#071a67;}
.sidebar .brand{grid-template-columns:38px auto auto;min-width:240px;max-width:240px;column-gap:8px;}
.sidebar .cockpit-logo{
  width:36px;
  height:36px;
  object-fit:contain;
  filter:none;
}
.sidebar .brand-name{font-size:15px;font-weight:700;}
.sidebar .brand-project{font-size:14px;}
.sidebar .brand-subtitle{font-size:11px;}
.sidebar nav a{font-size:12px;font-weight:600;padding:0 11px;}
.sidebar nav a.active{font-weight:700;}
.sidebar-foot b{font-size:12px;}
.top h1{font-size:17px;font-weight:700;}
.top p{font-size:11px;}
.btn{font-size:12px;}
.search,input,select,textarea{font-size:13px;}
.data-table{font-size:12px;}
.data-table th{
  font-size:12px;
  font-weight:600;
  line-height:1.18;
  letter-spacing:0;
  color:#fff;
}
.data-table th .th-label{
  font-size:12px;
  font-weight:600;
  line-height:1.18;
}
.col-filter{font-size:11px;}
.data-table td{
  font-size:12px;
  line-height:1.22;
}
.data-table td.status-fill .status-pill{
  font-size:12px!important;
  font-weight:700!important;
}

/* Zebra-Hintergrund bleibt auch hinter den farbigen Statusfeldern sichtbar. */
.data-table tbody tr:nth-child(odd) td.status-fill{background:#fff!important;}
.data-table tbody tr:nth-child(even) td.status-fill{background:#e9e9e9!important;}
.data-table tbody tr:hover td.status-fill{background:#d8e7f6!important;}

/* Einheitliche Breite aller farbigen Balken im Bearbeitungsstand. */
.data-table td.col-workflow .status-pill{
  width:168px;
  min-width:168px;
  max-width:168px;
  min-height:25px;
  padding-left:8px!important;
  padding-right:8px!important;
}

/* Alle vier Identifikationsfelder öffnen den Standort, ohne Link-Unterstreichung. */
.site-open-link{
  display:block;
  min-height:22px;
  margin:-4px -5px;
  padding:4px 5px;
  color:inherit;
  text-decoration:none!important;
  cursor:pointer;
}
.site-open-link:hover,
.site-open-link:focus,
.id-link:hover,
.id-link:focus{
  color:#0b3b75;
  text-decoration:none!important;
  outline:none;
}
.id-link{
  color:#163c7c;
  font-weight:700;
  text-decoration:none!important;
}
.brand.center .cockpit-logo{width:54px;height:54px;}
.legal-brand .cockpit-logo{width:44px;height:44px;}

@media(max-width:1450px){
  .sidebar .brand{min-width:205px;max-width:205px;}
  .sidebar nav a{font-size:11px;padding:0 8px;}
}


/* StandortCockpit 4.8 – NexSysOne-Anmutung und Lesbarkeit */
:root{--nex-blue:#0b2a7a;--nex-blue-dark:#08215f;--nex-blue-light:#124ea2;--nex-border:#c6cedc;--nex-text:#25324a}
body{font-family:'Open Sans',Arial,Helvetica,sans-serif;color:var(--nex-text);font-size:16px;background:#eef1f5}
.app{display:block;min-height:100vh}
.sidebar.project-topbar{position:sticky;top:0;z-index:30;height:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:10px 18px;background:var(--nex-blue);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.app-menu-toggle{background:transparent;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:6px 8px;border-radius:6px}
.brand{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;align-items:center;font-size:20px;font-weight:700;column-gap:12px;color:#fff}
.brand .cockpit-logo{grid-row:1/3;width:42px;height:42px;object-fit:contain;border-radius:8px}
.brand-name{line-height:1.1;color:#fff}
.brand-subtitle{grid-column:2;color:#dbe6ff;font-size:12px;letter-spacing:.2px}
.sidebar nav{display:flex;flex-direction:row;gap:0;margin-top:0;justify-content:center;align-items:stretch}
.sidebar nav a,.sidebar-foot a.logout-link{color:#fff;text-decoration:none;padding:12px 14px;border-radius:0;font-weight:600;border-bottom:3px solid transparent}
.sidebar nav a:hover{background:rgba(255,255,255,.08)}
.sidebar nav a.active{background:#fff;color:var(--nex-blue);border-radius:4px 4px 0 0;border-bottom-color:#fff}
.sidebar-foot{margin-top:0;padding:0;display:flex;flex-direction:row;gap:12px;align-items:center;color:#fff}
.sidebar-foot .sidebar-legal{display:flex;gap:10px}
.sidebar-foot .sidebar-legal a,.sidebar-foot .logout-link{padding:0;border-radius:0;opacity:.95}
.user-dot{display:grid;place-items:center;width:32px;height:32px;background:#fff;color:var(--nex-blue);border-radius:50%;font-weight:700}
main{padding:16px 20px 34px}
.top{height:auto;padding:8px 0 14px}
.top h1{font-size:30px;color:#17355d}
.top p{font-size:15px}
.btn{font-family:'Open Sans',Arial,Helvetica,sans-serif;font-weight:400;font-size:15px;border-radius:6px}
.btn.primary{background:var(--nex-blue-light)}
.quick-buttons .status-chip,.report-week-badge{font-size:16px;padding:10px 14px;border-radius:6px;font-weight:400}
.search,input,select,textarea{font-family:'Open Sans',Arial,Helvetica,sans-serif}
.data-table th{background:var(--nex-blue);font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:13px;line-height:1.2;font-weight:700;padding:10px 9px;border-right:1px solid rgba(255,255,255,.14)}
.data-table td{font-size:14px;line-height:1.35;color:#293447}
.data-table tbody tr:nth-child(even) td{background:#f3f4f6}
.data-table tbody tr:nth-child(odd) td{background:#fff}
.data-table tr:hover td{background:#e9f2ff!important}
.col-filter{font-size:12px;padding:7px 8px;border-radius:4px;margin-top:8px}
.id-link,.site-open-link{color:#163d80;text-decoration:none}
.site-open-link:hover,.id-link:hover{text-decoration:none;color:#0b2a7a}
.cell-state,.workflow-cell{display:inline-flex;align-items:center;justify-content:center;min-width:172px;min-height:28px;padding:4px 10px;border-radius:4px;font-size:13px;font-weight:400;line-height:1.15;text-align:center;box-shadow:none}
.data-table td.status-fill{background:inherit!important}
.state-completed{background:#0f8f88;color:#fff}
.state-approved{background:#00ad47;color:#fff}
.state-rejected{background:#e85543;color:#fff}
.state-overdue{background:#f2a114;color:#fff}
.state-ongoing{background:#13a9d0;color:#fff}
.state-idle{background:#c3cad5;color:#374151}
.state-na{background:#7589a3;color:#fff}
.milestones{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.milestone{border-radius:8px;padding:10px 12px;min-height:72px;font-weight:400;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.milestone span{font-size:14px;font-weight:600;line-height:1.2}
.milestone b{font-size:13px;margin-top:6px;font-weight:400;opacity:.9}
.milestone.complete{background:#0f8f88;color:#fff}
.milestone.progress{background:#13a9d0;color:#fff}
.milestone.idle{background:#f3c9c7;color:#8a2c22}
.tabs{gap:0;border-bottom:none;margin-bottom:16px}
.tab{background:var(--nex-blue);color:#fff;border:1px solid #08215f;border-right:0;padding:11px 18px;font-size:15px;font-weight:400}
.tab:last-child{border-right:1px solid #08215f}
.tab.active{background:#fff;color:var(--nex-blue);border-bottom:1px solid #fff}
.panel,.table-wrap,.column-panel{border-radius:8px;box-shadow:none;border:1px solid var(--nex-border)}
.parameter-list b,.parameter-list span,.panel,.simple-table,.invoice-buttons{font-family:'Open Sans',Arial,Helvetica,sans-serif}
.simple-table div,.invoice-buttons label{font-size:16px;line-height:1.35}
.invoice-buttons small,.simple-table small{font-size:14px}
.production-export-form label{font-size:14px;color:#425066;display:flex;align-items:center;gap:8px}
.production-export-form select{min-width:130px}
@media (max-width:1100px){.sidebar.project-topbar{grid-template-columns:1fr;justify-items:start}.sidebar nav{flex-wrap:wrap;justify-content:flex-start}.sidebar-foot{flex-wrap:wrap}}

.app-menu-toggle{display:none}.sidebar nav a,.sidebar-foot a.logout-link{font-weight:400}.milestone span{font-weight:400}@media (max-width:1100px){.app-menu-toggle{display:inline-block}}

/* ============================================================
   StandortCockpit 4.9 – kompaktere Meilensteine und feinere Bedienung
   ============================================================ */

/* Nicht-blockierende Rückmeldungen statt Browser-Popup */
#inlineNotice{
  margin-top:0;
}

/* Oberes Menü stärker im NexSysOne-Stil */
.sidebar nav a,
.sidebar-foot a.logout-link,
.quick-buttons .status-chip,
.report-week-badge,
.btn,
.cell-state,
.workflow-cell,
.data-table td.status-fill .status-pill{
  font-weight:400!important;
}
.sidebar nav a.active{
  background:#fff;
  color:var(--nex-blue);
  border-radius:4px 4px 0 0;
  border-bottom-color:#fff;
}

/* Filter- und Schnellbuttons etwas größer lesbar */
.quick-buttons .status-chip{
  font-size:15px;
  line-height:1.15;
}

/* Rechnungen / Listen besser lesbar */
.simple-table>div,
.simple-table form>div,
.billing-card,
.invoice-buttons span,
.invoice-buttons small{
  font-size:15px;
}

/* Hintergrund der farbigen Statusbuttons sichtbar belassen */
.data-table tbody tr:nth-child(odd) td.status-fill{background:#fff!important;}
.data-table tbody tr:nth-child(even) td.status-fill{background:#f3f4f6!important;}
.data-table tr:hover td.status-fill{background:#e9f2ff!important;}
.data-table td.status-fill .status-pill{
  border-radius:6px!important;
}

/* Einheitliche Breite im Bearbeitungsstand */
.data-table td.col-workflow .status-pill,
.data-table td[data-col="WORKFLOW"] .status-pill,
.data-table td.status-fill .workflow-cell.status-pill{
  width:160px;
  min-width:160px;
  max-width:160px;
}

/* Meilensteine deutlich kleiner, schmaler und mit abgerundeten Ecken */
.milestones{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:flex-start;
}
.milestone{
  flex:0 0 152px;
  width:152px;
  min-height:42px;
  padding:8px 10px;
  border-radius:10px;
  text-align:left;
  box-shadow:none;
}
.milestone span{
  font-size:12px;
  line-height:1.15;
  font-weight:600;
}
.milestone b{
  margin-top:4px;
  font-size:12px;
  line-height:1.1;
  font-weight:400;
}
.milestone.complete{background:#0f8f88;color:#fff;}
.milestone.progress{background:#13a9d0;color:#fff;}
.milestone.idle{background:#f1c9c6;color:#8a2c22;}

/* Detailseite Parameterlisten und kleine Buttons harmonisieren */
.parameter-list div b{
  border-radius:6px;
}

@media (max-width:900px){
  .milestone{
    flex:1 1 140px;
    width:auto;
  }
}


/* ============================================================
   StandortCockpit 5.0 – kompakte Meilensteine, Bemerkungen und Rechnungen
   ============================================================ */

/* Meilensteine: bewusst neue Klasse, damit alte Browser-Skripte keine
   Sicherheitsabfrage mehr an diese Schaltflächen binden können. */
.milestones{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start;
  gap:8px!important;
}
.milestone-action{
  flex:0 0 142px;
  width:142px;
  min-width:142px;
  max-width:142px;
  min-height:44px;
  border:0;
  border-radius:9px;
  padding:7px 9px;
  text-align:left;
  cursor:pointer;
  font-family:'Open Sans',Arial,Helvetica,sans-serif;
  font-weight:400;
  box-shadow:none;
}
.milestone-action span{
  display:block;
  font-size:11px;
  line-height:1.15;
  font-weight:600;
}
.milestone-action b{
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.1;
  font-weight:400;
  opacity:.9;
}
.milestone-action.complete{background:#0f8f88;color:#fff;}
.milestone-action.progress{background:#13a9d0;color:#fff;}
.milestone-action.idle{background:#f2c8c5;color:#8a2c22;}
.milestone-finished{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  min-width:230px;
  min-height:48px;
  padding:8px 14px;
  border-radius:9px;
  background:#b9f6cf;
  color:#135c31;
  border:1px solid #79d99d;
}
.milestone-finished span{font-size:14px;font-weight:600;line-height:1.15;}
.milestone-finished small{margin-top:3px;font-size:11px;color:#287343;}

/* Bemerkung: vorhandene Excel-T-Historie und kompakte Neueingabe */
.remarks-panel{padding-bottom:12px;}
.remarks-panel h2{margin-bottom:8px;}
.remarks-layout{
  display:grid;
  grid-template-columns:minmax(0,2.2fr) minmax(280px,1fr);
  gap:12px;
  align-items:start;
}
.remarks-history{
  min-height:76px;
  max-height:150px;
  overflow:auto;
  border:1px solid #c9d5e2;
  border-radius:7px;
  background:#fff;
  padding:9px 11px;
}
.remarks-content{white-space:normal;line-height:1.35;font-size:13px;color:#27364c;}
.remarks-empty{color:#7d8999;font-style:italic;}
.remarks-entry textarea{
  min-height:62px!important;
  height:62px;
  background:#d6efff!important;
  padding:9px 10px;
}
.remarks-entry small{display:block;margin-top:5px;color:#69778a;font-size:11px;}

/* Rechnungen: größere Schrift, variable Spaltenzahl, offene Positionen rot */
.invoices-panel h2{margin-bottom:10px;}
.invoice-payment-bar{
  display:flex;
  align-items:flex-end;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid #dbe3ec;
}
.invoice-payment-bar label{min-width:230px;font-size:14px;}
.invoice-payment-bar .btn{font-size:14px;padding:10px 16px;}
.invoice-buttons{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(255px,1fr))!important;
  gap:12px!important;
  margin:0!important;
}
.invoice-buttons label{display:block;}
.invoice-buttons span{
  position:relative;
  min-height:112px;
  padding:13px 14px!important;
  border-radius:8px!important;
  font-size:15px!important;
}
.invoice-buttons span>b{display:block;padding-right:55px;font-size:17px;line-height:1.2;}
.invoice-buttons span>em{
  position:absolute;
  top:10px;
  right:10px;
  padding:3px 7px;
  border-radius:4px;
  font-style:normal;
  font-size:11px;
  font-weight:600;
}
.invoice-buttons small{
  display:block;
  margin-top:10px!important;
  font-size:14px!important;
  line-height:1.45;
}
.invoice-buttons .invoice-open span{
  border:2px solid #e4564d!important;
  background:#fff1f0!important;
  color:#7b241e;
}
.invoice-buttons .invoice-open span>em{background:#e4564d;color:#fff;}
.invoice-buttons input:checked+span{
  border-color:#c9342c!important;
  background:#ffd9d6!important;
  box-shadow:0 0 0 3px rgba(228,86,77,.15);
}
.invoice-list>div{font-size:14px!important;}
.invoice-list .invoice-open-row{background:#fff0ef!important;color:#7b241e;}
.invoice-list .invoice-open-row>span:last-child{font-weight:700;color:#c9322b;}
.invoice-list .invoice-paid-row{background:#effaf3!important;}

@media(max-width:850px){
  .remarks-layout{grid-template-columns:1fr;}
  .milestone-action{flex:1 1 135px;width:auto;max-width:none;}
}

/* ============================================================
   StandortCockpit 5.1 – kompakte Standortansicht für 32-Zoll-Ansicht
   ============================================================ */
body.page-site{
  background:#edf1f6;
}
body.page-site main{
  padding:0 10px 14px;
}
body.page-site .top{
  background:transparent;
  border:0;
  margin:0;
  padding:6px 0 5px;
  min-height:auto;
}
body.page-site .top-left{
  display:flex;
  align-items:flex-end;
  gap:14px;
  flex-wrap:wrap;
}
body.page-site .top-title-block h1{
  margin:0;
  font-size:20px;
  line-height:1.1;
}
body.page-site .top-title-block p{
  margin:2px 0 0;
  font-size:12px;
}
body.page-site .top-extra{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding-bottom:1px;
}
.site-header-inline{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.site-inline-tdid{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 10px;
  border:1px solid #c6cedc;
  border-radius:6px;
  background:#fff;
  color:#30425d;
  font-size:13px;
  line-height:1;
}
body.page-site .top-actions{
  gap:6px;
}
body.page-site .top-actions .btn,
body.page-site .site-header-inline .btn,
body.page-site .site-header-inline .status-chip{
  min-height:28px;
  height:28px;
  padding:4px 10px;
  font-size:12px;
  border-radius:6px;
}
.compact-info{
  margin:2px 0 7px;
  padding:8px 10px;
  font-size:12px;
}
.detail-subnav{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:0;
  margin:0 0 8px;
  padding:0 8px;
  background:var(--nex-blue);
  border:1px solid #08215f;
  border-radius:6px;
}
.detail-subnav .tab,
.detail-subnav .subnav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 14px;
  border:0;
  border-right:1px solid rgba(255,255,255,.18);
  background:transparent;
  color:#fff;
  font-size:13px;
  font-weight:400;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
}
.detail-subnav .tab:last-of-type,
.detail-subnav .subnav-link:last-child{
  border-right:0;
}
.detail-subnav .tab.active,
.detail-subnav .subnav-link.active,
.detail-subnav .tab:hover,
.detail-subnav .subnav-link:hover{
  background:#fff;
  color:var(--nex-blue);
}
.detail-subnav .table-link{
  margin-left:auto;
  border-left:1px solid rgba(255,255,255,.18);
  border-right:0;
}
body.page-site .two-col{
  gap:10px;
}
body.page-site .panel{
  padding:9px 10px;
  margin-bottom:8px;
}
body.page-site .panel h2{
  margin:0 0 6px;
  font-size:13px;
}
body.page-site .form-grid{
  gap:6px;
  margin-bottom:6px;
}
body.page-site label{
  gap:2px;
  font-size:10px;
}
body.page-site input,
body.page-site select,
body.page-site textarea,
body.page-site .search{
  padding:5px 6px;
  font-size:12px;
}
body.page-site textarea[name="owner_raw"]{
  min-height:74px;
  height:74px;
}
body.page-site .actions{
  margin-top:4px;
  gap:5px;
}
body.page-site .actions .btn,
body.page-site form > .btn.primary{
  min-height:28px;
  height:28px;
  padding:4px 10px;
  font-size:12px;
}
body.page-site .parameter-list h3{
  margin:4px 0 4px;
  font-size:12px;
}
body.page-site .parameter-list div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:4px 0;
  border-bottom:1px solid #edf1f5;
}
body.page-site .parameter-list div:last-child{
  border-bottom:0;
}
body.page-site .parameter-list span{
  font-size:12px;
  line-height:1.25;
}
body.page-site .parameter-list b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:3px 8px;
  font-size:11px;
  line-height:1.1;
}
body.page-site .overview-milestones{
  padding-top:8px;
  padding-bottom:8px;
}
body.page-site .milestones{
  gap:6px!important;
}
body.page-site .milestone-action{
  flex:0 0 122px;
  width:122px;
  min-width:122px;
  max-width:122px;
  min-height:52px;
  height:52px;
  padding:6px 8px;
  border-radius:8px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
body.page-site .milestone-action span{
  font-size:11px;
  line-height:1.12;
}
body.page-site .milestone-action b{
  margin-top:3px;
  font-size:10px;
}
body.page-site .milestone-finished{
  min-height:46px;
  padding:7px 12px;
}
body.page-site .remarks-panel{
  padding-top:8px;
  padding-bottom:8px;
}
body.page-site .remarks-layout{
  grid-template-columns:minmax(0,2fr) minmax(260px,0.95fr);
  gap:10px;
}
body.page-site .remarks-history{
  min-height:82px;
  max-height:110px;
  padding:8px 10px;
}
body.page-site .remarks-content{
  font-size:12px;
  line-height:1.32;
}
body.page-site .remarks-entry textarea{
  min-height:48px!important;
  height:48px;
}
body.page-site .remarks-entry small{
  margin-top:4px;
  font-size:10px;
}
body.page-site .tabpane.active{
  display:block;
}
@media(max-width:1280px){
  body.page-site .two-col,
  body.page-site .remarks-layout{
    grid-template-columns:1fr;
  }
  .detail-subnav .table-link{
    margin-left:0;
    border-left:0;
  }
}

/* ============================================================
   StandortCockpit 5.2 – einheitliche Navigation, Branding und Kopfzeile
   ============================================================ */
:root{
  --nav:#07185F;
  --project-navy:#07185F;
  --project-navy-2:#07185F;
  --nex-blue:#07185F;
  --nex-blue-dark:#07185F;
}
.sidebar.project-topbar,
.detail-subnav{
  background:#07185F!important;
}
.sidebar nav a,
.detail-subnav .tab,
.detail-subnav .subnav-link{
  font-family:'Open Sans',Arial,Helvetica,sans-serif;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1!important;
}
.sidebar nav a{
  padding-left:10px;
  padding-right:10px;
}
.sidebar nav a.active{
  background:#fff!important;
  color:#07185F!important;
  border-bottom-color:#fff!important;
}
.detail-subnav .tab.active,
.detail-subnav .subnav-link.active,
.detail-subnav .tab:hover,
.detail-subnav .subnav-link:hover{
  background:#fff!important;
  color:#07185F!important;
}
.sidebar .brand{
  background:#07185F;
}
.sidebar .cockpit-logo{
  background:#07185F;
  border-radius:0;
}
.sidebar-foot{
  height:42px!important;
  align-items:center!important;
  gap:10px!important;
}
.sidebar-foot b,
.sidebar-foot .logout-link,
.sidebar-foot .sidebar-legal a{
  display:inline-flex!important;
  align-items:center!important;
  height:42px!important;
  padding:0!important;
  margin:0!important;
  color:#fff!important;
  font-family:'Open Sans',Arial,Helvetica,sans-serif;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1!important;
  text-decoration:none!important;
}
.sidebar-foot .sidebar-legal{
  display:flex!important;
  align-items:center!important;
  height:42px!important;
  gap:10px!important;
}
.sidebar-foot .user-dot{
  align-self:center;
}
body.page-site .top-left{
  align-items:center;
}
body.page-site .top-title-block h1{
  white-space:nowrap;
}
body.page-site .site-header-inline{
  align-items:center;
}
body.page-site .site-header-inline .status-chip,
body.page-site .site-header-inline .btn,
body.page-site .top-actions .btn{
  height:30px!important;
  min-height:30px!important;
  padding:0 11px!important;
  border-radius:6px!important;
  font-family:'Open Sans',Arial,Helvetica,sans-serif;
  font-size:12px!important;
  font-weight:400!important;
  line-height:30px!important;
  box-sizing:border-box;
}
body.page-site .site-header-inline .status-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body.page-site .top-actions{
  display:flex;
  align-items:center;
  gap:6px;
}
body.page-site .top-actions .top-table-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:1500px){
  .sidebar nav a,
  .detail-subnav .tab,
  .detail-subnav .subnav-link{
    font-size:12px!important;
    padding-left:8px;
    padding-right:8px;
  }
  .sidebar-foot b,
  .sidebar-foot .logout-link,
  .sidebar-foot .sidebar-legal a{
    font-size:11px!important;
  }
}


/* ============================================================
   StandortCockpit 5.3 – obere Detailstruktur und Bemerkungsbereich
   ============================================================ */
body.page-site{
  background:#edf1f6;
}
body.page-site main{
  display:flex;
  flex-direction:column;
  padding:0 10px 16px;
}
body.page-site .detail-subnav{
  order:1;
  margin:0 -10px 8px;
  padding:0 12px;
  border-radius:0;
  border-left:0;
  border-right:0;
  border-top:0;
  box-shadow:none;
}
body.page-site .top{
  order:2;
  padding:6px 0 6px;
  margin:0;
  background:transparent;
}
body.page-site .compact-info{
  order:3;
  margin:2px 0 8px;
}
body.page-site .tabpane{
  order:4;
}
body.page-site .top-title-block h1{
  font-size:20px;
  line-height:1.15;
}
body.page-site .top-title-block p{
  margin-top:2px;
  font-size:12px;
}
body.page-site .top-left,
body.page-site .top-actions{
  align-items:center;
}
body.page-site .panel h2{
  font-size:14px;
}
body.page-site .panel label,
body.page-site .form-grid label,
body.page-site .two-col .panel label{
  font-size:12px;
  gap:3px;
}
body.page-site textarea[name="owner_raw"]{
  min-height:82px;
  height:82px;
}
body.page-site .overview-milestones{
  padding-top:8px;
  padding-bottom:8px;
}
body.page-site .milestones{
  align-items:stretch;
}
body.page-site .milestone-action{
  min-height:54px;
  height:54px;
}
body.page-site .remarks-panel{
  padding-top:8px;
  padding-bottom:8px;
}
body.page-site .remarks-layout{
  grid-template-columns:minmax(0,2.3fr) minmax(300px,1fr);
  align-items:stretch;
}
body.page-site .remarks-history{
  min-height:180px;
  max-height:220px;
  padding:10px 12px;
}
body.page-site .remarks-content{
  font-size:12px;
  line-height:1.38;
}
body.page-site .remarks-entry{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
body.page-site .remarks-entry textarea{
  min-height:86px!important;
  height:86px;
}
body.page-site .remarks-entry small{
  margin-top:6px;
  font-size:10px;
}
@media(max-width:1280px){
  body.page-site .detail-subnav{
    margin-left:0;
    margin-right:0;
    border-radius:6px;
    border-left:1px solid #08215f;
    border-right:1px solid #08215f;
    border-top:1px solid #08215f;
  }
  body.page-site .remarks-layout{
    grid-template-columns:1fr;
  }
  body.page-site .remarks-history{
    min-height:150px;
    max-height:none;
  }
}

/* ============================================================
   StandortCockpit 5.4 – Statuslogik, Historie und obere Kanten
   ============================================================ */
body{background:#07185F!important;}
.app{background:#edf1f6;}
.page-sites .sidebar.project-topbar,
.page-site .sidebar.project-topbar{
  margin-top:0!important;
  top:0!important;
  z-index:60!important;
}
.page-sites main,
.page-site main{
  padding-top:0!important;
}
.page-sites .toolbar{
  position:sticky;
  top:58px;
  z-index:24;
  margin-top:0!important;
}
.page-sites .table-wrap{position:relative;z-index:1;}
body.page-site .top{
  padding:10px 0 8px;
}
body.page-site .panel label,
body.page-site .form-grid label,
body.page-site .two-col .panel label{
  font-size:13px!important;
  line-height:1.2;
}
body.page-site .panel input,
body.page-site .panel select,
body.page-site .panel textarea{
  font-size:13px!important;
}
body.page-site .panel form > .btn.primary{
  margin-top:14px;
}
body.page-site .actions{
  margin-top:14px!important;
  align-items:center;
}
body.page-site .actions .btn{
  margin-top:2px;
}
body.page-site .milestones{
  gap:8px!important;
}
body.page-site .milestone-action{
  flex:0 0 148px;
  width:148px;
  min-width:148px;
  max-width:148px;
  min-height:66px;
  height:66px;
  padding:9px 10px;
  border-radius:10px;
}
body.page-site .milestone-action span{
  font-size:12px;
  line-height:1.16;
  font-weight:600;
}
body.page-site .milestone-action b{
  margin-top:6px;
  font-size:13px;
  line-height:1.1;
  font-weight:700;
  opacity:1;
}
body.page-site .remarks-panel{
  background:#e8f6ff;
}
body.page-site .remarks-layout{
  grid-template-columns:minmax(0,2.5fr) minmax(320px,1fr);
  align-items:stretch;
}
body.page-site .remarks-history-block{
  display:flex;
  flex-direction:column;
  min-height:260px;
}
body.page-site .remarks-history-block form{
  display:flex;
  flex-direction:column;
  height:100%;
}
body.page-site .remarks-history-editor{
  flex:1 1 auto;
  min-height:260px!important;
  height:260px;
  background:#fff!important;
  line-height:1.38;
  padding:10px 12px;
  resize:vertical;
}
body.page-site .remarks-history-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:8px;
}
body.page-site .remarks-entry{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
body.page-site .remarks-entry-label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px!important;
  font-weight:700;
  color:#233a5b;
}
body.page-site .remarks-entry textarea{
  min-height:210px!important;
  height:210px;
  background:#d6efff!important;
}
body.page-site .remarks-entry small{
  margin-top:8px;
  font-size:11px;
}
body.page-site .detail-subnav{
  margin-top:0!important;
  margin-bottom:8px!important;
}
body.page-site .compact-info{
  margin:0 0 8px!important;
}
@media(max-width:1280px){
  body.page-site .remarks-layout{grid-template-columns:1fr;}
  body.page-site .remarks-history-editor{min-height:220px!important;height:220px;}
  body.page-site .remarks-entry textarea{min-height:140px!important;height:140px;}
}

/* ============================================================
   StandortCockpit 5.5 – angedockte Menüs, Statusdaten, Historie
   ============================================================ */
html,body{margin:0!important;padding:0!important;}
.app{padding-top:0!important;margin-top:0!important;}
.sidebar.project-topbar{
  position:sticky!important;
  top:0!important;
  height:58px!important;
  min-height:58px!important;
  margin:0!important;
  z-index:80!important;
}
body.page-site .detail-subnav{
  position:sticky;
  top:58px;
  z-index:70;
  margin-top:0!important;
  margin-bottom:8px!important;
  box-shadow:0 2px 5px rgba(0,0,0,.12);
}
body.page-sites .top{
  position:sticky;
  top:58px;
  z-index:60;
  margin:0 -10px!important;
  padding:8px 10px 7px!important;
  background:#edf1f6!important;
  border-bottom:1px solid #c7d0dd;
}
body.page-sites .toolbar{
  position:sticky!important;
  top:124px!important;
  z-index:55!important;
  margin:0 -10px 8px!important;
  padding:8px 10px!important;
  background:#edf1f6!important;
  border-bottom:1px solid #c7d0dd;
  box-shadow:0 2px 5px rgba(0,0,0,.08);
}
body.page-sites .table-wrap{
  position:relative;
  z-index:1;
}
.notice-inline{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:6px;
  font-family:'Open Sans',Arial,Helvetica,sans-serif;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.notice-inline.success{
  background:#dcfce7;
  color:#166534;
  border:1px solid #86d6a5;
}
body.page-site .top-extra{
  align-items:center;
}
body.page-site .milestone-action{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  min-height:68px!important;
  height:68px!important;
  padding:9px 10px 8px!important;
}
body.page-site .milestone-action span{
  font-size:13px!important;
  line-height:1.15!important;
  font-weight:600!important;
}
body.page-site .milestone-action b{
  margin-top:auto!important;
  padding-top:5px;
  font-size:11px!important;
  line-height:1!important;
  font-weight:400!important;
  opacity:1!important;
}
body.page-site .work-status-title{
  margin:5px 0 5px!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:600!important;
  color:#425066!important;
}
.excel-history-current{
  max-height:360px;
  overflow:auto;
  margin-bottom:14px;
  padding:10px 12px;
  border:1px solid #cfd7e2;
  border-radius:7px;
  background:#f8fbff;
  color:#27364c;
  font-size:13px;
  line-height:1.4;
}
@media(max-width:1100px){
  .sidebar.project-topbar{
    height:auto!important;
    min-height:58px!important;
  }
  body.page-site .detail-subnav,
  body.page-sites .top,
  body.page-sites .toolbar{
    position:static!important;
    top:auto!important;
  }
}


/* ============================================================
   StandortCockpit 5.6 – Open Sans, Kopfzeile und reduzierte Historie
   ============================================================ */
html,body,
button,input,select,textarea,
.btn,.status-chip,.data-table,.panel,.tab,.sidebar,
.sidebar *,main,main *{
  font-family:"Open Sans",Arial,Helvetica,sans-serif!important;
}

/* Oberes dunkelblaues Menü: einheitlich 14 px und vertikal ausgerichtet */
.sidebar.project-topbar{
  font-size:14px!important;
}
.sidebar.project-topbar nav a,
.sidebar.project-topbar .sidebar-foot b,
.sidebar.project-topbar .sidebar-foot .logout-link,
.sidebar.project-topbar .sidebar-foot .sidebar-legal a{
  font-size:14px!important;
  line-height:1!important;
  color:#fff!important;
}
.sidebar.project-topbar nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.sidebar-foot{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  min-height:34px;
  margin:0!important;
  padding:0!important;
}
.sidebar-foot b,
.sidebar-foot .logout-link,
.sidebar-foot .sidebar-legal,
.sidebar-foot .sidebar-legal a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px;
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  border:0!important;
}
.sidebar-foot .sidebar-legal{
  gap:10px!important;
  margin-left:6px!important;
}
.sidebar-foot .user-dot{
  flex:0 0 32px;
  align-self:center!important;
}

/* Alle weiteren dunkelblauen Navigations- und Tabellenbalken */
.detail-subnav .tab,
.detail-subnav .subnav-link,
.data-table th{
  font-family:"Open Sans",Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
}
.data-table th{
  color:#fff!important;
  line-height:1.15!important;
}

/* Historie & Aufgaben: nur die obere Historie, ohne doppelte Zeitleiste */
#tasks .timeline{
  display:none!important;
}
#tasks .excel-history-current{
  margin-bottom:0!important;
  max-height:calc(100vh - 250px);
}

/* ============================================================
   StandortCockpit 5.7 – Navigation, Typografie, Datenhaltung
   ============================================================ */
html,body{
  margin:0!important;
  padding:0!important;
  font-family:var(--sc-font-app)!important;
  font-size:var(--sc-size-app)!important;
  background:#07185F!important;
}
body{padding-top:58px!important;}
.app{margin:0!important;padding:0!important;background:#edf1f6!important;min-height:calc(100vh - 58px)!important;}
.sidebar.project-topbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  margin:0!important;
  padding:5px 16px!important;
  z-index:1000!important;
  background:#07185F!important;
  display:grid!important;
  grid-template-columns:minmax(245px,auto) minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  box-shadow:0 2px 6px rgba(0,0,0,.16)!important;
}
.sidebar .brand{
  min-width:245px!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:52px auto!important;
  grid-template-rows:auto auto!important;
  column-gap:9px!important;
  align-items:center!important;
  color:#fff!important;
  text-decoration:none!important;
}
.sidebar .cockpit-logo{
  grid-column:1!important;
  grid-row:1/3!important;
  width:48px!important;
  height:48px!important;
  object-fit:contain!important;
  border-radius:0!important;
}
.sidebar .brand-name{
  grid-column:2!important;
  grid-row:1!important;
  font-family:var(--sc-font-title)!important;
  font-size:17px!important;
  line-height:1.05!important;
  color:#fff!important;
  white-space:nowrap!important;
}
.brand-version{
  margin-left:6px!important;
  font-style:normal!important;
  font-size:11px!important;
  font-weight:400!important;
  color:#cbd7ff!important;
}
.sidebar .brand-subtitle{
  grid-column:2!important;
  grid-row:2!important;
  font-family:var(--sc-font-app)!important;
  font-size:10px!important;
  color:#cbd7ff!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
.sidebar.project-topbar nav{
  display:flex!important;
  flex-direction:row!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:0!important;
  margin:0!important;
  min-width:0!important;
  height:48px!important;
  overflow:visible!important;
}
.sidebar.project-topbar nav a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:48px!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:4px 4px 0 0!important;
  background:transparent!important;
  color:#fff!important;
  font-family:var(--sc-font-mainnav)!important;
  font-size:var(--sc-size-mainnav)!important;
  font-weight:400!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
.sidebar.project-topbar nav a:hover{background:rgba(255,255,255,.10)!important;color:#fff!important;}
.sidebar.project-topbar nav a.active{
  background:#fff!important;
  color:#07185F!important;
  font-weight:400!important;
}
.sidebar.project-topbar nav a.active *{color:#07185F!important;}
.sidebar.project-topbar nav .legacy-nav-link{margin-left:14px!important;}
.sidebar-foot{
  display:grid!important;
  grid-template-columns:32px auto auto auto!important;
  grid-template-rows:17px 17px!important;
  align-items:center!important;
  column-gap:8px!important;
  row-gap:0!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
}
.sidebar-foot .user-dot{grid-column:1;grid-row:1/3;width:30px!important;height:30px!important;min-height:30px!important;align-self:center!important;}
.sidebar-foot>b{grid-column:2;grid-row:1/3;align-self:center!important;font-size:12px!important;}
.sidebar-foot>.logout-link{grid-column:3;grid-row:1/3;align-self:center!important;font-size:12px!important;color:#fff!important;}
.sidebar-foot .sidebar-legal{
  grid-column:4!important;
  grid-row:1/3!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:1px!important;
  min-height:36px!important;
  margin:0 0 0 8px!important;
  padding:0!important;
  border:0!important;
}
.sidebar-foot .sidebar-legal a{
  display:block!important;
  min-height:0!important;
  padding:0!important;
  font-family:var(--sc-font-mainnav)!important;
  font-size:11px!important;
  line-height:1.25!important;
  color:#fff!important;
  white-space:nowrap!important;
}
main{padding-top:0!important;font-family:var(--sc-font-app)!important;font-size:var(--sc-size-app)!important;}
.top h1,.panel h1{font-family:var(--sc-font-title)!important;font-size:var(--sc-size-title)!important;}
.btn,button,.status-chip{
  font-family:var(--sc-font-button)!important;
  font-size:var(--sc-size-button)!important;
}
label,.panel label,.form-grid label{
  font-family:var(--sc-font-label)!important;
  font-size:var(--sc-size-label)!important;
}
.detail-subnav .tab,.detail-subnav .subnav-link{
  font-family:var(--sc-font-subnav)!important;
  font-size:var(--sc-size-subnav)!important;
}
.data-table th,.data-table th *{
  font-family:var(--sc-font-tablehead)!important;
  font-size:var(--sc-size-tablehead)!important;
}
.data-table td,.data-table td *{
  font-family:var(--sc-font-tablebody)!important;
  font-size:var(--sc-size-tablebody)!important;
}
.cell-state,.workflow-cell,.milestone-action,.milestone-action *,.status-chip{
  font-family:var(--sc-font-status)!important;
}
.invoice-buttons,.invoice-buttons *,.invoice-list,.invoice-list *{
  font-family:var(--sc-font-invoice)!important;
  font-size:var(--sc-size-invoice)!important;
}
/* Standort-Untermenü immer direkt unter dem Hauptmenü */
body.page-site main{display:flex!important;flex-direction:column!important;padding-top:0!important;}
body.page-site .detail-subnav{
  order:0!important;
  position:sticky!important;
  top:58px!important;
  z-index:900!important;
  margin:0 -10px 8px!important;
  border-radius:0!important;
  box-shadow:0 2px 5px rgba(0,0,0,.12)!important;
}
body.page-site .top{order:1!important;}
body.page-site .compact-info{order:2!important;}
body.page-site .tabpane{order:3!important;}
/* Standortliste: Titel und Schnellfilter bleiben sichtbar, ohne Überdeckung */
body.page-sites .top{
  position:sticky!important;
  top:58px!important;
  z-index:800!important;
  min-height:64px!important;
  margin:0 -10px!important;
  padding:7px 10px!important;
  background:#edf1f6!important;
}
body.page-sites .toolbar{
  position:sticky!important;
  top:122px!important;
  z-index:790!important;
  margin:0 -10px 8px!important;
  padding:7px 10px!important;
  background:#edf1f6!important;
}
.status-filter{cursor:pointer!important;}
/* Statusanzeige übernimmt die Reset-Funktion */
body.page-site .site-header-inline{margin-left:20px!important;}
body.page-site .status-clickable{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:5px 14px!important;
  border-radius:7px!important;
  font-family:var(--sc-font-title)!important;
  font-size:var(--sc-size-title)!important;
  font-weight:600!important;
  cursor:pointer!important;
  user-select:none!important;
}
body.page-site .status-clickable:hover{filter:brightness(.96);box-shadow:0 0 0 2px rgba(7,24,95,.14)!important;}
/* Rechnungen kompakter – mehr Felder nebeneinander */
.invoice-buttons{
  grid-template-columns:repeat(auto-fit,minmax(205px,1fr))!important;
  gap:8px!important;
}
.invoice-buttons span{
  min-height:82px!important;
  padding:9px 10px!important;
  border-radius:7px!important;
}
.invoice-buttons span>b{font-size:calc(var(--sc-size-invoice) + 2px)!important;padding-right:45px!important;}
.invoice-buttons small{font-size:var(--sc-size-invoice)!important;line-height:1.28!important;margin-top:6px!important;}
.invoice-payment-bar{margin-bottom:9px!important;padding-bottom:9px!important;}
.invoice-list>div{padding:7px 8px!important;}
/* Einstellungen: Schriftbereiche */
.typography-list{display:flex;flex-direction:column;border:1px solid #dbe2ea;border-radius:8px;overflow:hidden;}
.typography-row{display:grid;grid-template-columns:minmax(300px,1fr) 220px 150px;gap:14px;align-items:center;padding:11px 12px;border-bottom:1px solid #e7ebf0;background:#fff;}
.typography-row:nth-child(even){background:#f7f9fc;}
.typography-row:last-child{border-bottom:0;}
.typography-row>div b{display:block;font-size:14px;}
.typography-row>div small{display:block;margin-top:3px;color:#6b7280;font-size:12px;}
.typography-row label{gap:4px!important;font-size:11px!important;}
.typography-row select{padding:7px 8px!important;}
.typography-save{margin-top:12px!important;}
/* Sicherungen */
.backup-layout{align-items:stretch!important;}
.backup-layout .panel{height:100%;}
.restore-backup-button{margin-top:12px!important;}
.backup-list>div{grid-template-columns:minmax(260px,2fr) 180px 100px!important;}
@media(max-width:1450px){
  .sidebar.project-topbar{grid-template-columns:210px minmax(0,1fr) auto!important;padding-left:8px!important;padding-right:8px!important;}
  .sidebar .brand{min-width:210px!important;grid-template-columns:44px auto!important;}
  .sidebar .cockpit-logo{width:42px!important;height:42px!important;}
  .sidebar.project-topbar nav a{padding:0 8px!important;font-size:12px!important;}
  .sidebar-foot .sidebar-legal{display:none!important;}
}
@media(max-width:1100px){
  body{padding-top:0!important;}
  .sidebar.project-topbar{position:relative!important;height:auto!important;min-height:58px!important;grid-template-columns:1fr!important;}
  body.page-site .detail-subnav,body.page-sites .top,body.page-sites .toolbar{position:static!important;top:auto!important;}
  .typography-row{grid-template-columns:1fr;}
}

/* ============================================================
   StandortCockpit 5.8 – Dashboard, Aufgaben und vollständige VPI-Anzeige
   ============================================================ */
.page-dashboard .kpi{
  min-height:82px;
  padding:13px 14px;
}
.page-dashboard .kpi span{
  font-size:14px;
  line-height:1.25;
  font-weight:600;
  color:#44546a;
}
.page-dashboard .kpi strong{
  margin-top:7px;
  font-size:25px;
  line-height:1;
}
.dashboard-tasks .panel-head{
  align-items:flex-start;
  gap:20px;
}
.dashboard-tasks .panel-head h2{
  margin-bottom:2px;
  font-size:20px;
}
.dashboard-tasks .panel-head p{
  margin:2px 0 12px;
  font-size:13px;
  color:#647287;
}
.task-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:25px;
  height:25px;
  margin-left:6px;
  padding:0 7px;
  border-radius:999px;
  background:#0b2a7a;
  color:#fff;
  font-size:13px;
}
.dashboard-tasks .task-row{
  grid-template-columns:12px minmax(280px,1fr) 92px 160px;
  min-height:54px;
  padding:9px 6px;
  font-size:14px;
}
.dashboard-tasks .task-row b{
  display:block;
  font-size:14px;
  line-height:1.3;
  color:#243a59;
}
.dashboard-tasks .task-row small{
  margin-top:4px;
  font-size:12px;
}
.dashboard-tasks .task-row time{
  font-size:12px;
  text-align:right;
  color:#44546a;
}
.task-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:4px 8px;
  border-radius:5px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.25px;
}
.task-state.overdue{background:#fee2e2;color:#a1271c;}
.task-state.upcoming{background:#dff4ff;color:#075985;}
.task-empty{
  padding:18px 8px;
  color:#647287;
  font-size:14px;
}

.vpi-layout{
  display:grid;
  grid-template-columns:minmax(280px,340px) minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.vpi-entry-panel{
  position:sticky;
  top:76px;
}
.vpi-info{
  margin-top:16px;
  font-size:13px;
  line-height:1.5;
}
.vpi-all-panel{
  min-width:0;
}
.vpi-head{
  align-items:flex-end;
  gap:20px;
}
.vpi-head h2{margin-bottom:3px;}
.vpi-head p{
  margin:0;
  font-size:13px;
  color:#647287;
}
.vpi-head label{
  width:180px;
  flex:0 0 auto;
}
.vpi-matrix{
  overflow:auto;
  max-height:calc(100vh - 185px);
  border:1px solid #cfd7e2;
  border-radius:7px;
  background:#fff;
}
.vpi-matrix-head,
.vpi-year-row{
  display:grid;
  grid-template-columns:70px repeat(12,minmax(58px,1fr));
  min-width:850px;
}
.vpi-matrix-head{
  position:sticky;
  top:0;
  z-index:2;
  background:#07185f;
  color:#fff;
}
.vpi-matrix-head b,
.vpi-year-row strong,
.vpi-year-row span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:5px 6px;
  border-right:1px solid #dbe2ea;
  border-bottom:1px solid #dbe2ea;
  font-size:12px;
}
.vpi-matrix-head b{
  border-color:rgba(255,255,255,.18);
  font-size:12px;
  font-weight:600;
}
.vpi-year-row:nth-child(odd){background:#f4f6f9;}
.vpi-year-row:nth-child(even){background:#fff;}
.vpi-year-row strong{
  position:sticky;
  left:0;
  z-index:1;
  background:inherit;
  color:#0b2a7a;
  font-size:13px;
}
.vpi-year-row span{
  color:#2f3e55;
}
.vpi-year-row[hidden]{display:none;}

@media(max-width:1100px){
  .vpi-layout{grid-template-columns:1fr;}
  .vpi-entry-panel{position:static;}
  .dashboard-tasks .task-row{grid-template-columns:12px 1fr auto;}
  .dashboard-tasks .task-row time{grid-column:2/4;text-align:left;}
}

/* ============================================================
   StandortCockpit 5.9 – SuchkreisMaster, Benutzerprofile und Feinschliff
   ============================================================ */
.sidebar.project-topbar nav{
  min-width:0;
}
.sidebar.project-topbar nav .legacy-brand{
  margin-left:6cm!important;
  display:grid!important;
  grid-template-columns:42px auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:9px!important;
  min-width:190px!important;
  height:48px!important;
  padding:3px 8px!important;
  color:#fff!important;
  text-decoration:none!important;
  border-bottom:3px solid transparent!important;
}
.sidebar.project-topbar nav .legacy-brand img{
  grid-row:1/3;
  width:42px!important;
  height:42px!important;
  object-fit:cover!important;
  border-radius:7px!important;
  border:1px solid rgba(255,255,255,.45)!important;
}
.sidebar.project-topbar nav .legacy-brand span{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  line-height:1.05!important;
}
.sidebar.project-topbar nav .legacy-brand b{
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
.sidebar.project-topbar nav .legacy-brand small{
  margin-top:3px!important;
  color:#d8e1ff!important;
  font-size:11px!important;
  font-weight:400!important;
  white-space:nowrap!important;
}
.sidebar-foot{
  display:grid!important;
  grid-template-columns:auto auto auto!important;
  grid-template-rows:1fr 1fr!important;
  align-items:center!important;
  column-gap:9px!important;
  min-width:max-content!important;
}
.sidebar-foot .user-profile-link{
  grid-column:1!important;
  grid-row:1/3!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#fff!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.sidebar-foot .user-profile-link b{
  color:#fff!important;
  font-size:12px!important;
  font-weight:600!important;
}
.sidebar-foot .user-avatar,
.sidebar-foot .user-dot{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  border:2px solid rgba(255,255,255,.78)!important;
  background:#fff!important;
}
.sidebar-foot>.logout-link{
  grid-column:2!important;
  grid-row:1/3!important;
  align-self:center!important;
}
.sidebar-foot .sidebar-legal{
  grid-column:3!important;
  grid-row:1/3!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:2px!important;
  margin-left:14px!important;
}
.sidebar-foot .sidebar-legal a{
  display:block!important;
  padding:0!important;
  min-height:0!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1.22!important;
  white-space:nowrap!important;
}
.page-dashboard .kpi strong{
  font-size:20px!important;
}
.page-dashboard .kpi span{
  font-size:13px!important;
}
.dashboard-tasks{
  width:min(1500px,calc(100% - 32px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.dashboard-tasks .task-row{
  grid-template-columns:12px minmax(340px,1fr) 92px 160px!important;
}
.dashboard-tasks .task-main em{
  display:block!important;
  margin-top:4px!important;
  color:#0b5b85!important;
  font-size:12px!important;
  font-style:normal!important;
  font-weight:600!important;
}
.review-note-list{
  margin:0 0 10px!important;
  padding:10px 12px!important;
  border:1px solid #f1c84b!important;
  border-radius:7px!important;
  background:#fff7c9!important;
}
.review-note-list>strong{
  display:block!important;
  margin-bottom:6px!important;
  color:#795500!important;
  font-size:13px!important;
}
.review-note{
  padding:7px 8px!important;
  border-top:1px solid rgba(155,112,0,.18)!important;
  background:#fff4ac!important;
}
.review-note:first-of-type{
  border-top:0!important;
}
.review-note time{
  display:block!important;
  color:#806100!important;
  font-size:11px!important;
}
.review-note p{
  margin:3px 0 0!important;
  color:#4c3b00!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.profile-panel{
  max-width:850px!important;
  margin:18px auto!important;
}
.profile-editor{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr)!important;
  gap:24px!important;
  align-items:start!important;
}
.profile-preview{
  width:132px!important;
  height:132px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  overflow:hidden!important;
  border:4px solid #dce6f7!important;
  background:#07185f!important;
  color:#fff!important;
  font-size:44px!important;
  font-weight:700!important;
}
.profile-preview img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.profile-fields{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
.profile-fields small{
  color:#667085!important;
  line-height:1.35!important;
}
.profile-remove{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
}
@media(max-width:1900px){
  .sidebar.project-topbar nav .legacy-brand{margin-left:80px!important;}
}
@media(max-width:1500px){
  .sidebar.project-topbar nav .legacy-brand{margin-left:20px!important;min-width:160px!important;}
  .sidebar-foot .sidebar-legal{display:flex!important;}
}
@media(max-width:1100px){
  .sidebar.project-topbar nav .legacy-brand{margin-left:0!important;}
  .profile-editor{grid-template-columns:1fr!important;}
  .dashboard-tasks{width:100%!important;}
}


/* ============================================================
   StandortCockpit 5.10 – symmetrischer Kopfbereich und Statusabhängigkeit
   ============================================================ */
.sidebar.project-topbar{
  grid-template-columns:300px minmax(0,1fr) 300px!important;
  gap:0!important;
  padding-left:16px!important;
  padding-right:16px!important;
}
.sidebar .brand{
  justify-self:start!important;
  min-width:0!important;
}
.sidebar.project-topbar nav{
  justify-self:center!important;
  width:max-content!important;
  max-width:100%!important;
}
.sidebar-foot{
  justify-self:end!important;
  width:300px!important;
  min-width:300px!important;
  justify-content:end!important;
}
.sidebar-foot .sidebar-legal{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  align-content:center!important;
  justify-items:end!important;
  row-gap:1px!important;
  min-width:76px!important;
}
.sidebar-foot .sidebar-legal a{
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  line-height:1.18!important;
  text-align:right!important;
}
.sidebar.project-topbar nav .legacy-brand span{
  height:42px!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  padding:1px 0!important;
}
.sidebar.project-topbar nav .legacy-brand b{
  line-height:1.05!important;
}
.sidebar.project-topbar nav .legacy-brand small{
  margin-top:auto!important;
  line-height:1!important;
  align-self:flex-start!important;
}
body.page-site .detail-subnav{
  width:max-content!important;
  max-width:calc(100vw - 32px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  justify-content:center!important;
}
/* Noch nicht mögliche Folgeaktionen werden neutral dargestellt. */
.data-table .state-idle{
  background:#c7ced8!important;
  color:#344054!important;
}
@media(max-width:2050px){
  .sidebar.project-topbar{grid-template-columns:245px minmax(0,1fr) 280px!important;}
  .sidebar-foot{width:280px!important;min-width:280px!important;}
  .sidebar.project-topbar nav .legacy-brand{margin-left:38px!important;}
}
@media(max-width:1650px){
  .sidebar.project-topbar{grid-template-columns:220px minmax(0,1fr) 250px!important;}
  .sidebar-foot{width:250px!important;min-width:250px!important;}
  .sidebar.project-topbar nav a{padding-left:8px!important;padding-right:8px!important;}
  .sidebar.project-topbar nav .legacy-brand{margin-left:16px!important;min-width:150px!important;}
}
