@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#182d25;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--green:#24694f;--green-dark:#174a37;--muted:#617168;--line:#e4eae6;--surface:#fff;--focus:#c7dfa0;--radius:8px;background:#f5f7f6;font-family:Manrope Variable,sans-serif;font-size:14px;font-weight:500}*{box-sizing:border-box}body{min-width:360px;margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a,button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #8bbdaa}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.15px;margin-bottom:9px;font-size:30px;font-weight:750;line-height:1.25}h2{letter-spacing:-.3px;margin-bottom:12px;font-size:16px;font-weight:750}h3{margin-bottom:6px;font-size:14px;font-weight:750;line-height:1.5}p{margin-bottom:16px;line-height:1.75}input,select,textarea{border-radius:var(--radius);color:#182d25;background:#fff;border:1px solid #d8e1da;width:100%;min-height:42px;padding:9px 11px;transition:border-color .15s}input:hover,select:hover,textarea:hover{border-color:#9db2a4}textarea{resize:vertical;line-height:1.6}input[type=date],input[type=time],input[type=number]{font-variant-numeric:tabular-nums}select{padding-right:28px}label{flex-direction:column;gap:7px;margin-bottom:15px;font-size:12px;font-weight:700;line-height:1.5;display:flex}fieldset{border:0;min-width:0;margin:0;padding:0}abbr{border-bottom:1px dotted #9aaba0;margin-left:4px;font-size:10px;text-decoration:none}.muted{color:var(--muted)}.small{font-size:12px}.preserve-lines{white-space:pre-wrap}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;background:#fff;border-radius:8px;padding:12px;position:fixed;top:-60px;left:16px}.skip-link:focus{top:12px}.app-shell{grid-template-columns:224px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:0;height:100dvh;padding:29px 18px 20px;display:flex;position:sticky;top:0}.brand{letter-spacing:-1px;align-items:center;gap:9px;padding:0 9px;font-size:26px;font-weight:800;text-decoration:none;display:flex}.brand img{border-radius:9px;width:35px;height:35px}.brand-period{color:#6f9d82}.sidebar-caption{color:#7b8881;font-size:11px;font-weight:600}.sidebar>.sidebar-caption{padding:8px 10px 35px}.sidebar nav{flex-direction:column;gap:6px;display:flex}.nav-label-short{display:none}.sidebar nav a{color:#63726a;border-radius:8px;align-items:center;gap:12px;padding:13px 12px;font-size:12px;font-weight:650;text-decoration:none;transition:background .15s;display:flex}.sidebar nav a:hover{background:#f3f6f4}.sidebar nav a.active{color:var(--green);background:#e9f2eb;font-weight:800}.sidebar-athlete{padding:30px 10px}.athlete-row{align-items:center;gap:10px;margin-top:13px;display:flex}.avatar{color:#3a6250;background:#e4ece7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:12px;font-weight:800;display:inline-flex}.athlete-row>div{flex-direction:column;gap:5px;display:flex}.athlete-row strong{font-size:12px}.athlete-row>div>span{color:var(--muted);font-size:11px}.sidebar-bottom{margin-top:auto}.settings-button{color:#617168;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;padding:12px 9px;font-size:11px;display:flex}.settings-button:hover{background:#f3f6f4}.app-main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:15px;height:76px;padding:0 34px;display:flex}.breadcrumb{color:#7c8981;align-items:center;gap:13px;font-size:11px;display:flex}.breadcrumb strong{color:#46594c;font-weight:650}.topbar-right{align-items:center;gap:18px;display:flex}.local-indicator{color:#7a8880;align-items:center;gap:6px;font-size:10px;display:flex}.role-selector{margin:0}.role-selector select{border-color:var(--line);background:#fafcfb;max-width:155px;min-height:35px;font-size:11px}.avatar-small{width:32px;height:32px;font-size:11px}.topbar .mobile-settings{display:none}.demo-banner{color:#5a6b55;background:#eff4ed;border-bottom:1px solid #e3eadf;align-items:center;gap:12px;padding:10px 34px;font-size:10px;display:flex}.demo-banner>span{white-space:nowrap;font-weight:800}.demo-banner p{margin:0;font-size:10px;line-height:1.6}main{outline:none;flex:1;min-width:0;padding:31px 34px 40px}.page-title-row{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.page-title-row p:last-child{margin:0;font-size:12px}.page-context{color:#748479;margin-bottom:8px;font-size:11px}.toolbar-actions{flex-shrink:0;gap:9px;display:flex}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 15px;font-size:11px;font-weight:750;line-height:1.4;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.primary{background:var(--green);color:#fff}.primary:hover:not(:disabled){background:var(--green-dark)}.secondary{color:#445c4b;background:#fff;border-color:#dce5de}.secondary:hover:not(:disabled){background:#f3f7f4;border-color:#bccfc1}.danger{color:#fff;background:#a33535}.danger:hover:not(:disabled){background:#832929}.small-button{min-height:31px;padding:6px 10px;font-size:10px}.icon-button{color:#667a6c;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.icon-button:hover:not(:disabled){color:#244f36;background:#edf2ee}.text-button{color:var(--green);text-align:left;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:12px;font-weight:700;line-height:1.7;text-decoration:none;display:inline-flex}.text-button:hover{text-decoration:underline}.full-width{width:100%}.weekly-summary{border-bottom:1px solid #e0e7e1;grid-template-columns:1fr 1fr 1.15fr 1.5fr;gap:20px;margin-bottom:27px;padding:0 1px 22px;display:grid}.weekly-summary>div{flex-direction:column;gap:9px;display:flex}.weekly-summary>div>span{color:#7b8a80;font-size:10px}.weekly-summary strong{letter-spacing:-.7px;white-space:normal;font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;column-gap:3px;font-size:24px;font-weight:700;display:flex}.weekly-summary small{letter-spacing:0;color:#7a877e;font-size:10px;font-weight:500}.planner-layout{grid-template-columns:minmax(0,1fr) 255px;align-items:start;gap:22px;display:grid}.surface{border:1px solid var(--line);background:#fff;border-radius:12px}.calendar-surface{overflow:hidden}.calendar-toolbar{justify-content:space-between;align-items:center;gap:10px;padding:15px 17px;display:flex}.calendar-nav{align-items:center;gap:3px;min-width:0;display:flex}.calendar-nav h2{white-space:nowrap;margin:0 0 0 7px;font-size:13px;font-weight:750}.week-label{color:#8a958c;background:#f1f5f2;border-radius:4px;margin-left:8px;padding:4px 6px;font-size:9px;font-weight:700}.calendar-phases{flex-wrap:wrap;gap:7px;padding:0 20px 17px;display:flex}.phase-context{text-align:left;border:0;border-radius:5px;align-items:center;gap:6px;max-width:100%;padding:5px 8px;display:flex}.phase-context>span{opacity:.8;font-size:8px}.phase-context>strong{font-size:9px;font-weight:700}.phase-green{color:#2f6446;background:#e4f0e8}.phase-blue{color:#426994;background:#e8eff8}.phase-amber{color:#8a692e;background:#f8efdc}.phase-rose{color:#995265;background:#f6e9eb}.calendar-legend{color:#78877c;flex-wrap:wrap;align-items:center;gap:15px;padding:15px 19px;font-size:9px;display:flex}.calendar-legend>span{align-items:center;gap:6px;display:flex}.calendar-legend i{background:var(--category-strong);border-radius:2px;width:7px;height:7px}.calendar-zone{margin-left:auto}.category-technique{--category-bg:#e8f0e7;--category-strong:#5b8853;--category-ink:#355a32}.category-tactics{--category-bg:#e9effa;--category-strong:#6a8cb9;--category-ink:#42618c}.category-match{--category-bg:#f7e9e4;--category-strong:#bf7a61;--category-ink:#87543e}.category-fitness{--category-bg:#f5efdd;--category-strong:#b49a4f;--category-ink:#7d682c}.category-recovery{--category-bg:#eeeaf5;--category-strong:#9980b5;--category-ink:#79618f}.category-text{color:var(--category-ink)}.calendar-tournament{color:#856626;background:#f7eedb}.calendar-rest{color:#647a65;background:#eff3ef}.fc{--fc-border-color:#edf1ed;--fc-today-bg-color:#f7faf6;--fc-neutral-bg-color:#fafcfb;--fc-page-bg-color:#fff;--fc-event-text-color:#355a32;font-size:11px}.fc .fc-scrollgrid{border-bottom:0;border-left:0;border-right:0}.fc .fc-scrollgrid td:last-child,.fc .fc-scrollgrid th:last-child{border-right:0}.fc .fc-col-header-cell-cushion{width:100%;padding:0;text-decoration:none;display:block}.calendar-day{color:#788579;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;min-height:69px;font-size:9px;font-weight:600;display:flex}.calendar-day strong{color:#3b5142;text-align:center;border-radius:50%;width:28px;height:28px;font-size:16px;font-weight:750;line-height:28px}.calendar-day.is-selected strong{color:#fff;background:var(--green)}.fc .fc-timegrid-slot{height:47px}.fc .fc-timegrid-slot-label-cushion{color:#8b978d;padding:0 10px;font-size:9px;font-weight:500}.fc .fc-timegrid-axis-cushion{color:#8b978d;padding:5px;font-size:8px;font-weight:500}.fc .fc-timegrid-event{background:var(--category-bg);border:0;border-left:3px solid var(--category-strong);box-shadow:none;border-radius:5px}.fc .fc-timegrid-col-events{margin:0 5px 0 3px}.fc .fc-event-main{color:var(--category-ink);overflow:hidden}.calendar-event-content{color:inherit;text-align:left;background:0 0;border:0;flex-direction:column;gap:4px;width:100%;min-width:0;height:100%;padding:6px;line-height:1.4;display:flex;overflow:hidden}.calendar-event-content:hover{filter:brightness(.92)}.calendar-event-content:focus-visible{outline-offset:-3px}.calendar-event-content strong{font-size:10px;font-weight:750;line-height:1.45;overflow:hidden}.event-time{white-space:nowrap;font-size:8px;font-weight:600}.event-category{opacity:.8;font-size:8px}.fc .fc-daygrid-event{border:0;border-radius:4px;margin:4px}.fc .fc-daygrid-event .calendar-event-content{padding:4px 5px}.fc .fc-timegrid-now-indicator-line,.fc .fc-timegrid-now-indicator-arrow{border-color:#9fbb86}.fc .fc-timegrid-divider{border:0;padding:0}.training-calendar{--fc-classic-border:#edf1ed;--fc-classic-foreground:#536a59;--fc-classic-muted-foreground:#819184;--fc-classic-today:#f7faf6;--fc-classic-now:#8da67c;font-size:11px;line-height:1.5}.training-calendar .training-slot-header{color:#819184;padding:0 9px;font-size:10px}.training-calendar .training-day-header{padding:0}.training-calendar .training-event{background:var(--fc-event-color);color:var(--fc-event-contrast-color);border:0;border-left:3px solid var(--category-strong,#a7b7a3);box-shadow:none;border-radius:5px}.training-calendar .training-event-inner{height:100%;color:inherit;padding:0;display:block}.training-calendar .calendar-event-content{justify-content:flex-start;gap:3px;padding:6px}.training-calendar .calendar-event-content strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0;font-size:10px;line-height:1.4;display:-webkit-box;overflow:hidden}.training-calendar .event-time{flex-shrink:0;font-size:8px}.mobile-agenda{display:none}.day-sidebar{flex-direction:column;gap:22px;display:flex}.day-overview{padding:19px 16px}.section-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.section-heading h2{margin-bottom:0}.day-overview>.section-heading{margin-bottom:15px}.day-overview h2{font-size:13px}.day-overview .section-heading>span{font-size:9px}.agenda-session{border:0;border-left:3px solid var(--category-strong);text-align:left;background:#fafcf9;border-radius:5px;align-items:flex-start;gap:10px;width:100%;margin-bottom:10px;padding:13px 9px;display:flex}.agenda-session:hover{background:var(--category-bg)}.agenda-time{font-variant-numeric:tabular-nums;flex-direction:column;gap:5px;padding-top:2px;font-size:11px;font-weight:750;display:flex}.agenda-time>span{color:#94a094;font-size:9px;font-weight:500}.agenda-info{flex-direction:column;gap:6px;min-width:0;display:flex}.agenda-info strong{font-size:11px;line-height:1.6}.agenda-info>span{align-items:center;gap:4px;font-size:8px;display:flex}.agenda-event{text-align:left;border:0;border-radius:5px;align-items:center;gap:9px;width:100%;margin-bottom:12px;padding:12px;display:flex}.agenda-event>div{flex-direction:column;gap:5px;display:flex}.agenda-event strong{font-size:11px}.agenda-event span{font-size:9px}.day-add{justify-content:center;margin-top:5px;padding:6px 0;font-size:10px}.empty-day{text-align:center;color:#809883;padding:25px 5px 18px}.empty-day h3{color:#4d6854;margin:14px 0 5px;font-size:12px}.empty-day p{color:#829385;font-size:10px}.focus-section{padding:5px 13px}.focus-icon{color:#719365;background:#e7eee4;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:12px;display:flex}.focus-section h3{font-size:12px;line-height:1.7}.focus-section p{color:#7d8d7e;font-size:11px;line-height:1.9}.app-footer{color:#98a499;justify-content:space-between;padding:0 34px 23px;font-size:9px;display:flex}.dialog{color:#182d25;background:#fff;border:1px solid #d7e2d9;border-radius:13px;width:min(570px,100vw - 32px);max-height:90dvh;padding:0;box-shadow:0 20px 80px #183e2d30}.dialog-wide{width:min(780px,100vw - 32px)}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#17332760}.dialog-header{z-index:2;border-bottom:1px solid var(--line);background:#fff;border-radius:13px 13px 0 0;justify-content:space-between;align-items:center;padding:19px 23px;display:flex;position:sticky;top:0}.dialog-header h2{margin:0;font-size:18px}.dialog-body{padding:23px}.dialog-body>p{color:#617168;font-size:13px}.dialog-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:16px;padding-top:18px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.span-2{grid-column:1/-1}.form-error{color:#9c3333;background:#faebea;border-radius:7px;margin:14px 0;padding:12px;font-size:12px;line-height:1.7}.danger-text{color:#a74440}.form-section{border-top:1px solid var(--line);margin-top:14px;padding-top:20px}.form-section>h3{font-size:15px}.form-section>p{margin-bottom:13px}.add-exercise-row{gap:10px;margin-bottom:17px;display:flex}.add-exercise-row select{flex:1;min-width:0}.exercise-editor{border:1px solid var(--line);background:#f6f8f6;border-radius:8px;margin-top:12px;padding:13px 15px}.exercise-editor-heading{align-items:center;gap:10px;margin-bottom:15px;display:flex}.exercise-editor-heading strong{font-size:12px}.exercise-number{color:#55755a;background:#e7efe7;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:27px;height:27px;font-size:11px;font-weight:750;display:inline-flex}.row-actions{gap:1px;margin-left:auto;display:flex}.exercise-editor label{font-size:10px}.exercise-editor input,.exercise-editor textarea{font-size:12px}.empty-inline{color:#7e8e81;text-align:center;padding:25px;font-size:12px;line-height:1.8}.toast{z-index:20;color:#fff;background:#244e37;border-radius:9px;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:14px 22px;font-size:12px;display:flex;position:fixed;bottom:24px;left:calc(50% + 80px);transform:translate(-50%);box-shadow:0 6px 25px #244e3730}.initial-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:30px;display:flex}.initial-state img{border-radius:15px;width:60px;margin-bottom:25px}.initial-state h1{max-width:600px;font-size:24px}.initial-state p{color:#617168;max-width:600px}.demo-login-form{text-align:left;width:min(100%,360px);padding:24px}.season-surface{overflow:hidden}.season-axis{border-top:1px solid var(--line);grid-template-columns:150px minmax(0,1fr);display:grid}.season-axis>span{color:#7b8e7d;padding:20px 18px;font-size:10px}.season-axis>div{grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.season-axis button{background:0 0;border:0;border-left:1px solid #edf1ed;flex-direction:column;align-items:center;gap:7px;padding:15px 2px;display:flex}.season-axis button:hover{background:#f3f7f4}.season-axis button span{color:#8b998e;font-size:8px}.season-axis button strong{white-space:nowrap;font-size:9px;font-weight:700}.season-lane{border-top:1px solid var(--line);grid-template-columns:150px minmax(0,1fr);min-height:108px;display:grid}.season-lane-label{flex-direction:column;gap:7px;padding:30px 18px;display:flex}.season-lane-label strong{font-size:11px}.season-lane-label span{color:#8a978d;font-size:9px}.season-lane-track{grid-template-columns:repeat(12,minmax(0,1fr));min-width:0;display:grid;position:relative}.season-lane-track>i{border-left:1px solid #edf1ed;height:100%}.phase-bar{text-align:left;border:1px solid #ffffff90;border-radius:7px;flex-direction:column;justify-content:center;gap:7px;min-width:3px;height:63px;padding:12px 14px;display:flex;position:absolute;top:22px;overflow:hidden}.phase-bar strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:750;overflow:hidden}.phase-bar span{white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.phase-bar:hover{filter:brightness(.96)}.tournament-lane{min-height:88px}.tournament-lane .season-lane-label{padding-top:23px}.tournament-marker{color:#9b7d41;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:6px;max-width:120px;padding:0;font-size:9px;display:flex;position:absolute;top:17px}.tournament-marker span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.below-heading{margin:30px 0 16px}.phase-goals{grid-template-columns:1fr 1fr;gap:0 30px;display:grid}.phase-goal{border-bottom:1px solid #e2e9e3;align-items:flex-start;gap:13px;padding:19px 0;display:flex}.phase-goal-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:39px;height:39px;display:inline-flex}.phase-goal>div{flex:1;min-width:0}.phase-goal .small{font-size:9px}.phase-goal h3{margin-top:6px}.phase-goal h3 button{color:#2b4935;font-size:13px}.phase-goal p{color:#7d8d7f;margin:0;font-size:11px;line-height:1.8}.season-mobile{display:none}.library-toolbar{justify-content:space-between;gap:15px;margin-bottom:22px;display:flex}.search-field{color:#8a9a8d;background:#fff;border:1px solid #d8e1da;border-radius:8px;flex-direction:row;align-items:center;gap:10px;width:100%;max-width:420px;margin:0;padding-left:13px;display:flex;position:relative}.search-field input{background:0 0;border:0;font-size:12px;font-weight:500}.library-toolbar>select{max-width:200px;font-size:12px}.library-list{padding:0 23px}.library-exercise{align-items:flex-start;gap:18px;padding:25px 0;display:flex}.library-exercise+.library-exercise{border-top:1px solid var(--line)}.library-icon{background:var(--category-bg);width:44px;height:44px;color:var(--category-ink);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.library-exercise>div{flex:1}.library-exercise h2{margin:5px 0 8px;font-size:15px}.library-exercise p{color:#728376;max-width:75ch;margin:0;font-size:12px}.library-exercise .small{font-size:10px}.details-page .back-button{margin-bottom:24px}.detail-title-row{justify-content:space-between;align-items:center;gap:20px;margin-bottom:19px;display:flex}.category-label{background:var(--category-bg);color:var(--category-ink);border-radius:5px;margin-bottom:13px;padding:5px 10px;font-size:10px;font-weight:700;display:inline-flex}.detail-meta{flex-wrap:wrap;align-items:center;gap:22px;margin-bottom:12px;display:flex}.detail-meta span{color:#64786a;align-items:center;gap:7px;font-size:12px;display:flex}.detail-columns{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;margin-top:26px;display:grid}.detail-content{padding:28px}.detail-content>section+section{margin-top:30px}.detail-content p{color:#6b7e70;font-size:13px;line-height:1.9}.exercise-list{margin:0;padding:0;list-style:none}.exercise-list>li{border-bottom:1px solid var(--line);gap:15px;padding:23px 0;display:flex}.exercise-list>li:last-child{border-bottom:0;padding-bottom:0}.exercise-list>li>div{flex:1;min-width:0}.exercise-title{justify-content:space-between;align-items:baseline;gap:15px;display:flex}.exercise-title h3{font-size:13px}.exercise-title>span{color:#7a8d7e;white-space:nowrap;font-size:11px}.exercise-list p{margin:5px 0 0;font-size:12px}.exercise-list .prescription{color:#53704e;background:#f1f6ef;border-radius:5px;margin-top:12px;padding:6px 10px;font-size:11px;display:inline-block}.detail-danger-zone{border-top:1px solid var(--line);margin-top:30px;padding-top:22px}.detail-danger-zone p{margin:0;font-size:11px}.feedback-panel{padding:23px}.feedback-panel h2{margin-bottom:22px}.feedback-panel>p{font-size:12px}.feedback-panel label{font-size:11px}.feedback-panel form input,.feedback-panel form select,.feedback-panel form textarea{font-size:12px}.status-label{color:#4d7e47;background:#e9f4e8;border-radius:5px;align-items:center;gap:6px;padding:5px 9px;font-size:11px;display:inline-flex}.feedback-values{margin:24px 0}.feedback-values>div{justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font-size:11px;display:flex}.feedback-values dt{color:#819182}.feedback-values dd{margin:0;font-weight:750}.success-text{color:#3e8658}.missing-session{padding:30px}@media (width>=1700px){main{width:100%;max-width:1650px;margin:0 auto}.planner-layout{grid-template-columns:minmax(0,1fr) 290px}.fc .fc-timegrid-slot{height:50px}.calendar-event-content strong{font-size:11px}}@media (width<=1279px){.app-shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.topbar{padding-left:24px;padding-right:24px}main{padding:25px 24px 35px}.demo-banner{padding-left:24px;padding-right:24px}.planner-layout{grid-template-columns:minmax(0,1fr)}.day-sidebar{display:none}.weekly-summary{gap:15px}.weekly-summary small{font-size:9px}.season-axis,.season-lane{grid-template-columns:128px minmax(0,1fr)}.season-lane-label{padding-left:13px}.phase-bar{padding-left:9px;padding-right:9px}.detail-columns{grid-template-columns:minmax(0,1fr) 275px;gap:18px}}@media (width<=1023px){.app-shell{grid-template-columns:178px minmax(0,1fr)}.sidebar{padding-top:25px}.brand{gap:7px;padding-left:5px;font-size:23px}.brand img{width:31px;height:31px}.sidebar nav a{gap:9px;padding-left:9px;font-size:11px}.sidebar-athlete{padding-left:6px;padding-right:6px}.sidebar-caption{font-size:10px}.local-indicator{display:none}.topbar{height:65px;padding:0 20px}.topbar-right{gap:10px}.demo-banner{padding:9px 20px}.page-title-row{align-items:flex-start}.page-title-row .toolbar-actions{flex-direction:column;gap:7px}.page-title-row h1{font-size:27px}.page-title-row p:last-child{max-width:45ch}.weekly-summary{grid-template-columns:1fr 1fr;row-gap:20px}.weekly-summary strong{font-size:23px}.weekly-summary small{font-size:10px}.detail-columns{grid-template-columns:minmax(0,1fr)}.detail-title-row{flex-direction:column;align-items:flex-start}.feedback-panel{max-width:600px}.season-axis,.season-lane{grid-template-columns:110px minmax(0,1fr)}.season-axis>span{padding-left:12px;font-size:9px}.season-axis button strong{font-size:8px}.season-axis button span{font-size:7px}.season-lane-label strong{font-size:10px}.season-lane-label span{font-size:8px}.phase-bar{padding-left:7px;padding-right:7px}.phase-bar strong{font-size:9px}.phase-bar span{font-size:8px}.phase-goals{grid-template-columns:1fr}.calendar-event-content{padding:5px 3px}.calendar-event-content strong{font-size:9px}.event-category{display:none}}@media (width<=767px){body{min-width:360px}.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);gap:0;height:auto;padding:15px 18px 0;position:static}.brand{width:max-content;padding:0;font-size:23px}.brand img{width:30px;height:30px}.sidebar>.sidebar-caption,.sidebar-athlete,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;gap:6px;margin-top:16px;overflow-x:auto}.sidebar nav a{white-space:nowrap;border-radius:7px 7px 0 0;gap:7px;padding:12px 9px;font-size:10px}.sidebar nav svg{width:17px;height:17px}.nav-label-long{display:none}.nav-label-short{display:inline}.topbar{border-bottom:1px solid var(--line);background:#fbfcfb;height:54px;padding:0 19px}.breadcrumb{gap:7px;font-size:10px}.breadcrumb>svg{width:11px}.topbar-right{gap:0}.avatar-small{display:none}.topbar .mobile-settings{margin-left:5px;display:inline-flex}.breadcrumb-root,.breadcrumb>svg{display:none}.role-selector select{width:140px;min-height:32px;font-size:10px}.demo-banner{align-items:flex-start;gap:8px;padding:9px 19px}.demo-banner p{font-size:9px}.demo-banner>span{padding-top:1px;font-size:9px}main{padding:24px 18px 30px}.page-title-row{flex-wrap:wrap;gap:14px;margin-bottom:25px}.page-title-row h1{font-size:27px}.page-context{font-size:10px}.page-title-row p:last-child{font-size:11px}.page-title-row .toolbar-actions{flex-direction:row;gap:8px}.button{min-height:40px;padding:10px 12px;font-size:11px}.page-title-row>.button{margin-top:0}.weekly-summary{gap:20px 13px;margin-bottom:22px;padding-bottom:21px}.weekly-summary>div>span{font-size:9px}.weekly-summary strong{font-size:24px}.weekly-summary small{font-size:9px}.weekly-summary>div{gap:7px}.calendar-toolbar{padding:13px 10px}.calendar-nav{gap:0}.calendar-nav h2{margin-left:3px;font-size:11px}.week-label{margin-left:6px;padding:3px 4px;font-size:8px}.small-button{min-height:30px;padding:6px 9px;font-size:9px}.calendar-phases{gap:5px;padding:0 13px 12px}.phase-context{gap:6px;padding:5px 7px}.phase-context>span{font-size:8px}.phase-context>strong{font-size:9px}.desktop-calendar{display:none}.mobile-agenda{padding:0 12px 7px;display:block}.mini-week{--mini-week-height:266px;border-bottom:1px solid var(--line);grid-template-columns:18px repeat(7,minmax(0,1fr));column-gap:3px;margin-bottom:20px;padding-bottom:13px;display:grid}.mini-week-day{color:#87958a;background:0 0;border:0;border-radius:8px 8px 0 0;flex-direction:column;align-items:center;gap:6px;padding:8px 2px 7px;font-size:9px;display:flex}.mini-week-day strong{color:#486650;font-size:15px}.mini-week-day.is-today strong{-webkit-text-decoration:underline 2px var(--green);text-decoration:underline 2px var(--green);text-underline-offset:4px}.mini-week-day.is-selected,.mini-week-allday.is-selected,.mini-week-column.is-selected{background-color:#e7f0e7}.mini-week-day.is-selected{color:#346144}.mini-week-day.is-selected strong{color:var(--green)}.mini-week-allday{flex-direction:column;gap:2px;min-height:12px;padding:2px 3px 4px;display:flex}.mini-week-event{border:0;border-radius:3px;height:7px;padding:0}.mini-week-event.calendar-tournament{background:#c9a24b}.mini-week-event.calendar-rest{background:#a7b7a3}.mini-week-event.calendar-personal{background:#8fa8c8}.mini-week-hours,.mini-week-column{height:var(--mini-week-height);position:relative}.mini-week-column{background-image:linear-gradient(var(--line) 1px, transparent 1px);background-size:100% calc(var(--mini-week-height) / 7);background-position:0 calc(var(--mini-week-height) / 14);border-radius:0 0 8px 8px}.mini-week-hours span{color:#9aa79d;font-size:8px;position:absolute;right:2px;transform:translateY(-50%)}.mini-week-session{background:var(--category-strong);color:#fff;border:1px solid #fff;border-radius:4px;justify-content:center;align-items:flex-start;padding:2px 0 0;display:flex;position:absolute}.mini-week-session.is-missed{background:repeating-linear-gradient(135deg, var(--category-bg) 0 4px, var(--category-strong) 4px 6px);color:var(--category-ink)}.mobile-agenda h3{margin:0 2px 14px;font-size:12px}.agenda-session{gap:15px;min-height:92px;margin-bottom:12px;padding:16px 12px}.agenda-time{gap:7px;padding-top:3px;font-size:12px}.agenda-time>span{font-size:10px}.agenda-info strong{font-size:12px}.agenda-info>span{font-size:9px}.agenda-info{gap:7px}.agenda-session>svg{margin-left:auto}.calendar-legend{border-top:1px solid var(--line);gap:12px;padding:14px;font-size:9px}.calendar-zone{width:100%;margin-left:0;font-size:8px}.app-footer{padding:0 18px 20px;font-size:8px}.season-desktop{display:none}.season-mobile{padding:0 17px 19px;display:block}.season-mobile section{border-top:1px solid var(--line);padding:12px 0}.season-mobile h3{color:#6c7d6d;margin:8px 0 14px;font-size:11px}.phase-mobile{text-align:left;border:0;border-radius:7px;flex-direction:column;gap:6px;width:100%;margin-top:8px;padding:14px;display:flex}.phase-mobile strong{font-size:12px}.phase-mobile>span{font-size:10px}.phase-goal{gap:11px;padding:17px 0}.phase-goal-icon{border-radius:8px;width:34px;height:34px}.phase-goal .small{font-size:8px}.below-heading h2{font-size:14px}.below-heading>span{font-size:9px}.library-toolbar{flex-direction:column;gap:10px}.library-toolbar>select,.search-field{max-width:none}.library-list{padding:0 15px}.library-exercise{gap:12px;padding:21px 0}.library-icon{border-radius:8px;width:34px;height:34px}.library-exercise h2{font-size:13px}.library-exercise p{font-size:11px}.library-exercise .icon-button{width:25px}.detail-title-row h1{font-size:26px}.detail-meta{gap:12px}.detail-meta>span,.details-page .back-button{font-size:11px}.detail-content,.feedback-panel{padding:20px}.detail-content h2{font-size:15px}.exercise-list>li{gap:11px}.exercise-title h3{font-size:12px}.exercise-title>span{font-size:10px}.exercise-list p{font-size:11px}.detail-title-row .toolbar-actions{gap:8px}.dialog{border-radius:11px;width:calc(100vw - 20px);max-height:94dvh}.dialog-header{padding:15px 17px}.dialog-header h2{font-size:16px}.dialog-body{padding:18px}.form-grid{gap:0 12px}.form-grid label{font-size:10px}.form-grid input,.form-grid select,.form-grid textarea{font-size:12px}.exercise-editor .form-grid{display:block}.exercise-editor-heading{flex-wrap:wrap;gap:7px}.exercise-editor-heading strong{max-width:75%;font-size:11px}.exercise-editor-heading .row-actions{margin-left:auto}.exercise-editor{padding:12px 10px}.toast{width:max-content;padding:13px 17px;font-size:11px;bottom:18px;left:50%}.detail-danger-zone .small{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
