body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#3b82f6;--accent:#6366f1;--success:#22c55e;--warning:#f59e0b;--danger:#dc2626;--bg-main:#f8fafc;--bg-card:#fff;--bg-inset:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border:#e2e8f0;--border-light:#f1f5f9;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 8px 24px #0f172a1f;--shadow-xl:0 20px 40px #0f172a26;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:0.15s cubic-bezier(0.4,0,0.2,1);--transition-normal:0.25s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.4s cubic-bezier(0.4,0,0.2,1);color-scheme:light}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0f172a;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;margin:0}.appShell,body{background:#f8fafc;background:var(--bg-main)}.appShell{display:flex;min-height:100vh;min-height:100dvh}.sideNav{background:linear-gradient(180deg,#e8f0fe,#f5f8ff);border-right:1px solid #e2e8f0;border-right:1px solid var(--border);color:#0f172a;color:var(--text-primary);gap:20px;height:100vh;overflow-y:auto;padding:24px 20px;position:-webkit-sticky;position:sticky;top:0;width:280px;z-index:30}.sideNav,.sideNavHeader{display:flex;flex-direction:column}.sideNavHeader{gap:6px}.sideTitle{color:#0f172a;color:var(--text-primary);font-size:20px;font-weight:700;letter-spacing:-.02em}.sideSubtitle{color:#64748b;color:var(--text-muted);font-size:13px;line-height:1.4}.sideRolePill{background:#2563eb1a;border:1px solid #2563eb33;margin-top:8px;padding:6px 14px;width:-webkit-fit-content;width:fit-content}.sideTabs{display:flex;flex-direction:column;gap:8px;margin-top:12px}.sideTabBtn{background:#0000;border:1px solid #0000;border-radius:16px;border-radius:var(--radius-lg);color:#475569;color:var(--text-secondary);font-size:15px;font-weight:500;justify-content:flex-start;min-height:48px;padding:14px 20px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.sideTabBtn:hover{background:#2563eb14;color:#2563eb;color:var(--primary)}.sideTabBtn.tabBtnActive{background:#2563eb;background:var(--primary);border-color:#2563eb;border-color:var(--primary);box-shadow:0 4px 14px #2563eb66;color:#fff}.sideLogout{font-size:13px;margin-top:auto;padding:12px 16px}.mainArea{flex:1 1;min-width:0}.container{margin:0 auto;max-width:1200px;padding:24px 24px 40px}.header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:20px}.hTitle h1{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0}.hTitle p{color:#64748b;color:var(--text-muted);font-size:14px;margin:8px 0 0}.card{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 12px #0f172a14;box-shadow:var(--shadow-md);padding:20px;transition:box-shadow .15s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition-fast)}.cardInset{background:#f1f5f9;background:var(--bg-inset);border:1px dashed #e2e8f0;border:1px dashed var(--border);border-radius:12px;border-radius:var(--radius-md);box-shadow:none}.grid2{grid-gap:20px;display:grid;gap:20px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.split{flex-direction:column;gap:12px}.row,.split{display:flex}.row{align-items:flex-end;flex-wrap:wrap;gap:14px}.field{display:flex;flex-direction:column;gap:6px;min-width:160px}.field label{color:#64748b;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}input,select{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-md);font:inherit;font-size:15px;min-height:44px;outline:none;padding:10px 14px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}input,input:focus,select,select:focus{background:#fff;background:var(--bg-card)}input:focus,select:focus{border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}input::placeholder{color:#64748b;color:var(--text-muted);opacity:.7}.btn{align-items:center;background:#2563eb;background:var(--primary);border:none;border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 4px 14px #2563eb59;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-height:44px;padding:10px 20px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);white-space:nowrap}.btn:hover{background:#1d4ed8;background:var(--primary-dark);box-shadow:0 6px 20px #2563eb73;transform:translateY(-1px)}.btn:active{box-shadow:0 2px 8px #2563eb4d;transform:translateY(0) scale(.98)}.btnGhost{background:#0000;border:1.5px solid #e2e8f0;border:1.5px solid var(--border);box-shadow:none;color:#0f172a;color:var(--text-primary)}.btnGhost:hover{background:#f1f5f9;background:var(--bg-inset);border-color:#64748b;border-color:var(--text-muted);box-shadow:none;transform:none}.btnWarn{background:#dc2626;background:var(--danger);box-shadow:0 4px 14px #dc262659}.btnWarn:hover{background:#b91c1c;box-shadow:0 6px 20px #dc262673}.btn.micro{font-size:12px;font-weight:500;min-height:32px;padding:6px 14px}.pill{background:#2563eb1a;color:#1d4ed8;color:var(--primary-dark);font-size:12px;font-weight:500;gap:6px;padding:6px 12px}.badge,.pill{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex}.badge{background:#f1f5f9;background:var(--bg-inset);color:#475569;color:var(--text-secondary);font-size:11px;font-weight:600;padding:4px 10px}.badgeOk{background:#22c55e26;color:#15803d}.muted{color:#64748b;color:var(--text-muted);font-size:13px;line-height:1.5}.table{border-collapse:collapse;font-size:14px;width:100%}.table thead tr{background:#f1f5f9;background:var(--bg-inset)}.table td,.table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);padding:12px 14px;text-align:left}.table th{color:#475569;color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.list{list-style:none;margin:0;padding:0}.listItem{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);display:flex;gap:16px;justify-content:space-between;padding:16px 0;transition:background .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast)}.listItem:last-child{border-bottom:none}.smallActions{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.kgrid{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-lg);margin-top:16px;overflow:hidden}.kHead{background:#f1f5f9;background:var(--bg-inset);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:60px repeat(7,1fr)}.kHeadCell{border-left:1px solid #e2e8f0;border-left:1px solid var(--border);color:#475569;color:var(--text-secondary);font-size:12px;font-weight:600;padding:12px 8px;text-align:center}.kHeadCell:first-child{border-left:none;padding-right:12px;text-align:right}.kBody{display:grid;grid-template-columns:60px repeat(7,1fr)}.kgridDay .kBody,.kgridDay .kHead{grid-template-columns:60px 1fr}.kgridDay .kHeadCell:nth-child(2){text-align:center}.kTimeCol{background:#f1f5f9;background:var(--bg-inset);border-right:1px solid #e2e8f0;border-right:1px solid var(--border)}.kTime{align-items:flex-start;color:#64748b;color:var(--text-muted);display:flex;font-size:11px;font-weight:500;height:40px;justify-content:flex-end;padding:4px 8px}.kDayCol{background:#fff;background:var(--bg-card);border-left:1px solid #e2e8f0;border-left:1px solid var(--border);position:relative}.kHourLine{border-bottom:1px dashed #f1f5f9;border-bottom:1px dashed var(--border-light);height:40px}.kEvent{border-radius:12px;border-radius:var(--radius-md);cursor:pointer;font-size:11px;left:4px;position:absolute;right:4px;transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.kEvent:hover{box-shadow:0 4px 12px #0f172a14;box-shadow:var(--shadow-md);transform:scale(1.02);z-index:10}.mobileTrainerFilter,.swipeHint{display:none}.dropdownToggle{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:10px 12px;text-align:left;width:100%}.dropdownToggle:hover{border-color:#2563eb;border-color:var(--primary)}.dropdownArrow{color:#64748b;color:var(--text-muted);font-size:10px}.dropdownMenu{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 4px 12px #0f172a14;box-shadow:var(--shadow-md);left:0;margin-top:4px;padding:8px 0;position:absolute;right:0;top:100%;z-index:100}.dropdownItem{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 14px}.dropdownItem:hover{background:#f1f5f9;background:var(--bg-inset)}.dropdownItem input[type=checkbox]{accent-color:#2563eb;accent-color:var(--primary);cursor:pointer;height:16px;width:16px}.dropdownReset{background:#f1f5f9;background:var(--bg-inset);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#475569;color:var(--text-secondary);cursor:pointer;font-size:13px;margin:8px;padding:8px;width:calc(100% - 16px)}.dropdownReset:hover{background:#e2e8f0;background:var(--border)}.calendarSettings{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);margin-bottom:16px;padding-bottom:16px}.calendarNavCompact{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.calendarNavRow{align-items:center;display:flex;gap:12px;justify-content:space-between}.calendarNavCenter{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px}.viewModeToggle{background:#f1f5f9;background:var(--bg-inset);border-radius:9999px;border-radius:var(--radius-full);display:flex;gap:4px;padding:3px}.viewModeBtn{background:#0000;border:none;border-radius:9999px;border-radius:var(--radius-full);color:#475569;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;padding:6px 14px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.viewModeBtn:hover,.viewModeBtnActive{color:#0f172a;color:var(--text-primary)}.viewModeBtnActive{background:#fff;background:var(--bg-card);box-shadow:0 1px 2px #0f172a0d;box-shadow:var(--shadow-sm)}.todayBtnCompact{background:#2563eb14;border:1px solid #2563eb;border:1px solid var(--primary);border-radius:9999px;border-radius:var(--radius-full);color:#2563eb;color:var(--primary);cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.todayBtnCompact:hover{background:#2563eb;background:var(--primary);color:#fff}.calendarNav{align-items:center;justify-content:space-between}.calendarWeekLabel{color:#0f172a;color:var(--text-primary);font-size:20px;font-weight:700;letter-spacing:-.01em}.calendarNavControls{align-items:center;display:flex;gap:8px}.navArrowBtn,.todayBtn{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;min-height:40px;padding:8px 16px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.navArrowBtn{font-size:18px;padding:0;width:40px}.navArrowBtn:hover,.todayBtn:hover{background:#f1f5f9;background:var(--bg-inset);border-color:#64748b;border-color:var(--text-muted);box-shadow:0 1px 2px #0f172a0d;box-shadow:var(--shadow-sm)}.todayBtn{color:#0f172a;color:var(--text-primary)}.subTabs{background:#f1f5f9;background:var(--bg-inset);gap:4px;margin-bottom:12px;margin-top:16px;padding:4px}.subTabs,.tabBtn{border-radius:9999px;border-radius:var(--radius-full);display:inline-flex}.tabBtn{align-items:center;background:#0000;border:none;color:#475569;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;gap:6px;min-height:40px;padding:10px 18px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.tabBtn:hover,.tabBtnActive{color:#0f172a;color:var(--text-primary)}.tabBtnActive{background:#fff;background:var(--bg-card);box-shadow:0 1px 2px #0f172a0d;box-shadow:var(--shadow-sm)}.authWrapper{align-items:center;background:linear-gradient(135deg,#e8f0fe,#f5f8ff 50%,#fff);display:flex;justify-content:center;min-height:100vh;min-height:100dvh;padding:20px}.authCard{max-width:380px;padding:32px 28px;width:100%}.authCard h1{font-size:24px;font-weight:700;margin:0 0 24px;text-align:center}.modalOverlay{align-items:center;animation:fadeIn ease-out .15s cubic-bezier(.4,0,.2,1);animation:fadeIn var(--transition-fast) ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:50}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modalCard{animation:slideUp ease-out .25s cubic-bezier(.4,0,.2,1);animation:slideUp var(--transition-normal) ease-out;background:#fff;background:var(--bg-card);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 20px 40px #0f172a26;box-shadow:var(--shadow-xl);max-width:420px;padding:24px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modalHeader{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.modalHeader h3{font-size:18px;font-weight:600;margin:0}.modalPill{color:#6366f1;color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.modalSummary{align-items:baseline;background:#f1f5f9;background:var(--bg-inset);border-radius:12px;border-radius:var(--radius-md);display:flex;justify-content:space-between;margin:16px 0 20px;padding:16px}.modalSummary strong{color:#2563eb;color:var(--primary);font-size:20px}.modalActions{display:flex;gap:10px;justify-content:flex-end}.mobileTopBar{align-items:center;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 1px 0 #e2e8f0,0 1px 2px #0f172a0d;box-shadow:0 1px 0 var(--border),var(--shadow-sm);color:#0f172a;color:var(--text-primary);display:none;gap:14px;height:64px;left:0;padding:0 16px;position:fixed;right:0;top:0;z-index:45}.iconButton{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;flex-direction:column;gap:5px;height:44px;justify-content:center;padding:0;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:44px}.iconButton:hover{background:#f1f5f9;background:var(--bg-inset)}.iconButton:active{transform:scale(.95)}.iconBar{background:#0f172a;background:var(--text-primary);border-radius:9999px;border-radius:var(--radius-full);height:2px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:18px}.mobileTopTitle{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.mobileTopMain{font-size:17px;font-weight:700;letter-spacing:-.01em}.mobileTopMain,.mobileTopSub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobileTopSub{color:#64748b;color:var(--text-muted);font-size:12px}.sideNavOverlay{animation:fadeIn ease-out .15s cubic-bezier(.4,0,.2,1);animation:fadeIn var(--transition-fast) ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a80;inset:0;position:fixed;z-index:20}@media (max-width:900px){.grid2{grid-template-columns:minmax(0,1fr)}.header{margin-top:8px}.container{padding:20px 16px 32px}}@media (max-width:768px){:root{--radius-lg:14px}.appShell{flex-direction:column}.mobileTopBar{display:flex}.sideNav{background:#fff;background:var(--bg-card);border-right:none;bottom:0;box-shadow:0 20px 40px #0f172a26;box-shadow:var(--shadow-xl);left:0;max-height:none;padding:24px;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-normal);width:300px}.sideNavOpen{transform:translateX(0)}.sideTabs{gap:6px}.sideTabBtn{border-radius:12px;border-radius:var(--radius-md);font-size:16px;min-height:52px;padding:16px 20px}.sideLogout{font-size:14px;padding:14px 18px}.mainArea{padding-top:64px}.container{padding:16px 12px 100px}.header{margin-bottom:12px}.hTitle h1{font-size:20px}.hTitle p{font-size:13px}.card{border-radius:16px;border-radius:var(--radius-lg);padding:16px}.card h2{font-size:17px;margin:0 0 14px}.cardInset{padding:14px}.row{gap:12px}.field{flex:1 1;min-width:100%}.field label{font-size:11px}input,select{border-radius:12px;border-radius:var(--radius-md);font-size:16px;min-height:48px;padding:12px 14px}.btn{font-size:15px;min-height:48px;padding:12px 20px;width:100%}.btn.micro{font-size:13px;min-height:36px;padding:8px 14px;width:auto}.btnGhost{width:100%}.pill{font-size:13px;padding:8px 14px}.badge{font-size:12px;padding:6px 12px}.listItem{align-items:stretch;flex-direction:column;gap:12px;padding:16px 0}.listItem>div:first-child{flex:1 1}.listItem strong{display:block;font-size:15px;margin-bottom:4px}.smallActions{border-top:1px dashed #f1f5f9;border-top:1px dashed var(--border-light);flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:flex-start;padding-top:8px}.table{display:block;font-size:14px}.table thead{display:none}.table tbody{gap:12px}.table tbody,.table tr{display:flex;flex-direction:column}.table tr{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-md);gap:8px;padding:14px}.table td{align-items:center;border-bottom:none;display:flex;justify-content:space-between;padding:4px 0}.table td:before{color:#64748b;color:var(--text-muted);content:attr(data-label);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.calendarSettings{display:none}.calendarNavCompact{gap:10px}.calendarNavRow{gap:8px}.calendarNavCenter{gap:4px}.calendarWeekLabel{font-size:16px;font-weight:600;text-align:center}.viewModeToggle{padding:2px}.viewModeBtn{font-size:11px;padding:5px 12px}.navArrowBtn{font-size:22px;min-height:48px;min-width:48px;width:48px}.todayBtnCompact{font-size:15px;padding:12px 16px}.calendarNav{align-items:stretch;flex-direction:column;gap:12px}.calendarNavControls{flex-wrap:wrap;gap:8px;justify-content:center}.navArrowBtn,.todayBtn{min-height:44px}.calendarNavControls .btn{flex:1 1;max-width:200px;width:auto}.kgrid{border-radius:12px;border-radius:var(--radius-md);margin-top:8px;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}.kBody,.kHead{grid-template-columns:44px repeat(7,1fr)}.swipeHint{align-items:center;background:#f1f5f9;background:var(--bg-inset);border-radius:9999px;border-radius:var(--radius-full);color:#64748b;color:var(--text-muted);display:flex;font-size:12px;gap:8px;justify-content:center;margin-bottom:8px;padding:8px 16px}.swipeHint svg{height:16px;opacity:.6;width:16px}.mobileTrainerFilter{display:block;margin-bottom:12px;padding:0 4px}.mobileTrainerFilter select{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-md);color:#0f172a;color:var(--text-primary);font-size:14px;padding:10px 12px;width:100%}.kHeadCell{font-size:10px;padding:10px 4px}.kHeadCell:first-child{padding-right:6px}.kTime{font-size:9px;padding:2px 4px}.kEvent{border-radius:8px;border-radius:var(--radius-sm);font-size:10px;left:2px;padding:4px!important;right:2px}.kEvent>div:first-child>div:first-child{font-size:11px!important}.kEvent>div:first-child>div:last-child{display:none}.kgridDay .kBody,.kgridDay .kHead{grid-template-columns:44px 1fr}.kgridDay .kEvent{left:4px;padding:8px!important;right:4px}.kgridDay .kEvent>div:first-child>div:last-child{display:block}.subTabs{-webkit-overflow-scrolling:touch;display:flex;gap:4px;overflow-x:auto;padding:4px;scrollbar-width:none;width:100%}.subTabs::-webkit-scrollbar{display:none}.tabBtn{flex:1 1;font-size:14px;justify-content:center;min-height:44px;padding:12px 14px;white-space:nowrap}.authWrapper{padding:16px}.authCard{padding:24px 20px}.authCard h1{font-size:22px;margin-bottom:20px}.modalOverlay{align-items:flex-end;padding:16px}.modalCard{animation:slideUpMobile ease-out .25s cubic-bezier(.4,0,.2,1);animation:slideUpMobile var(--transition-normal) ease-out;border-radius:24px 24px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-width:none;padding:24px 20px 32px}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modalHeader h3{font-size:18px}.modalSummary{margin:16px 0;padding:14px}.modalActions{flex-direction:column;gap:10px}.modalActions .btn{width:100%}.muted{font-size:12px}}@media (max-width:400px){.container{padding:12px 10px 80px}.card{padding:14px}.mobileTopBar{height:58px;padding:0 12px}.mobileTopMain{font-size:16px}.iconButton{height:40px;width:40px}.mainArea{padding-top:58px}.pill{font-size:11px;padding:6px 10px}.row{gap:10px}.calendarWeekLabel{font-size:16px}.kBody,.kHead{grid-template-columns:38px repeat(7,1fr)}.kHeadCell{font-size:9px;padding:8px 2px}.kTime{font-size:8px;padding:2px}}@supports (padding-top:env(safe-area-inset-top)){.mobileTopBar{height:calc(64px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.mainArea{padding-top:calc(64px + env(safe-area-inset-top))}.sideNav{padding-left:calc(20px + env(safe-area-inset-left));padding-top:calc(24px + env(safe-area-inset-top))}.container{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.modalCard{padding-bottom:calc(32px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid #2563eb;outline:2px solid var(--primary);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}.planningBoard{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-md);overflow:hidden}.planningBoardScroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.planningTable{border-collapse:collapse;min-width:900px;table-layout:fixed;width:100%}.planningTable thead{position:-webkit-sticky;position:sticky;top:0;z-index:2}.planningDayHeader{background:#f1f5f9;background:var(--bg-inset);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border);border-left:1px solid #e2e8f0;border-left:1px solid var(--border);color:#0f172a;color:var(--text-primary);font-size:13px;font-weight:600;padding:10px 6px;text-align:center}.planningDayHeader:first-child{border-left:none}.planningDayHeaderContent{align-items:center;display:flex;gap:6px;justify-content:center}.planningDayHeaderSplit{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;margin-top:4px;padding-top:4px}.planningDayHeaderSplitLabel{color:#64748b;color:var(--text-muted);flex:1 1;font-size:10px;font-weight:500;overflow:hidden;padding:2px 4px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.planningDayHeaderSplitLabelClickable{border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast),color var(--transition-fast)}.planningDayHeaderSplitLabelClickable:hover{background:#2563eb1a;color:#2563eb;color:var(--primary)}.planningToggleBtn{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#475569;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:11px;justify-content:center;min-height:20px;min-width:22px;padding:2px 6px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.planningToggleBtn:hover{background:#2563eb;background:var(--primary);border-color:#2563eb;border-color:var(--primary);color:#fff}.planningTimeHeader{background:#f1f5f9;background:var(--bg-inset);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border);color:#475569;color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.04em;min-width:100px;padding:10px 8px;text-align:left;text-transform:uppercase;width:100px}.planningRow{transition:background .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast)}.planningRow:hover{background:#2563eb05}.planningRow:nth-child(2n){background:#00000003}.planningRow:nth-child(2n):hover{background:#2563eb08}.planningTimeCell{background:#f1f5f9;background:var(--bg-inset);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);border-right:1px solid #e2e8f0;border-right:1px solid var(--border);min-width:100px;padding:6px 8px;vertical-align:top;width:100px}.planningTimeInput{background:#0000;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);font-size:12px;font-weight:600;padding:4px 6px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.planningTimeInput:hover{background:#fff;background:var(--bg-card);border-color:#e2e8f0;border-color:var(--border)}.planningTimeInput:focus{background:#fff;background:var(--bg-card);border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 2px #2563eb1a;outline:none}.planningSlotNotiz{background:#0000;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-muted);font-size:10px;line-height:1.3;margin-top:2px;min-height:24px;padding:3px 6px;resize:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.planningSlotNotiz:hover{background:#fff;background:var(--bg-card);border-color:#e2e8f0;border-color:var(--border)}.planningSlotNotiz:focus{background:#fff;background:var(--bg-card);border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 2px #2563eb1a;min-height:48px;outline:none}.planningCell{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);border-left:1px solid #e2e8f0;border-left:1px solid var(--border);min-width:100px;padding:3px;vertical-align:top}.planningCell.splitCell{border-left:1px dashed #e2e8f0;border-left:1px dashed var(--border)}.planningCell{cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast)}.planningCell:hover{background:#2563eb0d}.planningCellPreview{color:#0f172a;color:var(--text-primary);font-size:11px;line-height:1.4;min-height:20px;overflow:hidden;padding:4px 6px;white-space:pre-line;word-break:break-word}.planningCellEmpty{color:#64748b;color:var(--text-muted);font-style:italic;opacity:.4}.planningCellEditorModal{animation:slideUp ease-out .25s cubic-bezier(.4,0,.2,1);animation:slideUp var(--transition-normal) ease-out;background:#fff;background:var(--bg-card);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 20px 40px #0f172a26;box-shadow:var(--shadow-xl);max-width:500px;overflow:hidden;padding:0;width:90%}.planningCellEditorHeader{align-items:center;background:#f1f5f9;background:var(--bg-inset);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:14px 16px}.planningCellEditorTitle{color:#0f172a;color:var(--text-primary);font-size:13px;font-weight:600}.planningCellEditorClose{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-muted);cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:28px}.planningCellEditorClose:hover,.planningCellEditorTextarea{background:#fff;background:var(--bg-card);color:#0f172a;color:var(--text-primary)}.planningCellEditorTextarea{border:none;font-family:inherit;font-size:14px;line-height:1.6;max-height:300px;min-height:150px;outline:none;padding:16px;resize:vertical;width:100%}.planningCellEditorTextarea::placeholder{color:#64748b;color:var(--text-muted);opacity:.6}.planningCellEditorActions{background:#f1f5f9;background:var(--bg-inset);border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;padding:12px 16px}.planningCellEditorActions .btn{font-size:13px;min-height:36px;padding:8px 16px}.planningSheetTabs{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:4px;margin-bottom:16px;padding-bottom:12px}.planningSheetTab{align-items:center;display:flex;gap:2px}.planningSheetTabBtn{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#475569;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;min-height:32px;padding:6px 12px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.planningSheetTabBtn:hover{background:#f1f5f9;background:var(--bg-inset);border-color:#64748b;border-color:var(--text-muted)}.planningSheetTabBtn.active{background:#2563eb;background:var(--primary);border-color:#2563eb;border-color:var(--primary);box-shadow:0 2px 8px #2563eb40;color:#fff}.planningSheetTabInput{background:#fff;background:var(--bg-card);border:2px solid #2563eb;border:2px solid var(--primary);border-radius:8px;border-radius:var(--radius-sm);font-size:12px;min-height:32px;padding:5px 10px;width:100px}.planningSheetTabInput:focus{box-shadow:0 0 0 2px #2563eb33;outline:none}.planningSheetEditBtn{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:11px;justify-content:center;margin-left:-4px;min-height:24px;min-width:24px;padding:2px 6px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.planningSheetEditBtn:hover{background:var(--bg-hover);color:#2563eb;color:var(--primary)}.planningSheetDeleteBtn{align-items:center;background:#dc2626;background:var(--danger);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;min-height:24px;min-width:24px;padding:2px 6px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.planningSheetDeleteBtn:hover{background:#b91c1c;transform:scale(1.05)}.planningSheetAddBtn{background:#0000;border:1px dashed #e2e8f0;border:1px dashed var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:500;min-height:32px;padding:6px 12px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.planningSheetAddBtn:hover{background:#f1f5f9;background:var(--bg-inset);border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.planningActions{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px}.planningActions .btn{font-size:13px;min-height:36px;padding:8px 14px}@media (max-width:768px){.planningTable{min-width:700px}.planningTimeCell,.planningTimeHeader{min-width:80px;width:80px}.planningDayHeader{font-size:11px;padding:8px 4px}.planningTimeInput{font-size:11px;padding:3px 4px}.planningCellTextarea{font-size:10px;min-height:28px;padding:4px}.planningSheetAddBtn,.planningSheetTabBtn{font-size:11px;min-height:28px;padding:5px 10px}.planningActions .btn{flex:1 1;min-width:140px}}@media print{.btn,.mobileTopBar,.sideNav,.sideNavOverlay,.smallActions{display:none!important}.mainArea{padding-top:0!important}.card{border:1px solid #ddd;box-shadow:none}}
/*# sourceMappingURL=main.74683992.css.map*/