:root{
    --bg:#f7f7f4;--surface:#fff;--text:#252a28;--muted:#777d79;--line:#e4e6df;
    --olive:#98a263;--olive-soft:#eef0df;--green:#e4f0e5;--blue:#e6eff8;
    --peach:#f5e5dc;--shadow:0 8px 28px rgba(31,35,33,.05);
    --radius:16px;--sidebar:215px
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit} button,input,select{font:inherit}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);padding:18px 13px;display:flex;flex-direction:column;z-index:30}
.sidebar-head{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;padding:3px 6px 18px}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--blue);font-weight:900}.brand strong,.brand small{display:block}.brand small{font-size:.75rem;color:var(--muted)}
.nav-main{display:grid;gap:3px}.nav-main a{text-decoration:none;padding:10px 12px;border-radius:10px;font-weight:700}.nav-main a:hover{background:#f1f2ed}
.sidebar-footer{margin-top:auto;color:var(--muted);padding:8px}.sidebar-close{display:none;border:0;background:transparent;font-size:1.6rem}
.main-shell{margin-left:var(--sidebar);min-height:100vh}.topbar{height:64px;position:sticky;top:0;z-index:20;background:rgba(247,247,244,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 22px}.topbar-title{flex:1}.topbar-title span,.topbar-title strong{display:block}.topbar-title span,.eyebrow{font-size:.68rem;letter-spacing:.12em;color:var(--muted);font-weight:800}.menu-button{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:4px}.menu-button span{width:16px;height:2px;background:var(--text)}
.page{max-width:1450px;margin:0 auto;padding:26px 28px 42px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px}.page-head h1{margin:4px 0 0;font-size:clamp(1.8rem,2.8vw,2.7rem);letter-spacing:-.03em}.page-head p{margin:7px 0 0;color:var(--muted)}
.btn{min-height:40px;padding:8px 13px;border-radius:10px;border:0;text-decoration:none;font-weight:800;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.btn-primary{background:var(--olive);color:#fff}.btn-ghost{background:#fff;border:1px solid var(--line)}.btn-olive-soft{background:var(--olive-soft);color:#60683d}
.dashboard-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.dashboard-links>a,.dashboard-links>div{padding:18px;border-radius:var(--radius);border:1px solid var(--line);background:#fff;text-decoration:none;box-shadow:var(--shadow)}.dashboard-links strong,.dashboard-links span{display:block}.dashboard-links span{color:var(--muted);margin-top:5px;font-size:.9rem}
.table-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.table-scroll{overflow:auto}.management-table{width:100%;border-collapse:collapse;min-width:900px}.management-table th{background:#f5f6f1;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;text-align:left}.management-table th,.management-table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.management-table tr:last-child td{border-bottom:0}.management-table input{width:100%;min-height:38px;border:1px solid transparent;border-radius:8px;background:transparent;padding:7px 8px}.management-table input:focus{outline:none;border-color:#b8bd98;background:#fff;box-shadow:0 0 0 3px rgba(152,162,99,.12)}.check-cell{text-align:center}.save-state{font-size:.8rem;color:var(--muted)}.save-state.saving{color:#967b3f}.save-state.saved{color:#5e795e}.save-state.error{color:#a45d57}
.expand-button{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;transition:transform .15s}.expand-button.open{transform:rotate(180deg)}.project-name-link{font-weight:900;text-decoration:none}.project-name-link:hover{text-decoration:underline}.row-actions{display:flex;gap:6px}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:800}.badge-active{background:var(--green);color:#547158}.badge-inactive{background:#efefeb;color:#777}
.project-detail-row{display:none}.project-detail-row.open{display:table-row}.project-detail-row>td{background:#fafaf7;padding:0 16px 16px !important}.project-detail-box{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.detail-column{min-width:0}.detail-label{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800;margin-bottom:10px}.provider-chips{display:flex;gap:7px;flex-wrap:wrap}.provider-chip{padding:7px 10px;border-radius:999px;background:var(--olive-soft);font-size:.86rem;font-weight:800}.provider-add-list{display:grid;gap:7px}.provider-add-button{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;cursor:pointer}.provider-add-button>span{font-size:1.2rem;text-align:center;color:var(--olive)}.provider-add-button strong{font-size:.9rem}.provider-add-button small{color:var(--muted);padding-right:10px}.muted-text{color:var(--muted);font-size:.9rem}
.timeline-shell,.schedule-shell{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);overflow:hidden}.timeline-scroll,.schedule-scroll{overflow:auto;max-width:100%}.timeline-table,.schedule-table{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%}.timeline-table th,.timeline-table td,.schedule-table th,.schedule-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:0;background:#fff}.month-row th{height:32px;padding:5px 8px;text-align:center;background:#f5f6f1;color:var(--muted);font-size:.74rem}.sticky-project,.sticky-name{position:sticky;left:0;z-index:4;background:#fff!important}.timeline-project{min-width:190px;max-width:190px;padding:10px 12px!important;text-align:left}.timeline-project a{text-decoration:none;font-weight:900}.timeline-project a:hover{text-decoration:underline}.timeline-day,.day-head{min-width:48px;width:48px;height:50px;text-align:center;background:#f5f6f1!important}.timeline-day strong,.timeline-day span,.day-head strong,.day-head span{display:block}.timeline-day span,.day-head span{font-size:.68rem;color:var(--muted)}.project-bar-cell{height:38px;position:relative}.project-bar-cell.active::before{content:"";position:absolute;inset:8px 0;background:var(--olive)}.shift-cell{width:52px;height:46px;border:0;background:#fff;position:relative;cursor:pointer}.shift-cell::before{content:"";position:absolute;inset:5px;border:1px solid #e2e4dd;border-radius:8px;background:#fff}.shift-full::before{background:var(--olive);border-color:var(--olive)}.shift-am::before{background:linear-gradient(to right,var(--olive) 0 50%,#fff 50%)}.shift-pm::before{background:linear-gradient(to right,#fff 0 50%,var(--olive) 50%)}.provider-name{font-weight:800}.sticky-name{min-width:160px;max-width:160px;padding:9px 10px!important;text-align:left}
.form-card,.card,.empty-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.form-card{max-width:800px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-group{display:grid;gap:6px}.form-group.full{grid-column:1/-1}label{font-size:.86rem;font-weight:800}input[type=text],input[type=email],input[type=password],input[type=number],input[type=time],input[type=date],select{width:100%;min-height:44px;border:1px solid #dde0d8;border-radius:10px;padding:9px 11px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}
.nav-backdrop{display:none}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .18s}.nav-open .sidebar{transform:translateX(0)}.sidebar-close{display:block}.nav-open .nav-backdrop{display:block;position:fixed;inset:0;z-index:25;border:0;background:rgba(20,24,22,.25)}.main-shell{margin-left:0}.menu-button{display:flex}.project-detail-box{grid-template-columns:1fr}}
@media(max-width:680px){.page{padding:16px 12px 30px}.topbar{padding:0 11px}.page-head{flex-direction:column;align-items:stretch}.page-head .btn,.page-head form,.page-head form button{width:100%}.form-grid{grid-template-columns:1fr}.form-group.full{grid-column:auto}.timeline-project{min-width:130px;max-width:130px;font-size:.78rem}.timeline-day,.day-head{min-width:46px;width:46px}.sticky-name{min-width:125px;max-width:125px;font-size:.75rem}}

.project-detail-box.three-columns{grid-template-columns:1fr 1fr 1fr}
.compact-top{margin-top:14px}
.stage-list{display:grid;gap:7px}.stage-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fafaf7}.stage-row strong,.stage-row span{display:block}.stage-row span{font-size:.78rem;color:var(--muted);margin-top:2px}.stage-delete{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;color:#8d5c57}.stage-form{display:grid;gap:9px}.stage-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stage-date-grid label span{display:block;font-size:.74rem;color:var(--muted);margin-bottom:4px}.stage-bar-cell{height:30px;position:relative}.stage-bar-cell.active::before{content:"";position:absolute;inset:8px 0;background:#d8ddba}.stage-timeline-row td,.stage-timeline-row th{background:#fbfbf8}.stage-label{padding-left:24px!important}.stage-label span{font-size:.8rem;color:#666d67;font-weight:700}
@media(max-width:1100px){.project-detail-box.three-columns{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.project-detail-box.three-columns{grid-template-columns:1fr}.stage-date-grid{grid-template-columns:1fr}}

.project-detail-stack{display:grid;gap:14px}.project-range-note{display:block;font-size:.82rem;color:var(--muted);margin-bottom:10px}.inline-shift-panel{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.inline-shift-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px}.inline-shift-head strong,.inline-shift-head span{display:block}.inline-shift-head a{font-size:.86rem;font-weight:800;text-decoration:none}.compact-schedule .sticky-name{min-width:145px;max-width:145px}.compact-schedule .day-head,.compact-schedule .shift-cell{min-width:46px;width:46px}.compact-schedule .shift-cell{height:42px}.timeline-project small{display:block;color:var(--muted);font-weight:500;font-size:.7rem;margin-top:3px}.timeline-click-cell{cursor:pointer}.timeline-click-cell:hover{background:#f4f5ef!important}.timeline-click-cell.range-start{box-shadow:inset 0 0 0 3px #6f7748}.timeline-hint{margin-bottom:10px;padding:10px 12px;border-radius:10px;background:var(--olive-soft);font-size:.86rem;font-weight:700;color:#5f673d}

/* V10.2 Projektplan click hotfix */
.timeline-table td {
    min-width:48px;
    width:48px;
    height:40px;
    position:relative;
}

.timeline-date-button {
    display:block;
    width:100%;
    height:40px;
    padding:0;
    margin:0;
    border:0;
    border-radius:0;
    background:transparent;
    cursor:pointer;
    position:relative;
}

.timeline-date-button:hover {
    background:rgba(152,162,99,.12);
}

.timeline-date-button.project-date.active {
    background:var(--olive);
}

.timeline-date-button.stage-date.active {
    background:#d8ddba;
}

.timeline-date-button.selected-start {
    box-shadow:inset 0 0 0 3px #4f5931;
    z-index:2;
}

.timeline-hint {
    margin-bottom:10px;
    padding:10px 12px;
    border-radius:10px;
    background:var(--olive-soft);
    color:#5f673d;
    font-size:.86rem;
    font-weight:800;
}

/* BauOps V11 */
.inline-shift-actions{
    display:flex;
    align-items:center;
    gap:12px;
}
.inline-shift-actions>a{
    font-size:.86rem;
    font-weight:800;
    text-decoration:none;
}
.provider-add-details{
    position:relative;
}
.provider-add-details>summary,
.stage-add-details>summary{
    list-style:none;
    cursor:pointer;
    font-weight:900;
    color:#60683d;
}
.provider-add-details>summary::-webkit-details-marker,
.stage-add-details>summary::-webkit-details-marker{
    display:none;
}
.provider-add-popover{
    position:absolute;
    right:0;
    top:34px;
    z-index:40;
    width:min(360px,80vw);
    padding:10px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    box-shadow:0 14px 38px rgba(31,35,33,.14);
    display:grid;
    gap:7px;
}
.stage-add-details{
    margin-top:7px;
}
.stage-add-details form{
    display:grid;
    grid-template-columns:1fr auto;
    gap:5px;
    margin-top:6px;
}
.stage-add-details input{
    min-height:34px;
    padding:5px 7px;
    font-size:.78rem;
}
.stage-add-details button{
    border:0;
    border-radius:8px;
    background:var(--olive);
    color:#fff;
    font-weight:800;
    padding:5px 8px;
    cursor:pointer;
}
.stage-label-line{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
}
.stage-label-line form{
    margin:0;
}
.timeline-table td{
    min-width:48px;
    width:48px;
    height:40px;
    padding:0!important;
}
.timeline-date-button{
    display:block;
    width:100%;
    height:40px;
    padding:0;
    margin:0;
    border:0;
    border-radius:0;
    background:transparent;
    cursor:pointer;
}
.timeline-date-button:hover{
    box-shadow:inset 0 0 0 2px rgba(79,89,49,.35);
}
.timeline-date-button.project-date.active{
    background:var(--olive);
}
.timeline-date-button.stage-date.active{
    background:#d8ddba;
}
.timeline-date-button.selected-start{
    box-shadow:inset 0 0 0 4px #4f5931!important;
}
.stage-head-0{background:#edf1dd!important}
.stage-head-1{background:#e4eef3!important}
.stage-head-2{background:#f4e8df!important}
.stage-head-3{background:#eee8f5!important}
.stage-head-4{background:#f4f0d9!important}
.day-head[class*="stage-head-"]{
    box-shadow:inset 0 -3px 0 rgba(95,103,61,.24);
}

/* BauOps V12 - eigene Schichtplan-Timeline + Accordion */
.project-accordion-panel{
    overflow:hidden;
}
.project-master-table{
    min-width:900px;
    table-layout:auto;
}
.project-detail-row>td{
    padding:0 14px 18px!important;
    background:#fafaf7;
}
.project-own-shiftplan{
    width:100%;
    min-width:0;
    padding:16px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
}
.own-timeline-scroll{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    border-top:1px solid var(--line);
}
.own-schedule-table{
    width:max-content!important;
    min-width:100%!important;
    margin:0!important;
}
.own-schedule-table .sticky-name{
    left:0;
}
.shift-range-label{
    display:block;
    margin-top:4px;
    color:var(--muted);
    font-size:.78rem;
}
.empty-inline-plan{
    padding:18px 0 4px;
    color:var(--muted);
}
.shiftplan-range-bar{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:12px;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}
.shiftplan-range-bar>strong{
    white-space:nowrap;
}
.shiftplan-range-bar form{
    display:flex;
    align-items:end;
    gap:8px;
    flex-wrap:wrap;
}
.shiftplan-range-bar label span{
    display:block;
    margin-bottom:3px;
    font-size:.72rem;
    color:var(--muted);
}
.shiftplan-range-bar input{
    min-height:38px;
    padding:6px 9px;
}
@media(max-width:900px){
    .project-accordion-panel{
        overflow-x:auto;
    }
}
@media(max-width:680px){
    .shiftplan-range-bar{
        align-items:stretch;
        flex-direction:column;
    }
    .shiftplan-range-bar form{
        display:grid;
        grid-template-columns:1fr 1fr;
    }
    .shiftplan-range-bar form .btn{
        grid-column:1/-1;
    }
}

/* BauOps V12.2 - Inline-Schichtplan kompakt */
.own-timeline-scroll{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
}

.own-schedule-table{
    width:max-content!important;
    min-width:max-content!important;
    table-layout:auto!important;
    margin:0!important;
}

.own-schedule-table .sticky-name{
    min-width:160px!important;
    width:160px!important;
    max-width:160px!important;
}

.own-schedule-table .day-head,
.own-schedule-table .shift-cell{
    min-width:48px!important;
    width:48px!important;
    max-width:48px!important;
}

.own-schedule-table td{
    min-width:48px!important;
    width:48px!important;
    max-width:48px!important;
}

/* V12.3 - + Dienstleister sichtbar unter den Dienstleister-Zeilen */
.provider-plus-row th,
.provider-plus-row td{
    height:46px!important;
    background:#fafaf7!important;
    border-top:1px solid var(--line);
}
.provider-plus-cell{
    padding:0 12px!important;
}
.provider-inline-add{
    position:relative;
}
.provider-inline-add>summary{
    list-style:none;
    cursor:pointer;
    font-weight:900;
    color:#60683d;
    min-height:44px;
    display:flex;
    align-items:center;
}
.provider-inline-add>summary::-webkit-details-marker{
    display:none;
}
.provider-inline-menu{
    position:absolute;
    left:0;
    top:42px;
    z-index:50;
    width:min(360px,80vw);
    padding:10px;
    display:grid;
    gap:7px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    box-shadow:0 14px 38px rgba(31,35,33,.14);
}
.provider-plus-empty{
    background:#fafaf7!important;
}

/* BauOps V12.5 - Projektplan kompakter */
.timeline-table th,
.timeline-table td{
    height:auto!important;
}

.timeline-project{
    min-width:190px!important;
    max-width:190px!important;
    padding:7px 10px!important;
    line-height:1.15!important;
}

.timeline-project a,
.timeline-project>span{
    font-size:.92rem!important;
    line-height:1.15!important;
}

.timeline-project small{
    font-size:.66rem!important;
    margin-top:2px!important;
    line-height:1.1!important;
}

.timeline-day{
    height:44px!important;
    min-height:44px!important;
}

.timeline-date-button{
    height:34px!important;
}

.timeline-table td{
    height:34px!important;
}

.project-timeline-row .timeline-project,
.stage-timeline-row .timeline-project{
    height:48px!important;
}

.stage-timeline-row .timeline-project{
    padding-top:6px!important;
    padding-bottom:6px!important;
}

.stage-label{
    padding-left:18px!important;
}

.stage-label-line{
    min-height:24px!important;
}

.stage-label-line span{
    font-size:.82rem!important;
}

.stage-delete{
    width:26px!important;
    height:26px!important;
    padding:0!important;
}

.stage-add-details{
    margin-top:4px!important;
}

.stage-add-details>summary{
    font-size:.78rem!important;
    line-height:1!important;
}

.stage-add-details form{
    margin-top:4px!important;
}

.stage-add-details input{
    min-height:30px!important;
    padding:4px 6px!important;
}

.stage-add-details button{
    min-height:30px!important;
    padding:4px 7px!important;
}

.month-row th{
    height:28px!important;
    padding:3px 6px!important;
    font-size:.7rem!important;
}

.project-bar-cell,
.stage-bar-cell{
    height:34px!important;
}

.project-bar-cell.active::before,
.stage-bar-cell.active::before{
    inset:6px 0!important;
}

.timeline-hint{
    padding:8px 10px!important;
    margin-bottom:8px!important;
    font-size:.82rem!important;
}

@media(max-width:680px){
    .timeline-project{
        min-width:145px!important;
        max-width:145px!important;
        padding:6px 8px!important;
    }

    .timeline-day{
        min-width:44px!important;
        width:44px!important;
    }

    .timeline-table td{
        min-width:44px!important;
        width:44px!important;
    }
}

/* BauOps V12.6 - Etappe direkt mit Enter */
.stage-inline-form{
    margin-top:4px!important;
}

.stage-inline-input{
    width:100%!important;
    min-height:28px!important;
    height:28px!important;
    padding:3px 6px!important;
    border:1px solid transparent!important;
    border-radius:7px!important;
    background:transparent!important;
    color:#60683d!important;
    font-size:.78rem!important;
    font-weight:800!important;
    outline:none!important;
}

.stage-inline-input::placeholder{
    color:#60683d!important;
    opacity:1!important;
}

.stage-inline-input:hover,
.stage-inline-input:focus{
    border-color:#cfd3bc!important;
    background:#fafbf5!important;
}

.stage-delete{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    padding:0!important;
    border:1px solid var(--line)!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#8d5c57!important;
    line-height:1!important;
    cursor:pointer!important;
}

/* BauOps V12.7 - + Etappe immer zuunterst im Projektblock */
.stage-add-row th,
.stage-add-row td{
    height:32px!important;
    background:#fafaf7!important;
}

.stage-add-cell{
    padding:3px 8px!important;
}

.stage-add-empty{
    background:#fafaf7!important;
}

.stage-add-row .stage-inline-form{
    margin:0!important;
}

.stage-add-row .stage-inline-input{
    min-height:26px!important;
    height:26px!important;
}

/* BauOps V13 - Menü + Projektfortschritt */
.nav-separator{
    height:1px;
    margin:10px 8px;
    background:var(--line);
}

.camera-input{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important;
}

.progress-project-list{
    display:grid;
    gap:8px;
}

.progress-project-row{
    min-height:68px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:11px 14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    text-decoration:none;
    box-shadow:var(--shadow);
}

.progress-project-row strong,
.progress-project-row span{
    display:block;
}

.progress-project-row>div:first-child span{
    margin-top:2px;
    color:var(--muted);
    font-size:.82rem;
}

.progress-project-meta{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    color:var(--muted);
    font-size:.8rem;
}

.problem-count{
    padding:4px 7px;
    border-radius:999px;
    background:var(--peach);
    color:#8d5c57;
    font-weight:800;
}

.progress-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.photo-message{
    margin-bottom:12px;
    padding:9px 12px;
    border-radius:10px;
    background:var(--green);
    font-size:.85rem;
    font-weight:700;
}

.photo-message.error{
    background:var(--peach);
    color:#8d5c57;
}

.photo-accordion{
    display:grid;
    gap:8px;
}

.photo-group{
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    overflow:hidden;
    box-shadow:var(--shadow);
}

.photo-group-bar{
    width:100%;
    min-height:48px;
    padding:9px 13px;
    border:0;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    cursor:pointer;
    text-align:left;
    font-weight:900;
}

.photo-group-bar:hover{
    background:#f8f9f5;
}

.photo-group-right{
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--muted);
    font-size:.8rem;
    font-weight:700;
}

.photo-group-right small{
    font-size:.72rem;
    color:var(--muted);
}

.photo-group-bar b{
    display:inline-block;
    transition:transform .15s ease;
}

.photo-group-bar.open b{
    transform:rotate(180deg);
}

.photo-group-content{
    display:none;
    padding:10px;
    border-top:1px solid var(--line);
    background:#fafaf7;
}

.photo-group-content.open{
    display:block;
}

.photo-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
    gap:9px;
}

.photo-card{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}

.photo-thumb{
    display:block;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#eceee8;
}

.photo-thumb img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.photo-card-meta{
    min-height:42px;
    padding:6px 8px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    color:var(--muted);
    font-size:.7rem;
}

.visibility-toggle{
    min-height:28px;
    padding:4px 7px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#f2f2ee;
    color:#777;
    cursor:pointer;
    font-size:.68rem;
    font-weight:800;
}

.visibility-toggle.shared{
    background:var(--green);
    color:#527058;
}

.problem-badge{
    padding:4px 7px;
    border-radius:999px;
    background:var(--peach);
    color:#8d5c57!important;
    font-weight:800;
}

.gallery-empty{
    padding:12px;
    color:var(--muted);
    font-size:.84rem;
}

.provider-capture-form{
    display:block;
}

.provider-capture-form .provider-action{
    width:100%;
    border:0;
    cursor:pointer;
    text-align:left;
    color:var(--text);
}

.provider-back{
    display:inline-flex;
    margin-bottom:12px;
    color:var(--muted);
    font-weight:800;
    text-decoration:none;
}

.provider-photo-card{
    text-decoration:none;
    color:var(--text);
}

.provider-photo-card>span{
    display:block;
    padding:7px 8px;
    color:var(--muted);
    font-size:.72rem;
}

@media(max-width:680px){
    .progress-project-row{
        align-items:stretch;
        flex-direction:column;
    }

    .progress-project-meta{
        justify-content:flex-start;
        flex-wrap:wrap;
    }

    .progress-head{
        gap:12px;
    }

    .progress-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .progress-actions .btn{
        width:100%;
        min-height:46px;
    }

    .photo-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px;
    }

    .photo-group-bar{
        min-height:46px;
    }

    .photo-group-right small{
        display:none;
    }
}

/* BauOps V13 - Menü + Projektfortschritt */
.nav-separator{
    height:1px;
    margin:10px 8px;
    background:var(--line);
}

.camera-input{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important;
}

.progress-project-list{
    display:grid;
    gap:8px;
}

.progress-project-row{
    min-height:68px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:11px 14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    text-decoration:none;
    box-shadow:var(--shadow);
}

.progress-project-row strong,
.progress-project-row span{
    display:block;
}

.progress-project-row>div:first-child span{
    margin-top:2px;
    color:var(--muted);
    font-size:.82rem;
}

.progress-project-meta{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    color:var(--muted);
    font-size:.8rem;
}

.problem-count{
    padding:4px 7px;
    border-radius:999px;
    background:var(--peach);
    color:#8d5c57;
    font-weight:800;
}

.progress-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.photo-message{
    margin-bottom:12px;
    padding:9px 12px;
    border-radius:10px;
    background:var(--green);
    font-size:.85rem;
    font-weight:700;
}

.photo-message.error{
    background:var(--peach);
    color:#8d5c57;
}

.photo-accordion{
    display:grid;
    gap:8px;
}

.photo-group{
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    overflow:hidden;
    box-shadow:var(--shadow);
}

.photo-group-bar{
    width:100%;
    min-height:48px;
    padding:9px 13px;
    border:0;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    cursor:pointer;
    text-align:left;
    font-weight:900;
}

.photo-group-bar:hover{
    background:#f8f9f5;
}

.photo-group-right{
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--muted);
    font-size:.8rem;
    font-weight:700;
}

.photo-group-right small{
    font-size:.72rem;
    color:var(--muted);
}

.photo-group-bar b{
    display:inline-block;
    transition:transform .15s ease;
}

.photo-group-bar.open b{
    transform:rotate(180deg);
}

.photo-group-content{
    display:none;
    padding:10px;
    border-top:1px solid var(--line);
    background:#fafaf7;
}

.photo-group-content.open{
    display:block;
}

.photo-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
    gap:9px;
}

.photo-card{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}

.photo-thumb{
    display:block;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#eceee8;
}

.photo-thumb img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.photo-card-meta{
    min-height:42px;
    padding:6px 8px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    color:var(--muted);
    font-size:.7rem;
}

.visibility-toggle{
    min-height:28px;
    padding:4px 7px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#f2f2ee;
    color:#777;
    cursor:pointer;
    font-size:.68rem;
    font-weight:800;
}

.visibility-toggle.shared{
    background:var(--green);
    color:#527058;
}

.problem-badge{
    padding:4px 7px;
    border-radius:999px;
    background:var(--peach);
    color:#8d5c57!important;
    font-weight:800;
}

.gallery-empty{
    padding:12px;
    color:var(--muted);
    font-size:.84rem;
}

.provider-capture-form{
    display:block;
}

.provider-capture-form .provider-action{
    width:100%;
    border:0;
    cursor:pointer;
    text-align:left;
    color:var(--text);
}

.provider-back{
    display:inline-flex;
    margin-bottom:12px;
    color:var(--muted);
    font-weight:800;
    text-decoration:none;
}

.provider-photo-card{
    text-decoration:none;
    color:var(--text);
}

.provider-photo-card>span{
    display:block;
    padding:7px 8px;
    color:var(--muted);
    font-size:.72rem;
}

@media(max-width:680px){
    .progress-project-row{
        align-items:stretch;
        flex-direction:column;
    }

    .progress-project-meta{
        justify-content:flex-start;
        flex-wrap:wrap;
    }

    .progress-head{
        gap:12px;
    }

    .progress-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .progress-actions .btn{
        width:100%;
        min-height:46px;
    }

    .photo-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px;
    }

    .photo-group-bar{
        min-height:46px;
    }

    .photo-group-right small{
        display:none;
    }
}

/* BauOps V13.2 - UI Cleanup */
.topbar{
    display:none!important;
}

.page{
    padding-top:24px!important;
}

.page-head{
    margin-bottom:18px!important;
}

.page-head .eyebrow,
.page-head p{
    display:none!important;
}

.project-info-textarea{
    width:100%;
    min-height:110px;
    resize:vertical;
    padding:10px 12px;
    border:1px solid #dde0d8;
    border-radius:10px;
    background:#fff;
    color:var(--text);
    font:inherit;
}

.project-info-textarea:focus{
    outline:none;
    border-color:var(--olive);
    box-shadow:0 0 0 3px rgba(152,162,99,.12);
}

.field-help{
    display:block;
    margin-top:4px;
    color:var(--muted);
    font-size:.78rem;
}

/* BauOps V13.3 - Zeiterfassung Schieberegler */
.time-toggle-row{
    margin-top:4px;
}

.switch-line{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fafaf7;
    cursor:pointer;
    font-weight:900;
}

.mobile-switch{
    position:relative;
    display:inline-flex;
    flex:0 0 auto;
}

.mobile-switch input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.mobile-switch-track{
    width:50px;
    height:29px;
    padding:3px;
    border-radius:999px;
    background:#d9ddd6;
    display:flex;
    align-items:center;
    transition:background .16s ease;
}

.mobile-switch-thumb{
    width:23px;
    height:23px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 6px rgba(31,35,33,.18);
    transform:translateX(0);
    transition:transform .16s ease;
}

.mobile-switch input:checked + .mobile-switch-track{
    background:var(--olive);
}

.mobile-switch input:checked + .mobile-switch-track .mobile-switch-thumb{
    transform:translateX(21px);
}

.mobile-switch input:focus-visible + .mobile-switch-track{
    outline:3px solid rgba(152,162,99,.22);
    outline-offset:2px;
}

.time-fields{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:13px;
    opacity:1;
    max-height:180px;
    transition:opacity .15s ease, max-height .15s ease, margin .15s ease;
}

.time-fields.is-hidden{
    opacity:0;
    max-height:0;
    overflow:hidden;
    margin:0;
}

@media(max-width:680px){
    .time-fields{
        grid-template-columns:1fr;
    }
}

/* BauOps V13.3.3 - Desktop clean / Mobile header / aktive Navigation */

/* Aktiver Bereich in der Desktop- und Mobile-Navigation */
.nav-main a.active{
    background:#f3d2aa!important;
    color:#3f3427!important;
}
.nav-main a.active:hover{
    background:#efc391!important;
}

/* Desktop: kein Seiten-Header mehr.
   Falls die Seite einen + Button / Formular im page-head hat,
   bleibt nur diese Aktion kompakt oberhalb des Inhalts stehen. */
@media (min-width:901px){
    .topbar{
        display:none!important;
    }

    .page{
        padding-top:18px!important;
    }

    .page-head{
        min-height:0!important;
        margin:0 0 8px!important;
        padding:0!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-end!important;
    }

    .page-head > div{
        display:none!important;
    }

    .page-head > a,
    .page-head > form{
        margin:0!important;
    }

    .page-head > form{
        display:flex!important;
        justify-content:flex-end!important;
    }
}

/* Mobile: Header/Titel bleibt sichtbar, weil die Sidebar zugeklappt ist. */
@media (max-width:900px){
    .topbar{
        display:flex!important;
    }

    .page-head{
        display:flex!important;
    }

    .page-head > div{
        display:block!important;
    }
}

/* Projekt-Aufklappbutton: kein kaputtes UTF-8-Zeichen mehr.
   Der Pfeil wird rein per CSS gezeichnet. */
.expand-button{
    position:relative!important;
    font-size:0!important;
    display:inline-grid!important;
    place-items:center!important;
}
.expand-button::before{
    content:"";
    width:7px;
    height:7px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translate(-1px,-1px);
    transform-origin:center;
    transition:transform .15s ease;
}
.expand-button.open{
    transform:none!important;
}
.expand-button.open::before{
    transform:rotate(225deg) translate(-1px,-1px);
}

/* Aktionen kompakt halten */
@media (min-width:901px){
    .page-head .btn{
        min-height:38px;
        padding:7px 12px;
    }
}
/* BauOps V13.3.4 - kompakte Plus-Buttons + Desktop cleanup */

/* Page header auf Desktop komplett beruhigen */
@media (min-width: 901px){
    .topbar{
        display:none !important;
    }

    .page{
        padding-top:12px !important;
    }

    .page-head{
        margin:0 0 10px !important;
        padding:0 !important;
        min-height:0 !important;
        display:flex !important;
        justify-content:flex-end !important;
        align-items:center !important;
        gap:8px !important;
    }

    .page-head > div{
        display:none !important;
    }
}

/* Mobile: Header bleibt sichtbar */
@media (max-width: 900px){
    .topbar{
        display:flex !important;
    }
}

/* Alle Add/Create Buttons als kompakter grüner Plus-Button */
.compact-add-btn{
    width:48px !important;
    min-width:48px !important;
    height:48px !important;
    min-height:48px !important;
    padding:0 !important;
    border-radius:14px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#a3ad5e !important;
    border:1px solid #a3ad5e !important;
    color:#fff !important;
    text-decoration:none !important;
    box-shadow:none !important;
    font-size:0 !important;
    line-height:1 !important;
    overflow:hidden !important;
    white-space:nowrap !important;
}

.compact-add-btn:hover{
    filter:brightness(.97);
}

.compact-add-btn > span{
    font-size:30px !important;
    font-weight:700 !important;
    line-height:1 !important;
    display:inline-block !important;
    transform:translateY(-1px) !important;
}

/* Falls der Button in einem Formular steckt */
form .compact-add-btn{
    appearance:none;
    cursor:pointer;
}

/* Keine komischen leeren Platzhalter im Desktop-Content */
@media (min-width: 901px){
    .page .ghost-square,
    .page .placeholder-square{
        display:none !important;
    }

    .page-head + .table-panel,
    .page-head + .stack-list,
    .page-head + .content-card,
    .page-head + .empty-panel{
        margin-top:0 !important;
    }
}

/* Tabellen und Listen oben etwas kompakter */
.table-panel,
.stack-list,
.empty-panel{
    margin-top:0 !important;
}
/* BauOps V13.3.5 - Plus-Button links statt rechts */

@media (min-width:901px){
    .page-head{
        justify-content:flex-start!important;
    }

    .page-head > a,
    .page-head > form{
        margin-left:0!important;
        margin-right:auto!important;
    }

    .page-head > form{
        justify-content:flex-start!important;
    }
}
/* BauOps V13.3.6 - Mitarbeiter: Status weg, rotes X zum Löschen */

.employee-delete-head,
.employee-delete-cell{
    width:58px!important;
    min-width:58px!important;
    text-align:center!important;
}

.employee-delete-cell{
    padding-left:7px!important;
    padding-right:7px!important;
}

.employee-delete-form{
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
}

.employee-delete-btn{
    width:36px;
    height:36px;
    min-width:36px;
    padding:0;
    border:0;
    border-radius:9px;
    background:#d9534f;
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    transition:filter .15s ease, transform .1s ease;
}

.employee-delete-btn:hover{
    filter:brightness(.93);
}

.employee-delete-btn:active{
    transform:scale(.96);
}

.employee-saving{
    opacity:.72;
}

.employee-save-error{
    box-shadow:inset 3px 0 0 #d9534f;
}
/* BauOps V13.3.7 - Handwerker sauber wie Projekte */

.handwerker-table-panel{
    width:100%;
}

.handwerker-table{
    min-width:1050px;
}

.handwerker-table th:last-child,
.handwerker-table td:last-child{
    width:120px;
}

.handwerker-name{
    font-weight:900;
}

.handwerker-contact-link{
    color:inherit;
    text-decoration:none;
}

.handwerker-contact-link:hover{
    text-decoration:underline;
}

.handwerker-actions{
    text-align:right;
}

.handwerker-mobile-list{
    display:none;
}

@media (max-width:900px){
    .handwerker-table-panel{
        display:none;
    }

    .handwerker-mobile-list{
        display:grid;
        gap:10px;
    }

    .handwerker-mobile-card{
        padding:14px;
        border:1px solid var(--line);
        border-radius:14px;
        background:#fff;
        box-shadow:var(--shadow);
    }

    .handwerker-mobile-top{
        display:flex;
        justify-content:space-between;
        align-items:flex-start;
        gap:12px;
    }

    .handwerker-mobile-top strong,
    .handwerker-mobile-top span{
        display:block;
    }

    .handwerker-mobile-top > div > span{
        margin-top:3px;
        color:var(--muted);
        font-size:.86rem;
    }

    .handwerker-mobile-meta{
        display:grid;
        gap:5px;
        margin-top:12px;
        color:var(--muted);
        font-size:.86rem;
    }

    .handwerker-mobile-meta a{
        color:inherit;
        text-decoration:none;
        overflow-wrap:anywhere;
    }

    .handwerker-mobile-edit{
        width:100%;
        margin-top:12px;
    }
}
/* BauOps V13.3.8 - Status überall einheitlich */

.employee-status-cell{
    min-width:120px;
}

.employee-status-toggle{
    display:inline-flex;
    align-items:center;
    cursor:pointer;
}

.employee-status-toggle input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.employee-status-toggle .badge{
    user-select:none;
}

.employee-status-toggle:focus-within .badge{
    outline:3px solid rgba(152,162,99,.20);
    outline-offset:2px;
}
/* BauOps V13.3.9 - Dashboard letzte Eintraege */

.dashboard-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.dashboard-summary-card{
    min-width:0;
    padding:14px 16px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--shadow);
    text-decoration:none;
}

.dashboard-summary-card strong,
.dashboard-summary-card span{
    display:block;
}

.dashboard-summary-card strong{
    font-size:1.55rem;
    line-height:1;
}

.dashboard-summary-card span{
    margin-top:6px;
    color:var(--muted);
    font-size:.82rem;
    font-weight:700;
}

.recent-activity{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--shadow);
}

.recent-activity-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 15px;
    border-bottom:1px solid var(--line);
    background:#f6f7f2;
}

.recent-activity-head strong{
    font-size:.92rem;
}

.recent-activity-head span{
    color:var(--muted);
    font-size:.74rem;
}

.recent-activity-list{
    display:grid;
}

.recent-activity-row{
    min-width:0;
    min-height:62px;
    display:grid;
    grid-template-columns:14px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:9px 15px;
    border-bottom:1px solid var(--line);
    color:inherit;
    text-decoration:none;
}

.recent-activity-row:last-child{
    border-bottom:0;
}

.recent-activity-row:hover{
    background:#fafaf7;
}

.recent-activity-icon{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#d8d8d2;
}

.recent-activity-icon.project{ background:#a9b16b; }
.recent-activity-icon.employee{ background:#a9bfd5; }
.recent-activity-icon.provider{ background:#d7b487; }
.recent-activity-icon.photo{ background:#a8c5aa; }
.recent-activity-icon.problem{ background:#d9988e; }
.recent-activity-icon.shift{ background:#c4b5d5; }

.recent-activity-main{
    min-width:0;
}

.recent-activity-main > span,
.recent-activity-main > strong,
.recent-activity-main > small{
    display:block;
}

.recent-activity-label{
    margin-bottom:1px;
    color:var(--muted);
    font-size:.7rem;
    font-weight:800;
}

.recent-activity-main strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.9rem;
}

.recent-activity-main small{
    margin-top:2px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--muted);
    font-size:.72rem;
}

.recent-activity-row time{
    color:var(--muted);
    font-size:.72rem;
    white-space:nowrap;
}

.recent-activity-empty{
    padding:18px;
    color:var(--muted);
    font-size:.84rem;
}

@media(max-width:680px){
    .dashboard-summary{
        grid-template-columns:1fr;
    }

    .recent-activity-head span{
        display:none;
    }

    .recent-activity-row{
        grid-template-columns:12px minmax(0,1fr);
    }

    .recent-activity-row time{
        grid-column:2;
        margin-top:-5px;
    }
}
/* BauOps V13.3.9.1 - Dashboard letzte Eintraege als Notizfeld */

.recent-activity{
    max-width:760px;
    border:1px solid #eadfa8!important;
    border-radius:14px!important;
    background:#fff9d8!important;
    box-shadow:none!important;
}

.recent-activity-head{
    padding:10px 13px!important;
    border-bottom:1px solid #eadfa8!important;
    background:#fff3b8!important;
}

.recent-activity-head strong{
    font-size:.86rem!important;
}

.recent-activity-head span{
    font-size:.7rem!important;
}

.recent-activity-row{
    min-height:50px!important;
    grid-template-columns:10px minmax(0,1fr) auto!important;
    gap:10px!important;
    padding:7px 12px!important;
    border-bottom:1px solid rgba(225,210,139,.55)!important;
    background:transparent!important;
}

.recent-activity-row:hover{
    background:rgba(255,255,255,.35)!important;
}

.recent-activity-icon{
    width:8px!important;
    height:8px!important;
}

.recent-activity-label{
    font-size:.66rem!important;
}

.recent-activity-main strong{
    font-size:.84rem!important;
}

.recent-activity-main small{
    font-size:.68rem!important;
}

.recent-activity-row time{
    font-size:.66rem!important;
}

.recent-activity-empty{
    padding:14px!important;
    font-size:.8rem!important;
}

@media(max-width:900px){
    .recent-activity{
        max-width:none;
    }
}
/* BauOps V13.3.9.2 - Dashboard Notizfeld korrekt kompakt + Scroll */

.recent-activity{
    width:100%!important;
    max-width:none!important;
    border:1px solid #eadfa8!important;
    border-radius:14px!important;
    background:#fff9d8!important;
    box-shadow:none!important;
}

.recent-activity-head{
    padding:9px 12px!important;
    border-bottom:1px solid #eadfa8!important;
    background:#fff3b8!important;
}

.recent-activity-head strong{
    font-size:.84rem!important;
}

.recent-activity-head span{
    font-size:.68rem!important;
}

.recent-activity-scroll{
    max-height:390px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-width:thin;
    scrollbar-color:#c9b96e transparent;
}

.recent-activity-scroll::-webkit-scrollbar{
    width:8px;
}

.recent-activity-scroll::-webkit-scrollbar-track{
    background:transparent;
}

.recent-activity-scroll::-webkit-scrollbar-thumb{
    background:#c9b96e;
    border-radius:999px;
}

.recent-activity-row{
    min-height:52px!important;
    grid-template-columns:10px minmax(0,1fr) auto!important;
    gap:9px!important;
    padding:7px 11px!important;
    border-bottom:1px solid rgba(225,210,139,.55)!important;
    background:transparent!important;
}

.recent-activity-row:last-child{
    border-bottom:0!important;
}

.recent-activity-row:hover{
    background:rgba(255,255,255,.35)!important;
}

.recent-activity-icon{
    width:8px!important;
    height:8px!important;
}

.recent-activity-label{
    font-size:.64rem!important;
}

.recent-activity-main strong{
    font-size:.82rem!important;
}

.recent-activity-main small{
    font-size:.67rem!important;
}

.recent-activity-row time{
    font-size:.64rem!important;
}

.recent-activity-empty{
    padding:13px!important;
    font-size:.78rem!important;
}

@media(max-width:680px){
    .recent-activity-scroll{
        max-height:360px!important;
    }

    .recent-activity-row{
        grid-template-columns:10px minmax(0,1fr)!important;
    }

    .recent-activity-row time{
        grid-column:2!important;
    }
}
/* BauOps V13.3.9.2 - Dashboard Notizfeld korrekt kompakt + Scroll */

.recent-activity{
    width:100%!important;
    max-width:none!important;
    border:1px solid #eadfa8!important;
    border-radius:14px!important;
    background:#fff9d8!important;
    box-shadow:none!important;
}

.recent-activity-head{
    padding:9px 12px!important;
    border-bottom:1px solid #eadfa8!important;
    background:#fff3b8!important;
}

.recent-activity-head strong{
    font-size:.84rem!important;
}

.recent-activity-head span{
    font-size:.68rem!important;
}

.recent-activity-scroll{
    max-height:390px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-width:thin;
    scrollbar-color:#c9b96e transparent;
}

.recent-activity-scroll::-webkit-scrollbar{
    width:8px;
}

.recent-activity-scroll::-webkit-scrollbar-track{
    background:transparent;
}

.recent-activity-scroll::-webkit-scrollbar-thumb{
    background:#c9b96e;
    border-radius:999px;
}

.recent-activity-row{
    min-height:52px!important;
    grid-template-columns:10px minmax(0,1fr) auto!important;
    gap:9px!important;
    padding:7px 11px!important;
    border-bottom:1px solid rgba(225,210,139,.55)!important;
    background:transparent!important;
}

.recent-activity-row:last-child{
    border-bottom:0!important;
}

.recent-activity-row:hover{
    background:rgba(255,255,255,.35)!important;
}

.recent-activity-icon{
    width:8px!important;
    height:8px!important;
}

.recent-activity-label{
    font-size:.64rem!important;
}

.recent-activity-main strong{
    font-size:.82rem!important;
}

.recent-activity-main small{
    font-size:.67rem!important;
}

.recent-activity-row time{
    font-size:.64rem!important;
}

.recent-activity-empty{
    padding:13px!important;
    font-size:.78rem!important;
}

@media(max-width:680px){
    .recent-activity-scroll{
        max-height:360px!important;
    }

    .recent-activity-row{
        grid-template-columns:10px minmax(0,1fr)!important;
    }

    .recent-activity-row time{
        grid-column:2!important;
    }
}
/* BauOps V13.3.9.3 */
@media (min-width:681px){
    .recent-activity{
        width:calc((100% - 20px) / 3)!important;
        max-width:none!important;
    }
}
@media (max-width:680px){
    .recent-activity{
        width:100%!important;
        max-width:none!important;
    }
}
.recent-activity-scroll{
    height:330px!important;
    max-height:330px!important;
    overflow-y:scroll!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
    scrollbar-color:#c9b96e transparent;
}
.recent-activity-scroll::-webkit-scrollbar{width:7px}
.recent-activity-scroll::-webkit-scrollbar-track{background:transparent}
.recent-activity-scroll::-webkit-scrollbar-thumb{background:#c9b96e;border-radius:999px}
/* BauOps V13.3.10 */
.dashboard-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}
.dashboard-note{width:100%!important;max-width:none!important}
.week-note{overflow:hidden;border:1px solid #d9e2c2;border-radius:14px;background:#f5f8e9}
.week-note-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid #d9e2c2;background:#edf3d7}
.week-note-head strong{font-size:.84rem}.week-note-head span{color:var(--muted);font-size:.68rem}
.week-note-scroll{height:330px;max-height:330px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#aebd78 transparent}
.week-note-scroll::-webkit-scrollbar{width:7px}.week-note-scroll::-webkit-scrollbar-track{background:transparent}.week-note-scroll::-webkit-scrollbar-thumb{background:#aebd78;border-radius:999px}
.week-note-list{display:grid}
.week-note-row{min-height:52px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:9px;align-items:center;padding:7px 11px;border-bottom:1px solid rgba(190,202,150,.55);color:inherit;text-decoration:none}
.week-note-row:last-child{border-bottom:0}.week-note-row:hover{background:rgba(255,255,255,.4)}
.week-date strong,.week-date small,.week-main span,.week-main strong,.week-main small{display:block}
.week-date strong{font-size:.74rem;text-transform:uppercase}.week-date small{margin-top:2px;color:var(--muted);font-size:.66rem}
.week-main span{color:var(--muted);font-size:.64rem;font-weight:800}.week-main strong{margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.week-main small{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.67rem}
.week-note-empty{padding:13px;color:var(--muted);font-size:.78rem}
@media(max-width:900px){.dashboard-note-grid{grid-template-columns:1fr}.week-note-scroll{height:330px}}
/* BauOps V13.4 - WhatsApp Basis */

.provider-name-line{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:7px;
    min-width:0;
}

.provider-name-line > span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.wa-mini-button{
    width:32px;
    min-width:32px;
    height:28px;
    padding:0;
    border:0;
    border-radius:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#dff1dd;
    color:#507654;
    text-decoration:none;
    font-size:.68rem;
    font-weight:900;
    line-height:1;
    cursor:pointer;
}

.wa-mini-button:hover{
    background:#d2e9cf;
}

@media(max-width:680px){
    .wa-mini-button{
        width:34px;
        min-width:34px;
        height:30px;
    }
}
/* BauOps V13.4.2 - Sidebar Icons */

.nav-main a{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
}

.nav-main a > span:last-child{
    min-width:0;
}

.nav-icon{
    width:18px;
    height:18px;
    min-width:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:currentColor;
}

.nav-icon svg{
    width:18px;
    height:18px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.nav-main a.active .nav-icon{
    color:#4e3a23;
}

@media(max-width:900px){
    .nav-icon,
    .nav-icon svg{
        width:19px;
        height:19px;
    }

    .nav-main a{
        gap:11px!important;
    }
}
/* BauOps V13.4.3 - Zeiterfassung Navigation */

.time-tracking-placeholder{
    max-width:520px;
    padding:18px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--shadow);
}

.time-tracking-placeholder-icon{
    margin-bottom:8px;
    font-size:1.5rem;
}

.time-tracking-placeholder strong,
.time-tracking-placeholder span{
    display:block;
}

.time-tracking-placeholder span{
    margin-top:4px;
    color:var(--muted);
    font-size:.84rem;
}
/* BauOps V13.4.4 - farbige Sidebar Icons */

.nav-main a[href="/dashboard"] .nav-icon{
    color:#4f9ed8!important;
}

.nav-main a[href="/employees"] .nav-icon{
    color:#8b6de9!important;
}

.nav-main a[href="/projects"] .nav-icon{
    color:#63b86c!important;
}

.nav-main a[href="/service-providers"] .nav-icon{
    color:#f39a3f!important;
}

.nav-main a[href="/project-plan"] .nav-icon{
    color:#e8b52e!important;
}

.nav-main a[href="/time-tracking"] .nav-icon{
    color:#5da7c9!important;
}

.nav-main a[href="/progress"] .nav-icon{
    color:#dd6fa4!important;
}

/* Aktiver Menuepunkt behaelt seine eigene Icon-Farbe */
.nav-main a.active .nav-icon{
    opacity:1!important;
}
/* BauOps V13.4.5 - Desktop: Zeiterfassungen */
.nav-time-label-mobile{
    display:none;
}

@media(max-width:900px){
    .nav-time-label-desktop{
        display:none;
    }

    .nav-time-label-mobile{
        display:inline;
    }
}
/* BauOps V13.4.5 - Desktop: Zeiterfassungen */
.nav-time-label-mobile{
    display:none;
}

@media(max-width:900px){
    .nav-time-label-desktop{
        display:none;
    }

    .nav-time-label-mobile{
        display:inline;
    }
}
/* BauOps V13.5.2 - offene Zeiterfassungstage */

.open-days-note{
    margin-bottom:10px;
    padding:10px 12px;
    border:1px solid #e7dca5;
    border-radius:12px;
    background:#fff8d5;
}

.open-days-note strong,
.open-days-note span{
    display:block;
}

.open-days-note strong{
    font-size:.84rem;
}

.open-days-note span{
    margin-top:2px;
    color:var(--muted);
    font-size:.72rem;
}

.time-days-stack{
    display:grid;
    gap:12px;
}

.time-day-card{
    padding:11px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fdfdfb;
    box-shadow:var(--shadow);
}

.time-day-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:9px;
    padding:1px 2px 3px;
}

.time-day-head strong,
.time-day-head span,
.time-day-head small{
    display:block;
}

.time-day-head strong{
    text-transform:capitalize;
    font-size:1rem;
}

.time-day-head span{
    margin-top:1px;
    color:var(--muted);
    font-size:.72rem;
}

.time-day-head small{
    max-width:48%;
    padding:4px 7px;
    border-radius:999px;
    background:#fff0b7;
    color:#796522;
    text-align:right;
    font-size:.62rem;
    font-weight:900;
}

.time-day-card .time-slider-card,
.time-day-card .time-break-card,
.time-day-card .time-total-card{
    margin-bottom:8px;
    box-shadow:none;
}

.time-day-card .time-save-button{
    min-height:50px;
}

@media(max-width:390px){
    .time-day-head{
        align-items:stretch;
        flex-direction:column;
    }

    .time-day-head small{
        max-width:none;
        align-self:flex-start;
        text-align:left;
    }
}
/* BauOps V13.5.3 - Dashboard offene Zeiterfassungen */

.dashboard-time-report-host{
    width:calc((100% - 20px) / 3);
    min-width:0;
    margin-top:12px;
}

.dashboard-time-report{
    overflow:hidden;
    border:1px solid #ead8ad;
    border-radius:15px;
    background:#fffaf0;
    box-shadow:var(--shadow);
}

.dashboard-time-report-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px 13px 10px;
    border-bottom:1px solid #efe3c6;
}

.dashboard-time-report-head strong,
.dashboard-time-report-head span{
    display:block;
}

.dashboard-time-report-head strong{
    margin-top:1px;
    font-size:.92rem;
}

.dashboard-time-report-eyebrow{
    color:#9a7b3a;
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.08em;
}

.dashboard-time-report-count{
    display:grid!important;
    place-items:center;
    min-width:28px;
    height:28px;
    padding:0 7px;
    border-radius:999px;
    background:#ef9b55;
    color:#fff;
    font-size:.72rem;
    font-weight:950;
}

.dashboard-time-report-list{
    max-height:330px;
    overflow:auto;
}

.dashboard-time-report-row{
    display:grid;
    grid-template-columns:24px minmax(0,1fr) 42px;
    align-items:center;
    gap:8px;
    padding:10px 11px;
    border-bottom:1px solid #f0e5cd;
}

.dashboard-time-report-row:last-child{
    border-bottom:0;
}

.dashboard-time-report-warning{
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#e88b48;
    color:#fff;
    font-size:.82rem;
    font-weight:950;
}

.dashboard-time-report-info{
    min-width:0;
}

.dashboard-time-report-info > strong,
.dashboard-time-report-info > span{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.dashboard-time-report-info > strong{
    font-size:.78rem;
}

.dashboard-time-report-info > span{
    margin-top:1px;
    color:var(--muted);
    font-size:.66rem;
}

.dashboard-time-report-days{
    display:flex;
    flex-wrap:wrap;
    gap:3px;
    margin-top:6px;
}

.dashboard-time-report-days span{
    padding:3px 5px;
    border-radius:6px;
    background:#fff0d9;
    color:#966029;
    font-size:.59rem;
    font-weight:850;
}

.dashboard-time-report-wa{
    display:grid;
    place-items:center;
    width:40px;
    height:34px;
    border-radius:10px;
    background:#dff3df;
    color:#28753b!important;
    font-size:.68rem;
    font-weight:950;
    text-decoration:none!important;
}

.dashboard-time-report-wa:hover{
    filter:brightness(.97);
}

.dashboard-time-report-foot{
    display:block;
    padding:8px 11px;
    border-top:1px solid #efe3c6;
    color:var(--muted);
    font-size:.59rem;
}

.dashboard-time-report-empty{
    padding:14px 13px;
}

.dashboard-time-report-empty strong,
.dashboard-time-report-empty span{
    display:block;
}

.dashboard-time-report-empty strong{
    color:#62814f;
    font-size:.79rem;
}

.dashboard-time-report-empty span{
    margin-top:3px;
    color:var(--muted);
    font-size:.66rem;
}

@media(max-width:900px){
    .dashboard-time-report-host{
        width:100%;
    }
}
/* BauOps V13.6 - Einstellungen + Dashboard Widget Layout */

.dashboard-widget-row-v13-6{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    width:100%;
    margin-top:12px;
    align-items:stretch;
}

.dashboard-widget-row-v13-6 > *{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
}

.dashboard-widget-row-v13-6 .dashboard-time-report-host{
    width:100%!important;
}

.settings-page{
    max-width:1180px;
}

.settings-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:12px;
}

.settings-tabs a{
    padding:7px 11px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:var(--text);
    font-size:.72rem;
    font-weight:850;
    text-decoration:none;
}

.settings-card{
    margin-bottom:14px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--shadow);
    scroll-margin-top:14px;
}

.settings-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:13px;
}

.settings-card-head span,
.settings-card-head strong{
    display:block;
}

.settings-card-head span{
    color:var(--muted);
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.08em;
}

.settings-card-head strong{
    margin-top:2px;
    font-size:1rem;
}

.settings-message{
    margin-bottom:10px;
    padding:9px 11px;
    border-radius:10px;
    font-size:.74rem;
    font-weight:800;
}

.settings-message-ok{
    background:#e9f4df;
    color:#547640;
}

.settings-message-error{
    background:#fde6e2;
    color:#a34b40;
}

.settings-toggle-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:11px 0;
    border-bottom:1px solid var(--line);
    cursor:pointer;
}

.settings-toggle-row:last-of-type{
    border-bottom:0;
}

.settings-toggle-row span,
.settings-toggle-row strong,
.settings-toggle-row small{
    display:block;
}

.settings-toggle-row strong{
    font-size:.8rem;
}

.settings-toggle-row small{
    margin-top:2px;
    color:var(--muted);
    font-size:.67rem;
}

.settings-toggle-row input[type="checkbox"]{
    width:42px;
    height:23px;
    accent-color:var(--olive);
    flex:0 0 auto;
}

.settings-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.settings-span-2{
    grid-column:1/-1;
}

.settings-field{
    display:block;
}

.settings-field > span{
    display:block;
    margin-bottom:4px;
    color:var(--muted);
    font-size:.67rem;
    font-weight:800;
}

.settings-field input{
    width:100%;
    min-height:40px;
    padding:8px 10px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    color:var(--text);
    font:inherit;
    font-size:.78rem;
}

.settings-save,
.settings-secondary{
    min-height:40px;
    margin-top:11px;
    padding:8px 13px;
    border-radius:10px;
    font-size:.74rem;
    font-weight:900;
    cursor:pointer;
}

.settings-save{
    border:0;
    background:var(--olive);
    color:#fff;
}

.settings-secondary{
    border:1px solid var(--line);
    background:#f5f5f1;
    color:var(--text);
}

.settings-secondary:disabled{
    opacity:.55;
    cursor:not-allowed;
}

.integration-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:12px;
}

.integration-card{
    min-width:0;
    padding:12px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfbf9;
}

.integration-card-head{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:11px;
}

.integration-card-head strong,
.integration-card-head span{
    display:block;
}

.integration-card-head strong{
    font-size:.82rem;
}

.integration-avatar{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    flex:0 0 40px;
    border-radius:12px;
    font-size:.72rem;
    font-weight:950;
}

.integration-avatar-m365{
    background:#e0ecff;
    color:#426ea9;
}

.integration-avatar-bexio{
    background:#e2f0e8;
    color:#38714e;
}

.integration-avatar-more{
    background:#f0e8f6;
    color:#795a91;
    font-size:1.2rem;
}

.integration-status{
    margin-top:2px;
    color:var(--muted);
    font-size:.61rem;
}

.integration-status.connected{
    color:#62814f;
    font-weight:850;
}

.integration-card .settings-field{
    margin-top:8px;
}

.integration-card-future p{
    min-height:52px;
    color:var(--muted);
    font-size:.69rem;
    line-height:1.45;
}

.secret-placeholder{
    margin-top:9px;
    padding:8px 9px;
    border-radius:9px;
    background:#f1f1ed;
}

.secret-placeholder span,
.secret-placeholder strong{
    display:block;
}

.secret-placeholder span{
    color:var(--muted);
    font-size:.6rem;
}

.secret-placeholder strong{
    margin-top:2px;
    font-size:.7rem;
}

.secret-zone{
    margin-top:15px;
    padding:13px;
    border:1px dashed #d7c8ac;
    border-radius:14px;
    background:#fffaf0;
}

.secret-zone-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
}

.secret-zone-head span,
.secret-zone-head strong{
    display:block;
}

.secret-zone-head > div > span{
    color:#9a7b3a;
    font-size:.59rem;
    font-weight:900;
    letter-spacing:.08em;
}

.secret-zone-head strong{
    margin-top:2px;
    font-size:.86rem;
}

.secret-lock{
    font-size:1.1rem;
}

.secret-password-form{
    max-width:520px;
}

.secret-password-form p{
    color:var(--muted);
    font-size:.69rem;
    line-height:1.45;
}

.secret-password-form .settings-field{
    margin-top:8px;
}

.secret-provider-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.secret-form{
    padding:11px;
    border:1px solid #eadfc8;
    border-radius:12px;
    background:#fff;
}

.secret-form > strong{
    display:block;
    margin-bottom:8px;
    font-size:.76rem;
}

.secret-form .settings-field{
    margin-top:8px;
}

.nav-main a[href="/settings"] .nav-icon{
    color:#7c8b96!important;
}

@media(max-width:1000px){
    .integration-grid{
        grid-template-columns:1fr 1fr;
    }

    .integration-card-future{
        grid-column:1/-1;
    }
}

@media(max-width:900px){
    .dashboard-widget-row-v13-6{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:680px){
    .dashboard-widget-row-v13-6,
    .settings-form-grid,
    .integration-grid,
    .secret-provider-grid{
        grid-template-columns:1fr;
    }

    .settings-span-2,
    .integration-card-future{
        grid-column:auto;
    }

    .settings-card{
        padding:12px;
    }
}
/* BauOps V13.6.1 - Einstellungen: Schieberegler statt Checkboxen */

.settings-toggle-row input[type="checkbox"]{
    appearance:none;
    -webkit-appearance:none;
    width:46px!important;
    height:26px!important;
    margin:0;
    padding:0;
    position:relative;
    flex:0 0 46px;
    border:0;
    border-radius:999px;
    background:#d9ddd2;
    cursor:pointer;
    transition:background .18s ease, box-shadow .18s ease;
    outline:none;
}

.settings-toggle-row input[type="checkbox"]::after{
    content:"";
    position:absolute;
    top:3px;
    left:3px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 1px 4px rgba(0,0,0,.18);
    transition:transform .18s ease;
}

.settings-toggle-row input[type="checkbox"]:checked{
    background:var(--olive);
}

.settings-toggle-row input[type="checkbox"]:checked::after{
    transform:translateX(20px);
}

.settings-toggle-row input[type="checkbox"]:focus-visible{
    box-shadow:0 0 0 3px rgba(143,158,79,.22);
}

.settings-toggle-row input[type="checkbox"]:disabled{
    opacity:.5;
    cursor:not-allowed;
}
/* BauOps V13.6.2 - Einstellungen als echte Tabs */

.settings-tabs a{
    transition:background .16s ease, border-color .16s ease, color .16s ease;
}

.settings-tabs a.active{
    background:#f5d3a4;
    border-color:#efc58b;
    color:#382b1e;
}

.settings-card.settings-tab-hidden{
    display:none!important;
}
/* BauOps V13.6.3 - Dashboard separate cards + Settings Autosave */

#dashboardSettingsForm .settings-save{
    display:none!important;
}

/* Die neue Zeile selbst ist nur Layout - kein sichtbarer Container. */
.dashboard-widget-row-v13-6-3{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    width:100%!important;
    max-width:none!important;
    margin:12px 0 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    align-items:stretch;
}

/* Alte Grid-Zeile neutralisieren, falls sie noch im DOM existiert. */
.dashboard-widget-row-v13-6{
    display:contents!important;
}

/* Jede Dashboard-Karte ist ein eigener Container und nimmt exakt 1/3. */
.dashboard-widget-row-v13-6-3 > .recent-activity,
.dashboard-widget-row-v13-6-3 > .dashboard-week,
.dashboard-widget-row-v13-6-3 > .week-card,
.dashboard-widget-row-v13-6-3 > .dashboard-time-report-host,
.dashboard-widget-row-v13-6-3 > .dashboard-time-report{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    align-self:stretch;
}

/* Offene Rapporte Host darf keinen eigenen Breiten-Calc mehr haben. */
.dashboard-widget-row-v13-6-3 > .dashboard-time-report-host{
    display:block;
}

@media(max-width:900px){
    .dashboard-widget-row-v13-6-3{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:680px){
    .dashboard-widget-row-v13-6-3{
        grid-template-columns:1fr;
    }
}
/* BauOps V13.6.3 - Dashboard separate cards + Settings Autosave */

#dashboardSettingsForm .settings-save{
    display:none!important;
}

/* Die neue Zeile selbst ist nur Layout - kein sichtbarer Container. */
.dashboard-widget-row-v13-6-3{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    width:100%!important;
    max-width:none!important;
    margin:12px 0 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    align-items:stretch;
}

/* Alte Grid-Zeile neutralisieren, falls sie noch im DOM existiert. */
.dashboard-widget-row-v13-6{
    display:contents!important;
}

/* Jede Dashboard-Karte ist ein eigener Container und nimmt exakt 1/3. */
.dashboard-widget-row-v13-6-3 > .recent-activity,
.dashboard-widget-row-v13-6-3 > .dashboard-week,
.dashboard-widget-row-v13-6-3 > .week-card,
.dashboard-widget-row-v13-6-3 > .dashboard-time-report-host,
.dashboard-widget-row-v13-6-3 > .dashboard-time-report{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    align-self:stretch;
}

/* Offene Rapporte Host darf keinen eigenen Breiten-Calc mehr haben. */
.dashboard-widget-row-v13-6-3 > .dashboard-time-report-host{
    display:block;
}

@media(max-width:900px){
    .dashboard-widget-row-v13-6-3{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:680px){
    .dashboard-widget-row-v13-6-3{
        grid-template-columns:1fr;
    }
}
/* BauOps V13.6.4 - Firmenname im Brand + BauOps Settings Tab */

.brand-copy{
    display:flex;
    flex-direction:column;
    min-width:0;
    line-height:1.05;
}

.brand-copy > strong{
    line-height:1.05;
}

.brand-company-name{
    display:block;
    max-width:145px;
    margin-top:3px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#39434b!important;
    font-size:.68rem!important;
    font-weight:850!important;
}

.brand-tagline{
    margin-top:3px;
    color:var(--muted)!important;
    font-size:.65rem!important;
}

.bauops-about-card{
    max-width:900px;
}

.bauops-about-hero{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:14px;
    padding:13px;
    border-radius:14px;
    background:#f4f7fa;
}

.bauops-about-mark{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    flex:0 0 46px;
    border-radius:13px;
    background:#e5eef6;
    font-size:1.05rem;
    font-weight:950;
}

.bauops-about-hero strong,
.bauops-about-hero span{
    display:block;
}

.bauops-about-hero strong{
    font-size:1rem;
}

.bauops-about-hero span{
    margin-top:2px;
    color:var(--muted);
    font-size:.7rem;
}

.bauops-about-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}

.bauops-about-item{
    display:block;
    padding:11px 12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fbfbf9;
    color:var(--text);
    text-decoration:none;
}

.bauops-about-item:hover{
    background:#f7f7f3;
}

.bauops-about-item span,
.bauops-about-item strong{
    display:block;
}

.bauops-about-item span{
    color:var(--muted);
    font-size:.63rem;
    font-weight:800;
}

.bauops-about-item strong{
    margin-top:3px;
    overflow-wrap:anywhere;
    font-size:.76rem;
}

.bauops-about-future{
    margin-top:10px;
    padding:10px 12px;
    border-radius:11px;
    background:#fff7dd;
}

.bauops-about-future span,
.bauops-about-future strong{
    display:block;
}

.bauops-about-future span{
    color:#97752b;
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.06em;
}

.bauops-about-future strong{
    margin-top:3px;
    font-size:.69rem;
}

@media(max-width:680px){
    .bauops-about-grid{
        grid-template-columns:1fr;
    }

    .brand-company-name{
        max-width:118px;
    }
}
/* BauOps V13.6.5.1 - real logo */

.bauops-about-hero{
    align-items:center;
    gap:16px;
}

.bauops-about-logo{
    display:block;
    width:250px;
    max-width:46%;
    height:auto;
    object-fit:contain;
}

.bauops-about-copy{
    min-width:0;
}

.bauops-about-copy strong,
.bauops-about-copy span{
    display:block;
}

.bauops-about-copy strong{
    font-size:1rem;
}

.bauops-about-copy span{
    margin-top:3px;
    color:var(--muted);
    font-size:.7rem;
}

.bauops-about-mark{
    display:none!important;
}

@media(max-width:680px){
    .bauops-about-hero{
        align-items:flex-start;
        flex-direction:column;
    }

    .bauops-about-logo{
        width:220px;
        max-width:100%;
    }
}
.project-task-link-v13-7,.project-task-add{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:0;border-radius:10px;background:var(--olive);color:#fff!important;font-size:.7rem;font-weight:900;text-decoration:none!important;cursor:pointer}.project-tasks-page{max-width:980px}.project-tasks-back{display:inline-block;margin-bottom:10px;color:var(--muted);font-size:.72rem;text-decoration:none}.project-tasks-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.project-tasks-head span,.project-tasks-head strong{display:block}.project-tasks-head span{color:var(--muted);font-size:.61rem;font-weight:900;letter-spacing:.08em}.project-task-create{margin-bottom:12px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}.task-create-head{display:flex;justify-content:space-between}.project-task-create textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:10px}.task-participants{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}.task-participants>div{padding:10px;border:1px solid var(--line);border-radius:11px;background:#fafaf7}.task-participants label{display:grid;grid-template-columns:20px minmax(0,1fr);gap:5px;padding:5px 0;font-size:.7rem}.task-participants label small{grid-column:2;color:var(--muted);font-size:.6rem}.project-task-list{display:grid;gap:9px}.project-task-card{padding:12px;border:1px solid var(--line);border-left:4px solid #d8b36a;border-radius:13px;background:#fff}.task-status-inprogress{border-left-color:#6e9fc5}.task-status-waiting{border-left-color:#d39a63}.task-status-done{border-left-color:#7fa878;opacity:.82}.project-task-card-head{display:flex;justify-content:space-between;gap:10px}.project-task-status{padding:4px 7px;border-radius:999px;background:#f3f1e8;font-size:.61rem;font-weight:900}.project-task-people{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.project-task-people span{padding:4px 6px;border-radius:999px;background:#eef1f4;font-size:.59rem;font-weight:800}.project-task-status-form{margin-top:9px}.project-task-status-form select{min-height:34px;padding:6px 9px;border:1px solid var(--line);border-radius:9px}.project-task-empty{padding:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}.task-mail-action{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;padding:9px 11px;border-radius:11px;background:#e7f1fb;font-size:.7rem}.task-mail-action a{padding:6px 9px;border-radius:8px;background:#fff;color:#426e98;font-weight:900;text-decoration:none}@media(max-width:680px){.project-tasks-head,.task-mail-action{align-items:stretch;flex-direction:column}.task-participants{grid-template-columns:1fr}}
/* BauOps V13.7.1 - Aufgabenjournal */
.task-journal-page{max-width:1050px}
.task-journal-project-picker{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}
.task-journal-project-picker label{display:block;flex:1;max-width:520px}
.task-journal-project-picker label span{display:block;margin-bottom:5px;color:var(--muted);font-size:.66rem;font-weight:900}
.task-journal-project-picker select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;font:inherit;font-size:.78rem;font-weight:800}
.task-journal-new{min-height:40px;padding:8px 12px;border:0;border-radius:10px;background:var(--olive);color:#fff;font-size:.72rem;font-weight:900;cursor:pointer}
.task-journal-empty{padding:20px;border:1px dashed var(--line);border-radius:13px;background:#fff;color:var(--muted);text-align:center}
.task-journal-empty strong,.task-journal-empty span{display:block}
.task-journal-empty strong{color:var(--text);font-size:.83rem}
.task-journal-empty span{margin-top:4px;font-size:.69rem}
.task-journal-create{margin-bottom:12px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.task-journal-create-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.task-journal-create-head button{width:30px;height:30px;border:0;border-radius:8px;background:#f1f1ed;cursor:pointer}
.task-journal-create .settings-field{margin-top:9px}
.task-journal-create textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:10px;font:inherit;resize:vertical}
.task-journal-people-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.task-journal-people-picker>div{padding:10px;border:1px solid var(--line);border-radius:11px;background:#fafaf7}
.task-journal-people-picker>div>strong{display:block;margin-bottom:6px;font-size:.73rem}
.task-journal-people-picker label{display:flex;align-items:center;gap:6px;padding:5px 0;font-size:.7rem}
.task-journal-list{display:grid;gap:8px}
.task-journal-item{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}
.task-journal-summary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:60px;padding:11px 13px;border:0;background:#fff;text-align:left;cursor:pointer}
.task-journal-summary strong,.task-journal-summary span{display:block}
.task-journal-summary strong{font-size:.83rem}
.task-journal-summary div>span{margin-top:3px;color:var(--muted);font-size:.65rem}
.task-journal-chevron{font-size:1.2rem;transition:transform .15s ease}
.task-journal-item.open .task-journal-chevron{transform:rotate(180deg)}
.task-journal-detail{padding:0 13px 13px;border-top:1px solid var(--line);background:#fcfcfa}
.task-journal-block{padding-top:11px}
.task-journal-block>span{display:block;margin-bottom:5px;color:var(--muted);font-size:.61rem;font-weight:900;letter-spacing:.04em}
.task-journal-block p{margin:0;font-size:.72rem;line-height:1.45}
.task-journal-participants{display:flex;flex-wrap:wrap;gap:5px}
.task-journal-participants span{padding:4px 7px;border-radius:999px;background:#edf0f2;font-size:.61rem;font-weight:800}
.task-journal-status-buttons{display:flex;flex-wrap:wrap;gap:5px}
.task-journal-status-buttons button{min-height:32px;padding:6px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:.64rem;font-weight:850;cursor:pointer}
.task-journal-status-buttons button.active{border-color:var(--olive);background:var(--olive);color:#fff}
.task-journal-entries{display:grid;gap:6px}
.task-journal-entry{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;padding:7px 0;border-bottom:1px solid var(--line)}
.task-journal-entry time{color:var(--muted);font-size:.6rem;font-weight:800}
.task-journal-entry p{font-size:.67rem}
.task-journal-note{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:9px}
.task-journal-note input{min-height:38px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:.7rem}
.task-journal-note button{padding:8px 10px;border:0;border-radius:9px;background:#eef2df;color:#526137;font-size:.67rem;font-weight:900;cursor:pointer}
.task-journal-mail{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:9px 11px;border-radius:11px;background:#e7f1fb;font-size:.69rem}
.task-journal-mail a{padding:6px 9px;border-radius:8px;background:#fff;color:#426e98;font-weight:900;text-decoration:none}
.nav-main a[href="/task-journal"] .nav-icon{color:#c9829e!important}
@media(max-width:680px){
.task-journal-project-picker,.task-journal-mail{align-items:stretch;flex-direction:column}
.task-journal-people-picker{grid-template-columns:1fr}
.task-journal-note{grid-template-columns:1fr}
.task-journal-entry{grid-template-columns:1fr;gap:2px}
.task-journal-new{align-self:flex-start}}
/* BauOps V13.7.3 - Dienstleister + E-Mail an alle */

.task-journal-mail a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 10px;
    border-radius:9px;
    background:#e8f0ff;
    color:#426e98!important;
    font-weight:900;
    text-decoration:none!important;
}

.task-journal-mail a::before{
    content:"✉";
    margin-right:6px;
}
/* BauOps V13.7.4 - Aufgabenjournal cleanup */

.project-task-link-v13-7{
    display:none!important;
}

/* Die alte TempData-Mailbox wird nicht mehr benoetigt.
   E-Mail ist jetzt direkt in jeder geoeffneten Aufgabe verfuegbar. */
.task-journal-mail{
    display:none!important;
}

.task-journal-email-row{
    display:flex;
    justify-content:flex-end;
    padding-top:11px;
}

.task-journal-email-all{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 12px;
    border-radius:10px;
    background:#e6f0ff;
    color:#356c9b!important;
    font-size:.69rem;
    font-weight:900;
    text-decoration:none!important;
}

.task-journal-email-all::before{
    content:"✉";
    margin-right:6px;
}
/* BauOps V13.7.5.1 - ASCII-safe CSS chevrons */

.task-journal-chevron{
    position:relative;
    display:inline-block!important;
    width:22px;
    height:22px;
    flex:0 0 22px;
    font-size:0!important;
    line-height:0!important;
    transform:none!important;
}

.task-journal-chevron::before,
.task-journal-chevron::after{
    content:"";
    position:absolute;
    top:10px;
    width:9px;
    height:2px;
    border-radius:2px;
    background:currentColor;
    transition:transform .15s ease;
}

.task-journal-chevron::before{
    left:3px;
    transform:rotate(45deg);
}

.task-journal-chevron::after{
    right:3px;
    transform:rotate(-45deg);
}

.task-journal-item.open .task-journal-chevron::before{
    transform:rotate(-45deg);
}

.task-journal-item.open .task-journal-chevron::after{
    transform:rotate(45deg);
}
/* BauOps V13.7.6 - Aufgabenjournal bearbeiten */

.task-journal-toolbar{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    padding-top:11px;
}

.task-journal-edit-button{
    min-height:38px;
    padding:8px 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    color:var(--text);
    font-size:.69rem;
    font-weight:900;
    cursor:pointer;
}

.task-journal-edit-panel{
    margin-top:10px;
    padding:12px;
    border:1px solid #dfe3d1;
    border-radius:12px;
    background:#f7f9ef;
}

.task-journal-edit-panel .settings-field{
    margin-top:8px;
}

.task-journal-edit-panel textarea{
    width:100%;
    padding:9px 10px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    font:inherit;
    resize:vertical;
}

.task-journal-edit-actions{
    display:flex;
    align-items:center;
    gap:7px;
    margin-top:10px;
}

.task-journal-edit-actions .settings-save,
.task-journal-edit-actions .settings-secondary{
    margin-top:0;
}

@media(max-width:680px){
    .task-journal-toolbar,
    .task-journal-edit-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .task-journal-toolbar > *,
    .task-journal-edit-actions > *{
        width:100%;
    }
}
/* BauOps V13.7.7 - Dienstleister Responsive Fix */

/* Desktop / Tablet: nur Tabelle */
.dienstleister-mobile-list{
    display:none!important;
}

/* Mobile: nur Karten */
@media(max-width:680px){
    .dienstleister-table-panel{
        display:none!important;
    }

    .dienstleister-mobile-list{
        display:grid!important;
        gap:10px;
    }
}
/* BauOps V13.7.8.1 - Aufgabenjournal Dashboard Widget */

.dashboard-task-journal-host{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
}

.dashboard-task-journal{
    overflow:hidden;
    height:100%;
    min-height:280px;
    border:1px solid #d9dce9;
    border-radius:15px;
    background:#f8f8fd;
    box-shadow:var(--shadow);
}

.dashboard-task-journal-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:11px 12px;
    border-bottom:1px solid #e3e4ee;
}

.dashboard-task-journal-head span,
.dashboard-task-journal-head strong{
    display:block;
}

.dashboard-task-journal-head span{
    color:#7a7790;
    font-size:.59rem;
    font-weight:900;
    letter-spacing:.08em;
}

.dashboard-task-journal-head strong{
    margin-top:2px;
    font-size:.88rem;
}

.dashboard-task-journal-head a{
    padding:5px 8px;
    border-radius:8px;
    background:#fff;
    color:#5d5a71;
    font-size:.62rem;
    font-weight:900;
    text-decoration:none;
}

.dashboard-task-journal-list{
    max-height:330px;
    overflow:auto;
}

.dashboard-task-journal-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:9px;
    padding:9px 11px;
    border-bottom:1px solid #e7e7ef;
    color:var(--text);
    text-decoration:none;
}

.dashboard-task-journal-row:last-child{
    border-bottom:0;
}

.dashboard-task-journal-row > div:first-child{
    min-width:0;
}

.dashboard-task-journal-row strong,
.dashboard-task-journal-row span,
.dashboard-task-journal-row small{
    display:block;
}

.dashboard-task-journal-row strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.73rem;
}

.dashboard-task-journal-row > div:first-child span{
    margin-top:2px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--muted);
    font-size:.61rem;
}

.dashboard-task-journal-meta{
    flex:0 0 auto;
    text-align:right;
}

.dashboard-task-journal-meta span{
    padding:3px 5px;
    border-radius:999px;
    background:#ececf6;
    color:#615d78;
    font-size:.57rem;
    font-weight:850;
}

.dashboard-task-journal-meta small{
    margin-top:3px;
    color:var(--muted);
    font-size:.56rem;
}

.dashboard-task-journal-empty{
    padding:16px 12px;
}

.dashboard-task-journal-empty strong,
.dashboard-task-journal-empty span{
    display:block;
}

.dashboard-task-journal-empty strong{
    font-size:.74rem;
}

.dashboard-task-journal-empty span{
    margin-top:3px;
    color:var(--muted);
    font-size:.63rem;
}
/* BauOps V13.7.8.2 - Dashboard Aufgabenjournal als echter Journal-Feed */

.dashboard-task-journal-head-simple{
    min-height:42px;
}

.dashboard-task-journal-head-simple strong{
    margin:0;
    font-size:.88rem;
}

.dashboard-task-journal-head-simple > span{
    color:var(--muted);
    font-size:.61rem;
    font-weight:800;
    letter-spacing:0;
}

.dashboard-task-journal-entry{
    display:grid;
    grid-template-columns:8px minmax(0,1fr) auto;
    align-items:start;
    gap:8px;
    padding:9px 11px;
    border-bottom:1px solid #e7e7ef;
    color:var(--text);
    text-decoration:none;
}

.dashboard-task-journal-entry:last-child{
    border-bottom:0;
}

.dashboard-task-journal-entry-dot{
    width:7px;
    height:7px;
    margin-top:5px;
    border-radius:50%;
    background:#a7a3ba;
}

.dashboard-task-journal-entry-dot[data-entry-type="Status"]{
    background:#d39a63;
}

.dashboard-task-journal-entry-dot[data-entry-type="Note"]{
    background:#6e9fc5;
}

.dashboard-task-journal-entry-dot[data-entry-type="Created"]{
    background:#7fa878;
}

.dashboard-task-journal-entry-dot[data-entry-type="Edit"]{
    background:#9a84c6;
}

.dashboard-task-journal-entry-body{
    min-width:0;
}

.dashboard-task-journal-entry-body > span,
.dashboard-task-journal-entry-body > strong,
.dashboard-task-journal-entry-body > small{
    display:block;
}

.dashboard-task-journal-entry-body > span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--muted);
    font-size:.58rem;
    font-weight:800;
}

.dashboard-task-journal-entry-body > strong{
    margin-top:2px;
    line-height:1.25;
    font-size:.69rem;
}

.dashboard-task-journal-entry-body > small{
    margin-top:3px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--muted);
    font-size:.57rem;
}

.dashboard-task-journal-entry time{
    padding-top:1px;
    color:var(--muted);
    font-size:.55rem;
    white-space:nowrap;
}

/* Alte Task-Summary-Zeilen aus V13.7.8.1 werden nicht mehr verwendet. */
.dashboard-task-journal-row{
    display:none!important;
}
/* BauOps V13.7.8.3 - Dashboard Aufgabenjournal gruppiert nach Projekt */

.dashboard-project-journal-groups{
    max-height:360px;
    overflow:auto;
    padding:8px;
}

.dashboard-project-journal-group{
    overflow:hidden;
    margin-bottom:8px;
    border:1px solid #e1e2ea;
    border-radius:11px;
    background:#fff;
}

.dashboard-project-journal-group:last-child{
    margin-bottom:0;
}

.dashboard-project-journal-group-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:8px 9px;
    background:#f3f3f8;
    border-bottom:1px solid #e5e5ec;
}

.dashboard-project-journal-group-head strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.69rem;
}

.dashboard-project-journal-group-head span{
    flex:0 0 auto;
    color:var(--muted);
    font-size:.55rem;
    font-weight:800;
}

.dashboard-project-journal-entries{
    display:grid;
}

.dashboard-project-journal-entry{
    display:grid;
    grid-template-columns:7px minmax(0,1fr) auto;
    align-items:start;
    gap:7px;
    padding:7px 9px;
    border-bottom:1px solid #ececf1;
    color:var(--text);
    text-decoration:none;
}

.dashboard-project-journal-entry:last-child{
    border-bottom:0;
}

.dashboard-project-journal-dot{
    width:7px;
    height:7px;
    margin-top:5px;
    border-radius:50%;
    background:#aaa6b7;
}

.dashboard-project-journal-dot[data-entry-type="Status"]{
    background:#d39a63;
}

.dashboard-project-journal-dot[data-entry-type="Note"]{
    background:#6e9fc5;
}

.dashboard-project-journal-dot[data-entry-type="Created"]{
    background:#7fa878;
}

.dashboard-project-journal-dot[data-entry-type="Edit"]{
    background:#9a84c6;
}

.dashboard-project-journal-entry-body{
    min-width:0;
}

.dashboard-project-journal-entry-body span,
.dashboard-project-journal-entry-body strong{
    display:block;
}

.dashboard-project-journal-entry-body span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--muted);
    font-size:.55rem;
    font-weight:800;
}

.dashboard-project-journal-entry-body strong{
    margin-top:2px;
    line-height:1.25;
    font-size:.64rem;
}

.dashboard-project-journal-entry time{
    padding-top:1px;
    color:var(--muted);
    font-size:.52rem;
    white-space:nowrap;
}

/* Alte globale Feed-Elemente aus V13.7.8.2 nicht mehr anzeigen */
.dashboard-task-journal-entry{
    display:none!important;
}
/* BauOps V13.7.8.4 - ein Dashboard-Eintrag pro Projektaufgabe */

.dashboard-project-journal-group-head span{
    opacity:.72;
}
/* BauOps V13.7.9 - gleiche Icons im Dashboard wie im Menue */

.dashboard-summary-card{
    position:relative;
    padding-left:58px!important;
}

.dashboard-summary-card .dashboard-menu-icon{
    position:absolute;
    left:18px;
    top:50%;
    width:25px;
    height:25px;
    transform:translateY(-50%);
}

.dashboard-summary-card .dashboard-menu-icon svg{
    width:25px;
    height:25px;
}

/* Exakt gleiche Farbfamilien wie Sidebar */
.dashboard-icon-projects{
    color:#63b86c!important;
}

.dashboard-icon-employees{
    color:#8b6de9!important;
}

.dashboard-icon-providers{
    color:#f39a3f!important;
}

.dashboard-icon-journal{
    color:#dd6f9a!important;
}

.dashboard-icon-plan{
    color:#e8b52e!important;
}

.dashboard-icon-time{
    color:#5da7c9!important;
}

/* Widget-Koepfe */
.dashboard-task-journal-head,
.week-note-head,
.dashboard-time-report-head{
    position:relative;
}

.dashboard-task-journal-head > .dashboard-menu-icon,
.week-note-head > .dashboard-menu-icon,
.dashboard-time-report-head > .dashboard-menu-icon{
    flex:0 0 20px;
    width:20px;
    height:20px;
}

.dashboard-task-journal-head > .dashboard-menu-icon svg,
.week-note-head > .dashboard-menu-icon svg,
.dashboard-time-report-head > .dashboard-menu-icon svg{
    width:20px;
    height:20px;
}

/* Bei Aufgabenjournal bleibt Text links sauber zusammen. */
.dashboard-task-journal-head.dashboard-task-journal-head-simple{
    display:grid;
    grid-template-columns:20px minmax(0,1fr) auto;
    align-items:center;
}

.dashboard-task-journal-head.dashboard-task-journal-head-simple > .dashboard-menu-icon{
    grid-column:1;
}

.dashboard-task-journal-head.dashboard-task-journal-head-simple > strong{
    grid-column:2;
}

.dashboard-task-journal-head.dashboard-task-journal-head-simple > span:not(.dashboard-menu-icon){
    grid-column:3;
}

@media(max-width:680px){
    .dashboard-summary-card{
        padding-left:52px!important;
    }

    .dashboard-summary-card .dashboard-menu-icon{
        left:15px;
    }
}
/* BauOps V13.7.10 - Projektplanung ohne Etappen */

/* Alte Etappen-UI aus frueheren Versionen sicher verstecken */
.stage-add-details,
.stage-timeline-row,
.stage-label,
.stage-delete{
    display:none!important;
}

/* BauOps V13.7.11 - Encoding/Menu Cleanup */

/* Keep integration cards clean if an obsolete text/emoji icon survived older patches. */
.settings-secret-lock-text,
.integration-secret-glyph,
.integration-lock-glyph{
    display:none!important;
}
/* BauOps V13.7.12 - Integrationen: geschuetzten Client-Secret-Bereich ausblenden */

#integrations .secret-zone{
    display:none!important;
}
/* BauOps V13.7.17 - Zeiterfassung menu final fix */

.nav-main a[href="/time-tracking"][data-bauops-hidden="true"]{
    display:none!important;
}
/* BauOps V13.7.20 */

/* In der zentralen Projektplanung den oberen doppelten
   + Dienstleister / Vollansicht Bereich entfernen. */
.inline-shift-actions{
    display:none!important;
}

/* Das untere + Dienstleister bleibt sichtbar und bedienbar. */
.provider-plus-row,
.provider-inline-add,
.provider-inline-toggle{
    display:revert;
}

/* Alle Projekte: rein lesbare Timeline. */
.timeline-readonly-cell{
    display:block;
    width:100%;
    min-width:38px;
    height:36px;
    border:1px solid #e0e2dc;
    border-radius:8px;
    background:#fff;
}

.timeline-readonly-cell.active{
    background:#9da968;
    border-color:#9da968;
}

.readonly-project-link{
    color:inherit;
    text-decoration:none;
}

.readonly-project-link:hover{
    text-decoration:underline;
}

/* Dienstleister Archiv */
.dienstleister-archive{
    margin-top:16px;
    border:1px solid #e1e3dd;
    border-radius:14px;
    background:#f8f8f5;
    overflow:hidden;
}

.dienstleister-archive > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px 14px;
    cursor:pointer;
    font-weight:900;
    list-style:none;
}

.dienstleister-archive > summary::-webkit-details-marker{
    display:none;
}

.dienstleister-archive > summary span{
    min-width:24px;
    padding:3px 7px;
    border-radius:999px;
    background:#eceee7;
    text-align:center;
    font-size:.65rem;
}

.dienstleister-archive-list{
    border-top:1px solid #e1e3dd;
}

.dienstleister-archive-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 14px;
    border-bottom:1px solid #e8e9e4;
    background:#fff;
}

.dienstleister-archive-row:last-child{
    border-bottom:0;
}

.dienstleister-archive-row strong,
.dienstleister-archive-row span{
    display:block;
}

.dienstleister-archive-row span{
    margin-top:2px;
    color:var(--muted);
    font-size:.67rem;
}

@media(max-width:680px){
    .dienstleister-archive-row{
        align-items:stretch;
        flex-direction:column;
    }

    .dienstleister-archive-row form,
    .dienstleister-archive-row button{
        width:100%;
    }
}
/* BauOps V13.7.21 - Projektplanung */

.project-planning-top{
    margin-bottom:12px;
}

.planning-project-add{
    width:60px;
    height:60px;
    display:grid;
    place-items:center;
    border-radius:17px;
    background:#a7b35e;
    color:#fff;
    text-decoration:none;
    font-size:30px;
    font-weight:900;
}

.planning-head-v13-7-21{
    align-items:flex-end;
    gap:18px;
}

.planning-period-form{
    display:flex;
    align-items:flex-end;
    gap:8px;
    margin-left:auto;
}

.planning-period-form label{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.planning-period-form label span{
    color:#75808a;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}

.planning-period-form input{
    min-height:38px;
    padding:0 10px;
    border:1px solid #dde0d8;
    border-radius:10px;
    background:#fff;
    font:inherit;
    font-size:12px;
}

.provider-plus-row{
    display:table-row!important;
}

.provider-inline-add{
    position:relative;
    display:block!important;
}

.provider-inline-toggle{
    display:inline-flex!important;
    padding:0;
    border:0;
    background:transparent;
    color:#66711f;
    font:inherit;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    text-transform:uppercase;
}

.provider-inline-menu{
    position:absolute;
    left:0;
    top:calc(100% + 8px);
    z-index:100;
    display:none;
    width:300px;
    max-width:calc(100vw - 60px);
    padding:8px;
    border:1px solid #dde0d8;
    border-radius:12px;
    background:#fff;
    box-shadow:0 16px 42px rgba(30,35,20,.16);
}

.provider-inline-menu.open{
    display:block;
}

.provider-add-button{
    width:100%;
    padding:10px;
    display:grid;
    grid-template-columns:26px 1fr;
    gap:1px 8px;
    border:0;
    border-radius:9px;
    background:transparent;
    text-align:left;
    cursor:pointer;
}

.provider-add-button:hover{
    background:#f4f6ed;
}

.provider-add-button > span{
    grid-row:1 / 3;
    align-self:center;
    font-size:20px;
}

.provider-add-button strong,
.provider-add-button small{
    display:block;
}

.provider-add-button small{
    color:#7c8588;
}

.planning-empty-hint{
    padding:10px 14px 2px;
    color:#7b8588;
    font-size:12px;
}

.planning-alert{
    margin-bottom:12px;
    padding:10px 12px;
    border:1px solid #f1cccc;
    border-radius:10px;
    background:#fff3f3;
    color:#9f2d2d;
    font-size:12px;
    font-weight:800;
}

@media(max-width:800px){
    .planning-head-v13-7-21{
        align-items:stretch;
        flex-direction:column;
    }

    .planning-period-form{
        width:100%;
        margin-left:0;
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .planning-period-form button{
        grid-column:1 / -1;
    }

    .planning-period-form input{
        width:100%;
    }
}

/* BauOps V13.7.23 - CLEAN RESTORE */

.project-planning-top{
    margin:0 0 12px;
}

.planning-project-add{
    width:60px;
    height:60px;
    display:grid;
    place-items:center;
    border-radius:17px;
    background:#a7b35e;
    color:#fff;
    text-decoration:none;
    font-size:30px;
    font-weight:900;
}

.planning-head-clean{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
}

.planning-head-title strong,
.planning-head-title small{
    display:block;
}

.planning-period-form{
    margin-left:auto;
    display:flex;
    align-items:flex-end;
    gap:8px;
}

.planning-period-form label{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.planning-period-form label span{
    color:#75808a;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}

.planning-period-form input{
    min-height:38px;
    padding:0 10px;
    border:1px solid #dde0d8;
    border-radius:10px;
    background:#fff;
    font:inherit;
    font-size:12px;
}

.provider-plus-row{
    display:table-row!important;
}

.provider-inline-add{
    position:relative!important;
    display:block!important;
}

.provider-inline-toggle{
    display:inline-flex!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#66711f!important;
    font:inherit!important;
    font-size:12px!important;
    font-weight:900!important;
    cursor:pointer!important;
    text-transform:uppercase;
}

.provider-inline-menu{
    position:absolute!important;
    left:0!important;
    top:calc(100% + 8px)!important;
    z-index:120!important;
    display:none!important;
    width:300px!important;
    max-width:calc(100vw - 60px)!important;
    padding:8px!important;
    border:1px solid #dde0d8!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 16px 42px rgba(30,35,20,.16)!important;
}

.provider-inline-menu.open{
    display:block!important;
}

.provider-add-button{
    width:100%;
    padding:10px;
    display:grid;
    grid-template-columns:26px 1fr;
    gap:1px 8px;
    border:0;
    border-radius:9px;
    background:transparent;
    text-align:left;
    cursor:pointer;
}

.provider-add-button:hover{
    background:#f4f6ed;
}

.provider-add-button > span{
    grid-row:1 / 3;
    align-self:center;
    font-size:20px;
}

.provider-add-button strong,
.provider-add-button small{
    display:block;
}

.provider-add-button small{
    color:#7c8588;
}

.planning-empty-hint{
    padding:10px 14px 2px;
    color:#7b8588;
    font-size:12px;
}

.planning-alert{
    margin-bottom:12px;
    padding:10px 12px;
    border:1px solid #f1cccc;
    border-radius:10px;
    background:#fff3f3;
    color:#9f2d2d;
    font-size:12px;
    font-weight:800;
}

@media(max-width:800px){
    .planning-head-clean{
        align-items:stretch;
        flex-direction:column;
    }

    .planning-period-form{
        width:100%;
        margin-left:0;
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .planning-period-form button{
        grid-column:1 / -1;
    }

    .planning-period-form input{
        width:100%;
    }
}

/* BauOps V13.7.24 - Projektplanung UI FINAL FIX */

/* Outer project table must NEVER grow with the inner calendar. */
.project-accordion-panel{
    width:100%;
    max-width:100%;
    overflow:hidden!important;
}

.project-master-table{
    width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
}

.project-detail-row > td{
    width:100%!important;
    max-width:0!important;
    overflow:hidden!important;
    padding-left:16px!important;
    padding-right:16px!important;
}

.project-own-shiftplan{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
}

/* Same header layout for short and long projects. */
.planning-head-clean{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(220px,1fr) auto!important;
    align-items:end!important;
    gap:18px!important;
    box-sizing:border-box!important;
}

.planning-head-title{
    min-width:0!important;
}

.planning-period-form{
    min-width:0!important;
    margin:0!important;
    display:flex!important;
    align-items:flex-end!important;
    gap:8px!important;
}

/* Calendar owns the horizontal scrolling, not the whole page. */
.own-timeline-scroll{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scrollbar-gutter:stable!important;
    padding-bottom:8px!important;
}

.own-schedule-table{
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    table-layout:auto!important;
    border-collapse:separate!important;
    border-spacing:0!important;
}

/* Stable first column and day widths. */
.own-schedule-table .sticky-name{
    position:sticky!important;
    left:0!important;
    z-index:12!important;
    width:200px!important;
    min-width:200px!important;
    max-width:200px!important;
    background:#fff!important;
}

.own-schedule-table thead .sticky-name{
    z-index:20!important;
    background:#f7f8f3!important;
}

.own-schedule-table .day-head,
.own-schedule-table td:not(.provider-plus-cell){
    width:60px!important;
    min-width:60px!important;
}

/* Bottom add row: show the requested text, not just a lone plus. */
.provider-plus-row{
    display:table-row!important;
}

.provider-plus-cell{
    overflow:visible!important;
    white-space:nowrap!important;
}

.provider-inline-add{
    position:relative!important;
    display:block!important;
    overflow:visible!important;
}

.provider-inline-toggle{
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    min-height:42px!important;
    padding:0 10px!important;
    border:0!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#66711f!important;
    font:inherit!important;
    font-size:12px!important;
    font-weight:900!important;
    cursor:pointer!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
}

.provider-inline-toggle:hover{
    background:#f2f5e8!important;
}

/* Important: popup is fixed, therefore it cannot be clipped by the timeline. */
.provider-inline-menu{
    display:none!important;
}

.provider-inline-menu.open{
    position:fixed!important;
    z-index:9999!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    display:block!important;
    width:min(420px,calc(100vw - 32px))!important;
    max-height:min(520px,calc(100vh - 80px))!important;
    overflow:auto!important;
    padding:12px!important;
    border:1px solid #dfe3d8!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 24px 70px rgba(25,35,20,.28)!important;
}

.provider-inline-menu.open::before{
    content:"Dienstleister hinzufÃ¼gen";
    display:block;
    margin:2px 4px 10px;
    padding-bottom:9px;
    border-bottom:1px solid #eceee7;
    color:#222;
    font-size:15px;
    font-weight:900;
}

.provider-add-button{
    width:100%!important;
    min-height:52px!important;
    padding:9px 10px!important;
    display:grid!important;
    grid-template-columns:30px 1fr!important;
    gap:2px 8px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:inherit!important;
    text-align:left!important;
    cursor:pointer!important;
}

.provider-add-button:hover{
    background:#f3f6ea!important;
}

.provider-add-button > span{
    grid-row:1 / 3!important;
    align-self:center!important;
    font-size:22px!important;
    font-weight:900!important;
}

.provider-add-button strong,
.provider-add-button small{
    display:block!important;
}

.provider-add-button small{
    color:#7d8587!important;
}

/* Backdrop created by JS. */
.bauops-provider-backdrop{
    position:fixed;
    inset:0;
    z-index:9998;
    background:rgba(20,25,20,.26);
    backdrop-filter:blur(1px);
}

/* Preserve clickable shift cells. */
.shift-cell{
    cursor:pointer!important;
}

/* Make the scrollbar obvious on desktop. */
.own-timeline-scroll::-webkit-scrollbar{
    height:12px;
}

.own-timeline-scroll::-webkit-scrollbar-track{
    background:#f0f1ec;
    border-radius:999px;
}

.own-timeline-scroll::-webkit-scrollbar-thumb{
    background:#c5c9ba;
    border-radius:999px;
    border:3px solid #f0f1ec;
}

@media(max-width:900px){
    .planning-head-clean{
        grid-template-columns:1fr!important;
        align-items:stretch!important;
    }

    .planning-period-form{
        width:100%!important;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
    }

    .planning-period-form button{
        grid-column:1 / -1!important;
    }

    .planning-period-form input{
        width:100%!important;
        box-sizing:border-box!important;
    }

    .own-schedule-table .sticky-name{
        width:160px!important;
        min-width:160px!important;
        max-width:160px!important;
    }
}

/* BauOps V13.7.25 */

/* =========================
   SIDEBAR PROJECT CHILDREN
   ========================= */

.project-nav-children-v13-7-25{
    margin:-3px 0 7px 42px;
    padding:2px 0 2px 10px;
    border-left:1px solid #e0e3db;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.project-nav-child-v13-7-25{
    min-width:0;
    min-height:30px;
    padding:5px 8px;
    border-radius:8px;
    display:flex;
    align-items:center;
    gap:7px;
    color:#6d7474;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
}

.project-nav-child-v13-7-25:hover,
.project-nav-child-v13-7-25.active{
    background:#f5f1e9;
    color:#222;
}

.project-nav-child-v13-7-25 > span:last-child{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.project-nav-dot-v13-7-25{
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
    background:#a6b05f;
}

/* =========================
   SINGLE PROJECT PLANNING
   ========================= */

.planning-single-shell{
    width:100%;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:14px;
}

.planning-single-header,
.planning-period-card,
.planning-timeline-card{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    border:1px solid #e0e3db;
    border-radius:18px;
    background:#fff;
}

.planning-single-header{
    padding:18px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.planning-project-copy{
    min-width:0;
}

.planning-project-copy h1{
    margin:4px 0 7px;
    font-size:22px;
}

.planning-project-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px 14px;
    color:#737c7e;
    font-size:12px;
}

.planning-header-actions{
    display:flex;
    align-items:center;
    gap:8px;
}

.planning-project-add{
    width:46px;
    height:46px;
    flex:0 0 46px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#a7b35e;
    color:#fff;
    text-decoration:none;
    font-size:27px;
    font-weight:900;
}

.planning-period-card{
    padding:14px 18px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
}

.planning-period-card > div > strong{
    display:block;
    margin-top:3px;
}

.planning-period-form{
    margin:0!important;
    display:flex!important;
    align-items:flex-end!important;
    gap:8px!important;
}

.planning-period-form label{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.planning-period-form label span{
    color:#75808a;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}

.planning-period-form input{
    min-height:40px;
    padding:0 10px;
    border:1px solid #dde0d8;
    border-radius:10px;
    background:#fff;
    font:inherit;
    font-size:12px;
}

.planning-timeline-card{
    padding:16px 18px 12px;
    overflow:hidden;
}

.planning-timeline-head{
    margin-bottom:10px;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:14px;
}

.planning-timeline-head strong{
    display:block;
    margin-top:3px;
}

.own-timeline-scroll{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scrollbar-gutter:stable!important;
    padding-bottom:8px!important;
}

.own-schedule-table{
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    table-layout:auto!important;
    border-collapse:separate!important;
    border-spacing:0!important;
}

.own-schedule-table .sticky-name{
    position:sticky!important;
    left:0!important;
    z-index:12!important;
    width:190px!important;
    min-width:190px!important;
    max-width:190px!important;
    background:#fff!important;
}

.own-schedule-table thead .sticky-name{
    z-index:20!important;
    background:#f7f8f3!important;
}

.own-schedule-table .day-head,
.own-schedule-table td:not(.provider-plus-cell){
    width:58px!important;
    min-width:58px!important;
}

.own-timeline-scroll::-webkit-scrollbar{
    height:12px;
}

.own-timeline-scroll::-webkit-scrollbar-track{
    background:#f0f1ec;
    border-radius:999px;
}

.own-timeline-scroll::-webkit-scrollbar-thumb{
    background:#c5c9ba;
    border-radius:999px;
    border:3px solid #f0f1ec;
}

/* provider add */
.provider-plus-row{
    display:table-row!important;
}

.provider-inline-add{
    position:relative!important;
    display:block!important;
}

.provider-inline-toggle{
    display:inline-flex!important;
    min-height:40px!important;
    padding:0 9px!important;
    border:0!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#66711f!important;
    font:inherit!important;
    font-size:11px!important;
    font-weight:900!important;
    cursor:pointer!important;
    text-transform:uppercase!important;
}

.provider-inline-toggle:hover{
    background:#f2f5e8!important;
}

.provider-inline-menu{
    display:none!important;
}

.provider-inline-menu.open{
    position:fixed!important;
    z-index:9999!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    display:block!important;
    width:min(420px,calc(100vw - 32px))!important;
    max-height:min(520px,calc(100vh - 80px))!important;
    overflow:auto!important;
    padding:12px!important;
    border:1px solid #dfe3d8!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 24px 70px rgba(25,35,20,.28)!important;
}

.provider-inline-menu.open::before{
    content:"Dienstleister hinzufÃ¼gen";
    display:block;
    margin:2px 4px 10px;
    padding-bottom:9px;
    border-bottom:1px solid #eceee7;
    font-size:15px;
    font-weight:900;
}

.provider-add-button{
    width:100%!important;
    min-height:52px!important;
    padding:9px 10px!important;
    display:grid!important;
    grid-template-columns:30px 1fr!important;
    gap:2px 8px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:inherit!important;
    text-align:left!important;
    cursor:pointer!important;
}

.provider-add-button:hover{
    background:#f3f6ea!important;
}

.provider-add-button > span{
    grid-row:1 / 3!important;
    align-self:center!important;
    font-size:22px!important;
}

.provider-add-button strong,
.provider-add-button small{
    display:block!important;
}

.provider-add-button small{
    color:#7d8587!important;
}

.bauops-provider-backdrop{
    position:fixed;
    inset:0;
    z-index:9998;
    background:rgba(20,25,20,.26);
    backdrop-filter:blur(1px);
}

.planning-empty-hint{
    padding:8px 4px 1px;
    color:#7b8588;
    font-size:12px;
}

.planning-single-empty{
    padding:22px;
    border:1px solid #e0e3db;
    border-radius:18px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.planning-single-empty h2{
    margin:4px 0;
}

/* =========================
   ALL PROJECTS COMPACT
   ========================= */

.all-projects-compact{
    width:100%;
    overflow:hidden;
    border:1px solid #e0e3db;
    border-radius:18px;
    background:#fff;
}

.all-projects-head{
    padding:13px 16px;
    border-bottom:1px solid #e5e7e1;
    display:grid;
    grid-template-columns:minmax(210px,32%) 1fr;
    align-items:end;
    gap:18px;
}

.all-projects-head strong{
    display:block;
    margin-top:2px;
}

.all-projects-scale-dates{
    display:flex;
    justify-content:space-between;
    color:#7b8283;
    font-size:10px;
    font-weight:800;
}

.all-project-row{
    min-height:62px;
    padding:9px 16px;
    border-bottom:1px solid #eceee8;
    display:grid;
    grid-template-columns:minmax(210px,32%) 1fr;
    align-items:center;
    gap:18px;
}

.all-project-row:last-child{
    border-bottom:0;
}

.all-project-info{
    min-width:0;
}

.all-project-name{
    display:block;
    overflow:hidden;
    color:#202522;
    text-decoration:none;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:13px;
    font-weight:900;
}

.all-project-name:hover{
    text-decoration:underline;
}

.all-project-meta{
    margin-top:5px;
    display:flex;
    align-items:center;
    gap:8px;
    color:#7b8283;
    font-size:10px;
}

.all-project-period{
    min-width:0;
}

.all-project-track{
    position:relative;
    height:9px;
    overflow:hidden;
    border-radius:999px;
    background:#edf0e8;
}

.all-project-bar{
    position:absolute;
    top:0;
    bottom:0;
    min-width:7px;
    border-radius:999px;
    background:#a7b35e;
}

.all-project-row-dates{
    margin-top:5px;
    display:flex;
    justify-content:space-between;
    color:#747c7e;
    font-size:9px;
    font-weight:800;
}

@media(max-width:820px){
    .project-nav-children-v13-7-25{
        margin-left:34px;
    }

    .planning-single-header,
    .planning-period-card,
    .planning-timeline-head{
        align-items:stretch;
        flex-direction:column;
    }

    .planning-period-form{
        width:100%!important;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
    }

    .planning-period-form button{
        grid-column:1 / -1;
    }

    .planning-period-form input{
        width:100%;
        box-sizing:border-box;
    }

    .own-schedule-table .sticky-name{
        width:150px!important;
        min-width:150px!important;
        max-width:150px!important;
    }

    .all-projects-head{
        display:none;
    }

    .all-project-row{
        grid-template-columns:1fr;
        gap:8px;
        padding:12px 14px;
    }
}

/* BauOps V13.7.27 - Dienstleister ohne Modal */

.planning-provider-add-card{
    margin:0 0 12px;
    padding:12px 14px;
    border:1px solid #e4e7df;
    border-radius:12px;
    background:#f8f9f5;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;
}

.planning-provider-add-card > div > strong{
    display:block;
    margin-top:3px;
    font-size:12px;
}

.planning-provider-add-form{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:min(520px,60%);
}

.planning-provider-add-form select{
    width:100%;
    min-width:260px;
    min-height:40px;
    padding:0 11px;
    border:1px solid #d9ddd3;
    border-radius:10px;
    background:#fff;
    color:#202522;
    font:inherit;
    font-size:12px;
}

.planning-provider-empty{
    color:#7d8587;
    font-size:11px;
    font-weight:700;
}

.provider-inline-add,
.provider-inline-toggle,
.provider-inline-menu,
.bauops-provider-backdrop,
.bauops-provider-dialog-title-v13-7-26{
    display:none!important;
}

@media(max-width:820px){
    .planning-provider-add-card{
        align-items:stretch;
        flex-direction:column;
    }

    .planning-provider-add-form{
        min-width:0;
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }

    .planning-provider-add-form select,
    .planning-provider-add-form button{
        width:100%;
        min-width:0;
    }
}

/* BauOps V13.7.28 - SAFE SIDEBAR */

/* Undo all V13.7.26 shell/grid forcing. */
.bauops-shell-v13-7-26,
.bauops-shell-collapsed-v13-7-26{
    grid-template-columns:unset!important;
}

.bauops-sidebar-v13-7-26,
.bauops-sidebar-collapsed-v13-7-26{
    transition:none!important;
}

/* New safe sidebar: width only. Parent display mode is left untouched. */
.bo-sidebar-safe-v13-7-28{
    position:relative!important;
    box-sizing:border-box!important;
    width:300px;
    min-width:300px;
    max-width:300px;
    transition:
        width .18s ease,
        min-width .18s ease,
        max-width .18s ease!important;
}

/* Project submenu stays inside sidebar. */
.bo-sidebar-safe-v13-7-28 .project-nav-children-v13-7-25{
    margin-left:52px!important;
    margin-right:12px!important;
    min-width:0!important;
}

.bo-sidebar-safe-v13-7-28 .project-nav-child-v13-7-25{
    min-width:0!important;
    max-width:100%!important;
}

.bo-sidebar-safe-v13-7-28
.project-nav-child-v13-7-25 > span:last-child{
    min-width:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
}

/* Toggle is attached to sidebar edge, not content area. */
.bo-sidebar-toggle-v13-7-28{
    position:absolute!important;
    top:18px!important;
    right:-15px!important;
    z-index:500!important;
    width:30px!important;
    height:30px!important;
    padding:0!important;
    border:1px solid #dfe3dc!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#667174!important;
    display:grid!important;
    place-items:center!important;
    cursor:pointer!important;
    box-shadow:0 4px 14px rgba(20,30,20,.10)!important;
}

.bo-sidebar-toggle-glyph-v13-7-28{
    display:block!important;
    font-size:22px!important;
    line-height:1!important;
    transform:translateY(-1px);
}

/* Collapsed state: icons only. */
.bo-sidebar-collapsed-v13-7-28{
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
}

.bo-sidebar-collapsed-v13-7-28 .project-nav-children-v13-7-25{
    display:none!important;
}

.bo-sidebar-collapsed-v13-7-28 .nav-main a{
    justify-content:center!important;
    padding-left:0!important;
    padding-right:0!important;
}

.bo-sidebar-collapsed-v13-7-28 .nav-main a > span:last-child{
    display:none!important;
}

.bo-sidebar-collapsed-v13-7-28 .nav-main .nav-icon{
    margin-left:auto!important;
    margin-right:auto!important;
}

/* Keep the header logo visible but hide text if common copy wrappers exist. */
.bo-sidebar-collapsed-v13-7-28 .brand-copy,
.bo-sidebar-collapsed-v13-7-28 .sidebar-brand-copy{
    display:none!important;
}

/* Mobile retains existing hamburger/drawer implementation. */
@media(max-width:900px){
    .bo-sidebar-toggle-v13-7-28{
        display:none!important;
    }

    .bo-sidebar-safe-v13-7-28,
    .bo-sidebar-collapsed-v13-7-28{
        width:auto!important;
        min-width:0!important;
        max-width:none!important;
    }
}

/* BauOps V13.7.29 - STRUCTURAL LAYOUT FIX */

/*
   IMPORTANT:
   The sidebar is taken out of normal document flow on desktop.
   This directly removes the huge vertical blank area that appeared
   when the sidebar height pushed the dashboard downward.
*/

/* Neutralize all old sidebar/shell experiments. */
.bauops-shell-v13-7-26,
.bauops-shell-collapsed-v13-7-26{
    display:initial!important;
    grid-template-columns:initial!important;
}

.bauops-sidebar-v13-7-26,
.bauops-sidebar-collapsed-v13-7-26,
.bo-sidebar-safe-v13-7-28,
.bo-sidebar-collapsed-v13-7-28{
    position:initial!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
}

/* Desktop sidebar: fixed and independent from content flow. */
.bo-sidebar-structural-v13-7-29{
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    z-index:1000!important;

    width:300px!important;
    min-width:300px!important;
    max-width:300px!important;
    height:100vh!important;

    overflow-y:auto!important;
    overflow-x:hidden!important;

    box-sizing:border-box!important;

    background:#fff!important;
    border-right:1px solid #e1e3de!important;

    transition:
        width .18s ease,
        min-width .18s ease,
        max-width .18s ease!important;
}

/* Main content starts at the TOP, directly next to sidebar. */
.bo-main-structural-v13-7-29{
    margin-left:300px!important;
    width:calc(100% - 300px)!important;
    min-width:0!important;

    padding-top:0!important;

    box-sizing:border-box!important;

    transition:
        margin-left .18s ease,
        width .18s ease!important;
}

/* Project submenu stays inside the wider sidebar. */
.bo-sidebar-structural-v13-7-29
.project-nav-children-v13-7-25{
    margin-left:52px!important;
    margin-right:12px!important;
    min-width:0!important;
}

.bo-sidebar-structural-v13-7-29
.project-nav-child-v13-7-25{
    min-width:0!important;
    max-width:100%!important;
}

.bo-sidebar-structural-v13-7-29
.project-nav-child-v13-7-25 > span:last-child{
    min-width:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
}

/* Collapse button anchored to fixed sidebar edge. */
.bo-sidebar-toggle-v13-7-29{
    position:fixed!important;
    left:285px!important;
    top:22px!important;
    z-index:1100!important;

    width:30px!important;
    height:30px!important;
    padding:0!important;

    border:1px solid #d9ddd6!important;
    border-radius:50%!important;

    background:#fff!important;
    color:#687274!important;

    display:grid!important;
    place-items:center!important;

    cursor:pointer!important;

    box-shadow:0 4px 14px rgba(20,30,20,.12)!important;

    transition:left .18s ease!important;
}

.bo-sidebar-toggle-glyph-v13-7-29{
    display:block!important;
    font-size:22px!important;
    line-height:1!important;
    transform:translateY(-1px);
}

/* Collapsed desktop state. */
.bo-sidebar-collapsed-v13-7-29{
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
}

.bo-sidebar-collapsed-v13-7-29
.bo-sidebar-toggle-v13-7-29{
    left:63px!important;
}

.bo-main-expanded-v13-7-29{
    margin-left:78px!important;
    width:calc(100% - 78px)!important;
}

.bo-sidebar-collapsed-v13-7-29
.project-nav-children-v13-7-25{
    display:none!important;
}

.bo-sidebar-collapsed-v13-7-29
.nav-main a{
    justify-content:center!important;
    padding-left:0!important;
    padding-right:0!important;
}

.bo-sidebar-collapsed-v13-7-29
.nav-main a > span:last-child{
    display:none!important;
}

.bo-sidebar-collapsed-v13-7-29
.nav-main .nav-icon{
    margin-left:auto!important;
    margin-right:auto!important;
}

/* Hide common brand/footer copy while collapsed, keep icon/logo. */
.bo-sidebar-collapsed-v13-7-29 .brand-copy,
.bo-sidebar-collapsed-v13-7-29 .sidebar-brand-copy,
.bo-sidebar-collapsed-v13-7-29 .sidebar-footer,
.bo-sidebar-collapsed-v13-7-29 .nav-footer{
    display:none!important;
}

/* Old experimental toggle buttons must never be visible. */
.bauops-sidebar-toggle-v13-7-26,
.bo-sidebar-toggle-v13-7-28{
    display:none!important;
}

/* Mobile: leave existing mobile drawer/hamburger untouched. */
@media(max-width:900px){
    .bo-sidebar-structural-v13-7-29{
        position:initial!important;
        left:auto!important;
        top:auto!important;
        bottom:auto!important;

        width:auto!important;
        min-width:0!important;
        max-width:none!important;
        height:auto!important;

        overflow:visible!important;

        border-right:0!important;
    }

    .bo-main-structural-v13-7-29,
    .bo-main-expanded-v13-7-29{
        margin-left:0!important;
        width:100%!important;
    }

    .bo-sidebar-toggle-v13-7-29{
        display:none!important;
    }
}

/* BauOps V13.7.30 - COMPACT UI + EXACT SIDEBAR ALIGNMENT */

.bo-sidebar-v13-7-30{
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    z-index:1000!important;
    width:300px!important;
    min-width:300px!important;
    max-width:300px!important;
    height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
    background:#fff!important;
    border-right:1px solid #e1e3de!important;
    transition:width .18s ease,min-width .18s ease,max-width .18s ease!important;
}

.bo-content-root-v13-7-30{
    margin-left:300px!important;
    width:calc(100% - 300px)!important;
    max-width:none!important;
    box-sizing:border-box!important;
    transition:margin-left .18s ease,width .18s ease!important;
}

.bo-content-root-v13-7-30 main,
.bo-content-root-v13-7-30 .main-content,
.bo-content-root-v13-7-30 .app-main,
.bo-content-root-v13-7-30 .page-main,
.bo-content-root-v13-7-30 .bo-main{
    margin-left:0!important;
    left:auto!important;
    width:auto!important;
    max-width:none!important;
}

.bo-sidebar-toggle-v13-7-30{
    position:fixed!important;
    top:80px!important;
    left:285px!important;
    z-index:1100!important;
    width:30px!important;
    height:30px!important;
    padding:0!important;
    border:1px solid #d9ddd6!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#687274!important;
    display:grid!important;
    place-items:center!important;
    cursor:pointer!important;
    box-shadow:0 4px 14px rgba(20,30,20,.12)!important;
    transition:left .18s ease!important;
}

.bo-sidebar-toggle-v13-7-30 span{
    font-size:22px!important;
    line-height:1!important;
}

.bo-sidebar-v13-7-30.is-collapsed-v13-7-30{
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
}

.bo-sidebar-v13-7-30.is-collapsed-v13-7-30
.bo-sidebar-toggle-v13-7-30{
    left:63px!important;
}

.bo-content-root-v13-7-30.is-expanded-v13-7-30{
    margin-left:78px!important;
    width:calc(100% - 78px)!important;
}

.bo-sidebar-v13-7-30.is-collapsed-v13-7-30
.project-nav-children-v13-7-25{
    display:none!important;
}

.bo-sidebar-v13-7-30.is-collapsed-v13-7-30
.nav-main a{
    justify-content:center!important;
    padding-left:0!important;
    padding-right:0!important;
}

.bo-sidebar-v13-7-30.is-collapsed-v13-7-30
.nav-main a > span:last-child{
    display:none!important;
}

.bo-sidebar-v13-7-30 .project-nav-children-v13-7-25{
    margin-left:52px!important;
    margin-right:12px!important;
}

.bo-sidebar-v13-7-30 .project-nav-child-v13-7-25 > span:last-child{
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
}

/* Project header compact */
.planning-single-header{
    padding:12px 16px!important;
    min-height:0!important;
    border-radius:14px!important;
}

.planning-project-copy h1{
    margin:2px 0 4px!important;
    font-size:19px!important;
    line-height:1.15!important;
}

.planning-project-meta{
    gap:6px 10px!important;
    font-size:10px!important;
}

.planning-header-actions .btn{
    min-height:38px!important;
    padding:0 13px!important;
}

.planning-header-actions .planning-project-add{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
    font-size:24px!important;
}

/* Project period compact */
.planning-period-card{
    padding:10px 14px!important;
    min-height:0!important;
    border-radius:14px!important;
}

.planning-period-card > div > strong{
    font-size:12px!important;
}

.planning-period-form input,
.planning-period-form .btn{
    min-height:36px!important;
}

/* Timeline compact */
.planning-timeline-card{
    padding:12px 14px 9px!important;
    border-radius:14px!important;
}

.planning-timeline-head{
    margin-bottom:7px!important;
}

.planning-timeline-head strong{
    font-size:13px!important;
}

.own-schedule-table .sticky-name{
    width:170px!important;
    min-width:170px!important;
    max-width:170px!important;
}

.own-schedule-table .day-head,
.own-schedule-table td:not(.provider-plus-cell){
    width:52px!important;
    min-width:52px!important;
}

.own-schedule-table th,
.own-schedule-table td{
    padding-top:5px!important;
    padding-bottom:5px!important;
}

.shift-cell{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
}

.planning-provider-add-card{
    padding:8px 10px!important;
    margin-bottom:8px!important;
    border-radius:10px!important;
}

.planning-provider-add-card > div > strong{
    font-size:11px!important;
}

.planning-provider-add-form select,
.planning-provider-add-form .btn{
    min-height:36px!important;
}

/* All Projects day scale */
.all-projects-head{
    grid-template-columns:minmax(210px,32%) 1fr!important;
    padding:10px 14px 7px!important;
}

.all-projects-scale-dates{
    margin-bottom:5px!important;
}

.all-projects-day-scale{
    grid-column:2!important;
    display:flex!important;
    width:100%!important;
    overflow:hidden!important;
    border-top:1px solid #eef0ea!important;
    padding-top:5px!important;
}

.all-projects-day{
    flex:1 1 0!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    color:#727b7c!important;
    line-height:1!important;
}

.all-projects-day strong{
    font-size:8px!important;
    font-weight:900!important;
}

.all-projects-day small{
    margin-top:2px!important;
    font-size:6px!important;
    font-weight:800!important;
}

.all-project-row{
    min-height:52px!important;
    padding:7px 14px!important;
}

.all-project-name{
    font-size:12px!important;
}

.all-project-meta{
    margin-top:3px!important;
}

.all-project-track{
    height:8px!important;
}

.all-project-row-dates{
    margin-top:3px!important;
}

.bauops-sidebar-toggle-v13-7-26,
.bo-sidebar-toggle-v13-7-28,
.bo-sidebar-toggle-v13-7-29{
    display:none!important;
}

@media(max-width:900px){
    .bo-sidebar-v13-7-30{
        position:initial!important;
        width:auto!important;
        min-width:0!important;
        max-width:none!important;
        height:auto!important;
        overflow:visible!important;
        border-right:0!important;
    }

    .bo-content-root-v13-7-30,
    .bo-content-root-v13-7-30.is-expanded-v13-7-30{
        margin-left:0!important;
        width:100%!important;
    }

    .bo-sidebar-toggle-v13-7-30{
        display:none!important;
    }

    .all-projects-day-scale{
        display:none!important;
    }
}

/* BauOps V13.7.31 - Alle Projekte Zoom + Heute */

.all-projects-v13-7-31{
    --bo-project-zoom:1;
    width:100%;
    overflow:hidden;
    border:1px solid #e0e3db;
    border-radius:16px;
    background:#fff;
}

.all-projects-toolbar-v13-7-31{
    min-height:58px;
    padding:10px 14px;
    border-bottom:1px solid #e5e7e1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.all-projects-toolbar-v13-7-31 strong{
    display:block;
    margin-top:2px;
    font-size:14px;
}

.all-projects-zoom-v13-7-31{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:4px;
    border:1px solid #e0e3db;
    border-radius:11px;
    background:#f8f9f5;
}

.all-projects-zoom-btn-v13-7-31{
    width:32px;
    height:32px;
    padding:0;
    border:0;
    border-radius:8px;
    background:#fff;
    color:#53605a;
    font-size:20px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 0 0 1px #e3e5df;
}

.all-projects-zoom-btn-v13-7-31:hover:not(:disabled){
    background:#eef2df;
    color:#69752f;
}

.all-projects-zoom-btn-v13-7-31:disabled{
    opacity:.35;
    cursor:default;
}

.all-projects-zoom-value-v13-7-31{
    min-width:46px;
    text-align:center;
    color:#555f5c;
    font-size:11px;
    font-weight:900;
}

.all-projects-grid-v13-7-31{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    min-width:0;
}

.all-projects-left-v13-7-31{
    position:relative;
    z-index:4;
    border-right:1px solid #e5e7e1;
    background:#fff;
}

.all-projects-left-head-v13-7-31{
    height:44px;
    padding:0 14px;
    display:flex;
    align-items:center;
    border-bottom:1px solid #e5e7e1;
    color:#727b7c;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}

.all-projects-info-row-v13-7-31{
    height:58px;
    padding:8px 14px;
    box-sizing:border-box;
    border-bottom:1px solid #eceee8;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.all-projects-info-row-v13-7-31:last-child{
    border-bottom:0;
}

.all-project-name-v13-7-31{
    overflow:hidden;
    color:#202522;
    text-decoration:none;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:12px;
    font-weight:900;
}

.all-project-name-v13-7-31:hover{
    text-decoration:underline;
}

.all-project-meta-v13-7-31{
    margin-top:4px;
    display:flex;
    align-items:center;
    gap:7px;
    color:#7b8283;
    font-size:9px;
}

.all-projects-timeline-scroll-v13-7-31{
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-gutter:stable;
}

.all-projects-timeline-inner-v13-7-31{
    --bo-day-width:calc(26px * var(--bo-project-zoom));
    width:max-content;
    min-width:100%;
}

.all-projects-days-v13-7-31,
.all-project-track-row-v13-7-31{
    display:grid;
    grid-template-columns:repeat(var(--bo-total-days), var(--bo-day-width));
}

.all-projects-days-v13-7-31{
    height:44px;
    border-bottom:1px solid #e5e7e1;
    background:#fafbf8;
}

.all-project-day-v13-7-31{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-right:1px solid #f0f1ed;
    color:#747d7d;
    line-height:1;
}

.all-project-day-v13-7-31 strong{
    font-size:8px;
    font-weight:900;
}

.all-project-day-v13-7-31 small{
    margin-top:3px;
    font-size:6px;
    font-weight:800;
}

.all-project-day-v13-7-31.is-today{
    background:#fff0dc;
    color:#c66c14;
    box-shadow:inset 0 -3px 0 #efa64e;
}

.all-project-track-row-v13-7-31{
    position:relative;
    height:58px;
    border-bottom:1px solid #eceee8;
    align-items:center;
}

.all-project-track-row-v13-7-31:last-child{
    border-bottom:0;
}

.all-project-grid-cell-v13-7-31{
    grid-row:1;
    height:100%;
    border-right:1px solid #f3f4f0;
}

.all-project-grid-cell-v13-7-31.is-today{
    background:#fff6ea;
}

.all-project-bar-v13-7-31{
    grid-row:1;
    z-index:3;
    align-self:center;
    height:9px;
    border-radius:999px;
    background:#a7b35e;
    box-shadow:0 0 0 1px rgba(108,122,49,.05);
}

.all-project-start-v13-7-31,
.all-project-end-v13-7-31{
    grid-row:1;
    z-index:4;
    align-self:end;
    padding-bottom:7px;
    color:#6f7878;
    font-size:7px;
    font-weight:900;
    pointer-events:none;
}

.all-project-start-v13-7-31{
    justify-self:start;
}

.all-project-end-v13-7-31{
    justify-self:end;
}

.all-projects-timeline-scroll-v13-7-31::-webkit-scrollbar{
    height:11px;
}

.all-projects-timeline-scroll-v13-7-31::-webkit-scrollbar-track{
    background:#f0f1ec;
}

.all-projects-timeline-scroll-v13-7-31::-webkit-scrollbar-thumb{
    background:#c6cbbb;
    border-radius:999px;
    border:3px solid #f0f1ec;
}

@media(max-width:820px){
    .all-projects-grid-v13-7-31{
        grid-template-columns:160px minmax(0,1fr);
    }

    .all-projects-left-head-v13-7-31,
    .all-projects-info-row-v13-7-31{
        padding-left:10px;
        padding-right:10px;
    }

    .all-project-name-v13-7-31{
        font-size:10px;
    }

    .all-projects-timeline-inner-v13-7-31{
        --bo-day-width:calc(30px * var(--bo-project-zoom));
    }
}

/* BauOps V13.7.32 - WA + Navigation */

.provider-name-with-wa-v13-7-32{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
}

.provider-wa-v13-7-32{
    width:30px;
    height:30px;
    flex:0 0 30px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#e7f6e8;
    color:#248638;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
    box-shadow:inset 0 0 0 1px #d5ead8;
}

.provider-wa-v13-7-32:hover{
    background:#dff1e1;
}

.service-provider-nav-v13-7-32,
.task-project-nav-v13-7-32{
    margin-bottom:5px!important;
}

/* BauOps V13.7.33 - Zoom kompakt + Heute-Spalte sauber */

/* Deutlich kompakter Zoom */
.all-projects-zoom-v13-7-31{
    gap:4px!important;
    padding:2px 4px!important;
    border-radius:8px!important;
    background:#fafbf8!important;
}

.all-projects-zoom-btn-v13-7-31{
    width:24px!important;
    height:24px!important;
    border-radius:6px!important;
    font-size:15px!important;
    box-shadow:0 0 0 1px #e3e5df!important;
}

.all-projects-zoom-value-v13-7-31{
    min-width:34px!important;
    font-size:9px!important;
}

.all-projects-toolbar-v13-7-31{
    min-height:46px!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
}

/* Heute nur im Kopf deutlich markieren.
   Keine zweite vertikale Vollflaeche in den Projektzeilen. */
.all-project-grid-cell-v13-7-31.is-today{
    background:transparent!important;
}

.all-project-day-v13-7-31.is-today{
    background:#fff0dc!important;
    color:#c66c14!important;
    box-shadow:inset 0 -3px 0 #efa64e!important;
}

/* BauOps V13.7.34 - Navigation Untermenues einklappbar */

.bo-nav-parent-v13-7-34{
    position:relative!important;
    padding-right:42px!important;
}

.bo-nav-chevron-v13-7-34{
    position:absolute!important;
    right:14px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    min-width:18px!important;
    color:#75807b!important;
    text-align:center!important;
    font-size:18px!important;
    font-weight:900!important;
    line-height:1!important;
    pointer-events:none!important;
}

.bo-nav-submenu-v13-7-34{
    max-height:420px!important;
    overflow:hidden!important;
    opacity:1!important;
    transition:
        max-height .18s ease,
        opacity .15s ease,
        margin .18s ease,
        padding .18s ease!important;
}

.bo-nav-submenu-v13-7-34.bo-nav-submenu-closed-v13-7-34{
    max-height:0!important;
    margin-top:0!important;
    margin-bottom:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
    opacity:0!important;
    pointer-events:none!important;
    border-left-color:transparent!important;
}

.bo-nav-parent-v13-7-34:hover
.bo-nav-chevron-v13-7-34{
    color:#313936!important;
}

/* When the entire sidebar itself is collapsed, no section arrow is needed. */
.bo-sidebar-v13-7-30.is-collapsed-v13-7-30
.bo-nav-chevron-v13-7-34,
.bo-sidebar-collapsed-v13-7-29
.bo-nav-chevron-v13-7-34{
    display:none!important;
}

/* BauOps V13.7.35 - Projektaufgabe loeschen */

.task-journal-delete-form-v13-7-35{
    margin-left:auto;
}

.task-journal-delete-button-v13-7-35{
    min-height:36px;
    padding:0 12px;
    border:1px solid #efcaca;
    border-radius:9px;
    background:#fff4f4;
    color:#b33131;
    font:inherit;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}

.task-journal-delete-button-v13-7-35:hover{
    background:#ffe8e8;
    border-color:#e6aaaa;
}

@media(max-width:700px){
    .task-journal-toolbar{
        flex-wrap:wrap;
    }

    .task-journal-delete-form-v13-7-35{
        width:100%;
        margin-left:0;
    }

    .task-journal-delete-button-v13-7-35{
        width:100%;
    }
}

/* BauOps V13.7.37 - Projektmedien */

.project-media-head-v13-7-37{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}

.project-media-head-v13-7-37 h1{
    margin:3px 0 0;
}

.project-media-upload-v13-7-37{
    display:flex;
    align-items:center;
    gap:7px;
}

.project-media-upload-v13-7-37 select{
    min-height:36px;
    padding:0 28px 0 10px;
    border:1px solid #dde2da;
    border-radius:9px;
    background:#fff;
    color:#333b37;
    font:inherit;
    font-size:12px;
    font-weight:800;
}

.project-media-file-v13-7-37{
    display:none;
}

.project-media-tabs-v13-7-37{
    display:flex;
    gap:7px;
    margin:8px 0 18px;
    border-bottom:1px solid #e5e7e1;
}

.project-media-tabs-v13-7-37 a{
    display:flex;
    align-items:center;
    gap:7px;
    padding:9px 13px;
    border-radius:10px 10px 0 0;
    color:#67716c;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
}

.project-media-tabs-v13-7-37 a span{
    display:grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border-radius:999px;
    background:#eef1ec;
    font-size:10px;
}

.project-media-tabs-v13-7-37 a.active{
    background:#eef5fb;
    color:#315d7b;
}

.project-media-tabs-v13-7-37 a.problem-tab.active{
    background:#fff0f0;
    color:#aa3434;
}

.project-media-day-v13-7-37{
    margin-bottom:22px;
}

.project-media-day-head-v13-7-37{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:8px;
    color:#4a5550;
}

.project-media-day-head-v13-7-37 strong{
    font-size:13px;
}

.project-media-day-head-v13-7-37 span{
    color:#89918d;
    font-size:10px;
    font-weight:800;
}

.project-media-grid-v13-7-37{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
    gap:10px;
}

.project-media-card-v13-7-37{
    overflow:hidden;
    border:1px solid #e1e4dd;
    border-radius:13px;
    background:#fff;
    box-shadow:0 5px 16px rgba(31,42,35,.04);
}

.project-media-card-v13-7-37.is-problem{
    border-color:#efd3d3;
}

.project-media-thumb-v13-7-37{
    position:relative;
    display:block;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#f2f4ef;
}

.project-media-thumb-v13-7-37 img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.project-media-meta-v13-7-37{
    padding:9px 10px 10px;
}

.project-media-meta-v13-7-37 strong,
.project-media-meta-v13-7-37 span{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.project-media-meta-v13-7-37 strong{
    color:#303833;
    font-size:11px;
}

.project-media-meta-v13-7-37 span{
    margin-top:3px;
    color:#818a85;
    font-size:10px;
}

.project-media-problem-badge-v13-7-37{
    position:absolute;
    top:8px;
    left:8px;
    padding:5px 8px;
    border-radius:999px;
    background:#bd3737;
    color:#fff;
    font-size:9px;
    font-weight:900;
    letter-spacing:.2px;
}

.project-media-empty-v13-7-37{
    padding:28px;
    border:1px dashed #dfe3dc;
    border-radius:13px;
    background:#fafbf8;
    color:#7b8580;
    text-align:center;
    font-size:12px;
    font-weight:800;
}

.project-media-empty-v13-7-37.is-problem{
    border-color:#efdada;
    background:#fffafa;
}

@media(max-width:720px){
    .project-media-head-v13-7-37{
        align-items:stretch;
        flex-direction:column;
    }

    .project-media-upload-v13-7-37{
        width:100%;
    }

    .project-media-upload-v13-7-37 select{
        flex:1;
    }

    .project-media-grid-v13-7-37{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px;
    }

    .project-media-meta-v13-7-37{
        padding:8px;
    }
}

/* BauOps V13.7.45 - Problemtext in Projektmedien */
.project-media-problem-text-v13-7-45{
    margin:7px 0 0!important;
    padding-top:7px;
    border-top:1px solid #f0e1e1;
    color:#735252!important;
    font-size:10px!important;
    line-height:1.4;
    white-space:normal!important;
}

/* BauOps V13.7.47 - Projekt Rechtsklick Loeschen */

.project-context-menu-v13-7-47{
    position:fixed;
    z-index:99999;
    min-width:150px;
    padding:5px;
    border:1px solid #ead4d4;
    border-radius:10px;
    background:#fff;
    box-shadow:0 12px 28px rgba(30,35,32,.16);
}

.project-context-delete-v13-7-47{
    width:100%;
    min-height:36px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 10px;
    border:0;
    border-radius:7px;
    background:#fff4f4;
    color:#b43232;
    font:inherit;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    text-align:left;
}

.project-context-delete-v13-7-47:hover{
    background:#ffe6e6;
}

/* BauOps V13.7.49 - Alle Projekte: Grau + Planung + Heute-Faden */

.all-projects-v13-7-49{
    position:relative;
}

/* Keep the existing compact zoom from V13.7.33. */
.all-projects-v13-7-49 .all-projects-zoom-v13-7-31{
    gap:4px!important;
    padding:2px 4px!important;
    border-radius:8px!important;
}

.all-projects-v13-7-49 .all-projects-zoom-btn-v13-7-31{
    width:24px!important;
    height:24px!important;
    border-radius:6px!important;
    font-size:15px!important;
}

.all-projects-v13-7-49 .all-projects-zoom-value-v13-7-31{
    min-width:34px!important;
    font-size:9px!important;
}

/* Full project period: neutral grey. */
.all-project-duration-v13-7-49{
    grid-row:1;
    z-index:2;
    align-self:center;
    height:13px;
    border-radius:999px;
    background:#dedfdd;
    box-shadow:
        inset 0 1px 2px rgba(0,0,0,.035),
        0 0 0 1px rgba(60,65,60,.025);
}

/* Planned dates from Projektplanung: olive green on top. */
.all-project-planned-v13-7-49{
    grid-row:1;
    z-index:4;
    align-self:center;
    height:9px;
    margin-left:1px;
    margin-right:1px;
    border-radius:999px;
    background:#a7b35e;
    box-shadow:
        0 1px 3px rgba(93,107,40,.16),
        inset 0 0 0 1px rgba(91,104,39,.05);
}

/* Today is ONE orange vertical thread, not a filled column. */
.all-projects-timeline-inner-v13-7-31{
    position:relative;
}

.all-project-today-thread-v13-7-49{
    position:absolute;
    z-index:8;
    top:0;
    bottom:0;
    left:calc(
        (var(--bo-today-index) + .5) *
        var(--bo-day-width)
    );
    width:1px;
    background:#ef8e39;
    pointer-events:none;
    transform:translateX(-.5px);
}

.all-project-today-thread-v13-7-49::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:0;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#ef8e39;
    transform:translate(-50%,50%);
}

.all-project-today-thread-v13-7-49>span{
    position:absolute;
    top:5px;
    left:50%;
    transform:translateX(-50%);
    padding:3px 6px;
    border-radius:6px;
    background:#ef8e39;
    color:#fff;
    font-size:8px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
}

/* Header today stays light, but the orange line is now the main indicator. */
.all-projects-v13-7-49
.all-project-day-v13-7-31.is-today{
    background:#fff7ec!important;
    color:#be6a1f!important;
    box-shadow:none!important;
}

/* Never paint a second today background through rows. */
.all-projects-v13-7-49
.all-project-grid-cell-v13-7-31.is-today{
    background:transparent!important;
}

.all-projects-legend-v13-7-49{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:18px;
    min-height:38px;
    padding:7px 14px;
    border-top:1px solid #e7e9e3;
    background:#fbfcf9;
    color:#7c8580;
    font-size:9px;
    font-weight:800;
}

.all-projects-legend-v13-7-49>span{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.all-projects-legend-v13-7-49 i{
    width:16px;
    height:7px;
    display:inline-block;
    border-radius:999px;
}

.all-projects-legend-v13-7-49 i.is-duration{
    background:#dedfdd;
}

.all-projects-legend-v13-7-49 i.is-planned{
    background:#a7b35e;
}

.all-projects-legend-v13-7-49 i.is-today{
    width:2px;
    height:12px;
    border-radius:0;
    background:#ef8e39;
}

@media(max-width:720px){
    .all-projects-legend-v13-7-49{
        gap:10px;
        padding-left:10px;
        padding-right:10px;
    }
}

/* BauOps V13.7.50 - Medien loeschen */
.project-media-card-v13-7-37{position:relative}
.project-media-delete-form-v13-7-50{
    position:absolute;z-index:8;top:7px;right:7px;margin:0
}
.project-media-delete-button-v13-7-50{
    width:31px;height:31px;display:grid;place-items:center;padding:0;
    border:1px solid rgba(255,255,255,.88);border-radius:9px;
    background:rgba(185,48,48,.92);color:#fff;cursor:pointer;
    box-shadow:0 3px 10px rgba(70,25,25,.18);backdrop-filter:blur(4px)
}
.project-media-delete-button-v13-7-50:hover{background:#a92727}
.project-media-delete-button-v13-7-50 svg{width:15px;height:15px;display:block}

/* BauOps V13.7.51 - Projektplanung Heute + Wochenende */

/* Heute: nur das Datum im Kopf markieren. */
.own-schedule-table .day-head.is-today-v13-7-51{
    background:#fff3e5!important;
    color:#c86b18!important;
    box-shadow:inset 0 -3px 0 #ee9c45!important;
}

.own-schedule-table .day-head.is-today-v13-7-51 strong,
.own-schedule-table .day-head.is-today-v13-7-51 span{
    color:inherit!important;
}

/* Samstag und Sonntag senkrecht durch die ganze Planung. */
.own-schedule-table .day-head.is-saturday-v13-7-51,
.own-schedule-table td.is-saturday-v13-7-51{
    background:#f4f6f7!important;
}

.own-schedule-table .day-head.is-sunday-v13-7-51,
.own-schedule-table td.is-sunday-v13-7-51{
    background:#eef1f2!important;
}

/* Shift buttons bleiben sichtbar und klickbar auf Weekend-Hintergrund. */
.own-schedule-table td.is-saturday-v13-7-51 .shift-cell.shift-empty,
.own-schedule-table td.is-sunday-v13-7-51 .shift-cell.shift-empty{
    background:rgba(255,255,255,.62)!important;
}

/* Bestehende geplante Schichten behalten ihre Farbe. */
.own-schedule-table td.is-saturday-v13-7-51 .shift-cell:not(.shift-empty),
.own-schedule-table td.is-sunday-v13-7-51 .shift-cell:not(.shift-empty){
    position:relative;
    z-index:1;
}

/* BauOps V13.7.52 - Problemtext Desktop Projektmedien */

.project-media-problem-text-v13-7-52{
    margin:8px 0 0!important;
    padding-top:8px;
    border-top:1px solid #f0dfdf;
    color:#6d4f4f!important;
    font-size:11px!important;
    line-height:1.45;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:break-word;
}

/* BauOps V13.7.53 - Projektaufgabe Foto */

.task-photo-capture-v13-7-53{
    margin:12px 0;
}

.task-photo-label-v13-7-53{
    display:block;
    margin-bottom:6px;
    font-size:12px;
    font-weight:700;
    color:#667066;
}

.task-photo-input-v13-7-53{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    overflow:hidden;
    pointer-events:none;
}

.task-photo-button-v13-7-53{
    min-height:44px;
    padding:10px 15px;
    border:1px solid #d9ddd5;
    border-radius:11px;
    background:#f8f9f6;
    color:#283126;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.task-photo-preview-wrap-v13-7-53{
    margin-top:10px;
    max-width:360px;
}

.task-photo-preview-v13-7-53{
    display:block;
    width:100%;
    max-height:260px;
    object-fit:cover;
    border-radius:12px;
    border:1px solid #dde1da;
}

.task-photo-remove-v13-7-53{
    margin-top:7px;
    min-height:38px;
    padding:7px 11px;
    border:0;
    border-radius:9px;
    background:#f4f1ef;
    color:#7a4f43;
    font:inherit;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}

.task-journal-photos-v13-7-53{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(150px,220px));
    gap:10px;
    margin-top:8px;
}

.task-journal-photos-v13-7-53 a{
    display:block;
}

.task-journal-photos-v13-7-53 img{
    display:block;
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:12px;
    border:1px solid #dde1da;
}

@media (max-width: 640px){
    .task-photo-button-v13-7-53{
        width:100%;
    }

    .task-photo-preview-wrap-v13-7-53{
        max-width:none;
    }

    .task-journal-photos-v13-7-53{
        grid-template-columns:1fr;
    }
}

/* BauOps V13.7.54 - Mitarbeiter WA */

.employee-wa-head-v13-7-54{
    width:70px;
    text-align:center!important;
}

.employee-wa-cell-v13-7-54{
    width:70px;
    text-align:center;
}

.employee-wa-v13-7-54{
    width:34px;
    height:34px;
    display:inline-grid;
    place-items:center;
    border-radius:10px;
    background:#e7f6e8;
    color:#248638!important;
    text-decoration:none!important;
    font-size:10px;
    font-weight:900;
    box-shadow:inset 0 0 0 1px #d5ead8;
}

.employee-wa-v13-7-54:hover{
    background:#dff1e1;
}

/* BauOps V13.7.56 - Problemtext Desktop Hardfix */

.project-media-problem-note-v13-7-56{
    margin:0 12px 12px;
    padding:9px 10px;
    border:1px solid #f0d7d2;
    border-radius:10px;
    background:#fff7f5;
    color:#61413b;
}

.project-media-problem-note-v13-7-56 strong{
    display:block;
    margin-bottom:3px;
    color:#b23b32;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.project-media-problem-note-v13-7-56 p{
    margin:0!important;
    color:#61413b!important;
    font-size:12px!important;
    line-height:1.45!important;
    white-space:pre-wrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:break-word;
}

/* BauOps V13.7.58 - Projektaufgaben mehrere Fotos FIX */
.task-add-photos-v13-7-57{margin:10px 0;padding-top:10px;border-top:1px solid #eef0eb;}
.task-add-photos-v13-7-57 form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.task-add-photos-v13-7-57 input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.task-add-photos-v13-7-57 label,.task-add-photos-v13-7-57 button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border:0;border-radius:9px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;}
.task-add-photos-v13-7-57 label{background:#f3f5ee;color:#58612e;}
.task-add-photos-v13-7-57 button{background:#a6b15f;color:#fff;}
.task-add-photos-v13-7-57 small{display:block;margin-top:5px;color:#858b82;font-size:10px;}


/* BauOps V13.7.60 - Alle Projekte readonly aus Aufgaben-/Beteiligtenplanung */
.all-projects-v13-7-60 .all-projects-info-row-v13-7-31,
.all-projects-v13-7-60 .all-project-plan-row-v13-7-60{
    height:52px;
    min-height:52px;
}

.all-projects-v13-7-60 .all-project-plan-row-v13-7-60{
    align-items:stretch;
}

.all-projects-v13-7-60 .all-project-grid-cell-v13-7-31{
    position:relative;
    display:block;
    height:100%;
}

.all-projects-v13-7-60 .all-project-grid-cell-v13-7-31.is-planned-v13-7-60::after{
    content:"";
    position:absolute;
    z-index:4;
    left:4px;
    right:4px;
    top:8px;
    bottom:8px;
    border-radius:4px;
    background:#a7b35e;
    box-shadow:0 1px 3px rgba(93,107,40,.14);
}

.all-projects-v13-7-60 .all-projects-legend-v13-7-60{
    gap:14px;
}

.all-projects-v13-7-60 .all-projects-legend-v13-7-60 i.is-planned{
    width:16px;
    height:9px;
    border-radius:3px;
}

/* BauOps V13.7.70 - Firmendaten / Logo */
.company-logo-setting{display:flex;align-items:center;gap:14px;}
.company-logo-preview{width:150px;height:70px;border:1px dashed #c9d0c8;background:#fafbf9;display:flex;align-items:center;justify-content:center;color:#9aa39a;font-size:11px;font-weight:800;letter-spacing:.12em;}
.company-logo-preview.has-logo{border-style:solid;background:#fff;}
.company-logo-preview img{max-width:138px;max-height:58px;object-fit:contain;}
.company-logo-actions{display:grid;gap:4px;min-width:0;}
.company-logo-actions input[type=file]{max-width:360px;font-size:12px;}
.company-logo-actions small,.settings-field small{color:#88918a;font-size:10px;}
.settings-company-actions{display:flex;align-items:center;gap:10px;}
.company-logo-delete{align-self:flex-start;border:1px solid #d8bcbc;background:#fff;color:#9a4d4d;border-radius:5px;font-size:11px;font-weight:700;line-height:1;padding:7px 10px;cursor:pointer;margin-top:4px;}
.company-logo-delete:hover{background:#fff6f6;border-color:#cfa7a7;}
@media(max-width:640px){.company-logo-setting{align-items:flex-start;flex-direction:column;}}

/* BauOps V13.7.73 - Projektmedien spiegeln Kunde -> Aufgaben */
.project-media-project-group-v13-7-73{
    display:block;
}
.project-media-project-link-v13-7-73{
    font-weight:700;
}
.project-media-task-nav-v13-7-73{
    margin:-2px 0 5px 25px;
    padding-left:10px;
    border-left:1px solid #e1e5dd;
}
.project-media-task-link-v13-7-73{
    display:block;
    padding:4px 7px;
    color:#667085;
    font-size:12px;
    line-height:1.25;
    text-decoration:none;
    border-radius:5px;
}
.project-media-task-link-v13-7-73:hover{
    color:#1f2937;
    background:#f5f6f2;
}
.project-media-task-link-v13-7-73.active{
    color:#24324a;
    font-weight:700;
    background:#eef2e5;
}
#projectMediaTaskSelect{
    min-width:190px;
}
@media (max-width: 760px){
    #projectMediaTaskSelect{
        width:100%;
        min-width:0;
    }
}

/* BauOps V13.7.75 - Mobile Projektmedien Card Flow */
.pm-mobile-flow{display:none;}
.pm-desktop-index-note{display:block;}
.pm-desktop-project-list{display:grid;gap:8px;margin-top:16px;max-width:520px;}
.pm-desktop-project-list a{display:block;padding:10px 12px;border:1px solid #e2e6df;border-radius:6px;text-decoration:none;color:#24324a;background:#fff;font-weight:700;}

@media (max-width: 760px){
    .pm-mobile-flow{display:block;}
    .pm-desktop-index-note{display:none;}
    .project-media-head-v13-7-37{display:none !important;}

    .pm-mobile-flow{
        margin:0 0 16px;
    }
    .pm-mobile-breadcrumb{
        display:flex;
        align-items:center;
        gap:7px;
        flex-wrap:wrap;
        margin:0 0 14px;
        font-size:12px;
        color:#7b837c;
    }
    .pm-mobile-breadcrumb a{
        color:#52606b;
        text-decoration:none;
        font-weight:700;
    }
    .pm-mobile-breadcrumb strong{
        color:#1f2937;
        font-weight:800;
    }
    .pm-mobile-head{
        margin:0 0 12px;
    }
    .pm-mobile-head h1{
        margin:2px 0 3px;
        font-size:22px;
        line-height:1.15;
    }
    .pm-mobile-head p{
        margin:0;
        font-size:12px;
        color:#7b837c;
    }
    .pm-mobile-card-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
    }
    .pm-mobile-card{
        position:relative;
        display:grid;
        gap:2px;
        min-height:58px;
        padding:12px 42px 12px 14px;
        border:1px solid #dfe4dc;
        border-radius:8px;
        background:#fff;
        color:#1f2937;
        text-decoration:none;
        box-shadow:0 1px 2px rgba(16,24,40,.03);
    }
    .pm-mobile-card:active{
        background:#f6f8f3;
    }
    .pm-mobile-card-title{
        font-size:15px;
        line-height:1.2;
        font-weight:800;
    }
    .pm-mobile-card-meta{
        font-size:11px;
        color:#8a938c;
    }
    .pm-mobile-card-arrow{
        position:absolute;
        right:14px;
        top:50%;
        transform:translateY(-50%);
        font-size:24px;
        line-height:1;
        color:#9aa39b;
    }
    .pm-mobile-action-grid{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
        margin-bottom:12px;
    }
    .pm-mobile-action-card{
        appearance:none;
        min-height:88px;
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:flex-start;
        gap:8px;
        padding:13px;
        border:1px solid #dde3d8;
        border-radius:8px;
        background:#fff;
        color:#1f2937;
        font:inherit;
        font-weight:800;
        text-decoration:none;
        text-align:left;
        cursor:pointer;
    }
    .pm-mobile-action-card.is-problem{
        border-color:#ead9d5;
    }
    .pm-mobile-action-icon{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:26px;
        height:26px;
        border-radius:6px;
        background:#eef2df;
        color:#6f7d2f;
        font-size:16px;
        font-weight:900;
    }
    .pm-mobile-action-card.is-problem .pm-mobile-action-icon{
        background:#f8ece9;
        color:#a55245;
    }
    .pm-mobile-hidden-form,
    .pm-mobile-problem-form > input[type=file]{
        position:absolute !important;
        width:1px !important;
        height:1px !important;
        opacity:0 !important;
        overflow:hidden !important;
        pointer-events:none !important;
    }
    .pm-mobile-problem-form{
        margin:10px 0 14px;
    }
    .pm-mobile-problem-form [hidden]{display:none !important;}
    .pm-mobile-problem-form label{
        display:block;
        margin:0 0 6px;
        font-size:11px;
        font-weight:800;
        color:#667085;
        text-transform:uppercase;
        letter-spacing:.04em;
    }
    .pm-mobile-problem-form textarea{
        width:100%;
        box-sizing:border-box;
        min-height:88px;
        padding:10px 11px;
        border:1px solid #cfd6cc;
        border-radius:7px;
        background:#fff;
        font:inherit;
        resize:vertical;
    }
    .pm-mobile-problem-actions{
        display:flex;
        gap:8px;
        margin-top:8px;
    }
    .pm-mobile-empty{
        padding:16px;
        border:1px dashed #d8ddd4;
        border-radius:8px;
        color:#7b837c;
        font-size:13px;
        background:#fafbf9;
    }
    .project-media-tabs-v13-7-37{
        margin-top:12px;
    }
}
\n\n/* WorksOps V13.7.189 - Neue Fotos Dashboard */\n.dashboard-new-photos{\n    overflow:hidden;\n    border:1px solid #d7e2eb;\n    border-radius:14px;\n    background:#f7fafc;\n}\n.dashboard-new-photos-head{\n    display:flex;align-items:center;justify-content:space-between;gap:10px;\n    padding:9px 12px;border-bottom:1px solid #d7e2eb;background:#edf4f8;\n}\n.dashboard-new-photos-head strong{font-size:.84rem;font-weight:500}\n.dashboard-new-photos-head a{font-size:.68rem;color:var(--muted);text-decoration:none}\n.dashboard-new-photos-head a:hover{text-decoration:underline}\n.dashboard-new-photos-scroll{height:330px;max-height:330px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}\n.dashboard-new-photos-list{display:grid}\n.dashboard-new-photo-row{\n    min-height:66px;display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;\n    padding:7px 10px;border-bottom:1px solid rgba(205,219,229,.75);color:inherit;text-decoration:none;\n}\n.dashboard-new-photo-row:last-child{border-bottom:0}\n.dashboard-new-photo-row:hover{background:rgba(255,255,255,.7)}\n.dashboard-new-photo-row img{width:58px;height:50px;object-fit:cover;border-radius:7px;background:#e8edf1;display:block}\n.dashboard-new-photo-main{display:grid;min-width:0}\n.dashboard-new-photo-main strong,.dashboard-new-photo-main span,.dashboard-new-photo-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.dashboard-new-photo-main strong{font-size:.78rem;font-weight:500}\n.dashboard-new-photo-main span{font-size:.72rem}\n.dashboard-new-photo-main small{font-size:.66rem;color:var(--muted)}\n.dashboard-new-photos-empty{padding:13px;color:var(--muted);font-size:.78rem}\n.dashboard-widget-row-v13-6-3{grid-template-columns:repeat(4,minmax(0,1fr));}\n.dashboard-widget-row-v13-6-3 > .dashboard-new-photos{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;align-self:stretch}\n@media(max-width:1200px){.dashboard-widget-row-v13-6-3{grid-template-columns:repeat(2,minmax(0,1fr));}}\n@media(max-width:680px){.dashboard-widget-row-v13-6-3{grid-template-columns:1fr;}.dashboard-new-photos-scroll{height:300px;max-height:300px}}\n