:root{color:#19201d;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.mobile-back-button{display:none}.app-shell{width:min(1180px,100%);margin:0 auto;padding:28px}.auth-shell{place-items:center;min-height:100vh;padding:20px;display:grid}.auth-panel{background:#fff;border:1px solid #dfe4dd;border-radius:8px;gap:16px;width:min(380px,100%);padding:22px;display:grid}.auth-panel h1,.auth-panel p{margin:0}.auth-panel h1{font-size:30px;line-height:1.05}.auth-panel p{color:#65706b;margin-top:6px}.auth-submit{width:100%}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.topbar-actions{align-items:center;gap:12px;display:flex}.main-nav,.mode-switch{background:#eef2f1;border:1px solid #dbe2df;border-radius:8px;padding:3px;display:inline-flex}.main-nav button,.mode-switch button{color:#43504b;background:0 0;border:0;border-radius:6px;min-height:36px;padding:0 14px}.main-nav button.active,.mode-switch button.active{color:#fff;background:#285d55}.topbar h1,.topbar p,.section-title h2,.client-panel h2,.client-panel p,.measurement-card dl,.measurement-card dd{margin:0}.topbar h1{font-size:32px;line-height:1.05}.topbar p,.client-panel p{color:#65706b;margin-top:6px}.workspace{grid-template-columns:minmax(300px,.9fr) minmax(380px,1.35fr);align-items:start;gap:18px;display:grid}.today-screen{gap:14px;display:grid}.today-header,.date-board{background:#fff;border:1px solid #dfe4dd;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.today-header h2,.today-header p,.date-board strong,.date-board span{margin:0}.today-header h2{font-size:24px}.today-header p,.date-board span,.muted{color:#65706b}.date-board>div:first-child{gap:4px;display:grid}.date-board strong{font-size:22px}.date-controls{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.schedule-list{gap:10px;display:grid}.schedule-card{text-align:left;background:#fff;border:1px solid #dfe4dd;border-radius:8px;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:78px;padding:14px;display:grid}.schedule-card:hover,.schedule-card:focus-visible{background:#f0f7f5;border-color:#285d55}.schedule-card.compact{grid-template-columns:48px minmax(0,1fr);min-height:0;padding:10px}.schedule-card.compact .schedule-badges{grid-column:2;justify-content:flex-start}.schedule-time{color:#285d55;font-size:20px;font-weight:800}.schedule-card.compact .schedule-time{font-size:15px}.schedule-main{gap:3px;min-width:0;display:grid}.schedule-main strong,.schedule-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-main span{color:#65706b}.schedule-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.week-day-column{align-content:start;gap:8px;min-width:0;display:grid}.week-day-head{color:#43504b;background:#fff;border:1px solid #dfe4dd;border-radius:8px;place-items:center;gap:2px;min-height:74px;display:grid}.week-day-head strong{color:#19201d;font-size:22px}.week-day-head small{color:#fff;background:#285d55;border-radius:50%;place-items:center;min-width:24px;height:24px;display:inline-grid}.week-day-column.selected .week-day-head{background:#e7f3ef;border-color:#285d55}.week-workouts{gap:8px;display:grid}.week-mobile{display:none}.calendar-scroll{scrollbar-width:thin;background:#fff;border:1px solid #dfe4dd;border-radius:8px;width:100%;max-width:100%;overflow:auto hidden}.calendar-time-grid{--hour-row-height:58px;grid-template-columns:64px repeat(7,minmax(112px,1fr));min-width:920px;display:grid}.calendar-corner,.calendar-day-head{z-index:2;background:#f7f9f7;border:0;border-bottom:1px solid #dfe4dd;min-height:64px;position:sticky;top:0}.calendar-corner{z-index:3;left:0}.calendar-day-head{color:#43504b;border-left:1px solid #edf0ec;place-items:center;gap:2px;display:grid}.calendar-day-head.active{color:#fff;background:#285d55}.calendar-day-head strong{font-size:22px}.calendar-day-head small{background:#285d551f;border-radius:999px;place-items:center;min-width:24px;height:22px;display:inline-grid}.calendar-day-head.active small{background:#ffffff2e}.calendar-hours{z-index:1;grid-template-rows:repeat(15, var(--hour-row-height));color:#65706b;background:#fff;border-right:1px solid #dfe4dd;display:grid;position:sticky;left:0}.calendar-hours span{border-bottom:1px solid #edf0ec;padding:8px 8px 0;font-size:12px}.calendar-day-lane{grid-template-rows:repeat(15, var(--hour-row-height));background:linear-gradient(#fff,#fff);border-left:1px solid #edf0ec;min-width:112px;display:grid;position:relative}.calendar-hour-line{border-bottom:1px solid #edf0ec}.calendar-event{text-align:left;color:#174f44;background:#dff2eb;border:1px solid #b9ded1;border-radius:7px;gap:2px;min-height:52px;padding:7px 8px;display:grid;position:absolute;left:6px;right:6px;box-shadow:0 6px 16px #19201d14}.calendar-event.in_progress{color:#2c4f7c;background:#dceaf8;border-color:#b9cfea}.calendar-event.completed{color:#174f44;background:#cdeee4;border-color:#aad8c9}.calendar-event strong,.calendar-event span,.calendar-event small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-list,.client-panel{background:#fff;border:1px solid #dfe4dd;border-radius:8px}.client-list{padding:14px}.client-panel{gap:16px;padding:18px;display:grid}.section-title,.panel-heading,.panel-actions,.client-card-summary,.measurement-date{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title{margin-bottom:12px}.section-title h2,.client-panel h2{font-size:20px}.section-title span{color:#fff;background:#285d55;border-radius:999px;place-items:center;min-width:32px;height:28px;display:inline-grid}.rows,.tab-panel,.history-section,.history-cards,.workout-editor,.training-mode,.set-list{gap:12px;display:grid}.client-row{text-align:left;background:#fbfcfa;border:1px solid #e4e8e2;border-radius:7px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:74px;padding:10px;display:grid}.client-row:hover,.client-row.selected{background:#f0f7f5;border-color:#285d55}.avatar{color:#285d55;background:#ddeee8;border-radius:50%;place-items:center;width:38px;height:38px;display:inline-grid}.client-summary{gap:3px;min-width:0;display:grid}.client-summary strong,.client-summary span,.client-card-summary h2,.client-card-summary p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-summary span{color:#65706b;font-size:14px}.status-pill{text-align:center;white-space:nowrap;border-radius:999px;min-width:82px;padding:6px 9px;font-size:13px}.status-pill.intro{color:#68431a;background:#f7e6c8}.status-pill.active{color:#174f44;background:#cdeee4}.status-pill.archived{color:#4c5351;background:#e6e9e6}.client-card-summary{border-bottom:1px solid #edf0ec;min-width:0;padding-bottom:14px}.client-card-summary>div{min-width:0}.tabs{background:#eef2f1;border:1px solid #dbe2df;border-radius:8px;width:fit-content;padding:3px;display:inline-flex}.tabs button{color:#43504b;background:0 0;border:0;border-radius:6px;min-height:36px;padding:0 16px}.tabs button.active{color:#fff;background:#285d55}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}label{color:#43504b;gap:7px;font-size:14px;display:grid}input,select,textarea{color:#19201d;background:#fff;border:1px solid #cfd7d1;border-radius:7px;outline:none;width:100%;padding:11px 12px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#285d55;box-shadow:0 0 0 3px #285d5524}.primary-button,.secondary-button,.ghost-button,.icon-button{border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;display:inline-flex}.primary-button{color:#fff;background:#285d55;padding:0 15px}.primary-button.compact{min-height:38px}.secondary-button{color:#2c4f7c;background:#e4edf7;padding:0 13px}.secondary-button.danger{color:#8b2f25;background:#f7ded8}.ghost-button{color:#43504b;background:#fff;border:1px solid #dbe2df;padding:0 12px}.profile-button{max-width:180px}.profile-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.icon-button{color:#fff;background:#285d55;flex:none;width:42px}button:disabled{cursor:default;opacity:.68}.alert{color:#8b2f25;background:#f8e4df;border:1px solid #efc7be;border-radius:7px;margin-bottom:14px;padding:11px 12px}.loading,.empty-panel{color:#65706b;justify-content:center;align-items:center;gap:8px;min-height:90px;display:flex}.empty-panel{background:#fbfcfa;border:1px dashed #ccd5d0;border-radius:8px;flex-direction:column}.measurement-form{background:#fbfcfa;border:1px solid #e4e8e2;border-radius:8px;gap:14px;padding:14px;display:grid}.workout-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}.workout-list{gap:8px;display:grid}.workout-row{text-align:left;background:#fbfcfa;border:1px solid #e4e8e2;border-radius:7px;gap:8px;width:100%;min-height:82px;padding:11px;display:grid}.workout-row>*{min-width:0}.workout-row:hover,.workout-row.selected{background:#f0f7f5;border-color:#285d55}.workout-row span:first-child{gap:3px;display:grid}.workout-row small{color:#65706b}.workout-status{border-radius:999px;width:fit-content;padding:5px 8px;font-size:12px;font-weight:700}.workout-status.planned{color:#68431a;background:#f7e6c8}.workout-status.in_progress{color:#2c4f7c;background:#dceaf8}.workout-status.completed{color:#174f44;background:#cdeee4}.workout-status.cancelled{color:#4c5351;background:#e6e9e6}.workout-form{background:#fff;border:1px solid #dfe4dd;border-radius:8px;gap:14px;padding:14px;display:grid}.workout-form .form-grid{grid-template-columns:minmax(170px,1.25fr) minmax(130px,.8fr) minmax(110px,.7fr) minmax(160px,1fr)}.training-mode.active .exercise-card{border-color:#285d55}.exercise-card{background:#fbfcfa;border:1px solid #dfe4dd;border-radius:8px;gap:12px;padding:14px;display:grid}.exercise-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.exercise-tools{gap:6px;display:flex}.exercise-title-input{background:0 0;border:0;border-radius:0;padding:0;font-size:18px;font-weight:800}.exercise-title-input:focus{box-shadow:none;border-color:#0000}.previous-result{color:#65706b;font-size:13px;line-height:1.35}.set-row{background:#fff;border:1px solid #e4e8e2;border-radius:8px;grid-template-columns:minmax(82px,.65fr) repeat(4,minmax(82px,1fr)) minmax(112px,.9fr) 42px;align-items:end;gap:8px;padding:10px;display:grid}.set-row>strong{padding-bottom:11px;font-size:14px}.set-row label{gap:5px;font-size:12px}.actual-input{min-height:48px;font-weight:800}.done-toggle{align-items:center;gap:8px;min-height:42px;padding-bottom:4px;font-weight:700;display:flex}.done-toggle input{width:20px;height:20px}.icon-button.subtle{color:#43504b;background:#eef2f1}.progress-table,.history-table{border:1px solid #dfe4dd;border-radius:8px;display:grid;overflow:hidden}.training-hub,.catalog-screen,.progress-screen,.catalog-list,.progress-client-list,.exercise-picker{gap:14px;display:grid}.catalog-screen,.progress-screen{background:#fff;border:1px solid #dfe4dd;border-radius:8px;padding:18px}.catalog-toolbar{grid-template-columns:minmax(180px,1.4fr) repeat(2,minmax(150px,1fr)) auto;align-items:end;gap:12px;display:grid}.catalog-toggle,.copy-weights-toggle{background:#eef2f1;border-radius:7px;min-height:44px;padding:9px 12px}.catalog-row,.progress-client-row{text-align:left;background:#fbfcfa;border:1px solid #e4e8e2;border-radius:8px;align-items:center;gap:10px;width:100%;padding:12px;display:grid}.catalog-row{grid-template-columns:minmax(190px,1.5fr) minmax(130px,.9fr) minmax(130px,.9fr) 64px 42px}.catalog-row.inactive{color:#65706b;background:#f2f4f2}.catalog-row>div,.progress-client-row>span{gap:3px;min-width:0;display:grid}.catalog-row strong,.catalog-row span,.progress-client-row strong,.progress-client-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.catalog-row span,.progress-client-row small{color:#65706b}.progress-client-row{grid-template-columns:minmax(190px,1.5fr) repeat(4,minmax(120px,1fr))}.progress-client-row:hover,.catalog-row:hover{background:#f0f7f5;border-color:#285d55}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.chip-list button{color:#43504b;background:#eef2f1;border:1px solid #dbe2df;border-radius:999px;min-height:34px;padding:0 10px}.chip-list button.active{color:#fff;background:#285d55}.copy-panel{background:#fbfcfa;border:1px solid #dfe4dd;border-radius:8px;gap:12px;padding:14px;display:grid}.modal-backdrop{z-index:20;background:#19201d6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirm-dialog{color:#19201d;background:#fff;border:1px solid #dfe4dd;border-radius:8px;gap:16px;width:min(420px,100%);padding:18px;display:grid;box-shadow:0 18px 48px #19201d38}.confirm-dialog h2,.confirm-dialog p{margin:0}.confirm-dialog h2{font-size:20px;line-height:1.2}.confirm-dialog p{color:#43504b;margin-top:8px;line-height:1.45}.exercise-option{text-align:left;background:#fbfcfa;border:1px solid #e4e8e2;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:12px;display:grid}.exercise-option>span{gap:3px;min-width:0;display:grid}.exercise-option strong,.exercise-option small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exercise-option small{color:#65706b}.exercise-option:hover{background:#f0f7f5;border-color:#285d55}.history-compare-wrap{scrollbar-width:thin;background:#fff;border:1px solid #dfe4dd;border-radius:8px;max-width:100%;overflow-x:auto}.history-compare{min-width:calc(128px + var(--measurement-count) * 96px);display:grid}.history-compare-row{grid-template-columns:128px repeat(var(--measurement-count), minmax(96px, 1fr));border-bottom:1px solid #e9ede8;min-height:44px;display:grid}.history-compare-row:last-child{border-bottom:0}.history-compare-row>span,.history-compare-row>strong{border-left:1px solid #edf0ec;align-items:center;min-width:0;padding:10px 12px;display:flex}.history-compare-row>span:first-child{z-index:1;color:#19201d;background:#fff;border-left:0;font-weight:800;position:sticky;left:0}.history-compare-row.header{color:#65706b;background:#f1f4f2;font-size:13px}.history-compare-row.header>span:first-child{background:#f1f4f2}.progress-row,.history-row{border-bottom:1px solid #e9ede8;align-items:center;gap:10px;min-height:44px;padding:10px 12px;display:grid}.progress-row{grid-template-columns:minmax(92px,1fr) repeat(3,minmax(82px,.8fr))}.history-row{grid-template-columns:minmax(94px,1fr) repeat(6,minmax(58px,.8fr))}.progress-row:last-child,.history-row:last-child{border-bottom:0}.progress-row.header,.history-row.header{color:#65706b;background:#f1f4f2;min-height:40px;font-size:13px;font-weight:700}.progress-row span,.history-row span,.progress-row strong,.history-row strong{min-width:0}.history-cards{display:none}.measurement-card{background:#fff;border:1px solid #dfe4dd;border-radius:8px;gap:12px;padding:12px;display:grid}.measurement-date{color:#285d55;justify-content:flex-start}.measurement-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.measurement-card dt{color:#65706b;font-size:13px}.measurement-card dd{margin-top:3px;font-weight:700}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=860px){.app-shell{padding:18px 12px}.topbar,.panel-actions,.panel-heading,.topbar-actions{flex-direction:column;align-items:stretch}.main-nav,.mode-switch{width:100%}.main-nav button,.mode-switch button{flex:1}.topbar h1{font-size:28px}.workspace,.form-grid,.workout-layout,.catalog-toolbar,.catalog-row,.progress-client-row{grid-template-columns:1fr}.calendar-time-grid{grid-template-columns:58px repeat(7,104px);min-width:760px}.catalog-row .icon-button{width:100%}.workout-form .form-grid{grid-template-columns:1fr}.client-row{grid-template-columns:38px minmax(0,1fr)}.status-pill{grid-column:2;justify-self:start}.client-card-summary .status-pill{grid-column:auto}.primary-button,.secondary-button,.ghost-button,.tabs{width:100%}.tabs button{flex:1}.progress-row{grid-template-columns:1.1fr .9fr}.today-header,.date-board{flex-direction:column;align-items:stretch}.date-controls{justify-content:stretch}.date-controls .secondary-button{flex:1}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-row.header{display:none}.progress-row span:nth-child(3):before{content:"С последнего: ";color:#65706b;font-weight:400}.progress-row span:nth-child(4):before{content:"С первого: ";color:#65706b;font-weight:400}.history-table{display:none}.history-cards{display:grid}.set-row{grid-template-columns:repeat(2,minmax(0,1fr))}.set-row>strong{grid-column:1/-1;padding-bottom:0}.done-toggle{min-height:52px}}@media (width<=560px){body{overflow-x:hidden}.app-shell{padding:12px 8px 18px}.topbar{gap:12px;margin-bottom:12px}.topbar p{display:none}.topbar-actions{gap:8px}.main-nav button{min-height:38px;padding:0 6px;font-size:13px}.today-header,.date-board{padding:12px}.today-header h2{font-size:22px}.date-board strong{font-size:20px}.date-controls{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.date-controls .secondary-button{min-width:0;padding:0 8px}.date-controls .secondary-button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-card{grid-template-columns:58px minmax(0,1fr);min-height:92px;padding:13px}.schedule-card .schedule-badges{grid-column:1/-1;justify-content:flex-start}.schedule-time{font-size:18px}.schedule-main strong,.schedule-main span{white-space:normal}.week-grid{display:none}.week-mobile{gap:12px;display:none}.calendar-scroll{margin-inline:-2px}.calendar-time-grid{grid-template-columns:54px repeat(7,92px);min-width:708px}.calendar-day-head{min-height:58px}.calendar-day-head strong{font-size:19px}.calendar-event{min-height:50px;padding:6px;left:4px;right:4px}.week-strip{scrollbar-width:thin;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.week-strip button{color:#43504b;background:#fff;border:1px solid #dfe4dd;border-radius:8px;place-items:center;gap:2px;min-width:62px;min-height:58px;display:grid}.week-strip button.active{color:#fff;background:#285d55;border-color:#285d55}.week-strip button span{font-size:13px}.week-strip button strong{font-size:19px}.workspace{display:block}.workspace:not(.mobile-panel-open) .client-panel,.workspace.mobile-panel-open .client-list{display:none}.mobile-back-button{color:#285d55;background:#e1f0eb;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;display:inline-flex}.client-panel,.client-list{padding:12px}.client-panel{gap:12px}.client-card-summary{flex-direction:column;align-items:flex-start}.client-card-summary h2,.client-card-summary p{white-space:normal}.tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tabs button{min-width:0;padding:0 8px;font-size:14px}.workout-layout:not(.mobile-workout-open) .workout-editor,.workout-layout.mobile-workout-open .workout-list{display:none}.workout-list{gap:10px}.workout-row{min-height:96px;padding:13px}.workout-row strong,.workout-row small{white-space:normal}.workout-editor.is-running{padding-bottom:78px}.workout-actions.sticky-actions{z-index:5;background:#fffffff5;border:1px solid #dfe4dd;border-radius:8px;padding:8px;position:sticky;bottom:8px;box-shadow:0 8px 26px #19201d21}.measurement-card dl{grid-template-columns:1fr}.progress-row{grid-template-columns:1fr;gap:5px}.set-row{grid-template-columns:1fr;gap:10px;padding:12px}.set-row>strong{font-size:16px}.set-row label{font-size:13px}.set-row input{min-height:46px;font-size:16px}.set-row label:first-of-type,.set-row label:nth-of-type(2){color:#65706b;grid-template-columns:88px minmax(0,1fr);align-items:center}.set-row label:nth-of-type(3),.set-row label:nth-of-type(4){color:#19201d;font-weight:700}.done-toggle{color:#174f44;background:#e6f5f0;border-radius:7px;justify-content:center;min-height:48px;padding:10px 12px}.done-toggle input{width:24px;height:24px}.exercise-heading{grid-template-columns:minmax(0,1fr)}.exercise-card{padding:12px}.exercise-title-input{min-height:36px;font-size:17px}.previous-result{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.exercise-tools{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.exercise-option{grid-template-columns:minmax(0,1fr)}.icon-button.subtle{width:100%}}.week-grid,.week-mobile{display:none!important}
