:root {
    color-scheme: light;
    font-family: "Segoe UI", Arial, sans-serif;
    color: #172033;
    background: #f3f6f9;
}

.mobile-day{max-width:900px;margin-inline:auto}.active-clock{position:sticky;top:.5rem;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;margin:1rem 0;background:#fff4c2;border:2px solid #e1b400;border-radius:.75rem}.day-assignment{margin:1rem 0;padding:1rem;border:1px solid #d8e0e8;border-left:6px solid #176b87;border-radius:.75rem;background:#fff}.day-assignment header{display:flex;justify-content:space-between;gap:1rem}.day-assignment h2{margin:.2rem 0}.assignment-time{font-weight:800;color:#176b87}.assignment-status{height:max-content;padding:.25rem .55rem;border-radius:1rem;background:#eef4f7;font-size:.85rem}.mobile-actions{display:grid;grid-template-columns:1fr auto;gap:.6rem;margin-block:1rem}.day-assignment details{margin-block:1rem}.day-assignment details form{display:grid;gap:.5rem;margin-top:.75rem}.danger-button{background:#a52a2a}.secondary-button{background:#52606d}@media(max-width:650px){.content{padding:.6rem}.app-header{align-items:flex-start}.app-header nav{gap:.45rem}.day-assignment header,.active-clock{align-items:stretch;flex-direction:column}.mobile-actions{grid-template-columns:1fr}.mobile-day{padding:.8rem}}

.day-calendar,.week-calendar,.month-calendar{border:1px solid #cbd6df;border-radius:.7rem;overflow:hidden;background:#fff}.day-calendar>header{display:flex;justify-content:space-between;padding:1rem 1.2rem;color:#fff;background:#17365d}.day-timeline{padding:.75rem}.dated-event{display:grid;grid-template-columns:90px 1fr auto;gap:1rem;align-items:center;min-height:74px;padding:.75rem;border-bottom:1px solid #dfe6ec;border-left:6px solid #176b87}.dated-event.task{border-left-color:#d18b00}.dated-event time{font-size:1.1rem;font-weight:800}.dated-event div{display:grid;gap:.15rem}.dated-event div span{color:#176b87;font-weight:700}.dated-event em{font-style:normal}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));overflow-x:auto}.date-column{min-height:390px;border-right:1px solid #dce4ea}.date-column>header{display:flex;justify-content:space-between;padding:.7rem;background:#eef3f6}.date-column.today>header,.month-day.today>header{color:#fff;background:#176b87}.date-column>div{display:grid;gap:.5rem;padding:.45rem}.compact-event{display:grid;gap:.18rem;padding:.5rem;border-left:4px solid #176b87;background:#eef7fa;font-size:.82rem}.compact-event.task{border-left-color:#d18b00;background:#fff7e6}.compact-event time{font-weight:800}.compact-event span{font-weight:700}.compact-event small{overflow:hidden;text-overflow:ellipsis}.calendar-empty{text-align:center;color:#8996a3}.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;background:#17365d;color:#fff;padding:.55rem;border-radius:.7rem .7rem 0 0}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));border-radius:0 0 .7rem .7rem;overflow-x:auto}.month-day,.month-blank{min-height:135px;padding:.4rem;border-right:1px solid #dce4ea;border-bottom:1px solid #dce4ea}.month-day>header{display:flex;justify-content:flex-end;padding:.25rem .4rem}.month-event{display:grid;grid-template-columns:auto 1fr;gap:.15rem .35rem;margin:.2rem 0;padding:.25rem;border-left:3px solid #176b87;background:#eef7fa;font-size:.72rem}.month-event.task{border-left-color:#d18b00;background:#fff7e6}.month-event small{grid-column:1/-1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.week-calendar,.month-calendar,.month-weekdays{min-width:980px}.calendar-cockpit{overflow-x:auto}.dated-event{grid-template-columns:65px 1fr}.dated-event em{grid-column:2}}

.calendar-resources{margin:1rem 0;padding:.8rem;border:1px solid #cbd6df;border-radius:.7rem;background:#f7fafc}.resource-heading{display:flex;justify-content:space-between;margin-bottom:.7rem}.calendar-resource-grid,.resource-employee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.65rem}.calendar-resource-grid>article,.resource-employee{padding:.7rem;border:1px solid #dce4ea;border-radius:.6rem;background:#fff}.calendar-resource-grid header,.resource-employee>header{display:flex;align-items:center;gap:.55rem}.qualification-chips,.team-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.45rem}.qualification-chips span{padding:.22rem .45rem;border-left:5px solid var(--chip-color);border-radius:.3rem;background:color-mix(in srgb,var(--chip-color) 14%,white);font-size:.78rem}.team-chips span{padding:.22rem .45rem;border:1px solid var(--team-color);border-radius:1rem;color:var(--team-color);font-size:.76rem;font-weight:700}.resource-employee details{margin-top:.6rem}.resource-employee details form,.inline-resource-form{display:grid;grid-template-columns:1fr auto auto;gap:.45rem;margin-top:.5rem}

.resource-week-calendar{min-width:1180px;border:1px solid #cbd6df;border-radius:.7rem;overflow:hidden;background:#fff}.resource-week-header,.resource-calendar-row{display:grid;grid-template-columns:260px repeat(7,minmax(125px,1fr))}.resource-week-header{color:#fff;background:#17365d}.resource-week-header>*{padding:.65rem;border-right:1px solid #45617f}.resource-week-header span{display:grid;text-align:center}.resource-week-header .today{background:#176b87}.resource-calendar-row{min-height:105px;border-top:1px solid #dce4ea;border-left:6px solid var(--resource-color)}.resource-calendar-row>header{padding:.65rem;background:#f5f8fa}.resource-calendar-row>header>div:first-child{display:flex;justify-content:space-between;gap:.5rem}.resource-calendar-row>header small{color:#52606d}.resource-calendar-row>header em{display:block;margin-top:.25rem;font-size:.74rem;font-style:normal;color:#52606d}.resource-day-cell{padding:.3rem;border-left:1px solid #dce4ea}.resource-day-cell.today{background:#f0fbfd}.active-team-list{display:grid;gap:.55rem;margin:1rem 0}.active-team-list article{display:flex;justify-content:space-between;align-items:center;padding:.7rem;border-left:7px solid var(--team-color);border-radius:.5rem;background:#f5f8fa}.active-team-list article div{display:grid}.department-form{display:grid;grid-template-columns:1fr auto;gap:.4rem;margin-top:.6rem}@media(max-width:900px){.resource-week-calendar{min-width:1180px}}

* {
    box-sizing: border-box;
}

.calendar-cockpit{max-width:1500px;margin-inline:auto}.calendar-view-switch,.calendar-navigation{display:flex;gap:.5rem;flex-wrap:wrap}.calendar-view-switch a,.calendar-navigation a{padding:.65rem 1rem;border:1px solid #bcc9d4;border-radius:.55rem;text-decoration:none;color:#17365d;background:#fff}.calendar-view-switch a.active{color:#fff;background:#17365d}.calendar-navigation{justify-content:space-between;margin-block:1rem}.calendar-summary{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:.7rem;margin:1rem 0}.calendar-summary span{padding:.8rem;border-radius:.6rem;background:#eef4f7}.calendar-summary strong{display:block;font-size:1.45rem}.calendar-summary .warning{background:#fff0d7;color:#842f16}.employee-schedule-list{display:grid;gap:.8rem}.employee-schedule{display:grid;grid-template-columns:240px 1fr;border:1px solid #d7e0e8;border-radius:.7rem;background:#fff;overflow:hidden}.employee-schedule>header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f4f7fa}.employee-schedule h2{margin:0;font-size:1rem}.employee-avatar{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;color:#fff;background:#176b87;font-weight:800}.employee-events{display:grid;gap:.45rem;padding:.7rem}.calendar-event{display:grid;grid-template-columns:145px 1fr auto;align-items:center;gap:.8rem;padding:.6rem .75rem;border-left:5px solid #176b87;background:#f7fafc}.calendar-event.task-event{border-left-color:#d18b00}.calendar-event time{font-weight:700}.calendar-event div{display:grid}.calendar-event small{color:#52606d}@media(max-width:800px){.calendar-summary{grid-template-columns:repeat(2,1fr)}.employee-schedule{grid-template-columns:1fr}.calendar-event{grid-template-columns:1fr}.calendar-navigation a{flex:1;text-align:center}}
.planning-area-nav{display:flex;gap:.55rem;flex-wrap:wrap;margin:1rem 0;padding:.55rem;border:1px solid #cbd6df;border-radius:.7rem;background:#f7fafc}.planning-area-nav a{padding:.55rem .8rem;border-radius:.5rem;color:#17365d;text-decoration:none;font-weight:700}.planning-area-nav a.active{color:#fff;background:#17365d}

body {
    margin: 0;
}

.app-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem clamp(1rem, 4vw, 3rem);
    color: #fff;
    background: #17365d;
}

.brand {
    color: inherit;
    font-size: 1.1rem;
    font-weight: 650;
    text-decoration: none;
}

.version {
    color: #d7e5f4;
    font-size: 0.875rem;
}

.app-header nav {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.app-header nav a,
.link-button {
    color: #fff;
    font: inherit;
    text-decoration: none;
}

.inline-form {
    display: inline;
}

.link-button {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.content {
    width: min(1100px, calc(100% - 2rem));
    margin: clamp(2rem, 8vw, 6rem) auto;
}

.card {
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid #dce3eb;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 12px 32px rgb(23 54 93 / 8%);
}

.eyebrow {
    margin: 0 0 0.5rem;
    color: #356b45;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

h1 {
    margin: 0 0 1rem;
    font-size: clamp(2rem, 7vw, 3.5rem);
    line-height: 1.05;
}

p {
    line-height: 1.65;
}

.status {
    display: inline-block;
    margin-top: 1rem;
    padding: 0.55rem 0.8rem;
    border-radius: 999px;
    color: #245234;
    background: #e7f5eb;
    font-weight: 650;
}

.account-card {
    max-width: 34rem;
    margin: 0 auto;
}

label,
input,
button {
    display: block;
}

label {
    margin-top: 1rem;
    font-weight: 650;
}

input {
    width: 100%;
    margin-top: 0.35rem;
    padding: 0.75rem;
    border: 1px solid #aeb9c6;
    border-radius: 0.5rem;
    font: inherit;
}

textarea {
    width: 100%; margin-top: 0.35rem; padding: 0.75rem; border: 1px solid #aeb9c6;
    border-radius: 0.5rem; font: inherit; resize: vertical;
}

.wide-card { width: 100%; }
.project-create-page{position:relative;left:50%;width:min(1420px,calc(100vw - 2rem));margin-left:0;transform:translateX(-50%);display:grid;gap:1rem}.project-create-header,.project-create-section{border:1px solid #dce3eb;border-radius:16px;background:#fff;box-shadow:0 12px 32px rgb(23 54 93 / 8%)}.project-create-header{padding:1.5rem 1.8rem}.project-create-header h1{margin:.35rem 0 .4rem;font-size:clamp(2rem,5vw,3rem)}.project-create-header p:last-child{margin:0;color:#657286}.project-create-back{display:inline-block;margin-bottom:1rem;color:#173a63;font-size:.78rem;font-weight:800;text-decoration:none}.project-create-routes{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.project-create-routes>a{display:grid;grid-template-columns:2.2rem 1fr;gap:.15rem .7rem;padding:1rem 1.15rem;border:1px solid #cfdbe4;border-left:5px solid #1f7580;border-radius:12px;color:#173a63;background:#fff;text-decoration:none}.project-create-routes>a.smart-route{border-left-color:#2a805e}.project-create-routes span{grid-row:1/3;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;color:#fff;background:#173a63;font-weight:800}.project-create-routes strong{font-size:1rem}.project-create-routes small{color:#657286}.project-create-section{overflow:hidden}.project-create-section>header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.15rem 1.4rem;border-bottom:1px solid #dfe7ed;background:#f7fafc}.project-create-section>header h2{margin:.1rem 0;font-size:1.3rem}.project-create-section>header>p{max-width:520px;margin:0;color:#657286;text-align:right}.project-create-form,.smart-import-upload,.smart-import-preview{padding:1.2rem 1.4rem}.project-create-fields label{margin-top:.65rem}.project-create-optional,.smart-import-lines{margin-top:1rem;border:1px solid #dbe4ea;border-radius:10px;background:#f8fafc}.project-create-optional>summary,.smart-import-lines>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;cursor:pointer;list-style:none}.project-create-optional>summary::-webkit-details-marker,.smart-import-lines>summary::-webkit-details-marker{display:none}.project-create-optional>summary span,.smart-import-lines>summary span{display:grid;gap:.1rem}.project-create-optional>summary small,.smart-import-lines>summary small{color:#657286;font-weight:400}.project-create-optional>summary b,.smart-import-lines>summary b{color:#0b6961;font-size:.76rem}.project-create-optional[open]>summary,.smart-import-lines[open]>summary{border-bottom:1px solid #dbe4ea}.project-create-optional>.form-grid{padding:0 1rem 1rem}.project-create-actions{justify-content:flex-end}.smart-import-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem}.smart-import-upload label{margin-top:0}.smart-import-upload button,.smart-import-final button{padding:.75rem 1rem;border:0;border-radius:.5rem;color:#fff;background:#17365d;font:inherit;font-weight:700;cursor:pointer}.smart-import-upload small{display:block;margin-top:.35rem;color:#657286}.smart-import-empty{display:grid;gap:.2rem;margin:0 1.4rem 1.4rem;padding:1.1rem;border-radius:10px;color:#657286;background:#f4f7f9;text-align:center}.smart-import-confirmed{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;border-left:5px solid #2a805e;border-radius:8px;background:#edf8f2}.smart-import-confirmed>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;color:#fff;background:#2a805e;font-weight:900}.smart-import-confirmed>div{display:grid}.smart-import-confirmed small{color:#4f675b}.smart-import-facts{display:grid;grid-template-columns:.55fr .8fr 1.65fr;gap:.7rem;margin:1rem 0}.smart-import-facts>div{display:grid;gap:.15rem;padding:.85rem 1rem;border:1px solid #dfe7ed;border-radius:9px;background:#f8fafc}.smart-import-facts span{color:#657286;font-size:.72rem;font-weight:750;text-transform:uppercase}.smart-import-facts strong{color:#173a63}.smart-import-apply{display:grid;gap:1rem}.smart-import-assignment{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:1rem;padding:1rem;border:1px solid #dbe4ea;border-radius:10px}.smart-import-assignment label{margin-top:0}.smart-import-assignment small{display:block;margin-top:.3rem;color:#657286}.smart-import-lines{margin:0}.smart-import-lines .table-scroll{padding:.7rem}.smart-import-lines table{margin:0}.smart-import-final{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem;border-radius:10px;background:#eef4f8}.smart-import-final p{max-width:800px;margin:0;color:#526173;font-size:.88rem}.smart-import-final button{white-space:nowrap}
.smart-import-facts{grid-template-columns:.55fr .8fr 1.45fr 1.2fr}.smart-import-facts small{color:#657286}.smart-import-customer-match,.smart-import-customer-review{margin:-.25rem 1.4rem 1rem;padding:.75rem 1rem;border-radius:8px}.smart-import-customer-match{border-left:5px solid #2a805e;background:#edf8f2;color:#245b45}.smart-import-customer-review{border-left:5px solid #c88a14;background:#fff7e6;color:#77520e}.smart-import-unit-review{display:block;color:#9b6500;font-weight:800}
.smart-import-customer-match,.smart-import-customer-review{margin:-.25rem 0 1rem}
@media(max-width:900px){.project-create-routes,.smart-import-facts,.smart-import-assignment{grid-template-columns:1fr}.project-create-section>header,.smart-import-final{align-items:stretch;flex-direction:column}.project-create-section>header>p{text-align:left}.smart-import-upload{grid-template-columns:1fr}.smart-import-upload button,.smart-import-final button{width:100%}}
@media(max-width:600px){.project-create-page{width:calc(100vw - 10px)}.project-create-header,.project-create-section>header,.project-create-form,.smart-import-upload,.smart-import-preview{padding:1rem}.project-create-routes{gap:.5rem}.project-create-routes>a{padding:.8rem}.project-create-actions{align-items:stretch;flex-direction:column}.project-create-actions button{width:100%}}
.offer-assistant { position: relative; left: 50%; width: calc(100vw - 2rem)!important; max-width: 1680px!important; margin-left: 0; transform: translateX(-50%); }
.offer-calculation-table { min-width: 1320px; font-size: .86rem; }
.offer-calculation-table th:nth-child(2), .offer-calculation-table td:nth-child(2) { min-width: 330px; }
.offer-calculation-table td { vertical-align: top; }
.offer-calculation-table small { display: block; margin-top: .2rem; color: #526173; }
.offer-display-legend { display:flex; flex-wrap:wrap; gap:1rem; margin:.75rem 0; font-size:.88rem; }
.offer-display-legend span { display:flex; align-items:center; gap:.4rem; }
.offer-display-legend i { width:.7rem; height:.7rem; border-radius:50%; background:#2d7d55; }
.offer-display-legend .mode-grouped { background:#2076a3; }
.offer-display-legend .mode-internal { background:#7a8796; }
.offer-calculation-table tr.offer-mode-grouped { box-shadow:inset 4px 0 #2076a3; }
.offer-calculation-table tr.offer-mode-internal { box-shadow:inset 4px 0 #7a8796; background:#f4f6f8; }
.offer-calculation-table tr.offer-mode-individual { box-shadow:inset 4px 0 #2d7d55; }
.position-calculation-form select { width:100%; }
.offer-document-actions { display:flex; gap:.6rem; flex-wrap:wrap; margin:1rem 0; }
.print-offer { max-width: 210mm; margin: 0 auto; background:#fff; }
.print-offer-header { display:flex; justify-content:space-between; gap:2rem; border-bottom:2px solid #17365d; padding-bottom:1rem; }
.print-offer table { font-size:.9rem; }
.print-offer td small { display:block; white-space:pre-line; margin-top:.3rem; color:#313b47; }
.print-offer .offer-total { margin-left:auto; width:min(100%,360px); font-size:1.1rem; }
.print-offer .offer-total div { display:flex; justify-content:space-between; padding:.35rem 0; }
@media print { .app-header,.no-print { display:none!important; } body{background:#fff}.content{width:100%;margin:0}.card,.print-offer{border:0;box-shadow:none;padding:0}.print-offer table{font-size:9pt} }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.primary-link { display: inline-block; padding: 0.7rem 1rem; border-radius: 0.5rem; color: #fff; background: #17365d; text-decoration: none; font-weight: 650; }
.search-form { margin: 1.5rem 0; }
.search-row { display: grid; grid-template-columns: 1fr auto; gap: 0.6rem; align-items: end; }
.search-row button, .customer-form button { padding: 0.75rem 1rem; border: 0; border-radius: 0.5rem; color: #fff; background: #17365d; font: inherit; font-weight: 650; cursor: pointer; }
.empty-state { padding: 2rem; text-align: center; color: #526173; background: #f7f9fb; border-radius: 0.75rem; }
.form-grid, .detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.25rem 1rem; }
.span-two { grid-column: 1 / -1; }
.form-grid small { display: block; margin-top: 0.35rem; color: #526173; }
.form-actions { display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.detail-grid { margin: 1.5rem 0 2rem; }
.detail-grid > div { padding: 1rem; background: #f7f9fb; border-radius: 0.6rem; }
dt { color: #526173; font-size: 0.85rem; font-weight: 650; }
dd { margin: 0.3rem 0 0; line-height: 1.5; }
.preserve-lines { white-space: pre-line; }
.history-list { padding: 0; list-style: none; }
.history-list li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.85rem 0; border-bottom: 1px solid #dce3eb; }
.history-list span { color: #526173; }

@media (max-width: 700px) {
    .app-header, .page-heading { align-items: flex-start; flex-direction: column; }
    .app-header nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: 0.4rem 0.7rem; }
    .app-header nav a, .app-header nav form { min-width: 0; }
    .app-header nav a, .app-header .link-button { padding: 0.35rem 0; }
    .content { width: min(100% - 1rem, 1100px); margin: 1rem auto; }
    .card { padding: 1.25rem; }
    .form-grid, .detail-grid, .search-row { grid-template-columns: 1fr; }
    .span-two { grid-column: auto; }
    .history-list li { flex-direction: column; }
}

.board-card { width: min(1450px, calc(100vw - 2rem)); margin-left: 50%; transform: translateX(-50%); }
.kanban { display: grid; grid-template-columns: repeat(5, minmax(210px, 1fr)); gap: 0.8rem; overflow-x: auto; padding: 0.5rem 0 1rem; }
.kanban-column { align-self: start; min-height: 16rem; padding: 0.8rem; border-radius: 0.75rem; background: #eef2f6; }
.kanban-column:not([open]) { min-height: 0; }
.kanban-column-header { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 0.55rem; align-items: center; margin: 0; font-size: 1rem; font-weight: 700; cursor: pointer; list-style: none; }
.kanban-column-header::-webkit-details-marker { display: none; }
.kanban-column-header::after { content: "›"; color: #526173; font-size: 1.35rem; line-height: 1; transform: rotate(90deg); transition: transform 120ms ease; }
.kanban-column:not([open]) .kanban-column-header::after { transform: rotate(0deg); }
.kanban-column-header:focus-visible { outline: 3px solid #8eb1d6; outline-offset: 0.3rem; border-radius: 0.25rem; }
.kanban-column-content { margin-top: 0.8rem; }
.count { min-width: 1.6rem; padding: 0.15rem 0.4rem; border-radius: 999px; text-align: center; color: #245234; background: #d9ecdf; }
.project-ticket { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 0.65rem; padding: 0.85rem; border: 1px solid #d5dde6; border-radius: 0.6rem; color: inherit; background: #fff; text-decoration: none; box-shadow: 0 3px 8px rgb(23 54 93 / 7%); }
.project-ticket:hover { border-color: #7c93ae; }
.project-ticket small, .column-empty { color: #526173; }
.status-form { display: grid; grid-template-columns: 1fr auto; gap: 0.5rem; align-items: end; margin: 1.5rem 0; padding: 1rem; border-radius: 0.7rem; background: #f7f9fb; }
.status-form label { grid-column: 1 / -1; margin: 0; }
.status-form select { margin: 0; }
.status-form button { padding: 0.75rem 1rem; border: 0; border-radius: 0.5rem; color: #fff; background: #17365d; font: inherit; font-weight: 650; cursor: pointer; }
.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}.dashboard-grid a{display:flex;flex-direction:column;padding:1.25rem;border:1px solid #dce3eb;border-radius:.8rem;color:inherit;text-decoration:none;background:#f7f9fb}.dashboard-grid strong{font-size:2rem;color:#17365d}.dashboard-grid .alert-tile{border-color:#cf7777;background:#fff4f4}.view-switch{display:flex;gap:.5rem}.view-switch a{padding:.55rem .8rem;border-radius:.5rem;text-decoration:none}.view-switch .active{color:#fff;background:#17365d}.create-panel{margin:1.5rem 0;padding:1rem;border:1px solid #dce3eb;border-radius:.7rem}.create-panel summary{cursor:pointer;font-weight:650}.task-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid #dce3eb}.task-row>div{display:flex;flex-direction:column;gap:.3rem}.task-row small{color:#526173}.task-row.overdue{border-left:4px solid #b42318;padding-left:.8rem}.task-row form{display:flex;gap:.4rem}.task-row form select{margin:0}.task-row button{padding:.65rem;border:0;border-radius:.4rem;color:#fff;background:#17365d}@media(max-width:800px){.dashboard-grid{grid-template-columns:1fr 1fr}.task-row{grid-template-columns:1fr}.task-row form{flex-direction:column}}

select {
    width: 100%;
    margin-top: 0.35rem;
    padding: 0.75rem;
    border: 1px solid #aeb9c6;
    border-radius: 0.5rem;
    background: #fff;
    font: inherit;
}

.check-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.check-label input {
    width: auto;
    margin: 0;
}

.table-wrap {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 0.75rem 0.5rem;
    border-bottom: 1px solid #dce3eb;
    text-align: left;
}

.danger-button {
    padding: 0.4rem 0.65rem;
    border: 1px solid #9b1c1c;
    border-radius: 0.4rem;
    color: #9b1c1c;
    background: #fff;
    cursor: pointer;
}

.account-card button[type="submit"] {
    margin-top: 1.5rem;
    padding: 0.75rem 1rem;
    border: 0;
    border-radius: 0.5rem;
    color: #fff;
    background: #17365d;
    font: inherit;
    font-weight: 650;
    cursor: pointer;
}

.validation {
    color: #9b1c1c;
}
.record-actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.5rem; }
.record-actions form { margin:0; }
.user-rights-form { display:grid; grid-template-columns:minmax(10rem,1fr) auto auto auto; gap:.75rem; align-items:center; }
.user-rights-form select { margin:0; }
.user-rights-form label { margin:0; white-space:nowrap; }
.user-rights-form button { padding:.65rem .8rem; border:0; border-radius:.4rem; color:#fff; background:#17365d; }
@media(max-width:800px){.user-rights-form{grid-template-columns:1fr}.user-rights-form label{white-space:normal}}
.onboarding-table input[type="email"],.onboarding-table select{min-width:12rem;margin:0}.onboarding-result{margin:1.5rem 0;padding:1rem;border:2px solid #2d6a4f;border-radius:.7rem;background:#edf7f0}.onboarding-result code{font-size:1rem;font-weight:700;color:#17365d}.onboarding-table .validation{display:block;max-width:18rem;font-size:.82rem}.password-generation-note{display:inline-block;padding:.4rem .6rem;border-radius:.45rem;color:#245234;background:#e7f5eb;font-size:.84rem;font-weight:650}.onboarding-submit-bar{position:sticky;top:.5rem;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;padding:.8rem 1rem;border:1px solid #8fb5a0;border-radius:.65rem;background:#edf7f0;box-shadow:0 4px 14px rgb(23 54 93 / 12%)}.onboarding-submit-bar button{flex:none}
@media(max-width:900px){
    .onboarding-table,.onboarding-table tbody,.onboarding-table tr,.onboarding-table td{display:block;width:100%}
    .onboarding-table thead{display:none}
    .onboarding-table tr{margin-bottom:.8rem;padding:.85rem;border:1px solid #cbd6e0;border-radius:.7rem;background:#f8fafc}
    .onboarding-table td{display:grid;grid-template-columns:minmax(9rem,.42fr) minmax(0,1fr);gap:.65rem;align-items:center;padding:.45rem 0;border:0}
    .onboarding-table td::before{content:attr(data-label);font-size:.82rem;font-weight:700;color:#526173}
    .onboarding-table td.onboarding-name{padding-bottom:.75rem;border-bottom:1px solid #dce3eb}
    .onboarding-table input[type="email"],.onboarding-table select{min-width:0;width:100%}
}
@media(max-width:520px){
    .app-header nav{grid-template-columns:repeat(2,minmax(0,1fr))}
    .onboarding-table td{grid-template-columns:1fr;gap:.25rem}
    .onboarding-submit-bar{align-items:stretch;flex-direction:column}
    .onboarding-submit-bar button{width:100%}
}
.onboarding-person-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1rem;margin-top:1.25rem}.onboarding-person-card{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem;padding:1rem;border:1px solid #cbd6e0;border-radius:.75rem;background:#f8fafc}.onboarding-person-card.has-error{border:2px solid #9b1c1c}.onboarding-person-card header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid #dce3eb}.onboarding-person-card header div{display:grid;gap:.2rem}.onboarding-person-card header span{color:#526173;font-size:.8rem;font-weight:650}.onboarding-person-card header strong{font-size:1.1rem}.onboarding-person-card label{margin:0}.onboarding-person-card button{grid-column:1/-1;padding:.75rem 1rem;border:0;border-radius:.5rem;color:#fff;background:#17365d;font:inherit;font-weight:700;cursor:pointer}.onboarding-person-card button:hover{background:#244e7c}.onboarding-validation:not(:empty){margin:1rem 0;padding:.8rem;border-left:4px solid #9b1c1c;background:#fff4f4}.credential-details{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.credential-details div{padding:.75rem;border-radius:.5rem;background:#fff}.credential-details code{font-size:1.05rem;font-weight:800}@media(max-width:650px){.onboarding-person-list{grid-template-columns:1fr}.onboarding-person-card{grid-template-columns:1fr}.onboarding-person-card header,.onboarding-person-card button{grid-column:1}.onboarding-person-card header{align-items:flex-start;flex-direction:column}.credential-details{grid-template-columns:1fr}}
.heading-actions { display:flex; align-items:center; gap:1rem; }
.assistant-notice { margin:1.5rem 0; padding:1rem; border-left:4px solid #c58a1b; background:#fff8e8; }
.assistant-result { margin-top:2rem; padding:1.25rem; border:1px solid #cbd8e6; border-radius:.8rem; background:#f7f9fb; }
.assistant-result button { padding:.75rem 1rem; border:0; border-radius:.5rem; color:#fff; background:#356b45; font:inherit; font-weight:650; }
fieldset { margin:1rem 0; border:1px solid #dce3eb; border-radius:.6rem; } legend { font-weight:650; }
.result-numbers { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:1rem 0; }
.result-numbers div { display:flex; flex-direction:column; padding:1rem; border-radius:.6rem; background:#fff; }
.result-numbers strong { font-size:1.7rem; color:#17365d; }
.official-imagery { margin:1.5rem 0 0; }.official-imagery img{display:block;width:100%;max-height:720px;object-fit:contain;border:1px solid #bac7d5;background:#eef2f6}.official-imagery figcaption{padding:.65rem;color:#526173;font-size:.85rem;background:#f7f9fb}
.pv-planner-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:1.5rem;margin-top:1.5rem;align-items:start}.pv-planner-map,.pv-planner-input{border:1px solid #d8e0e8;border-radius:12px;padding:1.25rem;background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem}.planner-imagery{margin:.75rem 0 0}.planner-imagery img{aspect-ratio:5/4;object-fit:cover}.planner-placeholder{display:grid;place-items:center;min-height:360px;text-align:center;padding:2rem;background:#f5f8fa;border:1px dashed #aab8c6;border-radius:8px}.planner-placeholder p{margin:.35rem 0 1rem}.planner-checks{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.planner-checks span{padding:.35rem .65rem;border-radius:999px;font-size:.85rem;font-weight:700}.check-ok{background:#ddf3e6;color:#176b3a}.check-open{background:#fff0d5;color:#855800}.planner-note{padding:.75rem;background:#f7f9fb;border-radius:8px}.planner-form{grid-template-columns:1fr}.pv-planner-input h2,.pv-planner-map h2{margin-top:0}
@media(max-width:1050px){.pv-planner-layout{grid-template-columns:1fr}.planner-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.planner-form{grid-template-columns:1fr}.planner-placeholder{min-height:240px}}
.single-line-diagram{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;margin:1rem 0;padding:1.25rem;background:#f5f8fa;border:1px solid #cbd6e0;border-radius:10px}.single-line-diagram div{min-width:135px;padding:1rem;text-align:center;background:#fff;border:2px solid #315b78;border-radius:6px;font-weight:700}.single-line-diagram span{color:#315b78;font-weight:800}.technical-package footer{margin-top:2rem;padding-top:1rem;border-top:1px solid #ccd5df;color:#526173}@media print{nav,.sidebar,.page-heading a,.technical-package .assistant-notice{display:none!important}.card{box-shadow:none;border:0}.technical-package{font-size:10pt}}
.image-upload{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:end;margin:1.25rem 0}.image-upload small,.gallery-card small{display:block;color:#526173;margin-top:.35rem}.project-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.gallery-card{overflow:hidden;border:1px solid #cbd6e0;border-radius:10px;background:#fff}.gallery-card.primary-image{border:3px solid #315b78}.gallery-card img{display:block;width:100%;height:220px;object-fit:cover;background:#eef2f6}.gallery-card>div{padding:1rem}.image-badge{float:right;padding:.2rem .5rem;border-radius:999px;background:#315b78;color:#fff;font-size:.75rem}.gallery-card .record-actions{margin-top:.75rem}@media(max-width:800px){.image-upload{grid-template-columns:1fr}}
.site-report-image-badge{margin-left:.35rem;background:#356b45}
.product-selection-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;padding:1rem;border:1px solid #cbd6e0;border-radius:10px;background:#f7f9fb}.product-selection-summary div{display:flex;flex-direction:column;gap:.25rem}.product-selection-summary span{color:#526173}@media(max-width:650px){.product-selection-summary{align-items:stretch;flex-direction:column}}
.roof-layout-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.25rem;margin-top:1rem;align-items:start}.roof-layout-workspace canvas{display:block;width:100%;height:auto;background:#e8eef3;border:2px solid #315b78;border-radius:8px;cursor:crosshair}.layout-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.roof-layout-workspace form{position:sticky;top:1rem;padding:1rem;border:1px solid #cbd6e0;border-radius:10px;background:#f7f9fb}@media(max-width:900px){.roof-layout-workspace{grid-template-columns:1fr}.roof-layout-workspace form{position:static}}
.roof-canvas-viewport{width:100%;max-height:72vh;overflow:auto;border-radius:8px;background:#dce5ec}.roof-canvas-viewport canvas{transform-origin:top left}.zoom-level{display:inline-flex;align-items:center;padding:0 .5rem;font-weight:800;color:#315b78}
.project-workflow{max-width:1400px;margin:0 auto 1.25rem;padding:1rem;border:1px solid #cbd6e0;border-radius:12px;background:#fff}.project-workflow ol{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none}.project-workflow li a{display:flex;align-items:center;gap:.5rem;min-height:48px;padding:.55rem;border-radius:8px;color:#526173;text-decoration:none;font-size:.9rem;font-weight:650}.project-workflow li span{display:grid;place-items:center;flex:0 0 26px;height:26px;border:1px solid #9aabb9;border-radius:50%;background:#fff}.project-workflow li.complete a{color:#356b45}.project-workflow li.complete span{border-color:#356b45;background:#e5f3e9}.project-workflow li.current a{color:#fff;background:#17365d}.project-workflow li.current span{border-color:#fff;background:#fff;color:#17365d}.workflow-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #dce3eb}.workflow-actions .workflow-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:210px;margin:0}.workflow-actions .workflow-next{margin-left:auto}@media(max-width:900px){.project-workflow ol{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.project-workflow ol{grid-template-columns:1fr}.workflow-actions{align-items:stretch;flex-direction:column}.workflow-actions .workflow-button{width:100%;min-width:0;margin-left:0}}
.module-selection-grid,.module-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1rem 0}.module-choice,.module-card{display:flex;flex-direction:column;gap:.55rem;padding:1rem;border:1px solid #cbd5e1;border-radius:12px;background:#fff}.module-choice{cursor:pointer}.module-choice input{width:auto;align-self:flex-start}.module-choice:has(input:checked),.module-card.active{border-color:#0f766e;background:#f0fdfa}.module-choice strong,.module-card h3{font-size:1.05rem}.module-choice span,.module-card p,.module-card li{color:#475569}.module-card.planned{border-style:dashed;background:#f8fafc}.module-links{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.module-card ol{margin:.2rem 0 1rem;padding-left:1.25rem}
.planning-checkline{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.planning-checkline span{padding:.55rem .75rem;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#334155}
.module-start-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.module-start-actions button{margin:0}
.project-workflow-compact ol{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.module-subworkflow{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:.75rem 0 1.25rem;padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}.module-subworkflow ol{display:flex;gap:.5rem;flex-wrap:wrap;list-style:none;margin:0;padding:0}.module-subworkflow li a{display:block;padding:.45rem .7rem;border-radius:8px;text-decoration:none;background:#fff;border:1px solid #cbd5e1}.module-subworkflow li.current a{background:#0f766e;color:#fff;border-color:#0f766e}.module-subworkflow li.complete a{border-color:#5eead4}

/* Einheitliche Ressourcenmatrix für Tag, Woche und Monat. */
.resource-calendar-scroll{width:100%;overflow-x:auto;border-radius:.7rem}
.resource-calendar-scroll .resource-week-calendar{min-width:var(--calendar-min-width);width:100%}
.resource-calendar-scroll .resource-week-header,
.resource-calendar-scroll .resource-calendar-row{grid-template-columns:260px repeat(var(--calendar-columns),minmax(125px,1fr))}
.resource-calendar-scroll .resource-day{min-width:100%}
.resource-calendar-scroll .resource-month{width:var(--calendar-min-width)}
.resource-calendar-scroll .resource-month .resource-day-cell{min-height:72px}
.resource-calendar-scroll .resource-month .compact-event{font-size:.72rem;padding:.3rem}
.department-calendar{margin:1rem 0;border:1px solid #cbd6df;border-radius:.75rem;background:#fff;overflow:hidden}
.department-calendar>summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;cursor:pointer;color:#fff;background:#17365d}
.department-calendar>summary strong{font-size:1.1rem}.department-calendar>summary span{font-size:.85rem;color:#dce8f2}
.department-calendar[open]>summary{background:#176b87}
.calendar-entry-actions{display:flex;gap:.5rem;flex-wrap:wrap}.calendar-entry-actions a{padding:.4rem .65rem;border:1px solid #9eb1c1;border-radius:.45rem;text-decoration:none;background:#fff}
.resource-entry-layer{z-index:2;display:grid;grid-column:2/-1;grid-row:1;grid-template-columns:repeat(var(--calendar-columns),minmax(125px,1fr));grid-auto-rows:minmax(34px,auto);gap:.25rem;padding:.35rem;pointer-events:none}
.calendar-bar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.15rem .4rem;align-items:center;min-height:32px;padding:.3rem .5rem;border-left:5px solid #176b87;border-radius:.35rem;background:#dff2f6;box-shadow:0 1px 3px #17365d33;font-size:.76rem;overflow:hidden;pointer-events:auto}
.calendar-bar.task{border-left-color:#d18b00;background:#fff1cf}.calendar-bar time{font-weight:800}.calendar-bar strong,.calendar-bar small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-bar small{grid-column:1/-1;color:#52606d}
.resource-day-cell{grid-row:1;min-height:100%;background-image:linear-gradient(to bottom,#ffffff00,#eef3f655)}

/* Mitarbeiter als Spalten, Kalendertage als durchgehende Zeilen. */
.employee-calendar-scroll{width:100%;overflow:auto;background:#fff}
.employee-column-calendar{min-width:100%}
.employee-column-head,.employee-column-body{display:grid;grid-template-columns:112px;grid-auto-columns:minmax(150px,1fr);grid-auto-flow:column;min-width:100%}
.employee-column-head{position:sticky;top:0;z-index:6;color:#17365d;background:#fff;border-bottom:2px solid #17365d}
.employee-column-head>strong{position:sticky;left:0;z-index:8;display:grid;place-items:center;padding:.7rem;background:#edf3f7;border-right:2px solid #9eacb8}
.employee-column-head>header{min-height:72px;padding:.45rem;border-left:1px solid #8f9da8;border-top:6px solid #176b87;text-align:center}
.employee-column-head>header>strong{display:block}.employee-column-head>header small{display:block;color:#52606d;font-size:.72rem}.employee-column-head details summary{cursor:pointer;font-size:.72rem;color:#176b87}
.date-axis,.employee-schedule{display:grid;grid-auto-rows:minmax(58px,1fr);position:relative}
.date-axis{position:sticky;left:0;z-index:4;border-right:2px solid #9eacb8}
.date-axis>div{display:flex;align-items:flex-start;padding:.42rem;border-bottom:1px solid #9eacb8;background:#f7f9fb;font-size:.78rem}.date-axis>div.today{color:#fff;background:#176b87}
.employee-schedule{grid-template-columns:1fr;border:0;border-left:1px solid #8f9da8;border-radius:0;background:#e3edf3;overflow:visible}
.employee-day-cell{min-height:58px;border-bottom:1px solid #8f9da8}.employee-day-cell:nth-child(even){background:#ffffff26}.employee-day-cell.today{background:#fff7c480;box-shadow:inset 0 0 0 2px #d18b00}
.vertical-entry-layer{position:absolute;inset:0;z-index:2;display:grid;grid-auto-rows:58px;grid-auto-columns:minmax(52px,1fr);grid-auto-flow:column;gap:.2rem;padding:.25rem;pointer-events:none}
.vertical-calendar-bar{display:flex;flex-direction:column;min-width:0;padding:.35rem;border-left:5px solid #176b87;border-radius:.35rem;background:#dff2f6;box-shadow:0 1px 3px #17365d44;overflow:hidden;font-size:.74rem;pointer-events:auto}
.vertical-calendar-bar.task{border-left-color:#d18b00;background:#fff1cf}.vertical-calendar-bar.appointment{border-left-color:#7b4ca0;background:#f1e8f7}.vertical-calendar-bar strong,.vertical-calendar-bar small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vertical-calendar-bar small{color:#52606d}
.user-column-color-1{background:#b8def0}.user-column-color-2{background:#f7df8c}.user-column-color-3{background:#ace0b7}.user-column-color-4{background:#efa9d4}
.user-column-color-5{background:#8edfd8}.user-column-color-6{background:#f3bf8d}.user-column-color-7{background:#d2d4d5}.user-column-color-8{background:#d9ad95}
.user-column-color-9{background:#a9dc78}.user-column-color-10{background:#f18f84}.user-column-color-11{background:#ee8de2}.user-column-color-12{background:#c9a8dc}
.employee-day-cell:nth-child(even){background-color:#ffffff33}
.day-start-1{grid-row-start:1}.day-start-2{grid-row-start:2}.day-start-3{grid-row-start:3}.day-start-4{grid-row-start:4}.day-start-5{grid-row-start:5}.day-start-6{grid-row-start:6}.day-start-7{grid-row-start:7}.day-start-8{grid-row-start:8}
.day-start-9{grid-row-start:9}.day-start-10{grid-row-start:10}.day-start-11{grid-row-start:11}.day-start-12{grid-row-start:12}.day-start-13{grid-row-start:13}.day-start-14{grid-row-start:14}.day-start-15{grid-row-start:15}.day-start-16{grid-row-start:16}
.day-start-17{grid-row-start:17}.day-start-18{grid-row-start:18}.day-start-19{grid-row-start:19}.day-start-20{grid-row-start:20}.day-start-21{grid-row-start:21}.day-start-22{grid-row-start:22}.day-start-23{grid-row-start:23}.day-start-24{grid-row-start:24}
.day-start-25{grid-row-start:25}.day-start-26{grid-row-start:26}.day-start-27{grid-row-start:27}.day-start-28{grid-row-start:28}.day-start-29{grid-row-start:29}.day-start-30{grid-row-start:30}.day-start-31{grid-row-start:31}
.day-span-1{grid-row-end:span 1}.day-span-2{grid-row-end:span 2}.day-span-3{grid-row-end:span 3}.day-span-4{grid-row-end:span 4}.day-span-5{grid-row-end:span 5}.day-span-6{grid-row-end:span 6}.day-span-7{grid-row-end:span 7}.day-span-8{grid-row-end:span 8}
.day-span-9{grid-row-end:span 9}.day-span-10{grid-row-end:span 10}.day-span-11{grid-row-end:span 11}.day-span-12{grid-row-end:span 12}.day-span-13{grid-row-end:span 13}.day-span-14{grid-row-end:span 14}.day-span-15{grid-row-end:span 15}.day-span-16{grid-row-end:span 16}
.day-span-17{grid-row-end:span 17}.day-span-18{grid-row-end:span 18}.day-span-19{grid-row-end:span 19}.day-span-20{grid-row-end:span 20}.day-span-21{grid-row-end:span 21}.day-span-22{grid-row-end:span 22}.day-span-23{grid-row-end:span 23}.day-span-24{grid-row-end:span 24}
.day-span-25{grid-row-end:span 25}.day-span-26{grid-row-end:span 26}.day-span-27{grid-row-end:span 27}.day-span-28{grid-row-end:span 28}.day-span-29{grid-row-end:span 29}.day-span-30{grid-row-end:span 30}.day-span-31{grid-row-end:span 31}
.department-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}
.department-calendar-grid>.department-calendar{margin:0;min-width:0}
.department-calendar-grid>.department-calendar[open]{grid-column:1/-1}
.department-calendar-grid>.department-calendar:not([open])>summary{min-height:78px;flex-direction:column;align-items:flex-start;justify-content:center}
@media(max-width:850px){.department-calendar-grid{grid-template-columns:1fr}.department-calendar-grid>.department-calendar[open]{grid-column:auto}}

/* Stundenraster der Tagesansicht. */
.resource-kind{display:inline-block;margin:.15rem 0;padding:.1rem .4rem;border-radius:1rem;color:#fff;background:#17365d;font-size:.68rem;font-weight:800;text-transform:uppercase}
.day-hour-body{display:grid;grid-template-columns:112px;grid-auto-columns:minmax(150px,1fr);grid-auto-flow:column;min-width:100%}
.hour-axis,.hour-schedule{display:grid;grid-auto-rows:64px;position:relative}
.hour-axis{position:sticky;left:0;z-index:4;border-right:2px solid #9eacb8;background:#fff}
.hour-axis>div{padding:.4rem;border-bottom:1px solid #9eacb8;color:#52606d;background:#f7f9fb;font-size:.78rem}
.hour-schedule{grid-template-columns:1fr;border-left:1px solid #8f9da8}
.hour-cell{min-height:64px;border-bottom:1px solid #8f9da8;background:#ffffff24}
.hour-cell:nth-child(even){background:#ffffff45}
.hour-entry-layer{position:absolute;inset:0;z-index:2;display:grid;grid-auto-rows:64px;grid-auto-columns:minmax(64px,1fr);grid-auto-flow:column;gap:.2rem;padding:.2rem;pointer-events:none}
.hour-calendar-entry{display:flex;flex-direction:column;min-width:0;padding:.35rem;border-left:5px solid #176b87;border-radius:.35rem;background:#dff2f6;box-shadow:0 1px 3px #17365d44;overflow:hidden;font-size:.74rem;pointer-events:auto}
.hour-calendar-entry.task{border-left-color:#d18b00;background:#fff1cf}.hour-calendar-entry.appointment{border-left-color:#7b4ca0;background:#f1e8f7}.hour-calendar-entry strong,.hour-calendar-entry small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hour-calendar-entry small{color:#52606d}
.hour-start-1{grid-row-start:1}.hour-start-2{grid-row-start:2}.hour-start-3{grid-row-start:3}.hour-start-4{grid-row-start:4}.hour-start-5{grid-row-start:5}.hour-start-6{grid-row-start:6}.hour-start-7{grid-row-start:7}.hour-start-8{grid-row-start:8}
.hour-start-9{grid-row-start:9}.hour-start-10{grid-row-start:10}.hour-start-11{grid-row-start:11}.hour-start-12{grid-row-start:12}.hour-start-13{grid-row-start:13}.hour-start-14{grid-row-start:14}.hour-start-15{grid-row-start:15}
.hour-span-1{grid-row-end:span 1}.hour-span-2{grid-row-end:span 2}.hour-span-3{grid-row-end:span 3}.hour-span-4{grid-row-end:span 4}.hour-span-5{grid-row-end:span 5}.hour-span-6{grid-row-end:span 6}.hour-span-7{grid-row-end:span 7}.hour-span-8{grid-row-end:span 8}
.hour-span-9{grid-row-end:span 9}.hour-span-10{grid-row-end:span 10}.hour-span-11{grid-row-end:span 11}.hour-span-12{grid-row-end:span 12}.hour-span-13{grid-row-end:span 13}.hour-span-14{grid-row-end:span 14}.hour-span-15{grid-row-end:span 15}

/* Eigenständiges Cockpit statt einer zweiten Kalenderseite. */
.cockpit-home{max-width:1500px;margin-inline:auto}.cockpit-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.25rem}.cockpit-overview-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem;margin-top:1.25rem}.cockpit-panel{padding:1rem;border:1px solid #dce3eb;border-radius:.75rem;background:#f8fafc}.cockpit-list,.cockpit-project-list{display:grid;gap:.55rem}.cockpit-list article{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.7rem;border-radius:.55rem;background:#fff}.cockpit-list article div{display:grid}.cockpit-list time,.cockpit-list em{font-size:.82rem;font-style:normal}.cockpit-list span,.cockpit-list small,.cockpit-project-list small{color:#526173}.cockpit-project-list a{display:grid;gap:.2rem;padding:.7rem;border-radius:.55rem;color:inherit;text-decoration:none;background:#fff}.cockpit-project-list a:hover{background:#edf4f8}.cockpit-quick-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.25rem}.cockpit-quick-actions a{padding:.7rem 1rem;border-radius:.5rem;color:#fff;text-decoration:none;background:#17365d}

/* Teamaufbau nur aus registrierten Benutzern. */
.qualification-chips span{border-left-color:var(--chip-color,#365f91);background:#eef3f8}.team-chips span{border-color:var(--team-color,#176b87);color:var(--team-color,#176b87)}
.resource-heading>div:first-child{display:grid;gap:.15rem}.resource-heading>div:first-child small{max-width:760px;color:#526173}.calendar-team-chips{margin-top:.3rem}.calendar-team-chips span{white-space:normal;line-height:1.2}
.team-builder>form{display:grid;gap:1rem;margin-top:1rem}.team-name-row,.team-validity-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,1fr);gap:1rem}.team-name-row{grid-template-columns:minmax(240px,1fr) 110px}.team-name-row input,.team-validity-row input{margin:0}.team-validity-row.compact{margin:.6rem 0}.team-member-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.55rem;padding:.8rem}.team-member-picker label{display:flex;align-items:center;gap:.6rem;margin:0;padding:.55rem;border:1px solid #cbd6df;border-radius:.5rem;background:#fff;cursor:pointer}.team-member-picker input{width:auto;margin:0}.team-member-picker label span{display:grid}.team-member-picker label small{color:#526173}.team-member-picker.compact{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.team-management-section{margin:1.5rem 0}.team-management-card{display:grid!important;grid-template-columns:minmax(240px,1fr) minmax(280px,1.4fr) auto;gap:1rem;border-left:7px solid var(--team-color,#176b87)!important}.team-management-card>div{align-self:center}.team-management-card>div small{display:block;margin-top:.3rem;color:#526173}.team-management-card details{margin:0}.team-management-card details summary{cursor:pointer;font-weight:700}.team-management-card form{margin:0}.team-management-card .team-member-picker{margin:.6rem 0}.resource-employee>header small{color:#526173}.membership-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.55rem!important}.membership-form label{display:grid;gap:.25rem}.membership-form label:has(input[type=checkbox]){display:flex;align-items:center}.membership-form button{align-self:end}
@media(max-width:900px){.cockpit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-overview-grid{grid-template-columns:1fr}.team-management-card{grid-template-columns:1fr!important}.team-name-row,.team-validity-row,.membership-form{grid-template-columns:1fr!important}.day-hour-calendar{min-width:760px}}

/* Operative Planungszentrale */
.planning-center{width:min(1500px,100%);margin:0 auto;color:#172033}
.planning-center-head,.planning-toolbar,.planning-center-body,.planning-quick-actions,.planning-upcoming{background:#fff;border:1px solid #d9e2ea}
.planning-center-head{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.4rem 1.6rem;border-radius:14px 14px 0 0;border-bottom:0}
.planning-center-head h1{margin:.1rem 0 .25rem;font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.05;letter-spacing:-.035em}.planning-center-head p:last-child{margin:0;color:#617084}.planning-week-nav{display:flex;align-items:center;gap:.7rem}.planning-week-nav a{display:grid;place-items:center;width:40px;height:40px;border:1px solid #c8d3dd;border-radius:7px;color:#173a63;background:#f5f8fa;text-decoration:none;font-size:1.6rem}.planning-week-nav strong{min-width:180px;text-align:center}.planning-status{margin:0;padding:.75rem 1.6rem;border-radius:0}
.planning-toolbar{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;padding:.8rem 1.5rem;border-bottom:0}.planning-mode-switch{display:flex;gap:.4rem}.planning-mode-switch a,.planning-conflict-filter,.planning-today-link{min-height:38px;display:inline-flex;align-items:center;padding:.45rem .8rem;border:1px solid #cad5df;border-radius:7px;color:#173a63;background:#f6f8fa;text-decoration:none;font-weight:750}.planning-mode-switch a.active{color:#fff;background:#173a63;border-color:#173a63}.planning-conflict-filter.active{color:#9f302b;background:#fdebea;border-color:#e8aaa6}.planning-toolbar-spacer{flex:1}.planning-legend{display:flex;gap:.8rem;flex-wrap:wrap;color:#667386;font-size:.78rem}.planning-legend span{display:flex;align-items:center;gap:.35rem}.planning-legend i{display:inline-block;width:22px;height:6px;border-radius:3px}.project-period-key{height:3px!important;background:#173a63}.assignment-key{background:#0c7d73}.absence-key{border:1px solid #9aa6b3;background:repeating-linear-gradient(135deg,#9aa6b3 0 3px,transparent 3px 6px)}
.planning-center-body{display:grid;grid-template-columns:minmax(0,1fr) 310px;border-radius:0 0 14px 14px;overflow:hidden}.planning-timeline-scroll{min-width:0;overflow-x:auto}.planning-timeline{min-width:980px}.planning-grid-row{display:grid;grid-template-columns:245px repeat(7,minmax(105px,1fr));min-height:116px;border-bottom:1px solid #dbe3eb}.planning-grid-row:last-child{border-bottom:0}.planning-grid-head{min-height:54px;background:#f5f7f9;position:sticky;top:0;z-index:5}.planning-grid-head>div,.planning-row-head,.planning-day-cell{border-right:1px solid #dbe3eb}.planning-resource-head,.planning-day-head{padding:.65rem .75rem}.planning-resource-head{display:flex;align-items:center;font-weight:800}.planning-day-head{text-align:center}.planning-day-head strong,.planning-day-head span{display:block}.planning-day-head span{color:#687588;font-size:.75rem}.planning-day-head.today{color:#fff;background:#176b87}.planning-day-head.today span{color:#d9f3ef}
.planning-row-head{padding:.8rem .9rem;border-left:5px solid transparent;background:#fff}.planning-row-head.attention{border-left-color:#c98313;background:#fffaf0}.planning-row-head.critical{border-left-color:#b13b36;background:#fff5f4}.planning-row-head>a{color:#172033;text-decoration:none}.planning-row-head>a:hover{text-decoration:underline}.planning-row-head strong{display:block;line-height:1.25}.planning-row-head small{display:block;margin-top:.3rem;color:#647184}.planning-row-state{display:flex;align-items:center;gap:.35rem;margin-top:.55rem;color:#607083;font-size:.74rem;font-weight:750}.planning-row-state i{width:8px;height:8px;border-radius:50%;background:#2f7f50}.planning-row-head.attention .planning-row-state i{background:#c98313}.planning-row-head.critical .planning-row-state i{background:#b13b36}.planning-team-labels{display:flex;gap:.25rem;flex-wrap:wrap;margin-top:.5rem}.planning-team-labels span{padding:.15rem .4rem;border:1px solid #99bdc6;border-radius:999px;color:#176b87;font-size:.68rem;font-weight:750}
.planning-day-cell{position:relative;min-height:116px;padding:1.6rem .35rem .35rem;background:#fff}.planning-day-cell.today{background:#f3faf8}.project-period-line{position:absolute;left:0;right:0;top:.75rem;height:4px;background:#173a63}.project-period-line.attention{background:#c98313}.planning-assignment{display:block;margin:0 0 .28rem;padding:.42rem .45rem;border:1px solid #8cc9c3;border-left:4px solid #0c7d73;border-radius:5px;color:#0b4f49;background:#e8f6f4;font-size:.69rem;line-height:1.2;overflow:hidden}.planning-assignment strong,.planning-assignment span{display:block;overflow:hidden;text-overflow:ellipsis}.planning-assignment span{margin-top:.15rem;color:#4c6866;white-space:nowrap}.planning-assignment.pending{border-color:#e6bd75;border-left-color:#b56f08;color:#754700;background:#fff4df}.planning-assignment.critical{border-color:#e09b97;border-left-color:#b13b36;color:#7b2723;background:#fdebea}.planning-more{display:block;color:#173a63;font-size:.7rem;font-weight:800}.planning-absence{margin-bottom:.3rem;padding:.4rem;border:1px dashed #8796a4;border-radius:5px;color:#596777;background:repeating-linear-gradient(135deg,#f7f8f9 0 7px,#e8ebee 7px 12px);font-size:.69rem;font-weight:750}.planning-empty{padding:2rem;text-align:center;color:#667386}
.planning-alert-panel{padding:1rem;background:#f5f7f9;border-left:1px solid #dbe3eb}.planning-alert-heading{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.planning-alert-heading h2{margin:.05rem 0;font-size:1.25rem}.planning-alert-heading>span{color:#687588;font-size:.75rem}.planning-alert-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.8rem 0}.planning-alert-metrics>div{padding:.55rem .25rem;border:1px solid #d9e2ea;border-radius:7px;text-align:center;background:#fff}.planning-alert-metrics strong,.planning-alert-metrics span{display:block}.planning-alert-metrics strong{font-size:1.4rem}.planning-alert-metrics span{color:#687588;font-size:.65rem}.planning-alert-metrics .critical strong{color:#b13b36}.planning-alert-metrics .important strong{color:#a96400}.planning-alert-list{display:grid;gap:.45rem}.planning-alert{display:block;padding:.65rem .7rem;border:1px solid #d9e2ea;border-left:4px solid #173a63;border-radius:6px;color:#172033;background:#fff;text-decoration:none}.planning-alert.kritisch{border-left-color:#b13b36}.planning-alert.wichtig{border-left-color:#b56f08}.planning-alert strong,.planning-alert span{display:block}.planning-alert strong{font-size:.78rem}.planning-alert span{margin-top:.15rem;color:#657286;font-size:.7rem}.planning-all-clear{display:grid;gap:.2rem;padding:.8rem;border-left:4px solid #2f7f50;background:#eaf5ed}.planning-all-clear span{color:#5d6d61;font-size:.75rem}
.planning-quick-actions{display:flex;align-items:flex-start;gap:1rem;margin-top:1rem;padding:1rem;border-radius:12px}.planning-create-panel{flex:1;margin:0;border:0}.planning-create-panel>summary{display:inline-flex;padding:.65rem .9rem;border-radius:7px;color:#fff;background:#173a63;font-weight:800;cursor:pointer}.planning-create-panel[open]>summary{margin-bottom:1rem}.planning-create-panel form{padding:1rem;border:1px solid #d9e2ea;border-radius:8px;background:#f9fbfc}.planning-secondary-links{display:flex;gap:.5rem;flex-wrap:wrap}.planning-secondary-links a{padding:.6rem .75rem;border:1px solid #c7d3dc;border-radius:7px;color:#173a63;text-decoration:none;font-weight:750}.planning-upcoming{margin-top:1rem;padding:1rem;border-radius:12px}.planning-upcoming>summary{cursor:pointer;font-weight:800}
@media(max-width:1100px){.planning-center-body{grid-template-columns:1fr}.planning-alert-panel{border-left:0;border-top:1px solid #dbe3eb}.planning-alert-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.planning-center-head{display:block;padding:1rem}.planning-week-nav{justify-content:space-between;margin-top:1rem}.planning-week-nav strong{min-width:0}.planning-toolbar{padding:.7rem}.planning-mode-switch{width:100%;overflow-x:auto}.planning-mode-switch a{white-space:nowrap}.planning-legend{width:100%}.planning-alert-list{grid-template-columns:1fr}.planning-quick-actions{display:block}.planning-secondary-links{margin-top:1rem}.planning-secondary-links a{width:100%;text-align:center}}

/* Planungszentrale V2: volle Breite, Ampel unter der Planung, vier Zeitstufen */
.planning-columns-1{--planning-columns:1}.planning-columns-5{--planning-columns:5}.planning-columns-6{--planning-columns:6}.planning-columns-7{--planning-columns:7}.planning-columns-12{--planning-columns:12}
.planning-center{width:min(1680px,calc(100vw - 32px));max-width:none;margin:0 0 0 50%;transform:translateX(-50%)}
.planning-center-head{padding:1.25rem 1.5rem}.planning-center-head h1{font-size:clamp(2rem,3vw,2.8rem)}
.planning-period-nav{display:flex;align-items:center;gap:.7rem}.planning-period-nav a{display:grid;place-items:center;width:40px;height:40px;border:1px solid #c8d3dd;border-radius:7px;color:#173a63;background:#f5f8fa;text-decoration:none;font-size:1.6rem}.planning-period-nav strong{min-width:210px;text-align:center}
.planning-mode-switch,.planning-period-switch{display:flex;gap:.35rem}.planning-period-switch{padding-left:.65rem;border-left:1px solid #d6dfe7}.planning-period-switch a{min-height:38px;display:inline-flex;align-items:center;padding:.45rem .75rem;border:1px solid #cad5df;border-radius:7px;color:#173a63;background:#fff;text-decoration:none;font-weight:750}.planning-period-switch a.active{color:#fff;background:#0c7d73;border-color:#0c7d73}
.planning-board{border:1px solid #d9e2ea;border-radius:0 0 12px 12px;background:#fff;overflow:hidden}.planning-board .planning-grid-row{grid-template-columns:minmax(235px,1.65fr) repeat(var(--planning-columns),minmax(0,1fr));min-height:105px}.planning-board .planning-grid-head{min-height:54px}.planning-board .planning-day-cell{min-width:0;min-height:105px}.planning-board .planning-assignment{padding:.38rem;font-size:.68rem}.planning-board .planning-row-head{min-width:0}.planning-board .planning-row-head strong{overflow-wrap:anywhere}
.planning-resource-head{justify-content:space-between;gap:.5rem}.planning-resource-head small{color:#687588;font-size:.68rem;font-weight:650}.planning-project-search{display:flex;align-items:center;gap:.35rem}.planning-project-search input{width:150px;margin:0;padding:.52rem .6rem}.planning-project-search button,.planning-project-search a{margin:0;padding:.52rem .65rem;border:1px solid #cad5df;border-radius:6px;color:#173a63;background:#fff;font:inherit;font-size:.75rem;font-weight:750;text-decoration:none}.planning-project-search button{cursor:pointer}.planning-board:not(.planning-board-many){overflow:visible}.planning-board-many{max-height:68vh;overflow:auto}.planning-board-many .planning-grid-head{position:sticky;top:0;z-index:40}.planning-board-compact .planning-grid-row{min-height:78px}.planning-board-compact .planning-day-cell{min-height:78px;padding:1.15rem .25rem .25rem}.planning-board-compact .planning-row-head{padding:.55rem .7rem}.planning-board-compact .planning-row-state{margin-top:.3rem}.planning-board-compact .project-period-line{top:.52rem;height:3px}.planning-board-compact .planning-assignment{margin-bottom:.2rem;padding:.3rem .35rem}
.planning-confirm-form{margin:.38rem 0 0}.planning-confirm-form button{width:100%;margin:0;padding:.32rem .38rem;border:0;border-radius:4px;color:#fff;background:#2f7f50;font:inherit;font-size:.66rem;font-weight:800;cursor:pointer}.planning-confirm-form button:hover{background:#22653d}.planning-proposal-help{display:block;margin-top:.65rem;color:#526173}.planning-create-panel select+small{display:block;margin-top:.3rem;color:#526173}
.planning-assignment-editor{margin-top:.25rem}.planning-assignment-editor>summary{overflow:hidden;color:#0a655e;font-size:.65rem;font-weight:800;text-decoration:underline;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.planning-assignment:has(.planning-assignment-editor[open]){position:relative;z-index:30;overflow:visible}.planning-assignment-editor-panel{position:absolute;z-index:50;top:calc(100% + .25rem);left:0;width:min(330px,80vw);padding:.75rem;border:1px solid #9fb2c2;border-radius:8px;color:#172033;background:#fff;box-shadow:0 10px 28px #17365d40}.planning-day-cell:nth-last-child(-n+2) .planning-assignment-editor-panel{right:0;left:auto}.planning-assignment-editor-panel>strong{display:block;margin-bottom:.55rem}.planning-assignment-editor-panel form{display:grid;gap:.45rem;margin:.45rem 0}.planning-assignment-editor-panel label{display:grid;gap:.2rem;margin:0;font-size:.72rem}.planning-assignment-editor-panel select,.planning-assignment-editor-panel input{width:100%;margin:0;padding:.45rem}.planning-assignment-editor-panel button{margin:0;padding:.5rem .6rem;border:0;border-radius:5px;color:#fff;background:#173a63;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.planning-assignment-danger{margin-top:.55rem;padding-top:.5rem;border-top:1px solid #dce3eb}.planning-assignment-danger>summary{color:#8a2f25;font-size:.7rem;font-weight:800;cursor:pointer}.planning-assignment-danger form:first-of-type{grid-template-columns:1fr}.planning-assignment-danger .danger-button{color:#8a2f25;background:#fff;border:1px solid #c99690}
.planning-team-assignment{position:relative;margin-bottom:.3rem;padding:.45rem;border:1px solid #83bbb5;border-left:5px solid #0c7d73;border-radius:6px;color:#143d3a;background:#edf8f6;font-size:.7rem}.planning-team-assignment.pending{border-color:#e6bd75;border-left-color:#b56f08;background:#fff7e8}.planning-team-assignment.replacement-open{border-color:#dc8e88;border-left-color:#b13b36;background:#fff1f0}.planning-team-assignment>header{display:flex;justify-content:space-between;gap:.4rem}.planning-team-assignment>header div{display:grid;min-width:0}.planning-team-assignment>header strong,.planning-team-assignment>header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-team-assignment>header>span{white-space:nowrap;font-size:.62rem;font-weight:800}.planning-team-state{margin-top:.25rem;color:#526e6b;font-size:.63rem}.replacement-open .planning-team-state{color:#8a2f25}.planning-team-members{margin-top:.3rem}.planning-team-members>summary,.planning-team-reassign>summary{color:#0a655e;font-size:.65rem;font-weight:800;cursor:pointer}.planning-team-assignment:has(.planning-team-members[open]){z-index:25}.planning-team-member-list{position:absolute;z-index:45;top:calc(100% + .25rem);left:0;width:min(460px,82vw);padding:.65rem;border:1px solid #9fb2c2;border-radius:8px;color:#172033;background:#fff;box-shadow:0 10px 28px #17365d40}.planning-day-cell:nth-last-child(-n+2) .planning-team-member-list{right:0;left:auto}.planning-team-member{display:grid;grid-template-columns:minmax(120px,1fr) minmax(150px,1.4fr);gap:.55rem;align-items:start;padding:.55rem;border-bottom:1px solid #e1e7ed}.planning-team-member:last-child{border-bottom:0}.planning-team-member>div{display:grid}.planning-team-member small{color:#657286}.planning-team-member.missing{border-left:4px solid #b13b36;background:#fff5f4}.planning-team-member form,.planning-team-reassign form{display:grid;gap:.35rem;margin:.35rem 0 0}.planning-team-member label,.planning-team-reassign label{display:grid;gap:.15rem;margin:0;font-size:.68rem}.planning-team-member select,.planning-team-member input,.planning-team-member button,.planning-team-reassign select,.planning-team-reassign button{width:100%;margin:0;padding:.4rem;font-size:.68rem}.planning-team-member button,.planning-team-reassign button{border:0;border-radius:4px;color:#fff;background:#173a63;font-weight:800}.planning-member-absence>summary{color:#8a2f25;font-size:.67rem;font-weight:800;cursor:pointer}.planning-member-reassign>summary{color:#173a63;font-size:.67rem;font-weight:800;cursor:pointer}.planning-team-reassign{margin-top:.3rem}.planning-understaffed-approval{margin:.4rem 0 0}.planning-understaffed-approval button{width:100%;margin:0;padding:.4rem;border:1px solid #9a2f29;border-radius:4px;color:#fff;background:#9a2f29;font:inherit;font-size:.65rem;font-weight:800;cursor:pointer}
.period-day .planning-board .planning-grid-row{grid-template-columns:minmax(250px,320px) minmax(0,1fr)}.period-day .planning-day-cell{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-content:start;gap:.35rem;padding:.75rem}.period-day .planning-assignment{margin:0;padding:.65rem;font-size:.78rem}.period-day .project-period-line{display:none}
.period-month .planning-board .planning-grid-row{grid-template-columns:minmax(235px,1.55fr) repeat(var(--planning-columns),minmax(0,1fr))}.period-year .planning-board .planning-grid-row{grid-template-columns:minmax(220px,1.8fr) repeat(12,minmax(0,1fr))}.period-year .planning-resource-head,.period-year .planning-row-head{font-size:.82rem}.period-year .planning-day-head{padding:.5rem .2rem}.period-year .planning-day-head span{display:none}.period-year .planning-day-cell{padding:1.4rem .18rem .25rem}.period-year .planning-assignment{padding:.3rem .2rem;font-size:.6rem;border-left-width:3px}.period-year .planning-assignment span{display:none}.period-year .planning-confirm-form button{padding:.25rem .12rem;font-size:.54rem}
.planning-alert-panel{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(260px,.8fr) minmax(0,2.5fr);gap:1rem;align-items:start;margin-top:1rem;padding:1rem 1.2rem;border:1px solid #d9e2ea;border-radius:12px;background:#f5f7f9}.planning-alert-heading{align-self:center}.planning-alert-metrics{margin:0}.planning-alert-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-self:stretch}.planning-all-clear{margin:0;min-height:100%;align-content:center}
.planning-quick-actions{margin-top:1rem}.planning-secondary-links{margin-left:auto}
.planning-header-link{display:inline-flex;align-items:center;padding:.52rem .7rem;border:1px solid #cad5df;border-radius:7px;color:#173a63;background:#fff;text-decoration:none;font-size:.78rem;font-weight:750}.personal-calendar-center .calendar-summary{margin:1rem 0;padding:1rem;border:1px solid #d9e2ea;border-radius:12px;background:#fff}.personal-calendar-heading{margin:0;padding:1rem 1.1rem;border:1px solid #d9e2ea;border-radius:12px 12px 0 0;background:#fff}.personal-calendar-heading>div:first-child{display:grid;gap:.2rem}.personal-calendar-heading small{color:#5f6e80}.personal-calendar-center .department-calendar-grid{gap:.75rem;margin-top:.75rem}.personal-calendar-center .department-calendar{border-color:#d9e2ea;border-radius:12px}.personal-calendar-center .department-calendar>summary{background:#173a63}.personal-calendar-center .department-calendar[open]>summary{background:#0c7d73}.personal-calendar-center .employee-schedule{background:#f7fafc}.personal-calendar-center .employee-day-cell:nth-child(even){background:#eef3f680}.hour-calendar-entry.absence,.vertical-calendar-bar.absence{border-left-color:#7b8794;color:#46515d;background:repeating-linear-gradient(135deg,#f7f8f9 0 7px,#e2e6e9 7px 12px)}
.personal-year-scroll{overflow:auto;background:#fff}.personal-year-calendar{min-width:1320px}.personal-year-row{display:grid;grid-template-columns:220px repeat(12,minmax(82px,1fr));min-height:76px;border-top:1px solid #dce3eb}.personal-year-row>*{min-width:0;border-right:1px solid #dce3eb}.personal-year-head{position:sticky;top:0;z-index:5;min-height:44px;color:#fff;background:#173a63}.personal-year-head>strong,.personal-year-head>span{display:grid;place-items:center;padding:.5rem}.personal-year-row>header{display:grid;align-content:center;gap:.15rem;padding:.6rem .75rem;background:#f5f8fa}.personal-year-row>header small,.personal-year-row>header em{overflow:hidden;color:#647184;font-size:.68rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.personal-year-cell{display:grid;align-content:start;gap:.2rem;padding:.35rem}.personal-year-cell.today{background:#f0fbf8}.year-calendar-entry{display:grid;min-width:0;padding:.3rem;border-left:4px solid #0c7d73;border-radius:4px;background:#e8f6f4;font-size:.62rem}.year-calendar-entry.task{border-left-color:#c98313;background:#fff4df}.year-calendar-entry.absence{border-left-color:#7b8794;background:#e8ebee}.year-calendar-entry strong,.year-calendar-entry small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personal-year-cell>em{font-size:.62rem;font-style:normal;font-weight:750;color:#173a63}
.year-calendar-entry.appointment{border-left-color:#7b4ca0;background:#f1e8f7}
@media(max-width:1250px){.planning-center{width:calc(100vw - 18px)}.planning-toolbar-spacer{display:none}.planning-legend{width:100%}.period-year .planning-board{overflow-x:auto}.period-year .planning-board .planning-grid-row{min-width:1320px}.planning-alert-panel{grid-template-columns:1fr 1fr}.planning-alert-list{grid-column:1/-1}}
@media(max-width:800px){.planning-center{width:calc(100vw - 10px)}.planning-center-head{display:block}.planning-period-nav{justify-content:space-between;margin-top:1rem}.planning-period-nav strong{min-width:0}.planning-toolbar{align-items:stretch}.planning-mode-switch,.planning-period-switch{width:100%;overflow-x:auto}.planning-period-switch{padding:0;border:0}.planning-board{overflow-x:auto}.planning-board .planning-grid-row{min-width:950px}.period-day .planning-board .planning-grid-row{min-width:650px}.planning-alert-panel{grid-template-columns:1fr}.planning-alert-list{grid-column:auto}.planning-quick-actions{display:block}.planning-secondary-links{margin-top:1rem}}

/* Kompakte Ressourcenverwaltung fuer 20 bis 30 Mitarbeiter. */
.resource-admin-center{display:grid;gap:1rem}.resource-admin-center .planning-center-head,.resource-admin-center .planning-toolbar{border-radius:12px}.resource-admin-center .planning-toolbar{border-bottom:1px solid #d9e2ea}.resource-head-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.resource-admin-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}.resource-admin-metrics span{display:grid;gap:.1rem;padding:.85rem 1rem;border-right:1px solid #e1e7ed;color:#637184;font-size:.76rem}.resource-admin-metrics span:last-child{border-right:0}.resource-admin-metrics strong{color:#173a63;font-size:1.35rem;line-height:1}.resource-admin-metrics .attention{background:#fff7e8}.resource-admin-metrics .attention strong{color:#a96400}
.resource-filter-bar{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(170px,.75fr) minmax(170px,.75fr) auto auto;gap:.65rem;align-items:end;padding:1rem;border:1px solid #d9e2ea;border-radius:12px;background:#fff}.resource-filter-bar label{display:grid;gap:.25rem;margin:0;color:#536174;font-size:.74rem;font-weight:750}.resource-filter-bar input,.resource-filter-bar select{width:100%;margin:0;min-height:40px}.resource-filter-bar button,.resource-filter-bar>a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin:0;padding:.55rem .8rem;border:1px solid #173a63;border-radius:7px;font:inherit;font-weight:800;text-decoration:none}.resource-filter-bar button{color:#fff;background:#173a63}.resource-filter-bar>a{color:#173a63;background:#fff}
.resource-team-workspace{display:grid;grid-template-columns:minmax(290px,.75fr) minmax(420px,1.25fr);gap:1rem;align-items:start}.resource-management-panel,.resource-active-teams{border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}.resource-management-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;cursor:pointer;list-style:none}.resource-management-panel>summary::-webkit-details-marker{display:none}.resource-management-panel>summary span{display:grid}.resource-management-panel>summary small{margin-top:.15rem;color:#657286;font-weight:600}.resource-management-panel>summary em{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:#173a63;font-size:1.2rem;font-style:normal}.resource-management-panel[open]>summary{border-bottom:1px solid #d9e2ea;background:#f7fafc}.resource-management-panel[open]>summary em{transform:rotate(45deg)}.resource-team-form{display:grid;gap:.8rem;padding:1rem}.resource-team-form button{justify-self:start}.resource-member-picker{max-height:285px;overflow:auto;background:#f7fafc}.resource-member-picker label{padding:.42rem .5rem;font-size:.8rem}
.resource-active-teams>header,.resource-people-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid #d9e2ea}.resource-active-teams>header h2,.resource-people-heading h2{margin:.05rem 0;font-size:1.15rem}.resource-active-teams>header>span{padding:.25rem .55rem;border-radius:999px;color:#176b87;background:#e6f3f5;font-size:.72rem;font-weight:800}.resource-team-list{max-height:325px;overflow:auto}.resource-team-row{border-bottom:1px solid #e2e7ec}.resource-team-row:last-child{border-bottom:0}.resource-team-row>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;cursor:pointer;list-style:none}.resource-team-row>summary::-webkit-details-marker{display:none}.resource-team-row>summary span{display:grid;min-width:0}.resource-team-row>summary small{margin-top:.15rem;color:#687588;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-team-row>summary em{color:#176b87;font-size:.74rem;font-style:normal;font-weight:800}.resource-team-row[open]>summary{background:#edf7f6}.resource-team-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding:1rem;border-top:1px solid #d9e2ea;background:#f8fafc}.resource-team-editor form{margin:0}.resource-team-editor .resource-member-picker{max-height:180px;margin-bottom:.7rem}.resource-dissolve-team{align-self:end}.resource-dissolve-team .danger-button{white-space:nowrap}
.resource-people-section{border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}.resource-people-heading>p{margin:0;color:#657286;font-size:.76rem}.resource-people-table{max-height:68vh;overflow:auto}.resource-person-row{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(120px,.6fr) minmax(170px,1fr) minmax(170px,1fr) 92px;align-items:center;min-height:66px;border-bottom:1px solid #e1e7ed}.resource-person-row:last-child{border-bottom:0}.resource-person-row>header{display:flex;align-items:center;gap:.65rem;padding:.65rem .8rem;min-width:0}.resource-person-row>header>div:last-child{display:grid;min-width:0}.resource-person-row>header strong,.resource-person-row>header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-person-row>header small{color:#657286;font-size:.72rem}.resource-person-table-head{position:sticky;top:0;z-index:5;min-height:42px;color:#536174;background:#f2f6f8}.resource-person-table-head>strong{padding:.6rem .8rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.resource-person-department{padding:.55rem .8rem}.resource-person-department span{display:inline-flex;padding:.25rem .5rem;border-radius:999px;color:#173a63;background:#edf2f7;font-size:.72rem;font-weight:800}.resource-compact-chips{margin:0;padding:.5rem .8rem;max-height:52px;overflow:hidden}.resource-compact-chips span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-compact-chips small{color:#7b8794}.resource-person-editor{padding:.55rem .7rem}.resource-person-editor>summary{display:inline-flex;justify-content:center;width:100%;padding:.42rem .5rem;border:1px solid #b9c8d4;border-radius:6px;color:#173a63;background:#fff;font-size:.72rem;font-weight:800;cursor:pointer;list-style:none}.resource-person-editor>summary::-webkit-details-marker{display:none}.resource-person-editor[open]{grid-column:1/-1;padding:0;border-top:1px solid #d9e2ea;background:#f8fafc}.resource-person-editor[open]>summary{width:auto;margin:.65rem .8rem 0}.resource-person-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:.8rem}.resource-person-editor-grid>form{display:grid;align-content:start;gap:.5rem;margin:0;padding:.8rem;border:1px solid #d9e2ea;border-radius:8px;background:#fff}.resource-person-editor-grid h3{margin:0 0 .15rem;font-size:.9rem}.resource-person-editor-grid label{display:grid;gap:.2rem;margin:0;font-size:.72rem}.resource-person-editor-grid input,.resource-person-editor-grid select,.resource-person-editor-grid button{width:100%;margin:0}.resource-person-editor-grid input[type=color]{height:38px;padding:.2rem}.resource-membership-dates{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.resource-person-editor-grid .check-label{display:flex;align-items:center}.resource-person-editor-grid .check-label input{width:auto}.resource-people-table>.empty-state{margin:0;padding:2rem}
@media(max-width:1150px){.resource-admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.resource-admin-metrics span:nth-child(3){border-right:0}.resource-filter-bar{grid-template-columns:1fr 1fr 1fr}.resource-filter-bar button,.resource-filter-bar>a{width:100%}.resource-team-workspace{grid-template-columns:1fr}.resource-person-row{grid-template-columns:minmax(210px,1.25fr) minmax(110px,.6fr) minmax(150px,1fr) minmax(150px,1fr) 86px}.resource-person-editor-grid{grid-template-columns:1fr 1fr}.resource-person-editor-grid>form:last-child{grid-column:1/-1}}
@media(max-width:760px){.resource-head-actions{justify-content:flex-start;margin-top:.8rem}.resource-admin-metrics{grid-template-columns:1fr 1fr}.resource-admin-metrics span:nth-child(n){border-right:1px solid #e1e7ed}.resource-admin-metrics span:nth-child(even){border-right:0}.resource-filter-bar{grid-template-columns:1fr}.resource-team-workspace{grid-template-columns:minmax(0,1fr)}.resource-team-editor{grid-template-columns:1fr}.resource-people-heading{display:block}.resource-people-heading>p{margin-top:.3rem}.resource-person-table-head{display:none}.resource-people-table{max-height:none}.resource-person-row{display:grid;grid-template-columns:1fr;align-items:stretch;padding:.35rem 0}.resource-person-row>header{padding-bottom:.35rem}.resource-person-department,.resource-compact-chips{padding:.3rem .8rem}.resource-person-editor{padding:.45rem .8rem}.resource-person-editor[open]{grid-column:auto}.resource-person-editor-grid{grid-template-columns:1fr}.resource-person-editor-grid>form:last-child{grid-column:auto}.team-name-row,.team-validity-row,.resource-membership-dates{grid-template-columns:1fr!important}}

.resource-editor-heading{grid-column:1/-1;display:flex;justify-content:space-between;gap:1rem;align-items:center}.resource-editor-heading small{color:#657286}.resource-person-editor-grid button{padding:.55rem .65rem;border:0;border-radius:6px;color:#fff;background:#173a63;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}

/* Kalenderfilter: auch mit vielen Mitarbeitern bleiben nur relevante Spalten sichtbar. */
.calendar-filter-bar{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(150px,.8fr)) auto auto;gap:.6rem;align-items:end;margin:1rem 0;padding:.85rem 1rem;border:1px solid #d9e2ea;border-radius:12px;background:#fff}.calendar-filter-bar label{display:grid;gap:.2rem;margin:0;color:#536174;font-size:.72rem;font-weight:750}.calendar-filter-bar input,.calendar-filter-bar select{width:100%;min-height:38px;margin:0}.calendar-filter-bar button,.calendar-filter-bar>a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin:0;padding:.5rem .7rem;border:1px solid #173a63;border-radius:7px;font:inherit;font-size:.76rem;font-weight:800;text-decoration:none}.calendar-filter-bar button{color:#fff;background:#173a63}.calendar-filter-bar>a{color:#173a63;background:#fff}
@media(max-width:1100px){.calendar-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-filter-bar button,.calendar-filter-bar>a{width:100%}}
@media(max-width:650px){.calendar-filter-bar{grid-template-columns:1fr}}

/* Fehlzeiten: eindeutiges Von-bis und getrennte Kennzeichnung eines vorläufigen Endes. */
.absence-planning-center{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(460px,1.2fr);gap:1rem;margin:1rem 0}.absence-create-panel,.absence-period-list{border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}.absence-create-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;cursor:pointer;list-style:none}.absence-create-panel>summary::-webkit-details-marker,.absence-list-row>summary::-webkit-details-marker{display:none}.absence-create-panel>summary span{display:grid}.absence-create-panel>summary small{margin-top:.15rem;color:#657286;font-weight:600}.absence-create-panel>summary em{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:#173a63;font-size:1.2rem;font-style:normal}.absence-create-panel[open]>summary{border-bottom:1px solid #d9e2ea;background:#f7fafc}.absence-create-panel[open]>summary em{transform:rotate(45deg)}.absence-form{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding:1rem}.absence-form>label,.absence-update-form>label{display:grid;gap:.22rem;margin:0;color:#536174;font-size:.74rem;font-weight:750}.absence-form input,.absence-form select,.absence-update-form input{width:100%;margin:0}.absence-form label>small{color:#7b8794;font-weight:500}.absence-estimated-check{grid-column:1/-1;display:flex!important;align-items:center;gap:.6rem;padding:.65rem;border:1px solid #e7c57f;border-radius:7px;color:#754700!important;background:#fff7e7}.absence-estimated-check input{width:auto!important}.absence-estimated-check span{display:grid}.absence-estimated-check span small{color:#806a3f}.absence-estimated-check.compact{grid-column:auto;padding:.45rem}.absence-form>button{grid-column:1/-1;margin:0;padding:.65rem;border:0;border-radius:6px;color:#fff;background:#173a63;font:inherit;font-weight:800;cursor:pointer}.absence-period-list>header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid #d9e2ea}.absence-period-list h2{margin:.05rem 0;font-size:1.1rem}.absence-period-list>header>span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;color:#176b87;background:#e6f3f5;font-size:.74rem;font-weight:800}.absence-list-scroll{max-height:335px;overflow:auto}.absence-empty{margin:0;padding:1.2rem;color:#657286}.absence-list-row{border-bottom:1px solid #e1e7ed;border-left:5px solid #2f7f50}.absence-list-row.estimated{border-left-color:#c98313}.absence-list-row:last-child{border-bottom:0}.absence-list-row>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem .85rem;cursor:pointer;list-style:none}.absence-list-row>summary span{display:grid;min-width:0}.absence-list-row>summary small{margin-top:.15rem;color:#657286;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.absence-list-row>summary em{padding:.22rem .5rem;border-radius:999px;color:#2f6f46;background:#e8f4eb;font-size:.67rem;font-style:normal;font-weight:800}.absence-list-row.estimated>summary em{color:#8a5900;background:#fff0d2}.absence-list-row[open]>summary{background:#f7fafc}.absence-update-form{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding:.8rem;border-top:1px solid #e1e7ed;background:#f8fafc}.absence-update-form button{grid-column:1/-1;margin:0;padding:.55rem;border:0;border-radius:6px;color:#fff;background:#173a63;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}.absence-delete-form{margin:0;padding:0 .8rem .8rem;background:#f8fafc}.absence-delete-form button{margin:0;padding:.45rem .6rem;border:1px solid #c99690;border-radius:6px;color:#8a2f25;background:#fff;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.hour-calendar-entry.absence.estimated,.vertical-calendar-bar.absence.estimated,.year-calendar-entry.absence.estimated{border-left-color:#c98313;background:repeating-linear-gradient(135deg,#fffaf0 0 7px,#f5e8cc 7px 12px)}.planning-absence{display:grid;gap:.1rem}.planning-absence small{font-size:.63rem;font-weight:600}.planning-absence.estimated{border-color:#c98313;color:#795000;background:repeating-linear-gradient(135deg,#fffaf0 0 7px,#f5e8cc 7px 12px)}.planning-assignment-danger .absence-estimated-check{color:#754700}
.absence-planning-center{align-items:start}

/* Projektfreie Mitarbeitertermine und Aufgaben bleiben direkt im Kalender änderbar. */
.personal-entry-period-list{margin:1rem 0;border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}.personal-entry-period-list>header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid #d9e2ea}.personal-entry-period-list h2{margin:.05rem 0;font-size:1.1rem}.personal-entry-period-list>header>span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;color:#176b87;background:#e6f3f5;font-size:.74rem;font-weight:800}.personal-entry-list-scroll{max-height:360px;overflow:auto}.personal-entry-list-row{border-bottom:1px solid #e1e7ed;border-left:5px solid #7b4ca0}.personal-entry-list-row.task{border-left-color:#d18b00}.personal-entry-list-row:last-child{border-bottom:0}.personal-entry-list-row>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem .85rem;cursor:pointer;list-style:none}.personal-entry-list-row>summary::-webkit-details-marker{display:none}.personal-entry-list-row>summary span{display:grid;min-width:0}.personal-entry-list-row>summary small{margin-top:.15rem;color:#657286}.personal-entry-list-row>summary em{padding:.22rem .5rem;border-radius:999px;color:#69417f;background:#f1e8f7;font-size:.67rem;font-style:normal;font-weight:800}.personal-entry-list-row.task>summary em{color:#805300;background:#fff1cf}.personal-entry-list-row[open]>summary{background:#f7fafc}.personal-entry-update-form{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding:.8rem;border-top:1px solid #e1e7ed;background:#f8fafc}.personal-entry-update-form>label{display:grid;gap:.22rem;margin:0;color:#536174;font-size:.74rem;font-weight:750}.personal-entry-update-form input,.personal-entry-update-form select,.personal-entry-update-form textarea{width:100%;margin:0}.personal-entry-update-form .span-two{grid-column:1/-1}.personal-entry-update-form button{margin:0;padding:.55rem;border:0;border-radius:6px;color:#fff;background:#173a63;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}.personal-entry-delete-form{margin:0;padding:0 .8rem .8rem;background:#f8fafc}.personal-entry-delete-form button{margin:0;padding:.45rem .6rem;border:1px solid #c99690;border-radius:6px;color:#8a2f25;background:#fff;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}
@media(max-width:1000px){.absence-planning-center{grid-template-columns:1fr}}
@media(max-width:650px){.absence-form,.absence-update-form,.personal-entry-update-form{grid-template-columns:1fr}.absence-estimated-check,.absence-form>button,.absence-update-form button,.personal-entry-update-form .span-two{grid-column:auto}.absence-list-row>summary,.personal-entry-list-row>summary{align-items:flex-start;flex-direction:column}.absence-list-row>summary small{white-space:normal}}

/* Direkte Mitarbeiterplanung: jeder Kalendertag nutzt dieselbe ruhige Schnellplanung. */
.calendar-cell-action{position:relative;width:100%;margin:0;padding:0;border:0;border-radius:0;color:inherit;background:transparent;font:inherit;text-align:inherit;cursor:pointer}
.calendar-cell-action::after{content:"+";position:absolute;right:.3rem;bottom:.25rem;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;color:#fff;background:#176b87;box-shadow:0 1px 3px #17365d35;font-size:.8rem;font-weight:900;opacity:0;transform:scale(.75);transition:opacity .14s ease,transform .14s ease}
.calendar-cell-action:hover::after,.calendar-cell-action:focus-visible::after{opacity:.9;transform:scale(1)}
.calendar-cell-action:hover,.calendar-cell-action:focus-visible{z-index:1;outline:2px solid #1b8a81;outline-offset:-2px;background-color:#e8f7f480}
.employee-day-cell.calendar-cell-action{min-height:58px;border-bottom:1px solid #8f9da8}
.hour-cell.calendar-cell-action{min-height:64px;border-bottom:1px solid #8f9da8}
.personal-year-cell.calendar-cell-action{display:grid;align-content:start;gap:.2rem;min-height:76px;padding:.35rem}
.employee-calendar-action-dialog{width:min(760px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:0;border:0;border-radius:16px;color:#12213a;background:#fff;box-shadow:0 24px 70px #132d4c55;overflow:auto}
.employee-calendar-action-dialog::backdrop{background:#10284399;backdrop-filter:blur(2px)}
.employee-calendar-action-dialog>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid #d9e2ea;background:#fff}
.employee-calendar-action-dialog h2{margin:.12rem 0;font-size:1.35rem}.employee-calendar-action-dialog header p:last-child{margin:.2rem 0 0;color:#5f6e80}.calendar-dialog-close{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;margin:0;padding:0;border:1px solid #cad5df;border-radius:50%;color:#173a63;background:#f7fafc;font-size:1.4rem;cursor:pointer}
.employee-calendar-action-options{display:grid;gap:.7rem;padding:1rem}.employee-calendar-action-options>details{border:1px solid #d6e0e8;border-radius:10px;background:#fff;overflow:hidden}.employee-calendar-action-options>details>summary{padding:.8rem 1rem;color:#173a63;background:#f5f8fa;font-weight:850;cursor:pointer}.employee-calendar-action-options>details[open]>summary{border-bottom:1px solid #d6e0e8;background:#eaf6f4;color:#0b6d65}
.calendar-cell-form{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding:1rem}.calendar-cell-form>label{display:grid;gap:.22rem;margin:0;color:#536174;font-size:.75rem;font-weight:750}.calendar-cell-form input,.calendar-cell-form select,.calendar-cell-form textarea{width:100%;margin:0}.calendar-cell-form .span-two{grid-column:1/-1}.calendar-cell-form>button{margin:0;padding:.65rem;border:0;border-radius:7px;color:#fff;background:#173a63;font:inherit;font-weight:850;cursor:pointer}.calendar-cell-form>small{color:#657286}.calendar-cell-profile-warning{margin:.8rem;padding:.7rem;border-left:4px solid #c98313;background:#fff7e8}.calendar-resource-link{display:inline-flex;justify-content:center;padding:.65rem;border:1px solid #b8c8d5;border-radius:8px;color:#173a63;background:#fff;text-decoration:none;font-weight:800}
@media(max-width:650px){.employee-calendar-action-dialog{width:calc(100vw - 1rem)}.calendar-cell-form{grid-template-columns:1fr}.calendar-cell-form .span-two{grid-column:auto}}

/* Projektchronik: schnelle Erfassung und nachvollziehbare Korrekturen direkt in der Projektakte. */
.project-journal{margin:1.5rem 0 2rem;padding:1.2rem;border:1px solid #cbd6df;border-radius:.8rem;background:#f8fafc}
.project-journal .section-heading{align-items:center}.project-journal .section-heading h2{margin:.1rem 0}.project-journal .section-heading>p{max-width:560px;color:#526173;text-align:right}
.journal-entry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin:1rem 0;padding:1rem;border:1px solid #d7e0e8;border-radius:.65rem;background:#fff}
.journal-entry-form>div{display:grid;align-content:start}.journal-entry-form label{margin-bottom:.25rem}.journal-entry-form input,.journal-entry-form select,.journal-entry-form textarea{margin:0}.journal-entry-form .span-two{grid-column:1/-1}.journal-form-action{display:flex!important;align-items:center;gap:1rem}.journal-form-action small{color:#526173}
.project-timeline{display:grid;gap:.75rem;margin-top:1rem}.timeline-entry{padding:1rem;border-left:6px solid #176b87;border-radius:.55rem;background:#fff;box-shadow:0 1px 3px #17365d18}.timeline-entry h3{margin:.55rem 0 .25rem}.timeline-entry-head{display:flex;justify-content:space-between;gap:1rem;color:#526173;font-size:.82rem}.journal-type{display:inline-flex;padding:.2rem .55rem;border-radius:999px;color:#fff;background:#176b87;font-weight:800}.journal-contact{margin:.15rem 0;color:#526173}.journal-edit{margin-top:.75rem}.journal-edit>summary,.system-history>summary{cursor:pointer;color:#176b87;font-weight:700}.journal-entry-form.compact{margin:.65rem 0 0;background:#f8fafc}.system-history{margin:1.5rem 0;padding:.85rem 1rem;border:1px solid #dce3eb;border-radius:.6rem}
@media(max-width:760px){.project-journal{padding:.85rem}.project-journal .section-heading{display:block}.project-journal .section-heading>p{text-align:left}.journal-entry-form{grid-template-columns:1fr}.journal-entry-form .span-two{grid-column:auto}.journal-form-action{align-items:flex-start;flex-direction:column}.timeline-entry-head{flex-direction:column;gap:.35rem}}

/* Mobile Baustellendokumentation: bewusst einfach, fingerfreundlich und nachvollziehbar. */
.site-report-module{margin:1rem 0;border:1px solid #9fb8c8;border-radius:.7rem;background:#f4f9fc}
.site-report-module>summary{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;cursor:pointer;color:#17365d;font-weight:800}
.site-report-module>summary small{color:#526173;font-weight:600;text-align:right}
.site-report-form{display:grid;gap:.65rem;padding:1rem;border-top:1px solid #cbd6df;background:#fff}
.site-report-form label{margin:0;font-weight:700}.site-report-form textarea{min-height:92px;margin:0}.site-report-form input[type="file"]{margin:0;padding:.7rem;border:1px solid #aebdca;border-radius:.5rem;background:#f8fafc}
.voice-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:start}.voice-input-row button{min-height:48px}.voice-input-status{min-height:1.2em;color:#526173}
.site-checklist{display:grid;gap:.55rem;padding:.8rem 1rem}.site-checklist label,.site-photo-complete{display:flex;align-items:flex-start;gap:.65rem;font-weight:600}.site-checklist input,.site-photo-complete input{flex:0 0 auto;width:1.2rem;height:1.2rem;margin:.1rem 0 0}
.site-photo-complete{padding:.7rem;border-radius:.5rem;background:#eef5f8}.site-report-form .planning-warning{margin:.35rem 0;padding:.65rem;border-left:4px solid #c58a1b;background:#fff8e8}
.site-report-history{display:grid;gap:.4rem;padding:1rem;border-top:1px solid #cbd6df}.site-report-history p{display:flex;justify-content:space-between;gap:1rem;margin:0;padding:.55rem;border-radius:.4rem;background:#fff}.site-report-history p small{color:#526173}
@media(max-width:650px){.site-report-module>summary,.site-report-history p{align-items:flex-start;flex-direction:column}.site-report-module>summary small{text-align:left}.voice-input-row{grid-template-columns:1fr}.voice-input-row button{width:100%}}
.site-location-detection{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem 1rem;align-items:center;margin:1rem 0;padding:1rem;border:2px solid #176b87;border-radius:.75rem;background:#edf8fb}.site-location-detection div{display:grid;gap:.2rem}.site-location-detection small,.site-location-detection p{color:#526173}.site-location-detection p{grid-column:1/-1;margin:0;font-size:.85rem}.site-location-detection button{margin:0}.day-assignment.location-match{outline:4px solid #2d8a57;box-shadow:0 0 0 7px #dff5e8}.day-assignment.location-match>header::after{content:"Standort-Treffer";padding:.25rem .55rem;border-radius:999px;color:#fff;background:#2d8a57;font-size:.75rem;font-weight:800}
@media(max-width:650px){.site-location-detection{grid-template-columns:1fr}.site-location-detection button{width:100%}.site-location-detection p{grid-column:auto}}

/* Elektro: aus Stromkreisen abgeleitete Verteilerbelegung, Material und Kalkulationsübergabe. */
.electrical-next-step,.package-generation-bar,.offer-next-step{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1.5rem;padding:1.1rem 1.25rem;border:1px solid #9fb4c8;border-radius:.75rem;background:#f2f7fa}.electrical-next-step h2,.offer-next-step h2{margin:.15rem 0}.package-generation-bar div{display:grid;gap:.25rem}.package-generation-bar small{color:#526173}.package-generation-bar form{margin:0}.package-findings{margin:1rem 0;padding:1rem;border:1px solid #d6b56e;border-radius:.65rem;background:#fff9eb}.package-findings summary,.offer-scope summary{cursor:pointer;font-weight:800;color:#17365d}.distribution-board{margin:1rem 0 1.5rem;padding:1rem;border:2px solid #73889b;border-radius:.75rem;background:#edf2f5}.distribution-board h3{margin-top:0}.distribution-rail{display:grid;grid-template-columns:80px minmax(800px,1fr);gap:.75rem;align-items:stretch;margin:.65rem 0}.distribution-rail>strong{display:grid;place-items:center;padding:.5rem;border-radius:.4rem;background:#17365d;color:#fff}.distribution-module-grid{display:grid;grid-template-columns:repeat(12,minmax(56px,1fr));min-height:92px;border:1px solid #7f8f9d;background:repeating-linear-gradient(90deg,#fff 0,#fff calc(8.333% - 1px),#aebbc6 calc(8.333% - 1px),#aebbc6 8.333%)}.panel-device{display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:.42rem;border:1px solid #315b78;border-radius:.25rem;background:#d9edf6;box-shadow:0 1px 3px #17365d33;overflow:hidden}.panel-device small,.panel-device span,.panel-device em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.7rem}.panel-device strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8rem}.panel-device em{margin-top:auto;color:#35576c;font-style:normal;font-weight:700}.panel-device.requires-review{border-color:#a66300;background:#fff0cf}.panel-device:has(small:first-child){align-self:stretch}
.offer-priority{margin:.9rem 0 1rem;border:2px solid #1f8a4c;background:#f1faf5}.package-technical-details{margin:1rem 0;padding:0;border:1px solid #9fb3c8;border-radius:.75rem;background:#f8fafc}.package-technical-details>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;cursor:pointer;color:#17365d}.package-technical-details>summary span:first-child{display:flex;flex-direction:column;gap:.15rem}.package-technical-details>summary small{color:#526173;font-weight:400}.package-technical-details[open]{padding:0 1rem 1rem}.package-technical-details[open]>summary{margin:0 -1rem 1rem;border-bottom:1px solid #dbe4ec}.offer-module-note{margin:1rem 0 0;padding:.8rem 1rem;border-left:5px solid #315b78;border-radius:.35rem;background:#eef5f9;color:#29485d}
.preliminary-offer-confirmation{padding:.8rem 1rem;border:1px solid #d6b56e;border-radius:.55rem;background:#fff9eb}.preliminary-offer-confirmation .check-label{align-items:flex-start;font-weight:700;color:#5d430d}.preliminary-offer-confirmation input{width:auto;margin-top:.2rem}
.te-start-1{grid-column-start:1}.te-start-2{grid-column-start:2}.te-start-3{grid-column-start:3}.te-start-4{grid-column-start:4}.te-start-5{grid-column-start:5}.te-start-6{grid-column-start:6}.te-start-7{grid-column-start:7}.te-start-8{grid-column-start:8}.te-start-9{grid-column-start:9}.te-start-10{grid-column-start:10}.te-start-11{grid-column-start:11}.te-start-12{grid-column-start:12}
.te-span-1{grid-column-end:span 1}.te-span-2{grid-column-end:span 2}.te-span-3{grid-column-end:span 3}.te-span-4{grid-column-end:span 4}.te-span-5{grid-column-end:span 5}.te-span-6{grid-column-end:span 6}.te-span-7{grid-column-end:span 7}.te-span-8{grid-column-end:span 8}.te-span-9{grid-column-end:span 9}.te-span-10{grid-column-end:span 10}.te-span-11{grid-column-end:span 11}.te-span-12{grid-column-end:span 12}
.material-list td:first-child{min-width:210px}.material-list td:first-child small,.electrical-offer table td:first-child small{display:block;color:#526173}.material-update{display:grid;grid-template-columns:80px auto minmax(120px,1fr) auto;gap:.4rem;align-items:center;min-width:430px}.material-update input{margin:0;min-width:0}.material-update button{margin:0;padding:.55rem}.manually-adjusted{background:#fff9e8}.manual-badge{display:inline-block;margin:.25rem;padding:.2rem .45rem;border-radius:999px;background:#ffe0a1;color:#754b00;font-size:.72rem;font-weight:700}.offer-source-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.offer-source-summary div{display:flex;flex-direction:column;padding:1rem;border-radius:.65rem;background:#edf3f7}.offer-source-summary strong{font-size:1.15rem;color:#17365d}.offer-source-summary span{color:#526173;font-size:.82rem}.offer-scope{margin:1rem 0 1.5rem;padding:1rem;border:1px solid #cbd6e0;border-radius:.65rem;background:#f8fafc}.offer-results{grid-template-columns:repeat(5,minmax(0,1fr))}
.material-price-missing{background:#fff0f0!important;border-left:4px solid #b42318}.material-price-missing td:last-child{color:#9b1c1c}.material-price-manual{background:#fff8e6!important;border-left:4px solid #b7791f}.material-price-editor-row td{padding:.45rem 1rem 1rem;background:#fff7f7}.manual-material-price-form{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(240px,2fr) minmax(150px,.8fr) auto;gap:.65rem;align-items:end;margin-top:.65rem}.manual-material-price-form label{font-weight:700;font-size:.8rem}.manual-material-price-form input{margin-top:.25rem}.manual-material-price-form button{margin:0;white-space:nowrap}@media(max-width:900px){.manual-material-price-form{grid-template-columns:1fr}}
@media(max-width:900px){.electrical-next-step,.package-generation-bar,.offer-next-step{align-items:stretch;flex-direction:column}.distribution-board{overflow-x:auto}.distribution-rail{min-width:900px}.offer-source-summary,.offer-results{grid-template-columns:1fr 1fr}.material-update{min-width:360px}}
@media(max-width:560px){.offer-source-summary,.offer-results{grid-template-columns:1fr}.material-update{grid-template-columns:70px auto minmax(110px,1fr);min-width:310px}.material-update button{grid-column:1/-1}}

/* Elektro: Zählerplatzvorgabe und geprüfte STRIEBEL-&-JOHN-Herstellerreferenz. */
.manufacturer-reference{display:grid;gap:.45rem;padding:.85rem 1rem;border:1px solid #b8d5df;border-radius:.75rem;background:#f2f9fb}
.manufacturer-reference>div,.manufacturer-selection>div:last-child{display:flex;flex-wrap:wrap;gap:.55rem}
.manufacturer-reference a,.manufacturer-selection a{display:inline-flex;padding:.48rem .72rem;border:1px solid #16738a;border-radius:.55rem;color:#0a596b;font-weight:700;text-decoration:none}
.meter-planning-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:.85rem}
.meter-planning-card>div{display:grid;gap:.25rem;padding:.8rem;border:1px solid #d8e0e4;border-radius:.65rem;background:#fff}
.meter-planning-card strong{font-size:1.05rem}
.manufacturer-selection{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;border:1px solid #d6bd75;border-left:.35rem solid #c48a00;border-radius:.7rem;background:#fffaf0}
.manufacturer-selection.reference-found{border-color:#8fc5a4;border-left-color:#278854;background:#f2fbf5}
.manufacturer-selection h3,.manufacturer-selection p{margin:.2rem 0}
@media(max-width:900px){.meter-planning-card{grid-template-columns:repeat(2,minmax(0,1fr))}.manufacturer-selection{grid-template-columns:1fr}}
.section-delete {
  margin-top: 1rem;
  padding: .8rem 1rem;
  border: 1px solid #e7c6c2;
  border-radius: 10px;
  background: #fff8f7;
}
.section-delete summary {
  color: #8a2f25;
  cursor: pointer;
  font-weight: 700;
}
.section-delete p {
  margin: .65rem 0;
}
.compact-delete {
  margin-top: .6rem;
  padding: .5rem .7rem;
}
.resource-unavailable-section{margin-top:1rem}.resource-inactive-person{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid #e1e7ed}.resource-inactive-person:last-child{border-bottom:0}.resource-inactive-person>div{display:grid;gap:.2rem}.resource-inactive-person small{color:#657286}.resource-inactive-person form,.resource-inactive-person button{margin:0}
.planning-update-banner {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1200;
    display: flex;
    align-items: center;
    gap: 1rem;
    max-width: min(34rem, calc(100vw - 2.5rem));
    padding: 1rem 1.15rem;
    border: 1px solid #9bb8c8;
    border-left: 5px solid #137f77;
    border-radius: .65rem;
    background: #fff;
    box-shadow: 0 .75rem 2rem rgba(19, 47, 75, .2);
    color: #12233d;
}

.planning-update-banner[hidden] { display: none; }
.planning-update-banner span { display: grid; gap: .15rem; }
.planning-update-banner button { flex: 0 0 auto; }

@media (max-width: 640px) {
    .planning-update-banner {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
        max-width: none;
        align-items: stretch;
        flex-direction: column;
    }
}
.customer-view-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 .5rem; }
.customer-view-tabs a { padding: .5rem .8rem; border: 1px solid #c8d4df; border-radius: .45rem; text-decoration: none; color: #173b62; background: #fff; }
.customer-view-tabs a.active { color: #fff; border-color: #173f68; background: #173f68; }
.result-count { margin: .35rem 0 1rem; color: #5c6b7a; }
.archive-badge { display: inline-block; margin-top: .4rem; padding: .25rem .55rem; border-radius: 999px; color: #684a08; background: #f6e6b8; font-weight: 700; font-size: .85rem; }
.customer-picker { display: grid; gap: .35rem; }
.customer-picker [data-customer-result] { min-height: 1.2em; color: #526579; }
.customer-search-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; max-height: 15rem; padding: .4rem; overflow: auto; border: 1px solid #c8d4df; border-radius: .5rem; background: #f7fafc; }
.customer-search-results[hidden] { display: none; }
.customer-form .customer-search-result { margin: 0; padding: .55rem .7rem; border: 1px solid #b8c8d5; border-radius: .4rem; color: #17365d; background: #fff; text-align: left; font-size: .9rem; font-weight: 650; }
.customer-form .customer-search-result:hover, .customer-form .customer-search-result:focus { border-color: #356b45; background: #eef7f0; }
.customer-form .customer-search-result.selected { border-color: #356b45; color: #fff; background: #356b45; }
@media (max-width: 650px) { .customer-search-results { grid-template-columns: 1fr; } }
.offer-line-warning { margin: .55rem 0; padding: .65rem .8rem; border-left: 4px solid #c68100; border-radius: .35rem; color: #684a08; background: #fff4d8; font-weight: 700; }
.offer-category-list { display: grid; gap: .65rem; padding: .75rem 0; }
.offer-category { overflow: hidden; border: 1px solid #cbd6e0; border-radius: .65rem; background: #fff; }
.offer-category > summary { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; color: #17365d; background: #edf3f7; cursor: pointer; }
.offer-category > summary span { color: #526173; font-size: .82rem; font-weight: 700; }
.offer-line-list { display: grid; }
.offer-line { border-top: 1px solid #e2e8ee; background: #fff; }
.offer-line:first-child { border-top: 0; }
.offer-line.excluded { opacity: .68; background: #f4f5f6; }
.offer-line-summary { display: grid; grid-template-columns: minmax(0, 1fr) 8rem 10rem; align-items: center; gap: .75rem; min-height: 2.75rem; padding: .5rem .85rem; cursor: pointer; }
.offer-line-summary:hover { background: #f7fafc; }
.offer-line-summary strong { overflow: hidden; font-size: .86rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.offer-line-quantity { padding: .25rem .5rem; border-radius: .35rem; color: #17365d; background: #e8f0f7; font-size: .9rem; font-weight: 800; text-align: center; }
.offer-line-state { color: #526173; font-size: .76rem; font-weight: 700; text-align: right; }
.offer-line-editor { padding: .8rem; border-top: 1px solid #d8e1e8; background: #f8fafc; }
.offer-line-form { display: grid; grid-template-columns: minmax(10rem, .35fr) minmax(16rem, 1fr); gap: .55rem; }
.offer-line-form .check-label,.offer-line-form textarea,.offer-line-form .offer-line-values { grid-column: 1 / -1; }
.offer-line-form select,.offer-line-form input,.offer-line-form textarea { margin: 0; font-size: .88rem; }
.offer-line-values { display: grid; grid-template-columns: minmax(7rem, .6fr) minmax(7rem, .6fr) minmax(10rem, 1fr) auto; gap: .6rem; align-items: end; }
.offer-line-values label { margin: 0; font-size: .78rem; }
.offer-line-values button { margin: 0; white-space: nowrap; }
@media (max-width: 760px) { .offer-line-summary { grid-template-columns: minmax(0, 1fr) 6rem; }.offer-line-state { display: none; }.offer-line-form,.offer-line-values { grid-template-columns: 1fr; }.offer-line-form select,.offer-line-form input,.offer-line-form textarea,.offer-line-values label,.offer-line-values button { grid-column: 1; } }
.kfe-assignment { margin-top: .7rem; border: 1px solid #ccd8e2; border-radius: .55rem; background: #fff; }
.kfe-assignment > summary { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem .75rem; color: #17365d; cursor: pointer; }
.kfe-assignment > summary span { color: #526173; font-size: .76rem; font-weight: 700; }
.kfe-guidance { margin: 0; padding: .65rem .75rem 0; color: #526173; font-size: .8rem; }
.kfe-search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem; align-items: end; padding: .65rem .75rem; }
.kfe-search-form label { margin: 0; font-size: .78rem; }
.kfe-search-form input,.kfe-search-form button { margin: 0; }
.kfe-template form { margin-left: auto; }
.kfe-template button { margin: 0; padding: .4rem .6rem; color: #7b1e1e; border: 1px solid #dfb3b3; background: #fff5f5; font-size: .76rem; }
@media (max-width: 760px) { .kfe-search-form { grid-template-columns: 1fr; }.kfe-assignment > summary { flex-direction: column; } }

/* SolarEdge: schlanke, rein lesende Anlagenkarte. */
.monitoring-connection-state,.pv-live-card{margin:1rem 0;padding:1rem 1.2rem;border:1px solid #bfd0dc;border-radius:.75rem;background:#f5f9fb}.monitoring-connection-state{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.monitoring-connection-state h2,.pv-live-card h2{margin:.15rem 0}.pv-live-card .heading-actions form{margin:0}.inset-card{box-shadow:none;margin:1rem 0}.compact-form{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}.compact-form>div{min-width:260px;flex:1}.compact-form button{margin:0}@media(max-width:650px){.monitoring-connection-state{flex-direction:column}.compact-form{align-items:stretch}.compact-form button{width:100%}}

/* Schlanker Service- und Wartungsbereich für Elektro und PV. */
.service-page{max-width:1320px}.service-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;margin:1.25rem 0}.service-summary a{display:grid;gap:.15rem;padding:.8rem;border:1px solid #d6e0e8;border-radius:.65rem;background:#f4f7f9;color:#17365d;text-decoration:none}.service-summary a.active{border-color:#247a61;background:#e8f5ee}.service-summary strong{font-size:1.35rem}.service-summary span{font-size:.78rem}.service-filters{display:flex;gap:.5rem;margin:0 0 1rem}.service-filters a{padding:.45rem .85rem;border:1px solid #c5d2dc;border-radius:999px;color:#17365d;text-decoration:none}.service-filters a.active{color:#fff;border-color:#173f68;background:#173f68}.service-order-list{display:grid;border:1px solid #d5dfe7;border-radius:.75rem;overflow:hidden}.service-order-row{display:grid;grid-template-columns:5rem minmax(15rem,2fr) minmax(12rem,1fr) minmax(9rem,.7fr) 7rem;gap:1rem;align-items:center;padding:.8rem 1rem;border-bottom:1px solid #e1e7ed;color:#172a40;text-decoration:none;background:#fff}.service-order-row:last-child{border-bottom:0}.service-order-row:hover{background:#f5f9fb}.service-order-row.urgent{border-left:5px solid #b42318;background:#fff7f6}.service-order-row span{display:grid;gap:.15rem}.service-order-row small{color:#647284}.service-discipline,.service-status{justify-self:start;padding:.3rem .55rem;border-radius:999px;background:#e5f1f5;color:#145a70;font-weight:800}.service-status{background:#edf3e9;color:#37602e}.compact-service-form{max-width:980px}.service-create-form{margin-top:1rem}.optional-service-data{padding:.8rem 1rem;border:1px solid #d5dfe7;border-radius:.65rem;background:#f8fafb}.optional-service-data>summary{cursor:pointer;color:#17365d;font-weight:800}.optional-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.85rem}.service-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.service-detail-summary div{display:grid;gap:.2rem;padding:.8rem;border-radius:.65rem;background:#edf3f7}.service-detail-summary span{color:#617183;font-size:.8rem}.service-planning-box{display:grid;grid-template-columns:minmax(15rem,.7fr) minmax(0,1.6fr);gap:1.25rem;margin-top:1.25rem;padding:1.1rem;border:1px solid #9bb7c8;border-radius:.75rem;background:#f1f7f9}.service-planning-box h2{margin:.15rem 0}.service-schedule-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.65rem}.service-schedule-form label{margin:0}.service-schedule-form input,.service-schedule-form select,.service-schedule-form textarea{margin-top:.25rem}.service-schedule-form button{justify-self:start;margin:0}
@media(max-width:900px){.service-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.service-order-row{grid-template-columns:4rem minmax(0,1fr) 7rem}.service-order-row>span:nth-child(3),.service-order-row>span:nth-child(4){display:none}.service-detail-summary{grid-template-columns:1fr 1fr}.service-planning-box{grid-template-columns:1fr}.service-schedule-form{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.service-summary{grid-template-columns:1fr 1fr}.service-order-row{grid-template-columns:3.5rem minmax(0,1fr)}.service-order-row .service-status{display:none}.optional-service-grid,.service-detail-summary,.service-schedule-form{grid-template-columns:1fr}}

/* Einheitlicher NIETEC-Arbeitsbereich: Projektakte und Service folgen der klaren Kalenderlogik. */
.project-record-page,.service-workspace{position:relative;left:50%;width:calc(100vw - 24px)!important;max-width:1580px!important;margin-left:0;transform:translateX(-50%)}
.project-record-page,.service-workspace{padding:clamp(1.1rem,2.2vw,2rem)}
.project-record-heading h1,.service-workspace-heading h1,.service-detail-workspace h1{margin-bottom:.35rem;font-size:clamp(1.9rem,3.4vw,2.8rem)}
.project-record-heading p:last-child{margin:.25rem 0;color:#657286}
.project-status-badge{display:inline-flex;padding:.2rem .55rem;border-radius:999px;color:#246142;background:#e4f3e8;font-size:.78rem;font-weight:800}
.project-record-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:1rem 0;border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}
.project-record-summary>div{display:grid;gap:.18rem;min-height:76px;padding:.85rem 1rem;border-right:1px solid #e1e7ed}
.project-record-summary>div:last-child{border-right:0}.project-record-summary span{color:#657286;font-size:.72rem;font-weight:700;text-transform:uppercase}.project-record-summary strong{overflow:hidden;color:#173a63;font-size:1rem;text-overflow:ellipsis}
.project-action-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:1rem 0}
.project-action-strip>a{display:grid;grid-template-columns:auto 1fr;gap:.08rem .65rem;align-items:center;padding:.8rem .9rem;border:1px solid #d5e0e7;border-left:5px solid #176b87;border-radius:9px;color:#172a40;background:#f7fafc;text-decoration:none}
.project-action-strip>a:hover{border-color:#7fa5b7;background:#eef7f8}.project-action-strip span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#fff;background:#176b87;font-size:.7rem;font-weight:800}.project-action-strip strong{font-size:.9rem}.project-action-strip small{color:#657286;font-size:.7rem}
.project-status-form{grid-template-columns:minmax(260px,1fr) auto;gap:.55rem;max-width:680px;margin:1rem 0;padding:.75rem;border:1px solid #d9e2ea;background:#f7fafc}.project-status-form label{font-size:.75rem}.project-status-form select,.project-status-form button{min-height:40px;padding:.55rem .7rem}
.project-record-panel,.service-edit-panel{margin:1rem 0;border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}
.project-record-panel>summary,.service-edit-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;cursor:pointer;list-style:none}.project-record-panel>summary::-webkit-details-marker,.service-edit-panel>summary::-webkit-details-marker{display:none}
.project-record-panel>summary span,.service-edit-panel>summary span{display:grid}.project-record-panel>summary small,.service-edit-panel>summary small{margin-top:.12rem;color:#657286;font-weight:500}.project-record-panel>summary em,.service-edit-panel>summary em{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:#173a63;font-size:1.15rem;font-style:normal;transition:transform .15s ease}.project-record-panel[open]>summary,.service-edit-panel[open]>summary{border-bottom:1px solid #d9e2ea;background:#f7fafc}.project-record-panel[open]>summary em,.service-edit-panel[open]>summary em{transform:rotate(45deg)}
.project-record-panel .detail-grid{margin:0;padding:1rem}.project-record-panel .detail-grid>div{border:1px solid #e3e9ee;background:#f8fafc}.project-panel-body{padding:1rem}.project-panel-body .table-wrap{margin:0}
.project-record-page .project-journal{border-radius:12px;background:#f7fafc}.project-record-page .journal-entry-form{border:1px solid #dbe3e9;border-radius:9px;background:#fff}.project-record-page .timeline-entry{border-left-color:#176b87;box-shadow:none}

.service-workspace{max-width:1580px!important}.service-workspace-heading{padding-bottom:1rem;border-bottom:1px solid #d9e2ea}.service-summary{gap:0;margin:1rem 0;border:1px solid #d9e2ea;border-radius:12px;overflow:hidden}.service-summary a{min-height:78px;padding:.8rem 1rem;border:0;border-right:1px solid #e1e7ed;border-radius:0;background:#fff}.service-summary a:last-child{border-right:0}.service-summary a:hover{background:#f2f7f9}.service-summary a.active{box-shadow:inset 0 -4px #0c7d73;background:#edf8f6}.service-summary strong{color:#173a63;font-size:1.45rem}.service-summary span{color:#657286;font-size:.72rem;font-weight:700}
.service-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.65rem .8rem;border:1px solid #d9e2ea;border-radius:10px;background:#f7fafc}.service-toolbar>strong{color:#173a63;font-size:.8rem}.service-filters{margin:0}.service-filters a{padding:.4rem .75rem;background:#fff;font-size:.78rem;font-weight:750}
.service-order-list{border-radius:10px}.service-order-header,.service-order-row{display:grid;grid-template-columns:6rem minmax(16rem,2fr) minmax(12rem,1fr) minmax(10rem,.8fr) 8rem;gap:.8rem;align-items:center}.service-order-header{padding:.55rem 1rem;color:#fff;background:#173a63;font-size:.7rem;font-weight:800;text-transform:uppercase}.service-order-row{min-height:70px;padding:.65rem 1rem}.service-order-row:hover{background:#eef7f8}.service-order-row.urgent{border-left:5px solid #b42318}.service-discipline,.service-status{font-size:.7rem}
.service-form-workspace{max-width:1180px!important}.service-form-steps{display:grid;grid-template-columns:repeat(3,1fr);margin:1rem 0;border:1px solid #d9e2ea;border-radius:10px;overflow:hidden}.service-form-steps span{display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.7rem;border-right:1px solid #d9e2ea;color:#657286;background:#f7fafc;font-size:.78rem;font-weight:750}.service-form-steps span:last-child{border-right:0}.service-form-steps span.active{color:#fff;background:#173a63}.service-form-steps b{display:grid;place-items:center;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;font-size:.7rem}.service-form-workspace .service-create-form{padding:1rem;border:1px solid #d9e2ea;border-radius:12px;background:#fff}
.service-detail-workspace{max-width:1380px!important}.service-detail-summary{margin:1rem 0;border:1px solid #d9e2ea;border-radius:12px;overflow:hidden}.service-detail-summary div{min-height:72px;border-right:1px solid #e1e7ed;border-radius:0;background:#f7fafc}.service-detail-summary div:last-child{border-right:0}.service-edit-panel .service-create-form{margin:0;padding:1rem}.service-planning-box{border-radius:12px}
@media(max-width:1050px){.project-record-summary{grid-template-columns:repeat(3,1fr)}.project-record-summary>div:nth-child(3){border-right:0}.project-action-strip{grid-template-columns:1fr 1fr}.service-order-header,.service-order-row{grid-template-columns:5rem minmax(12rem,2fr) minmax(9rem,1fr) 7rem}.service-order-header>span:nth-child(4),.service-order-row>span:nth-child(4){display:none}}
@media(max-width:760px){.project-record-page,.service-workspace{width:calc(100vw - 10px)!important}.project-record-summary{grid-template-columns:1fr 1fr}.project-record-summary>div:nth-child(n){border-right:1px solid #e1e7ed;border-bottom:1px solid #e1e7ed}.project-record-summary>div:nth-child(even){border-right:0}.project-action-strip{grid-template-columns:1fr}.project-status-form{grid-template-columns:1fr}.project-status-form label{grid-column:auto}.service-toolbar{align-items:stretch;flex-direction:column}.service-filters{overflow-x:auto}.service-summary{grid-template-columns:1fr 1fr}.service-summary a{border-bottom:1px solid #e1e7ed}.service-order-header{display:none}.service-order-row{grid-template-columns:4.5rem minmax(0,1fr) 7rem}.service-order-row>span:nth-child(3),.service-order-row>span:nth-child(4){display:none}.service-form-steps span{font-size:0}.service-form-steps b{font-size:.7rem}}
/* Versionierte Angebotstexte */
.offer-text-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1rem}.offer-text-actions form{display:flex;gap:.65rem;align-items:end;flex-wrap:wrap}.offer-text-actions label{flex:1;min-width:220px}.offer-text-snapshots{display:grid;gap:.75rem;padding:0;list-style:none}.offer-text-snapshots li{border:1px solid #d9e3ea;border-left:4px solid #19756a;border-radius:8px;padding:.85rem;background:#fff}.offer-text-snapshots small{display:block;color:#60717d;margin-top:.15rem}.offer-text-snapshots p{white-space:pre-line;margin:.6rem 0}.legal-review-badge{display:inline-block;background:#fff1d6;color:#7f4b00;border:1px solid #e7bb64;border-radius:999px;padding:.2rem .55rem;font-size:.8rem;font-weight:700}.inline-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.65rem}.inline-actions form{display:inline}.empty-hint{color:#60717d;font-style:italic}

/* Einheitliche Zwischenseiten im Projektablauf: breit, kompakt und mobil lesbar. */
.workflow-workspace{position:relative;left:50%;width:calc(100vw - 24px)!important;max-width:1580px!important;margin-left:0;padding:clamp(1.1rem,2.2vw,2rem);transform:translateX(-50%)}
.project-workflow-compact{position:relative;left:50%;width:calc(100vw - 24px);max-width:1580px;margin-left:0;transform:translateX(-50%)}
.workflow-workspace .project-workflow-compact{left:auto;width:100%;max-width:none;margin:1rem 0;transform:none}
.workflow-workspace>.page-heading{padding-bottom:1rem;border-bottom:1px solid #d9e2ea}.workflow-workspace>.page-heading h1{margin-bottom:.3rem;font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.05}.workflow-workspace>.page-heading p:last-child{margin:.2rem 0;color:#657286}
.workflow-workspace>.assistant-notice{margin:1rem 0}.workflow-workspace .section-heading h2{margin:.1rem 0}.workflow-workspace .customer-form{margin-top:.8rem}.workflow-workspace .customer-form button{margin-top:.55rem}
.project-assistant-workspace>section,.project-summary-workspace>section{margin:1rem 0;padding:1rem;border:1px solid #d9e2ea;border-radius:12px;background:#fff}.project-assistant-workspace>section h2,.project-summary-workspace>section h2{margin-top:0}
.document-workspace-page .document-workspace{padding:1rem;border:1px solid #d9e2ea;border-radius:12px;background:#f8fafc}.document-workspace-page .heading-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.document-workspace-page .heading-actions form{margin:0}.document-workspace-page .heading-actions a,.document-workspace-page .heading-actions button{margin:0}

.electrical-offer-workspace .electrical-planner-layout{display:grid;gap:1rem;margin-top:1rem}.electrical-offer-workspace .electrical-planner-layout>section,.electrical-offer-workspace .package-technical-details,.electrical-offer-workspace .assistant-result{margin:0;padding:1rem;border:1px solid #d9e2ea;border-radius:12px;background:#fff}.electrical-offer-workspace .electrical-planner-layout>section>h2{margin-top:0}.electrical-offer-workspace .foundation-intro{margin-top:-.35rem;color:#657286}.electrical-offer-workspace .foundation-documents{margin-top:1rem;border-radius:10px}.electrical-offer-workspace .foundation-import-module{margin-top:.75rem}.electrical-offer-workspace .planning-checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem .65rem;padding:.8rem;border:1px solid #d9e2ea;border-radius:9px;background:#f8fafc}.electrical-offer-workspace .planning-checklist legend{padding:0 .35rem;color:#173a63;font-weight:800}.electrical-offer-workspace .planning-checklist .check-label{min-height:42px;margin:0;padding:.45rem .55rem;border:1px solid #e1e7ed;border-radius:7px;background:#fff}.electrical-offer-workspace .manufacturer-reference{min-height:0}.electrical-offer-workspace .assistant-result{margin-top:1rem;background:#f7fafc}
@media(min-width:1180px){.electrical-offer-workspace .form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem .8rem}.electrical-offer-workspace .foundation-primary{grid-column:span 2}.electrical-offer-workspace .span-two{grid-column:1/-1}.electrical-offer-workspace .foundation-documents{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);gap:1rem;align-items:start}.electrical-offer-workspace .foundation-document-list{grid-column:1/-1}.pv-workspace-page .planner-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.workflow-workspace,.project-workflow-compact{width:calc(100vw - 10px)!important}.electrical-offer-workspace .planning-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}.document-workspace-page iframe{min-height:460px!important;height:60vh!important}}
@media(max-width:600px){.workflow-workspace{padding:1rem}.workflow-workspace>.page-heading{align-items:flex-start;flex-direction:column}.electrical-offer-workspace .planning-checklist{grid-template-columns:1fr}.document-workspace-page .heading-actions{align-items:stretch;flex-direction:column}.document-workspace-page .heading-actions a,.document-workspace-page .heading-actions button{width:100%;text-align:center}}

/* Cockpit und Kundenverzeichnis: gemeinsame operative Designsprache. */
.cockpit-v2,.customer-center-v2{position:relative;left:50%;width:calc(100vw - 24px);max-width:1580px;margin-left:0;transform:translateX(-50%)}
.cockpit-v2-head,.customer-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.35rem 1.5rem;border:1px solid #d9e2ea;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgb(23 54 93 / 6%)}
.cockpit-v2-head h1,.customer-center-head h1{margin:0 0 .35rem;font-size:clamp(2rem,3.4vw,3rem)}
.cockpit-v2-head p:last-child,.customer-center-head p:last-child{margin:.2rem 0;color:#657286}
.cockpit-head-actions,.customer-head-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}
.cockpit-head-actions a,.customer-head-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.65rem .9rem;border:1px solid #bdcbd6;border-radius:8px;color:#173a63;background:#fff;text-decoration:none;font-size:.82rem;font-weight:800}
.cockpit-head-actions .cockpit-primary-action,.customer-head-actions .customer-primary-action{border-color:#173a63;color:#fff;background:#173a63}
.cockpit-head-actions a:hover,.customer-head-actions a:hover{border-color:#0c7d73}.cockpit-head-actions .cockpit-primary-action:hover,.customer-head-actions .customer-primary-action:hover{background:#0c7d73}

.cockpit-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:1rem 0;border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}
.cockpit-kpis a{display:grid;gap:.08rem;min-height:106px;padding:.85rem 1rem;border-right:1px solid #e1e7ed;color:#172033;text-decoration:none}
.cockpit-kpis a:last-child{border-right:0}.cockpit-kpis a:hover{background:#f2f8f8}.cockpit-kpis span{color:#657286;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.cockpit-kpis strong{color:#173a63;font-size:1.85rem;line-height:1.05}.cockpit-kpis small{color:#657286;font-size:.7rem}
.cockpit-kpis a.attention{box-shadow:inset 0 -4px #c98313;background:#fffaf0}.cockpit-kpis a.critical{box-shadow:inset 0 -4px #b13b36;background:#fff5f4}.cockpit-kpis a.attention strong{color:#a96400}.cockpit-kpis a.critical strong{color:#a52f2a}
.cockpit-v2-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:1rem;margin:1rem 0}.cockpit-v2-panel{border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}.cockpit-v2-panel>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid #e1e7ed;background:#f7fafc}.cockpit-v2-panel>header h2{margin:.05rem 0;font-size:1.2rem}.cockpit-v2-panel>header .eyebrow{margin:0;font-size:.65rem}.cockpit-v2-panel>header>a{color:#173a63;font-size:.76rem;font-weight:800;text-decoration:none}
.cockpit-assignment-list{display:grid}.cockpit-assignment-list article{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:.8rem;align-items:center;min-height:74px;padding:.65rem 1rem;border-bottom:1px solid #e5eaef;border-left:5px solid #0c7d73}.cockpit-assignment-list article:last-child{border-bottom:0}.cockpit-assignment-list article.pending{border-left-color:#c98313;background:#fffaf1}.cockpit-assignment-list time,.cockpit-assignment-list article>div{display:grid}.cockpit-assignment-list time strong{color:#173a63;font-size:.95rem}.cockpit-assignment-list time span,.cockpit-assignment-list article span,.cockpit-assignment-list article small{color:#657286;font-size:.72rem}.cockpit-assignment-list article>div>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cockpit-assignment-list em{padding:.25rem .5rem;border-radius:999px;color:#246142;background:#e4f3e8;font-size:.68rem;font-style:normal;font-weight:800}.cockpit-assignment-list article.pending em{color:#8b5400;background:#ffedc8}
.cockpit-priorities>header{background:#173a63}.cockpit-priorities>header .eyebrow,.cockpit-priorities>header h2{color:#fff}.cockpit-priority-list{display:grid;gap:.55rem;padding:.8rem}.cockpit-priority-list>a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.72rem;border:1px solid #d9e2ea;border-left:5px solid #6d8295;border-radius:8px;color:#172033;background:#fff;text-decoration:none}.cockpit-priority-list>a span{display:grid}.cockpit-priority-list>a small{margin-top:.1rem;color:#657286;font-size:.7rem}.cockpit-priority-list>a b{color:#173a63;font-size:1.4rem}.cockpit-priority-list>a.critical{border-left-color:#b13b36;background:#fff5f4}.cockpit-priority-list>a.attention{border-left-color:#c98313;background:#fffaf0}.cockpit-priority-list>a.clear{border-left-color:#2f7f50;background:#f3faf5}
.cockpit-create-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;padding:0 .8rem .8rem}.cockpit-create-actions a{display:grid;padding:.6rem;border:1px solid #cbd7e0;border-radius:7px;color:#173a63;background:#f7fafc;text-align:center;text-decoration:none}.cockpit-create-actions span{color:#657286;font-size:.65rem}
.cockpit-recent-projects{margin-top:1rem}.cockpit-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;padding:.8rem}.cockpit-project-grid>a{display:grid;gap:.2rem;min-height:126px;padding:.8rem;border:1px solid #dce4ea;border-left:5px solid #173a63;border-radius:8px;color:#172033;background:#fff;text-decoration:none}.cockpit-project-grid>a:hover{border-left-color:#0c7d73;background:#f2f8f8}.cockpit-project-grid span{width:max-content;padding:.18rem .45rem;border-radius:999px;color:#246142;background:#e4f3e8;font-size:.64rem;font-weight:800}.cockpit-project-grid small,.cockpit-project-grid p{color:#657286;font-size:.7rem}.cockpit-project-grid p{margin:.25rem 0 0;line-height:1.35}

.customer-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0;border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}.customer-metrics span{display:grid;gap:.08rem;min-height:82px;padding:.85rem 1rem;border-right:1px solid #e1e7ed;color:#657286;font-size:.74rem}.customer-metrics span:last-child{border-right:0}.customer-metrics strong{color:#173a63;font-size:1.45rem}.customer-metrics .customer-result-metric{box-shadow:inset 0 -4px #0c7d73;background:#f2faf8}
.customer-directory-panel{border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}.customer-filter-bar{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:.55rem;align-items:end;margin:0;padding:.85rem 1rem;border-bottom:1px solid #e1e7ed;background:#f7fafc}.customer-filter-bar label{margin:0;color:#536174;font-size:.72rem}.customer-filter-bar input{min-height:42px;margin:.25rem 0 0;background:#fff}.customer-filter-bar button,.customer-filter-bar>a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin:0;padding:.6rem .9rem;border:1px solid #173a63;border-radius:7px;color:#fff;background:#173a63;font:inherit;font-size:.78rem;font-weight:800;text-decoration:none}.customer-filter-bar>a{border-color:#bdcbd6;color:#173a63;background:#fff}
.customer-directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1rem;border-bottom:1px solid #e1e7ed}.customer-status-tabs{display:flex;gap:.4rem}.customer-status-tabs a{display:flex;align-items:center;gap:.4rem;padding:.42rem .65rem;border:1px solid #c7d3dc;border-radius:7px;color:#173a63;background:#fff;text-decoration:none;font-size:.75rem;font-weight:800}.customer-status-tabs a span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 .3rem;border-radius:999px;background:#edf2f6;font-size:.65rem}.customer-status-tabs a.active{border-color:#0c7d73;color:#fff;background:#0c7d73}.customer-status-tabs a.active span{color:#173a63;background:#fff}.customer-directory-toolbar>p{margin:0;color:#657286;font-size:.74rem}
.customer-directory-head,.customer-directory-row{display:grid;grid-template-columns:minmax(230px,1.35fr) minmax(180px,1fr) minmax(160px,.8fr) minmax(150px,.8fr) 86px 100px;gap:.75rem;align-items:center}.customer-directory-head{min-height:40px;padding:.45rem 1rem;color:#536174;background:#f2f6f8;font-size:.67rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.customer-directory-row{min-height:76px;padding:.65rem 1rem;border-top:1px solid #e1e7ed}.customer-directory-row:hover{background:#f3f9f9}.customer-directory-row.archived{opacity:.78;background:#f7f7f7}.customer-identity{display:flex;align-items:center;gap:.65rem;min-width:0}.customer-avatar{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;color:#fff;background:#176b87;font-weight:800}.customer-identity>div,.customer-contact-person,.customer-location,.customer-contact-links{display:grid;min-width:0}.customer-directory-row strong,.customer-directory-row small,.customer-contact-links a,.customer-contact-links span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-directory-row small,.customer-contact-links a,.customer-contact-links span{color:#657286;font-size:.7rem}.customer-contact-links{gap:.15rem}.customer-contact-links a{color:#0a655e;text-decoration:none}.customer-status-badge{display:inline-flex;justify-content:center;padding:.24rem .48rem;border-radius:999px;font-size:.68rem;font-weight:800}.customer-status-badge.active{color:#246142;background:#e4f3e8}.customer-status-badge.archived{color:#5e6873;background:#e7eaed}.customer-open-link{display:inline-flex;justify-content:center;padding:.48rem .6rem;border:1px solid #b7c6d2;border-radius:6px;color:#173a63;background:#fff;text-decoration:none;font-size:.72rem;font-weight:800}.customer-open-link:hover{border-color:#0c7d73;color:#0a655e}.customer-empty-state{margin:1rem}
@media(max-width:1180px){.cockpit-kpis{grid-template-columns:repeat(3,1fr)}.cockpit-kpis a:nth-child(3){border-right:0}.cockpit-kpis a:nth-child(-n+3){border-bottom:1px solid #e1e7ed}.cockpit-project-grid{grid-template-columns:repeat(2,1fr)}.customer-directory-head,.customer-directory-row{grid-template-columns:minmax(220px,1.35fr) minmax(170px,1fr) minmax(150px,.8fr) 86px 100px}.customer-directory-head>span:nth-child(4),.customer-directory-row>.customer-contact-links{display:none}}
@media(max-width:820px){.cockpit-v2,.customer-center-v2{width:calc(100vw - 10px)}.cockpit-v2-head,.customer-center-head{align-items:stretch;flex-direction:column}.cockpit-head-actions,.customer-head-actions{display:grid;grid-template-columns:1fr 1fr}.cockpit-v2-workspace{grid-template-columns:1fr}.cockpit-project-grid{grid-template-columns:1fr 1fr}.customer-metrics{grid-template-columns:1fr 1fr}.customer-metrics span{border-bottom:1px solid #e1e7ed}.customer-metrics span:nth-child(even){border-right:0}.customer-filter-bar{grid-template-columns:1fr auto}.customer-filter-bar>a{grid-column:1/-1}.customer-directory-toolbar{align-items:flex-start;flex-direction:column}.customer-directory-head{display:none}.customer-directory-row{grid-template-columns:minmax(0,1fr) auto;gap:.45rem;padding:.8rem}.customer-identity{grid-column:1/-1}.customer-contact-person,.customer-location{padding-left:44px}.customer-status-badge{grid-column:2;grid-row:2}.customer-open-link{grid-column:2;grid-row:3}.customer-directory-row>.customer-contact-links{display:none}}
@media(max-width:560px){.cockpit-head-actions,.customer-head-actions{grid-template-columns:1fr}.cockpit-kpis{grid-template-columns:1fr 1fr}.cockpit-kpis a:nth-child(n){min-height:96px;border-right:1px solid #e1e7ed;border-bottom:1px solid #e1e7ed}.cockpit-kpis a:nth-child(even){border-right:0}.cockpit-assignment-list article{grid-template-columns:68px minmax(0,1fr)}.cockpit-assignment-list em{grid-column:2;width:max-content}.cockpit-project-grid{grid-template-columns:1fr}.cockpit-create-actions{grid-template-columns:1fr}.customer-filter-bar{grid-template-columns:1fr}.customer-filter-bar button,.customer-filter-bar>a{grid-column:auto}.customer-status-tabs{width:100%;overflow-x:auto}.customer-metrics span{min-height:72px;padding:.7rem}.customer-directory-row{grid-template-columns:1fr}.customer-contact-person,.customer-location{padding-left:0}.customer-status-badge,.customer-open-link{grid-column:1;grid-row:auto;width:max-content}}

/* Projektzentrale: fortlaufende Arbeitsliste plus erhaltenes Phasenbrett. */
.project-center-v2{position:relative;left:50%;width:calc(100vw - 24px);max-width:1680px;margin-left:0;transform:translateX(-50%)}
.project-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.35rem 1.5rem;border:1px solid #d9e2ea;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgb(23 54 93 / 6%)}.project-center-head h1{margin:0 0 .35rem;font-size:clamp(2rem,3.4vw,3rem)}.project-center-head p:last-child{margin:.2rem 0;color:#657286}.project-primary-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.65rem .95rem;border-radius:8px;color:#fff;background:#173a63;text-decoration:none;font-size:.82rem;font-weight:800}.project-primary-action:hover{background:#0c7d73}
.project-overview-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:1rem 0;border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}.project-overview-metrics>span,.project-overview-metrics>a{display:grid;gap:.08rem;min-height:82px;padding:.85rem 1rem;border-right:1px solid #e1e7ed;color:#657286;background:#fff;font-size:.72rem;text-decoration:none}.project-overview-metrics>*:last-child{border-right:0}.project-overview-metrics strong{color:#173a63;font-size:1.45rem}.project-overview-metrics .critical{box-shadow:inset 0 -4px #b13b36;background:#fff5f4}.project-overview-metrics .critical strong{color:#a52f2a}.project-overview-metrics .attention{box-shadow:inset 0 -4px #c98313;background:#fffaf0}.project-overview-metrics .attention strong{color:#a96400}.project-overview-metrics .clear{box-shadow:inset 0 -4px #2f7f50}
.project-overview-panel{border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}.project-filter-bar{display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(180px,.6fr) auto auto auto;gap:.55rem;align-items:end;margin:0;padding:.8rem 1rem;border-bottom:1px solid #e1e7ed;background:#f7fafc}.project-filter-bar label{margin:0;color:#536174;font-size:.72rem}.project-filter-bar input,.project-filter-bar select{min-height:42px;margin:.25rem 0 0;background:#fff}.project-filter-bar button,.project-filter-bar>a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin:0;padding:.6rem .85rem;border:1px solid #173a63;border-radius:7px;color:#fff;background:#173a63;font:inherit;font-size:.76rem;font-weight:800;text-decoration:none}.project-filter-bar>a{border-color:#bdcbd6;color:#173a63;background:#fff}.project-attention-check{display:flex!important;align-items:center;gap:.4rem;min-height:42px;padding:.55rem .65rem;border:1px solid #c8d4dd;border-radius:7px;background:#fff}.project-attention-check input{width:auto;min-height:0;margin:0}.project-attention-check span{white-space:nowrap;font-size:.74rem;font-weight:800}
.project-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1rem;border-bottom:1px solid #e1e7ed}.project-view-toolbar nav{display:flex;gap:.4rem}.project-view-toolbar nav a{padding:.42rem .68rem;border:1px solid #c7d3dc;border-radius:7px;color:#173a63;background:#fff;text-decoration:none;font-size:.74rem;font-weight:800}.project-view-toolbar nav a.active{border-color:#0c7d73;color:#fff;background:#0c7d73}.project-view-toolbar p{margin:0;color:#657286;font-size:.74rem}.project-empty-state{margin:1rem}
.project-work-list-head,.project-work-row{display:grid;grid-template-columns:72px minmax(220px,1.2fr) 100px 150px minmax(220px,1.25fr) 105px 68px 78px 78px;gap:.7rem;align-items:center}.project-work-list-head{min-height:40px;padding:.45rem 1rem;color:#536174;background:#f2f6f8;font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.project-work-row{min-height:82px;padding:.65rem 1rem;border-top:1px solid #e1e7ed;border-left:5px solid #2f7f50}.project-work-row:hover{background:#f3f9f9}.project-work-row.attention{border-left-color:#c98313;background:#fffdf7}.project-work-row.critical{border-left-color:#b13b36;background:#fff8f7}.project-health{display:grid;justify-items:start;gap:.18rem}.project-health-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:#2f7f50;box-shadow:0 0 0 3px #dff0e4}.attention .project-health-dot{background:#c98313;box-shadow:0 0 0 3px #ffedc8}.critical .project-health-dot{background:#b13b36;box-shadow:0 0 0 3px #f8dedd}.project-health small{color:#657286;font-size:.62rem;font-weight:800}.project-work-identity,.project-work-owner,.project-work-next,.project-task-count{display:grid;min-width:0}.project-work-identity strong,.project-work-identity span,.project-work-owner strong,.project-work-next strong,.project-work-next small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-work-identity span,.project-work-owner small,.project-work-next small,.project-task-count small{color:#657286;font-size:.68rem}.project-phase-badge{display:inline-flex;justify-content:center;padding:.25rem .42rem;border-radius:999px;color:#173a63;background:#e9f0f6;font-size:.66rem;font-weight:800}.project-work-next strong{font-size:.8rem}.project-work-row time{color:#536174;font-size:.72rem}.project-work-row time.overdue,.project-task-count.overdue strong{color:#a52f2a;font-weight:800}.project-task-count{justify-items:center}.project-task-count strong{color:#173a63;font-size:1rem}.project-open-link{display:inline-flex;justify-content:center;padding:.45rem .55rem;border:1px solid #b7c6d2;border-radius:6px;color:#173a63;background:#fff;text-decoration:none;font-size:.7rem;font-weight:800}.project-open-link:hover{border-color:#0c7d73;color:#0a655e}
.project-phase-board{padding:.8rem}.project-ticket-v2{gap:.28rem;border-left:5px solid #2f7f50}.project-ticket-v2.attention{border-left-color:#c98313;background:#fffdf7}.project-ticket-v2.critical{border-left-color:#b13b36;background:#fff8f7}.project-ticket-v2 header,.project-ticket-v2 footer{display:flex;align-items:center;gap:.4rem}.project-ticket-v2 header strong{margin-right:auto}.project-ticket-v2 header em{font-size:.62rem;font-style:normal}.project-ticket-v2 footer{justify-content:space-between;margin-top:.25rem;padding-top:.35rem;border-top:1px solid #e1e7ed;color:#657286;font-size:.65rem}.project-ticket-v2 small b{color:#334155}
@media(max-width:1350px){.project-work-list-head,.project-work-row{grid-template-columns:68px minmax(210px,1.2fr) 95px 140px minmax(210px,1.2fr) 100px 64px 76px}.project-work-list-head>span:nth-child(8),.project-work-row>.project-modified{display:none}}
@media(max-width:1050px){.project-overview-metrics{grid-template-columns:repeat(3,1fr)}.project-overview-metrics>*{border-bottom:1px solid #e1e7ed}.project-overview-metrics>*:nth-child(3){border-right:0}.project-filter-bar{grid-template-columns:1fr 1fr auto}.project-filter-bar button,.project-filter-bar>a{width:100%}.project-work-list-head,.project-work-row{grid-template-columns:64px minmax(200px,1.2fr) 95px minmax(190px,1fr) 96px 62px 76px}.project-work-list-head>span:nth-child(4),.project-work-row>.project-work-owner{display:none}}
@media(max-width:760px){.project-center-v2{width:calc(100vw - 10px)}.project-center-head{align-items:stretch;flex-direction:column}.project-overview-metrics{grid-template-columns:1fr 1fr}.project-overview-metrics>*:nth-child(n){border-right:1px solid #e1e7ed}.project-overview-metrics>*:nth-child(even){border-right:0}.project-filter-bar{grid-template-columns:1fr}.project-filter-bar button,.project-filter-bar>a{grid-column:auto}.project-view-toolbar{align-items:flex-start;flex-direction:column}.project-work-list-head{display:none}.project-work-row{grid-template-columns:42px minmax(0,1fr) auto;gap:.45rem;padding:.8rem}.project-health{grid-row:1/4}.project-work-identity{grid-column:2/4}.project-phase-badge{grid-column:3;grid-row:2}.project-work-next{grid-column:2;grid-row:2}.project-work-row>time:not(.project-modified){grid-column:2;grid-row:3}.project-task-count{grid-column:3;grid-row:3}.project-open-link{grid-column:2/4;width:100%;margin-top:.25rem}.project-work-row>.project-modified,.project-work-row>.project-work-owner{display:none}.project-phase-board{overflow-x:auto}.project-phase-board .kanban-column{min-width:230px}}
@media(max-width:480px){.project-overview-metrics{grid-template-columns:1fr}.project-overview-metrics>*:nth-child(n){border-right:0}.project-view-toolbar nav{width:100%}.project-view-toolbar nav a{flex:1;text-align:center}.project-work-row{grid-template-columns:34px minmax(0,1fr)}.project-work-identity{grid-column:2}.project-phase-badge,.project-task-count{grid-column:2;grid-row:auto;justify-self:start}.project-work-next,.project-work-row>time:not(.project-modified),.project-open-link{grid-column:2;grid-row:auto}}

/* Einzelne Projektakte: klarer Projektstand, tägliche Arbeit und dauerhaft erreichbare Projektdaten. */
.project-detail-v2{position:relative;left:50%;width:calc(100vw - 24px);max-width:1680px;margin-left:0;transform:translateX(-50%)}
.project-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.5rem;border:1px solid #d9e2ea;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgb(23 54 93 / 6%)}
.project-detail-identity{min-width:0}.project-detail-identity h1{margin:0 0 .35rem;font-size:clamp(2rem,3.4vw,3rem);line-height:1.08}.project-detail-identity>p:last-child{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:.2rem 0;color:#657286}.project-detail-identity>p:last-child>a{color:#0a655e;font-weight:750;text-decoration:none}.project-detail-back{display:inline-flex;margin-bottom:.75rem;color:#536174;font-size:.75rem;font-weight:750;text-decoration:none}.project-detail-back:hover{color:#0a655e}
.project-detail-health{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .5rem;border-radius:999px;color:#246142;background:#e4f3e8;font-size:.68rem;font-weight:800}.project-detail-health i{width:8px;height:8px;border-radius:50%;background:#2f7f50}.project-detail-health.attention{color:#8b5400;background:#ffedc8}.project-detail-health.attention i{background:#c98313}.project-detail-health.critical{color:#922c27;background:#f8dedd}.project-detail-health.critical i{background:#b13b36}
.project-detail-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.project-detail-head-actions>a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.65rem .9rem;border:1px solid #bdcbd6;border-radius:8px;color:#173a63;background:#fff;text-decoration:none;font-size:.8rem;font-weight:800}.project-detail-head-actions>a:hover{border-color:#0c7d73}.project-detail-head-actions .project-detail-primary{border-color:#173a63;color:#fff;background:#173a63}.project-detail-head-actions .project-detail-primary:hover{background:#0c7d73}
.project-detail-v2>.project-workflow-compact{left:auto;width:100%;max-width:none;margin:1rem 0;transform:none}
.project-detail-jumpbar{position:sticky;top:.5rem;z-index:4;display:flex;gap:.35rem;margin:1rem 0;padding:.45rem;border:1px solid #cbd7e0;border-radius:10px;background:#f7fafcf2;box-shadow:0 5px 16px rgb(23 54 93 / 8%);backdrop-filter:blur(8px)}.project-detail-jumpbar a{display:flex;align-items:center;gap:.35rem;padding:.48rem .72rem;border-radius:7px;color:#173a63;text-decoration:none;font-size:.75rem;font-weight:800}.project-detail-jumpbar a:hover{color:#fff;background:#0c7d73}.project-detail-jumpbar span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 .25rem;border-radius:999px;color:#173a63;background:#e3ebf1;font-size:.62rem}.project-detail-jumpbar a:hover span{background:#fff}
.project-command-center{display:grid;grid-template-columns:minmax(340px,1.1fr) minmax(440px,.9fr);border:1px solid #d9e2ea;border-left:7px solid #2f7f50;border-radius:12px;background:#fff;overflow:hidden}.project-command-center.attention{border-left-color:#c98313}.project-command-center.critical{border-left-color:#b13b36}.project-next-step{padding:1.15rem 1.25rem}.project-command-label{display:flex;align-items:center;gap:.45rem;margin-bottom:1rem;color:#536174;font-size:.7rem;font-weight:800}.project-command-label .project-health-dot{flex:0 0 11px}.project-next-step .eyebrow{margin-bottom:.2rem}.project-next-step h2{margin:.15rem 0 .45rem;color:#173a63;font-size:clamp(1.25rem,2vw,1.65rem)}.project-next-task{margin:.3rem 0;color:#657286;font-size:.78rem}.project-next-task a{color:#0a655e;font-weight:750}.project-command-edit{display:inline-flex;margin-top:.65rem;color:#173a63;font-size:.75rem;font-weight:800;text-decoration:none}.project-command-edit:hover{color:#0a655e}
.project-command-plan{margin-top:.65rem}.project-command-plan>summary{display:inline-flex;color:#173a63;font-size:.75rem;font-weight:800;cursor:pointer}.project-command-plan>summary:hover{color:#0a655e}.project-command-plan>form{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(240px,1.3fr) minmax(150px,.7fr) auto;align-items:end;gap:.6rem;margin-top:.75rem;padding:.75rem;border:1px solid #d9e2ea;border-radius:9px;background:#f7fafc}.project-command-plan label{display:grid;gap:.3rem;color:#34445a;font-size:.7rem;font-weight:800}.project-command-plan input,.project-command-plan select{min-width:0;height:40px;padding:.45rem .55rem;border:1px solid #bdc9d4;border-radius:7px;background:#fff}.project-command-plan button{height:40px;white-space:nowrap}
.project-command-facts{display:grid;grid-template-columns:1fr 1fr;background:#f7fafc}.project-command-facts>div{display:grid;align-content:center;gap:.12rem;min-height:96px;padding:.85rem 1rem;border-left:1px solid #e1e7ed;border-bottom:1px solid #e1e7ed}.project-command-facts>div:nth-child(n+3){border-bottom:0}.project-command-facts span{color:#657286;font-size:.65rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.project-command-facts strong{overflow:hidden;color:#173a63;font-size:1rem;text-overflow:ellipsis}.project-command-facts small{color:#657286;font-size:.68rem}.project-command-facts .critical{background:#fff3f2}.project-command-facts .critical strong,.project-command-facts .critical small{color:#a52f2a}
.project-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:1rem;margin-top:1rem;align-items:start}.project-detail-main,.project-detail-side{display:grid;gap:1rem}.project-detail-panel,.project-side-panel{margin:0;border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}.project-detail-panel>header,.project-side-panel>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid #e1e7ed;background:#f7fafc}.project-detail-panel>header h2,.project-side-panel>header h2{margin:.05rem 0;font-size:1.18rem}.project-detail-panel>header .eyebrow,.project-side-panel>header .eyebrow{margin:0;font-size:.65rem}.project-detail-panel>header>p{max-width:470px;margin:0;color:#657286;text-align:right;font-size:.74rem}.project-detail-panel>header>a{color:#173a63;font-size:.74rem;font-weight:800;text-decoration:none}
.project-work-areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:.8rem}.project-work-areas>a{display:grid;grid-template-columns:auto 1fr;gap:.12rem .65rem;align-items:center;min-height:86px;padding:.75rem;border:1px solid #d9e2ea;border-left:5px solid #176b87;border-radius:8px;color:#172033;background:#fff;text-decoration:none}.project-work-areas>a:hover{border-left-color:#0c7d73;background:#f2f8f8}.project-work-areas span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#fff;background:#176b87;font-size:.68rem;font-weight:800}.project-work-areas strong{font-size:.85rem}.project-work-areas small{color:#657286;font-size:.68rem;line-height:1.3}
.project-task-list{display:grid}.project-task-list article{display:grid;grid-template-columns:72px minmax(200px,1fr) 92px 100px 64px;gap:.7rem;align-items:center;min-height:70px;padding:.65rem 1rem;border-bottom:1px solid #e5eaef;border-left:5px solid #2f7f50}.project-task-list article:last-child{border-bottom:0}.project-task-list article.overdue{border-left-color:#b13b36;background:#fff8f7}.project-task-state,.project-task-title,.project-task-priority,.project-task-list time{display:grid;gap:.12rem;min-width:0}.project-task-state>span{width:10px;height:10px;border-radius:50%;background:#2f7f50}.project-task-list small{color:#657286;font-size:.64rem}.project-task-title>a{overflow:hidden;color:#172033;font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.project-task-title>a:hover{color:#0a655e}.project-task-priority>span,.project-task-list time{color:#536174;font-size:.72rem}.project-task-list time.overdue{color:#a52f2a;font-weight:800}.project-task-open{display:inline-flex;justify-content:center;padding:.42rem .5rem;border:1px solid #b7c6d2;border-radius:6px;color:#173a63;background:#fff;text-decoration:none;font-size:.68rem;font-weight:800}.project-clear-state{display:flex;align-items:center;gap:.75rem;margin:.8rem;padding:1rem;border-left:5px solid #2f7f50;border-radius:8px;background:#f2faf4}.project-clear-state>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#fff;background:#2f7f50;font-weight:900}.project-clear-state>div{display:grid;gap:.12rem}.project-clear-state small{color:#657286}.project-completed-tasks{border-top:1px solid #e1e7ed}.project-completed-tasks>summary{padding:.7rem 1rem;cursor:pointer;color:#536174;font-size:.72rem;font-weight:800}.project-completed-tasks>div{display:grid;padding:0 .8rem .8rem}.project-completed-tasks a{display:flex;gap:.45rem;padding:.5rem;color:#536174;text-decoration:none;font-size:.74rem}.project-completed-tasks a span{color:#2f7f50;font-weight:900}
.project-detail-panel.project-journal{padding:0;background:#fff}.project-detail-panel.project-journal>header{align-items:center}.journal-capture{margin:.8rem;border:1px solid #cbd7e0;border-radius:9px;background:#f7fafc;overflow:hidden}.journal-capture>summary{display:flex;align-items:center;gap:.45rem;padding:.72rem .85rem;cursor:pointer;color:#173a63;font-size:.78rem;font-weight:850;list-style:none}.journal-capture>summary::-webkit-details-marker{display:none}.journal-capture>summary span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;background:#0c7d73}.journal-capture .journal-entry-form{margin:0;border:0;border-top:1px solid #d9e2ea;border-radius:0}.project-detail-panel .project-timeline{padding:0 .8rem .8rem}.project-detail-panel>.empty-state,.project-detail-panel>.read-only-note{margin:.8rem}
.project-side-panel>header{align-items:flex-start;justify-content:flex-start}.project-status-form-v2{grid-template-columns:1fr;margin:0;padding:1rem;border:0;border-radius:0;background:#fff}.project-status-form-v2 label{grid-column:auto}.project-status-form-v2 button{width:100%}.project-readonly-phase{display:grid;gap:.2rem;padding:1rem}.project-readonly-phase span{color:#657286;font-size:.72rem}.project-readonly-phase strong{color:#173a63;font-size:1.15rem}.project-fact-list{display:grid;margin:0}.project-fact-list>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:.6rem;padding:.7rem 1rem;border-bottom:1px solid #e5eaef}.project-fact-list dt{font-size:.7rem}.project-fact-list dd{min-width:0;margin:0;font-size:.78rem;overflow-wrap:anywhere}.project-fact-list a{color:#0a655e;font-weight:750;text-decoration:none}.project-description{padding:.85rem 1rem}.project-description>span{color:#657286;font-size:.7rem;font-weight:700}.project-description p{margin:.35rem 0 0;color:#334155;font-size:.78rem;line-height:1.5}.project-side-edit{display:flex;justify-content:center;margin:0 1rem 1rem;padding:.58rem;border:1px solid #b7c6d2;border-radius:7px;color:#173a63;text-decoration:none;font-size:.72rem;font-weight:800}.project-side-edit:hover{border-color:#0c7d73;color:#0a655e}.project-detail-side>.system-history{padding:0}.project-detail-side>.system-history>summary{padding:.8rem 1rem}.project-detail-side>.system-history .history-list{margin:0;padding:0 1rem 1rem}.project-detail-side>.system-history .history-list li{align-items:flex-start;flex-direction:column;font-size:.7rem}.project-detail-footer{padding:.8rem 1rem;border:1px solid #d9e2ea;border-radius:10px;background:#fff}
@media(max-width:1180px){.project-command-center{grid-template-columns:1fr}.project-command-facts{border-top:1px solid #e1e7ed}.project-command-facts>div:first-child,.project-command-facts>div:nth-child(3){border-left:0}.project-detail-columns{grid-template-columns:1fr}.project-detail-side{grid-template-columns:1fr 1fr}.project-detail-side>.system-history{grid-column:1/-1}.project-work-areas{grid-template-columns:repeat(2,1fr)}.project-command-plan>form{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.project-detail-v2{width:calc(100vw - 10px)}.project-detail-head{align-items:stretch;flex-direction:column}.project-detail-head-actions{display:grid;grid-template-columns:1fr 1fr}.project-detail-head-actions>a{text-align:center}.project-detail-head-actions .project-detail-primary{grid-column:1/-1}.project-detail-jumpbar{overflow-x:auto}.project-detail-jumpbar a{flex:0 0 auto}.project-command-facts{grid-template-columns:1fr 1fr}.project-detail-side{grid-template-columns:1fr}.project-detail-side>.system-history{grid-column:auto}.project-detail-panel>header{align-items:flex-start;flex-direction:column}.project-detail-panel>header>p{text-align:left}.project-work-areas{grid-template-columns:1fr}.project-task-list article{grid-template-columns:42px minmax(0,1fr) auto}.project-task-state{grid-row:1/3}.project-task-priority{grid-column:2}.project-task-list time{grid-column:3;grid-row:1}.project-task-open{grid-column:3;grid-row:2}.project-detail-panel.project-journal>header{align-items:flex-start}}
@media(max-width:520px){.project-detail-head-actions{grid-template-columns:1fr}.project-detail-head-actions .project-detail-primary{grid-column:auto}.project-detail-jumpbar{top:.2rem}.project-command-facts{grid-template-columns:1fr}.project-command-facts>div:nth-child(n){min-height:76px;border-left:0;border-bottom:1px solid #e1e7ed}.project-command-facts>div:last-child{border-bottom:0}.project-next-step{padding:1rem}.project-command-plan>form{grid-template-columns:1fr}.project-command-plan button{width:100%}.project-task-list article{grid-template-columns:34px minmax(0,1fr)}.project-task-state{grid-row:1/4}.project-task-priority,.project-task-list time,.project-task-open{grid-column:2;grid-row:auto;justify-self:start}.project-fact-list>div{grid-template-columns:1fr;gap:.15rem}.project-detail-footer{align-items:stretch;flex-direction:column}.project-detail-footer form,.project-detail-footer button{width:100%}}

/* Projektassistent: nachvollziehbarer Weg von den Grundlagen bis zum Angebot. */
.assistant-v2>.assistant-v2-head{margin-bottom:0}.assistant-route{display:grid;grid-template-columns:repeat(5,1fr);margin:1rem 0;border:1px solid #cbd7e0;border-radius:12px;background:#fff;overflow:hidden}.assistant-route>a{display:grid;grid-template-columns:auto 1fr;gap:.08rem .55rem;align-items:center;min-height:78px;padding:.7rem .8rem;border-right:1px solid #e1e7ed;color:#172033;text-decoration:none}.assistant-route>a:last-child{border-right:0}.assistant-route>a:hover{background:#eef7f7}.assistant-route span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;background:#173a63;font-size:.72rem;font-weight:850}.assistant-route strong{font-size:.78rem}.assistant-route small{color:#657286;font-size:.64rem}
.assistant-v2>.assistant-v2-step{margin:1rem 0;padding:0;border:1px solid #d9e2ea;border-radius:12px;background:#fff;overflow:hidden}.assistant-v2-step>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid #e1e7ed;background:#f7fafc}.assistant-v2-step>header h2{margin:.05rem 0;font-size:1.2rem}.assistant-v2-step>header .eyebrow{margin:0;font-size:.65rem}.assistant-v2-step>header>p{max-width:520px;margin:0;color:#657286;text-align:right;font-size:.74rem}.assistant-v2-two-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:1rem;padding:1rem}.assistant-brief-form,.assistant-module-picker{margin:0;padding:1rem;border:1px solid #d9e2ea;border-radius:10px;background:#fff}.assistant-module-picker{background:#f7fafc}.assistant-module-picker h3{margin-top:0}.assistant-module-picker>p{color:#657286;font-size:.76rem}.assistant-module-picker .customer-form{margin:0;padding:0;border:0;background:transparent}.assistant-module-picker .module-selection-grid{grid-template-columns:1fr}.assistant-module-picker .module-start-actions{display:grid;grid-template-columns:1fr;gap:.45rem}.assistant-brief-status{display:grid;gap:.12rem;margin-top:.8rem;padding:.75rem;border-left:5px solid #0c7d73;border-radius:7px;background:#edf8f6}.assistant-brief-status span,.assistant-brief-status small{color:#657286;font-size:.68rem}.assistant-brief-status strong{color:#173a63}.assistant-review-result{margin:0 1rem 1rem;border:1px solid #d9e2ea;border-radius:9px;overflow:hidden}.assistant-review-result>summary{padding:.75rem .85rem;cursor:pointer;color:#173a63;font-size:.78rem;font-weight:850}.assistant-review-result>div{padding:1rem;border-top:1px solid #e1e7ed}.assistant-review-result h3{margin:.4rem 0;font-size:.9rem}
.assistant-source-grid,.assistant-import-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;padding:1rem}.assistant-source-grid>a{display:grid;gap:.18rem;min-height:142px;padding:1rem;border:1px solid #d9e2ea;border-left:5px solid #176b87;border-radius:9px;color:#172033;background:#fff;text-decoration:none}.assistant-source-grid>a:hover{border-left-color:#0c7d73;background:#f2f8f8}.assistant-source-grid span{color:#657286;font-size:.7rem;font-weight:800;text-transform:uppercase}.assistant-source-grid strong{color:#173a63;font-size:1.65rem}.assistant-source-grid p{margin:.1rem 0;color:#536174;font-size:.75rem}.assistant-source-grid em{margin-top:auto;color:#0a655e;font-size:.72rem;font-style:normal;font-weight:850}.assistant-import-grid article{display:grid;gap:.35rem;min-height:220px;padding:1rem;border:1px solid #d9e2ea;border-radius:9px;background:#fff}.assistant-import-grid h3{margin:.25rem 0;color:#173a63}.assistant-import-grid p{margin:0;color:#536174;font-size:.76rem;line-height:1.45}.assistant-import-grid small{margin-top:auto;color:#657286}.assistant-import-grid a{display:flex;justify-content:center;padding:.6rem;border:1px solid #b7c6d2;border-radius:7px;color:#173a63;text-align:center;text-decoration:none;font-size:.72rem;font-weight:850}.assistant-format{width:max-content;padding:.22rem .5rem;border-radius:999px;color:#0a655e;background:#e2f2ef;font-size:.66rem;font-weight:850}.assistant-next-action{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 1rem 1rem;padding:.85rem 1rem;border-left:5px solid #0c7d73;border-radius:9px;background:#edf8f6}.assistant-next-action>div{display:grid;gap:.12rem}.assistant-next-action span{color:#536174;font-size:.72rem}
.assistant-module-dashboard{padding:1rem}.assistant-offer-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:0;align-items:stretch;margin:1rem;border:1px solid #d9e2ea;border-radius:10px;overflow:hidden}.assistant-offer-summary>div{display:grid;gap:.15rem;padding:.85rem 1rem;border-right:1px solid #e1e7ed}.assistant-offer-summary span{color:#657286;font-size:.68rem}.assistant-offer-summary strong{color:#173a63;font-size:1.15rem}.assistant-offer-summary>a{display:grid;place-items:center;border-radius:0}.assistant-offer-goal>.read-only-note{margin:0 1rem 1rem}.assistant-maintenance{margin:1rem 0;border:1px solid #e1c7c5;border-radius:10px;background:#fff}.assistant-maintenance>summary{padding:.75rem 1rem;cursor:pointer;color:#7b332f;font-size:.75rem;font-weight:800}.assistant-maintenance>div{padding:0 1rem 1rem}.assistant-maintenance .section-delete{margin:.6rem 0}

/* Wiederverwendbare eigene NIETEC-Leistungspositionen im Angebotsassistenten. */
.own-position-library{scroll-margin-top:5rem}.own-position-create{margin:1rem;border:1px solid #b9cbd6;border-radius:10px;background:#f7fafc;overflow:hidden}.own-position-create>summary{display:grid;grid-template-columns:auto 1fr;gap:.05rem .55rem;align-items:center;padding:.75rem .85rem;cursor:pointer;list-style:none}.own-position-create>summary::-webkit-details-marker{display:none}.own-position-create>summary span{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:#0c7d73;font-weight:900}.own-position-create>summary strong{color:#173a63;font-size:.82rem}.own-position-create>summary small{color:#657286;font-size:.68rem}.own-position-create .customer-form{margin:0;padding:1rem;border-top:1px solid #d9e2ea;background:#fff}.own-position-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.7rem;padding:0 1rem 1rem}.own-position-grid>article{display:grid;align-content:start;gap:.65rem;padding:.85rem;border:1px solid #d9e2ea;border-left:5px solid #0c7d73;border-radius:9px;background:#fff}.own-position-grid header{display:grid;gap:.08rem}.own-position-grid header span{color:#0a655e;font-size:.65rem;font-weight:850}.own-position-grid header strong{color:#173a63}.own-position-grid header small{color:#657286}.own-position-grid>article>p{max-height:6.2em;margin:0;color:#536174;font-size:.72rem;line-height:1.4;overflow:auto}.own-position-values{display:flex;gap:.4rem;flex-wrap:wrap}.own-position-values span,.own-position-values strong{padding:.25rem .45rem;border-radius:6px;background:#edf2f6;color:#536174;font-size:.68rem}.own-position-values strong{color:#173a63;background:#e4f3e8}.own-position-use{display:grid;grid-template-columns:92px 1fr;gap:.45rem;align-items:end;margin-top:auto}.own-position-use label{margin:0;color:#657286;font-size:.65rem}.own-position-use input{min-height:36px;margin:.2rem 0 0}.own-position-use button{min-height:36px;margin:0;padding:.45rem;border:0;border-radius:6px;color:#fff;background:#173a63;font:inherit;font-size:.7rem;font-weight:850}.own-position-archive>summary{cursor:pointer;color:#8a3d38;font-size:.65rem}.own-position-archive form{margin-top:.45rem}.own-position-archive button{padding:.45rem;font-size:.68rem}.own-position-current{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 1rem 1rem;padding:.7rem .85rem;border-left:5px solid #2f7f50;border-radius:8px;background:#f2faf4}.own-position-current span{color:#536174;font-size:.72rem}
@media(max-width:1050px){.assistant-route{grid-template-columns:repeat(3,1fr)}.assistant-route>a{border-bottom:1px solid #e1e7ed}.assistant-v2-two-columns{grid-template-columns:1fr}.assistant-offer-summary{grid-template-columns:repeat(3,1fr)}.assistant-offer-summary>a{grid-column:1/-1;min-height:44px}}
@media(max-width:760px){.assistant-route{grid-template-columns:1fr 1fr}.assistant-v2-step>header{align-items:flex-start;flex-direction:column}.assistant-v2-step>header>p{text-align:left}.assistant-source-grid,.assistant-import-grid{grid-template-columns:1fr}.assistant-next-action{align-items:stretch;flex-direction:column}.assistant-offer-summary{grid-template-columns:1fr}.assistant-offer-summary>div{border-right:0;border-bottom:1px solid #e1e7ed}.own-position-current{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.assistant-route{grid-template-columns:1fr}.assistant-route>a{border-right:0}.assistant-v2-two-columns,.assistant-source-grid,.assistant-import-grid,.assistant-module-dashboard{padding:.7rem}.assistant-offer-summary{margin:.7rem}.own-position-grid{grid-template-columns:1fr;padding:0 .7rem .7rem}.own-position-create{margin:.7rem}.own-position-use{grid-template-columns:1fr}}

/* Project assistant v3: trades first, foundations per trade, calculation at offer time. */
.assistant-v3 .assistant-route{grid-template-columns:repeat(3,minmax(0,1fr))}.assistant-trade-first{background:linear-gradient(135deg,#f8fbff,#f4fbf9)}.trade-selection-grid .module-choice{min-height:8.5rem}.assistant-foundations-form{display:grid;gap:1.25rem}.assistant-common-foundations,.trade-foundation-card{border:1px solid #d8e1e8;border-radius:14px;padding:1.15rem;background:#fff}.assistant-common-foundations legend,.trade-foundation-card legend{font-weight:800;color:#173b5f;padding:0 .35rem}.assistant-trade-foundations{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.trade-foundation-card{display:flex;flex-direction:column;gap:.55rem;border-top:4px solid #1d766f}.trade-foundation-card.electrical{border-top-color:#245b88}.trade-foundation-card.pv{border-top-color:#2f7f55}.trade-foundation-card.climate{border-top-color:#4f78a7}.trade-foundation-card legend span{display:inline-flex;border-radius:999px;background:#eaf3f7;padding:.2rem .55rem;margin-right:.25rem}.assistant-basic-documents{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem}.assistant-legacy-foundations{border:1px dashed #b8c5cf;border-radius:10px;padding:.8rem}.assistant-offer-requirements,.offer-requirement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.assistant-offer-requirements{padding:1rem}.assistant-offer-requirements article,.offer-requirement-grid article{display:grid;gap:.45rem;border:1px solid #dbe4ea;border-left:5px solid #c68b1b;border-radius:12px;background:#fff;padding:1rem}.assistant-offer-requirements article.ready,.offer-requirement-grid article.ready{border-left-color:#238160}.assistant-offer-requirements article>span,.offer-requirement-grid article>span{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#496579}.assistant-offer-requirements article h3,.offer-requirement-grid article h3{margin:0}.assistant-offer-requirements article p,.offer-requirement-grid article p{margin:0;color:#596d7c}.offer-preparation-gate{background:linear-gradient(135deg,#fffaf0,#f8fbff)}.offer-requirement-grid article a,.offer-requirement-empty a{font-weight:750}.offer-requirement-empty{padding:1rem}.project-trades-badge{display:inline-flex;align-items:center;border-radius:999px;background:#e7f2ef;color:#145f57;padding:.25rem .6rem;font-weight:750}
.assistant-page-route>a.current{color:#fff;background:#173a63}.assistant-page-route>a.current small{color:#dbe8f1}.assistant-page-route>a.current span{color:#173a63;background:#fff}.assistant-page-route>a.complete{background:#edf8f4}.assistant-page-route>a.complete span{background:#267552}.assistant-home-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin:1.2rem 0;padding:1rem 1.15rem;border:1px solid #d9e2ea;border-radius:12px;background:#f7fafc}.assistant-home-intro h2{margin:.05rem 0}.assistant-home-intro>p{max-width:560px;margin:0;color:#607083;text-align:right}.assistant-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.assistant-home-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;padding:1.15rem;border:1px solid #d8e2e9;border-top:5px solid #c68b1b;border-radius:14px;color:#172033;background:#fff;text-decoration:none;box-shadow:0 4px 15px #17365d0d}.assistant-home-card.complete{border-top-color:#267552}.assistant-home-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px #17365d1a}.assistant-home-card>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:#173a63;font-weight:850}.assistant-home-card>div{display:grid;align-content:start;gap:.42rem}.assistant-home-card h3,.assistant-home-card p{margin:0}.assistant-home-card>div>p:not(.eyebrow){color:#5b6d7c}.assistant-home-card>div>strong{margin-top:.35rem;color:#176b5f}.assistant-home-card>em{grid-column:2;color:#173a63;font-style:normal;font-weight:850}.assistant-home-footer,.assistant-page-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem}.assistant-page-actions button{margin:0}.assistant-section-card{margin-top:1rem;border:1px solid #d9e2ea;border-radius:14px;background:#fff;overflow:hidden}.assistant-section-card>header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 1.15rem;border-bottom:1px solid #e0e7ed;background:#f7fafc}.assistant-section-card>header h2{margin:.05rem 0}.assistant-section-card>header>p{max-width:540px;margin:0;color:#607083;text-align:right}.assistant-trades-form,.foundation-single-form{margin:0;padding:1.15rem;border:0;background:#fff}.foundation-area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:1rem}.foundation-area-card{display:grid;gap:.45rem;padding:1rem;border:1px solid #d9e2ea;border-left:6px solid #718096;border-radius:12px;color:#172033;background:#fff;text-decoration:none}.foundation-area-card.electrical{border-left-color:#245b88}.foundation-area-card.pv{border-left-color:#2f7f55}.foundation-area-card.climate{border-left-color:#4f78a7}.foundation-area-card.complete{background:#f2faf7}.foundation-area-card>span{color:#496579;font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.foundation-area-card h3,.foundation-area-card p{margin:0}.foundation-area-card p{color:#5b6d7c}.foundation-area-card strong{color:#176b5f}.foundation-area-card em{color:#173a63;font-style:normal;font-weight:850}.assistant-empty-step{padding:1.2rem}.assistant-empty-step h2{margin:.2rem 0}.foundation-editor-card .foundation-single-form{display:grid;gap:.8rem}.foundation-single-form>label{font-weight:750}.foundation-single-form textarea,.foundation-single-form input{margin-top:.25rem}.assistant-section-page>.assistant-maintenance{margin-top:1rem}
@media(max-width:900px){.assistant-home-grid{grid-template-columns:1fr}.assistant-home-intro{align-items:flex-start;flex-direction:column;gap:.5rem}.assistant-home-intro>p{text-align:left}}
@media(max-width:760px){.assistant-v3 .assistant-route,.assistant-basic-documents{grid-template-columns:1fr}.assistant-trade-foundations,.assistant-offer-requirements,.offer-requirement-grid,.foundation-area-grid{grid-template-columns:1fr}.assistant-section-card>header{align-items:flex-start;flex-direction:column}.assistant-section-card>header>p{text-align:left}.assistant-home-footer,.assistant-page-actions{align-items:stretch;flex-direction:column}.assistant-home-footer>* ,.assistant-page-actions>*{width:100%;justify-content:center;text-align:center}}

/* Ruhige Projektakte und direkte Führung ohne doppelte Schrittleisten. */
.project-detail-v2>.project-command-center{margin-top:.8rem}.project-simple-content{display:grid;gap:.8rem;margin-top:.8rem}.project-simple-work .project-work-areas{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:.65rem}.project-simple-work .project-work-areas>a{display:flex;min-height:62px;flex-direction:column;align-items:flex-start;justify-content:center;gap:.18rem;padding:.7rem .85rem;border-left-width:4px}.project-simple-work .project-work-areas small{font-size:.7rem}.project-simple-section>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;cursor:pointer;list-style:none;background:#fff}.project-simple-section>summary::-webkit-details-marker{display:none}.project-simple-section>summary span{display:grid;gap:.1rem}.project-simple-section>summary strong{color:#173a63;font-size:.95rem}.project-simple-section>summary small{color:#657286;font-size:.7rem;font-weight:500}.project-simple-section>summary b{color:#0a655e;font-size:.7rem}.project-simple-section[open]>summary{border-bottom:1px solid #e1e7ed;background:#f7fafc}.project-simple-section[open]>summary b{font-size:0}.project-simple-section[open]>summary b::after{content:'Schließen';font-size:.7rem}.project-simple-section-body{position:relative;padding:.8rem}.project-simple-section-body>.journal-capture{margin:0 0 .8rem}.project-simple-section-body>.empty-state,.project-simple-section-body>.read-only-note{margin:.8rem 0}.project-simple-section-link{display:flex;justify-content:flex-end;margin:0 0 .55rem;color:#173a63;font-size:.72rem;font-weight:800;text-decoration:none}.project-simple-data-grid{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:.8rem;padding:.8rem}.project-simple-data-grid .project-side-panel{border-radius:9px}.project-simple-content>.system-history{padding:0}.project-simple-content>.system-history>summary{padding:.8rem 1rem}.assistant-simple-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.2rem 0 .7rem;border-bottom:1px solid #d9e2ea}.assistant-simple-head>a{color:#173a63;font-size:.75rem;font-weight:800;text-decoration:none}.assistant-simple-head>div{display:flex;align-items:center;gap:.45rem;min-width:0}.assistant-simple-head span{color:#657286;font-size:.7rem}.assistant-simple-head strong{max-width:620px;color:#173a63;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assistant-section-page .assistant-page-route{margin:.7rem 0}.assistant-section-page .assistant-page-route>a{min-height:54px;padding:.55rem .75rem}.assistant-section-page .assistant-page-route span{grid-row:auto;width:25px;height:25px}.offer-simple-back{display:flex;gap:.8rem}.offer-simple-back a{font-weight:750}
@media(max-width:780px){.project-simple-data-grid{grid-template-columns:1fr}.assistant-simple-head{align-items:flex-start;flex-direction:column-reverse}.assistant-simple-head>div{align-items:flex-start;flex-direction:column;gap:.1rem}.assistant-section-page .assistant-page-route{grid-template-columns:repeat(3,1fr)}.assistant-section-page .assistant-page-route>a{border-bottom:0}.assistant-section-page .assistant-page-route strong{font-size:.7rem}}
@media(max-width:520px){.project-simple-work .project-work-areas{grid-template-columns:1fr}.assistant-section-page .assistant-page-route>a{grid-template-columns:1fr;justify-items:center;text-align:center}.offer-simple-back{align-items:flex-end;flex-direction:column}}

/* Elektro zuerst: ein eigener Arbeitsbereich mit genau drei klaren Wegen. */
.electrical-workspace-simple{max-width:1180px}.electrical-workspace-head{display:grid;gap:.85rem;padding-bottom:1rem;border-bottom:1px solid #d9e2ea}.electrical-workspace-head>a{width:max-content;color:#173a63;font-size:.76rem;font-weight:800;text-decoration:none}.electrical-workspace-head h1{margin:.05rem 0;font-size:clamp(2rem,4vw,3rem)}.electrical-workspace-head p{margin:.1rem 0;color:#657286}.electrical-workspace-notice{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem;border-left:5px solid #c68b1b;border-radius:9px;background:#fff8e9}.electrical-three-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.2rem}.electrical-three-steps>a{display:grid;grid-template-columns:auto 1fr;gap:.7rem;padding:1.15rem;border:1px solid #d9e2ea;border-top:5px solid #c68b1b;border-radius:12px;color:#172033;background:#fff;text-decoration:none;box-shadow:0 5px 18px #17365d0d}.electrical-three-steps>a.ready{border-top-color:#287957}.electrical-three-steps>a:hover{transform:translateY(-2px);box-shadow:0 10px 25px #17365d18}.electrical-three-steps>a>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:#173a63;font-weight:850}.electrical-three-steps>a>div{display:grid;gap:.4rem}.electrical-three-steps h2,.electrical-three-steps p{margin:0}.electrical-three-steps p{color:#5b6d7c}.electrical-three-steps strong{color:#176b5f}.electrical-three-steps em{grid-column:2;color:#173a63;font-style:normal;font-weight:850}.electrical-simple-route{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){.electrical-three-steps{grid-template-columns:1fr}.electrical-workspace-notice{align-items:flex-start;flex-direction:column}}
.electrical-core-workspace{display:grid;gap:.85rem;margin-top:1rem}.electrical-offer-main{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.4rem;border:1px solid #a9c8c2;border-left:7px solid #0c7d73;border-radius:12px;color:#172033;background:#f3fbf9;text-decoration:none}.electrical-offer-main h2,.electrical-offer-main p{margin:.15rem 0}.electrical-offer-main h2{font-size:1.55rem}.electrical-offer-main p{max-width:720px;color:#526575}.electrical-offer-main strong{display:block;margin-top:.55rem;color:#0a655e}.electrical-offer-main em{flex:0 0 auto;padding:.65rem .85rem;border-radius:7px;color:#fff;background:#173a63;font-style:normal;font-weight:850}.electrical-support-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.electrical-support-areas>a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #d9e2ea;border-radius:10px;color:#172033;background:#fff;text-decoration:none}.electrical-support-areas h2,.electrical-support-areas p{margin:.1rem 0}.electrical-support-areas p{color:#657286}.electrical-support-areas strong{color:#0a655e}.electrical-support-areas em{color:#173a63;font-style:normal;font-weight:850}.offer-command-center{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(480px,1.25fr);gap:1rem;margin:1rem 0;padding:1rem;border:1px solid #c9d6df;border-left:7px solid #0c7d73;border-radius:12px;background:#f7fafc}.offer-command-status{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.offer-command-status>.eyebrow,.offer-command-status>h2{grid-column:1/-1;margin:0}.offer-command-status>div{display:grid;gap:.12rem;padding:.55rem;border-radius:7px;background:#fff}.offer-command-status span{color:#657286;font-size:.65rem;font-weight:800;text-transform:uppercase}.offer-command-status strong{color:#173a63;font-size:.78rem;overflow-wrap:anywhere}.offer-command-actions{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:.55rem;align-content:center}.offer-command-actions>a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem .7rem;border:1px solid #bdcbd6;border-radius:7px;color:#173a63;background:#fff;font-size:.74rem;font-weight:850;text-align:center;text-decoration:none}.offer-command-actions>a.primary-link{border-color:#173a63;color:#fff;background:#173a63}.offer-secondary-details{margin:1rem 0;border:1px solid #d9e2ea;border-radius:10px;background:#fff;overflow:hidden}.offer-secondary-details>summary,.electrical-technical-details>summary{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;cursor:pointer;list-style:none}.offer-secondary-details>summary span,.electrical-technical-details>summary span{display:grid;gap:.1rem}.offer-secondary-details>summary strong,.electrical-technical-details>summary strong{color:#173a63}.offer-secondary-details>summary small,.electrical-technical-details>summary small{color:#657286;font-size:.68rem;font-weight:500}.offer-secondary-details>.offer-step{margin:0;border-width:1px 0 0;border-radius:0}.electrical-technical-details{border:1px solid #d9e2ea;border-radius:9px;background:#f7fafc}.electrical-technical-details>.form-grid{padding:.8rem;border-top:1px solid #d9e2ea;background:#fff}
@media(max-width:850px){.electrical-offer-main{align-items:flex-start;flex-direction:column}.electrical-support-areas,.offer-command-center,.offer-command-actions{grid-template-columns:1fr}.electrical-offer-main em{width:100%;text-align:center}}

/* Elektro-Grundlagen vollständig auf der ruhigen Grundlagen-Seite. */
.electrical-foundation-block{display:grid;gap:.75rem;padding:1rem;border:1px solid #d9e2ea;border-radius:11px;background:#fff}.electrical-foundation-block h3{margin:0;color:#173a63}.foundation-block-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.foundation-block-heading h3,.foundation-block-heading p{margin:.08rem 0}.foundation-block-heading>p{max-width:520px;color:#657286;text-align:right;font-size:.74rem}.electrical-foundation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.electrical-foundation-grid .span-two{grid-column:1/-1}.electrical-foundation-details{border:1px solid #d9e2ea;border-radius:9px;background:#f7fafc;overflow:hidden}.electrical-foundation-details>summary{display:flex;padding:.8rem .9rem;cursor:pointer;list-style:none}.electrical-foundation-details>summary::-webkit-details-marker{display:none}.electrical-foundation-details>summary span{display:grid;gap:.12rem}.electrical-foundation-details>summary strong{color:#173a63}.electrical-foundation-details>summary small{color:#657286;font-size:.68rem;font-weight:500}.electrical-foundation-details>.form-grid{padding:.9rem;border-top:1px solid #d9e2ea;background:#fff}.electrical-foundation-details .planning-checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;padding:.8rem;border:1px solid #d9e2ea;border-radius:8px;background:#f7fafc}.electrical-foundation-details .planning-checklist legend{padding:0 .35rem;color:#173a63;font-weight:800}.electrical-foundation-details .planning-checklist .check-label{margin:0;padding:.5rem;border:1px solid #e1e7ed;border-radius:7px;background:#fff}.electrical-consumer-block{display:grid;gap:.8rem;margin:0 1.15rem 1.15rem;padding:1rem;border:1px solid #d9e2ea;border-radius:11px;background:#f7fafc}.electrical-consumer-form{margin:0;padding:0;border:0;background:transparent}.electrical-consumer-form .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.electrical-consumer-block .table-wrap{margin-top:.25rem}.electrical-consumer-block table{background:#fff}
.electrical-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.electrical-service-grid label{display:flex;align-items:flex-start;gap:.55rem;min-height:52px;margin:0;padding:.65rem .75rem;border:1px solid #d9e2ea;border-radius:8px;color:#173a63;background:#f7fafc;font-size:.75rem;font-weight:750;cursor:pointer}.electrical-service-grid label:has(input:checked){border-color:#0c7d73;background:#eaf7f5}.electrical-service-grid input{flex:0 0 auto;width:auto;margin:.1rem 0 0}.electrical-service-grid span{line-height:1.35}
@media(max-width:900px){.electrical-foundation-grid,.electrical-consumer-form .form-grid,.electrical-service-grid{grid-template-columns:1fr 1fr}.electrical-foundation-details .planning-checklist{grid-template-columns:1fr 1fr}.foundation-block-heading{align-items:flex-start;flex-direction:column}.foundation-block-heading>p{text-align:left}}
@media(max-width:600px){.electrical-foundation-grid,.electrical-consumer-form .form-grid,.electrical-service-grid,.electrical-foundation-details .planning-checklist{grid-template-columns:1fr}}
