:root{--bg:#f5f7f9;--navy:#102b3b;--card:#fff;--ink:#1b3040;--muted:#687c89;--teal:#117d79;--border:#e1e8ed;--red:#ac3a3a;--yellow:#a86c11;--green:#15744b}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--border);border-radius:9px;padding:10px 13px;background:white;color:var(--ink);font-weight:650}button:hover{filter:brightness(.975)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{min-height:43px;border:1px solid #ced9df;border-radius:8px;background:#fff;width:100%;padding:10px 11px;color:var(--ink)}input[type=checkbox]{min-height:0;width:auto}input[type=range]{padding:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr}.sidebar{background:var(--navy);padding:25px 16px;color:#e9f2f5;display:flex;flex-direction:column;gap:26px}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 20px;border-bottom:1px solid #ffffff24}.brand b{font-size:14px}.brand small{font-size:11px;display:block;opacity:.65;margin-top:6px}.mark{height:37px;width:37px;display:grid;place-items:center;background:#1ca6a0;border-radius:10px;font-weight:800;font-size:18px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{text-align:left;border:0;background:transparent;color:#d8e5eb}.sidebar nav button.active{background:#27495a}.side-note{margin-top:auto;color:#bfd0d7;font-size:11px;line-height:1.7;border-top:1px solid #ffffff22;padding:15px 7px}.side-note a{color:#d1edec}.topbar{height:70px;padding:0 28px;background:white;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.pill{border:1px solid var(--border);padding:8px 12px;border-radius:99px;font-size:11px;color:var(--muted);max-width:55%;overflow:hidden;text-overflow:ellipsis}.content{max-width:1170px;margin:0 auto;padding:30px 30px 70px}.heading{display:flex;justify-content:space-between;gap:12px;align-items:start;flex-wrap:wrap;margin-bottom:24px}.heading h1,.auth-card h1{margin:0 0 8px;font-size:27px;letter-spacing:-.5px}.muted{color:var(--muted)}p{line-height:1.55}.card,.project-tile{border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 5px 20px #122e3b08}.card{padding:20px;margin-bottom:16px}.auth-card{max-width:570px;margin:32px auto}.form{display:grid;gap:10px;margin-top:15px}.form label{font-size:12px;font-weight:750}.primary{background:var(--teal);border-color:var(--teal);color:white}.quiet{background:#fff}.small{font-size:11px}.eyebrow{font-weight:800;color:var(--teal);font-size:11px;letter-spacing:.08em;margin-bottom:8px}.message:not(:empty){margin:12px 0;padding:11px 13px;border-radius:9px;background:#eff6f7;color:#145e61;font-size:12px;line-height:1.5}.message.error{background:#fceeee;color:#9b3030}.hidden{display:none!important}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:15px}.project-tile{padding:19px;text-align:left;width:100%;display:block}.project-tile strong{display:block;font-size:16px;margin:6px 0}.project-tile small{display:block;color:var(--muted);line-height:1.7}.kicker{font-size:11px;color:var(--muted);font-weight:750}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:5px 9px;font-size:11px;font-weight:750;background:#eff3f5;color:#526979}.badge.urgent{background:#fdecec;color:var(--red)}.badge.warn{background:#fff2de;color:var(--yellow)}.badge.good{background:#e7f5ed;color:var(--green)}.stats{display:flex;gap:15px;flex-wrap:wrap;margin-top:17px}.stat{min-width:120px}.stat b{display:block;font-size:22px;margin:3px 0}.stat span{font-size:11px;color:var(--muted)}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);padding-bottom:8px;margin:22px 0 14px}.tabs button{border:none;background:transparent;color:var(--muted)}.tabs button.active{color:var(--teal);background:#eaf7f7}.project-header{display:flex;justify-content:space-between;gap:14px;align-items:start;flex-wrap:wrap}.project-header h2{margin:5px 0;font-size:22px}.task-list{display:grid;gap:9px}.task{padding:13px;border:1px solid var(--border);border-radius:11px;display:grid;gap:9px;background:#fff}.task .row{display:flex;gap:9px;justify-content:space-between;align-items:start;flex-wrap:wrap}.task small{color:var(--muted)}.task-title{font-weight:750}.task .row button{padding:7px 9px;font-size:11px}.section-h{font-size:16px;margin:4px 0 13px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field{display:grid;gap:6px}.field label{font-size:12px;font-weight:700}.task-form,.upload-form{display:grid;gap:12px}.file-entry{padding:13px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:15px}.file-entry:last-child{border-bottom:0}.file-entry small{display:block;color:var(--muted);margin-top:5px}.nested{padding-left:22px;background:#f8fafb}.bar{height:9px;border-radius:20px;overflow:hidden;background:#e7edef;margin-top:8px}.bar span{display:block;height:100%;background:#17a18f}.progress-box{min-width:210px}.muted-note{padding:14px;background:#f0f6f7;border-radius:10px;color:#4b6977;font-size:12px;line-height:1.55}.empty{padding:30px;text-align:center;color:var(--muted)}.pdf-preview{min-height:450px;height:65vh;width:100%;border:1px solid var(--border);border-radius:12px;background:#f3f6f7}.pdf-fallback{display:block;margin-top:10px}.footer-warning{font-size:11px;color:#687c89;margin-top:18px}@media(max-width:800px){.app-shell{display:block}.sidebar{padding:12px 16px;gap:7px;flex-direction:row;justify-content:space-between;align-items:center}.sidebar nav,.side-note{display:none}.brand{border:0;padding:0}.topbar{height:56px;padding:0 15px}.content{padding:20px 14px 65px}.heading h1,.auth-card h1{font-size:24px}.tile-grid{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.auth-card{margin:12px auto}.stats{gap:11px}.card{padding:16px}.file-entry{flex-wrap:wrap}.pdf-preview{height:55vh}}

/* Version 6 – klar erkennbare Aktionen und Fortschrittsanzeige */
.add-action{display:inline-flex;align-items:center;justify-content:center;min-height:43px;border-radius:9px;padding:11px 17px;background:var(--teal);color:white;font-weight:750;cursor:pointer;list-style:none;margin:10px 0}
.add-action::-webkit-details-marker{display:none}.add-action:hover{filter:brightness(.95)}
.task-create[open] .add-action,.batch-upload[open] .add-action{background:#125d5a}
.task-create .task-form,.batch-upload .upload-form{margin:10px 0 16px;padding:16px;border:1px solid var(--border);border-radius:12px;background:#f8fafb}
.status-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.status-select{min-height:35px;width:auto;min-width:145px;padding:6px 9px}
.bar{height:16px;background:#e0e6e9;border-radius:99px}.bar span{background:#087f68;transition:width .2s ease}
.progress-box h2{color:#075f52;font-size:25px}.profile-details{margin:20px 0 0;padding-top:14px;border-top:1px solid var(--border)}.profile-details summary{cursor:pointer;color:var(--teal);font-weight:700}
.batch-list{display:grid;gap:12px;margin:15px 0}.batch-item{border:1px solid var(--border);border-radius:10px;background:white;padding:13px;display:grid;gap:10px}.batch-item strong{overflow-wrap:anywhere}.batch-floor-target{margin-top:2px}#batchSubmit{margin-top:7px}
@media(max-width:800px){.status-label{width:100%;justify-content:space-between}.status-select{max-width:65%}}

/* V6.2 – kompakter Planimport und Ordnernavigation */
.plan-folder,.import-group{border:1px solid var(--border);border-radius:10px;background:#fff;margin:10px 0;overflow:hidden}
.plan-folder>summary,.import-group>summary{display:flex;gap:12px;align-items:center;cursor:pointer;padding:14px;list-style:none}
.plan-folder>summary::-webkit-details-marker,.import-group>summary::-webkit-details-marker{display:none}
.plan-folder>summary small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.folder-icon{color:var(--teal);font-size:19px}
.folder-children{border-top:1px solid var(--border);padding:0 8px}.import-section{margin-top:24px;padding-top:14px;border-top:1px solid var(--border)}
.drop-zone{border:2px dashed #a8c5c7;background:#f4fafa;padding:26px;border-radius:13px;display:flex;align-items:center;flex-direction:column;gap:12px;text-align:center;cursor:pointer}.drop-zone.drag-over{border-color:var(--teal);background:#e4f4f1}.drop-zone span{color:var(--muted)}.drop-symbol{font-size:38px;color:var(--teal)}
.import-summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0;padding:12px;border-radius:10px;background:#f1f5f6}.import-summary span{color:var(--muted)}.import-summary .ready{color:#127b57;font-weight:700}.import-summary .needs-review{color:#a15b0d;font-weight:700}
.import-group>summary>span:last-child{margin-left:auto;color:var(--muted);font-size:12px}.import-files{border-top:1px solid var(--border);padding:5px 12px}.import-file{padding:8px 4px;display:flex;align-items:center;gap:9px;overflow-wrap:anywhere}.import-file span:nth-child(2){flex:1}.import-file+.import-file{border-top:1px solid #eff2f4}.import-file .check{color:#12875e;font-weight:800}.import-file.unresolved{color:#9c641b}.import-file.unresolved strong{font-size:11px}.exceptions{margin:13px 0}.exceptions>summary{cursor:pointer;color:var(--teal);font-weight:700;padding:9px 0}.exceptions .batch-list{max-height:500px;overflow:auto}.import-section #batchSubmit{margin:12px 0}

.upload-guidance{margin:12px 0 18px;padding:14px 16px;background:#edf7f4;border-left:4px solid #09826b;border-radius:8px;color:#183d36}.upload-guidance p{margin:6px 0 0;font-size:14px;line-height:1.5}.locale-toolbar{display:flex;align-items:center;gap:10px}.locale-toolbar label{font-size:12px;color:#677}.locale-toolbar select{width:auto;max-width:240px;padding:7px 9px;border-radius:7px;border:1px solid #ccd5d5;background:white;font-size:12px}@media(max-width:650px){.locale-toolbar label{display:none}.locale-toolbar select{max-width:145px}}

/* V6.5 – projektübergreifende Aufgabenübersicht */
.mobile-workspace-nav{display:none}
.mytask-entry{border:1px solid var(--border);border-radius:11px;overflow:hidden;margin:10px 0}
.mytask-project{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#f1f6f7;padding:9px 13px;font-size:12px;color:#3d5968}
.mytask-project button{padding:7px 10px;font-size:12px}
.mytask-entry>.task{border:none;border-radius:0}
@media(max-width:800px){.mobile-workspace-nav{display:flex;gap:8px;margin-bottom:18px}.mobile-workspace-nav button{flex:1}.mobile-workspace-nav button.active{background:var(--teal);border-color:var(--teal);color:#fff}}

/* V6.6 – Projektanlage (Pilot, keine zusätzlichen Datenbankregeln) */
.create-project-box{margin-top:0;margin-bottom:20px;border-color:#b6d5d2;box-shadow:0 8px 24px #102b3b0c}
.create-project-box .section-h{font-size:18px;margin:0 0 6px}
.create-project-box .form{gap:16px}
.create-project-box .field-grid{gap:14px}
.create-project-box .field label{font-weight:700}
#createProjectSubmit{min-width:155px}
@media(max-width:800px){#newProjectButton{order:-1}.create-project-box .field-grid{grid-template-columns:1fr}}

/* V6.7 – Einfache Projektteam-Verwaltung */
.member-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.member-list{margin:16px 0 20px;border:1px solid #d9e2e8;border-radius:11px;overflow:hidden}
.member-row{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;gap:10px;border-bottom:1px solid #e3e9ee}
.member-row:last-child{border-bottom:0}
.member-identity{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere}
.member-identity small{color:#587083}
.member-add{padding:12px 0}
.member-add .field-grid{margin:14px 0}
.member-add summary{cursor:pointer}
@media(max-width:650px){.member-row{align-items:flex-start}.member-heading{flex-wrap:wrap}}

/* V7 – gebündelte MVP-Funktionen */
.tabs{flex-wrap:wrap}
.issue-grid{display:grid;gap:12px;margin:14px 0}
.issue-card{border:1px solid var(--border);border-radius:12px;background:#fff;padding:15px;min-width:0}
.issue-card-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap}
.issue-card-heading strong{font-size:15px}
.issue-card p{margin:8px 0}.issue-meta{font-size:12px;margin:8px 0}
.issue-actions{margin:12px 0}.issue-photos{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--border);padding-top:11px;margin-top:12px}
.issue-photos>strong{font-size:12px;margin-right:3px}
.issue-photos>button{font-size:12px;padding:7px 10px}
.photo-upload-label{font-size:12px;cursor:pointer;border:1px solid #b6d5d2;border-radius:8px;padding:8px;color:var(--teal);font-weight:700}
.issue-photo-image{max-width:100%;max-height:72vh;object-fit:contain}
.issue-create form{padding:16px;background:#f7fafa;border:1px solid var(--border);border-radius:11px;margin-bottom:18px}
.archive-section{border-top:1px solid var(--border);margin-top:23px;padding-top:12px}
.archive-section h4{margin:2px 0 8px}
.danger-outline{border:1px solid #dbbcbc!important;color:#a94444;background:white}

/* V7.1 – Einfache gemeinsame Aufgaben-/Mängelverwaltung und echte PDF-Pins */
.create-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px;align-items:flex-start}
.create-actions details{flex:0 1 auto;min-width:min(100%,270px)}
.create-actions details[open]{flex:1 1 340px}.create-actions details form{padding:14px;border:1px solid var(--border);border-radius:11px;background:#f8fafb}
.issue-unified{border-left:4px solid #cf9151}.issue-unified .task-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pin-modal{position:fixed;inset:0;background:#102b3bd9;z-index:9999;padding:16px;overflow:auto;display:flex;justify-content:center;align-items:flex-start}
.pin-modal-open{overflow:hidden}.pin-dialog{background:#f5f7f9;border-radius:15px;width:min(1280px,100%);min-height:84vh;padding:16px;box-shadow:0 15px 70px #0005}
.pin-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:8px 8px 16px;border-bottom:1px solid var(--border)}
.pin-toolbar>div:first-child{display:grid;gap:5px}.pin-toolbar small{color:var(--muted)}.pin-toolbar a{font-size:12px;color:#075f52}
.pin-page-controls{display:flex;gap:10px;justify-content:center;align-items:center;padding:12px}.pin-page-viewport{background:#d6dfe4;border-radius:12px;min-height:280px;padding:12px;display:flex;justify-content:center;overflow:auto}
.pin-canvas-shell{position:relative;flex:0 0 auto;background:white;box-shadow:0 8px 25px #0002;line-height:0}
.pin-canvas-shell canvas{display:block}.pin-layer{position:absolute;inset:0;pointer-events:none}.pin-canvas-shell.pin-place-mode{cursor:crosshair}
.pin-dot{pointer-events:auto;position:absolute;transform:translate(-50%,-50%);width:29px;height:29px;min-height:0;padding:0;border:2px solid white;border-radius:50%;background:#c84636;color:white;font-size:12px;font-weight:800;box-shadow:0 2px 9px #0007}
.pin-pending{background:#129b85;display:grid;place-items:center;font-size:20px;pointer-events:none}
.pin-issue-form{margin:15px 0 0}.pin-issue-form h3{margin:0}
@media(max-width:700px){.pin-modal{padding:3px}.pin-dialog{border-radius:0;padding:8px}.pin-toolbar{align-items:flex-start}.pin-toolbar .actions{width:100%}.pin-page-controls button{font-size:11px;padding:8px}.pin-page-viewport{padding:3px}.pin-dot{width:31px;height:31px}.pin-issue-form .field-grid{grid-template-columns:1fr}}

/* V7.2: direkte Aufgaben-Navigation, Übersicht und Details */
.kt-filterbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0}.kt-filterbar input{flex:2;min-width:215px}.kt-filterbar select{flex:1;min-width:140px}.kt-filterbar small{color:var(--muted);white-space:nowrap}.task-title-button{display:inline-flex;align-items:center;gap:8px;padding:0!important;border:0;background:transparent;color:var(--ink);font-size:14px;text-align:left;font-weight:750;line-height:1.45}.task-title-button:hover{text-decoration:underline;color:var(--teal)}.task-inspector{border:2px solid var(--teal);border-radius:13px;background:#f8fdfc;padding:19px;margin:18px 0;outline-offset:3px;scroll-margin-top:24px}.inspector-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.inspector-heading h3{font-size:19px;margin:6px 0}.task-edit-details{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.task-edit-details summary{cursor:pointer;color:var(--teal);font-weight:700}.task-edit-details .form{margin-top:12px}.kt-comments{border-top:1px solid var(--border);margin-top:15px;padding-top:8px}.kt-comments h4{font-size:15px}.kt-comment{border-radius:9px;background:#fff;border:1px solid var(--border);padding:11px;margin-bottom:8px}.kt-comment-head{color:var(--muted);font-size:11px;margin-bottom:5px}.kt-comment-body{white-space:pre-wrap;overflow-wrap:anywhere}.mytask-entry>.mytask-open{display:flex;width:100%;justify-content:space-between;align-items:center;gap:18px;text-align:left;border:0;border-radius:0;padding:17px 14px;background:white}.mytask-open:hover,.mytask-open:focus-visible{background:#eef8f6}.mytask-open small{display:block;color:var(--muted);font-size:12px;margin-top:8px}.task-forward{color:var(--teal);font-size:12px;font-weight:800;white-space:nowrap}.create-actions [data-new-pin-issue]{align-self:start}.task-inspector p{overflow-wrap:anywhere}@media(max-width:650px){.mytask-entry>.mytask-open{flex-direction:column;align-items:flex-start;gap:9px}.inspector-heading{flex-wrap:wrap}.kt-filterbar{display:grid;grid-template-columns:1fr}.kt-filterbar input,.kt-filterbar select{min-width:0}}

/* V7.2.1: Grosse, gut erkennbare Landesflagge neben der Sprache. */
.locale-flag {width:28px;height:22px;object-fit:contain;flex-shrink:0;display:inline-block}
@media(max-width:650px){.locale-toolbar{gap:6px}.locale-flag{width:25px;height:20px}}

/* V8 – mobile Dokumente */
.tabs{display:flex;flex-wrap:wrap;gap:7px}
.kt-doc-header,.kt-field-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;flex-wrap:wrap}
.kt-field-list{display:grid;gap:12px;margin-top:15px}
.kt-field-row{padding:16px;border-radius:13px;border:1px solid #d5e0e5;background:#fbfdfd}
.kt-field-title strong{display:block;font-size:1rem}
.kt-field-title small{display:block;color:#5c7078;margin-top:5px}
.kt-field-detail{padding:10px 0}.kt-field-detail p{margin:6px 0}
.kt-field-create{border:1px solid #cad9df;border-radius:12px;padding:13px;margin:15px 0;background:#f8fcfc}
.kt-field-create>summary{cursor:pointer;font-weight:700}
.kt-field-create>.form{margin-top:14px}
.kt-check{display:flex;align-items:flex-start;gap:9px;padding:6px 0;cursor:pointer}
.kt-check input{margin-top:4px;width:auto;flex-shrink:0}
.kt-issues-select{max-height:170px;overflow:auto;padding:6px;border:1px solid #dce5e9;border-radius:8px}
.kt-line-item{display:grid;grid-template-columns:minmax(115px,1.7fr) minmax(130px,1.1fr) repeat(2,minmax(85px,.9fr)) minmax(88px,.8fr) 38px;gap:6px;margin-bottom:8px}
.kt-line-item.material{grid-template-columns:1fr 2fr 85px 85px 38px}
.kt-line-item input{min-width:0;padding:9px 6px}
.kt-line-item button{padding:5px}
.kt-sign-dialog{width:min(760px,calc(100vw - 24px));margin:5vh auto;padding:22px;max-height:90vh;overflow-y:auto}
#signatureModal{z-index:3000;overflow-y:auto;background:rgba(5,24,33,.78)}
#signatureCanvas{width:100%;max-width:100%;height:auto;display:block;background:white;border:2px dashed #80979d;border-radius:10px;touch-action:none;cursor:crosshair}
#signatureName{width:100%}
@media(max-width:760px){.kt-line-item,.kt-line-item.material{grid-template-columns:1fr 1fr}.kt-line-item [name=worker_name],.kt-line-item [name=mat_name]{grid-column:1/-1}.kt-field-row{padding:12px}.kt-sign-dialog{padding:14px;margin:10px auto}.tabs button{flex:1 1 auto}}
@media(max-width:500px){
 .topbar{gap:6px;min-width:0}
 .topbar #crumb{min-width:0;overflow-wrap:anywhere}
 .locale-toolbar{min-width:0;gap:4px}
 .locale-toolbar select{max-width:120px}
 .locale-toolbar .pill{max-width:100px;padding:7px 6px}
}

/* V8.1 – 15-Minuten-Regiezeiten, automatische Nettozeiten, klare Abnahmebezeichnung */
.kt-readonly-title{background:#eef5f5;border:1px solid #cfdfdf;border-radius:8px;padding:11px 12px;font-weight:750;color:#193e49;min-height:42px;overflow-wrap:anywhere}
.kt-line-item[data-worker-row]{grid-template-columns:minmax(105px,1.35fr) minmax(130px,1.15fr) minmax(86px,.8fr) minmax(86px,.8fr) minmax(75px,.65fr) minmax(88px,.8fr) 36px;align-items:center}
.kt-line-item select{min-width:0;padding:9px 3px;width:100%}
.kt-line-item .kt-net-hours{font-variant-numeric:tabular-nums;font-weight:750;white-space:normal;font-size:12px;padding:8px 3px;color:#145e59;text-align:center}
.kt-total-hours{border-radius:8px;background:#ebf7f5;padding:10px 12px;margin:6px 0 12px;font-weight:750;color:#126e66}
@media(max-width:760px){.kt-line-item[data-worker-row]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.kt-line-item[data-worker-row] [name=worker_name]{grid-column:1/-1}.kt-line-item[data-worker-row] [name=worker_date]{grid-column:1/-1}.kt-line-item[data-worker-row] .kt-net-hours{align-content:center;text-align:left}.kt-line-item[data-worker-row] [data-remove-row]{justify-self:end}}

/* V8.3 – kompakte Regie-/Abnahmeformulare, gut bedienbar auf dem Handy. */
.kt-field-create .form{gap:8px;margin-top:10px}
.kt-field-create .field-grid{gap:8px 10px}
.kt-field-create .field{gap:3px}
.kt-field-create .field label{font-size:11px}
.kt-field-create input,.kt-field-create select,.kt-field-create textarea{min-height:36px;padding:7px 9px;border-radius:7px}
.kt-field-create textarea{line-height:1.35;min-height:60px}
.kt-field-create h4{margin:10px 0 1px;font-size:13px}
.kt-field-create .muted{margin:2px 0;font-size:11px;line-height:1.4}
.kt-field-create .kt-readonly-title{min-height:36px;padding:7px 9px;font-size:12px}
.kt-field-create .kt-check{margin:3px 0;font-size:12px}
.kt-field-create .kt-issues-select{max-height:135px}
.kt-field-create .kt-total-hours{padding:8px 10px;margin:4px 0 7px}
.kt-field-create .kt-line-item{gap:5px;margin-bottom:6px}
.kt-field-create .kt-line-item input,.kt-field-create .kt-line-item select{min-width:0;padding:6px 5px;font-size:12px}
.kt-worker-break{display:flex;flex-direction:column;gap:2px;min-width:0}
.kt-worker-break span{display:block;font-size:10px;font-weight:700;color:#526979;white-space:nowrap}
.kt-worker-break select{width:100%;min-height:36px}
.kt-line-item[data-worker-row]{grid-template-columns:minmax(105px,1.35fr) minmax(116px,1.2fr) minmax(80px,.8fr) minmax(80px,.8fr) minmax(86px,.8fr) minmax(75px,.8fr) 34px}
.kt-line-item[data-worker-row] .kt-net-hours{padding:5px 2px;font-size:12px}
@media(max-width:760px){
 .kt-field-create input,.kt-field-create select,.kt-field-create textarea{min-height:40px}
 .kt-field-create .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .kt-field-create .field-grid .field:has(textarea){grid-column:1/-1}
 .kt-line-item[data-worker-row]{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .kt-line-item[data-worker-row] [name=worker_name],.kt-line-item[data-worker-row] [name=worker_date]{grid-column:auto}
 .kt-worker-break span{font-size:11px}
}
@media(max-width:430px){.kt-field-create .field-grid{grid-template-columns:1fr}.kt-field-create .field-grid .field:has(textarea){grid-column:auto}}

/* V9: kompakter Einladungslink auch auf Smartphone */
#inviteLinkWrap{padding:12px;background:#f5faf9;border:1px solid #d9e8e5;border-radius:10px;margin-top:10px}#inviteLinkValue{width:100%;max-width:100%;padding:10px 12px;margin:8px 0 10px;border:1px solid #ccdcd9;border-radius:8px;font:inherit;font-size:12px}#signupBox{padding:14px 0;border-top:1px solid #e0e9e8;margin-top:12px}.member-add{margin-top:10px}

/* V9.1 – projektbezogene GzA-Kontakte und vereinfachte Regiebelege */
.kt-gza-settings{border-top:1px solid var(--border);padding-top:15px;margin-top:22px}
.kt-gza-settings h3{margin-bottom:5px}
.kt-gza-settings h4{margin:15px 0 5px}
.kt-regie-sign-before{padding:12px;border-radius:10px;background:#f2f8f7;border:1px solid #d8e8e5}
.kt-regie-sign-before h4{margin:0}
.kt-regie-sign-before p{margin:6px 0}

/* V9.1: Unmittelbare Mängel-Pins, ohne separaten Modus-Button. */
.pin-canvas-shell.pin-tap-to-add{cursor:crosshair;touch-action:manipulation}
.pin-canvas-shell.pin-tap-to-add:hover{outline:2px solid #069c88;outline-offset:2px}
.pin-page-controls:not(.hidden) button{min-width:135px}

/* V9.1 – kompakte Aufgabenübersicht (Dalux-inspiriert, kein Karten-Stapel) */
.mytasks-table{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-top:9px}
.mytasks-table-head,.mytask-row{display:grid;grid-template-columns:116px minmax(120px,2fr) minmax(125px,1.35fr) minmax(110px,1.1fr) 20px;align-items:center;gap:10px}
.mytasks-table-head{padding:9px 12px;background:#edf3f5;color:#587080;font-size:11px;font-weight:800}
.mytasks-table>.mytask-row{width:100%;min-height:54px;border:0;border-top:1px solid var(--border);border-radius:0;box-shadow:none;text-align:left;background:white;padding:8px 12px;color:var(--ink);font-weight:normal;margin:0}
.mytasks-table>.mytask-row:hover,.mytasks-table>.mytask-row:focus-visible{background:#eff8f7;filter:none}
.mytask-row>.mytask-type{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px}
.mytask-row .badge{font-size:10px;padding:3px 6px}
.mytask-subject{font-weight:700;overflow-wrap:anywhere;line-height:1.35}
.mytask-project-cell strong,.mytask-status strong{display:block;font-size:12px;line-height:1.35}
.mytask-project-cell small,.mytask-status small{display:block;margin-top:2px;font-size:11px;color:var(--muted);line-height:1.3}
.mytask-status .mytask-urgent{color:#b83b2e;font-weight:750}
.mytask-arrow{color:var(--teal);font-size:23px;font-weight:600;text-align:center}
@media(max-width:680px){
 .mytasks-table-head{display:none}
 .mytasks-table>.mytask-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 14px;grid-template-areas:'type project arrow' 'subject subject arrow' 'status status arrow';gap:3px 7px;min-height:0;padding:9px 10px}
 .mytask-type{grid-area:type}
 .mytask-subject{grid-area:subject}
 .mytask-project-cell{grid-area:project;text-align:right}
 .mytask-project-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .mytask-status{grid-area:status;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
 .mytask-status strong,.mytask-status small{display:inline;margin:0}
 .mytask-arrow{grid-area:arrow;align-self:center;font-size:19px}
}


/* V9.1 FINAL: zwei gleich grosse Aktionsbuttons auf identischer Hoehe.
   Breite und Hoehe gemeinsam festgelegt, Aufgabenformular bleibt nutzbar. */
.create-actions {align-items:flex-start;gap:10px}
.create-actions > .task-create,
.create-actions > .task-create[open] {flex:0 0 240px;min-width:0;max-width:100%}
.create-actions > .task-create > .add-action,
.create-actions > button[data-new-pin-issue] {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:240px;
  max-width:100%;
  height:43px;
  min-height:43px;
  margin:0;
  padding:0 12px;
  border:1px solid var(--teal);
  border-radius:9px;
  background:var(--teal);
  color:#fff;
  font-family:inherit;
  font-size:14px;
  font-weight:750;
  line-height:1.2;
  letter-spacing:0;
  white-space:nowrap;
}
.create-actions > button[data-new-pin-issue] {flex:0 0 240px;align-self:flex-start}
.create-actions > .task-create[open] > .add-action {background:#125d5a}
.create-actions .task-create .field-grid {grid-template-columns:1fr}
@media(max-width:600px) {
  .create-actions > .task-create,
  .create-actions > .task-create[open],
  .create-actions > button[data-new-pin-issue] {flex-basis:100%;width:100%}
  .create-actions > .task-create > .add-action {width:100%}
}

/* V9.1 Unterschrift-Fix: Pads sind im laufenden Regie-/Abnahmeformular sichtbar. */
.kt-form-signatures{margin:14px 0 10px;border-top:1px solid #d7e6e3;padding-top:10px}
.kt-form-signatures>h4{font-size:14px;margin:0 0 5px}
.kt-inline-sign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.kt-inline-sign{border:1px solid #c8dcd8;background:#f5faf9;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.kt-inline-sign-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;flex-wrap:wrap;font-size:13px}
.kt-inline-sign-heading .muted{font-size:11px}
.kt-inline-sign .field{margin:0;gap:3px}
.kt-inline-sign>label{font-size:12px;font-weight:700}
.kt-inline-sign canvas{display:block;width:100%;height:154px;background:white;border:2px dashed #80979d;border-radius:9px;cursor:crosshair;touch-action:none;user-select:none}
.kt-inline-sign-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.kt-inline-sign-footer button{min-height:36px}
.kt-inline-sign-footer small{font-size:11px}
.kt-inline-sign.is-disabled canvas{opacity:.4;cursor:not-allowed;pointer-events:none}
.kt-inline-sign.is-disabled{background:#f5f5f5;border-color:#d8d8d8}
.kt-document-notice{border-left:3px solid #168276;background:white;color:#4d6264;padding:8px 10px;font-size:12px;line-height:1.4;margin:8px 0 3px}
@media(max-width:850px){.kt-inline-sign-grid{grid-template-columns:1fr}.kt-inline-sign canvas{height:150px}}

/* V9.1: mobile-first Belegbearbeitung, zurückhaltend und mit wenigen Klicks. */
.kt-project-pulse{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 0}
.kt-project-pulse button{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border-radius:8px;padding:9px 12px;min-height:42px;background:#fff;border:1px solid var(--border);font-size:12px}
.kt-project-pulse button:hover,.kt-project-pulse button:focus-visible{border-color:var(--teal);background:#f3f8f7}
.kt-project-pulse button b{font-size:17px;font-variant-numeric:tabular-nums}
.kt-project-pulse .kt-attention{grid-column:1/-1;border-left:3px solid #a47524;background:#fffbf4}
.kt-pending-review{display:block;margin-top:8px;font-size:11px;color:#87611d;font-weight:650}
.kt-acceptance-issue{display:flex!important;gap:8px;align-items:flex-start;padding:7px 5px!important;border-bottom:1px solid #e8eeee}
.kt-acceptance-issue:last-child{border-bottom:none}
.kt-acceptance-issue span{min-width:0}
.kt-acceptance-issue strong{font-weight:600;font-size:12px;line-height:1.4}
.kt-acceptance-issue small{display:block;font-size:11px;color:#526972;margin-top:2px}
.kt-field-create .kt-automatic{display:inline;color:#567078;font-size:10px;font-weight:400}
.kt-field-create .kt-issues-select{padding:4px;max-height:200px}
.kt-field-create [name=scope]{font-weight:550}
@media(max-width:760px){
 .kt-project-pulse{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .kt-project-pulse button{font-size:11px;min-height:46px;flex-wrap:wrap;padding:7px 8px}
 .kt-project-pulse button b{font-size:17px}
 .kt-field-create{padding:10px;margin:12px 0;border-radius:9px}
 .kt-field-create .form{gap:10px}
 .kt-field-create input,.kt-field-create select,.kt-field-create textarea{font-size:16px!important;min-height:44px}
 .kt-field-create .kt-check input{min-height:auto}
 .kt-field-create button[type=submit].primary{position:sticky;bottom:calc(6px + env(safe-area-inset-bottom, 0px));z-index:4;width:100%;min-height:48px;box-shadow:0 2px 11px rgba(12,40,45,.16);border-radius:8px}
 .kt-inline-sign canvas{height:184px;border:1px solid #98afb2;border-radius:8px}
 .kt-inline-sign{padding:10px;background:#fff}
 .kt-inline-sign-footer button{min-height:44px}
 .kt-acceptance-issue{padding:10px 6px!important;min-height:44px}
 .kt-field-create .kt-issues-select{max-height:210px}
}
@media(max-width:410px){.kt-project-pulse{grid-template-columns:1fr 1fr}.kt-project-pulse button:last-child:nth-child(3){grid-column:1/-1}.kt-project-pulse .kt-attention{grid-column:1/-1}}

/* V9.2: Sachliches, einheitliches B2B-Design, orientiert am Regiebeleg.
   Grosszügige Touch-Ziele bleiben erhalten; keine versteckten Statusaktionen. */
.task-list{display:block;border:1px solid #d5dfe3;border-radius:10px;overflow:hidden;background:#fff;margin-top:10px}
.task-list .task{margin:0!important;border:0!important;border-bottom:1px solid #e1e7e9!important;
  border-radius:0!important;background:#fff!important;box-shadow:none!important;padding:13px 15px!important}
.task-list .task:last-child{border-bottom:0!important}
.task-list .task:hover{background:#f7faf9!important}
.task-list .issue-unified{border-left:3px solid #dca665!important;padding-left:12px!important}
.task-list .task-title-button{font-size:15px;line-height:1.45;font-weight:700;min-height:35px}
.task-list .task .muted{font-size:13px;line-height:1.4;margin:3px 0 5px;color:#526b78}
.task-list .task small{color:#536977;font-size:12px}
.task-list .task .actions{gap:7px;margin-top:7px}
.task-list .task .actions button,.task-list .task .actions select{min-height:39px;border-radius:7px}
.task-inspector{background:#fff!important;border:1px solid #cddbdd!important;border-top:3px solid #137f77!important;
 border-radius:10px!important;padding:18px!important;box-shadow:0 2px 8px rgba(18,43,53,.045)!important}
.inspector-heading{align-items:center}
.inspector-heading h3{font-size:19px;margin:5px 0 7px;line-height:1.35}
.inspector-heading>button{min-height:42px;border-radius:7px}
.kt-comments{padding-top:15px;margin-top:17px}
.kt-comment{background:#fff;border:0;border-bottom:1px solid #e2e8ea;border-radius:0;padding:10px 0}
.kt-comment-head{font-size:12px}
.kt-inspector-photo-section{margin-top:16px;border-top:1px solid #dce5e8;padding-top:14px}
.kt-inspector-photo-section h4{margin:0 0 11px;font-size:15px}
.kt-photo-items{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.kt-photo-thumb{display:inline-flex;align-items:center;justify-content:center;width:105px;min-height:60px;
 padding:9px;border:1px solid #cad8dc;border-radius:8px;background:#fff;color:#0b635e;font-weight:700;font-size:12px;text-align:center;overflow-wrap:anywhere}
.kt-photo-thumb:hover,.kt-photo-thumb:focus-visible{border-color:#007c70;background:#edf7f5}
.kt-photo-upload{display:inline-flex;gap:6px;align-items:center;min-height:44px;cursor:pointer;border:1px solid #bccfd2;
 background:#f5faf9;border-radius:7px;padding:9px 12px;font-size:13px;font-weight:700;color:#075c59}
.kt-photo-upload input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.kt-photo-upload:focus-within{outline:2px solid #147d77;outline-offset:2px}
.kt-photo-viewer{position:fixed!important;inset:0!important;z-index:3100!important;margin:0!important;
 border:0!important;border-radius:0!important;background:rgba(12,28,36,.91)!important;padding:16px!important;
 display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:11px;overflow:auto}
.kt-photo-viewer.hidden{display:none!important}
.kt-photo-viewer img{display:block!important;width:auto!important;max-width:96vw!important;max-height:78vh!important;object-fit:contain}
.kt-photo-viewer h3{color:#fff!important;margin:0!important}
.kt-photo-viewer button{min-height:44px;background:#fff;color:#123746;border:0;border-radius:7px;padding:10px 18px;font-weight:700}
.kt-gza-list{border:1px solid #d5e1e4;border-radius:8px;overflow:hidden;margin-top:12px}
.kt-gza-person{display:flex;align-items:center;gap:11px;justify-content:space-between;padding:10px 12px;
 background:#fff;border-bottom:1px solid #e2e9eb;min-height:59px}
.kt-gza-person:last-child{border-bottom:0}
.kt-gza-person strong{font-size:13px;overflow-wrap:anywhere}
.kt-gza-person small{font-size:11px;color:#647781;display:block;margin-top:2px}
.kt-gza-person label{display:flex;gap:7px;align-items:center;font-weight:700;font-size:13px;white-space:nowrap}
.kt-gza-person input{width:19px;height:19px;accent-color:#0b7f79}
.kt-gza-person button{min-width:40px;min-height:42px}
.kt-extra-point{border:1px solid #e0e6e8;border-radius:8px;background:#fff;padding:10px;margin:8px 0}
.kt-extra-point .field-grid{grid-template-columns:minmax(0,1.8fr) repeat(2,minmax(0,.8fr))}
.kt-regie-images{border-top:1px solid #e2e7e9;margin-top:12px;padding-top:12px}
.kt-regie-images input[type=file]{max-width:100%;min-height:44px}
@media(max-width:650px){
 .task-list .task{padding:12px!important}
 .task-list .issue-unified{padding-left:9px!important}
 .task-inspector{padding:14px!important}
 .task-inspector .inspector-actions{display:flex;flex-wrap:wrap;gap:7px}
 .task-inspector .inspector-actions button{min-height:44px}
 .kt-extra-point .field-grid{grid-template-columns:1fr}
 .kt-gza-person{flex-wrap:wrap;gap:7px}
 .kt-gza-person strong{max-width:100%}
}

/* Entfernte redundante Flagge */ .locale-toolbar .locale-flag{display:none!important}

.kt-photo-thumb{flex-direction:column;gap:6px;min-height:94px;padding:5px}
.kt-photo-thumb img{width:92px;height:66px;object-fit:cover;border-radius:5px;background:#edf1f2}
.kt-photo-thumb img:not([src]){display:none}
.kt-photo-thumb span{font-size:11px}

/* V9.2.1: Bildvorschau mit explizitem Lade-/Fehlerstatus. */
.kt-photo-viewer .hidden{display:none!important}
.kt-photo-feedback{color:#fff;line-height:1.5;max-width:700px;text-align:center;margin:2px 0}
.kt-photo-feedback:empty{display:none}
.kt-photo-download{color:#fff!important;text-decoration:underline;font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.kt-photo-unavailable{border-style:dashed!important}
.kt-doc-submit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.kt-doc-submit-actions button{min-height:46px}
@media(max-width:700px){.kt-doc-submit-actions{flex-direction:column}.kt-doc-submit-actions button{width:100%}}

/* Save feedback beside the submit controls, not below document history. */
.kt-save-feedback:not(:empty){display:block;margin:12px 0 4px;padding:12px 14px;border-radius:7px;background:#edf7f6;color:#174b4b;font-weight:600;border:1px solid #c9e4e2;}
.kt-save-feedback.error:not(:empty){background:#fff2f2;color:#9d2424;border-color:#f1cbcb;}

/* V9.2.6: GzA-Kontaktanlage – kompakter Button statt halber Formularbreite. */
#externalGzaForm .field-grid{
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:end;
  column-gap:12px;
}
#externalGzaForm .field-grid > .field:last-child{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
}
#externalGzaForm button.primary{
  width:auto;
  min-height:43px;
  padding:10px 16px;
  white-space:nowrap;
}
@media(max-width:650px){
  #externalGzaForm .field-grid{grid-template-columns:minmax(0,1fr);}
  #externalGzaForm button.primary{min-width:145px;}
}

/* V9.2.7 – Terminsteuerung und kompakte Aufgaben-/Mängelliste */
.kt-timeline-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 18px}
.kt-timeline-summary>div{padding:12px 15px;background:#f4f8f8;border:1px solid #dce6e8;border-radius:8px}
.kt-timeline-summary small{display:block;font-size:12px;color:#5b717d}
.kt-timeline-summary strong{display:block;margin-top:4px;font-size:24px;color:#183b48}
.kt-timeline-summary .kt-overdue{border-color:#edc9c9;background:#fff4f1}
.kt-timeline-summary .kt-overdue strong{color:#b73434}
.task-list .task.kt-compact-entry{display:grid!important;grid-template-columns:100px minmax(0,1fr) minmax(130px,185px) 96px;align-items:center;gap:12px;min-height:69px;padding:10px 14px!important}
.task-list .task.kt-compact-entry.issue-unified{padding-left:11px!important}
.kt-compact-type{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.kt-compact-type small{font-size:11px;font-weight:650}
.kt-compact-main{min-width:0;display:flex;flex-direction:column;gap:3px}
.task-list .kt-compact-main .task-title-button{min-height:unset!important;line-height:1.3!important;font-size:14px!important;max-width:100%}
.kt-compact-main small{white-space:normal;font-size:11px!important;color:#617680}
.kt-compact-date{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#203f4c}
.kt-compact-date small{font-size:11px!important}
.kt-compact-entry.kt-overdue .kt-compact-date,.kt-compact-entry.kt-overdue .kt-compact-date small{color:#a32727!important}
.kt-compact-entry.kt-overdue{box-shadow:inset 3px 0 #d55c50!important}
.kt-compact-entry.kt-due-soon .kt-compact-date small{color:#9c620b!important}
.kt-open-detail{padding:7px 9px!important;border-radius:7px;min-height:38px;white-space:nowrap;font-size:12px}
.kt-edit-section{border-top:1px solid #dae5e7;margin:16px 0 0;padding-top:14px}
.kt-edit-section h4{font-size:14px;margin:0 0 10px}
.kt-location-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.kt-location-fields .field{min-width:0}
.kt-location-fields input{min-width:0;width:100%}
.create-actions .kt-issue-create{max-width:100%}
@media(max-width:850px){.task-list .task.kt-compact-entry{grid-template-columns:85px minmax(0,1fr) minmax(105px,155px) 75px;gap:7px;padding:10px!important}.kt-open-detail{font-size:11px;padding:7px!important}}
@media(max-width:650px){.kt-timeline-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.kt-timeline-summary>div{padding:9px 7px}.kt-timeline-summary strong{font-size:21px}.kt-timeline-summary small{font-size:10px}.task-list .task.kt-compact-entry{grid-template-columns:73px minmax(0,1fr) 20px;gap:7px!important;min-height:70px;padding:10px 8px!important}.task-list .kt-compact-type .badge{font-size:10px;padding:4px 6px}.kt-compact-main small{font-size:10px!important}.kt-compact-date{grid-column:2;grid-row:2;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;align-items:center}.kt-open-detail{grid-column:3;grid-row:1/3;overflow:hidden;text-indent:-999px;width:26px;padding:0!important;border:0!important;background:transparent!important;position:relative}.kt-open-detail::after{content:'›';position:absolute;inset:0;text-indent:0;display:grid;place-items:center;font-size:24px;color:#0c8078}.kt-location-fields{grid-template-columns:1fr}.kt-compact-entry .kt-compact-type{grid-row:1/3;align-self:start;padding-top:2px}}
/* Geöffnete Erfassungsformulare nutzen die volle Breite, nicht eine schmale Button-Spalte. */
.create-actions .task-create[open]{flex:1 1 100%!important;width:100%!important;max-width:100%!important;order:10}
.create-actions .task-create[open] .task-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:100%;padding:16px;border:1px solid #dde6e9;border-radius:10px}
.create-actions .task-create[open] .task-form>.field:first-child,
.create-actions .task-create[open] .task-form>.kt-location-fields,
.create-actions .task-create[open] .task-form>.field:has(textarea){grid-column:1/-1}
.create-actions .task-create[open] .task-form .field-grid{grid-column:1/-1}
.create-actions .task-create[open] .task-form button[type=submit]{justify-self:start;min-width:180px}
@media(max-width:650px){.create-actions .task-create[open] .task-form{grid-template-columns:1fr;padding:12px}.create-actions .task-create[open] .task-form>.field{grid-column:1/-1}.create-actions .task-create[open] .task-form button[type=submit]{width:100%}}

/* V9.2.8b: Planimport vor vorhandenen Planpaketen anzeigen. */
.import-section{margin:12px 0 22px;padding:15px 0 18px;border-top:0;border-bottom:1px solid var(--border)}
.import-section>h3{font-size:17px;color:#0b6d65;margin:0 0 12px}.kt-plan-protection-note{margin:9px 12px;padding:12px 14px;background:#f6f5ef;border-left:3px solid #ac8646;border-radius:6px;color:#594b32;font-size:12px;line-height:1.55}
/* V9.2.9 – revisionsgeführte Planablage */
.kt-revision-section{margin:18px 0 22px;padding:17px;border:1px solid var(--border,#d6dee4);border-radius:12px;background:var(--surface,#fff)}
.kt-revision-section h3{margin:0 0 8px;font-size:1.08rem}
.kt-revision-section form{display:grid;gap:12px;margin-top:14px}
.kt-revision-section label{display:grid;gap:5px;font-weight:600;font-size:.91rem}
.kt-revision-section input,.kt-revision-section select{width:100%;max-width:100%;min-height:40px}
.kt-revision-section input[type=file]{padding:9px;border:1px solid #cad3dc;border-radius:7px;background:#fff;font-weight:400}
.kt-revision-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px}
.kt-revision-section .muted{line-height:1.5}
@media(max-width:700px){.kt-revision-fields{grid-template-columns:1fr}.kt-revision-section{padding:13px}}

/* V9.3.0: legacy marked-up drawings retained only for issue resolution */
.kt-history-issue-note{margin:10px 12px;padding:12px 14px;background:#f3f7f8;border-inline-start:4px solid #407b83;color:#334c59;border-radius:8px;font-size:.9rem;line-height:1.45}
.kt-history-issue-note strong{font-weight:700}

/* V9.3.0 GzA contact party selector */
.kt-gza-party-selector{display:flex;flex-flow:column nowrap;gap:4px;font-size:.8rem;color:#4e6471;min-width:170px}
.kt-gza-party-selector select{font:inherit;color:#1b3b45;max-width:240px;min-height:34px;padding:5px;border:1px solid #dae4e6;border-radius:8px;background:#fff}

/* V9.3.2 – GzA-Freigaberunden */
.kt-gza-rounds{margin-top:20px}
.kt-gza-rounds .section-h{margin-bottom:10px}
.kt-gza-config{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0 9px}
.kt-gza-config label{display:flex;flex-direction:column;gap:5px;min-width:180px;font-size:.86rem;color:#49616d;font-weight:600}
.kt-gza-config select,.kt-gza-config input{min-height:40px;border:1px solid #cddcdf;border-radius:8px;background:#fff;color:#173943;padding:8px 11px}
.kt-gza-config input[type=number]{max-width:130px}
.kt-gza-config button{min-height:40px}
.kt-gza-round-items{margin-top:18px}
.kt-gza-round-items h4{margin:0 0 10px;font-size:1rem}
.kt-gza-round-item{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border:1px solid #e0e9eb;border-radius:10px;padding:12px 14px;margin-bottom:9px;background:#f9fbfc}
.kt-gza-round-item strong,.kt-gza-invite strong{display:block}
.kt-gza-round-item small,.kt-gza-invite small,.kt-gza-history small{display:block;color:#697d88;margin-top:4px}
.kt-gza-history{padding:14px 16px;margin:12px 0;border:1px solid #dbe7e9;border-radius:10px;background:#fff}
.kt-gza-history-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.kt-gza-invite{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #e6ecee;padding:11px 0}
.kt-gza-invite:first-of-type{margin-top:8px}
.kt-gza-rounds button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:650px){.kt-gza-config{display:grid;grid-template-columns:1fr;align-items:stretch}.kt-gza-config label{min-width:0}.kt-gza-config select{width:100%}.kt-gza-round-item button,.kt-gza-invite button{width:100%}}

/* GzA plan PDF stamping: compact list of signed archive copies */
.kt-gza-stamped{margin:10px 0 7px;padding:10px 12px;border:1px solid #c3dcd9;border-radius:8px;background:#f7fbfa;display:grid;gap:5px}
.kt-gza-stamped .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:3px}
.kt-gza-stamped small{display:block}

/* V9.5.0 – portfolio of GzA approvals and dedicated project tab */
.kt-apr-heading,.kt-apr-project-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:17px}
.kt-apr-heading h2,.kt-apr-project-top h2{font-size:22px;margin:1px 0 5px}
.kt-apr-heading p,.kt-apr-project-top p{margin:4px 0;max-width:740px}
.kt-apr-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 20px}
.kt-apr-metric{background:#fff;border:1px solid var(--border);border-radius:11px;padding:16px 18px;box-shadow:0 3px 14px #102b3b06}
.kt-apr-metric small{font-size:11px;color:var(--muted);display:block}
.kt-apr-metric strong{font-size:28px;display:block;margin:5px 0 1px;font-variant-numeric:tabular-nums}
.kt-apr-metric span{font-size:11px;color:var(--muted)}
.kt-apr-list{padding:16px 0 0;overflow:hidden}.kt-apr-toolbar{padding:2px 18px 13px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.kt-apr-toolbar h3{margin:0 0 4px}.kt-apr-filter{flex:0 1 340px}.kt-apr-filter input{font-size:13px;min-height:38px}
.kt-apr-chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 15px}.kt-apr-chips button{font-size:12px;border-radius:20px;padding:7px 11px;min-height:33px}
.kt-apr-chips button.active{background:#e3f3f1;border-color:#78c5bd;color:#005d56}
.kt-apr-table-head,.kt-apr-entry{display:grid;grid-template-columns:minmax(110px,1.1fr) minmax(140px,1.25fr) minmax(135px,1.4fr) minmax(132px,1fr) 20px;gap:10px;align-items:center}
.kt-apr-table-head{background:#f0f4f6;padding:10px 18px;border-top:1px solid var(--border);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;color:#5e7380}
.kt-apr-entry{width:100%;border-radius:0;border:none;border-bottom:1px solid #e9eff2;padding:12px 18px;text-align:left;min-height:78px;box-shadow:none;background:white}
.kt-apr-entry:hover{background:#f5faf9}.kt-apr-entry>span{min-width:0;overflow-wrap:anywhere}.kt-apr-entry strong{display:block;font-size:13px;line-height:1.35}
.kt-apr-entry small{display:block;font-size:11px;color:#68808f;margin-top:4px;font-weight:450;line-height:1.45}
.kt-apr-arrow{font-size:24px;text-align:right;color:#5f8289}.kt-apr-status{display:inline-flex;width:max-content;max-width:100%;border-radius:17px;background:#eef2f5;padding:5px 9px;font-size:11px;font-weight:750;color:#4a6476}
.kt-apr-status.approved{background:#e4f3ea;color:#0c6946}.kt-apr-status.pending{background:#fff2d9;color:#88600e}
.kt-apr-status.stopped{background:#fdeeee;color:#9b3e3e}.kt-apr-status.ready{background:#ecf0f4;color:#5c697b}
.kt-apr-count{display:flex;gap:20px;align-items:center;font-size:11px;padding:0 18px 8px}.kt-apr-footnote{font-size:12px;color:var(--muted);line-height:1.5}
.kt-apr-project-top{margin-bottom:14px;padding:2px 0}.kt-gza-settings-link{padding:12px;border-top:1px solid var(--border)}
.kt-gza-settings-link button{margin:8px;padding:7px 10px;font-size:12px}
#gzaPane .kt-gza-rounds{margin:0 0 20px}
@media(max-width:1100px){.kt-apr-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.kt-apr-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kt-apr-metric{padding:12px}.kt-apr-metric strong{font-size:23px}.kt-apr-table-head{display:none}.kt-apr-entry{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 18px;gap:10px;padding:12px;min-height:0}.kt-apr-entry>span:nth-child(3),.kt-apr-entry>span:nth-child(4){grid-column:1 / 3}.kt-apr-entry>span:last-child{grid-column:3;grid-row:1 / 3}.kt-apr-entry strong{font-size:12px}.kt-apr-entry small{font-size:11px}.kt-apr-toolbar{padding:4px 12px 12px}.kt-apr-chips{padding:0 12px 14px}.kt-apr-chips button{padding:7px 9px;font-size:11px}.mobile-workspace-nav button{font-size:12px;min-width:0}.kt-apr-project-top h2{font-size:18px}}
@media(max-width:400px){.kt-apr-metrics{gap:6px}.kt-apr-metric{padding:9px}.kt-apr-metric span{display:none}.kt-apr-entry{grid-template-columns:minmax(0,1fr) 18px}.kt-apr-entry>span:nth-child(2),.kt-apr-entry>span:nth-child(3),.kt-apr-entry>span:nth-child(4){grid-column:1}.kt-apr-entry>span:last-child{grid-column:2;grid-row:1 / 4}}

/* V9.5.1 – Führungskräfte-Portfolio. Projektinterne Freigaben bleiben Projekt-Tabs. */
.kt-portfolio-controls{display:flex;align-items:flex-start;gap:12px;padding:0 18px 14px;flex-wrap:wrap}
.kt-portfolio-controls .kt-apr-chips{padding:0;flex:1 1 440px}
.kt-portfolio-controls select{flex:0 1 225px;min-height:35px;max-width:100%;padding:6px 9px;font-size:12px}
.kt-portfolio-table-head{display:grid;grid-template-columns:minmax(125px,1.15fr) minmax(100px,.85fr) minmax(75px,.6fr) minmax(120px,1fr) minmax(135px,1fr) 65px;gap:8px;align-items:center;background:#f0f4f6;color:#586d7b;font-size:10px;font-weight:800;text-transform:uppercase;padding:11px 16px;border-top:1px solid var(--border)}
.kt-portfolio-entry{display:grid;grid-template-columns:minmax(0,1fr) 65px;gap:8px;border-bottom:1px solid #e8eef2;align-items:stretch;background:#fff}
.kt-portfolio-entry:last-child{border-bottom:0}
.kt-portfolio-open{display:grid;grid-template-columns:minmax(125px,1.15fr) minmax(100px,.85fr) minmax(75px,.6fr) minmax(120px,1fr) minmax(135px,1fr);align-items:center;text-align:left;gap:8px;border:none;border-radius:0;background:transparent;padding:12px 0 12px 16px;min-height:75px;font-weight:400}
.kt-portfolio-open:hover,.kt-portfolio-entry:focus-within{background:#f3faf9}
.kt-portfolio-open>span{min-width:0;overflow-wrap:anywhere}
.kt-portfolio-open strong{display:block;font-size:12.5px;line-height:1.35;font-weight:740}
.kt-portfolio-open small{display:block;color:#6b7e88;font-size:11px;line-height:1.3;margin-top:4px}
.kt-portfolio-open .kt-portfolio-flag{color:#ad5534}
.kt-portfolio-progress{display:block;width:min(100%,95px);height:6px;background:#e6edf0;border-radius:20px;margin-top:8px;overflow:hidden}
.kt-portfolio-progress i{display:block;height:100%;background:#239a91;border-radius:20px}
.kt-portfolio-gza{align-self:center;font-size:11px;font-weight:750;padding:9px 5px;margin-right:9px;min-height:36px;border-color:#bfcfd5;color:#206a71;background:#fff}
.kt-portfolio-rounds{padding:0;overflow:hidden}
.kt-portfolio-rounds>summary{display:flex;justify-content:space-between;gap:13px;align-items:center;cursor:pointer;padding:16px 19px;list-style:revert}
.kt-portfolio-rounds>summary strong{font-size:13px}.kt-portfolio-rounds>summary span{font-size:11px}
.kt-portfolio-round-list{border-top:1px solid var(--border)}
.kt-portfolio-round{border:0;border-bottom:1px solid #edf1f3;background:#fff;border-radius:0;padding:12px 17px;width:100%;display:grid;grid-template-columns:minmax(140px,1fr) minmax(130px,.75fr) 16px;gap:12px;align-items:center;text-align:left}
.kt-portfolio-round:last-child{border-bottom:0}.kt-portfolio-round:hover{background:#f4faf9}
.kt-portfolio-round strong,.kt-portfolio-round small{display:block}.kt-portfolio-round strong{font-size:12px}.kt-portfolio-round small{font-size:11px;color:#657986;margin-top:5px}.kt-portfolio-arrow{text-align:right;font-size:20px;color:#6b8592}
@media(max-width:930px){
 .kt-portfolio-table-head{grid-template-columns:minmax(125px,1fr) minmax(105px,.8fr) minmax(70px,.6fr) minmax(105px,.8fr) minmax(105px,.8fr) 58px;font-size:9px;padding:10px}
 .kt-portfolio-open{grid-template-columns:minmax(125px,1fr) minmax(105px,.8fr) minmax(70px,.6fr) minmax(105px,.8fr) minmax(105px,.8fr);padding-left:10px;gap:5px}
 .kt-portfolio-entry{grid-template-columns:minmax(0,1fr) 58px;gap:3px}
 .kt-portfolio-gza{margin-right:5px}
}
@media(max-width:720px){
 .kt-portfolio-table-head{display:none}
 .kt-portfolio-entry{grid-template-columns:minmax(0,1fr) 52px;gap:4px}
 .kt-portfolio-open{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:9px;padding:13px 2px 13px 11px;min-height:0}
 .kt-portfolio-open>span:nth-child(3),.kt-portfolio-open>span:nth-child(4),.kt-portfolio-open>span:nth-child(5){border-top:1px solid #edf1f3;padding-top:9px}
 .kt-portfolio-open>span:nth-child(5){grid-column:1/-1}
 .kt-portfolio-gza{font-size:10px;padding:8px 3px}
 .kt-portfolio-controls{padding:0 11px 12px;gap:8px}
 .kt-portfolio-controls select{flex:1 1 100%;width:100%}
 .kt-portfolio-rounds>summary{align-items:flex-start;flex-direction:column;gap:3px}
}

/* V9.5.1b: Internal PL see own projects first, then all other accessible projects. */
.kt-project-group{margin:2px 0 28px}.kt-project-group-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:5px 1px 13px;border-bottom:1px solid var(--border);padding-bottom:9px}
.kt-project-group-header h3{margin:0;font-size:16px;font-weight:750}.kt-project-group-header small{font-size:11px;color:var(--muted)}
@media(max-width:650px){.kt-project-group{margin-bottom:22px}.kt-project-group-header h3{font-size:15px}}

/* V9.5.2: Account dropdown, readable plan list and a focused worker project overview. */
.kt-account-menu{position:relative;max-width:min(100%,400px)}
.kt-account-button{display:flex;align-items:center;gap:9px;max-width:100%;min-height:36px;background:#fff;white-space:nowrap;font-weight:650}
.kt-account-button #sessionLabel{overflow:hidden;text-overflow:ellipsis;min-width:0}
.kt-account-dropdown{position:absolute;right:0;top:calc(100% + 6px);z-index:100;background:#fff;border:1px solid var(--border);box-shadow:0 10px 32px #122e3b20;border-radius:10px;min-width:175px;padding:6px}
.kt-account-dropdown button{width:100%;border:0;text-align:left;background:transparent;padding:11px}
.kt-account-dropdown button:hover{background:#eef5f4}
.kt-worker-sort-note{font-size:12px;color:var(--muted);margin:4px 0 14px}
.kt-plan-hero{border:1px solid #b9d8d4;border-radius:11px;background:#f5fbfa;padding:16px;margin:12px 0;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
.kt-plan-hero .kt-plan-title{font-size:16px;font-weight:760;line-height:1.3}
.kt-plan-hero small{display:block;font-size:12px;color:var(--muted);margin-top:7px}
.kt-plan-hero .actions button{white-space:nowrap}
.kt-plan-status{display:inline-block;border-radius:14px;padding:5px 9px;font-size:11px;font-weight:700;background:#e1f3ec;color:#176a4e;margin-top:8px}
.kt-plan-status.pending{background:#fff0da;color:#916114}
.kt-plan-section-label{font-size:15px;font-weight:800;margin:24px 0 10px}
.kt-plan-positions{border-top:1px solid #dbe9e6;padding-top:6px;margin-top:11px}
.kt-plan-positions summary{font-weight:700;color:#0f6c69;cursor:pointer;padding:10px 0}
.kt-plan-positions .file-entry{padding:9px 0 9px 13px}
.kt-plan-more{border-top:1px solid var(--border);margin-top:21px;padding-top:14px}
.kt-plan-more>summary{font-weight:750;color:var(--teal);padding:10px 4px;cursor:pointer}
.kt-plan-more .import-section{margin-top:12px}
.kt-plan-legacy-note{font-size:11px;color:var(--muted);margin:8px 0 14px}
@media(max-width:650px){.kt-account-button{max-width:180px;font-size:11px;padding:8px}.locale-toolbar{gap:4px}.kt-plan-hero{padding:13px}.kt-plan-hero .actions{width:100%}.kt-plan-hero .actions button{flex:1}.kt-plan-positions .file-entry{display:flex;flex-wrap:wrap}}

.kt-plan-hero .kt-plan-main{min-width:180px;flex:1 1 280px}.kt-plan-hero .kt-plan-positions,.kt-plan-hero>.kt-plan-protection-note{width:100%}.kt-plan-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.kt-plan-top p{margin:4px 0 9px}.kt-plan-historical{background:#f8fafb;border-color:var(--border)}

/* V9.5.3: compact worker worklist and project detail */
.kt-worker-project-list{display:grid;gap:0;border:1px solid var(--border);border-radius:11px;overflow:hidden;background:#fff}
.kt-worker-project-row{border:0;border-radius:0;box-shadow:none;border-bottom:1px solid var(--border);width:100%;min-height:60px;padding:9px 15px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;gap:3px 8px;text-align:left;background:#fff}
.kt-worker-project-row:last-child{border-bottom:0}.kt-worker-project-row:hover{background:#f2f8f8}
.kt-worker-project-name{grid-column:1;grid-row:1;font-weight:750;font-size:14px;line-height:1.35}
.kt-worker-project-meta{grid-column:1;grid-row:2;color:var(--muted);font-size:11px}
.kt-worker-project-arrow{grid-column:2;grid-row:1/3;color:var(--teal);font-size:22px}
.kt-worker-project-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin:2px 0 8px;flex-wrap:wrap}
.kt-worker-project-head strong{font-size:16px}.kt-worker-project-head span{font-size:12px;color:var(--muted)}
body:has(.kt-worker-project-head) #projectDetail>.tabs{margin:8px 0 12px;gap:5px;flex-wrap:wrap}
body:has(.kt-worker-project-head) #projectDetail>.tabs button{border:1px solid #d4e3e4;border-radius:9px;padding:9px 13px;background:#fff;color:var(--ink);font-weight:700}
body:has(.kt-worker-project-head) #projectDetail>.tabs button.active{background:#eaf7f7;border-color:#6bb4ab;color:#046e6b}
body:has(.kt-worker-project-head) .kt-plan-list{padding:13px}
body:has(.kt-worker-project-head) .kt-plan-top p{font-size:12px}
@media(max-width:700px){.pin-dialog{padding-bottom:62vh}.pin-issue-form:not(.hidden){position:fixed;z-index:10010;bottom:0;left:0;right:0;max-height:51vh;overflow:auto;background:#fff;border:2px solid #69b0a5;border-radius:17px 17px 0 0;margin:0;padding:12px 14px;box-shadow:0 -15px 42px #102b3b44}.pin-issue-form h3{font-size:15px}.pin-issue-form .form{gap:8px;margin-top:8px}.pin-issue-form .field-grid{grid-template-columns:1fr 1fr;gap:8px}.pin-issue-form input,.pin-issue-form select{min-height:36px;padding:7px}.pin-issue-form textarea{min-height:48px;max-height:65px}.pin-issue-form .actions{position:sticky;bottom:-12px;padding:7px 0;background:white}}

/* V9.5.3 team role selection */
.kt-team-person{align-items:center}.kt-team-person .member-identity{min-width:160px;flex:1}.kt-team-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.kt-team-role-label{display:grid;gap:4px;font-size:11px;font-weight:700;color:var(--muted)}
.kt-team-role-label select{min-width:180px;min-height:38px;padding:6px 9px}
@media(max-width:650px){.kt-team-person{display:block}.kt-team-controls{margin-top:8px}.kt-team-role-label{width:100%}.kt-team-role-label select{width:100%}}

/* In der Monteur-Projektansicht nur einen einzigen kompakten Projekttitel anzeigen. */
body:has(.kt-worker-project-head) .heading{display:none}
body:has(.kt-worker-project-head) .kt-worker-project-head{margin-top:3px;padding:3px 0 7px}
body:has(.kt-worker-project-head) .kt-worker-project-head strong{font-size:17px}
body:has(.kt-worker-project-head) .kt-worker-project-head span{font-size:11px}
body:has(.kt-worker-project-head) #plansPane .footer-warning{display:none}

/* V9.5.4 – Mängelfotos markieren: mobile-first, pointer drawing. */
.kt-mark-photo-open{overflow:hidden}
.kt-mark-photo-modal{position:fixed;inset:0;z-index:20000;background:rgba(8,24,34,.94);display:flex;align-items:center;justify-content:center;padding:10px;overflow:auto}
.kt-mark-photo-modal.hidden{display:none!important}
.kt-mark-photo-dialog{width:min(950px,100%);max-height:98dvh;display:flex;flex-direction:column;gap:10px;align-items:stretch;background:#fff;border-radius:13px;padding:14px;overflow:auto;box-shadow:0 16px 60px #09192277}
.kt-mark-photo-dialog h2{font-size:18px;line-height:1.25;margin:0}
.kt-mark-photo-status{font-size:12px;color:#516875;margin:0;min-height:18px}
.kt-mark-photo-stage{display:flex;align-items:center;justify-content:center;min-height:100px;overflow:hidden;flex:1 1 auto}
.kt-mark-photo-stage canvas{display:block;max-width:100%;max-height:60dvh;width:auto;height:auto;touch-action:none;cursor:crosshair;border:1px solid #dce6e8;border-radius:5px}
.kt-mark-photo-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.kt-mark-photo-actions button{min-height:44px;font-weight:650;white-space:normal}
@media(max-width:650px){.kt-mark-photo-modal{padding:5px}.kt-mark-photo-dialog{padding:10px;gap:7px}.kt-mark-photo-actions button{flex:1 1 auto;font-size:12px;padding:9px 7px}.kt-mark-photo-stage canvas{max-height:57dvh}}

/* V9.5.4 – übersichtliche, verständliche Plan-Aktionen */
.kt-plan-hero .actions .kt-open-floor,
.kt-plan-hero .kt-open-position{background:#fff;border:1px solid #67b4ac;color:#0f706e;border-radius:8px;padding:8px 12px;min-height:38px;font-size:13px;font-weight:700;line-height:1.2;white-space:normal;flex:0 0 auto}
.kt-plan-hero .kt-open-position{font-size:12px;min-height:35px;padding:7px 10px;border-color:#d6e4e4}
.kt-plan-positions summary{font-size:13px;padding:8px 0}
@media(max-width:650px){
 .kt-plan-hero{padding:12px;gap:10px}
 .kt-plan-hero .kt-plan-main{min-width:0;flex:1 1 100%}
 .kt-plan-hero .actions{width:100%;justify-content:flex-start;gap:7px}
 .kt-plan-hero .actions button{flex:0 0 auto}
 .kt-plan-positions .file-entry{gap:8px}
}

/* V9.5.5 – einheitliche Regieformular-Kanten und Fahrten je Fahrzeug */
#newRegieForm .kt-regie-basic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px 14px}
#newRegieForm .kt-regie-basic-grid>.field{align-content:start;min-width:0;gap:6px}
#newRegieForm .kt-regie-basic-grid>.field:nth-child(1) input,
#newRegieForm .kt-regie-basic-grid>.field:nth-child(2) input{min-height:46px}
#newRegieForm .kt-regie-basic-grid>.field:nth-child(3) input,
#newRegieForm .kt-regie-basic-grid>.field:nth-child(4) textarea{min-height:94px;height:94px;resize:vertical}
#newRegieForm .kt-regie-images .field-grid{align-items:start;gap:12px 14px}
#newRegieForm .kt-regie-images .field{gap:6px;min-width:0}
#newRegieForm .kt-regie-images .field input{min-height:48px}
#newRegieForm .kt-regie-images .field input[type=file]{height:48px;max-height:48px}
#newRegieForm .kt-regie-worker-item,
#newRegieForm .kt-travel-row{display:grid;align-items:end;gap:8px;margin:8px 0 10px;padding:12px;border:1px solid #dde9e9;background:#fff;border-radius:9px;min-width:0}
#newRegieForm .kt-regie-worker-item{grid-template-columns:minmax(125px,1.4fr) minmax(127px,1.2fr) minmax(85px,.75fr) minmax(85px,.75fr) minmax(92px,.8fr) minmax(80px,.65fr) 42px}
#newRegieForm .kt-travel-row{grid-template-columns:minmax(145px,1.3fr) minmax(145px,1.2fr) minmax(105px,.8fr) minmax(100px,.8fr) 42px}
#newRegieForm .kt-regie-row-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;font-weight:700;color:#44596a}
#newRegieForm .kt-regie-row-field>span{font-size:11px;line-height:1.4;min-height:16px}
#newRegieForm .kt-regie-row-field input,
#newRegieForm .kt-regie-row-field select{margin:0;width:100%;height:43px;min-height:43px;padding:7px 8px;min-width:0;font-size:13px;background:#fff}
#newRegieForm .kt-regie-row-field .kt-net-hours{display:flex;align-items:center;height:43px;margin:0;padding:8px 4px;border:1px solid #e0e8eb;border-radius:7px;font-weight:750;text-align:left}
#newRegieForm .kt-regie-row-remove{align-self:end;width:42px;height:43px;padding:7px;margin:0;min-height:43px}
#newRegieForm .kt-travel-summary{font-size:12px;color:#176960;margin:8px 0 2px}
.kt-mark-photo-modal{overscroll-behavior:contain}
.kt-mark-photo-stage{overscroll-behavior:contain}
.kt-mark-photo-stage canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
@media(max-width:1060px){
 #newRegieForm .kt-regie-worker-item{grid-template-columns:repeat(3,minmax(0,1fr))}
 #newRegieForm .kt-travel-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 #newRegieForm .kt-regie-row-remove{justify-self:end}
}
@media(max-width:620px){
 #newRegieForm .kt-regie-basic-grid{grid-template-columns:1fr;gap:10px}
 #newRegieForm .kt-regie-basic-grid>.field:nth-child(3) input{height:46px;min-height:46px}
 #newRegieForm .kt-regie-worker-item,#newRegieForm .kt-travel-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
 #newRegieForm .kt-regie-worker-item .kt-regie-row-field:first-child{grid-column:1/-1}
 #newRegieForm .kt-travel-row .kt-regie-row-field:first-child{grid-column:1/-1}
 #newRegieForm .kt-regie-row-field input,#newRegieForm .kt-regie-row-field select{font-size:16px}
}

/* V9.6 – kompakte Offline-Leiste nur in der Monteur-Planansicht */
.kt-offline-panel{border:1px solid #bfd2df;border-radius:12px;background:#f3f8fb;padding:14px;margin:12px 0 18px;max-width:100%;}
.kt-offline-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.kt-offline-panel-head span{font-size:0.8rem;color:#475569;}
.kt-offline-panel p{margin:8px 0 10px;}
.kt-offline-panel .actions{gap:8px;flex-wrap:wrap;}
.kt-offline-panel .message{font-size:0.84rem;min-height:1em;overflow-wrap:anywhere;}
@media(max-width:540px){.kt-offline-panel .actions button{flex:1 1 180px;}.kt-offline-panel{padding:12px;}}

/* V9.6.2 – erst die Montagepläne, danach optional Projekt offline speichern */
.kt-offline-choice{margin:20px 0 8px;border-top:1px solid #dbe7ea;padding-top:13px}
.kt-offline-choice>summary{cursor:pointer;list-style-position:inside;color:#305e68;font-size:.91rem;font-weight:700;padding:8px 4px;min-height:42px;display:list-item}
.kt-offline-choice>summary:focus-visible{outline:2px solid #0d827a;outline-offset:2px}
.kt-offline-choice .kt-offline-panel{margin:6px 0 8px;background:#f8fbfc;border:1px solid #d9e5ea}

/* V9.7 – pending offline issues */
.kt-offline-queue{border:1px solid #d9b668;border-radius:12px;padding:12px;margin:14px 0;background:#fffaf0;}
.kt-offline-queue-title{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.kt-offline-queue-title>span{font-size:.8rem;color:#7c5b14;}
.kt-offline-issue-row{padding:8px 0;border-top:1px solid #eadfc4;}
.kt-offline-issue-row strong{display:block;font-weight:700;overflow-wrap:anywhere;}
.kt-offline-issue-row small{display:block;margin-top:3px;color:#665f51;}
.kt-offline-issue-row small.error{color:#a12b25;}
.pin-dot.kt-offline-pin{background:#da9600;color:#fff;pointer-events:none;border:2px solid #fff;}

/* Pilot 1: clearer typographic hierarchy, preserve established functional colors */
.brand b{letter-spacing:.035em;font-size:12px}.brand small{opacity:.85}
.mark{background:#f7f9fa;color:#102b3b;font-size:19px;border-radius:9px}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #377eaa;outline-offset:2px}
@media(max-width:700px){.tabs button{min-height:43px}.brand{padding-bottom:13px}}
