*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}:root{--ink:#14231f;--muted:#5b6b66;--line:#dfe7e3;--surface:#fff;--bg:#f5f7f6;--accent:#0f6f5c;--accent-dark:#0b5347;--danger:#b3432f}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,Segoe UI,system-ui,sans-serif}.page{min-height:100vh}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:16px;width:100%;max-width:400px;padding:32px;box-shadow:0 12px 36px #14231f14}.login-card .brand-mark{margin:0 auto 16px}.login-card h1{margin:0}.login-card>p{color:var(--muted);margin:8px 0 24px}.login-card form{text-align:left;gap:14px;display:grid}.login-card label{color:var(--muted);gap:6px;font-size:13px;display:grid}.login-card input,.login-card select{border:1px solid var(--line);font:inherit;border-radius:7px;padding:10px 12px}.auth-switch{color:var(--accent);background:0 0;border:0;margin-top:18px}.student-page{min-height:100vh}.profile-page{background:var(--canvas);min-height:100vh}.profile-content{gap:18px;max-width:960px;margin:0 auto;padding:32px;display:grid}.profile-tabs{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:6px;padding:6px;display:flex}.profile-tabs button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;padding:10px 14px}.profile-tabs button.active{color:var(--accent-dark);background:#e2f3ee;font-weight:700}.profile-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px}.profile-card h2,.profile-card p{margin-top:0}.profile-card p{color:var(--muted)}.profile-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.profile-grid label{color:var(--muted);gap:6px;font-size:13px;display:grid}.profile-grid input,.profile-grid select,.parq-questions select{border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:8px;padding:10px}.profile-grid small{color:var(--muted);font-size:12px}.parq-questions{border-top:1px solid var(--line);gap:0;margin-top:20px;display:grid}.parq-questions label{border-bottom:1px solid var(--line);grid-template-columns:1fr 90px;align-items:center;gap:16px;padding:12px 0;display:grid}.training-days{flex-wrap:nowrap;justify-content:space-between;gap:10px;margin:18px 0;padding-bottom:4px;display:flex;overflow-x:auto}.training-days label{background:var(--canvas);border:1px solid var(--line);border-radius:10px;flex:1 0 58px;place-items:center;gap:7px;padding:10px 8px;font-size:12px;display:grid}.training-days input{accent-color:var(--accent);width:21px;height:21px;margin:0}.profile-actions{justify-content:flex-end;display:flex}.profile-message{color:var(--accent-dark);font-weight:600}.viewer-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.viewer-item{background:var(--canvas);border:1px solid var(--line);border-radius:10px;gap:5px;padding:13px;display:grid}.viewer-item span{color:var(--ink);font-size:12px;font-weight:700}.viewer-item strong{color:var(--muted);font-size:14px;font-weight:400}.viewer-questions{gap:10px;margin-top:18px;display:grid}.student-header{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 8%;display:flex}.auth-actions{gap:10px;margin-top:18px;display:grid}.auth-actions small{color:var(--muted);text-align:center;font-size:12px}.login-role-choice{background:var(--canvas);border:1px solid var(--line);border-radius:9px;grid-template-columns:1fr 1fr;margin:18px 0;padding:3px;display:grid}.login-role-choice button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:7px;padding:9px 6px;font-size:13px}.login-role-choice button.active{background:var(--surface);color:var(--accent-dark);font-weight:700;box-shadow:0 1px 4px #0d251f1f}.brand-logo{background:#fff;border-radius:10px;justify-content:center;align-items:center;width:88px;height:42px;display:flex;overflow:hidden}.brand-logo img{object-fit:cover;width:100%;height:100%}.student-hero{color:#fff;background:linear-gradient(120deg,#0f6f5c,#1b8b75);padding:52px max(8%,50% - 500px)}.student-hero h2{margin:6px 0;font-size:32px}.student-hero p{opacity:.9;margin:0}.student-content{gap:20px;max-width:900px;margin:0 auto;padding:32px;display:grid}.portal-menu{background:var(--surface);border-bottom:1px solid var(--line);scrollbar-width:none;z-index:10;align-items:stretch;gap:0;padding:0 max(18px,50% - 600px);display:flex;position:sticky;top:0;overflow-x:auto}.portal-menu::-webkit-scrollbar{display:none}.portal-menu button{color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:13px 15px 10px;font-size:13px}.portal-menu button:hover,.portal-menu button:focus-visible{border-bottom-color:var(--accent);color:var(--accent-dark);background:#eef8f5;outline:none}.student-nav,.coach-nav{box-shadow:0 5px 14px #1239310f}.student-content>.student-nav{display:none}.quick-action-overlay{z-index:30;background:#08201b6b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.quick-action-dialog{background:var(--surface);border-radius:16px;gap:16px;width:100%;max-width:440px;padding:24px;display:grid;box-shadow:0 22px 60px #00000038}.quick-action-dialog h2{margin:4px 0}.quick-action-dialog p{margin:0}.quick-action-list{gap:8px;max-height:340px;display:grid;overflow-y:auto}.quick-action-list button{border:1px solid var(--line);text-align:left;background:#f7fbf9;border-radius:9px;gap:3px;padding:12px;display:grid}.quick-action-list button:hover{background:#e8f6f1;border-color:#a9d9cb}.quick-action-list span{color:var(--ink);font-weight:700}.quick-action-list small{color:var(--muted)}.calculator-menu{position:relative}.calculator-options{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:190px;padding:5px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 24px #12393124}.calculator-options button{text-align:left;white-space:nowrap;border-radius:7px;width:100%}.calculator-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;grid-template-columns:1.4fr 1fr 1fr auto;align-items:end;gap:14px;padding:20px 24px;display:grid}.calculator-card p,.calculator-card h3{margin:0}.calculator-card h3{margin-top:4px;font-size:18px}.calculator-tabs{gap:6px;margin-top:12px;display:flex}.calculator-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;font:inherit;background:0 0;border-radius:999px;padding:6px 10px;font-size:12px}.calculator-tabs button.active{color:var(--accent-dark);background:#e2f3ee;border-color:#b7ded3;font-weight:700}.calculator-card label{color:var(--muted);gap:5px;font-size:12px;display:grid}.calculator-card input{border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:8px;padding:9px}.calculator-card strong{color:var(--accent-dark);white-space:nowrap;font-size:20px}.goals-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;order:1;gap:16px;padding:22px 24px;scroll-margin-top:80px;display:grid}.goals-heading{justify-content:space-between;align-items:flex-start;display:flex}.goals-heading h3,.goals-heading p{margin:0}.goals-heading h3{margin-top:4px;font-size:21px}.goals-heading>span{color:var(--accent-dark);background:#e2f3ee;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.goal-form{grid-template-columns:1.7fr .8fr 1fr .8fr auto;gap:10px;display:grid}.goal-form input,.goal-form select{border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:8px;min-width:0;padding:10px}.goals-list{border-top:1px solid var(--line);display:grid}.goals-list article{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:12px 0;display:grid}.goals-list article div{gap:4px;display:grid}.goals-list span{color:var(--muted);font-size:13px}.goals-list b{color:var(--accent);font-size:13px}.goals-list b.late{color:#c53e33}.connection-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;order:3;justify-content:space-between;align-items:center;padding:24px;display:flex}.connection-card>div{align-items:center;gap:16px;display:flex}.connection-card h3,.connection-card p,.student-empty h3,.student-empty p{margin:0}.connection-card p,.student-empty p{color:var(--muted);margin-top:5px}.connection-logo{color:#fff;background:#fc4c02;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:800;display:flex}.student-empty{background:var(--surface);border:1px dashed var(--line);border-radius:16px;padding:26px}.invitations-card{gap:14px;display:grid}.invitations-card h2,.invitations-card p{margin:0}.invitations-card h2{margin-top:4px}.invite-form{gap:10px;display:flex}.invite-form input,.invite-link input{border:1px solid var(--line);font:inherit;border-radius:8px;flex:1;min-width:0;padding:10px 12px}.invite-link{background:var(--canvas);border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.invite-link span{color:var(--muted);white-space:nowrap;font-size:12px}.pending-invitations{border-top:1px solid var(--line);gap:9px;padding-top:14px;display:grid}.pending-invitations>div{justify-content:space-between;align-items:center;display:flex}.pending-invitations .btn-primary{padding:8px 12px;font-size:13px}.invitation-status-grid{border-top:1px solid var(--line);grid-template-columns:1.4fr 1fr;gap:18px;padding-top:14px;display:grid}.invitation-status-grid .pending-invitations,.sent-invitations{border:0;padding:0}.invitation-section-heading{justify-content:space-between;align-items:center;display:flex}.invitation-section-heading>span{color:var(--accent-dark);background:#e2f3ee;border-radius:99px;justify-content:center;align-items:center;min-width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex}.invitation-row{border:1px solid var(--line);background:#f8fbfa;border-radius:9px;justify-content:space-between;align-items:center;padding:10px 11px;display:flex}.invitation-row>div:first-child{gap:3px;display:grid}.invitation-row strong{font-size:13px}.invitation-row small,.sent-invitation small{color:var(--muted);font-size:11px}.invitation-actions{gap:7px;display:flex}.invitation-actions .btn-ghost,.invitation-actions .btn-primary{padding:7px 9px;font-size:12px}.sent-invitations{gap:8px;display:grid}.sent-invitation{border-bottom:1px solid var(--line);gap:2px;padding-bottom:7px;display:grid}.sent-invitation span{font-size:12px}.invitation-empty{color:var(--muted);margin:4px 0 0;font-size:12px}.student-plan{background:var(--surface);border:1px solid var(--line);border-radius:16px;order:1;padding:24px;scroll-margin-top:80px}.student-plan-heading{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.student-plan-heading h3,.student-plan-heading p{margin:0}.week-date{color:var(--muted);text-transform:capitalize;margin:-8px 0 16px;font-size:13px}.student-session-details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.student-session-details h4{margin:10px 0 6px;font-size:14px}.student-session-details ol,.student-session-details ul{color:var(--muted);margin:0;padding-left:18px;font-size:13px;line-height:1.5}.student-session-details li{margin-bottom:7px}.student-session-details li small{display:block}.student-session-modal-backdrop{z-index:30;background:#0f1d1a94;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.student-session-modal{background:var(--surface);border-radius:18px;width:100%;max-width:620px;max-height:min(760px,100vh - 40px);padding:24px;overflow-y:auto;box-shadow:0 24px 70px #00000040}.student-session-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding-bottom:14px;display:flex}.student-session-modal>header span{color:var(--muted);font-size:13px}.student-session-modal>header h3{margin:4px 0;font-size:23px}.student-session-modal>header p{color:var(--muted);margin:0}.workout-chart{border-bottom:1px solid var(--line);margin:0 0 18px;padding:2px 0 16px}.workout-chart-bars{background:#edf1f0;border-radius:8px;align-items:end;gap:3px;height:74px;padding:6px;display:flex;overflow:hidden}.chart-segment{border-radius:4px 4px 0 0;align-items:end;min-width:8px;padding:5px 6px;display:flex}.chart-segment.warmup{height:54%}.chart-segment.run{height:90%}.chart-segment.recovery{height:62%}.chart-segment.cooldown{height:54%}.chart-segment.warmup{background:#a9d8fa}.chart-segment.run{background:#62bc7b}.chart-segment.recovery{background:#aeb7bd}.chart-segment.cooldown{background:#ea756e}.chart-segment span{color:#000000b3;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.workout-chart-legend{flex-wrap:wrap;gap:9px 14px;margin-top:10px;display:flex}.workout-chart-legend span{color:var(--muted);font-size:11px}.workout-chart-legend span:before{content:"";border-radius:99px;width:8px;height:8px;margin-right:5px;display:inline-block}.workout-chart-legend .warmup:before{background:#a9d8fa}.workout-chart-legend .run:before{background:#62bc7b}.workout-chart-legend .recovery:before{background:#aeb7bd}.workout-chart-legend .cooldown:before{background:#ea756e}.student-session-modal h4{margin:18px 0 10px;font-size:16px}.student-session-modal ol{margin:0;padding-left:22px}.student-session-modal li{margin:0 0 12px;padding:12px 14px}.student-session-modal li strong,.student-session-modal li span,.student-session-modal li small{display:block}.student-session-modal li span,.student-session-modal li small{color:var(--muted);font-size:14px;line-height:1.45}.student-adaptations{background:#f0f8f5;border-radius:12px;margin-top:18px;padding:4px 16px 12px}.student-adaptations ul{color:var(--muted);margin:0;padding-left:18px;line-height:1.55}.student-session-modal footer{border-top:1px solid var(--line);text-align:right;margin-top:20px;padding-top:16px}.adherence-card{border:1px solid var(--line);background:#f8fbfa;border-radius:12px;grid-column:1/-1;margin-top:4px;padding:15px}.activity-details .adherence-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.activity-details .adherence-heading>div{gap:3px;display:grid}.adherence-heading span{color:var(--muted);letter-spacing:.06em;font-size:11px;font-weight:700}.adherence-heading strong{font-size:15px}.adherence-status,.adherence-result{font-size:12px}.adherence-status{white-space:nowrap;border-radius:999px;padding:5px 8px}.adherence-status.inside,.adherence-dot.inside,.adherence-block em.inside{color:#177c47}.adherence-status.inside{background:#dcf4e5}.adherence-status.above,.adherence-dot.above,.adherence-block em.above{color:#176b9d}.adherence-status.above{background:#e0f1ff}.adherence-status.below,.adherence-dot.below,.adherence-block em.below{color:#b4571e}.adherence-status.below{background:#fff0dc}.adherence-status.unknown,.adherence-dot.unknown,.adherence-block em.unknown{color:#68747b}.adherence-status.unknown{background:#edf0f2}.adherence-card>p{color:var(--muted);margin:10px 0;font-size:13px}.adherence-blocks{border-top:1px solid var(--line);margin-top:10px}.adherence-block{border-bottom:1px solid var(--line);grid-template-columns:minmax(86px,.8fr) 1fr minmax(130px,.9fr);align-items:center;gap:8px;padding:9px 0;display:grid}.adherence-block>span{color:var(--muted);font-size:12px}.activity-details .adherence-block>div{align-items:center;gap:6px;display:flex}.adherence-block>div small{color:var(--muted);font-size:11px}.adherence-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.adherence-block em{text-align:right;font-size:11px;font-style:normal}.training-config h2{margin:5px 0}.training-config .form-grid{margin:20px 0}.training-summary small{color:var(--muted);margin-top:7px;display:block}.week-section h2 small{color:var(--muted);font-size:14px;font-weight:500}.adaptations{background:#f0f8f5;border-radius:12px;margin:18px 0;padding:14px 18px}.adaptations h3{margin:0 0 8px;font-size:15px}.adaptations ul{color:var(--muted);margin:0;padding-left:18px;font-size:14px;line-height:1.55}.workout-adjustment{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.session-editor-modal .workout-adjustment>h3{display:none}.workout-adjustment h3{margin-top:0}.workout-adjustment label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.workout-adjustment input,.workout-adjustment select,.workout-adjustment textarea{border:1px solid var(--line);box-sizing:border-box;color:var(--ink);background:#fff;border-radius:7px;width:100%;min-height:36px;padding:7px 9px;font-family:inherit;font-size:14px}.workout-adjustment>.form-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:10px}.workout-adjustment>label{margin:8px 0}.workout-adjustment textarea{resize:vertical;min-height:58px}.step-editor-heading{justify-content:space-between;align-items:center;margin:16px 0 8px;display:flex}.step-editor-heading h3{margin:0}.step-editor{background:var(--canvas);border:1px solid var(--line);border-radius:12px;margin:8px 0;padding:12px 14px}.step-editor.warmup,.workout-step.warmup{background:#e8f4ff;border-color:#9bcdf4}.step-editor.run,.workout-step.run{background:#eaf8ef;border-color:#91d3a8}.step-editor.recovery,.workout-step.recovery{background:#f1f3f5;border-color:#cbd1d6}.step-editor.cooldown,.workout-step.cooldown{background:#fff0ef;border-color:#efaaa5}.step-editor-title{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.step-editor .form-grid.step-fields{grid-template-columns:1.2fr 1.2fr .72fr 1.35fr .9fr .9fr;gap:8px;margin-bottom:8px}.step-editor textarea{width:100%;min-height:52px}.distance-input{gap:8px;display:flex}.distance-input input{min-width:0}.distance-input select{flex:0 0 64px}.workout-adjustment label small{color:var(--accent-dark);text-transform:capitalize;font-size:11px;font-weight:700}.step-type-picker{position:relative}.step-type-picker>button{border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:7px;justify-content:space-between;align-items:center;width:100%;min-height:36px;padding:7px 9px;display:flex}.step-type-picker>button span{color:var(--muted);font-size:16px}.step-type-menu{background:var(--surface);border:1px solid var(--line);z-index:4;border-radius:10px;min-width:180px;padding:5px;display:grid;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 30px #0e251f2e}.step-type-menu button{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;padding:7px 8px;font-size:13px}.step-type-menu button:hover,.step-type-menu button.active{color:var(--accent-dark);background:#e2f3ee;font-weight:700}.session-editor-overlay{z-index:20;background:#0f1d1a9e;justify-content:center;align-items:flex-start;padding:18px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.session-editor-modal{background:var(--surface);border-radius:18px;width:min(100%,1040px);max-width:1040px;padding:20px 24px;box-shadow:0 24px 70px #00000040}.session-editor-modal>header{justify-content:space-between;align-items:flex-start;display:flex}.session-editor-modal>header h2{margin:2px 0 8px}.student-plan-heading h3{margin:5px 0;font-size:22px}.student-plan-heading>span{color:var(--accent-dark);background:#e2f3ee;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:700}.student-sessions{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.student-sessions article{border:1px solid var(--line);border-radius:12px;gap:7px;min-width:0;padding:16px;display:grid}.student-sessions span,.student-sessions small{color:var(--muted);font-size:12px}.student-sessions strong{font-size:16px}.student-sessions b{color:var(--accent-dark);font-size:14px}.student-sessions p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.45}.student-stats{order:2;grid-template-columns:repeat(4,1fr);gap:14px;scroll-margin-top:80px;display:grid}.student-stats article{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:5px;padding:18px;display:grid}.student-stats span,.student-stats small{color:var(--muted);font-size:12px}.student-stats strong{color:var(--accent-dark);font-size:22px}.activity-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;order:4;padding:24px;scroll-margin-top:80px}.activity-card h3{margin:0 0 16px}.activity-card-heading{justify-content:space-between;align-items:center;display:flex}.activity-card-heading h3{margin:0}.activity-collapse{padding:8px 12px;font-size:13px}.activity-card.is-collapsed .activity-list,.activity-card.is-collapsed>.muted{display:none}.activity-list{gap:12px;display:grid}.activity-row{border-top:1px solid var(--line);padding-top:14px}.activity-toggle{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:1fr auto;align-items:center;gap:16px;width:100%;padding:0;display:grid}.activity-toggle>div{gap:4px;display:grid}.activity-toggle>div span{color:var(--muted);font-size:13px}.activity-toggle>b{color:var(--accent);font-size:22px;font-weight:500}.activity-row:hover .activity-toggle strong,.activity-row.expanded .activity-toggle strong{color:var(--accent)}.activity-details{background:var(--canvas);border:1px solid var(--line);border-radius:10px;grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:12px;padding:14px;display:grid}.activity-details div{gap:4px;display:grid}.activity-details span{color:var(--muted);font-size:12px}.activity-details strong{font-size:14px}.activity-details .laps{border-top:1px solid var(--line);grid-column:1/-1;gap:8px;margin-top:2px;padding-top:12px;display:grid}.activity-details .lap{border-top:1px solid var(--line);gap:4px;padding-top:9px;display:grid}.activity-details .lap-main{justify-content:space-between;align-items:center;gap:10px;display:flex}.activity-details .lap-main strong,.activity-details .lap-main span{white-space:nowrap;font-size:12px}.activity-details .lap small{color:var(--muted);font-size:11px}.activity-toggle>div:after{color:var(--accent-dark);content:"Abra para ver detalhes e enviar seu feedback";margin-top:4px;font-size:11px;font-weight:500;display:block}.training-feedback{background:#f0f8f5;border:1px solid #d6ebe4;border-radius:12px;grid-column:1/-1;gap:11px;margin-top:8px;padding:16px;display:grid}.training-feedback p{color:var(--muted);margin:-4px 0 0;font-size:13px}.feedback-heading{justify-content:space-between;align-items:center;display:flex}.feedback-heading span{color:var(--accent-dark);letter-spacing:.08em;font-size:10px;font-weight:700}.feedback-heading h4{margin:2px 0 0;font-size:16px}.feedback-heading b{color:var(--accent-dark);background:#d9f0e8;border-radius:999px;padding:5px 9px;font-size:11px}.feedback-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.training-feedback label{color:var(--ink);gap:5px;font-size:12px;font-weight:600;display:grid}.training-feedback input,.training-feedback select,.training-feedback textarea{background:var(--surface);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:7px;width:100%;padding:8px 9px;font-size:13px}.training-feedback textarea{resize:vertical;min-height:62px}.training-feedback .btn-primary{justify-self:start}.load-overview{justify-content:center;align-items:center;margin:16px 0;display:flex}.load-highlights{justify-content:center;gap:16px;margin:18px 0 14px;display:flex}.load-highlight{text-align:center;border:5px solid;border-radius:50%;flex-direction:column;flex:0 0 74px;justify-content:center;align-items:center;width:74px;height:74px;display:flex}.load-highlight span{font-size:10px;font-weight:700}.load-highlight strong{margin:2px 0;font-size:18px;line-height:1.1}.load-highlight small{color:var(--muted);font-size:8px}.load-highlight.fitness{color:#126e5c;background:#eaf7f2;border-color:#147d68}.load-highlight.load{color:#b55a28;background:#fff1e8;border-color:#e0783c}.load-highlight.form{color:#2d6cac;background:#eaf3fc;border-color:#3478c5}.load-chart{border:1px solid var(--line);background:#f8fbfa;border-radius:12px;padding:16px}.load-chart svg{width:100%;height:220px;overflow:visible}.load-chart polyline{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;vector-effect:non-scaling-stroke}.load-chart .load-zero{stroke:#d5dfdc;stroke-dasharray:3 3;stroke-width:.7px;vector-effect:non-scaling-stroke}.load-chart .load-fitness{stroke:#147d68}.load-chart .load-fatigue{stroke:#e0783c}.load-chart .load-form{stroke:#3478c5}.load-legend{align-items:center;gap:18px;margin-top:8px;display:flex}.load-legend span{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.load-legend span:before{content:"";border-radius:50%;width:9px;height:9px}.load-legend .fitness:before{background:#147d68}.load-legend .fatigue:before{background:#e0783c}.load-legend .form:before{background:#3478c5}.load-chart-meta{gap:10px;margin-left:auto;display:flex}.load-chart-meta span{color:var(--muted);background:#f2f6f5;border-radius:5px;padding:4px 6px;font-size:10px;font-weight:700}.topbar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 32px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-mark{background:var(--accent);color:#fff;letter-spacing:.02em;border-radius:10px;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.brand h1{margin:0;font-size:18px;font-weight:700}.brand p{color:var(--muted);margin:0;font-size:13px}.content{max-width:1200px;margin:0 auto;padding:28px 32px 64px}.search-row{gap:10px;margin-bottom:20px;display:flex}.search-row input{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex:1;padding:10px 14px;font-size:14px}button{cursor:pointer;font-family:inherit}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600}.btn-primary:hover{background:var(--accent-dark)}.coach-hero{color:#fff;background:linear-gradient(120deg,#0f6f5c,#1b8b75);border-radius:18px;justify-content:space-between;align-items:center;margin-bottom:22px;padding:28px 32px;display:flex;overflow:hidden}.coach-hero h2{margin:4px 0 8px;font-size:26px}.coach-hero p{opacity:.86;margin:0}.eyebrow{letter-spacing:.09em;margin:0;font-size:11px;font-weight:700}.hero-date{text-align:right;border-left:1px solid #ffffff59;gap:4px;padding-left:32px;display:grid}.hero-date span{letter-spacing:.1em;opacity:.72;font-size:11px;font-weight:700}.stat-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:30px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:14px;padding:18px;display:flex}.stat-card div{gap:2px;display:grid}.stat-card span:not(.stat-icon),.stat-card small{color:var(--muted);font-size:12px}.stat-card strong{font-size:22px}.stat-icon{color:var(--accent);background:#e2f3ee;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.stat-blue{color:#237ab5;background:#e6f1fa}.stat-amber{color:#b57613;background:#fff2d9}.section-heading{justify-content:space-between;align-items:end;margin-bottom:14px;display:flex}.section-heading h2{margin:3px 0 0;font-size:20px}.section-heading>span{color:var(--muted);font-size:13px}.header-actions{gap:10px;display:flex}.btn-primary:disabled{cursor:wait;opacity:.65}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:8px;padding:10px 16px;font-size:14px}.btn-link-danger{color:var(--danger);background:0 0;border:none;padding:0;font-size:13px}.btn-link-danger:hover{text-decoration:underline}.btn-link{color:var(--accent);background:0 0;border:none;padding:0;font-size:13px}.btn-link:hover{text-decoration:underline}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:20px;padding:20px}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px;display:grid}.new-athlete-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.new-athlete-form input,.new-athlete-form textarea,.evaluation-form input,.evaluation-form select{border:1px solid var(--line);color:var(--ink);border-radius:7px;padding:9px 12px;font-family:inherit;font-size:14px}.evaluation-form h2{margin:0 0 16px;font-size:18px}.evaluation-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.notes-label{color:var(--muted);flex-direction:column;gap:6px;margin-bottom:16px;font-size:13px;display:flex}.muted{color:var(--muted)}.alert{color:var(--danger);background:#fdeceb;border:1px solid #f3c9c3;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.empty-state{text-align:center;border:1px dashed var(--line);border-radius:12px;padding:60px 20px}.athletes-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:12px;width:100%;overflow:hidden}.athletes-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);padding:12px 16px;font-size:12px}.athletes-table td{border-bottom:1px solid var(--line);padding:14px 16px;font-size:14px}.athletes-table tr:last-child td{border-bottom:none}.empty-state .btn-primary{margin-top:16px}.training-summary{justify-content:space-between;align-items:center;gap:16px;display:flex}.training-summary h2,.week-section h2,.session-card h3{margin:0}.training-summary p{color:var(--muted);margin:6px 0 0}.week-section{margin-top:28px}.week-section h2{margin-bottom:12px;font-size:18px}.session-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.session-card{margin:0}.session-card h3{margin-top:8px;font-size:16px}.session-card p{margin:8px 0 0}.open-workout{margin-top:16px}.modal-backdrop{z-index:10;background:#14231f7a;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.workout-modal{background:var(--surface);border-radius:16px;width:100%;max-width:760px;max-height:calc(100vh - 48px);padding:28px;overflow:auto;box-shadow:0 24px 64px #00000040}.modal-header{justify-content:space-between;align-items:flex-start;display:flex}.modal-header h2{margin:6px 0;font-size:26px}.modal-header p{color:var(--muted);margin:0}.modal-close{color:var(--muted);background:0 0;border:0;padding:0 4px;font-size:32px;line-height:1}.workout-metrics{background:#f1f7f4;border-radius:10px;grid-template-columns:repeat(3,1fr);margin:24px 0;padding:16px;display:grid}.workout-metrics div{border-right:1px solid var(--line);flex-direction:column;gap:4px;padding:0 16px;display:flex}.workout-metrics div:first-child{padding-left:0}.workout-metrics div:last-child{border:0}.workout-metrics span{color:var(--muted);font-size:12px}.detailed-steps{gap:16px;margin:0;padding:0;list-style:none;display:grid}.detailed-steps li{grid-template-columns:32px 1fr;gap:14px;display:grid}.step-number{color:var(--accent-dark);background:#e2f3ee;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.detailed-steps h3,.detailed-steps p{margin:0}.detailed-steps h3{font-size:16px}.step-target{margin-top:3px!important}.step-target span{color:var(--muted)}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end;margin-top:24px;padding-top:18px;display:flex}.workout-details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.workout-details summary{color:var(--accent);cursor:pointer;font-size:13px;font-weight:600}.workout-details ol{gap:12px;margin:14px 0 0;padding-left:20px;display:grid}.workout-details li{font-size:13px;line-height:1.45}.step-recovery,.step-note{color:var(--muted);margin-top:3px;display:block}.session-day,.zone{color:var(--muted);font-size:13px}.zone{font-weight:600}.athletes-table td.table-actions{white-space:nowrap;display:table-cell}.athletes-table td.table-actions button+button{margin-left:14px}.name-cell{font-weight:600}.athlete-name-link{text-align:left;padding:0;font-weight:700}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-active{color:var(--accent-dark);background:#e2f3ee}.badge-inactive{color:var(--muted);background:#ececec}@media (width<=640px){.student-header{padding:13px 18px}.student-header .brand h1{font-size:18px}.student-hero{padding:30px 18px}.student-hero h2{font-size:27px}.student-content{gap:14px;padding:16px}.profile-content{padding:16px}.profile-tabs{overflow-x:auto}.profile-tabs button{flex:none}.profile-card{padding:18px}.profile-grid,.viewer-grid{grid-template-columns:1fr}.parq-questions label{grid-template-columns:1fr;align-items:stretch}.login-page{align-items:flex-start;padding:32px 16px}.login-card{border-radius:14px;padding:24px 20px}.login-card input,.login-card select,.goal-form input,.goal-form select,.calculator-card input{min-height:44px;font-size:16px}.topbar,.content{padding-left:18px;padding-right:18px}.form-grid,.coach-hero,.stat-grid{grid-template-columns:1fr}.coach-hero{flex-direction:column;align-items:flex-start;gap:20px;padding:24px}.hero-date{text-align:left;border-top:1px solid #ffffff59;border-left:0;padding:16px 0 0}.topbar,.training-summary{flex-direction:column;align-items:flex-start}.athletes-table{display:block;overflow-x:auto}.modal-backdrop{align-items:flex-end;padding:0}.workout-modal{border-radius:16px 16px 0 0;max-height:90vh;padding:22px 18px}.workout-metrics{grid-template-columns:1fr;gap:12px}.workout-metrics div{border:0;padding:0}.activity-details,.student-stats{grid-template-columns:repeat(2,1fr)}.feedback-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.load-overview{flex-direction:column;align-items:flex-start}.load-highlights{gap:10px}.load-chart-meta{gap:5px}.load-chart-meta span{padding:3px 4px;font-size:9px}.load-highlight{border-width:4px;flex-basis:68px;min-width:0;height:68px}.load-highlight strong{font-size:16px}.load-highlight span{font-size:9px}.load-highlight small{font-size:7px}.student-plan-heading{flex-direction:column;gap:12px}.student-sessions{grid-template-columns:1fr}.portal-menu{-webkit-overflow-scrolling:touch;padding-left:10px;padding-right:10px}.portal-menu button{min-height:44px;padding-left:12px;padding-right:12px}.calculator-card{grid-template-columns:1fr;align-items:stretch;padding:18px}.goals-card{order:1}.goals-card,.student-plan,.activity-card{padding:18px}.goal-form{grid-template-columns:1fr}.goals-list article{grid-template-columns:1fr auto;align-items:start}.goals-list article>button{grid-area:1/2/span 2}.calculator-options{left:auto;right:0}.activity-details .lap-main{gap:6px;overflow-x:auto}.connection-card{flex-direction:column;align-items:stretch;gap:16px;padding:18px}.invite-form,.invite-link,.pending-invitations>div{flex-direction:column;align-items:stretch}.invite-link span{white-space:normal}.invitation-status-grid{grid-template-columns:1fr}.invitation-row{flex-direction:column;align-items:stretch;gap:10px}.connection-card .btn-primary,.goal-form .btn-primary{width:100%;min-height:44px}.login-card .btn-primary{width:100%;min-height:46px}.activity-card-heading{gap:12px}.activity-collapse{flex:none;min-height:40px}.activity-toggle{gap:10px;min-height:52px}.activity-toggle>div{min-width:0}.activity-toggle>div strong,.activity-toggle>div span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@media (width<=760px){.workout-adjustment>.form-grid,.step-editor .form-grid.step-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.session-editor-modal{padding:18px}}.coach-nav-below{border:1px solid var(--line);border-radius:12px;margin-bottom:22px;padding:0;position:static;overflow:hidden;box-shadow:0 8px 22px #12393114}.coach-nav-below button{text-align:center;flex:1}
