:root{--bg:#0b0c0e;--panel:#141619;--panel-2:#1a1d21;--panel-3:#0f1113;--border:#2a2e34;--text:#f5f7fa;--muted:#8e949d;--orange:#ff6a00;--orange-2:#e75f00;--green:#35c46a;--red:#ff5c5c;--blue:#6ba8f5;--yellow:#f4c95d;--sidebar:244px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;padding:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.appShell{background:var(--bg);min-height:100vh}.sidebar{width:var(--sidebar);z-index:20;border-right:1px solid var(--border);background:#101214;flex-direction:column;padding:24px 14px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:.7px;padding:0 12px 24px;font-size:23px;font-weight:900}.brand span{color:var(--orange)}.navList{flex-direction:column;gap:4px;padding-right:2px;display:flex;overflow-y:auto}.navItem{color:#a9afb7;border-radius:8px;align-items:center;gap:12px;min-height:42px;padding:9px 12px;font-size:13px;transition:all .18s;display:flex}.navItem:hover{color:#fff;background:var(--panel-2)}.navItem.active{color:var(--orange);background:#ff6a001c}.navIcon{text-align:center;width:20px;font-size:15px}.sidebarFoot{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:16px 7px 0;display:flex}.avatar{background:var(--orange);color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:11px;font-weight:800;display:grid}.sidebarUser{flex-direction:column;min-width:0;display:flex}.sidebarUser strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sidebarUser span{color:var(--muted);margin-top:2px;font-size:10px}.mainArea{margin-left:var(--sidebar);min-height:100vh}.page{max-width:1600px;margin:0 auto;padding:32px 38px 44px}.pageHeader{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.pageHeader h1{margin:0;font-size:30px;line-height:1.1}.pageHeader p{color:var(--muted);margin:7px 0 0;font-size:13px}.primaryBtn,.secondaryBtn,.dangerBtn,.ghostBtn{border:1px solid #0000;border-radius:8px;min-height:40px;padding:0 15px;font-size:12px;font-weight:700}.primaryBtn{background:var(--orange);color:#fff}.primaryBtn:hover{background:var(--orange-2)}.secondaryBtn{background:var(--panel-2);color:var(--text);border-color:var(--border)}.secondaryBtn:hover,.ghostBtn:hover{border-color:#444b54}.ghostBtn{color:#c9cdd3;border-color:var(--border);background:0 0}.dangerBtn{color:#ff8585;background:#ff5c5c1a;border-color:#ff5c5c59}.iconBtn{color:var(--muted);background:0 0;border:0;padding:4px 8px;font-size:25px;line-height:1}.iconBtn:hover{color:#fff}.statsGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.statCard{background:var(--panel);border:1px solid var(--border);border-radius:11px;flex-direction:column;min-height:112px;padding:18px 19px;display:flex}.statCard span{color:var(--muted);font-size:12px}.statCard strong{letter-spacing:-.4px;margin:10px 0 6px;font-size:27px}.statCard small{color:#6f7680;font-size:11px}.grid2{grid-template-columns:minmax(0,1.55fr) minmax(290px,.8fr);gap:18px;display:grid}.grid2equal{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.panel{background:var(--panel);border:1px solid var(--border);border-radius:11px;overflow:hidden}.panelPad{padding:19px}.panelHead{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:18px 19px;display:flex}.panelHead h2{margin:0;font-size:16px}.panelHead p{color:var(--muted);margin:4px 0 0;font-size:11px}.textLink{color:var(--orange);font-size:11px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.toolbarLeft,.toolbarRight{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.searchInput{width:320px;max-width:70vw}.input,.searchInput,.select,.textarea{background:var(--panel-3);color:#fff;border:1px solid var(--border);border-radius:8px;outline:none;padding:10px 12px;font-size:12px}.input:focus,.searchInput:focus,.select:focus,.textarea:focus{border-color:var(--orange);box-shadow:0 0 0 2px #ff6a0014}.input::placeholder,.searchInput::placeholder,.textarea::placeholder{color:#626872}.select{min-width:140px}.textarea{resize:vertical;min-height:90px}.tableWrap{background:var(--panel);border:1px solid var(--border);border-radius:11px;overflow-x:auto}.dataTable{border-collapse:collapse;width:100%;min-width:760px}.dataTable th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;padding:13px 16px;font-size:10px}.dataTable td{border-bottom:1px solid var(--border);color:#d9dde2;vertical-align:middle;padding:14px 16px;font-size:12px}.dataTable tbody tr:last-child td{border-bottom:0}.dataTable tbody tr:hover{background:#171a1e}.cellTitle{color:#fff;font-weight:700;display:block}.cellSub{color:var(--muted);margin-top:4px;font-size:10px;display:block}.orangeText{color:var(--orange);font-weight:700}.money{font-variant-numeric:tabular-nums;font-weight:700}.badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.badge.orange{color:var(--orange);background:#ff6a0021}.badge.green{color:#64de8c;background:#35c46a21}.badge.blue{color:#83bafa;background:#6ba8f521}.badge.red{color:#ff8f8f;background:#ff5c5c21}.badge.gray{color:#aeb4bc;background:#aeb4bc1a}.badge.yellow{color:var(--yellow);background:#f4c95d1f}.jobListRow{border-bottom:1px solid var(--border);grid-template-columns:60px 1fr auto;align-items:center;gap:12px;min-height:70px;padding:0 18px;display:grid}.jobListRow:last-child{border-bottom:0}.jobTime{color:var(--orange);font-size:12px;font-weight:800}.jobListRow h3{margin:0;font-size:12px}.jobListRow p{color:var(--muted);margin:4px 0 0;font-size:10px}.teamRow{border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:62px;padding:0 18px;display:flex}.teamRow:last-child{border-bottom:0}.teamMeta{flex:1;min-width:0}.teamMeta strong{font-size:12px;display:block}.teamMeta span{color:var(--muted);margin-top:4px;font-size:10px;display:block}.dot{border-radius:50%;width:8px;height:8px}.dot.green{background:var(--green)}.dot.orange{background:var(--orange)}.dot.gray{background:#707780}.modalBackdrop{z-index:100;background:#000000a8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#141619;border:1px solid #343941;border-radius:13px;width:min(760px,100%);max-height:90vh;padding:22px;overflow:auto;box-shadow:0 24px 90px #00000073}.modalHead{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.modalHead h2{margin:0;font-size:19px}.modalHead p{color:var(--muted);margin:5px 0 0;font-size:11px}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.formField{flex-direction:column;gap:7px;display:flex}.formField label{color:#b9bec5;font-size:11px}.formField.wide{grid-column:1/-1}.formActions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.emptyState{color:var(--muted);text-align:center;padding:46px 20px;font-size:12px}.plannerWrap{padding-bottom:8px;overflow-x:auto}.planner{grid-template-columns:repeat(5,minmax(190px,1fr));gap:10px;min-width:1050px;display:grid}.dayColumn{background:var(--panel);border:1px solid var(--border);border-radius:10px;min-height:480px;padding:10px}.dayHead{border-bottom:1px solid var(--border);margin-bottom:10px;padding:8px 7px 12px}.dayHead strong{font-size:12px;display:block}.dayHead span{color:var(--muted);font-size:10px}.planCard{background:var(--panel-2);border:1px solid #31363d;border-left:3px solid var(--orange);border-radius:8px;margin-bottom:9px;padding:10px}.planCard h4{margin:0 0 5px;font-size:11px}.planCard p{color:var(--muted);margin:3px 0;font-size:9px}.planMeta{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.employeeGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.employeeCard{background:var(--panel);border:1px solid var(--border);border-radius:11px;padding:18px}.employeeTop{align-items:center;gap:11px;margin-bottom:14px;display:flex}.bigAvatar{width:46px;height:46px;color:var(--orange);background:#ff6a0021;border-radius:50%;place-items:center;font-weight:900;display:grid}.employeeTop h3{margin:0;font-size:13px}.employeeTop p{color:var(--muted);margin:4px 0 0;font-size:10px}.kv{grid-template-columns:95px 1fr;gap:7px 10px;font-size:10px;display:grid}.kv span:nth-child(odd){color:var(--muted)}.xpBar{background:#24282e;border-radius:99px;height:7px;margin-top:10px;overflow:hidden}.xpFill{background:var(--orange);border-radius:inherit;height:100%}.metricStrip{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.metric{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px}.metric span{color:var(--muted);font-size:10px}.metric strong{margin-top:7px;font-size:20px;display:block}.progress{background:#24282e;border-radius:99px;height:8px;overflow:hidden}.progress>span{background:var(--orange);height:100%;display:block}.settingsGrid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.settingsCard{background:var(--panel);border:1px solid var(--border);border-radius:11px;padding:19px}.settingsCard h2{margin:0 0 16px;font-size:15px}.settingsCard .formGrid{grid-template-columns:1fr 1fr}.notice{color:#b9d5fb;background:#6ba8f514;border:1px solid #6ba8f540;border-radius:8px;margin-bottom:16px;padding:11px 13px;font-size:11px;line-height:1.45}.mobileHint{display:none}@media (max-width:1100px){.statsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2,.grid2equal,.settingsGrid{grid-template-columns:1fr}.employeeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){:root{--sidebar:70px}.sidebar{padding:20px 8px 14px}.brand{text-align:center;padding:0 0 22px;font-size:0}.brand:after{content:"W";color:var(--orange);font-size:23px}.navItem{justify-content:center;padding:10px 6px}.navText,.sidebarUser{display:none}.navIcon{font-size:17px}.sidebarFoot{justify-content:center;padding-left:0;padding-right:0}.page{padding:23px 14px 35px}.pageHeader{align-items:flex-start}.pageHeader h1{font-size:24px}.statsGrid,.employeeGrid,.formGrid,.settingsCard .formGrid{grid-template-columns:1fr}.formField.wide{grid-column:auto}.metricStrip{grid-template-columns:1fr}.searchInput{width:100%;max-width:none}.toolbar,.toolbarLeft,.toolbarRight{width:100%}.toolbarRight{justify-content:space-between}.jobListRow{grid-template-columns:52px 1fr}.jobListRow>.badge{display:none}.mobileHint{color:var(--muted);margin-bottom:10px;font-size:10px;display:block}}.authLoading{background:var(--bg);min-height:100vh;color:var(--muted);justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.authSpinner{border:2px solid #2a2f36;border-top-color:var(--orange);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite authSpin}@keyframes authSpin{to{transform:rotate(360deg)}}.loginPage{background:radial-gradient(circle at 50% 20%, #ff6a001a, transparent 35%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{background:var(--panel);border:1px solid var(--border);border-radius:16px;width:min(420px,100%);padding:32px;box-shadow:0 30px 100px #00000059}.loginBrand{letter-spacing:.7px;margin-bottom:30px;font-size:26px;font-weight:950}.loginBrand span{color:var(--orange)}.loginCard h1{margin:0;font-size:27px}.loginSub{color:var(--muted);margin:8px 0 24px;font-size:12px}.loginForm{gap:14px;display:grid}.loginForm label{color:#c3c7ce;gap:7px;font-size:11px;display:grid}.loginSubmit{width:100%;margin-top:4px}.loginSwitch{width:100%;color:var(--orange);cursor:pointer;background:0 0;border:0;margin-top:18px;font-size:11px}.loginError,.loginMessage{border-radius:8px;padding:10px 12px;font-size:11px;line-height:1.45}.loginError{color:#ff9c9c;background:#ff5c5c14;border:1px solid #ff5c5c40}.loginMessage{color:#93e6ad;background:#35c46a14;border:1px solid #35c46a40}.pageError{margin-bottom:14px}.sidebarFootStack{display:block}.sidebarAccount{align-items:center;gap:10px;min-width:0;display:flex}.sidebarUser strong{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.logoutBtn{color:#8d949d;border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:7px;width:100%;margin-top:10px;padding:7px 9px;font-size:10px}.logoutBtn:hover{color:#fff;border-color:#444a52}.cloudNotice{color:#9fd9b2;background:#35c46a12;border:1px solid #35c46a33;border-radius:8px;align-items:center;gap:8px;margin-bottom:15px;padding:10px 12px;font-size:10px;display:flex}.cloudDot{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #35c46a14}.dangerLink{color:#ff8585;cursor:pointer;background:0 0;border:0;font-size:10px}@media (max-width:760px){.sidebarFootStack{justify-content:center;display:flex}.logoutBtn{display:none}}.employeeActions{grid-template-columns:1fr auto;align-items:center;gap:8px;margin-top:14px;display:grid}.employeeActions .dangerLink{grid-column:1/-1;justify-self:end}button:disabled{opacity:.5;cursor:not-allowed}@media (max-width:760px){.employeeActions{grid-template-columns:1fr}.employeeActions .dangerLink{grid-column:auto;justify-self:start}}.rowActions{white-space:nowrap;align-items:center;gap:12px;display:flex}.techSelectors{background:var(--panel);border:1px solid var(--border);border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;padding:16px;display:grid}.techSelectors .select{width:100%}.techEmpty{background:var(--panel);border:1px solid var(--border);border-radius:11px}.techJobHero{background:linear-gradient(135deg,#ff6a001f,#ff6a0005);border:1px solid #ff6a0040;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px;padding:22px;display:flex}.techJobHero h2{margin:4px 0 8px;font-size:24px}.techJobHero p{color:var(--muted);margin:4px 0;font-size:11px}.techEyebrow{color:var(--orange);letter-spacing:.8px;font-size:10px;font-weight:900}.techHeroStatus{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.techStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.techStat{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:15px}.techStat span{color:var(--muted);font-size:10px;display:block}.techStat strong{margin-top:7px;font-size:17px;display:block}.techActionBar{background:var(--panel);border:1px solid var(--border);border-radius:11px;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:13px;display:flex}.techBigBtn{min-height:48px;padding:0 20px;font-size:13px}.finishBtn{background:var(--green);margin-left:auto}.finishBtn:hover{background:#2eaa5c}.doneBanner{color:#7de09d;background:#35c46a1a;border:1px solid #35c46a40;border-radius:8px;width:100%;padding:12px 14px;font-size:12px;font-weight:800}.techGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.techCard{background:var(--panel);border:1px solid var(--border);border-radius:11px;min-width:0;padding:17px}.techCardHead{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.techCardHead h3{margin:0;font-size:14px}.techCardHead>span:not(.badge){color:var(--muted);font-size:10px}.techMuted{color:var(--muted);font-size:11px}.techList{gap:8px;margin-top:12px;display:grid}.techListRow{background:var(--panel-3);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;display:flex}.techListRow strong{font-size:11px;display:block}.techListRow span{color:var(--muted);margin-top:4px;font-size:9px;display:block}.techListRow b{white-space:nowrap;font-size:10px}.techInlineForm{grid-template-columns:minmax(130px,2fr) repeat(3,minmax(70px,.7fr)) auto;gap:8px;display:grid}.smallInput{min-width:0}.techTextarea{width:100%;margin-bottom:8px}.techNotes{gap:8px;margin-top:12px;display:grid}.techNote{background:var(--panel-3);border:1px solid var(--border);border-radius:8px;padding:10px 11px}.techNote p{white-space:pre-wrap;margin:0;font-size:11px}.techNote span{color:var(--muted);margin-top:7px;font-size:9px;display:block}.photoUpload{background:var(--panel-3);min-height:92px;color:var(--orange);cursor:pointer;border:1px dashed #454b54;border-radius:9px;place-items:center;font-size:11px;font-weight:800;display:grid}.photoUpload input{display:none}.photoUploadBusy{opacity:.75;pointer-events:none;color:var(--muted);border-style:solid}.photoStatusHint{margin:8px 0 0}.photoGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.photoGrid img{aspect-ratio:1;object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%;display:block}.signatureCard{grid-column:1/-1}.savedSignature{color:#111;background:#fff;border-radius:8px;align-items:center;gap:12px;margin-bottom:12px;padding:10px;display:flex}.savedSignature img{object-fit:contain;max-width:220px;max-height:70px}.savedSignature span{font-size:10px}.signatureCanvas{touch-action:none;cursor:crosshair;background:#fff;border:1px solid #dadde2;border-radius:8px;width:100%;height:180px;margin-top:10px;display:block}.signatureActions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}@media (max-width:1000px){.techGrid{grid-template-columns:1fr}.signatureCard{grid-column:auto}.techInlineForm{grid-template-columns:1fr 1fr}.techInlineForm .primaryBtn{grid-column:1/-1}}@media (max-width:760px){.techSelectors,.techStats{grid-template-columns:1fr}.techJobHero{flex-direction:column}.techHeroStatus{justify-content:flex-start}.techActionBar{grid-template-columns:1fr;display:grid}.finishBtn{margin-left:0}.techBigBtn{width:100%}.techInlineForm{grid-template-columns:1fr 1fr}.photoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.savedSignature{flex-direction:column;align-items:flex-start}}.companyMini{border:1px solid var(--border);background:var(--panel-3);border-radius:8px;min-width:0;margin:-8px 8px 14px;padding:10px 11px}.companyMini strong{color:#eef1f5;white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.companyMini span{color:var(--orange);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:8px;display:block}.onboardingCard{width:min(520px,100%)}.onboardingTabs{background:var(--panel-3);border:1px solid var(--border);border-radius:9px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px;padding:5px;display:grid}.onboardingTabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px;font-size:11px}.onboardingTabs button.active{background:var(--orange);color:#fff;font-weight:800}.onboardingEmail{color:var(--muted);text-align:center;margin:18px 0 0;font-size:10px}.inviteCodeInput{text-transform:uppercase;letter-spacing:1px;font-weight:800}.teamGrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.teamInviteForm{grid-template-columns:1.5fr 1fr auto;align-items:end;gap:10px;display:grid}.teamInviteForm label{color:#c3c7ce;gap:6px;font-size:10px;display:grid}@media (max-width:1000px){.teamGrid,.teamInviteForm{grid-template-columns:1fr}}@media (max-width:760px){.companyMini{display:none}}.workerSelectors{grid-template-columns:minmax(0,1fr)}.workerMaterialForm{grid-template-columns:minmax(160px,2fr) minmax(80px,.7fr) minmax(80px,.7fr) auto}.workerJobLink{color:inherit;text-decoration:none;transition:background .15s,border-color .15s}.workerJobLink:hover{background:var(--panel-3)}.workerStats{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){.workerMaterialForm{grid-template-columns:1fr 1fr}.workerMaterialForm .primaryBtn{grid-column:1/-1}.workerStats{grid-template-columns:1fr}}.memberManageRow{background:var(--panel-3);border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(0,1fr) 130px auto;align-items:center;gap:8px;padding:10px 11px;display:grid}.memberIdentity{min-width:0}.memberIdentity strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.memberIdentity span{color:var(--muted);margin-top:4px;font-size:9px;display:block}.memberRoleSelect{min-width:0}@media (max-width:760px){.memberManageRow{grid-template-columns:1fr}.memberRoleSelect{width:100%}}.compactStatus{color:#fff;background:#161616;border:1px solid #333;border-radius:10px;min-width:128px;padding:8px 10px}.smallBtn{padding:8px 12px;font-size:12px}.docItemsEditor{background:#111;border:1px solid #2f2f2f;border-radius:14px;margin:18px 0;overflow:hidden}.docItemsHead{border-bottom:1px solid #2f2f2f;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.docItemRow{border-bottom:1px solid #252525;grid-template-columns:34px 110px minmax(180px,1fr) 80px 80px 100px 110px 34px;align-items:center;gap:8px;padding:10px 12px;display:grid}.docItemRow:last-child{border-bottom:0}.posNo{color:#f59d0a;text-align:center;font-weight:700}.docDesc,.docQty,.docUnit,.docPrice{min-width:0}.dangerIcon{color:#ff8a8a;cursor:pointer;background:#211515;border:1px solid #493030;border-radius:8px;width:32px;height:32px;font-size:20px}.dangerIcon:disabled{opacity:.35;cursor:not-allowed}.docTotals{color:#aaa;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:22px;margin:12px 0 18px;display:flex}.docTotals span{gap:8px;display:flex}.docGrandTotal{color:#fff;font-size:18px}.docGrandTotal b{color:#f59d0a}.docPreview{color:#171717;background:#fff;border-radius:14px;max-height:62vh;padding:32px;overflow:auto}.docPreviewTop{border-bottom:2px solid #efefef;justify-content:space-between;gap:24px;margin-bottom:22px;padding-bottom:18px;display:flex}.docPreviewTop h2,.docPreviewMeta h2{margin:0 0 6px}.docPreviewTop p{color:#555;margin:4px 0;line-height:1.45}.docPreviewMeta{text-align:right;flex-direction:column;gap:4px;display:flex}.docPreviewMeta strong{font-size:18px}.docLogo{object-fit:contain;max-width:150px;max-height:64px;margin-bottom:8px}.docCustomer{flex-direction:column;gap:2px;margin:20px 0;display:flex}.docCustomer small{letter-spacing:.08em;color:#777;font-size:10px}.docCustomer strong{font-size:16px}.docPreviewTable{border-collapse:collapse;width:100%;margin-top:18px}.docPreviewTable th,.docPreviewTable td{text-align:left;border-bottom:1px solid #e8e8e8;padding:9px 7px;font-size:12px}.docPreviewTable th:nth-child(n+3),.docPreviewTable td:nth-child(n+3){text-align:right}.docPreviewTotals{flex-direction:column;gap:7px;width:min(360px,100%);margin-left:auto;padding-top:16px;display:flex}.docPreviewTotals span{justify-content:space-between;display:flex}.docPreviewTotals span:last-child{border-top:2px solid #222;padding-top:8px;font-size:17px}.docNote{white-space:pre-wrap;margin-top:24px}.docFooterText{color:#666;white-space:pre-wrap;border-top:1px solid #ddd;margin-top:30px;padding-top:14px;font-size:11px}@media (max-width:1100px){.docItemRow{grid-template-columns:30px 100px minmax(160px,1fr) 70px 70px 90px 100px 32px}}@media (max-width:820px){.docItemRow{grid-template-columns:28px 1fr 1fr}.docItemRow .docDesc{grid-column:2/4}.docItemRow .docQty,.docItemRow .docUnit,.docItemRow .docPrice{min-width:0}.docItemRow strong{grid-column:2/3}.docPreview{padding:18px}.docPreviewTop{flex-direction:column}.docPreviewMeta{text-align:left}}.taxNotice{color:#f1c982;background:#f59d0a14;border:1px solid #f59d0a52;border-radius:10px;padding:11px 13px;font-size:11px;line-height:1.5}.lightTaxNotice{color:#5b4a22;background:#fff8e8;border-color:#ead6a5;margin-top:16px}.input:disabled{opacity:.55;cursor:not-allowed}.docActionBar{flex-wrap:wrap}.documentSendInfo{color:#ddd;background:#121212;border:1px solid #2f2f2f;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;display:flex}.documentSendInfo span{font-weight:800}.documentSendInfo small{color:#888}.emailSendForm{gap:14px;display:grid}.emailHint{color:#9da5b0;background:#121417;border:1px solid #30343a;border-radius:10px;padding:11px 13px;font-size:11px;line-height:1.5}.sendSuccess{color:#88e3a7;background:#35c46a1a;border:1px solid #35c46a59;border-radius:10px;padding:11px 13px;font-size:12px;font-weight:800}@media (max-width:760px){.documentSendInfo{flex-direction:column;align-items:flex-start}.docActionBar{grid-template-columns:1fr;display:grid}.docActionBar button{width:100%}}.offerPortalBox{background:#121212;border:1px solid #2f2f2f;border-radius:12px;margin-top:14px;padding:14px}.offerPortalHead{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.offerPortalHead strong{color:#fff;font-size:13px}.offerPortalHead span{color:#888;font-size:11px}.offerPortalActive p{color:#ddd;margin:0 0 4px;font-size:12px}.offerPortalActive small{color:#888}.customerResponseBox{background:#f59d0a12;border:1px solid #f59d0a47;border-radius:10px;flex-direction:column;gap:4px;margin-top:12px;padding:10px 12px;display:flex}.customerResponseBox strong{color:#f1c982}.customerResponseBox span,.customerResponseBox p{color:#cfcfcf;margin:0;font-size:12px}.docTimeline{background:#101010;border:1px solid #2a2a2a;border-radius:12px;margin-top:14px;padding:12px}.docTimeline strong{color:#eee;margin-bottom:8px;display:block}.docTimeline ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.docTimeline li{color:#ccc;border-bottom:1px solid #222;justify-content:space-between;gap:12px;padding-bottom:6px;font-size:12px;display:flex}.docTimeline li:last-child{border-bottom:0;padding-bottom:0}.docTimeline small{color:#777;white-space:nowrap}.workflowStrip{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.workflowChip{color:#ddd;background:#161616;border:1px solid #333;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:11px;text-decoration:none;display:inline-flex}.workflowChip:hover{border-color:var(--orange);color:#fff}.workflowChip b{color:var(--orange)}.dangerGhost{color:#ff8a8a!important;border-color:#493030!important}.publicOfferPage{color:#111;-webkit-text-size-adjust:100%;background:#0b0b0b;min-height:100vh;padding:28px 16px}.publicOfferCard{background:#fff;border-radius:18px;width:min(860px,100%);margin:0 auto;padding:28px 26px 22px;box-shadow:0 18px 50px #00000059}.publicTopBar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.publicBrand{letter-spacing:.4px;color:#111;margin:0;font-size:14px;font-weight:900}.publicBrand span{color:#ff6a00}.publicCompanyHead{border-bottom:2px solid #efefef;justify-content:space-between;gap:20px;margin-bottom:16px;padding-bottom:16px;display:flex}.publicCompanyIdentity{align-items:flex-start;gap:14px;min-width:0;display:flex}.publicCompanyLogo{object-fit:contain;flex:none;max-width:120px;max-height:52px}.publicCompanyLabel{letter-spacing:.04em;text-transform:uppercase;color:#888;margin:0 0 2px;font-size:11px;font-weight:700}.publicCompanyName,.publicCompanyHead h1{word-break:break-word;margin:0 0 6px;font-size:clamp(20px,4.5vw,26px);line-height:1.2}.publicMeta{text-align:right;flex-direction:column;flex:none;gap:4px;font-size:13px;display:flex}.publicMeta strong{font-size:16px}.publicStatus{color:#c45a00;white-space:nowrap;background:#fff3e8;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:800;display:inline-block}.publicStatusAccept{color:#0f7a3a;background:#e8f8ef}.publicStatusReject{color:#b42318;background:#fdecec}.publicStatusChange{color:#3730a3;background:#eef2ff}.publicMuted{color:#777;font-size:12px;line-height:1.45}.publicCustomerLine{margin:8px 0 14px;font-size:14px}.publicTitle{margin:0 0 8px;font-size:clamp(17px,3.5vw,20px)}.publicIntro{color:#444;line-height:1.5}.publicTableWrap{-webkit-overflow-scrolling:touch;margin:18px 0;overflow:auto}.publicTable{border-collapse:collapse;width:100%;min-width:480px}.publicTable th,.publicTable td{text-align:left;vertical-align:top;border-bottom:1px solid #ececec;padding:10px 8px;font-size:13px}.publicTable th:nth-child(n+3),.publicTable td:nth-child(n+3){text-align:right;white-space:nowrap}.publicTotals{background:#f7f7f8;border:1px solid #ececec;border-radius:14px;gap:10px;width:min(340px,100%);margin-top:8px;margin-left:auto;padding:14px 16px;display:grid}.publicTotals>div{justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;display:flex}.publicTotals>div strong{font-variant-numeric:tabular-nums;font-size:15px}.publicGrand{border-top:2px solid #222;margin-top:2px;padding-top:10px;font-size:18px}.publicGrand span{font-weight:800}.publicGrand strong{font-variant-numeric:tabular-nums;color:#111;font-size:22px}.publicNotes{white-space:pre-wrap;color:#444;margin-top:18px}.publicRespondForm{border-top:1px solid #eee;gap:12px;margin-top:22px;padding-top:18px;display:grid}.publicRespondForm h3,.publicRespondHint{margin:0}.publicRespondForm .input,.publicRespondForm .textarea{color:#111;background:#fafafa;border:1px solid #ddd;font-size:16px}.publicSignature{touch-action:none;cursor:crosshair;background:#fbfbfb;border:1px dashed #ccc;border-radius:12px;width:100%;height:160px}.publicActions{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.publicActions .primaryBtn,.publicActions .ghostBtn{min-height:46px;font-size:14px}.publicFooter{color:#666;border-top:1px solid #eee;margin-top:28px;padding-top:14px;font-size:12px}.publicFooterCompany{color:#222;margin:0 0 6px;font-size:13px}.publicResponseDone{background:#f6f8fa;border:1px solid #e5e8eb;border-radius:12px;margin-top:18px;padding:14px}.publicLockedBanner{background:#f3faf6;border:1px solid #dce5df;border-radius:14px;margin:4px 0 18px;padding:16px 16px 14px}.publicLockedAccept{background:#f3faf6;border-color:#b7e0c5}.publicLockedReject{background:#fff6f6;border-color:#f0c4c4}.publicLockedChange{background:#f5f6ff;border-color:#c9cff5}.publicLockedHead{align-items:flex-start;gap:12px;display:flex}.publicLockedIcon{background:#fff;border:1px solid #00000014;border-radius:999px;flex:none;place-items:center;width:36px;height:36px;font-size:18px;font-weight:900;display:grid}.publicLockedAccept .publicLockedIcon{color:#0f7a3a;border-color:#b7e0c5}.publicLockedReject .publicLockedIcon{color:#b42318;border-color:#f0c4c4}.publicLockedChange .publicLockedIcon{color:#3730a3;border-color:#c9cff5}.publicLockedHead h3{margin:0 0 4px;font-size:17px;line-height:1.25}.publicLockedSub{color:#555;margin:0;font-size:12px}.publicLockedMeta{color:#555;margin:10px 0 0;font-size:12px}.publicLockedMsg{white-space:pre-wrap;color:#333;background:#ffffffbf;border:1px solid #0000000f;border-radius:10px;margin:8px 0 0;padding:10px 12px;font-size:13px}.publicNextSteps{margin-top:12px}.publicNextSteps strong{text-transform:uppercase;letter-spacing:.04em;color:#555;margin-bottom:6px;font-size:12px;display:block}.publicNextSteps ul{gap:4px;margin:0;padding-left:18px;display:grid}.publicNextSteps li{color:#222;font-size:13px;line-height:1.45}.publicLockedNote{color:#555;background:#f6f8fa;border:1px dashed #cfd6dd;border-radius:12px;margin-top:18px;padding:12px 14px;font-size:13px;font-weight:600}.publicAlert{border-radius:12px;margin-top:14px;padding:12px 14px;font-size:13px;font-weight:700;line-height:1.4}.publicAlertError{color:#9b1c1c;background:#fff1f1;border:1px solid #f0c4c4}@media (max-width:720px){.publicOfferPage{padding:12px 10px 28px}.publicOfferCard{border-radius:14px;padding:18px 14px 16px}.publicCompanyHead{flex-direction:column}.publicMeta{text-align:left}.publicActions{grid-template-columns:1fr;display:grid}.publicActions button{width:100%}.publicTotals{width:100%;margin-left:0}.publicTable{min-width:0}.publicTable thead{display:none}.publicTable,.publicTable tbody,.publicTable tr,.publicTable td{width:100%;display:block}.publicTable tr{border-bottom:1px solid #ececec;padding:12px 0}.publicTable td{text-align:right;border:0;justify-content:space-between;gap:12px;padding:4px 0;font-size:13px;display:flex}.publicTable td:before{content:attr(data-label);color:#666;text-align:left;flex:0 0 42%;font-weight:700}.publicTable td:nth-child(2){text-align:left;padding-bottom:8px;font-weight:600;display:block}.publicTable td:nth-child(2):before{display:none}.publicSignature{height:140px}}.procurementDetail{border:1px solid var(--border);background:var(--panel-2);border-radius:14px;margin-top:18px;padding:16px}.procurementHead{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.procurementHead h3{margin:0}.procurementHead span{color:var(--muted);font-size:11px}@media (max-width:700px){.procurementHead{flex-direction:column;align-items:flex-start}}.rowOverdue td{background:#ff5c5c0f}.rowOverdue:hover td{background:#ff5c5c1a}.overduePill{letter-spacing:.02em;color:#ff9c9c;vertical-align:middle;background:#ff5c5c24;border:1px solid #ff5c5c47;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-block}.dueOverdue{color:#ff8f8f;font-weight:700}.statusOverdue{color:#ff9c9c;border-color:#ff5c5c73!important}.overdueBanner{color:#ffb0b0;background:#ff5c5c1a;border:1px solid #ff5c5c59;border-radius:10px;flex-direction:column;gap:4px;margin-bottom:12px;padding:11px 13px;display:flex}.overdueBanner strong{letter-spacing:.04em;text-transform:uppercase;font-size:12px}.overdueBanner span{color:#ffc9c9;font-size:12px}.emptyStateRich{flex-direction:column;align-items:center;gap:6px;padding:40px 22px;display:flex}.emptyStateTitle{color:#e8ebf0;margin-bottom:2px;font-size:14px;font-weight:800;display:block}.emptyStateBody{color:var(--muted);max-width:360px;font-size:12px;line-height:1.45}.emptyStateHint{color:#6f7680;max-width:380px;margin:4px 0 0;font-size:11px;line-height:1.45}.loadingState{justify-content:center;align-items:center;gap:10px;width:100%;display:inline-flex}.inlineSpinner{border:2px solid #2a2f36;border-top-color:var(--orange);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite authSpin}.safeAreaPad{padding-bottom:max(12px, env(safe-area-inset-bottom));padding-left:max(0px, env(safe-area-inset-left));padding-right:max(0px, env(safe-area-inset-right))}.fullWidthBtn{width:100%}.techTapSelect{min-height:48px;font-size:14px}.techBackBtn{min-height:42px;font-size:12px}.techTodayBlock{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-bottom:14px;padding:14px}.techSectionHead{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;padding:0 2px;display:flex}.techSectionHead h2{margin:0;font-size:15px}.techSectionHead span{color:var(--muted);font-size:11px}.techJobCards{gap:10px;display:grid}.techJobCardsCompact .techJobCard{min-height:64px}.techJobCard{text-align:left;background:var(--panel-3);border:1px solid var(--border);width:100%;min-height:76px;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;transition:border-color .15s,background .15s;display:grid}.techJobCard:hover,.techJobCard:focus-visible{background:#171a1e;border-color:#ff6a0073;outline:none}.techJobCard:active{transform:scale(.992)}.techJobCardTime{color:var(--orange);letter-spacing:-.2px;font-size:15px;font-weight:900}.techJobCardDate{font-size:11px;font-weight:800;line-height:1.25}.techJobCardBody{min-width:0}.techJobCardBody strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.techJobCardBody span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;display:block;overflow:hidden}.techJobCardMeta{color:#6f7680!important;font-size:10px!important}.techJobCardStatus{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.techPadHint{padding:8px 4px 4px}.techStickyActions{z-index:12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141619f0;position:sticky;bottom:0;box-shadow:0 -8px 24px #00000047}.technicianPage.hasActiveJob{padding-bottom:28px}.technicianPage .techBigBtn{border-radius:10px;min-height:52px;font-size:14px}@media (max-width:760px){.technicianPage{padding-left:12px;padding-right:12px;padding-bottom:max(28px, env(safe-area-inset-bottom))}.techJobCard{grid-template-columns:56px minmax(0,1fr)}.techJobCardStatus{flex-direction:row;grid-column:2;justify-content:flex-start;margin-top:-4px}.techStickyActions{padding:12px 12px max(12px, env(safe-area-inset-bottom));border-left:0;border-right:0;border-radius:0;margin-left:-12px;margin-right:-12px}.techActionBar{grid-template-columns:1fr;gap:10px;display:grid}.finishBtn{margin-left:0}.photoUpload{min-height:108px;font-size:13px}.signatureCanvas{height:200px}.techTapSelect,.technicianPage .select,.technicianPage .input,.technicianPage .textarea{min-height:48px;font-size:14px}.technicianPage .primaryBtn,.technicianPage .secondaryBtn,.technicianPage .ghostBtn{min-height:48px}}.topBar{z-index:30;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0c0eeb;align-items:center;gap:12px;padding:10px 18px;display:flex;position:sticky;top:0}.globalSearch{flex:1;width:min(520px,100%);max-width:560px;position:relative}.globalSearchField{background:var(--panel);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;min-height:40px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:flex}.globalSearchField:focus-within{border-color:var(--orange);box-shadow:0 0 0 2px #ff6a0014}.globalSearchIcon{color:var(--muted);flex:none;font-size:15px}.globalSearchInput{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:8px 0;font-size:13px}.globalSearchInput::placeholder{color:#626872}.globalSearchKbd{color:#6f7680;background:#121417;border:1px solid #2f343b;border-radius:5px;flex:none;padding:2px 6px;font-family:inherit;font-size:10px}.globalSearchPanel{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;max-height:min(420px,70vh);display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 18px 50px #00000073}.globalSearchList{margin:0;padding:6px;list-style:none;overflow-y:auto}.globalSearchList li{margin:0}.globalSearchItem{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:flex-start;gap:10px;padding:10px;display:flex}.globalSearchItem:hover,.globalSearchItem:focus-visible{background:var(--panel-2);outline:none}.globalSearchBadge{letter-spacing:.02em;text-transform:uppercase;border:1px solid var(--border);color:#c3c7ce;background:#121417;border-radius:999px;flex:none;margin-top:2px;padding:3px 7px;font-size:9px;font-weight:800}.globalSearchBadge.kind-customer{color:#6ba8f5;background:#6ba8f514;border-color:#6ba8f559}.globalSearchBadge.kind-job{color:#ff6a00;background:#ff6a0014;border-color:#ff6a0059}.globalSearchBadge.kind-document{color:#f4c95d;background:#f4c95d14;border-color:#f4c95d59}.globalSearchBadge.kind-lead{color:#35c46a;background:#35c46a14;border-color:#35c46a59}.globalSearchBadge.kind-error_code{color:#e87a7a;background:#e87a7a14;border-color:#e87a7a59}.globalSearchBadge.kind-device{color:#9b8af5;background:#9b8af514;border-color:#9b8af559}.globalSearchBadge.kind-template{color:#5ec8d8;background:#5ec8d814;border-color:#5ec8d859}.globalSearchBadge.kind-site{color:#c9a66b;background:#c9a66b14;border-color:#c9a66b59}.globalSearchText{flex-direction:column;gap:2px;min-width:0;display:flex}.globalSearchText strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.globalSearchText span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.globalSearchEmpty{text-align:center;color:var(--muted);padding:18px 16px;font-size:12px}.plannerPage .planner{gap:8px}.dayColumn.dayToday{border-color:#ff6a0059;box-shadow:inset 0 0 0 1px #ff6a001f}.dayColumn.dayEmpty{background:#121417}.plannerDayEmpty{min-height:120px;color:var(--muted);border:1px dashed #2a2e34;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;margin-top:4px;padding:16px 8px;display:flex}.plannerDayEmptyTitle{color:#6f7680;font-size:12px;font-weight:800}.plannerDayEmptyHint{color:#555b64;font-size:10px}.planCard{margin-bottom:7px;padding:8px 9px}.planCardTop{justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;display:flex}.planCardTime{color:var(--orange);letter-spacing:-.2px;font-size:11px;font-weight:900}.planCard h4{margin:0 0 3px;font-size:11px;line-height:1.3}.planCard p{margin:2px 0}.planCardCustomer{font-weight:600;color:#cfd3d9!important;font-size:10px!important}.planCardAssignee{font-size:9px!important}.planMeta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex}.dayColumn{flex-direction:column;min-height:420px;display:flex}@media (max-width:760px){.topBar{padding:8px 12px}.globalSearch{width:100%;max-width:none}.globalSearchKbd{display:none}.planner{grid-template-columns:repeat(5,minmax(140px,1fr));gap:6px;min-width:720px}.dayColumn{min-height:360px;padding:8px}.planCard{margin-bottom:6px;padding:7px 8px}.planCard h4{font-size:10px}.plannerDayEmpty{min-height:90px;padding:12px 6px}}.pwaInstallHint{background:#ff6a0014;border:1px solid #ff6a0047;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 14px;padding:12px 14px;display:flex}.pwaInstallHintBody{flex-direction:column;gap:4px;min-width:0;display:flex}.pwaInstallHint strong{color:var(--orange);font-size:12px}.pwaInstallHint span{color:var(--muted);font-size:11px;line-height:1.35}@media (display-mode:standalone){.pwaInstallHint{display:none!important}}.sidebarFootActions{align-items:center;gap:8px;margin-top:10px;display:flex}.sidebarFootActions .logoutBtn{flex:1;margin-top:0}.brandRow{justify-content:space-between;align-items:center;gap:8px;padding:0 7px 4px;display:flex}.versionChip{letter-spacing:.04em;color:#d1d5db;border:1px solid var(--border);-webkit-user-select:none;user-select:none;background:#ffffff14;border-radius:999px;flex:none;padding:4px 8px;font-size:10px;font-weight:700}.schnellstartStrip{border:1px solid var(--border);background:#ffffff05;border-radius:11px;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px 14px;display:flex}.schnellstartLabel{letter-spacing:.6px;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800}.schnellstartChips{align-items:center;margin-bottom:0}.schnellstartArrow{color:#555;-webkit-user-select:none;user-select:none;font-size:11px}.schnellstartLabelSecondary{opacity:.85;margin-top:4px}.schnellstartSecondary{flex-wrap:wrap;gap:6px}.workflowChipQuiet{opacity:.92;font-weight:600}.workflowChipQuiet:hover{opacity:1}@media (max-width:760px){.sidebarFootActions,.schnellstartArrow{display:none}}.versandFilters{flex-wrap:wrap;gap:8px;display:flex}.versandFilterActive{border-color:var(--orange)!important;color:#fff!important;background:#1a1510!important}.versandConfigCard h2{margin-top:0}.versandConfigStatus{color:#bbb;margin:0;font-size:12px}.versandOk{color:#88e3a7}.versandWarn{color:#f1c982}.versandDetails{color:#aaa;word-break:break-word;max-width:280px;font-size:11px}.versandConfigCard code{color:#c9d1d9;font-size:10px}.siteExpandRow td{background:#0f0f0f;border-bottom:1px solid #2a2a2a;padding:0!important}.siteExpandPanel{padding:14px 16px 18px}.siteExpandHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.siteExpandHead strong{font-size:13px;display:block}.siteCards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.siteCard{background:#141414;border:1px solid #333;border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.siteCardInactive{opacity:.55;border-style:dashed}.siteCardTop{justify-content:space-between;align-items:center;gap:8px;display:flex}.siteCardTop strong{color:#f59d0a}.siteInactiveBadge{letter-spacing:.04em;text-transform:uppercase;color:#aaa;border:1px solid #444;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.siteCardAddr{color:#ddd;margin:0;font-size:13px}.siteCardTenant{color:#bbb;margin:0;font-size:12px}.siteCardTenant span{color:#888}.siteCardNotes{color:#888;white-space:pre-wrap;margin:0;font-size:11px}.techAddrSplit{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px;display:grid}@media (max-width:720px){.techAddrSplit{grid-template-columns:1fr}}.techAddrCard{background:#141414;border:1px solid #333;border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.techAddrCard small{letter-spacing:.08em;color:#888;font-size:10px;font-weight:700}.techAddrEinsatz{background:#f59d0a0f;border-color:#f59d0a73}.techAddrRechnung{border-color:#333}.techAddrMieter{color:#ccc;flex-direction:column;gap:2px;margin-top:4px;font-size:12px;display:flex}.techAddrMieter a{color:#f59d0a;text-decoration:none}.docEinsatzort{border-top:1px dashed #ddd;margin-top:8px;padding-top:8px}.docEinsatzort small{color:#888}.hourPlannerPage .pageHeader{margin-bottom:10px}.plannerDateInput{max-width:150px;padding:7px 10px;font-size:12px}.hourPlannerHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.hourPlannerDateBlock{flex-direction:column;gap:2px;display:flex}.hourPlannerWeekday{letter-spacing:-.3px;text-transform:capitalize;font-size:16px}.hourPlannerDate{color:var(--muted);font-size:12px}.hourUnassignedCounter{border:1px solid var(--border);background:var(--panel-2);color:#d7dbe1;cursor:pointer;border-radius:999px;padding:8px 14px;font-size:12px}.hourUnassignedCounter.hasUnassigned{color:#ffd2b0;background:#ff6a001a;border-color:#ff6a0073}.hourUnassignedCounter strong{color:var(--orange);margin-left:4px;font-weight:900}.hourPlannerLayout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:12px;display:grid}.hourGridWrap{-webkit-overflow-scrolling:touch;padding-bottom:8px;overflow-x:auto}.hourGrid{border:1px solid var(--border);background:var(--panel);border-radius:12px;min-width:max(640px,100%);display:grid;overflow:hidden}.hourCorner,.hourColHead,.hourLabel,.hourCell{border-bottom:1px solid #25292f;border-right:1px solid #25292f}.hourCorner{z-index:3;color:var(--muted);background:#16191d;padding:10px 8px;font-size:10px;font-weight:700;position:sticky;left:0}.hourColHead{z-index:2;background:#16191d;min-height:52px;padding:10px;position:sticky;top:0}.hourColHead strong{font-size:12px;display:block}.hourColSub{color:var(--muted);margin-top:3px;font-size:9px;display:block}.hourLabel{z-index:1;color:#9aa1aa;background:#14171b;align-items:flex-start;padding:8px;font-size:11px;font-weight:800;display:flex;position:sticky;left:0}.hourCell{background:#101215;flex-direction:column;gap:5px;min-height:72px;padding:5px;display:flex}.hourCellEmpty{background:#0e1013}.hourJobCard{text-align:left;cursor:pointer;background:var(--panel-2);border:1px solid #31363d;border-left:3px solid var(--orange);width:100%;color:inherit;border-radius:7px;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 7px;display:flex}.hourJobCard.prio-Hoch{border-left-color:#eab308}.hourJobCard.prio-Notfall{border-left-color:#ef4444}.hourJobCard:hover{border-color:#ff6a0073}.hourJobTime{color:var(--orange);font-size:10px;font-weight:900}.hourJobTitle{font-size:11px;font-weight:700;line-height:1.25}.hourJobCustomer{color:var(--muted);font-size:9px}.hourJobMeta{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.hourJobHours{color:#cfd3d9;background:#24282e;border-radius:999px;padding:1px 6px;font-size:9px;font-weight:800}.hourUnassignedPanel{background:var(--panel);border:1px solid var(--border);border-radius:12px;max-height:calc(100vh - 120px);padding:12px;position:sticky;top:8px;overflow:auto}.hourUnassignedHead{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.hourUnassignedHead strong{font-size:13px}.hourUnassignedHead span{color:var(--orange);background:#ff6a001f;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:900}.hourUnassignedEmpty{color:var(--muted);margin:0;font-size:11px}.hourUnassignedList{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.hourUnassignedItem{text-align:left;background:var(--panel-2);width:100%;color:inherit;cursor:pointer;border:1px solid #31363d;border-radius:8px;flex-direction:column;gap:2px;padding:8px 9px;display:flex}.hourUnassignedItem:hover{border-color:#ff6a0066}.hourUnassignedActions{gap:6px;margin-top:6px;display:flex}.hourUnassignedActions .ghostBtn,.hourUnassignedActions .secondaryBtn{padding:5px 8px;font-size:10px}@media (max-width:980px){.hourPlannerLayout{grid-template-columns:1fr}.hourUnassignedPanel{max-height:none;position:static}.hourGrid{min-width:560px}.hourCell{min-height:64px}}@media (max-width:640px){.plannerDateInput{max-width:130px}.hourPlannerWeekday{font-size:14px}.hourColHead strong{font-size:11px}.hourJobTitle{font-size:10px}}.headerActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fieldHint{color:#6f7680;margin:6px 0 0;font-size:11px;line-height:1.4}.checkLabel{color:#e8ebf0;cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.docNotesBlock{margin-top:8px}.calcToolbar .filterLabel{color:#9aa3ad;align-items:center;gap:6px;font-size:11px;display:flex}.calcToolbar .filterLabel .input{min-width:132px}.calcNotice{margin:0 0 14px}.calcWarnBanner{background:#f59d0a14;border-color:#f59d0a59;margin-bottom:14px}.calcWarnBanner strong{color:#f1c982}.calcWarnBanner span{color:#e8d4a8}.calcWarnPill{letter-spacing:.02em;color:#f1c982;background:#f59d0a29;border:1px solid #f59d0a59;border-radius:999px;margin-top:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.rowCalcWarn td{background:#f59d0a0d}.rowCalcWarn:hover td{background:#f59d0a17}.rowCalcActive td{background:#5a8cff14}.calcNeg{font-weight:700;color:#ff9c9c!important}.calcDetail{margin-top:18px}.calcDetailGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px;display:grid}.calcDetailCard{border:1px solid var(--border);background:var(--panel);border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.calcDetailCard span{color:#9aa3ad;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.calcDetailCard strong{color:#f3f5f7;font-size:18px}.calcDetailCard small{color:#7d8692;font-size:11px;line-height:1.4}.calcDetailCols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.calcDetailCols h4{color:#e8ebf0;margin:0 0 8px;font-size:13px}.calcWarnList{color:#f1c982;background:#f59d0a14;border:1px solid #f59d0a52;border-radius:10px;margin:0 0 12px;padding:10px 12px 10px 28px;font-size:12px}.calcModelHint{margin-top:14px}@media (max-width:980px){.calcDetailGrid{grid-template-columns:1fr 1fr}.calcDetailCols{grid-template-columns:1fr}}@media (max-width:640px){.calcDetailGrid{grid-template-columns:1fr}.calcToolbar .toolbarLeft{flex-wrap:wrap}}.techArriveBtn{letter-spacing:.01em;font-weight:800;box-shadow:0 6px 18px #e8782047;min-height:58px!important;font-size:16px!important}.techMapsLink{color:var(--orange);align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.techMapsLink:hover{text-decoration:underline}.techWarnBanner{color:#f3d9c0;background:#e878201f;border:1px solid #e8782073;border-radius:9px;margin-bottom:10px;padding:10px 12px;font-size:12px}.photoCatTabs{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px;display:grid}.photoCatTab{background:var(--panel-3);min-height:40px;color:var(--muted);cursor:pointer;border:1px solid #454b54;border-radius:8px;font-size:12px;font-weight:700}.photoCatTab.active{border-color:var(--orange);color:#fff;background:#e8782038}.photoGridItem{border-radius:8px;display:block;position:relative;overflow:hidden}.photoCatBadge{color:#fff;background:#000000b8;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800;position:absolute;bottom:6px;left:6px}.photoCat-vorher{background:#e87820e6}.photoCat-nachher{background:#2ea05ae6}.photoCat-sonst{background:#5a6478e6}.techChecklist{gap:8px;display:grid}.techCheckItem{background:var(--panel-3);cursor:pointer;border:1px solid #3a4048;border-radius:9px;align-items:flex-start;gap:10px;min-height:48px;padding:12px;font-size:13px;font-weight:600;display:flex}.techCheckItem input{width:20px;height:20px;accent-color:var(--orange);flex-shrink:0;margin-top:1px}.techCheckItem.done{opacity:.72;border-color:#2ea05a73}.techCheckItem.done span{color:var(--muted);text-decoration:line-through}@media (max-width:760px){.techArriveBtn{min-height:62px!important;font-size:17px!important}.photoCatTab{min-height:44px;font-size:13px}.techCheckItem{min-height:52px;font-size:14px}}.materialThumbCell{align-items:center;gap:10px;min-width:0;display:flex}.materialThumb{object-fit:cover;border:1px solid var(--border);background:var(--panel-3);border-radius:8px;flex:none;width:44px;height:44px}.materialThumbLarge{object-fit:cover;border:1px solid var(--border);background:var(--panel-3);border-radius:10px;width:96px;height:96px}.materialThumbPlaceholder{background:var(--panel-3);width:44px;height:44px;color:var(--muted);border:1px dashed #454b54;border-radius:8px;flex:none;place-items:center;font-size:16px;display:grid}.materialThumbPlaceholder.large{width:96px;height:96px;font-size:28px}.materialImageUpload{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.materialImageActions{align-content:start;gap:8px;display:grid}.tradeChipRow{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.materialGroupToggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;display:inline-flex}.materialSupplierGroup{margin-bottom:18px}.materialSupplierHeading{color:var(--text);margin:0 0 8px;font-size:14px;font-weight:800}.formFieldFull{grid-column:1/-1}.profileMetricStrip{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:16px}.profileSection{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.profileSectionTitle{letter-spacing:-.2px;margin:0 0 10px;font-size:13px;font-weight:800}.profileFootnote{color:#6f7680;margin:16px 0 0;font-size:11px;line-height:1.45}.techProfileStrip{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:12px 14px;display:flex}.techProfileStripWho{align-items:center;gap:10px;display:flex}.techProfileStripWho strong{font-size:14px;display:block}.techProfileStripWho span{color:var(--muted);font-size:11px}.techProfileStripStats{flex-wrap:wrap;gap:16px;display:flex}.techProfileStripStats div{min-width:72px}.techProfileStripStats span{color:var(--muted);font-size:10px;display:block}.techProfileStripStats strong{letter-spacing:-.3px;font-size:16px}@media (max-width:640px){.techProfileStrip{align-items:flex-start}.techProfileStripStats{justify-content:space-between;width:100%}}.modal:has(.profileMetricStrip){width:min(920px,96vw);max-width:920px}.modal:has(.profileMetricStrip) .modalHead{margin-bottom:8px}.serviceTemplateGrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:8px;display:grid}.serviceTemplateCard{background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);border-radius:14px;flex-direction:column;gap:8px;padding:14px 14px 12px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #0f172a0a}.serviceTemplateCard:hover{border-color:#c7d2fe;box-shadow:0 4px 14px #4f46e514}.serviceTemplateCard.isPaused{opacity:.72}.serviceTemplateCard.isDue{border-color:#fdba74}.serviceTemplateTop{justify-content:space-between;align-items:center;gap:8px;display:flex}.serviceTemplateKind{letter-spacing:.06em;text-transform:uppercase;color:#6366f1;background:#6366f11a;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.serviceTemplateTitle{color:#111827;margin:0;font-size:16px;font-weight:700;line-height:1.25}.serviceTemplateDesc{color:#6b7280;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin:0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.serviceTemplateMeta{color:#9ca3af;flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.serviceTemplateBadges{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.xpBadge{color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.priceBadge{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7;border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.xpBadge.tiny,.priceBadge.tiny{padding:1px 6px;font-size:10px}.serviceTemplateFooter{border-top:1px solid #f3f4f6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding-top:8px;display:flex}.modal:has(.akteRoot){width:min(720px,96vw);max-width:720px;max-height:min(92vh,900px);overflow:auto}.akteRoot{flex-direction:column;gap:14px;display:flex}.akteHeadMeta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px;display:flex}.akteSection{background:var(--panel,#fff);border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:12px 14px}.akteSectionTitle{letter-spacing:-.2px;margin:0;font-size:13px;font-weight:800}.akteSectionHead{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.akteSectionHead .akteSectionTitle{margin:0}.akteGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin-top:10px;display:grid}.akteGrid>div{flex-direction:column;gap:2px;min-width:0;display:flex}.akteLabel{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6b7280);font-size:10px;font-weight:700}.akteDesc{color:var(--muted,#6b7280);white-space:pre-wrap;margin:12px 0 0;font-size:13px;line-height:1.45}.akteEmpty{color:var(--muted,#6b7280);margin:0;font-size:13px}.akteTimeList{gap:8px;margin:0;padding:0;list-style:none;display:grid}.akteTimeList li{background:var(--panel-3,#f8fafc);border:1px solid var(--border,#e5e7eb);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.akteTimeList li>div{flex-direction:column;gap:2px;min-width:0;display:flex}.akteTimeDur{white-space:nowrap;font-size:12px;font-weight:700}.akteChecklist .techCheckItem{cursor:default}.akteCheckMark{width:20px;height:20px;color:var(--muted,#9ca3af);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.akteCheckMark.on{color:#16a34a}.aktePhotoGrid{margin-top:4px}.akteActions{border-top:1px solid var(--border,#e5e7eb);flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;padding-top:4px;display:flex}.akteTitleBtn{cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:0;display:flex}.akteTitleBtn:hover .cellTitle{color:var(--orange,#e87820);text-decoration:underline}@media (max-width:640px){.akteGrid{grid-template-columns:1fr}.akteActions{flex-direction:column;align-items:stretch}.akteActions .primaryBtn,.akteActions .ghostBtn{justify-content:center;width:100%}.aktePhotoGrid.photoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.billingGapPanel{margin-top:18px}.billingGapRow{grid-template-columns:72px 1fr auto}.billingGapActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.billingGapBtn{white-space:nowrap;padding:8px 12px;font-size:11px}@media (max-width:820px){.billingGapRow{grid-template-columns:1fr;gap:8px;padding:14px 18px}.billingGapRow .jobTime{font-size:11px}.billingGapActions{justify-content:flex-start;width:100%}}.offlineBanner{background:#ef44441f;border:1px solid #ef444473;border-radius:10px;align-items:flex-start;gap:12px;margin:0 0 12px;padding:12px 14px;display:flex}.offlineBannerBody{flex-direction:column;gap:4px;min-width:0;display:flex}.offlineBanner strong{color:#fca5a5;font-size:12px}.offlineBanner span{color:var(--muted);font-size:11px;line-height:1.35}.offlineReadOnlyHint{color:#fcd34d;background:#facc1514;border:1px solid #facc1547;border-radius:8px;margin:0 0 12px;padding:8px 12px;font-size:11px}.heuteQuickLinks{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;display:flex}.heuteUnassignedChip{color:var(--muted);border:1px solid var(--border);background:#ffffff08;border-radius:999px;margin-left:auto;padding:8px 12px;font-size:12px}.heuteUnassignedChip.hasUnassigned{color:#ffd4b8;background:#ff6a0014;border-color:#ff6a0073}.heuteUnassignedChip strong{color:var(--orange);margin-left:4px;font-weight:900}.heuteGroupToggle{border:1px solid var(--border);background:#ffffff08;border-radius:12px;gap:4px;margin:0 0 14px;padding:4px;display:inline-flex}.heuteToggleBtn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 14px;font-size:12px;font-weight:700}.heuteToggleBtn.active{color:#ffd4b8;background:#ff6a0029}.heuteGroupPanel{margin-bottom:14px}.heuteJobRow{grid-template-columns:60px 1fr auto}.heuteJobActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.heuteEmptyActions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}@media (max-width:720px){.heuteUnassignedChip{width:100%;margin-left:0}.heuteJobRow{grid-template-columns:52px 1fr}.heuteJobActions{grid-column:1/-1;justify-content:flex-start;width:100%}}.dateInput{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-height:38px}.dateInput::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert();opacity:.8}.orderMetaEditor{border:1px solid var(--border);background:var(--panel);border-radius:10px;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0 14px;padding:12px 14px;display:flex}.orderMetaEditor .formField{min-width:190px;margin:0}.orderExpectedCell{flex-direction:column;gap:3px;display:flex}.orderExpectedCell small,.orderOverdueHint{color:#ff9c9c;font-size:10px;font-weight:700}@media (max-width:640px){.orderMetaEditor{align-items:stretch}.orderMetaEditor .formField,.orderMetaEditor .ghostBtn{width:100%}}.orderNumberBtn{color:var(--orange);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:700}.orderNumberBtn:hover{text-decoration:underline}.plannedMaterialList{gap:10px;margin-top:12px;display:grid}.plannedMaterialRow{border:1px solid var(--border);background:var(--panel-2);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.plannedMaterialRow>div:first-child{gap:4px;display:grid}.plannedMaterialRow>div:first-child span{color:var(--muted);font-size:13px}.plannedMaterialActions{align-items:center;gap:8px;min-width:min(520px,55%);display:flex}.plannedMaterialActions .select{min-width:220px}@media (max-width:800px){.plannedMaterialRow,.plannedMaterialActions{flex-direction:column;align-items:stretch}.plannedMaterialActions{width:100%;min-width:0}}
