:root{--bg:#fafaf8;--box-border:#e6e4de;--surface:#fff;--tile:#f3f2ee;--head-band:#eef1f5;--head-band-border:#dde3ea;--cockpit-box:#e2dfd7;--fill:color-mix(in srgb, var(--accent) 5%, white);--group-head:color-mix(in srgb, var(--accent) 8%, white);--off-day:#f2f2f2;--ink:#1e3a5f;--ink-strong:#16293f;--ink-muted:#918c7e;--border:#e5e3dc;--accent:#1e3a5f;--accent-hover:#16293f;--accent-danger:#b3453a;--sidebar-width:220px;--bottom-tab-height:calc(64px + env(safe-area-inset-bottom));--type-esd:#1a7a6e;--type-strength:#c0543c;--type-speed:#c9880a;--type-recovery:#5a8a5a;--type-technique:#8e4585;--type-team:#2d7d46;--type-deload:#8a9aaa;--type-competition:#8a1c1c;--type-tapering:#7a5a9a;--type-peak:#1c3a6a;--type-other:#6b6b6b}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink-strong);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif}a{color:inherit}.page-center{justify-content:center;align-items:center;min-height:100dvh;display:flex}.auth-shell{min-height:100dvh;display:flex}.auth-brand-panel{background:var(--ink-strong);color:#fff;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.auth-logo{width:260px;max-width:100%;height:auto;margin:0 auto 18px;display:block}.auth-logo,.app-shell--pro .brand-logo{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.auth-brand-panel .brand-tagline{color:#c7d2de;font-size:14px}.auth-form-panel{background:var(--bg);flex:1;justify-content:center;align-items:center;padding:40px 20px;display:flex}@media (max-width:820px){.auth-brand-panel{display:none}.auth-form-panel{flex:none;width:100%}}.auth-logo-circle{background:var(--ink);color:#fff;letter-spacing:.5px;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:16px;font-size:12px;font-weight:800;display:none}@media (max-width:820px){.auth-logo-circle{display:flex}}.card{background:var(--surface);border-radius:16px;width:100%;max-width:400px;padding:36px;box-shadow:0 8px 40px #1e3a5f14}.brand{margin-bottom:24px;font-size:15px;font-weight:800}.title{letter-spacing:-.3px;color:var(--ink-strong);margin:0 0 6px;font-size:24px;font-weight:800}.subtitle{color:var(--ink-muted);margin:0 0 26px;font-size:14px}.field{margin-bottom:16px}.field label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.input,select.input{border:1px solid var(--border);width:100%;color:var(--ink-strong);background:#fff;border-radius:8px;outline:none;padding:12px 14px;font-family:inherit;font-size:14px;line-height:20px}input.input,textarea.input{appearance:none}input.input[type=date]{text-align:left;min-width:0;height:46px;display:block}input.input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--ink-muted);opacity:.7}@media (max-width:820px){.input,textarea.input,select.input,.lg-cell--edit{font-size:16px!important}}.toggle-group{background:var(--tile);border:1px solid #0000;border-radius:8px;display:flex;overflow:hidden}.toggle-option{background:var(--tile);color:var(--ink-muted);cursor:pointer;border:none;flex:1;padding:11px 0;font-family:inherit;font-size:13px;font-weight:600}.toggle-option+.toggle-option{border-left:1px solid #0000}.toggle-option.active{background:var(--accent);color:#fff}.btn{cursor:pointer;border:none;border-radius:8px;padding:12px;font-family:inherit;font-size:14px;font-weight:700}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{color:var(--accent);border:1.5px solid var(--accent);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--fill)}.btn-full{width:100%}.link-muted{color:var(--ink-muted);text-align:center;cursor:pointer;background:0 0;border:none;margin-top:14px;font-family:inherit;font-size:13px;display:block}.error-text{color:var(--accent-danger);margin:8px 0;font-size:13px}.app-shell{min-height:100dvh;display:flex}.app-sidebar{width:var(--sidebar-width);background:var(--ink);color:#fff;flex-direction:column;flex-shrink:0;padding:22px 16px}@media (min-width:821px){.app-sidebar{display:flex}}.app-sidebar .brand{color:#fff;margin-bottom:28px;padding:0 10px;font-size:14px}.app-nav{flex-direction:column;flex:1;gap:2px;display:flex}.app-nav-item{color:#c7d2de;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:block}.app-nav-item:hover{color:#fff;background:#ffffff0f}.app-nav-item.active{color:#fff;background:#ffffff1f}.app-user-footer{border-top:1px solid #ffffff1f;margin-top:12px;padding:12px 10px 0}.app-user-footer .name{color:#fff;font-size:13px;font-weight:700}.app-user-footer .role{color:#9fb0c3;margin-bottom:10px;font-size:11px}.app-content{flex:1;min-width:0;padding:32px 40px 100px}.page-header{margin-bottom:24px}.page-header h1{color:var(--ink-strong);margin:0 0 4px;font-size:22px;font-weight:800}.page-header .sub{color:var(--ink-muted);font-size:14px}@media (min-width:821px){.app-bottom-tabs{display:none}.app-shell{height:100dvh;min-height:0;overflow:hidden}.app-sidebar{height:100%;overflow-y:auto}.app-content{overflow-y:auto}.app-content--fill{flex-direction:column;padding-bottom:32px;display:flex;overflow-y:hidden}}@media (max-width:820px){.app-shell{flex-direction:column}.app-sidebar{display:none}.app-content{padding:20px 16px calc(90px + env(safe-area-inset-bottom))}.app-bottom-tabs{height:var(--bottom-tab-height);padding-bottom:env(safe-area-inset-bottom);background:var(--ink);z-index:50;display:flex;position:fixed;bottom:0;left:0;right:0}.app-bottom-tabs .app-nav-item{text-align:center;color:#c7d2de;border-radius:0;flex:1;padding:8px 4px;font-size:11px}.app-bottom-tabs .app-nav-item.active{color:#fff;background:#ffffff1a}.app-bottom-tabs .app-nav-item--icon{color:#b9c4d3;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.app-bottom-tabs .app-nav-item--icon.active{color:#fff;background:0 0}.app-bottom-tabs .app-nav-item--icon:after{content:"";background:0 0;border-radius:2px;width:4px;height:4px}.app-bottom-tabs .app-nav-item--icon.active:after{background:#fff}.tab-icon{display:inline-flex;position:relative}.tab-icon-dot{background:var(--accent-danger);width:8px;height:8px;box-shadow:0 0 0 2px var(--ink);border-radius:50%;position:absolute;top:-2px;right:-5px}}.section{border-top:1px solid var(--box-border);background:0 0;margin-bottom:6px;padding:20px 0 22px}.section h2{color:var(--ink-strong);margin:0 0 16px;font-size:15px}.section-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.section-header-row h2{margin:0}.badge{color:var(--ink);background:#eaf0f7;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block}.badge-alert{color:var(--accent-danger);background:#fbeceb}.admin-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:18px;display:grid}.admin-tile{background:var(--tile);text-align:left;box-shadow:none;font:inherit;color:inherit;border:1px solid #0000;border-radius:12px;padding:16px 18px}.admin-tile.clickable{cursor:pointer}.admin-tile.clickable:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 4%, white)}.admin-tile-value{color:var(--ink-strong);font-size:26px;font-weight:700;line-height:1.1}.admin-tile-label{color:var(--ink-muted);margin-top:4px;font-size:12px}.row{align-items:flex-end;gap:10px;display:flex}.row .field{flex:1;margin-bottom:0}table.list{border-collapse:collapse;width:100%;font-size:13px}table.list th{text-align:left;text-transform:uppercase;color:var(--ink-muted);border-bottom:1px solid var(--border);padding:8px 10px;font-size:11px}table.list td{border-bottom:1px solid #f2ede1;padding:10px}.bug-fab{z-index:800;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:20px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 4px 14px #10192829}.bug-fab:hover{border-color:var(--accent)}.bug-sheet{z-index:901;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(420px,100vw - 36px);padding:16px;position:fixed;bottom:74px;right:18px;box-shadow:0 10px 30px #10192833}@media (max-width:820px){.bug-fab{bottom:calc(84px + env(safe-area-inset-bottom));right:12px}.bug-sheet{bottom:calc(136px + env(safe-area-inset-bottom));width:calc(100vw - 24px);right:12px}}@media print{.bug-fab,.bug-sheet{display:none}}tr.row-open{cursor:pointer}tr.row-open:hover>td{background:var(--fill)}table.list tbody tr.clickable{cursor:pointer}table.list tbody tr.clickable:hover td{background:color-mix(in srgb, var(--accent) 4%, white)}.muted{color:var(--ink-muted);font-size:13px}.sb-cell{color:var(--ink-strong);box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:3px;outline:none;width:100%;padding:3px 5px;font-family:inherit;font-size:13px}.sb-cell:hover{border-color:var(--border);background:#fff}.sb-cell:focus{border-color:var(--accent);background:#fff}.sb-cell::placeholder{color:var(--ink-muted);opacity:.7}.sb-drag{opacity:0}.sb-row:hover .sb-drag{opacity:1}.sb-row-x{opacity:0;transition:opacity .1s}.sb-row:hover .sb-row-x{opacity:1}.sb-block-scroll{overflow:auto hidden}.sb-group-head>*{white-space:nowrap;flex-shrink:0}.sb-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--ink-strong);background:0 0;border:none;padding:8px 16px;font-family:inherit;font-size:13px;display:block}.sb-menu-item:hover{background:var(--fill)}.sb-menu-item:disabled{color:var(--ink-muted);cursor:default}.sb-menu-item:disabled:hover{background:0 0}.lg{padding-bottom:150px}@media (min-width:821px){.lg{padding-bottom:40px}}.lg-head{padding:0 0 18px}.lg-kicker{text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700}.lg-title{letter-spacing:-.02em;color:var(--ink-strong);flex:1;min-width:0;margin:4px 0 0;font-size:26px;font-weight:800;line-height:1.15}.lg-notes{color:var(--ink);white-space:pre-wrap;margin-top:6px;font-size:14px}.lg-hint{color:var(--ink-muted);margin-top:6px;font-size:14px}.lg-part{margin-bottom:26px}.lg-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);border-bottom:1px solid var(--box-border);align-items:center;gap:8px;padding-bottom:8px;font-size:12px;font-weight:700;display:flex}.lg-label i{border-radius:4px;flex-shrink:0;width:8px;height:8px;display:inline-block}.lg-part-note{color:var(--ink-muted);padding-top:8px;font-size:13px}.lg-ex{border-top:1px solid #efede7}.lg-label+.lg-ex,.lg-label+.lg-part-note+.lg-ex,.lg-group-head+.lg-ex{border-top:none}.lg-ex--skipped{opacity:.6}.lg-ex-head{align-items:flex-start;gap:10px;padding:12px 0 10px;display:flex}.lg-ex-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lg-ex-name{color:var(--ink-strong);min-width:0;font-size:16px;font-weight:700}.lg-ex-num{color:var(--ink-muted)}.lg-old{color:var(--ink-muted);font-weight:500}.lg-ex-plan{color:var(--ink-muted);margin-top:2px;font-size:13px}.lg-ex-note{color:var(--ink);margin-top:3px;font-size:13px;font-style:italic}.lg-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lg-more{background:var(--tile);width:34px;height:34px;color:var(--ink-strong);cursor:pointer;border:none;border-radius:17px;flex:none;font-family:inherit;font-size:18px;line-height:1}.lg-sets{padding-bottom:12px}.lg-row{align-items:center;gap:6px;margin-bottom:6px;display:grid}.lg-h{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;font-weight:700;overflow:hidden}.lg-n{color:var(--ink-muted);text-align:center;font-size:13px;font-weight:700}.lg-cell{background:var(--tile);width:100%;min-width:0;height:40px;color:var(--ink-strong);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;padding:0 2px;font-family:inherit;font-size:16px;font-weight:600;display:flex}.lg-cell span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.lg-cell:disabled{cursor:default;color:var(--ink-strong);opacity:1}.lg-cell--chg{color:#8a4b00;background:#fff1dd}.lg-cell--chg:disabled{color:#8a4b00}.lg-cell--chg s{color:#b28a55;font-size:10px;font-weight:500;line-height:1}.lg-cell--edit{text-align:center;background:var(--surface);border:2px solid var(--accent);cursor:text;outline:none}.lg-cell--bad{border-color:var(--accent-danger);background:color-mix(in srgb, var(--accent-danger) 8%, white);animation:.35s ease-in-out lg-shake}@keyframes lg-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@media (prefers-reduced-motion:reduce){.lg-cell--bad{animation:none}}.lg-group-head{color:var(--ink-strong);border-top:1px solid #efede7;padding:12px 0 2px;font-size:13px;font-weight:700}.lg-label+.lg-group .lg-group-head,.lg-label+.lg-part-note+.lg-group .lg-group-head{border-top:none}.lg-add{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:11px 0;font-family:inherit;font-size:14px;font-weight:600}.lg-part>.lg-add{border-top:1px solid #efede7;width:100%;display:block}.lg-added{align-items:center;gap:8px;margin-bottom:10px;display:flex}.lg-line{cursor:pointer;width:100%;color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:10px;padding:12px 0;font-family:inherit;display:flex}.lg-chev{color:var(--ink-muted);font-size:13px}.lg-light-list{padding-bottom:4px}.lg-swipe{position:relative;overflow:hidden}.lg-swipe-del{color:#fff;cursor:pointer;background:#b3453a;border:none;width:92px;font-family:inherit;font-size:14px;font-weight:700;position:absolute;top:0;bottom:0;right:0}.lg-swipe-front{background:var(--bg);touch-action:pan-y;position:relative}.lg-light-row{border-top:1px solid #efede7;align-items:center;gap:10px;padding:9px 0;display:flex}.lg-light-name{color:var(--ink-strong);font-size:15px;font-weight:600}.lg-finish{left:16px;right:16px;bottom:calc(var(--bottom-tab-height) + 12px);z-index:40;position:fixed}body.lg-no-tabs{--bottom-tab-height:env(safe-area-inset-bottom,0px)}body.lg-no-tabs .app-bottom-tabs{display:none}.lg-finish .btn{border-radius:16px;height:44px;padding:0 12px;font-size:16px;font-weight:700;box-shadow:0 6px 20px #1e3a5f40}@media (min-width:821px){.lg-finish{max-width:520px;position:sticky;bottom:16px;left:auto;right:auto}}.lg-toast{top:calc(env(safe-area-inset-top,0px) + 12px);z-index:700;background:var(--accent-danger);color:#fff;border-radius:12px;width:max-content;max-width:calc(100vw - 32px);padding:10px 16px;font-size:14px;font-weight:600;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #10192833}.lg-sheet-backdrop{z-index:600;background:#10192847;position:fixed;inset:0}.lg-sheet{z-index:601;background:var(--surface);padding:16px 18px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;max-height:85dvh;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 30px #1019282e}@media (min-width:821px){.lg-sheet{border-radius:18px;width:520px;bottom:24px;left:50%;right:auto;transform:translate(-50%)}}.lg-sheet-head{align-items:center;gap:10px;padding-bottom:8px;display:flex}.lg-sheet-title{min-width:0;color:var(--ink-strong);flex:1;font-size:17px;font-weight:800}.lg-sheet-x{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-family:inherit;font-size:24px;line-height:1}.lg-sheet-block{border-top:1px solid #efede7;padding:12px 0}.lg-sheet-row{border-top:1px solid #efede7;gap:10px;padding:12px 0;display:flex}.lg-sheet-sub{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12px;font-weight:700}.lg-action{text-align:left;width:100%;color:var(--accent);cursor:pointer;background:0 0;border:none;border-top:1px solid #efede7;padding:13px 0;font-family:inherit;font-size:15px;font-weight:600;display:block}.lg-action--danger{color:var(--accent-danger)}.lg-rpe{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;display:grid}.lg-rpe button{background:var(--tile);height:38px;color:var(--ink-strong);cursor:pointer;border:none;border-radius:8px;padding:0;font-family:inherit;font-size:15px;font-weight:700}.lg-rpe button.on{background:var(--accent);color:#fff}.lg-finish-btn{margin-top:14px}.cockpit-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}.cockpit-row--3-1{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}.cockpit-row--1-4{grid-template-columns:minmax(0,1fr) minmax(0,4fr)}.cockpit-row--1-1{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cockpit-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.cockpit-row>.section{min-width:0;margin-bottom:0}.pb-split{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:16px;display:grid}.pb-split-even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr))}@media (max-width:1200px){.app-content{padding:24px 24px 100px}.cockpit-row,.pb-split,.pb-split-even{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.week-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.section{padding:16px 0 18px}}.pc-add-hint{color:#0000;border-radius:4px}.pc-day-items{scrollbar-width:thin;flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow-y:auto}.pc-day-editable:hover .pc-add-hint{color:var(--ink-muted);background:var(--border)}.mg-add{color:var(--border)}.mg-cell:hover{background:var(--fill)!important}.mg-cell:hover .mg-add{color:var(--ink-muted)}.cal-month-grid{height:600px}.cal-day{flex-direction:column;min-width:0;height:100%;padding:5px;display:flex;overflow:hidden}.cal-day-head{flex-shrink:0;justify-content:space-between;align-items:center;height:20px;margin-bottom:3px;display:flex}.day-stack{flex-direction:column;align-items:center;gap:3px;width:100%;min-width:0;display:flex}.day-stack>span{max-width:100%;overflow:hidden}.day-stack>.type-badge{box-sizing:border-box;justify-content:center;min-width:34px}.day-stack-name{color:var(--ink-strong);text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;font-weight:600;line-height:12px;display:-webkit-box}@media (max-width:480px){.cal-month-grid .day-stack-name{display:none}}.day-more{color:var(--ink-muted);font-size:10px;font-weight:700;line-height:1}.cal-day{--cal-pad-x:5px}.cal-spans{margin:0 calc(-1 * var(--cal-pad-x)) 3px;flex-direction:column;flex-shrink:0;gap:2px;display:flex}.cal-span,.cal-span-gap{height:14px}.cal-span{white-space:nowrap;text-overflow:ellipsis;padding:0 5px;font-size:9px;font-weight:700;line-height:14px;overflow:hidden}.cal-span-start{margin-left:var(--cal-pad-x);border-top-left-radius:4px;border-bottom-left-radius:4px}.cal-span-end{margin-right:var(--cal-pad-x);border-top-right-radius:4px;border-bottom-right-radius:4px}.week-strip>.cal-day{--cal-pad-x:6px;border-radius:8px;height:92px;padding:7px 6px}@media (max-width:700px){.cal-month-grid{height:410px}.cal-day{--cal-pad-x:3px;padding:4px 3px}.cal-span,.cal-span-gap{height:6px}.cal-span{padding:0;font-size:0}.cal-day-head{height:18px}.week-strip>.cal-day{height:84px}}.cal-item-sheet{z-index:400;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(400px,100vw - 32px);padding:16px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 32px #10192838}@media (max-width:700px){.cal-item-sheet{width:100%;padding:16px 16px calc(20px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;top:auto;bottom:0;left:0;transform:none}}.cal-entry-dates{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:420px){.cal-entry-dates{grid-template-columns:1fr}}.cal-item-sheet{max-height:calc(100dvh - 24px);overflow-y:auto}.week-strip>.cal-day.checkin-day{height:auto;min-height:92px}.checkin-day-note{color:var(--ink);text-align:center;overflow-wrap:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:11px;line-height:14px;display:-webkit-box;overflow:hidden}.sheet-table th{padding:6px 14px}.sheet-table td{padding:8px 14px}@media (max-width:820px){.sheet-table th{padding:6px 8px}.sheet-table td{padding:8px}.sheet-table th:first-child,.sheet-table td:first-child{padding-left:12px}.sheet-table th:last-child,.sheet-table td:last-child{padding-right:12px}}.sheet-section{margin-bottom:24px}.sheet-section:last-child,.sheet-section>div:last-child>:last-child{margin-bottom:0}.open-link{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;margin:0;padding:0;font-family:inherit;font-size:13px;font-weight:600}.open-link:hover{text-decoration:underline}.tap-box{cursor:pointer;-webkit-tap-highlight-color:transparent}.tap-box:active{opacity:.7}.tap-chevron{color:var(--ink-muted);font-size:22px;font-weight:400;line-height:1}.settings-row{text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:14px 20px;font-family:inherit;display:flex}.settings-row:hover{background:var(--fill)}.cockpit-top{z-index:20;background:var(--head-band);border-bottom:1px solid var(--head-band-border);margin:-32px -40px 24px;padding:28px 40px 16px;position:sticky;top:-32px}.cockpit-top>.section{background:0 0;border-top:none;padding:0}.cockpit-top .toggle-group,.cockpit-top .toggle-option{background:var(--surface)}.cockpit-top .toggle-option.active{background:var(--accent)}.cockpit-top .toggle-group{border-color:var(--head-band-border)}.cockpit-top .toggle-option+.toggle-option{border-left-color:var(--head-band-border)}.cockpit-top .btn-secondary{background:var(--surface)}.cockpit-top~.section,.cockpit-top~* .section,.cockpit-top~.cockpit-row>.section{border:1.5px solid var(--cockpit-box);border-radius:12px;margin-bottom:16px;padding:18px 20px 20px}.cockpit-top~* .section .section{border:none;border-radius:0;margin-bottom:0;padding:0}.cockpit-top~.cockpit-row>.section,.cockpit-top~* .cockpit-row>.section{margin-bottom:0}@media (max-width:1200px){.cockpit-top{margin:-24px -24px 20px;padding:22px 24px 14px;top:-24px}}.pdf-menu-item:hover,.row-hover:hover td,div.row-hover:hover{background:var(--fill)}.row-hover .row-action{opacity:0;transition:opacity .1s}.row-hover:hover .row-action,.row-hover .row-action:focus{opacity:1}.folder-row .folder-actions{display:none}.folder-row:hover .folder-actions,.folder-row:focus-within .folder-actions{display:flex}.confirm-inline{flex-wrap:wrap;align-items:center;gap:10px}.rich-note:empty:before{content:attr(data-placeholder);color:var(--ink-muted);white-space:pre-line;pointer-events:none}.rich-note ul,.rich-note-view ul{margin:2px 0;padding-left:20px}.rich-note-view>div:empty{min-height:1em}.feed-board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;display:grid}.feed-col-head{border-bottom:3px solid;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:6px;display:flex}.feed-count{color:#fff;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:800}.feed-note{cursor:pointer;border-radius:6px;padding:8px 10px 9px;transition:transform 80ms;box-shadow:0 1px 2px #0000000f}.feed-note:hover{transform:translateY(-1px);box-shadow:0 3px 8px #00000014}.feed-note--flag{background:#f9ebea;border:1px solid #ecc4bf}.feed-note--todo{background:#fbf3dc;border:1px solid #f5e1a7}.feed-note--note{background:color-mix(in srgb, var(--accent) 7%, white);border:1px solid color-mix(in srgb, var(--accent) 22%, white)}.feed-close{cursor:pointer;color:var(--ink-muted);opacity:.5;background:0 0;border:none;padding:0 2px;font-family:inherit;font-size:15px;line-height:1}.feed-note:hover .feed-close{opacity:1}.lib-list{min-width:0;container-type:inline-size}.lib-table{border-collapse:collapse;table-layout:auto;width:100%}.lib-table th,.lib-table td{overflow-wrap:break-word}.lib-table .lib-name{min-width:120px}.lib-table .lib-nowrap{white-space:nowrap}.lib-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.lib-actions .btn{white-space:nowrap}.lib-actions-cell{text-align:right}.row-actions-narrow{display:none;position:relative}.row-actions-menu{z-index:41;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:stretch;gap:6px;min-width:max-content;padding:8px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 24px #1019282e}.lib-table .row-actions-wide{flex-wrap:nowrap}@container (max-width:1200px){.lib-table .row-actions-wide{display:none}.lib-table .row-actions-narrow{display:inline-block}}@container (max-width:760px){.lib-table .lib-email{overflow-wrap:anywhere}}.lib-sub{margin-left:8px}@container (max-width:640px){.lib-table .lib-opt{display:none}.lib-table .lib-sub{margin-left:0;display:block}}@container (max-width:480px){.lib-table .lib-opt2{display:none}.lib-actions{max-width:190px}}@media (orientation:landscape) and (max-height:500px) and (pointer:coarse){body:after{content:"↻  Bitte das Handy aufrecht halten · Please turn your phone upright";z-index:10000;text-align:center;padding:24px max(24px, env(safe-area-inset-left,0px));background:var(--bg);color:var(--ink-strong);justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex;position:fixed;inset:0}}.app-shell--athlete{--bg:#efede8;--ink-muted:#7a7465;--ath-card:#fff;--ath-border:#e3e0d8;--ath-shadow:0 1px 3px #16293f14;--ath-tile:#eef2f6;--ath-line:#efede7;--ath-todo:#e08a1e;--ath-todo-ink:#8a4b00;background:var(--bg)}:is(html:has(.app-shell--athlete),body:has(.app-shell--athlete)){background:#efede8}body.lg-no-tabs .app-shell--athlete{--bg:#fff}body.lg-no-tabs .lg-cell:not(.lg-cell--chg):not(.lg-cell--edit):not(.lg-cell--bad){background:#efede7}body.lg-no-tabs{background:#fff}html:has(body.lg-no-tabs){background:#fff}.app-shell--athlete .app-content{background:var(--bg)}.app-shell--athlete .section{background:var(--ath-card);border-top:none;border:1px solid var(--ath-border);box-shadow:var(--ath-shadow);border-radius:22px;margin-bottom:14px;padding:18px}.app-shell--athlete .section .section{box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.app-shell--athlete .section h2{font-size:18px;font-weight:700}.app-shell--athlete .section-header-row{margin-bottom:14px}.app-shell--athlete .tap-box:active{opacity:1;transform:scale(.99)}.app-shell--athlete .tap-chevron{display:none}.ath-title{letter-spacing:-.02em;color:var(--ink-strong);margin:0 4px 16px;font-size:30px;font-weight:800}.ath-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding:6px 4px 8px;font-size:12px;font-weight:700}.ath-box{text-align:left;background:var(--ath-card);border:1px solid var(--ath-border);width:100%;box-shadow:var(--ath-shadow);color:var(--ink-strong);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:22px;align-items:center;gap:14px;margin:0 0 12px;padding:18px;font-family:inherit;display:flex}.ath-box:active{transform:scale(.99)}.ath-box-icon{background:var(--ath-tile);color:#1e3a5f;border-radius:15px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.ath-box-text{flex:1;min-width:0}.ath-box-title{font-size:17px;font-weight:700;display:block}.ath-status{color:var(--ink-muted);align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.ath-status:before{content:"";background:currentColor;border-radius:4px;flex-shrink:0;width:7px;height:7px}.ath-status--todo{color:var(--ath-todo-ink)}.ath-status--todo:before{background:var(--ath-todo)}.ath-status--new{color:#1e3a5f}.ath-status--done{color:#1a7a6e}.ath-status--plain:before{display:none}.ath-status--side{white-space:nowrap;flex-shrink:0;margin-top:0;font-weight:600}.ath-btn{color:#fff;cursor:pointer;background:#1e3a5f;border:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;height:44px;padding:0 14px;font-family:inherit;font-size:16px;font-weight:700;text-decoration:none;display:flex}.ath-btn:disabled{opacity:.6;cursor:default}.ath-btn--quiet{background:var(--ath-tile);color:#1e3a5f}.ath-btn--danger{color:#b3453a;background:#fbeceb}.ath-photo-full{z-index:70;cursor:zoom-out;background:#0a121cf0;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ath-photo-full img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%;max-width:560px}.ath-rows{background:var(--ath-card);border:1px solid var(--ath-border);box-shadow:var(--ath-shadow);border-radius:22px;margin-bottom:14px;overflow:hidden}.ath-row{border:none;border-top:1px solid var(--ath-line);text-align:left;width:100%;color:var(--ink-strong);cursor:pointer;background:0 0;align-items:center;gap:14px;padding:15px 18px;font-family:inherit;text-decoration:none;display:flex}.ath-row:first-child{border-top:none}.ath-row-title{flex:1;min-width:0;font-size:16px;font-weight:600}.ath-row-value{color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;max-width:55%;font-size:14px;overflow:hidden}.ath-week{touch-action:pan-y;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.ath-day{cursor:pointer;color:var(--ink-strong);background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:0;font-family:inherit;display:flex}.ath-day-name{color:var(--ink-muted);font-size:12px;font-weight:600}.ath-day-num{border-radius:20px;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:flex}.ath-day--today .ath-day-name{color:#1e3a5f;font-weight:700}.ath-day--today .ath-day-num{box-shadow:inset 0 0 0 2px #1e3a5f}.ath-day--picked .ath-day-num{color:#fff;box-shadow:none;background:#1e3a5f}.ath-day--past .ath-day-num{color:#a9a395}.ath-dots{gap:3px;height:6px;display:flex}.ath-dot{border-radius:3px;width:6px;height:6px}.ath-daylist{border-top:1px solid var(--ath-line);flex-direction:column;gap:4px;margin-top:14px;padding-top:12px;display:flex}.ath-item{text-align:left;width:100%;color:var(--ink-strong);cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:6px 0;font-family:inherit;display:flex}.ath-item-dot{border-radius:5px;flex-shrink:0;width:10px;height:10px}.ath-item-title{font-size:15px;font-weight:600;display:block}.ath-item-sub{color:var(--ink-muted);font-size:13px;display:block}.ath-icon-btn{width:44px;height:44px;color:var(--ink-strong);cursor:pointer;background:#eef2f6;border:none;border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:20px;display:flex}.ath-month{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:0;display:grid}.ath-month-head{color:var(--ink-muted);padding-bottom:4px;font-size:12px;font-weight:600}.ath-mday{height:54px;color:var(--ink-strong);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;font-family:inherit;font-size:15px;font-weight:600;display:flex}.ath-mday--out{color:#c4bfb3}.ath-mday--week{background:var(--ath-tile)}.ath-mday--week-start{border-radius:12px 0 0 12px}.ath-mday--week-end{border-radius:0 12px 12px 0}.ath-mday-num{border-radius:17px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.ath-mday--today .ath-mday-num{color:#1e3a5f;box-shadow:inset 0 0 0 2px #1e3a5f}.ath-mday--picked .ath-mday-num{color:#fff;box-shadow:none;background:#1e3a5f}.ath-today-btn{color:#1e3a5f;cursor:pointer;background:#eef2f6;border:none;border-radius:17px;height:34px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:700}.ath-legend{color:var(--ink-muted);flex-wrap:wrap;justify-content:center;gap:14px;padding-top:10px;font-size:12px;display:flex}.choice-list{border:1px solid var(--border);border-radius:14px;flex-direction:column;max-width:420px;display:flex;overflow:hidden}.choice-row{border:none;border-top:1px solid var(--border);background:var(--surface);color:var(--ink-strong);text-align:left;cursor:pointer;align-items:center;gap:10px;padding:13px 16px;font-family:inherit;font-size:15px;display:flex}.choice-row:first-child{border-top:none}.choice-check{color:#1e3a5f;font-weight:800}.app-shell--athlete .input{border-radius:12px;min-height:46px;font-size:16px}.app-shell--athlete .btn{border-radius:14px;min-height:44px;font-size:15px}.ath-goal{cursor:pointer;flex-direction:column;gap:4px;display:flex}.app-shell--athlete .ath-goal--long{box-shadow:inset 4px 0 0 #1e3a5f, var(--ath-shadow)}.ath-goal-title{color:var(--ink-strong);overflow-wrap:anywhere;font-size:16px;font-weight:700;line-height:1.25}.ath-goal--long .ath-goal-title{font-size:18px}.ath-goal-when{color:var(--ink-muted);font-size:13px}.ath-goal-note{color:var(--ink);white-space:pre-wrap;font-size:14px}.ath-card-btn{text-align:left;width:100%;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:inherit;display:block}.ath-card-btn:active{transform:scale(.99)}.ath-more{width:40px;height:40px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:20px;flex:none;font-family:inherit;font-size:22px;line-height:1}.ath-more:active{background:var(--ath-tile)}.journal-title{width:100%;color:var(--ink-strong);background:0 0;border:none;outline:none;margin-top:14px;padding:4px 0;font-family:inherit;font-size:22px;font-weight:800;display:block}.journal-title::placeholder{color:#c4bfb3;font-weight:700}.ath-photo{width:132px;height:132px;margin:0 auto;position:relative}.ath-photo-img{color:#1e3a5f;object-fit:cover;background:#c9d3df;border-radius:66px;justify-content:center;align-items:center;width:132px;height:132px;font-size:44px;font-weight:800;display:flex;overflow:hidden}.ath-photo-btn{color:#fff;cursor:pointer;background:#1e3a5f;border:3px solid #efede8;border-radius:20px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex;position:absolute;bottom:2px;right:2px}.ath-sheet-back{z-index:60;background:#16293f40;position:fixed;inset:0}.ath-sheet{z-index:61;padding:10px 18px calc(24px + env(safe-area-inset-bottom));background:#fff;border-radius:26px 26px 0 0;flex-direction:column;gap:14px;max-height:88dvh;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 28px #16293f24}.ath-sheet-grip{background:#dcd8ce;border-radius:3px;align-self:center;width:40px;height:5px}.ath-sheet h2{color:var(--ink-strong);margin:0;font-size:19px;font-weight:800}.ath-field{flex-direction:column;gap:6px;display:flex}.ath-field-label{color:var(--ink-muted);font-size:13px;font-weight:600}.ath-field .input{border-radius:14px;height:50px;margin:0;font-size:16px}@media (min-width:821px){.ath-sheet{border-radius:26px;width:480px;bottom:24px;left:50%;right:auto;transform:translate(-50%)}}@media (max-width:820px){.app-shell--athlete{--bottom-tab-height:calc(102px + env(safe-area-inset-bottom))}body.lg-no-tabs .app-shell--athlete{--bottom-tab-height:env(safe-area-inset-bottom,0px)}.app-shell--athlete .app-content{padding:24px 16px calc(112px + env(safe-area-inset-bottom))}.app-shell--athlete .app-bottom-tabs{left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));background:#fff;border-radius:33px;align-items:center;height:66px;padding:0 6px;box-shadow:0 6px 24px #16293f24}.app-shell--athlete .app-bottom-tabs .app-nav-item--icon{color:#6b7686;border-radius:27px;gap:3px;height:54px;padding:0;font-size:11px;font-weight:600}.app-shell--athlete .app-bottom-tabs .app-nav-item--icon.active{color:#fff;background:#1e3a5f;font-weight:700}.app-shell--athlete .app-bottom-tabs .app-nav-item--icon:after{display:none}.app-shell--athlete .tab-icon svg{width:22px;height:22px}.app-shell--athlete .tab-icon-dot{background:#c0543c;box-shadow:0 0 0 2px #fff}.app-shell--athlete .app-nav-item--icon.active .tab-icon-dot{box-shadow:0 0 0 2px #1e3a5f}.tab-label{line-height:1}}.app-shell--pro{--bg:#f4f5f7;--surface:#fff;--box-border:#dfe3e8;--border:#dfe3e8;--tile:#f2f4f7;--fill:#f5f7fa;--ink-strong:#111827;--ink-muted:#667085;--head-band:#fff;--head-band-border:#dfe3e8;--cockpit-box:#dfe3e8;--pro-line:#eceef1;--pro-radius:8px;background:var(--bg);font-size:13px}:is(html:has(.app-shell--pro),body:has(.app-shell--pro)){background:#f4f5f7}.app-shell--pro .app-content{background:var(--bg);padding:24px 32px 80px}@media (min-width:821px){.app-shell--pro .app-content--fill{padding-bottom:24px}}.app-shell--pro .app-sidebar{background:#16293f;width:224px;padding:18px 12px 14px}.app-shell--pro .app-sidebar .brand{letter-spacing:.01em;align-items:center;gap:10px;margin-bottom:22px;padding:0 8px;font-size:13px;font-weight:700;display:flex}.app-shell--pro .brand-logo{width:136px;height:auto;margin:4px auto;display:block}.app-shell--pro .app-nav-group{letter-spacing:.08em;text-transform:uppercase;color:#7d8da3;padding:0 12px 6px;font-size:10px;font-weight:700}.app-shell--pro .app-sidebar .app-nav-item{color:#b8c4d3;border-radius:6px;align-items:center;gap:10px;height:34px;padding:0 12px;font-size:13px;font-weight:600;display:flex}.app-shell--pro .app-sidebar .app-nav-item svg{opacity:.9;flex-shrink:0}.app-shell--pro .app-sidebar .app-nav-item:hover{color:#fff;background:#ffffff0f}.app-shell--pro .app-sidebar .app-nav-item.active{color:#fff;background:#ffffff1a;box-shadow:inset 2px 0 #8fb3d9}.app-side-foot{flex-direction:column;gap:2px;display:flex}.app-side-user{border-top:1px solid #ffffff1f;align-items:center;gap:10px;margin-top:8px;padding:12px 8px 0;display:flex}.app-side-avatar{color:#fff;background:#2d4a6e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:inline-flex}.app-side-who{flex-direction:column;min-width:0;display:flex}.app-side-who .name{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.app-side-who .role{color:#7d8da3;font-size:11px}.app-shell--pro .page-header{margin-bottom:18px}.app-shell--pro .page-header h1{letter-spacing:-.01em;font-size:20px;font-weight:700}.app-shell--pro .page-header .sub{font-size:13px}.app-shell--pro .section{background:var(--surface);border:1px solid var(--box-border);border-radius:var(--pro-radius);box-shadow:none;margin-bottom:16px;padding:16px}.app-shell--pro .section .section{background:0 0;border:none;border-radius:0;margin:0;padding:0}.app-shell--pro .section h2{margin-bottom:12px;font-size:13px;font-weight:600}.app-shell--pro .section>h2:first-child,.app-shell--pro .section>.section-header-row:first-child{border-bottom:1px solid var(--pro-line);min-height:44px;margin:-16px -16px 14px;padding:0 16px}.app-shell--pro .section>h2:first-child{align-items:center;display:flex}.app-shell--pro .section>.section-header-row:first-child{padding-top:6px;padding-bottom:6px}.app-shell--pro .cockpit-row>.section{margin-bottom:0}.app-shell--pro .btn{border-radius:6px;min-height:32px;padding:0 12px;font-size:13px;font-weight:600}.app-shell--pro .btn-primary{border:1px solid var(--accent)}.app-shell--pro .btn-secondary{color:var(--accent);border:1.5px solid var(--accent);background:0 0}.app-shell--pro .btn-secondary:hover:not(:disabled){background:var(--fill)}.app-shell--pro .input,.app-shell--pro select.input{border-radius:6px;padding:8px 10px;font-size:13px}.app-shell--pro input.input[type=date]{height:36px}.app-shell--pro .toggle-group{border:1px solid var(--border);background:#fff;border-radius:6px}.app-shell--pro .toggle-option{color:var(--ink-muted);background:#fff;padding:7px 12px;font-size:12px}.app-shell--pro .toggle-option+.toggle-option{border-left:1px solid var(--border)}.app-shell--pro .toggle-option.active{background:var(--tile);color:var(--ink-strong)}.app-shell--pro .badge{color:#1e3a5f;background:#e0eaf5;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600}.app-shell--pro .badge-alert{color:#b42318;background:#fee4e2}.app-shell--pro table.list th{letter-spacing:.04em;color:var(--ink-muted);font-size:11px}.app-shell--pro .admin-tile{border:1px solid var(--border);border-radius:var(--pro-radius);background:#fff}.app-shell--pro .admin-tile-value{font-variant-numeric:tabular-nums;font-size:24px}@media (max-width:820px){.app-shell--pro .app-content{padding:16px 12px calc(90px + env(safe-area-inset-bottom))}.app-shell--pro .app-bottom-tabs{background:#16293f}}.app-shell--pro table.list td{border-bottom-color:var(--pro-line)}.app-shell--pro .section .section-header-row h2{margin:0}.pro-tag{white-space:nowrap;letter-spacing:.01em;border-radius:4px;align-items:center;height:20px;padding:0 7px;font-size:11px;font-weight:600;display:inline-flex}.pro-tag--todo{color:#92400e;background:#fef3c7}.pro-tag--done{color:#166534;background:#dcfce7}.pro-tag--new{color:#1e3a5f;background:#e0eaf5}.pro-tag--red{color:#b42318;background:#fee4e2}.pro-tag--muted{color:#475467;background:#f2f4f7}.pro-avatar{color:#344054;object-fit:cover;background:#e4e9ef;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.pro-head-right{align-items:center;gap:12px;display:flex}.pro-head-link{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;font-weight:600}.pro-head-link:hover{color:var(--ink-strong)}.pro-muted{color:var(--ink-muted);font-size:12px}.pro-row{border-top:1px solid var(--pro-line,#eceef1);align-items:center;gap:10px;min-width:0;padding:9px 0;display:flex}.pro-row:first-child{border-top:none;padding-top:0}button.pro-row,.pro-row[role=button]{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border-bottom:none;border-left:none;border-right:none;font-family:inherit}.pro-row[role=button]:hover .pro-row-title,button.pro-row:hover .pro-row-title{text-underline-offset:2px;text-decoration:underline}.pro-row-title{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.pro-row-sub{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.pro-grow{flex:1;min-width:0}.pro-home{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.pro-home>.section{min-width:0;margin-bottom:0}@media (max-width:1100px){.pro-home{grid-template-columns:minmax(0,1fr)}}.pro-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.pro-week-head{color:var(--ink-muted);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.pro-week-num{width:26px;height:26px;color:var(--ink-strong);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.pro-week-day--today .pro-week-head{color:var(--accent)}.pro-week-day--today .pro-week-num{background:var(--accent);color:#fff}.pro-week-item{background:var(--tile);border-radius:4px;min-width:0;margin-bottom:5px;padding:5px 7px}.pro-week-item-t{color:var(--ink-strong);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.pro-week-item-t span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pro-week-item-t i{border-radius:2px;flex-shrink:0;width:6px;height:6px}.pro-week-item-s{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;margin-left:12px;font-size:11px;overflow:hidden}.pro-week-more{color:var(--ink-muted);font-size:11px;font-weight:600}@media (max-width:700px){.pro-week{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:14px}}.pro-feed{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.pro-feed-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.pro-feed .pro-row{align-items:flex-start}.pro-feed .feed-close{opacity:0;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:15px;line-height:1}.pro-feed .pro-row:hover .feed-close,.pro-feed .feed-close:focus{opacity:1}@media (max-width:760px){.pro-feed{grid-template-columns:minmax(0,1fr)}}.pro-check{cursor:pointer;color:#fff;background:#fff;border:1.5px solid #c0c6cf;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:0;display:inline-flex}.pro-check--on{background:var(--accent);border-color:var(--accent)}.pro-week-item-t{align-items:flex-start}.pro-week-item-t i{margin-top:5px}.pro-week-item-t span{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box}.pro-feed .pro-row-title,.pro-feed .pro-row-sub{white-space:normal}@media (max-width:500px){.pro-week{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell--pro{--off-day:#f7f8fa}.pro-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pro-title-row h1{flex:1;margin:0}.pro-ath-row{border-top:1px solid var(--pro-line,#eceef1);-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;gap:12px;display:flex}.pro-ath-row:first-child{border-top:none}.pro-ath-row:hover{background:var(--fill)}.pro-ath-open{flex-shrink:0;color:var(--accent)!important;padding:6px 4px!important}@media (max-width:820px){.pro-title-row .input{order:3;width:100%!important}}.pro-crumbs{color:var(--ink-muted);align-items:center;gap:6px;margin:-4px 0 10px;font-size:12px;display:flex}.pro-crumbs button{font:inherit;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;padding:0}.pro-crumbs button:hover{color:var(--ink-strong);text-decoration:underline}.pro-crumbs span[aria-hidden]{color:#c0c6cf}.pro-crumbs-here{color:var(--ink-strong);font-weight:600}.app-shell--pro .cockpit-top{border:1px solid var(--border);border-radius:var(--pro-radius);background:#fff;margin:0 0 16px;padding:16px 16px 0;top:0}.app-shell--pro .cockpit-top>.section{border:none;padding:0;margin-bottom:14px!important}.app-shell--pro .cockpit-top .toggle-group{border:none;border-top:1px solid var(--pro-line);background:0 0;border-radius:0;gap:24px;margin:0 -16px;padding:0 16px}.app-shell--pro .cockpit-top .toggle-option{color:var(--ink-muted);background:0 0;border-radius:0;flex:none;font-size:13px;border:none!important;padding:11px 2px 10px!important}.app-shell--pro .cockpit-top .toggle-option:hover{color:var(--ink-strong)}.app-shell--pro .cockpit-top .toggle-option.active{color:var(--ink-strong);box-shadow:inset 0 -2px 0 var(--accent);background:0 0}.app-shell--pro .cockpit-top~.section,.app-shell--pro .cockpit-top~* .section,.app-shell--pro .cockpit-top~.cockpit-row>.section{border:1px solid var(--box-border);border-radius:var(--pro-radius);padding:16px}.app-shell--pro .cockpit-top~* .section .section{border:none;padding:0}@media (max-width:1200px){.app-shell--pro .cockpit-top{margin:0 0 16px;padding:16px 16px 0;top:0}}.app-shell--pro .open-link{color:var(--ink-muted);font-size:12px}.app-shell--pro .open-link:hover{color:var(--ink-strong);text-decoration:none}.pro-more{width:30px;height:30px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;font-size:17px;line-height:1}.pro-more:hover,.pro-more[aria-expanded=true]{background:var(--tile);color:var(--ink-strong)}.pro-menu{z-index:100;border:1px solid var(--border);background:#fff;border-radius:8px;min-width:150px;padding:4px 0;position:fixed;box-shadow:0 8px 24px #1018281f}.pro-row-action{color:var(--accent)!important;padding:6px!important}.lib-actions{justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.app-shell--pro .chip{border:1px solid var(--border)!important;min-height:28px!important;color:var(--ink-muted)!important;background:#fff!important;border-radius:6px!important;padding:4px 10px!important;font-size:12px!important}.app-shell--pro .chip--on{background:var(--tile)!important;color:var(--ink-strong)!important;border-color:#c0c6cf!important}.app-shell--pro .row-actions-narrow>.btn{color:var(--ink-muted);background:0 0;border:none;font-size:16px}.app-shell--pro .row-actions-narrow>.btn:hover{background:var(--tile);color:var(--ink-strong)}.app-shell--pro .admin-tiles{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}.app-shell--pro .admin-tile{padding:16px}.app-shell--pro .admin-tile.clickable:hover{background:#fff;border-color:#c0c6cf}.app-shell--pro .section>h2+.pro-row,.app-shell--pro .section-header-row+.pro-row{border-top:none;padding-top:0}.app-shell--pro .cockpit-row{align-items:start}.app-shell--pro .cockpit-row:not(.section .cockpit-row){align-items:stretch}.app-shell--pro .cockpit-row:not(.section .cockpit-row)>:not(.section){flex-direction:column;gap:16px;min-width:0;display:flex}.app-shell--pro .cockpit-row:not(.section .cockpit-row)>:not(.section)>.section{margin-bottom:0}.app-shell--pro .cockpit-row:not(.section .cockpit-row)>:not(.section)>:last-child{flex:1}.app-shell--pro .pro-crumbs{z-index:21;background:var(--bg);box-shadow:0 -24px 0 var(--bg);margin:-4px 0 0;padding:0 0 10px;line-height:18px;position:sticky;top:-24px}.app-shell--pro .pro-crumbs~.cockpit-top{box-shadow:0 -4px 0 var(--bg);top:4px}@media (max-width:820px){.app-shell--pro .pro-crumbs{box-shadow:none;margin-top:-6px;padding-top:6px;top:0}.app-shell--pro .pro-crumbs~.cockpit-top{box-shadow:none;top:34px}}.pro-week{gap:0}.pro-week-day{border-left:1px solid var(--pro-line,#eceef1);min-height:64px;padding:0 8px}.pro-week-day:first-child{border-left:none;padding-left:0}.pro-week-day:last-child{padding-right:0}@media (max-width:700px){.pro-week-day:nth-child(4n+1){border-left:none;padding-left:0}}@media (max-width:500px){.pro-week-day:nth-child(odd){border-left:none;padding-left:0}.pro-week-day:nth-child(2n){border-left:1px solid var(--pro-line,#eceef1);padding-left:8px}}.mg-clip{background:color-mix(in srgb, var(--accent) 7%, white);border:1px solid color-mix(in srgb, var(--accent) 22%, white);color:var(--ink-strong);border-radius:8px;align-items:center;gap:10px;margin-bottom:8px;padding:8px 10px;font-size:12px;display:flex}.mg-week{background:var(--fill);font:inherit;color:var(--ink-muted);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;font-size:10px;font-weight:700;display:flex}.mg-week:disabled{cursor:default}.mg-week:not(:disabled):hover{color:var(--ink-strong);background:color-mix(in srgb, var(--accent) 10%, white)}.mg-week--on{background:var(--accent)!important;color:#fff!important}.mg-week--target{color:var(--accent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 40%, white)}.mg-cell--paste .mg-add{font-weight:600;color:#c0c6cf!important}.mg-cell--paste:hover .mg-add{color:var(--accent)!important}.mg-cell--paste:hover{box-shadow:inset 0 0 0 2px var(--accent)}.app-shell--pro{--cell:#fff;--off-day:#eef0f3}.app-shell--pro .cockpit-top{box-shadow:0 -24px 0 var(--bg);top:-24px}@media (max-width:820px){.app-shell--pro .cockpit-top{box-shadow:0 -16px 0 var(--bg);top:-16px}}.sheet-chg{color:#8a4b00;vertical-align:middle;background:#fff1dd;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:0;min-width:44px;max-width:100%;margin:-5px 0;padding:1px 7px;line-height:1;display:inline-flex}.sheet-chg s{color:#b28a55;font-size:8px;font-weight:500}.sheet-chg-v{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13px;font-weight:700;overflow:hidden}.sheet-chg-u{color:#b28a55;margin-left:3px;font-size:10px;font-weight:700}.cal-kw{color:#6dbb8a;letter-spacing:.2px;pointer-events:none;font-size:10px;font-weight:600;position:absolute;top:7px;right:7px}.cal-week-box{align-items:center;gap:4px;min-width:0;height:30px;padding:0 4px;display:flex;overflow:hidden}.cal-week-badges{cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;min-width:0;padding:0;font-family:inherit;display:flex;overflow:hidden}.cal-week-more{color:var(--ink-muted);background:var(--tile);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;padding:1px 5px;font-family:inherit;font-size:10px;font-weight:700;line-height:15px}.cal-week-badges:hover .cal-week-more,.cal-week-more:hover{color:var(--ink-strong)}.cal-week-allday{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;flex:1;min-width:0;padding:2px 5px;font-size:11px;font-weight:600;overflow:hidden}.cal-week-list{z-index:300;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:240px;padding:6px 0;position:fixed;box-shadow:0 6px 24px #10192829}.cal-week-list-item{text-align:left;cursor:pointer;width:100%;color:var(--ink-strong);background:0 0;border:none;align-items:center;gap:8px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:600;display:flex}.cal-week-list-item i{border-radius:2px;flex-shrink:0;width:8px;height:8px}.cal-week-list-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pro-tabs{border-bottom:1px solid var(--pro-line,#eceef1);gap:24px;margin-bottom:16px;display:flex;overflow-x:auto}.pro-tab{font:inherit;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px 10px;font-size:13px;font-weight:600}.pro-tab:hover{color:var(--ink-strong)}.pro-tab--on{color:var(--ink-strong);box-shadow:inset 0 -2px 0 var(--accent)}@media (max-width:820px){.cal-week-scroll{height:calc(100dvh - 215px);min-height:360px;flex:none!important}}.pf-groups{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px 32px;display:grid}.pf-kicker{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:11px;font-weight:700}.pf-row{border-bottom:1px solid var(--pro-line,#eceef1);align-items:center;gap:12px;min-height:40px;display:flex}.pf-label{width:110px;color:var(--ink-muted);flex-shrink:0;font-size:13px}.pf-value{flex:1;min-width:0}.pf-value--text{text-align:right;color:var(--ink-strong);overflow-wrap:anywhere;font-size:13px;font-weight:600}.pf-row--edit{padding:4px 0}.pf-row--edit .input{height:32px;margin:0;padding:4px 10px;font-size:13px}a.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.app-shell--pro .lib-actions{flex-wrap:nowrap;max-width:none}.ath-daylist>p{align-items:center;min-height:47px;display:flex}.folder-btn{align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex;width:auto!important}.pro-tag--coach{color:#5b21b6;background:#ede9fe}.pro-tag--athlete{color:#075985;background:#e0f2fe}.pro-tag--team{color:#1e3a5f;background:#e0eaf5}.app-shell--pro th.col-center,.app-shell--pro td.col-center{text-align:center}.col-center .pro-tag{justify-content:center;min-width:64px}.acc-table tbody td{height:58px}.lib-table.acc-table{table-layout:fixed}.acc-table .acc-c1{width:34%}.acc-table .acc-c2{width:11%}.acc-table .acc-c3{width:23%}.acc-table .acc-c4{width:13%}.acc-table .acc-c5{width:11%}.acc-table .acc-c6{width:8%}.acc-table td:not(.lib-actions-cell){overflow:hidden}.acc-table .pro-row-title,.acc-table .pro-row-sub,.acc-table td:nth-child(3){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.acc-table .pro-grow{min-width:0}@container (max-width:640px){.lib-table.acc-table .lib-opt{display:table-cell}}.pro-tabs--search{align-items:flex-end}.pro-tabs--search .input{width:240px;max-width:45%;height:34px;margin:0 0 8px auto}.twostep-qr svg{border:1px solid var(--border);background:#fff;border-radius:8px;width:180px;height:180px;display:block}.twostep-key{letter-spacing:.08em;background:var(--tile);word-break:break-all;border-radius:6px;padding:8px 12px;font-size:15px}.twostep-steps{margin:0 0 8px;padding-left:20px;font-size:14px;line-height:1.5}.twostep-codes{background:var(--tile);border-radius:8px;grid-template-columns:repeat(2,max-content);gap:8px 24px;width:max-content;padding:12px 16px;display:grid}.twostep-codes code{letter-spacing:.06em;font-size:15px}.pro-home>.section{flex-direction:column;display:flex}.pro-home>.section>.pro-week{flex:1}
