@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-color: #28a745;--primary-hover: #218838;--secondary-color: #f0fdf4;--secondary-hover: #dcfce7;--background-color: #f8fafc;--card-background: #ffffff;--text-dark: #1e293b;--text-light: #64748b;--border-color: #e2e8f0;--error-color: #dc3545;--error-background: #fdf2f2;--border-radius: 16px;--box-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--box-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .07), 0 4px 6px -2px rgb(0 0 0 / .05)}html,body,#root{height:100%;margin:0;padding:0}body{background-color:var(--background-color);color:var(--text-dark);font-family:Inter,sans-serif}*{box-sizing:border-box}.app-container{width:100%;max-width:420px;height:100%;margin:0 auto;background-color:var(--card-background);box-shadow:var(--box-shadow-lg);display:flex;flex-direction:column}.dashboard-layout{display:flex;flex-direction:column;height:100%;overflow:hidden}.dashboard-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.screen{padding:24px 28px;display:flex;flex-direction:column;min-height:100%}.screen.has-nav{padding-bottom:90px}h1{font-size:28px;text-align:left;margin:0;font-weight:700}h2{font-size:24px;text-align:left;margin:0;font-weight:600}h3{font-size:20px;text-align:left;margin:0;font-weight:600}h4{font-size:16px;text-align:left;margin:0;font-weight:600}p{text-align:left;color:var(--text-light);margin:8px 0 24px}.subtitle{color:var(--text-light);font-size:16px;text-align:left;margin:4px 0 0}.content-centered{flex-grow:1;display:flex;flex-direction:column;justify-content:center;text-align:center}.content-centered h1,.content-centered h2,.content-centered p{text-align:center}.button-group{margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:12px}button{width:100%;padding:14px 24px;border:none;border-radius:var(--border-radius);background-color:var(--primary-color);color:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover{background-color:var(--primary-hover)}button:active{transform:scale(.98)}button:disabled{background-color:#bdc3c7;cursor:not-allowed}button.secondary{background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color)}button.secondary:hover{background-color:var(--secondary-color)}button.danger{background-color:var(--error-background);color:var(--error-color);border:1px solid var(--error-color)}button.danger:hover{background-color:var(--error-color);color:#fff}.auth-form{display:flex;flex-direction:column;gap:16px;margin-top:24px}input,select,textarea{width:100%;padding:14px;border-radius:var(--border-radius);font-size:16px;transition:border-color .2s,box-shadow .2s;background-color:var(--background-color);border:1px solid var(--border-color);font-family:Inter,sans-serif}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--secondary-hover);background-color:#fff}textarea{resize:vertical;min-height:80px}.auth-toggle{font-size:14px;margin-top:16px;text-align:center}.auth-toggle a{color:var(--primary-color);font-weight:600;text-decoration:none}.back-link{color:var(--text-dark);text-decoration:none;font-weight:500;align-self:flex-start;margin-bottom:20px}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-top:-8px;margin-bottom:20px}.checkbox-container{display:flex;align-items:center;cursor:pointer;color:var(--text-dark)}.checkbox-container input{width:16px;height:16px;margin-right:8px;accent-color:var(--primary-color)}.error-message{color:var(--error-color);background-color:var(--error-background);border:1px solid var(--error-color);padding:10px;border-radius:var(--border-radius);text-align:center;font-size:14px;margin-bottom:16px}.loading-fullscreen,.loading-text{display:flex;justify-content:center;align-items:center;height:100%;color:var(--text-light)}.loading-fullscreen{height:100vh}.bottom-nav{display:flex;justify-content:space-around;padding:8px 0;background-color:var(--card-background);box-shadow:0 -2px 10px #0000000d;border-top:1px solid var(--border-color);position:sticky;bottom:0;z-index:900}.bottom-nav button{background:none;border:none;color:var(--text-light);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;padding:4px 12px;border-radius:var(--border-radius);flex-grow:1}.bottom-nav button.active{color:var(--primary-color)}.bottom-nav button.active svg{fill:var(--primary-color)}.bottom-nav button:not(.active) svg{stroke:var(--text-light)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{text-align:left}.add-button{width:44px;height:44px;font-size:28px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.empty-state{text-align:center;margin-top:40px;color:var(--text-light)}.client-list,.program-list{display:flex;flex-direction:column;gap:16px;padding-bottom:24px}.client-card,.program-card{background-color:var(--card-background);padding:24px;border-radius:var(--border-radius);box-shadow:var(--box-shadow);border:1px solid var(--border-color);transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;gap:16px}.client-card h3,.program-card h3{margin:0 0 4px;text-align:left;font-size:18px}.client-card p,.program-card p{margin:0;text-align:left;font-size:14px;color:var(--text-light)}.client-card.clickable,.program-card.clickable{cursor:pointer}.client-card.clickable:hover,.program-card.clickable:hover{transform:translateY(-5px);box-shadow:var(--box-shadow-lg);border-color:var(--secondary-hover)}.program-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px}.program-icon.renforcement{background-color:#e8f6f3}.program-icon.cardio{background-color:#fdeded}.program-info{flex-grow:1}.modal-overlay{position:fixed;inset:0;background-color:#0009;animation:fadeIn .3s ease;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal-content{background:#fff;border-radius:var(--border-radius);box-shadow:0 5px 15px #0000004d;width:100%;max-width:500px;animation:slideIn .3s ease;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:24px 24px 0;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h2{margin:0;text-align:left}.close-button{background:none;border:none;font-size:28px;cursor:pointer;color:var(--text-light);padding:0;width:auto}.modal-form{display:flex;flex-direction:column;gap:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 24px;flex:1}.modal-form button:last-child{margin-top:8px;margin-bottom:24px}.form-row{display:flex;gap:12px}.form-row input{flex:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.detail-card{background-color:var(--card-background);padding:24px;border-radius:var(--border-radius);box-shadow:var(--box-shadow);border:1px solid var(--border-color);margin-top:20px}.client-code-wrapper{background-color:var(--secondary-color);color:var(--primary-color);padding:8px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;font-size:14px;margin-top:10px;margin-bottom:8px;cursor:pointer;transition:background-color .2s ease;border:1px solid var(--secondary-hover)}.client-code-wrapper:hover{background-color:var(--secondary-hover)}.client-code-wrapper span{font-weight:500}.client-code-wrapper svg{stroke:var(--primary-color)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.info-grid div{text-align:left}.info-grid span{font-size:12px;color:var(--text-light);display:block;margin-bottom:4px}.info-grid p{font-size:16px;color:var(--text-dark);margin:0;text-align:left}.info-grid.full{grid-template-columns:1fr 1fr}.info-grid .full-width{grid-column:1 / -1;margin-top:8px}.info-grid .full-width p{white-space:pre-wrap}.unassign-button{background-color:var(--secondary-color);color:var(--text-dark);width:36px;height:36px;padding:0;font-size:20px;font-weight:500;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;line-height:1}.unassign-button:hover{background-color:var(--error-background);color:var(--error-color)}.detail-layout,.detail-layout-left,.detail-layout-right{display:flex;flex-direction:column;gap:24px}.modal-content.confirm-modal{max-width:400px}.confirm-message{text-align:center;margin-bottom:24px;line-height:1.5}.confirm-actions{display:flex;gap:12px}.toast-container{position:fixed;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:12px}.toast{display:flex;align-items:center;padding:12px 16px;border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;color:#fff;opacity:0;transform:translate(100%);transition:all .4s ease}.toast.visible{opacity:1;transform:translate(0)}.toast.success{background-color:var(--primary-color)}.toast.error{background-color:var(--error-color)}.toast-icon{margin-right:12px;display:flex;align-items:center}.toast p{margin:0;font-size:14px;font-weight:500;color:#fff;text-align:left}.type-selector{display:flex;gap:12px;width:100%}.type-selector button{flex:1;background-color:var(--secondary-color);color:var(--text-dark);border:2px solid var(--border-color);font-weight:500}.type-selector button.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.form-divider{border:none;border-top:1px solid var(--border-color);margin:8px 0}.form-field{display:flex;flex-direction:column;gap:6px;flex:1}.form-field label{font-size:14px;font-weight:500;color:var(--text-dark);text-align:left}.screen.client-dashboard{background-color:var(--background-color)}.client-header{margin-bottom:24px}.client-header h1{font-size:28px;font-weight:700}.client-header .subtitle{margin-top:4px;font-size:16px}.featured-program-card{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;padding:24px;border-radius:24px;margin-bottom:32px;box-shadow:0 10px 20px -5px #28a7454d;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.featured-program-info p{margin:0;font-size:14px;color:#fffc;text-align:left}.featured-program-info h3{color:#fff;font-size:22px;font-weight:600;margin:4px 0;text-align:left}.featured-program-info span{font-size:14px;color:#ffffffe6}.start-workout-btn{background-color:#fff3;color:#fff;border-radius:50%;width:70px;height:70px;padding:0;font-weight:600;flex-shrink:0;border:2px solid white;font-size:13px;line-height:1.2;text-align:center;display:flex;align-items:center;justify-content:center}.other-programs-title{font-size:20px;font-weight:600;margin-bottom:16px;text-align:left}.program-card.client{flex-direction:row;align-items:center;gap:16px}.program-card.client .program-info{flex-grow:1}.program-stats{font-size:14px;color:var(--text-light);margin:4px 0 0!important;padding:0;text-align:left!important}.program-status{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto}.program-status.todo{background-color:var(--secondary-color);color:var(--primary-color)}.program-status.completed{background-color:var(--primary-color);color:#fff}.screen.workout-focus-mode{padding:0;background-color:var(--card-background);justify-content:space-between;height:100%}.workout-header{padding:24px 28px 16px;width:100%}.back-link-workout{color:var(--text-light);text-decoration:none;font-size:16px}.workout-progress{margin-top:16px}.workout-progress p{text-align:left;margin:0 0 8px;font-size:14px;font-weight:500;color:var(--text-dark)}.progress-bar-container{width:100%;height:8px;background-color:var(--border-color);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background-color:var(--primary-color);border-radius:4px;transition:width .3s ease-in-out}.current-exercise-display{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}.exercise-name{font-size:36px;font-weight:700;text-align:center;margin:0;line-height:1.2}.exercise-details{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:32px;flex-wrap:wrap}.detail-block{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px}.detail-block span{font-size:64px;font-weight:700;color:var(--primary-color);line-height:1}.detail-block label{font-size:16px;color:var(--text-light);margin-top:8px}.detail-separator{font-size:48px;color:var(--border-color);font-weight:300}.exercise-details.cardio .detail-block span{font-size:48px}.exercise-details.cardio .detail-block:last-child span{color:var(--text-dark)}.exercise-photo-container{width:100%;max-width:250px;height:250px;border-radius:var(--border-radius);overflow:hidden;margin-bottom:24px;box-shadow:var(--box-shadow-lg)}.exercise-photo-container img{width:100%;height:100%;object-fit:cover}.workout-navigation{display:flex;gap:16px;padding:24px 28px;width:100%;border-top:1px solid var(--border-color);background-color:var(--card-background)}.next-rest-display{text-align:center;padding:16px;background-color:var(--secondary-color)}.next-rest-display p{margin:0;font-size:16px;color:var(--text-dark);font-weight:500;text-align:center}.rest-timer-view{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:24px 28px;background-color:var(--background-color)}.timer-info{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.timer-info h2{font-size:24px;font-weight:600;color:var(--text-light);margin-bottom:24px;text-align:center}.circular-timer{position:relative;width:200px;height:200px;margin:0 auto}.circular-timer svg{transform:rotate(-90deg);width:100%;height:100%}.timer-bg{fill:none;stroke:var(--border-color);stroke-width:8}.timer-progress{fill:none;stroke:var(--primary-color);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .3s ease-out}.timer-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:64px;font-weight:700;color:var(--text-dark)}.next-exercise-preview{text-align:center;padding:20px;background-color:var(--card-background);border-radius:var(--border-radius);margin-bottom:16px;border:1px solid var(--border-color)}.next-exercise-preview p{margin:0;color:var(--text-light);font-size:14px;text-align:center}.next-exercise-preview h3{margin:4px 0 0;font-size:18px;font-weight:600;color:var(--text-dark);text-align:center}.program-form-group{display:flex;flex-direction:column;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.program-form-group h2{font-size:28px;text-align:left}.exercise-list.editor{display:flex;flex-direction:column;gap:12px}.drag-handle{display:flex;align-items:center;justify-content:center;padding:0 12px;cursor:grab;color:var(--border-color);align-self:stretch}.drag-handle:hover{color:var(--text-dark)}.exercise-card.editor{flex-direction:column;align-items:stretch;padding:0;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--card-background)}.exercise-content-wrapper{display:flex;align-items:center;padding:8px 12px}.exercise-card-main-content{flex-grow:1;display:flex;align-items:center;gap:16px;cursor:pointer;padding:8px;border-radius:var(--border-radius)}.exercise-card-main-content:hover{background-color:var(--secondary-color)}.exercise-type-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.exercise-type-icon.renforcement{background-color:#e8f6f3}.exercise-type-icon.cardio{background-color:#fdeded}.exercise-card-info p{font-size:14px;color:var(--text-light);margin-top:4px!important}.delete-icon{background:none;border:none;font-size:20px;cursor:pointer;padding:8px;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;line-height:1}.delete-icon:hover{background-color:var(--error-background);color:var(--error-color)}.section-header-item{display:flex;align-items:center;width:100%;padding:8px 12px;background-color:var(--background-color);border-radius:var(--border-radius)}.section-title{flex-grow:1;text-align:left;font-size:16px;font-weight:600;color:var(--text-dark);padding:0 8px}.exercise-card.editor.indented{margin-left:20px;border-left:2px solid var(--primary-color)}.rest-time-indicator{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-light);background-color:var(--background-color);padding:8px 20px;border-top:1px solid var(--border-color)}.rest-time-indicator span{text-align:left}.library-list{max-height:40vh;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--border-radius)}.library-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border-color)}.library-item:last-child{border-bottom:none}.library-item:hover{background-color:var(--secondary-color)}.library-item.selected{background-color:var(--primary-color);color:#fff;font-weight:500}.library-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color);pointer-events:none}.modal-content .button-group button.secondary{border-color:var(--border-color);color:var(--text-dark)}.modal-content .button-group button.secondary:hover{background-color:var(--secondary-hover);border-color:var(--secondary-hover)}.feedback-list{display:flex;flex-direction:column;gap:16px;padding-bottom:24px}.feedback-card{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:16px;box-shadow:var(--box-shadow)}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.feedback-header h4{margin:0;font-size:16px}.feedback-header span{font-size:12px;color:var(--text-light)}.feedback-rating{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:12px}.feedback-notes{background-color:var(--background-color);padding:12px;border-radius:8px;font-size:14px;font-style:italic;margin:0 0 12px;text-align:left;line-height:1.5}.feedback-photo-thumbnail{width:70px;height:70px;border-radius:8px;overflow:hidden;cursor:pointer}.feedback-photo-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.feedback-photo-thumbnail:hover img{transform:scale(1.1)}.lightbox-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease}.lightbox-content{position:relative;max-width:90vw;max-height:90vh}.lightbox-image{max-width:100%;max-height:100%;display:block;border-radius:8px}.lightbox-close-button{position:absolute;top:10px;right:10px;background:#00000080;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:28px;line-height:40px;cursor:pointer}.feedback-question{text-align:center;font-size:18px;font-weight:600;margin-bottom:20px;color:var(--text-dark)}.rating-selector{display:flex;justify-content:space-around;align-items:flex-start;margin-bottom:24px;padding:10px 0}.rating-option{display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .2s ease;opacity:.6;flex:1}.rating-option:hover{opacity:.8;transform:translateY(-3px)}.rating-option.selected{opacity:1;transform:scale(1.1) translateY(-5px)}.rating-emoji{font-size:36px;margin-bottom:8px;line-height:1}.rating-label{font-size:11px;font-weight:500;color:var(--text-light);text-align:center}.rating-option.selected .rating-label{color:var(--primary-color);font-weight:600}.photo-upload-label{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;border:2px dashed var(--border-color);border-radius:var(--border-radius);cursor:pointer;color:var(--text-light);transition:all .2s ease;font-weight:500;margin-top:8px;text-align:center}.photo-upload-label:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:var(--secondary-color)}.library-panel-component{width:340px;flex-shrink:0;border-left:1px solid var(--border-color);background-color:var(--card-background);display:flex;flex-direction:column;height:100vh}.library-panel-header{padding:24px;border-bottom:1px solid var(--border-color)}.library-panel-header h3{font-size:20px;margin-bottom:16px}.library-panel-list{flex:1;overflow-y:auto}.library-panel-item{display:flex;align-items:center;gap:12px;padding:12px 24px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.library-panel-item:hover{background-color:var(--secondary-color)}.library-panel-item .item-name{flex:1;font-size:14px;font-weight:500}.library-panel-item .add-icon{font-size:20px;font-weight:500;color:var(--primary-color)}.library-panel-item:hover .add-icon{transform:scale(1.2)}@media (min-width: 900px){.app-container{max-width:100%;height:100vh;box-shadow:none;background-color:var(--background-color)}.dashboard-layout.coach-dashboard.desktop{flex-direction:row}.coach-dashboard.desktop .bottom-nav{flex-direction:column;width:260px;flex-shrink:0;height:100vh;position:relative;justify-content:flex-start;padding:24px 16px;gap:8px;border-top:none;border-right:1px solid var(--border-color);box-shadow:none;background-color:var(--card-background);z-index:auto}.coach-dashboard.desktop .bottom-nav button{flex-direction:row;align-items:center;justify-content:flex-start;width:100%;padding:12px 16px;font-size:16px;gap:16px}.coach-dashboard.desktop .bottom-nav button span{font-weight:500}.coach-dashboard.desktop .bottom-nav button.active{background-color:var(--secondary-color);color:var(--primary-color);font-weight:600}.coach-dashboard.desktop .bottom-nav button.active svg{stroke:var(--primary-color);fill:none}.coach-dashboard.desktop .dashboard-content{background-color:var(--background-color)}.coach-dashboard.desktop .screen{width:100%;max-width:1100px;margin:0 auto;padding:40px 48px;background-color:transparent}.coach-dashboard.desktop .screen.has-nav{padding-bottom:40px}.desktop .screen .content-centered,.desktop .screen .auth-form,.desktop .screen .button-group{max-width:420px;margin-left:auto;margin-right:auto}.coach-dashboard.desktop .client-list,.coach-dashboard.desktop .program-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.coach-dashboard.desktop .program-list .program-card{min-height:120px}.desktop .modal-content{max-width:600px}.desktop .modal-content.confirm-modal{max-width:450px}.coach-dashboard.desktop .detail-layout{flex-direction:row;align-items:flex-start;gap:32px}.coach-dashboard.desktop .detail-layout-left{flex:1;min-width:400px}.coach-dashboard.desktop .detail-layout-right{flex:1}.coach-dashboard.desktop .detail-card{margin-top:0}.client-dashboard.desktop .dashboard-content{background-color:var(--card-background)}.client-dashboard.desktop .screen{max-width:900px;margin:0 auto}.client-dashboard.desktop .bottom-nav{max-width:420px;margin:0 auto;border-radius:16px 16px 0 0;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);box-shadow:0 -5px 15px #00000008}.client-dashboard.desktop .screen.has-nav{padding-bottom:40px}.client-dashboard.desktop .client-header,.client-dashboard.desktop .client-header h1,.client-dashboard.desktop .client-header .subtitle{text-align:center}.client-dashboard.desktop .featured-program-card{max-width:700px;margin-left:auto;margin-right:auto}.client-dashboard.desktop .other-programs-title{text-align:center;font-size:24px;margin-top:40px;max-width:700px;margin-left:auto;margin-right:auto}.client-dashboard.desktop .program-list{max-width:700px;margin-left:auto;margin-right:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px}.client-dashboard.desktop .screen.workout-focus-mode{max-width:900px;margin:0 auto;padding:0;height:100%;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color)}.client-dashboard.desktop .rest-timer-view{max-width:900px;margin:0 auto;height:100%;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color)}.client-dashboard.desktop .workout-header,.client-dashboard.desktop .workout-navigation{max-width:700px;margin:0 auto}.client-header-nav{background-color:var(--card-background);border-bottom:1px solid var(--border-color);padding:16px 0;margin-bottom:32px}.client-header-nav-content{max-width:900px;margin:0 auto;padding:0 28px;display:flex;justify-content:space-between;align-items:center}.client-header-logo{font-size:24px;font-weight:700;color:var(--primary-color)}.client-header-links{display:flex;align-items:center;gap:12px}.client-header-links button{width:auto;background-color:transparent;color:var(--text-light);border:none;padding:10px 20px;font-size:15px;display:flex;align-items:center;gap:8px}.client-header-links button:hover{background-color:var(--secondary-color);color:var(--primary-color)}.client-header-links button.active{background-color:var(--secondary-color);color:var(--primary-color);font-weight:600}.app-container.layout-mobile-box{max-width:450px;height:auto;min-height:600px;margin:60px auto;border-radius:24px;box-shadow:0 20px 60px -15px #00000026;border:1px solid var(--border-color);overflow:hidden}.app-container.layout-mobile-box .screen{min-height:600px}}@media (min-width: 1024px){.coach-dashboard.desktop .program-editor-layout.desktop{display:flex;flex-direction:row}.coach-dashboard.desktop .editor-main-panel{flex:1;height:100vh;overflow-y:auto}.coach-dashboard.desktop .editor-main-panel .screen{max-width:none;margin:0}}@media (min-width: 900px){.client-dashboard-grid{display:flex;flex-direction:row;gap:40px;align-items:flex-start}.client-dashboard-grid .main-col{flex:2;min-width:0}.client-dashboard-grid .side-col{flex:1;min-width:300px;position:sticky;top:40px}.history-widget{background-color:var(--card-background);padding:24px;border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--box-shadow)}.history-widget h3{margin-bottom:20px;font-size:18px}.widget-list{display:flex;flex-direction:column;gap:16px}.widget-item{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.widget-item:last-child{border-bottom:none;padding-bottom:0}.widget-info{display:flex;flex-direction:column;text-align:left}.widget-date{font-size:12px;color:var(--text-light)}.widget-program{font-weight:500;font-size:14px}.widget-emoji{font-size:24px}.empty-text{text-align:center;color:var(--text-light);font-style:italic}.program-grid-desktop{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.program-grid-desktop .program-card.client{flex-direction:column;align-items:flex-start;padding:20px}.program-grid-desktop .program-card.client .program-status{margin-left:0;margin-top:16px;align-self:flex-end}.desktop-playlist-layout{display:flex;flex-direction:row;height:100vh!important;max-width:100%!important;border:none!important}.workout-main-area{flex:1;display:flex;flex-direction:column;height:100%;overflow-y:auto;border-right:1px solid var(--border-color)}.workout-playlist-sidebar{width:320px;background-color:var(--background-color);display:flex;flex-direction:column;height:100%}.workout-playlist-sidebar h3{padding:24px;margin:0;background-color:var(--card-background);border-bottom:1px solid var(--border-color)}.playlist-items{flex:1;overflow-y:auto;padding:16px}.playlist-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-bottom:4px}.playlist-item:hover{background-color:var(--secondary-color)}.playlist-item.active{background-color:var(--primary-color);color:#fff}.playlist-item.completed .playlist-item-status{color:var(--primary-color);font-weight:700}.playlist-item.active .playlist-item-status{color:#fff}.playlist-item-status{width:24px;text-align:center;font-weight:500;color:var(--text-light)}.playlist-item-info{display:flex;flex-direction:column;text-align:left}.playlist-item-name{font-weight:500;font-size:14px}.playlist-item-details{font-size:12px;opacity:.8}.workout-focus-content{height:100%;display:flex;flex-direction:column}.desktop-workout-header{display:flex;align-items:center;padding:16px 28px;border-bottom:1px solid var(--border-color)}.back-button-desktop{background:none;border:none;color:var(--text-light);font-size:14px;cursor:pointer;padding:8px 16px 8px 0;width:auto;display:inline-block}.back-button-desktop:hover{color:var(--primary-color)}.desktop-workout-header h2{font-size:18px;margin-left:auto;margin-right:auto;transform:translate(-50%)}.workout-focus-mode .current-exercise-display{padding:40px}.workout-focus-mode .exercise-name{font-size:48px}.workout-focus-mode .exercise-photo-container{max-width:400px;height:300px}.exercise-comment{font-size:18px;color:var(--text-light);max-width:600px;margin:16px auto!important;background-color:var(--secondary-color);padding:12px 20px;border-radius:8px}.detail-charge{margin-top:16px;font-size:18px;color:var(--text-dark)}}.exercise-list.library-grid{display:flex;flex-direction:column;gap:16px;padding-bottom:80px}.exercise-card.library-item{background-color:var(--card-background);border-radius:16px;box-shadow:var(--box-shadow);border:1px solid var(--border-color);padding:20px;position:relative;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:16px;overflow:hidden}.exercise-card.library-item:hover{transform:translateY(-3px);box-shadow:var(--box-shadow-lg);border-color:var(--primary-color)}.exercise-type-badge{position:absolute;top:12px;left:12px;font-size:10px;text-transform:uppercase;font-weight:700;padding:4px 8px;border-radius:20px;letter-spacing:.5px}.exercise-type-badge.renforcement{background-color:var(--secondary-color);color:var(--primary-color)}.exercise-type-badge.cardio{background-color:#fdeded;color:#e74c3c}.library-item-content{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:24px}.exercise-icon-large{font-size:32px;margin-bottom:8px}.exercise-card.library-item h3{margin:0 0 4px;font-size:18px;text-align:left;width:100%}.library-item-details{margin:0;font-size:14px;color:var(--text-light)}.delete-icon-library{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background-color:transparent;color:var(--text-light);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;padding:0;opacity:.7;transition:all .2s ease}.delete-icon-library:hover{background-color:var(--error-background);color:var(--error-color);border-color:var(--error-color);opacity:1}@media (min-width: 900px){.exercise-list.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;padding-bottom:24px}.exercise-card.library-item{flex-direction:column;align-items:flex-start;text-align:left;height:100%}.library-item-content{align-items:flex-start;width:100%}.delete-icon-library{opacity:0}.exercise-card.library-item:hover .delete-icon-library{opacity:1}}.priority-badge{display:inline-block;background-color:#fff3;color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;margin-bottom:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.last-completed-date{color:var(--text-light);opacity:.8;font-size:13px}.featured-program-card{padding:28px;align-items:flex-end}.featured-program-info{flex:1}.client-contact-page{padding:0!important;display:flex;flex-direction:column;height:100%;background-color:var(--background-color)}.contact-header{padding:16px 20px;background-color:var(--card-background);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.coach-info h2{margin:0;font-size:18px}.coach-status{margin:0;font-size:12px;color:var(--primary-color);font-weight:500}.appointment-btn{font-size:12px!important;padding:8px 12px!important;width:auto!important}.chat-container-wrapper{flex:1;overflow:hidden;position:relative}.chat-window{display:flex;flex-direction:column;height:100%}.messages-container{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;background-color:#f0f2f5}.empty-chat-state{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-light);font-style:italic}.message-bubble{max-width:75%;padding:10px 14px;border-radius:18px;position:relative;animation:fadeIn .2s ease}.message-bubble.me{align-self:flex-end;background-color:var(--primary-color);color:#fff;border-bottom-right-radius:4px}.message-bubble.them{align-self:flex-start;background-color:#fff;color:var(--text-dark);border-bottom-left-radius:4px;box-shadow:0 1px 2px #0000001a}.message-content{white-space:pre-wrap;word-break:break-word;text-align:left}.message-time{font-size:10px;margin-top:4px;opacity:.7;text-align:right}.message-bubble.me .message-time{color:#ffffffe6}.chat-input-area{display:flex;gap:12px;padding:12px 16px;background-color:var(--card-background);border-top:1px solid var(--border-color);flex-shrink:0}.chat-input-area input{flex:1;border-radius:24px;padding-left:20px;background-color:var(--background-color);border:none}.chat-input-area input:focus{box-shadow:none;background-color:#e9eef4}.chat-input-area button{width:44px!important;height:44px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-back-button{background:none!important;border:none!important;color:var(--text-dark)!important;padding:8px!important;width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer;border-radius:50%;transition:background-color .2s ease;margin-left:-8px}.chat-back-button:hover{background-color:var(--secondary-color)!important;color:var(--primary-color)!important}@media (min-width: 900px){.client-contact-page.desktop{max-width:900px;margin:0 auto;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color)}}.appointment-banner{background-color:var(--secondary-color);border-bottom:1px solid var(--primary-color);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.banner-info p{margin:4px 0 0;color:var(--text-dark);font-size:14px}.banner-info strong{color:var(--primary-color)}.banner-notes{display:block;font-style:italic;color:var(--text-light);font-size:13px;margin-top:2px}.banner-actions{display:flex;gap:8px}button.small{padding:6px 12px!important;font-size:13px!important;width:auto!important}button.small.success{background-color:var(--primary-color);color:#fff}button.small.danger-light{background-color:#fff;color:var(--error-color);border:1px solid var(--error-color)}button.small.danger-light:hover{background-color:var(--error-background)}.button-row{display:flex;flex-direction:column;gap:12px;width:100%}button.tertiary{background-color:transparent;color:var(--text-light);border:1px solid var(--border-color);font-size:14px;padding:10px 16px}button.tertiary:hover{background-color:var(--background-color);border-color:var(--text-light);color:var(--text-dark)}button.tertiary.danger{color:var(--error-color);border-color:transparent;background-color:#fff0f0}button.tertiary.danger:hover{background-color:var(--error-color);color:#fff;border-color:var(--error-color)}@media (min-width: 900px){.button-row{flex-direction:row}.button-row button,.admin-actions button{flex:1}}
