:root{color:var(--c-17212b);background:var(--c-f7f3ec);--surface: var(--c-ffffff);--surface-muted: var(--c-fffaf3);--surface-strong: var(--c-fff7ed);--surface-filter: var(--c-fffaf3);--surface-card: var(--c-ffffff);--border-soft: var(--c-eadfd2);--border-strong: var(--c-e1d4c6);--border-heavy: var(--c-b7a99b);--ink-muted: var(--c-6b7280);--accent: var(--c-ff6b00);--accent-dark: var(--c-e85f00);--nav-bg: var(--c-15222c);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}.icon{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:40px;padding:32px 24px;color:var(--c-f7fafc);background:linear-gradient(180deg,var(--nav-bg),var(--c-101923))}.themeToggle{margin-top:auto;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#ffffff0a;color:#d9e3e8;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.themeToggle:hover{background:#ffffff1a;border-color:#ffffff47}.themeToggle span{font-size:1.05rem;line-height:1}.eyebrow{margin:0 0 6px;color:var(--c-78909c);font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.sidebar .eyebrow{color:var(--c-a9bdc7)}h1,h2,h3,h4,p,dl{margin:0}h1{font-size:2rem;line-height:1.1}h2{font-size:1.8rem;line-height:1.15}h3{font-size:1.1rem}h4{font-size:1rem}.nav{display:grid;gap:8px}.nav button{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--c-d9e3e8);padding:10px 12px;border:0;border-radius:6px;background:transparent;cursor:pointer;text-align:left;text-decoration:none}.navLabel{display:inline-flex;min-width:0;align-items:center;gap:10px}.navWarning{min-width:28px;padding:2px 7px;color:var(--c-ffffff);border-radius:999px;background:var(--c-b91c1c);font-size:.78rem;line-height:1.4;text-align:center}.nav button.active,.nav button:hover{color:var(--c-ffffff);background:var(--accent);box-shadow:0 12px 24px #ff6b0038}.workspace{display:grid;align-content:start;gap:24px;padding:28px}.topbar,.panelHeader,.jobMain,.jobFooter{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar{padding:16px 18px;border:1px solid var(--border-strong);border-radius:8px;background:var(--c-fffaf3);box-shadow:0 12px 32px #14191e0f}.tableFilters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-filter)}.topbar h2{color:var(--c-17212b)}.topbar button,.tableFilters button,.secondaryButton,.customerFooter button,.jobFooter button,.jobEditForm button,.memberForm button,.supplierForm button,.databaseWindow,.databaseDetailForm button,.memberRow button,.supplierRow button,.planningMaterialForm button,.articleForm button,.articleCreatePanel button,.articleRow button,.timesheetForm button,.timesheetEditBar button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;color:var(--c-ffffff);border:0;border-radius:6px;background:var(--accent);cursor:pointer}.secondaryButton,.customerFooter button{color:var(--c-17212b);border:1px solid var(--border-strong);background:var(--c-ffffff)}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboardHero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--border-strong);border-top:4px solid var(--accent);border-radius:8px;background:var(--c-fff7ed)}.dashboardHeroStats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dashboardHeroStats span,.dashboardHeroStats strong{padding:6px 10px;border:1px solid var(--border-strong);border-radius:999px;background:var(--c-ffffff);font-size:.88rem}.dashboardGrid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1fr) minmax(0,1fr) minmax(240px,.9fr);gap:14px}.dashboardOperations{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(300px,1fr) minmax(300px,1fr);gap:14px}.dashboardPanel{display:grid;align-content:start;gap:10px;padding:14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--c-ffffff);box-shadow:0 14px 36px #14191e12}.statusPanel{justify-items:center}.statusDonut{display:grid;place-items:center;width:148px;height:148px;border-radius:50%;background:radial-gradient(circle at center,var(--c-ffffff) 0 47%,transparent 48%),conic-gradient(var(--c-2f80ed) 0 25%,var(--c-f5b642) 25% 50%,var(--c-26a269) 50% 70%,var(--c-ff6b00) 70% 84%,var(--c-e7ded2) 84% 100%)}.statusDonut strong{color:var(--c-17212b);font-size:2rem}.statusDonut span{margin-top:-46px;color:var(--ink-muted);font-size:.82rem;font-weight:800}.statusLegend{display:grid;width:100%;gap:8px}.statusLegendItem{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;color:var(--c-42515a);font-size:.86rem}.statusLegendItem i,.calendarLegend i{width:10px;height:10px;border-radius:999px;background:var(--c-e7edf1)}.statusLegendItem.geplant i,.calendarLegend .geplant{background:var(--c-f5b642)}.statusLegendItem.in_arbeit i,.calendarLegend .in_arbeit{background:var(--c-26a269)}.statusLegendItem.unterwegs i,.statusLegendItem.weitergeleitet i,.calendarLegend .weitergeleitet{background:var(--c-2f80ed)}.statusLegendItem.fertig i{background:var(--c-16a34a)}.todaySchedule{display:grid;gap:8px}.todayScheduleRow{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--c-fffaf3)}.todayScheduleRow time{color:var(--accent-dark);font-size:.82rem;font-weight:900}.todayScheduleRow div{display:grid;min-width:0;gap:2px}.todayScheduleRow span:not(.status){color:var(--ink-muted);overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.miniMap{position:relative;min-height:210px;overflow:hidden;border:1px solid var(--border-soft);border-radius:8px;background:linear-gradient(90deg,rgba(21,34,44,.06) 1px,transparent 1px),linear-gradient(rgba(21,34,44,.06) 1px,transparent 1px),linear-gradient(135deg,var(--c-fff8ee),var(--c-edf7ef));background-size:34px 34px,34px 34px,cover}.routeLine{position:absolute;top:34px;right:52px;bottom:48px;left:36px;border:4px solid var(--accent);border-left-color:transparent;border-bottom-color:transparent;border-radius:42% 48% 35%;opacity:.86;transform:rotate(12deg)}.mapPin{position:absolute;display:grid;place-items:center;width:30px;height:30px;color:var(--c-ffffff);border-radius:999px;background:var(--accent);box-shadow:0 10px 20px #ff6b0040;font-size:.82rem;font-weight:900}.mapPin.pin1{left:24%;top:30%}.mapPin.pin2{left:58%;top:58%;background:var(--c-26a269)}.mapPin.pin3{left:74%;top:25%;background:var(--c-2f80ed)}.dashboardPanel.material{border-color:var(--c-c7b98d);background:var(--c-f8f3e6)}.technicianDayPanel{border-top:4px solid var(--c-0f766e)}.groupHeader h4,.dashboardChecklist span,.jobCustomerStrip span,.jobCustomerPanel span,.quickNote span,.technicianDayRow span{display:inline-flex;min-width:0;align-items:center;gap:7px}.dashboardRow{display:grid;grid-template-columns:minmax(0,1.2fr) auto auto auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--c-d3e0e6);border-radius:8px;background:var(--c-f9fbfc)}.dashboardPanel.material .dashboardRow{border-color:var(--c-dccb9f);background:var(--c-fffaf0)}.dashboardRow>div{min-width:0}.dashboardRow h4,.dashboardRow p,.dashboardRow span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboardRow span{color:var(--c-60727e);font-size:.84rem}.technicianDayRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;border:1px solid var(--c-d3e0e6);border-radius:8px;background:var(--c-f4faf9)}.technicianDayRow>div{display:grid;min-width:0;gap:4px}.technicianDayRow h4,.technicianDayRow p,.technicianDayRow span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboardChecklist{display:grid;gap:8px}.dashboardChecklist span{padding:10px;border:1px solid var(--c-d3e0e6);border-radius:8px;background:var(--c-f9fbfc);color:var(--c-42515a);font-size:.88rem;font-weight:700}.metrics div,.panel,.jobCard,.jobEditForm,.invoiceRow,.customerCard,.articleForm,.articleCreatePanel,.articleDetailPanel,.articleRow,.memberForm,.supplierForm,.databaseDetailForm,.supplierRow,.memberRow,.planningJob,.planningDetail,.planningMobilePreview,.timesheetForm,.timesheetRow,.technicianCard,.scheduleRow,.planningMaterialRow,.planningHint{border:1px solid var(--c-d8e1e7);border-radius:8px;background:var(--c-ffffff)}.metrics div{padding:18px;border-color:var(--border-strong);background:var(--c-ffffff);box-shadow:inset 0 3px 0 var(--accent)}.metrics span{display:block;color:var(--accent-dark);font-size:1.7rem;font-weight:800}.metrics p,dt,.jobNumber,.invoiceMeta span,.customerFooter span,.articleRow>span,.memberRow p,.supplierRow p,.planningJob p,.technicianCard p,.scheduleRow p,.planningHint p,.memberTableHead{color:var(--c-60727e);font-size:.86rem}.panel{padding:18px;border-color:var(--border-strong);background:var(--c-fffaf3);box-shadow:0 16px 44px #14191e12}.panelHeader{margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid var(--border-strong)}.articleCreatePanel,.memberForm,.supplierForm,.timesheetForm,.planningDetail,.planningMaterialPanel,.articleDetailPanel,.databaseWindowGrid{border-color:var(--border-strong);background:var(--surface-strong);box-shadow:inset 0 1px #ffffffbf,0 0 0 1px #7893a324}.articleCreatePanel h4,.memberForm h4,.supplierForm h4,.timesheetForm h4,.planningMaterialPanel h4,.articleDetailPanel h4{color:var(--c-17313a)}.articleTable,.memberTable,.supplierTable,.supplierPurchaseTable,.timesheetTable,.planningTable{margin-top:12px;border-color:var(--border-strong);background:var(--surface);box-shadow:0 2px #1720260f}.articleTableHead,.memberTableHead,.supplierTableHead,.supplierPurchaseTableHead,.timesheetTableHead,.planningTableHead{color:var(--c-17313a);border-bottom-color:var(--border-strong);background:var(--c-d5e2e7)}input,select,textarea{min-height:38px;padding:0 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--c-ffffff)}input:focus,select:focus,textarea:focus{outline:2px solid rgba(255,107,0,.22);border-color:var(--accent)}textarea{padding:10px;resize:vertical}.jobList,.customerGrid{display:grid;gap:12px}.jobCard,.customerCard{display:grid;gap:16px;padding:16px;border-color:var(--c-b7c8d1);background:var(--surface-card)}.status{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:5px 9px;border-radius:999px;font-size:.8rem;font-weight:700}.status .icon{width:14px;height:14px;stroke-width:2.2}.status.offen{color:var(--c-42515a);background:var(--c-e7edf1)}.status.geplant{color:var(--c-7c2d12);background:var(--c-ffedd5)}.status.weitergeleitet{color:var(--c-166534);background:var(--c-dcfce7)}.status.unterwegs{color:var(--c-075985);background:var(--c-e0f2fe)}.status.in_arbeit{color:var(--c-1d4ed8);background:var(--c-dbeafe)}.status.fertig{color:var(--c-14532d);background:var(--c-bbf7d0)}.invoiceColumns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.invoiceGroup{display:grid;align-content:start;gap:10px}.groupHeader,.invoiceRow,.customerHead,.customerFooter{display:flex;align-items:center;justify-content:space-between;gap:14px}.groupHeader{padding:0 2px}.invoiceRow{padding:14px;border-color:var(--c-b7c8d1)}.invoiceMeta{display:grid;justify-items:end;gap:3px}.invoiceStatus{flex:0 0 auto;min-width:72px;padding:5px 9px;border-radius:999px;font-size:.8rem;font-weight:700;text-align:center}.invoiceStatus.open{color:var(--c-991b1b);background:var(--c-fee2e2)}.invoiceStatus.paid{color:var(--c-166534);background:var(--c-dcfce7)}.jobDetails,.customerDetails{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.jobCustomerStrip{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(130px,.7fr) minmax(180px,1fr) minmax(220px,1.5fr);gap:8px;padding:10px 12px;border:1px solid var(--c-c7d3db);border-radius:8px;background:var(--c-edf7f5)}.jobCustomerStrip span,.jobCustomerPanel span{color:var(--c-42515a);font-size:.86rem;font-weight:700;overflow-wrap:anywhere}.customerDetails{grid-template-columns:repeat(2,minmax(0,1fr))}.jobEditForm input[readonly]{color:var(--c-42515a);background:var(--c-eef4f6)}dt{margin-bottom:3px}dd{margin:0;font-weight:700}.jobFooter{align-items:flex-start;padding-top:12px;border-top:1px solid var(--c-e7edf1)}.quickNote{display:grid;flex:1 1 auto;gap:6px;min-width:min(420px,100%);color:var(--c-42515a);font-size:.86rem;font-weight:800}.quickNote textarea{width:100%;min-height:58px}.jobFooter p{flex:1 1 auto;color:var(--c-42515a)}.jobFooter button{min-height:34px;padding:0 12px}.jobEditForm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:14px;padding:16px;border-color:var(--border-strong);background:var(--surface-strong)}.jobCustomerPanel{display:grid;grid-column:1 / -1;grid-template-columns:minmax(220px,1fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(180px,1fr) minmax(220px,1.4fr);align-items:center;gap:10px;padding:12px;border:1px solid var(--c-b8cbd2);border-radius:8px;background:var(--c-edf7f5)}.jobEditForm label{display:grid;gap:6px;color:var(--c-42515a);font-size:.86rem;font-weight:700}.jobEditForm button{grid-column:1 / -1}.jobMaterialEditor{display:grid;grid-column:1 / -1;gap:12px;padding:14px;border:1px solid var(--c-c7b98d);border-top:4px solid var(--c-a16207);border-radius:8px;background:var(--c-f8f3e6)}.jobMaterialForm{display:grid;grid-template-columns:minmax(220px,1.4fr) 90px auto minmax(220px,1fr) 80px auto;align-items:end;gap:10px}.jobMaterialForm label{display:grid;gap:6px;color:var(--c-6b5a2f);font-size:.86rem;font-weight:700}.jobMaterialList{display:grid;gap:8px}.jobMaterialRow{display:grid;grid-template-columns:minmax(220px,1fr) 100px 150px;align-items:center;gap:10px;padding:10px;border:1px solid var(--c-dccb9f);border-radius:8px;background:var(--c-fffaf0)}.jobMaterialRow.missing{border-color:var(--c-dc8a5f);background:var(--c-fff1e8)}.jobMaterialRow span{color:var(--c-6b5a2f);font-size:.86rem}.customerHead strong{color:var(--c-991b1b)}.emptyState{padding:28px;border:1px dashed var(--border-strong);border-radius:8px;background:var(--c-edf4f6)}.emptyState p{margin-top:8px;color:var(--c-60727e)}.timesheetLayout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px}.timesheetForm{align-content:start;gap:12px;padding:16px}.timesheetForm label,.timeRange label{display:grid;gap:6px;color:var(--c-42515a);font-size:.86rem;font-weight:700}.timeRange{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.timesheetAglzBox{display:grid;gap:3px;padding:10px;border:1px solid var(--c-d8e1e7);border-radius:8px;background:var(--c-f8fafb)}.timesheetAglzBox span{color:var(--c-60727e);font-size:.8rem}.timesheetAglzBox strong{color:var(--c-0f766e);font-size:1.15rem}.timesheetAglzBox small{color:var(--c-60727e)}.segmentedControl{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-filter)}.segmentedControl button{min-height:38px;padding:0 12px;color:var(--c-17313a);border:1px solid var(--c-b8c8d1);border-radius:6px;background:var(--c-ffffff);cursor:pointer}.segmentedControl button.active{color:var(--c-ffffff);border-color:var(--accent);background:var(--accent)}.segmentedControl.compact{flex-wrap:nowrap;padding:4px}.segmentedControl.compact button{min-height:34px}.timesheetWorkspace{display:grid;align-content:start;gap:12px;min-width:0}.timesheetEditBar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-filter)}.timesheetEditBar span{color:var(--c-60727e);font-size:.86rem;font-weight:800}.timesheetEditBar button:disabled{color:var(--c-60727e);background:var(--c-d8e1e7);cursor:not-allowed}button:disabled{opacity:.58;cursor:not-allowed}.weekCard p,.monthTotals span,.daySummary span{color:var(--c-60727e);font-size:.86rem}.weekList{display:grid;gap:10px}.weekCard{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:14px;color:inherit;border:1px solid var(--c-d8e1e7);border-radius:8px;background:var(--c-ffffff);cursor:pointer;text-align:left}.weekCard:hover{border-color:var(--c-0f766e);box-shadow:0 0 0 2px #0f766e1f}.weekMeta{display:grid;justify-items:end;gap:6px}.weekDetailHeader button{min-height:34px;padding:0 12px;color:var(--c-ffffff);border:0;border-radius:6px;background:var(--c-0f766e);cursor:pointer}.weekDetailHeader{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--c-d8e1e7);border-radius:8px;background:var(--c-f8fafb)}.weekDetailHeader .secondaryButton{color:var(--c-17313a);border:1px solid var(--c-b8c8d1);background:var(--c-ffffff)}.weekReviewActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.reviewComment{display:grid;gap:6px;color:var(--c-42515a);font-size:.86rem;font-weight:700}.employeeOverviewHeader{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,240px) minmax(0,1.5fr);align-items:center;gap:14px;padding:12px;border:1px solid var(--c-d8e1e7);border-radius:8px;background:var(--c-f8fafb)}.employeeSelect{display:grid;gap:6px;color:var(--c-42515a);font-size:.86rem;font-weight:700}.monthTotals{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.monthTotals span,.monthTotals strong{padding:5px 9px;border:1px solid var(--c-c5d5dd);border-radius:999px;background:var(--c-ffffff)}.monthTotals strong{color:var(--c-7c2d12)}.timesheetTable{display:grid;align-content:start;overflow-x:auto;border:1px solid var(--c-d8e1e7);border-radius:8px;background:var(--c-ffffff)}.timesheetTableHead,.timesheetRow{display:grid;grid-template-columns:100px 140px 180px 150px 170px 95px 105px 90px minmax(220px,1fr);align-items:center;min-width:1250px}.timesheetTableHead{min-height:38px;padding:0 10px;color:var(--c-60727e);border-bottom:1px solid var(--c-d8e1e7);background:var(--c-f8fafb);font-size:.78rem;font-weight:800;text-transform:uppercase}.timesheetRow{min-height:46px;gap:8px;padding:8px 10px;border:0;border-bottom:1px solid var(--c-d3e0e6);border-radius:0;font-size:.88rem}.timesheetRow.editing{background:var(--c-f3faf8);box-shadow:inset 3px 0 0 var(--c-0f766e)}.timesheetRow:last-child{border-bottom:0}.dayGroup{display:grid;min-width:1250px}.daySummary{display:flex;flex-wrap:wrap;gap:12px;padding:9px 10px;border-bottom:1px solid var(--c-d8e1e7);background:var(--c-f8fafb)}.timesheetRow>span,.timesheetRow>strong,.timesheetRow>input,.timesheetRow>select,.rowTimeRange{min-width:0}.timesheetRow>span,.timesheetRow>strong{overflow:hidden;padding-right:12px;text-overflow:ellipsis;white-space:nowrap}.timesheetRow input,.timesheetRow select{width:100%;min-height:34px;padding:0 8px;font-size:.82rem}.timesheetRow input:disabled,.timesheetRow select:disabled{color:var(--c-42515a);border-color:transparent;background:transparent;opacity:1}.rowSelect{display:flex;align-items:center;gap:6px;color:var(--c-42515a);font-size:.78rem;font-weight:800}.rowSelect input{width:16px;min-height:16px}.rowTimeRange{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.timeType{width:fit-content;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800}.timeType.arbeitszeit{color:var(--c-166534);background:var(--c-dcfce7)}.timeType.fahrtzeit_aktiv{color:var(--c-075985);background:var(--c-e0f2fe)}.timeType.fahrtzeit_passiv{color:var(--c-7c2d12);background:var(--c-ffedd5)}.timesheetCalculation{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.timesheetCalculation div{display:grid;gap:4px;padding:12px;border:1px solid var(--c-d8e1e7);border-radius:8px;background:var(--c-ffffff)}.timesheetCalculation span{color:var(--c-60727e);font-size:.82rem}.timesheetCalculation strong{color:var(--c-0f766e);font-size:1.05rem}.planningLayout{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(220px,.9fr) minmax(320px,1.4fr);gap:14px}.planningListView,.planningDetailView{display:grid;gap:10px}.planningFilters{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,240px) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-filter)}.planningCalendarShell{display:grid;gap:12px;padding:14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--c-ffffff);box-shadow:0 14px 36px #14191e0f}.planningCalendarToolbar,.planningCalendarFilters,.calendarControls,.calendarLegend{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.planningCalendarToolbar{justify-content:space-between}.calendarControls{justify-content:flex-end}.calendarControls .secondaryButton{min-height:36px;padding:0 12px}.planningCalendarFilters{padding:10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--c-fffaf3)}.planningCalendarFilters strong{margin-left:auto;color:var(--c-42515a);font-size:.86rem}.planningCalendar{display:grid;grid-template-columns:230px minmax(720px,1fr);overflow-x:auto;border:1px solid var(--border-soft);border-radius:8px;background:var(--c-ffffff)}.calendarTechnicians{display:grid;align-content:start;border-right:1px solid var(--border-soft);background:var(--c-15222c)}.calendarTechnicianHeader{display:grid;align-content:center;gap:2px;min-height:38px;padding:0 12px;color:var(--c-ffffff);border-bottom:1px solid rgba(255,255,255,.09);background:#ffffff0d}.calendarTechnicianHeader.week,.calendarTechnicianHeader.month{min-height:58px}.calendarTechnicianHeader strong{font-size:.82rem}.calendarTechnicianHeader span{color:#ffffffb8;font-size:.74rem;font-weight:800}.calendarTechnician{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;min-height:76px;padding:12px;color:var(--c-ffffff);border-bottom:1px solid rgba(255,255,255,.09)}.calendarTechnician.week{min-height:86px}.calendarTechnician.month{min-height:66px}.calendarTechnician>span{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:var(--accent);font-size:.78rem;font-weight:900}.calendarTechnician div{display:grid;min-width:0;gap:4px}.calendarTechnician strong,.calendarTechnician small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendarTechnician small{color:#ffffffb8;font-size:.78rem}.calendarTechnician i{display:block;height:4px;border-radius:999px;background:var(--c-7dd66f)}.calendarTimeline{position:relative;display:grid;min-width:760px;background:linear-gradient(90deg,rgba(21,34,44,.08) 1px,transparent 1px),var(--c-ffffff);background-size:calc(100% / 18) 100%}.calendarTimeline.week{min-width:850px;background-size:calc(100% / 7) 100%}.calendarTimeline.month{min-width:1680px;background-size:calc(100% / 31) 100%}.calendarAxis,.calendarLane{display:grid}.calendarAxis.day,.calendarLane.day{grid-template-columns:repeat(18,minmax(36px,1fr))}.calendarAxis{min-height:38px;padding:0 10px;color:var(--ink-muted);border-bottom:1px solid var(--border-soft);background:var(--c-fffaf3);font-size:.78rem;font-weight:900}.calendarAxis.day span{grid-column:span 2;align-self:center}.calendarAxis.week,.calendarAxis.month{gap:0;min-height:58px;padding:0}.calendarAxis.week span,.calendarAxis.month span{display:grid;align-content:center;gap:2px;min-width:0;padding:6px 8px;border-right:1px solid var(--border-soft)}.calendarAxis.week span:last-child,.calendarAxis.month span:last-child{border-right:0}.calendarAxis span.weekStart{box-shadow:inset 3px 0 0 var(--accent)}.calendarAxis span.weekend{background:var(--c-f3eee7)}.calendarAxis small{min-height:14px;color:var(--accent-dark);font-size:.68rem;font-style:normal;font-weight:900}.calendarAxis strong{color:var(--c-17212b);font-size:.78rem}.calendarAxis em{color:var(--ink-muted);font-size:.74rem;font-style:normal}.calendarLane{position:relative;min-height:76px;padding:10px;border-bottom:1px solid var(--border-soft)}.calendarLane.week,.calendarLane.month{gap:0;padding:8px}.calendarLane.week{min-height:86px}.calendarLane.month{min-height:66px}.calendarLane.week:before,.calendarLane.month:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent calc(100% - 1px),var(--border-soft) calc(100% - 1px))}.calendarLane.week:before{background-size:calc(100% / 7) 100%}.calendarLane.month:before{background-size:calc(100% / 31) 100%}.calendarLane:last-child{border-bottom:0}.calendarJobBlock{display:grid;align-content:center;min-width:0;min-height:44px;padding:8px 10px;color:var(--c-17212b);border:1px solid transparent;border-radius:8px;background:var(--c-eaf2ff);box-shadow:0 8px 18px #14191e14;cursor:pointer;text-align:left}.calendarLane.week .calendarJobBlock,.calendarLane.month .calendarJobBlock{align-self:center;min-height:48px;margin:0 4px}.calendarLane.month .calendarJobBlock{min-height:42px;padding:6px}.calendarLane.month .calendarJobBlock strong{font-size:.68rem}.calendarLane.month .calendarJobBlock span{font-size:.66rem}.calendarJobBlock:hover{transform:translateY(-1px)}.calendarJobBlock strong,.calendarJobBlock span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendarJobBlock strong{font-size:.8rem}.calendarJobBlock span{font-size:.78rem}.calendarJobBlock.offen{color:var(--c-6b3f00);border-color:var(--c-f1c66a);background:var(--c-fff1d6)}.calendarJobBlock.geplant{color:var(--c-1c64d4);border-color:var(--c-bdd4ff);background:var(--c-eaf2ff)}.calendarJobBlock.weitergeleitet,.calendarJobBlock.unterwegs{color:var(--c-075985);border-color:var(--c-9bd2ef);background:var(--c-dff4fb)}.calendarJobBlock.in_arbeit{color:var(--c-166534);border-color:var(--c-a9dfbd);background:var(--c-eaf8ef)}.calendarJobBlock.fertig{color:var(--c-14532d);border-color:var(--c-9ad8a8);background:var(--c-dcfce7)}.calendarNowLine{position:absolute;top:38px;bottom:0;left:calc((2.5 / 9) * 100%);width:2px;background:var(--c-e5484d);pointer-events:none}.calendarTimeline.week .calendarNowLine,.calendarTimeline.month .calendarNowLine{display:none}.calendarNowLine span{position:absolute;top:-24px;left:50%;padding:2px 6px;color:var(--c-ffffff);border-radius:999px;background:var(--c-e5484d);font-size:.72rem;font-weight:900;transform:translate(-50%)}.calendarLegend{color:var(--ink-muted);font-size:.82rem;font-weight:800}.calendarLegend span{display:inline-flex;align-items:center;gap:6px}.planningFilters strong{color:var(--c-42515a);font-size:.86rem;text-align:right}.planningTable{display:grid;overflow-x:auto;border:1px solid var(--c-d8e1e7);border-radius:8px;background:var(--c-ffffff)}.planningTableHead,.planningJob{display:grid;grid-template-columns:110px 160px minmax(140px,1fr) 120px minmax(220px,1.4fr) minmax(185px,1fr) 130px;align-items:center;min-width:1080px}.planningTableHead{min-height:38px;padding:0 10px;color:var(--c-60727e);border-bottom:1px solid var(--c-d8e1e7);background:var(--c-f8fafb);font-size:.78rem;font-weight:800;text-transform:uppercase}.planningTableHead button{width:fit-content;min-height:28px;padding:0;color:inherit;border:0;background:transparent;cursor:pointer;font:inherit;text-align:left;text-transform:uppercase}.planningTableHead button:hover{color:var(--c-0f766e)}.planningDetailView{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start}.planningColumn{display:grid;align-content:start;gap:10px}.planningColumn.wide{min-width:0}.planningJob,.planningDetail,.planningMobilePreview,.technicianCard,.scheduleRow,.planningHint{display:grid;gap:10px;padding:14px}.planningJob{width:100%;min-height:44px;gap:0;padding:0 10px;color:inherit;border:0;border-bottom:1px solid var(--c-d3e0e6);border-radius:0;background:var(--c-ffffff);text-align:left;cursor:pointer}.planningJob:last-child{border-bottom:0}.planningJob>span,.planningJob>strong{min-width:0;overflow:hidden;padding-right:12px;text-overflow:ellipsis;white-space:nowrap}.planningJob>strong,.planningJob>span:not(.status){font-size:.88rem}.planningJob>span:nth-child(3){font-weight:800}.planningJob:hover,.planningJob.selected{background:var(--c-f3faf8);box-shadow:inset 3px 0 0 var(--c-0f766e)}.planningEmptyRow{min-width:1080px;padding:18px;color:var(--c-42515a);background:var(--c-f3f7f9);font-size:.9rem}.planningDetail{align-content:start;overflow:hidden}.planningDetail .customerHead{min-width:0;padding:12px;border:1px solid var(--c-b8cbd2);border-radius:8px;background:var(--c-edf7f5)}.planningDetail .customerHead>div{min-width:0}.planningDetail .customerHead h4,.planningDetail .customerHead p{overflow-wrap:anywhere}.planningDetail .status{align-self:start;max-width:100%;white-space:normal}.planningMobilePreview{align-content:start}.planningDetailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--c-b8cbd2);border-radius:8px;background:var(--c-f4faf9)}.planningForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--c-b8cbd2);border-radius:8px;background:var(--c-edf7f5)}.planningForm label{display:grid;min-width:0;gap:6px;color:var(--c-42515a);font-size:.86rem;font-weight:700}.planningForm input,.planningForm select{width:100%;min-width:0}.planningMaterialPanel{display:grid;gap:12px;padding:14px;border:1px solid var(--c-c7b98d);border-top:4px solid var(--c-a16207);border-radius:8px;background:var(--c-f8f3e6)}.planningMaterialPanel .groupHeader{padding:0 0 10px;border-bottom:1px solid var(--c-dccb9f)}.planningMaterialPanel .groupHeader h4{color:var(--c-7c4a03)}.planningMaterialForm{display:grid;grid-template-columns:minmax(180px,1.3fr) 90px 145px minmax(150px,1fr) 130px auto;align-items:end;gap:10px;padding:12px;border:1px solid var(--c-dccb9f);border-radius:8px;background:var(--c-fffaf0)}.planningMaterialForm label{display:grid;gap:6px;color:var(--c-42515a);font-size:.86rem;font-weight:700}.planningMaterialList{display:grid;gap:8px}.planningMaterialRow{display:grid;grid-template-columns:minmax(170px,1.2fr) 90px 130px 120px minmax(140px,1fr) 120px 120px minmax(160px,1fr);align-items:center;gap:10px;padding:12px;border-color:var(--c-dccb9f);background:var(--c-fffaf0)}.planningMaterialRow span,.planningMaterialRow p{color:var(--c-6b5a2f);font-size:.86rem}.planningMaterialRow h4{color:var(--c-3f2f0f)}.planningMaterialTotals{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.planningMaterialTotals span,.planningMaterialTotals strong{padding:5px 9px;border:1px solid var(--c-c7b98d);border-radius:999px;background:var(--c-ffffff);font-size:.84rem}.materialStatus{justify-self:start;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800}.materialStatus.offen{color:var(--c-42515a);background:var(--c-e7edf1)}.materialStatus.bestellt{color:var(--c-075985);background:var(--c-e0f2fe)}.materialStatus.abholbereit{color:var(--c-7c2d12);background:var(--c-ffedd5)}.materialStatus.abgeholt{color:var(--c-166534);background:var(--c-dcfce7)}.planningForwardRule{display:grid;gap:4px;padding:12px;border:1px solid var(--c-c7d3db);border-radius:8px;background:var(--c-f8fafb)}.planningForwardRule p,.planningSummary{color:var(--c-60727e);font-size:.86rem}.planningSummary{display:flex;flex-wrap:wrap;gap:8px}.planningSummary span{padding:5px 9px;border:1px solid var(--c-c5d5dd);border-radius:999px;background:var(--c-ffffff);font-weight:800}.planningSubHeader{margin-top:8px}.scheduleRow{grid-template-columns:minmax(0,1fr) auto;align-items:center}.scheduleMeta{display:grid;justify-items:end;gap:4px}.scheduleMeta span{color:var(--c-0f766e);font-weight:800}.planningHint{border-style:dashed;border-color:var(--border-strong);background:var(--c-edf4f6)}.databaseLayout{display:grid;gap:20px}.databaseWindowGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.databaseWindow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:92px;color:inherit;border:1px solid var(--border-strong);background:var(--c-f7fafb);text-align:left}.databaseWindow:hover{border-color:var(--accent);background:var(--c-edf7f5)}.databaseWindow strong{color:var(--c-0f766e);font-size:1.4rem}.articleLayout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px}.articleCreatePanel{display:grid;gap:14px;margin-bottom:14px;padding:16px}.articleCreateHeader,.articleDetailHeader{display:flex;align-items:center;justify-content:space-between;gap:14px}.articleCreateGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.articleCreateGrid label,.articleDetailHeader label{display:grid;gap:6px;color:var(--c-42515a);font-size:.86rem;font-weight:700}.pendingMaterialPanel{display:grid;gap:10px;padding:12px;border:1px solid var(--c-c7b98d);border-top:4px solid var(--c-a16207);border-radius:8px;background:var(--c-fffaf0)}.pendingMaterialList{display:grid;gap:8px}.pendingMaterialRow{display:grid;grid-template-columns:minmax(220px,1.5fr) 110px minmax(160px,1fr) 120px 120px;align-items:center;gap:10px;width:100%;min-height:54px;padding:10px 12px;color:inherit;border:1px solid var(--c-dccb9f);border-radius:8px;background:var(--c-ffffff);cursor:pointer;text-align:left}.pendingMaterialRow:hover,.pendingMaterialRow.selected{border-color:var(--c-a16207);background:var(--c-fff1d6);box-shadow:inset 3px 0 0 var(--c-a16207)}.pendingMaterialRow>div,.pendingMaterialRow>span,.pendingMaterialRow>strong,.pendingMaterialRow h4,.pendingMaterialRow p{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pendingMaterialRow span{color:var(--c-6b5a2f);font-size:.86rem}.pendingMaterialPanel .planningEmptyRow{min-width:0}.wideField{grid-column:1 / -1}.articleForm{display:grid;align-content:start;gap:14px;padding:16px}.articleForm label{display:grid;gap:6px;color:var(--c-42515a);font-size:.86rem;font-weight:700}.articleFormGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.articleTable{display:grid;align-content:start;overflow-x:auto;border:1px solid var(--c-d8e1e7);border-radius:8px;background:var(--c-ffffff)}.articleTableHead,.articleRow{display:grid;grid-template-columns:minmax(210px,1.5fr) 135px 70px 95px 95px minmax(170px,1fr) 95px 90px 100px;align-items:center;min-width:1160px;gap:12px}.articleTableHead{min-height:38px;padding:0 14px;color:var(--c-60727e);border-bottom:1px solid var(--c-d8e1e7);background:var(--c-f8fafb);font-size:.78rem;font-weight:800;text-transform:uppercase}.articleRow{min-height:58px;padding:12px 14px;border:0;border-bottom:1px solid var(--c-d3e0e6);border-radius:0}.articleRow:last-child{border-bottom:0}.articleRow.selected{background:var(--c-f3faf8);box-shadow:inset 3px 0 0 var(--c-0f766e)}.articleRow button{min-height:34px;padding:0 10px}.articleRow>span,.articleRow>strong,.articleRow h4,.articleRow p{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.articleCategory{justify-self:start;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800}.articleCategory.malerarbeiten{color:var(--c-075985);background:var(--c-e0f2fe)}.articleCategory.daemmung{color:var(--c-166534);background:var(--c-dcfce7)}.articleCategory.fassade{color:var(--c-7c2d12);background:var(--c-ffedd5)}.articleCategory.material{color:var(--c-581c87);background:var(--c-f3e8ff)}.articleCategory.nebenleistung{color:var(--c-42515a);background:var(--c-e7edf1)}.articleDetailPanel{display:grid;gap:14px;margin-top:14px;padding:16px;background:var(--c-f8fafb)}.articleDetailGrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:12px}.articleDetailGrid div{display:grid;gap:5px;padding:12px;border:1px solid var(--c-d8e1e7);border-radius:8px;background:var(--c-ffffff)}.articleDetailGrid span,.articleMiniRow span{color:var(--c-60727e);font-size:.82rem}.articleDetailGrid strong{color:var(--c-172026);font-size:.92rem;line-height:1.4}.articleSubTables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.articleMiniTable{display:grid;align-content:start;gap:8px;padding:12px;border:1px solid var(--c-d8e1e7);border-radius:8px;background:var(--c-ffffff)}.articleMiniRow{display:grid;grid-template-columns:100px minmax(130px,1fr) 90px 100px 120px;align-items:center;gap:8px;min-height:34px;border-top:1px solid var(--c-e7edf1);font-size:.84rem}.articleMiniRow.empty{display:block;padding-top:10px;color:var(--c-60727e)}.memberForm{display:grid;align-content:start;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:14px;padding:16px}.memberForm h4,.memberForm p{grid-column:1 / -1}.memberForm label,.supplierForm label{display:grid;gap:6px;color:var(--c-42515a);font-size:.86rem;font-weight:700}.memberForm p{color:var(--c-60727e);font-size:.86rem;line-height:1.45}.supplierLayout{display:grid;gap:20px}.supplierForm{display:grid;align-content:start;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:14px;padding:16px}.supplierForm h4,.supplierForm button{grid-column:1 / -1}.supplierForm .wideField{grid-column:span 2}.supplierTable{display:grid;align-content:start;overflow-x:auto;border:1px solid var(--c-d8e1e7);border-radius:8px;background:var(--c-ffffff)}.supplierTableHead,.supplierRow{display:grid;grid-template-columns:minmax(170px,1.1fr) minmax(140px,.9fr) minmax(180px,1fr) minmax(170px,1fr) minmax(220px,1.2fr) minmax(170px,1fr) minmax(220px,1fr) 100px;align-items:center;min-width:1390px;gap:12px}.supplierTableHead{min-height:38px;padding:0 14px;color:var(--c-60727e);border-bottom:1px solid var(--c-d8e1e7);background:var(--c-f8fafb);font-size:.78rem;font-weight:800;text-transform:uppercase}.supplierRow{min-height:66px;padding:12px 14px;border:0;border-bottom:1px solid var(--c-d3e0e6);border-radius:0}.supplierRow:last-child{border-bottom:0}.supplierRow>span,.supplierRow>strong,.supplierRow h4,.supplierRow p{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memberTable{display:grid;align-content:start;gap:0}.memberTableHead,.memberRow{display:grid;grid-template-columns:minmax(180px,1.3fr) 120px minmax(150px,1fr) minmax(130px,.8fr) 110px minmax(190px,.9fr);align-items:center;gap:12px}.memberRow button,.supplierRow button{min-height:34px;padding:0 10px}.memberRow:hover,.supplierRow:hover{background:var(--c-edf7f5)}.memberActions,.databaseActionBar{display:flex;flex-wrap:wrap;gap:8px}.memberActions button{min-height:34px;padding:0 10px}.databaseActionBar{grid-column:1 / -1;padding:10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--c-fffaf3)}.dangerButton{background:var(--c-b91c1c)!important}.databaseDetailForm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:14px;padding:16px}.databaseDetailForm label{display:grid;gap:6px;color:var(--c-42515a);font-size:.86rem;font-weight:700}.databaseDetailForm button{grid-column:1 / -1}.supplierPurchaseTable{display:grid;align-content:start;overflow-x:auto;border:1px solid var(--border-strong);border-radius:8px;background:var(--c-ffffff)}.supplierPurchaseTableHead,.supplierPurchaseRow{display:grid;grid-template-columns:minmax(220px,1.4fr) 150px 110px 130px;align-items:center;min-width:620px;gap:12px}.supplierPurchaseTableHead{min-height:38px;padding:0 14px;font-size:.78rem;font-weight:800;text-transform:uppercase}.supplierPurchaseRow{min-height:54px;padding:10px 14px;border-bottom:1px solid var(--c-d3e0e6)}.supplierPurchaseRow:last-child{border-bottom:0}.supplierPurchaseRow span,.supplierPurchaseRow p{color:var(--c-60727e);font-size:.86rem}.memberTableHead{padding:0 14px;font-weight:800}.memberRow{padding:14px;border:0;border-bottom:1px solid var(--c-d3e0e6);border-radius:0}.memberRow:last-child{border-bottom:0}.roleBadge,.authBadge{justify-self:start;padding:5px 9px;border-radius:999px;font-size:.8rem;font-weight:800}.roleBadge.admin{color:var(--c-581c87);background:var(--c-f3e8ff)}.roleBadge.office{color:var(--c-075985);background:var(--c-e0f2fe)}.roleBadge.technician{color:var(--c-14532d);background:var(--c-dcfce7)}.authBadge.active{color:var(--c-166534);background:var(--c-dcfce7)}.authBadge.invited{color:var(--c-7c2d12);background:var(--c-ffedd5)}.authBadge.disabled{color:var(--c-7f1d1d);background:var(--c-fee2e2)}@media (max-width: 820px){.app{grid-template-columns:1fr}.sidebar{gap:20px;padding:22px}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav button{text-align:center}.workspace{padding:18px}.topbar,.dashboardHero,.panelHeader,.jobMain,.jobFooter,.invoiceRow,.customerHead,.customerFooter{align-items:stretch;flex-direction:column}.metrics,.dashboardOperations,.dashboardGrid,.invoiceColumns,.jobDetails,.jobCustomerStrip,.jobCustomerPanel,.jobEditForm,.jobMaterialForm,.jobMaterialRow,.customerDetails,.planningLayout,.planningDetailGrid,.planningDetailView,.planningForm,.planningMaterialForm,.planningMaterialRow,.timesheetLayout,.timeRange,.weekDetailHeader,.employeeOverviewHeader,.timesheetCalculation,.articleLayout,.articleFormGrid,.articleCreateGrid,.pendingMaterialRow,.articleDetailGrid,.articleSubTables,.databaseLayout,.databaseWindowGrid,.databaseWindow,.databaseDetailForm,.supplierLayout,.supplierForm,.memberTableHead,.memberRow{grid-template-columns:1fr}.memberTableHead{display:none}.planningJob,.dashboardRow,.todayScheduleRow,.technicianDayRow,.scheduleRow{grid-template-columns:1fr}.planningCalendarToolbar,.calendarControls,.planningCalendarFilters{align-items:stretch;flex-direction:column}.planningCalendarFilters strong{margin-left:0}.planningJob>div{grid-template-columns:1fr}.scheduleMeta,.invoiceMeta{justify-items:start}}.status.abgeschlossen{color:var(--c-1e3a8a);background:var(--c-dbeafe)}.invoiceStatus.cancelled{color:var(--c-57534e);background:var(--c-e7e5e4)}.calendarJobBlock.abgeschlossen{color:var(--c-1e3a8a);border-color:var(--c-bdd4ff);background:var(--c-eaf2ff)}.invoiceRow{width:100%;color:inherit;cursor:pointer}.invoiceRow:hover{border-color:var(--accent);box-shadow:0 0 0 2px #ff6b001f}.invoiceLineHint{color:var(--ink-muted);font-size:.78rem;font-weight:700}.invoiceBuilder{display:grid;gap:14px}.invoiceSection{display:grid;gap:10px;padding:14px;border:1px solid var(--border-strong);border-top:3px solid var(--accent);border-radius:8px;background:var(--surface-strong)}.invoiceStatus.cancelled{color:var(--c-57606a);background:var(--c-e7eaee)}.customerInvoiceTags{display:flex;flex-wrap:wrap;gap:6px}.invoiceTag{padding:3px 9px;border-radius:999px;font-size:.78rem;font-weight:700}.invoiceTag.open{color:var(--c-991b1b);background:var(--c-fee2e2)}.invoiceTag.paid{color:var(--c-166534);background:var(--c-dcfce7)}.invoiceTag.cancelled{color:var(--c-57606a);background:var(--c-e7eaee)}.customerCalc{display:grid;gap:16px;margin-top:18px;padding:18px;border:1px solid var(--border-strong);border-top:3px solid var(--accent);border-radius:10px;background:var(--surface-card)}.customerCalcHeader h4{margin:2px 0 0}.calcKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.calcKpis>div{padding:12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-strong)}.calcKpis span{display:block;font-size:1.15rem;font-weight:700}.calcKpis p{margin:4px 0 0;font-size:.82rem;color:var(--c-57606a)}.calcKpis .calcPositive span{color:var(--c-166534)}.calcKpis .calcNegative span{color:var(--c-991b1b)}.calcSollIst{display:grid;gap:8px}.calcSollIstRow{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:.9rem}.calcSollIstBar{height:8px;border-radius:999px;background:var(--c-e7eaee);overflow:hidden}.calcSollIstFill{height:100%;border-radius:999px;background:var(--accent)}.calcHint{margin:0;font-size:.8rem;color:var(--c-57606a)}.calcInvoiceList{display:grid;gap:8px}.calcInvoiceRow{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-strong)}.calcInvoiceMeta{display:grid;gap:2px;flex:1 1 auto;min-width:0}.calcInvoiceMeta span{font-size:.8rem;color:var(--c-57606a)}.calcInvoiceAmount{flex:0 0 auto;min-width:96px;text-align:right}.calcDisclaimer{margin:0;font-size:.78rem;color:var(--c-6b7280);font-style:italic}@media (max-width: 720px){.calcKpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.invoiceSection .groupHeader{padding:0 0 10px;border-bottom:1px solid var(--border-strong)}.invoiceLineList{display:grid;gap:8px}.invoiceLineRow{display:grid;grid-template-columns:132px minmax(0,1.4fr) 100px 150px 120px;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--c-ffffff)}.invoiceLineRow.head{padding:6px 12px;color:var(--c-60727e);border:0;background:transparent;font-size:.78rem;font-weight:800;text-transform:uppercase}.invoiceLineRow.excluded{opacity:.5}.invoiceLineRow>div{display:grid;min-width:0;gap:2px}.invoiceLineRow>div span{color:var(--ink-muted);font-size:.8rem}.invoiceLineRow>span,.invoiceLineRow>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inlinePrice{display:grid;gap:4px;color:var(--ink-muted);font-size:.72rem;font-weight:700}.inlinePrice input{min-height:32px}.invoiceDetail .invoiceLineRow{grid-template-columns:minmax(0,1.6fr) 110px 110px 130px 120px}.lineKind{justify-self:start;padding:4px 8px;border-radius:999px;font-size:.74rem;font-weight:800}.lineKind.material{color:var(--c-581c87);background:var(--c-f3e8ff)}.lineKind.arbeit{color:var(--c-166534);background:var(--c-dcfce7)}.lineKind.fahrt{color:var(--c-075985);background:var(--c-e0f2fe)}.lineKind.pauschale{color:var(--c-7c2d12);background:var(--c-ffedd5)}.invoiceExtraForm{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:10px}.invoiceExtraForm label{display:grid;gap:6px;color:var(--c-42515a);font-size:.86rem;font-weight:700}.invoiceSummary{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding:14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-filter)}.invoiceSummary span{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-strong);border-radius:999px;background:var(--c-ffffff);color:var(--c-42515a);font-size:.86rem}.invoiceSummary span strong{color:var(--c-17212b)}.invoiceSummaryTotal{border-color:var(--accent)!important;background:var(--c-fff7ed)!important;font-weight:800}.invoiceSummaryTotal strong{color:var(--accent-dark)!important;font-size:1.05rem}.invoiceSummary button{min-height:42px;padding:0 18px;color:var(--c-ffffff);border:0;border-radius:6px;background:var(--accent);cursor:pointer}.invoiceSummary button:disabled{opacity:.58;cursor:not-allowed}.invoiceDetail{display:grid;gap:14px}.invoiceDetailHead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--c-edf7f5)}.invoiceDetailHead>div{display:grid;min-width:0;gap:4px}.invoiceDetailHead span:not(.invoiceStatus){color:var(--ink-muted);font-size:.84rem}.invoiceToolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.invoiceTypeTabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-filter)}.invoiceTypeTabs button{min-height:34px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:var(--c-42515a);font-weight:700;cursor:pointer}.invoiceTypeTabs button.active{background:var(--accent);color:var(--c-ffffff)}.invoiceTemplateBar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.invoiceTemplateBar label{display:grid;gap:4px;color:var(--c-42515a);font-size:.74rem;font-weight:700}.invoiceTemplateBar input,.invoiceTemplateBar select{min-height:34px}.invoiceDetailBadges{display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.invoiceExportButtons{display:flex;gap:8px;flex-wrap:wrap}.travelModeSelect{margin-top:2px;padding:2px 6px;font-size:.8rem;border:1px solid var(--border-strong);border-radius:6px;background:var(--c-ffffff);color:var(--ink-muted, var(--c-57606a))}.travelModeHint{margin:6px 0 0;font-size:.8rem;color:var(--c-92400e);background:var(--c-fef3c7);border-radius:6px;padding:6px 9px}.editActions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.invoiceSection .deductionRow{display:flex;align-items:center;gap:12px}.invoiceSection .deductionRow>div{flex:1 1 auto;display:grid;gap:2px}.invoiceExportButtons .secondaryButton{min-height:34px;padding:0 12px;font-size:.82rem;white-space:nowrap}.invoiceCategoryBadge{padding:5px 10px;border-radius:999px;font-size:.74rem;font-weight:800}.invoiceCategoryBadge.abschlag,.invoiceDetailHead .invoiceDetailBadges span.invoiceCategoryBadge.abschlag{color:var(--c-075985);background:var(--c-e0f2fe)}.invoiceCategoryBadge.schluss,.invoiceDetailHead .invoiceDetailBadges span.invoiceCategoryBadge.schluss{color:var(--c-7c2d12);background:var(--c-ffedd5)}.invoiceDetailHead .invoiceDetailBadges span.invoiceCategoryBadge{font-size:.74rem}.draftLineList{display:grid;gap:10px}.draftLineRow{display:grid;gap:10px;padding:12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--c-ffffff)}.draftLineMain{display:grid;grid-template-columns:130px minmax(0,1.5fr) 90px 80px 110px 110px 34px;align-items:end;gap:10px}.draftLineMain label{display:grid;gap:4px;color:var(--c-42515a);font-size:.74rem;font-weight:700}.draftLineMain input,.draftLineMain select{min-height:34px;min-width:0}.draftTotal{align-self:center;justify-self:end;font-weight:800;color:var(--c-17212b)}.iconButtonDanger{align-self:center;justify-self:center;width:30px;height:30px;border-radius:6px;border:1px solid var(--c-f1c0c0);background:var(--c-fff2f2);color:var(--c-b91c1c);font-size:1.2rem;font-weight:800;line-height:1;cursor:pointer}.iconButtonDanger:hover{background:var(--c-fee2e2)}.draftLineNotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.draftLineNotes label{display:grid;gap:4px;color:var(--c-42515a);font-size:.74rem;font-weight:700}.draftLineNotes textarea{width:100%;min-height:42px;resize:vertical}.draftLineActions{display:flex;flex-wrap:wrap;gap:8px}.autoLineWrap{display:grid;gap:6px}.autoLineNotes{display:grid;gap:8px;padding:0 4px 2px 12px}.notesToggle{justify-self:start;padding:2px 6px;border:0;background:transparent;color:var(--accent-dark);font-size:.76rem;font-weight:700;cursor:pointer}.notesToggle:hover{text-decoration:underline}.deductionRow{display:grid;grid-template-columns:28px minmax(0,1fr) 130px;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--c-ffffff);cursor:pointer}.deductionRow.excluded{opacity:.55}.deductionRow>div{display:grid;gap:2px;min-width:0}.deductionRow>div span{color:var(--ink-muted);font-size:.8rem}.deductionRow>strong{justify-self:end}.invoiceLineRow.withNotes{align-items:start}.lineDesc{display:grid;gap:4px;min-width:0}.lineLongText{margin:0;color:var(--c-42515a);font-size:.82rem;font-weight:500;white-space:normal}.lineInternalNote{margin:0;padding:4px 8px;border:1px dashed var(--c-fcd34d);border-radius:6px;background:var(--c-fffbeb);color:var(--c-92400e);font-size:.78rem;font-weight:600;white-space:normal}@media (max-width: 820px){.invoiceLineRow,.invoiceDetail .invoiceLineRow,.invoiceExtraForm,.draftLineMain,.draftLineNotes{grid-template-columns:1fr;gap:6px}.invoiceLineRow.head{display:none}.invoiceSummary{justify-content:stretch}}:root{color-scheme:light;--c-075985: #075985;--c-0f766e: #0f766e;--c-101923: #101923;--c-14532d: #14532d;--c-15222c: #15222c;--c-166534: #166534;--c-16a34a: #16a34a;--c-172026: #172026;--c-17212b: #17212b;--c-17313a: #17313a;--c-1c64d4: #1c64d4;--c-1d4ed8: #1d4ed8;--c-1e3a8a: #1e3a8a;--c-26a269: #26a269;--c-2f80ed: #2f80ed;--c-3f2f0f: #3f2f0f;--c-42515a: #42515a;--c-57534e: #57534e;--c-57606a: #57606a;--c-581c87: #581c87;--c-60727e: #60727e;--c-6b3f00: #6b3f00;--c-6b5a2f: #6b5a2f;--c-6b7280: #6b7280;--c-78909c: #78909c;--c-7c2d12: #7c2d12;--c-7c4a03: #7c4a03;--c-7dd66f: #7dd66f;--c-7f1d1d: #7f1d1d;--c-92400e: #92400e;--c-991b1b: #991b1b;--c-9ad8a8: #9ad8a8;--c-9bd2ef: #9bd2ef;--c-a16207: #a16207;--c-a9bdc7: #a9bdc7;--c-a9dfbd: #a9dfbd;--c-b7a99b: #b7a99b;--c-b7c8d1: #b7c8d1;--c-b8c8d1: #b8c8d1;--c-b8cbd2: #b8cbd2;--c-b91c1c: #b91c1c;--c-bbf7d0: #bbf7d0;--c-bdd4ff: #bdd4ff;--c-c5d5dd: #c5d5dd;--c-c7b98d: #c7b98d;--c-c7d3db: #c7d3db;--c-d3e0e6: #d3e0e6;--c-d5e2e7: #d5e2e7;--c-d8e1e7: #d8e1e7;--c-d9e3e8: #d9e3e8;--c-dbeafe: #dbeafe;--c-dc8a5f: #dc8a5f;--c-dccb9f: #dccb9f;--c-dcfce7: #dcfce7;--c-dff4fb: #dff4fb;--c-e0f2fe: #e0f2fe;--c-e1d4c6: #e1d4c6;--c-e5484d: #e5484d;--c-e7ded2: #e7ded2;--c-e7e5e4: #e7e5e4;--c-e7eaee: #e7eaee;--c-e7edf1: #e7edf1;--c-e85f00: #e85f00;--c-eadfd2: #eadfd2;--c-eaf2ff: #eaf2ff;--c-eaf8ef: #eaf8ef;--c-edf4f6: #edf4f6;--c-edf7ef: #edf7ef;--c-edf7f5: #edf7f5;--c-eef4f6: #eef4f6;--c-f1c0c0: #f1c0c0;--c-f1c66a: #f1c66a;--c-f3e8ff: #f3e8ff;--c-f3eee7: #f3eee7;--c-f3f7f9: #f3f7f9;--c-f3faf8: #f3faf8;--c-f4faf9: #f4faf9;--c-f5b642: #f5b642;--c-f7f3ec: #f7f3ec;--c-f7fafb: #f7fafb;--c-f7fafc: #f7fafc;--c-f8f3e6: #f8f3e6;--c-f8fafb: #f8fafb;--c-f9fbfc: #f9fbfc;--c-fcd34d: #fcd34d;--c-fee2e2: #fee2e2;--c-fef3c7: #fef3c7;--c-ff6b00: #ff6b00;--c-ffedd5: #ffedd5;--c-fff1d6: #fff1d6;--c-fff1e8: #fff1e8;--c-fff2f2: #fff2f2;--c-fff7ed: #fff7ed;--c-fff8ee: #fff8ee;--c-fffaf0: #fffaf0;--c-fffaf3: #fffaf3;--c-fffbeb: #fffbeb;--c-ffffff: #ffffff}:root[data-theme=dark]{color-scheme:dark;--c-075985: #a7d8f2;--c-0f766e: #aaf3ed;--c-101923: #101923;--c-14532d: #bdefd1;--c-15222c: #15222c;--c-166534: #b3efca;--c-16a34a: #93f0b5;--c-172026: #172026;--c-17212b: #bcc2c9;--c-17313a: #cce3eb;--c-1c64d4: #2b73e3;--c-1d4ed8: #2758e2;--c-1e3a8a: #a1b4eb;--c-26a269: #95e6c1;--c-2f80ed: #1265d3;--c-3f2f0f: #f2e3c7;--c-42515a: #999fa3;--c-57534e: #9c9b99;--c-57606a: #8c8f93;--c-581c87: #cba2ec;--c-60727e: #81939f;--c-6b3f00: #f4dbb5;--c-6b5a2f: #ded2b4;--c-6b7280: #7b7d83;--c-78909c: #637b87;--c-7c2d12: #f2baa6;--c-7c4a03: #f3d6ad;--c-7dd66f: #44b333;--c-7f1d1d: #eba7a7;--c-92400e: #f1be9e;--c-991b1b: #ed9898;--c-9ad8a8: #286837;--c-9bd2ef: #1f506a;--c-a16207: #f1ce9b;--c-a9bdc7: #394d58;--c-a9dfbd: #25643d;--c-b7a99b: #857360;--c-b7c8d1: #364954;--c-b8c8d1: #3b4144;--c-b8cbd2: #354b54;--c-b91c1c: #e34646;--c-bbf7d0: #1c6134;--c-bdd4ff: #1b335e;--c-c5d5dd: #31373a;--c-c7b98d: #9a874c;--c-c7d3db: #313639;--c-d3e0e6: #282e30;--c-d5e2e7: #272d2f;--c-d8e1e7: #262a2d;--c-d9e3e8: #252a2d;--c-dbeafe: #193458;--c-dc8a5f: #bc5c29;--c-dccb9f: #685526;--c-dcfce7: #1a582f;--c-dff4fb: #194857;--c-e0f2fe: #193e56;--c-e1d4c6: #54412c;--c-e5484d: #c91d22;--c-e7ded2: #312d27;--c-e7e5e4: #262524;--c-e7eaee: #1f2123;--c-e7edf1: #1d2023;--c-e85f00: #e85f00;--c-eadfd2: #302b26;--c-eaf2ff: #101722;--c-eaf8ef: #17211a;--c-edf4f6: #181d1f;--c-edf7ef: #171f19;--c-edf7f5: #171f1d;--c-eef4f6: #181c1e;--c-f1c0c0: #611c1c;--c-f1c66a: #d29514;--c-f3e8ff: #191123;--c-f3eee7: #23201b;--c-f3f7f9: #15191b;--c-f3faf8: #141b19;--c-f4faf9: #141a19;--c-f5b642: #da910c;--c-f7f3ec: #1f1c17;--c-f7fafb: #131718;--c-f7fafc: #121618;--c-f8f3e6: #232018;--c-f8fafb: #131617;--c-f9fbfc: #121517;--c-fcd34d: #e2ae04;--c-fee2e2: #561919;--c-fef3c7: #5c4f1b;--c-ff6b00: #ff6b00;--c-ffedd5: #593e1a;--c-fff1d6: #59431a;--c-fff1e8: #231811;--c-fff2f2: #1d0e0e;--c-fff7ed: #20190f;--c-fff8ee: #20190f;--c-fffaf0: #1e190f;--c-fffaf3: #1d170e;--c-fffbeb: #211e10;--c-ffffff: #111111}:root[data-theme=dark] .sidebar{color:#e7eef2}:root[data-theme=dark] .sidebar .eyebrow{color:#9fb4c0}:root[data-theme=dark] .nav button{color:#cfdae1}:root[data-theme=dark] .nav button:hover{background:#ffffff0f}.dashboard{display:flex;flex-direction:column;gap:16px}.dashboardBar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.dashboardBar h3{font-size:1.05rem}.dashboardBarActions{display:flex;align-items:center;gap:8px}.dashPaletteWrap{position:relative}.dashPalette{position:absolute;right:0;top:calc(100% + 6px);z-index:1200;display:grid;gap:2px;padding:6px;min-width:230px;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 16px 40px #14191e2e}.dashPalette button{display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer;text-align:left}.dashPalette button:hover{background:var(--surface-strong)}.dashGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:104px;gap:14px;align-content:start}.dashGridItem{grid-column:calc(var(--x) + 1) / span var(--w);grid-row:calc(var(--y) + 1) / span var(--h);min-width:0;min-height:0}.dashWidget{position:relative;display:flex;flex-direction:column;height:100%;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-card);box-shadow:0 10px 24px #14191e0d;overflow:hidden}.dashWidgetHead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-soft);flex:0 0 auto}.dashWidgetHead h4{display:flex;align-items:center;gap:7px;font-size:.9rem}.dashWidgetBody{flex:1 1 auto;min-height:0;padding:12px;overflow:auto;display:flex;flex-direction:column;gap:8px}.dashWidgetFoot{margin-top:auto;padding-top:6px;font-size:.78rem;color:var(--ink-muted)}.dashKpi{display:flex;flex-direction:column;justify-content:center;gap:4px;height:100%}.dashKpi strong{font-size:1.7rem;line-height:1;color:var(--accent)}.dashKpi span{font-size:.82rem;color:var(--ink-muted)}.dashNote{flex:1 1 auto;width:100%;min-height:70px;resize:none;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-strong);padding:8px 10px;color:inherit;font:inherit}.dashGrid.editing .dashWidget{outline:1px dashed var(--border-heavy);outline-offset:-1px}.dashWidget--editing .dashWidgetHead{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.dashWidget--editing .dashWidgetHead:active{cursor:grabbing}.dashWidget--editing .dashWidgetBody{pointer-events:none}.dashRemove{border:0;background:transparent;color:var(--ink-muted);font-size:1.25rem;line-height:1;padding:0 4px;cursor:pointer}.dashRemove:hover{color:#e5484d}.dashResizeHandle{position:absolute;right:3px;bottom:3px;width:16px;height:16px;cursor:nwse-resize;touch-action:none;border-right:2px solid var(--border-heavy);border-bottom:2px solid var(--border-heavy);border-bottom-right-radius:6px}.dashEmpty{grid-column:1 / -1;padding:40px;text-align:center;color:var(--ink-muted);border:1px dashed var(--border-strong);border-radius:12px}.dashMapBody{display:flex;flex-direction:column;gap:6px;height:100%;min-height:0}.liveMapWrap{position:relative;flex:1 1 auto;min-height:150px;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;isolation:isolate}.liveMapCanvas{position:absolute;top:0;right:0;bottom:0;left:0}.leaflet-container{height:100%;width:100%;background:var(--surface-muted);font:inherit}.liveMapOverlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-size:.85rem;color:var(--ink-muted);background:var(--surface-muted)}.liveMapPin span{display:block;width:16px;height:16px;border-radius:50% 50% 50% 0;background:var(--pin, #ff6b00);transform:rotate(-45deg);border:2px solid #ffffff;box-shadow:0 2px 5px #00000073}:root[data-theme=dark] .leaflet-tile{filter:brightness(.6) invert(1) contrast(1.05) hue-rotate(180deg) saturate(.75) brightness(.95)}:root[data-theme=dark] .leaflet-container{background:#0e1216}:root[data-theme=dark] .leaflet-popup-content-wrapper,:root[data-theme=dark] .leaflet-popup-tip{background:#1b2026;color:#e7eef2}@media (max-width: 760px){.dashGrid{grid-template-columns:1fr;grid-auto-rows:minmax(112px,auto)}.dashGridItem{grid-column:1!important;grid-row:auto / span var(--h)!important}}.inlinePriceVat{display:flex;flex-direction:column;gap:5px;min-width:0}.inlinePriceVat .autoRate{font-size:.85rem}.inlineVat,.draftVat{display:grid;gap:3px;font-size:.72rem;color:var(--ink-muted)}.inlineVat select,.draftVat select{padding:5px 7px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-strong);color:inherit}.lineVatTag{color:var(--ink-muted);font-size:.72rem;font-weight:400}.statRangeBar{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.statRangeModes,.statQuarterTabs{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}.statRangeModes button,.statQuarterTabs button{border:0;background:var(--surface-card);color:inherit;padding:8px 14px;cursor:pointer}.statRangeModes button.active,.statQuarterTabs button.active{background:var(--accent);color:#fff}.statQuarterPicker{display:inline-flex;align-items:center;gap:10px}.statQuarterPicker strong{min-width:48px;text-align:center;font-size:1.05rem}.statStep{width:30px;height:30px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-card);color:inherit;cursor:pointer;font-size:1.1rem;line-height:1}.statDateRange{display:inline-flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.statDateRange label{display:grid;gap:4px;font-size:.82rem;color:var(--ink-muted)}.statDateRange input{border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-strong);color:inherit;padding:7px 9px}.statPresets button{border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-card);color:inherit;padding:8px 12px;cursor:pointer}.statRangeInfo{margin:0 0 0 auto;font-size:.8rem;color:var(--ink-muted)}.statKpiGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.statKpi{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-card)}.statKpi p{font-size:.8rem;color:var(--ink-muted)}.statKpi strong{font-size:1.4rem;line-height:1}.statKpi.accent strong{color:var(--accent)}.statKpi.pos strong{color:var(--c-16a34a)}.statKpi.neg strong{color:var(--c-e5484d)}.statDelta{font-size:.76rem;display:inline-flex;align-items:center;gap:4px}.statDelta em{font-style:normal;color:var(--ink-muted)}.statDelta.good{color:var(--c-16a34a)}.statDelta.bad{color:var(--c-e5484d)}.statDelta.neutral{color:var(--ink-muted)}.statCharts{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}.statChartPanel,.statSidePanel{display:flex;flex-direction:column;gap:14px}.statLegend{display:flex;gap:14px;align-items:center}.statLegendItem{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--ink-muted)}.statLegendItem:before{content:"";width:12px;height:12px;border-radius:3px;background:var(--ink-muted)}.statLegendItem.umsatz:before{background:var(--c-16a34a)}.statLegendItem.ausgaben:before{background:var(--c-e5484d)}.statChart{display:flex;align-items:flex-end;gap:18px;min-height:220px;padding:8px 4px 0;overflow-x:auto}.statBarGroup{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1 0 56px}.statBars{display:flex;align-items:flex-end;justify-content:center;gap:6px;height:160px;width:100%}.statBar{width:18px;min-height:2px;border-radius:4px 4px 0 0;transition:height .2s ease}.statBar.umsatz{background:var(--c-16a34a)}.statBar.ausgaben{background:var(--c-e5484d)}.statBarLabel{font-size:.78rem;color:var(--ink-muted)}.statBarProfit{font-size:.78rem;font-weight:700}.statBarProfit.pos{color:var(--c-16a34a)}.statBarProfit.neg{color:var(--c-e5484d)}.statStatusBar{display:flex;height:16px;border-radius:999px;overflow:hidden;background:var(--surface-strong)}.statStatusBar span{height:100%}.statStatusBar .paid{background:var(--c-16a34a)}.statStatusBar .open{background:var(--accent)}.statStatusBar .cancelled{background:var(--c-60727e)}.statStatusList{display:grid;gap:8px}.statStatusList>div{display:flex;align-items:center;gap:8px;font-size:.9rem}.statStatusList strong{margin-left:auto}.statDot{width:10px;height:10px;border-radius:50%}.statDot.paid{background:var(--c-16a34a)}.statDot.open{background:var(--accent)}.statDot.cancelled{background:var(--c-60727e)}.statCustomerList{display:grid;gap:10px}.statCustomerRow{display:grid;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:.88rem}.statCustomerName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statCustomerBarWrap{height:10px;border-radius:999px;background:var(--surface-strong);overflow:hidden}.statCustomerBar{height:100%;border-radius:999px;background:var(--accent)}@media (max-width: 980px){.statKpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.statCharts{grid-template-columns:1fr}}.statBar.ausgabenStack{display:flex;flex-direction:column;background:transparent;overflow:hidden}.statBar.ausgabenStack .segMaterial{width:100%;background:var(--c-e5484d)}.statBar.ausgabenStack .segLohn{width:100%;background:var(--c-f5b642)}.statBar.profitPos,.statBar.paidBar{background:var(--c-16a34a)}.statBar.profitNeg{background:var(--c-e5484d)}.statBar.openBar{background:var(--accent)}.statLegendItem.segMaterial:before{background:var(--c-e5484d)}.statLegendItem.segLohn:before{background:var(--c-f5b642)}.statLegendItem.paidLegend:before{background:var(--c-16a34a)}.statLegendItem.openLegend:before{background:var(--accent)}.dashStatChart{flex:1 1 auto;min-height:0}.dashStatChart .statChart{min-height:120px;height:100%}.dashStatChart .statBars{height:100px}.offerGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.offerCard{display:grid;gap:12px;padding:16px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-card)}.offerCardHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.offerStatus{flex:0 0 auto;padding:4px 9px;border-radius:999px;font-size:.76rem;font-weight:700}.offerStatus.entwurf{color:var(--c-57606a);background:var(--c-e7eaee)}.offerStatus.versendet{color:var(--c-075985);background:var(--c-e0f2fe)}.offerStatus.angenommen{color:var(--c-166534);background:var(--c-dcfce7)}.offerStatus.abgelehnt{color:var(--c-991b1b);background:var(--c-fee2e2)}.offerCardMeta{display:grid;gap:8px;margin:0}.offerCardMeta>div{display:flex;justify-content:space-between;gap:10px;font-size:.88rem}.offerCardMeta dt{color:var(--ink-muted)}.offerCardFoot{display:flex;align-items:center;justify-content:space-between;gap:10px}.offerCardFoot span{display:inline-flex;align-items:center;gap:5px;font-size:.84rem;color:var(--ink-muted)}.offerDetail{display:grid;gap:16px}.offerUploadBtn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-card);cursor:pointer;font-size:.85rem}.offerUploadBtn input{display:none}.offerAttachments{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.offerAttachment{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-strong)}.offerAttachment img{width:54px;height:54px;object-fit:cover;border-radius:8px;flex:0 0 auto}.offerFileIcon{width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--surface-card);flex:0 0 auto}.offerAttachmentMeta{display:grid;gap:2px;flex:1 1 auto;min-width:0}.offerAttachmentMeta strong{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offerAttachmentMeta span{font-size:.76rem;color:var(--ink-muted)}.offerAttachmentActions{display:flex;gap:4px;flex:0 0 auto}.offerAttachmentActions a,.offerAttachmentActions button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-card);color:inherit;cursor:pointer}.offerDetailActions{display:flex;align-items:center;justify-content:space-between;gap:12px}.offerDelete{display:inline-flex;align-items:center;gap:6px;width:auto;height:auto;padding:8px 14px;border-radius:8px}.dataNotice{margin:4px 0 14px;padding:10px 14px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-card);color:var(--ink-muted);font-size:.85rem}.dataNotice.loading{border-color:var(--accent);color:var(--accent-dark)}.dataNotice.error{border-color:var(--c-e5484d);color:var(--c-e5484d);background:var(--c-fef3c7)}.dataNotice.hint{margin:0 0 12px;border-style:dashed}.loginScreen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--surface-muted)}.loginCard{width:100%;max-width:380px;display:grid;gap:14px;padding:32px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface-card);box-shadow:0 12px 40px #00000014}.loginCard h1{margin:0}.loginIntro{margin:0;color:var(--ink-muted);font-size:.9rem}.loginCard label{display:grid;gap:6px;font-size:.85rem;color:var(--ink-muted)}.loginCard input{padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:inherit;font-size:.95rem}.loginCard button[type=submit]{margin-top:4px;padding:11px 16px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.loginCard button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.loginHint{margin:4px 0 0;font-size:.78rem;color:var(--ink-muted)}.userChip{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#ffffff0f;margin-top:12px}.userChipAvatar{width:32px;height:32px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:700;font-size:.85rem}.userChipMeta{display:grid;gap:1px;min-width:0}.userChipMeta strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.userChipMeta span{font-size:.72rem;opacity:.7}.logoutButton{width:100%;margin-top:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:transparent;color:inherit;font-size:.82rem;cursor:pointer}.logoutButton:hover{background:#ffffff14}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.modalCard{width:100%;max-width:460px;display:grid;gap:14px;padding:24px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface-card);box-shadow:0 18px 50px #00000040}.modalCard h3{margin:0}.changeList{list-style:none;margin:0;padding:0;display:grid;gap:8px}.changeRow{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-muted);font-size:.85rem}.changeField{font-weight:700}.changeFrom{color:var(--ink-muted);text-decoration:line-through}.changeArrow{color:var(--ink-muted)}.changeTo{color:var(--c-16a34a);font-weight:600}.modalActions{display:flex;justify-content:flex-end;gap:10px}.databaseWindow.locked{opacity:.6;cursor:not-allowed;text-align:left}
