html,body{overscroll-behavior-y:none;height:100%}body{margin:0}*{box-sizing:border-box}:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#eff6ff;--color-success:#16a34a;--color-success-light:#dcfce7;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-danger:#dc2626;--color-text:#111827;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-bg:#f8fafc;--color-card-bg:#fff;--radius-lg:20px;--radius-md:14px;--radius-full:999px;--shadow-card:0 1px 2px #1018280a, 0 4px 12px #1018280f}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif}button{font:inherit}.app{background:var(--color-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex-direction:column;width:min(100%,480px);height:100dvh;margin:0 auto;display:flex;overflow-y:auto}.pageHeader{padding:16px;padding-top:calc(16px + env(safe-area-inset-top));background:var(--color-card-bg);border-bottom:1px solid var(--color-border);z-index:10;align-items:center;gap:12px;display:flex;position:sticky;top:0}.pageHeaderSide{flex:none;align-items:center;min-width:32px;display:flex}.pageHeaderSideRight{justify-content:flex-end;margin-left:auto}.pageHeaderTitle{text-align:center;flex:1;margin:0;font-size:19px;font-weight:700}.pageContent{flex:1;padding:18px 18px 104px}.bottomNav{background:var(--color-card-bg);border-top:1px solid var(--color-border);width:min(100%,480px);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:10;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottomNavItem{color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 4px;font-size:11px;display:flex}.bottomNavItem.bottomNavItemActive{color:var(--color-primary)}.authTytul{margin-top:0}.inputZIkona{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;align-items:center;gap:10px;margin-bottom:12px;padding:0 14px;display:flex}.inputZIkona svg{color:var(--color-text-muted);flex-shrink:0}.inputZIkona input,.inputZIkona select{min-width:0;color:var(--color-text);background:0 0;border:0;flex:1;padding:14px 0;font-size:16px}.inputZIkona input:focus,.inputZIkona select:focus{outline:none}.formAkcje{gap:10px;display:flex}.formAkcje .voiceButton{flex:1;justify-content:center;align-items:center;gap:8px;width:auto;display:flex}.usunLink{text-align:center;width:100%;color:var(--color-danger);cursor:pointer;background:0 0;border:0;padding:16px 0 0;font-size:14px;font-weight:600;display:block}.authToggle{text-align:center;width:100%;color:var(--color-primary);cursor:pointer;background:0 0;border:0;padding:16px 0;font-size:14px;font-weight:600;display:block}.screenTitle{text-align:center;margin:0;padding:40px 16px 8px;font-size:26px}.headerLogout{border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;background:#fff;padding:6px 12px;font-size:13px}.app h2{margin-top:28px;margin-bottom:12px;font-size:17px}.voiceButton{border-radius:var(--radius-md);background:var(--color-primary);color:#fff;cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;width:100%;padding:20px;font-size:17px;font-weight:700;display:flex}.voiceButton:disabled{opacity:.7;cursor:default}.voiceButtonRecording{background:var(--color-danger)}.fabMic{bottom:calc(80px + env(safe-area-inset-bottom));background:var(--color-primary);color:#fff;cursor:pointer;z-index:9;border:0;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:fixed;right:max(20px,50vw - 220px);box-shadow:0 4px 16px #2563eb73}.fabMic.fabMicRecording{background:var(--color-danger);box-shadow:0 4px 16px #dc262673}.fabError{bottom:calc(152px + env(safe-area-inset-bottom));border-radius:var(--radius-md);color:#991b1b;max-width:440px;box-shadow:var(--shadow-card);z-index:9;background:#fee2e2;margin:0 auto;padding:10px 14px;font-size:13px;position:fixed;left:20px;right:20px}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nagrywanieOverlay{z-index:50;background:#fff;flex-direction:column;width:min(100%,480px);display:flex;position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%)}.nagrywanieHeader{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px;font-weight:700;display:flex}.nagrywanieZamknij{color:var(--color-text);cursor:pointer;background:0 0;border:0;display:flex}.nagrywanieHeaderSpacer{width:22px}.nagrywanieTresc{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;padding:24px;display:flex}.nagrywanieTresc h2{margin:0;font-size:22px}.nagrywaniePodpowiedz{color:var(--color-text-muted);margin:0}.nagrywanieFala{align-items:center;gap:5px;height:40px;display:flex}.nagrywanieFala span{background:var(--color-primary);border-radius:3px;width:5px;height:10px;animation:1s ease-in-out infinite fala}@keyframes fala{0%,to{height:10px}50%{height:36px}}.nagrywanieMikrofon{background:var(--color-danger);color:#fff;cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;display:flex;box-shadow:0 8px 24px #dc262666}.nagrywanieMikrofon.nagrywanieMikrofonProcessing{background:var(--color-primary);cursor:not-allowed;box-shadow:0 8px 24px #2563eb66}.nagrywaniePrzyklad{border-radius:var(--radius-md);background:var(--color-bg);max-width:320px;color:var(--color-text-muted);padding:14px;font-size:13px}.nagrywaniePrzyklad strong{color:var(--color-text);margin-bottom:4px;display:block}.nagrywanieZakoncz{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;background:#fff;margin:16px;padding:18px;font-size:16px;font-weight:700}.empty{border-radius:var(--radius-md);background:var(--color-primary-light);text-align:center;color:var(--color-text-muted);padding:36px 24px;font-size:15px}.error{border-radius:var(--radius-md);color:#991b1b;background:#fee2e2;margin-bottom:12px;padding:12px;font-size:15px}.voiceInfo{border-radius:var(--radius-md);background:var(--color-primary-light);margin-bottom:12px;padding:12px;font-size:15px}.card{background:var(--color-card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:14px;padding:20px}.cardClickable{cursor:pointer}.jobCardTop{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.jobCardTopRight{align-items:center;gap:8px;display:flex}.miniAvatar{background:var(--color-primary-light);width:24px;height:24px;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.calJobText{flex:1}.statRow{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:10px 0;font-size:15px;display:flex}.statRow:last-child{border-bottom:0}.pracownikStopka{justify-content:space-between;align-items:center;display:flex}.pracownikLiczba{color:var(--color-text-muted);font-size:13px}.jobCardTime{letter-spacing:-.01em;font-size:22px;font-weight:800}.jobCardClient{margin-bottom:3px;font-size:17px;font-weight:700}.jobCardTytul{color:var(--color-text);font-size:16px;font-weight:600}.jobCardAdres{color:var(--color-text-muted);align-items:center;gap:4px;margin-top:10px;font-size:14px;display:flex}.startPowitanie{text-align:center;margin-bottom:8px}.startCzesc{margin:0 0 4px;font-size:22px}.startPodtytul{color:var(--color-text-muted);margin:0;font-size:14px}.heroMicWrap{flex-direction:column;align-items:center;gap:12px;margin:20px 0 28px;display:flex}.heroMic{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;display:flex;box-shadow:0 8px 24px #2563eb66}.heroMic.heroMicRecording{background:var(--color-danger);box-shadow:0 8px 24px #dc262666}.heroMicLabel{text-align:center}.heroMicLabel strong{font-size:17px;display:block}.heroMicLabel span{color:var(--color-text-muted);font-size:14px;display:block}.startSkroty{gap:10px;margin-bottom:8px;display:flex}.startSkrot{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;background:#fff;flex-direction:column;flex:1;align-items:center;gap:6px;padding:16px 8px;font-size:13px;font-weight:600;display:flex;position:relative}.startSkrotWkrotce{color:var(--color-text-muted);cursor:default}.startWkrotce{border-radius:var(--radius-full);background:var(--color-warning-light);color:var(--color-warning);padding:2px 6px;font-size:10px;font-weight:700;position:absolute;top:-6px;right:-6px}.podsumowanieNaglowek{color:var(--color-primary);align-items:center;gap:8px;margin-bottom:12px;font-size:16px;font-weight:700;display:flex}.podsumowanieLista{background:var(--color-card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:16px;padding:4px 16px}.podsumowanieWiersz{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:12px 0;display:flex}.podsumowanieWiersz:last-child{border-bottom:0}.podsumowanieWiersz>svg{color:var(--color-text-muted);flex-shrink:0}.podsumowanieTresc{flex-direction:column;flex:1;min-width:0;display:flex}.podsumowanieEtykieta{color:var(--color-text-muted);font-size:12px}.podsumowanieWartosc{overflow-wrap:break-word;font-weight:600}.zmienLink{color:var(--color-primary);cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:4px 0 4px 8px;font-size:13px;font-weight:600}.podsumowanieWskazowka{border-radius:var(--radius-md);background:var(--color-warning-light);color:#92400e;margin-bottom:16px;padding:12px;font-size:13px}.btnNagrajPonownie{margin-top:10px}.terminPasek{justify-content:space-between;gap:4px;margin-bottom:20px;display:flex}.terminDzien{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#fff;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 4px;display:flex}.terminDzien.terminDzienWybrany{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.terminDzienSkrot{text-transform:capitalize;opacity:.7;font-size:11px}.terminDzienNumer{font-size:16px;font-weight:700}.godzinySiatka{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.godzinaPrzycisk{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#fff;padding:14px 8px;font-weight:600}.godzinaPrzycisk.godzinaWybrana{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.potwierdzenieWrap{text-align:center;flex-direction:column;align-items:center;padding-top:16px;display:flex}.potwierdzenieIkonaKolo{background:var(--color-success-light);width:96px;height:96px;color:var(--color-success);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.potwierdzenieTytul{margin:0 0 6px}.potwierdzenieOpis{color:var(--color-text-muted);margin:0 0 20px}.potwierdzenieWrap .card{text-align:left;width:100%}.potwierdzenieWrap .voiceButton,.potwierdzenieWrap .btnSecondary{justify-content:center;align-items:center;gap:8px;width:100%;margin-top:12px;display:flex}.wrocLink{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0 16px;font-size:14px;font-weight:600;display:inline-flex}.klientHeader{align-items:center;gap:12px;margin-bottom:12px;display:flex}.klientAvatar{background:var(--color-primary-light);width:48px;height:48px;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.klientNazwa{font-size:16px;font-weight:700}.klientTelefon{color:var(--color-primary);align-items:center;gap:4px;margin-top:2px;font-size:15px;text-decoration:none;display:inline-flex}.szczegolWiersz{color:var(--color-text);align-items:center;gap:10px;padding:6px 0;display:flex}.szczegolWiersz svg{color:var(--color-text-muted);flex-shrink:0}.szczegolEtykieta{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:700}.formSekcja{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 10px;font-size:12px;font-weight:700}.trybOpcja{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:14px;display:flex}.trybOpcja svg{color:var(--color-primary);flex-shrink:0}.trybOpcjaAktywna{border-color:var(--color-primary);background:var(--color-primary-light)}.trybOpcjaTytul{margin-bottom:2px;font-size:15px;font-weight:700}.trybOpcjaOpis{color:var(--color-text-muted);font-size:13px}.szczegolStatusRow{margin:4px 0 16px}.szczegolAkcje{gap:10px;display:flex}.szczegolAkcje .voiceButton{flex:1;width:auto}.btnSecondary{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;background:#fff;flex:1;padding:20px;font-size:17px;font-weight:700}.addLink{color:var(--color-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px 0 16px;font-size:14px;font-weight:600;display:inline-flex}.statusPill{border-radius:var(--radius-full);padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.tabs{gap:8px;margin-bottom:16px;display:flex}.tabs button{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#fff;flex:1;min-height:44px;padding:12px 8px}.tabs button.tabActive{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.calNav{align-items:center;gap:8px;margin:0 0 16px;display:flex}.calNav>button{border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:44px;min-height:44px;color:var(--color-text);cursor:pointer;background:#fff;justify-content:center;align-items:center;display:flex}.calNavLabel{text-align:center;text-transform:capitalize;flex-direction:column;flex:1;align-items:center;gap:4px;font-size:15px;display:flex}.calDzisiaj{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg);cursor:pointer;padding:4px 10px;font-size:12px}.calJob{border-radius:var(--radius-md);background:var(--color-card-bg);box-shadow:var(--shadow-card);cursor:pointer;align-items:center;gap:10px;margin-bottom:10px;padding:14px;font-size:15px;font-weight:600;display:flex}.calJob p{color:var(--color-text-muted);margin:2px 0 0;font-size:14px}.calDot,.calKropka{border-radius:50%;flex-shrink:0;width:10px;height:10px}.calTydzienDzien{margin-bottom:12px}.calTydzienNaglowek{border-radius:var(--radius-md);background:var(--color-primary-light);text-align:left;text-transform:capitalize;cursor:pointer;border:0;width:100%;min-height:44px;margin-bottom:6px;padding:10px 8px;font-weight:600;display:block}.calTydzienNaglowek.calDzis{background:var(--color-primary);color:#fff}.calPusto{color:#9ca3af;padding:4px 8px 10px;font-size:13px}.calMiesiacNaglowki{text-align:center;color:var(--color-text-muted);grid-template-columns:repeat(7,1fr);margin-bottom:4px;font-size:12px;display:grid}.calMiesiacSiatka{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calDzienKomorka{aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:44px;font-size:13px;display:flex}.calDzienKomorka.calSpozaMiesiaca{color:#d1d5db}.calDzienKomorka.calDzis{border-color:var(--color-primary);font-weight:700}.calKropki{gap:2px;display:flex}.slotyLista{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.slotWiersz{border-bottom:1px solid var(--color-border);align-items:stretch;min-height:44px;display:flex}.slotyLista .slotWiersz:last-child{border-bottom:0}.slotGodzina{width:56px;color:var(--color-text-muted);border-right:1px solid var(--color-border);flex-shrink:0;padding:10px 8px;font-size:12px;font-weight:600}.slotTresc{flex-direction:column;flex:1;gap:4px;min-width:0;padding:6px 8px;display:flex}.slotPusty{min-height:20px;display:block}.slotChip{border:0;border-left:4px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-bg);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:6px 10px;display:flex}.slotChipTresc{flex-direction:column;min-width:0;font-size:13px;display:flex}.slotChipTresc strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slotChipTytul{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}
