.miert-trainer-manager{max-width:1200px;margin:0 auto;padding:1rem}.miert-trainer-manager .nav-pills .nav-link{font-size:1.1rem;padding:.75rem 1.5rem;border-radius:50px;margin-right:.5rem}.miert-trainer-manager .nav-pills .nav-link.active{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.calendar-nav{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.nav-btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1rem;border:none;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.nav-btn:active{transform:scale(.95)}.nav-btn-prev,.nav-btn-next{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;width:44px;height:44px;padding:0}.nav-btn-prev:hover,.nav-btn-next:hover{box-shadow:0 4px 15px rgba(102,126,234,.4);transform:translateY(-1px)}.nav-btn-prev i,.nav-btn-next i{font-size:1.2rem}.nav-btn-today{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);color:#fff;padding:.6rem 1.25rem;gap:.4rem}.nav-btn-today:hover{box-shadow:0 4px 15px rgba(17,153,142,.4);transform:translateY(-1px)}.nav-btn-today i{font-size:1rem}.date-label{text-align:center;font-size:1rem;font-weight:600;color:#495057;margin-bottom:1rem;padding:.3rem 0}.fm-calendar{display:flex;flex-direction:column;gap:.5rem}.fm-day{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden}.fm-day-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:.75rem 1rem;font-weight:600}.fm-day-header.today{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.fm-day-header .date-info{font-size:.85rem;opacity:.9}.fm-bookings{padding:.5rem}.fm-booking{display:flex;align-items:center;padding:1rem;border-radius:10px;margin-bottom:.5rem;cursor:pointer;transition:all .2s;background:#f8f9fa;border:2px solid transparent}.fm-booking:hover{background:#e9ecef;transform:translateX(5px)}.fm-booking.has-plan{border-color:#28a745;background:rgba(40,167,69,.08)}.fm-booking.past{opacity:.6}.fm-booking .time{font-size:1.3rem;font-weight:700;color:#667eea;min-width:80px}.fm-booking .client-info{flex:1}.fm-booking .client-name{font-weight:600;font-size:1.1rem}.fm-booking .booking-type{font-size:.9rem;color:#6c757d}.fm-booking .status-icon{font-size:1.5rem}.fm-booking .status-icon .bi-check-circle-fill{color:#28a745}.fm-booking .status-icon .bi-circle{color:#adb5bd}.fm-no-bookings{padding:2rem;text-align:center;color:#adb5bd}.search-box .input-group-text{background:#667eea;color:#fff;border:none}.client-list{display:grid;gap:.75rem}.client-card{display:flex;align-items:center;padding:.75rem;background:#fff;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.08);cursor:pointer;transition:all .2s;min-width:0;overflow:hidden}.client-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.15)}.client-card .avatar{width:40px;height:40px;min-width:40px;border-radius:50%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;margin-right:.75rem}.client-card .info{flex:1;min-width:0;overflow:hidden}.client-card .info h5{margin-bottom:.1rem;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-card .info small{color:#6c757d;font-size:.75rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-card .stats{margin-left:auto;text-align:right;flex-shrink:0;padding-left:.5rem}.client-card .stats .badge{font-size:.75rem}.fm-loading{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;z-index:9999}.fm-workout-items{max-height:350px;overflow-y:auto}.fm-workout-item{display:flex;flex-wrap:wrap;align-items:center;padding:.75rem;background:#f8f9fa;border-radius:10px;margin-bottom:.5rem;gap:.5rem}.fm-workout-item .drag-handle{cursor:grab;color:#adb5bd;font-size:1.2rem}.fm-workout-item .exercise-name{font-weight:600;flex:1;min-width:150px}.fm-workout-item .params{display:flex;gap:.25rem;flex-wrap:wrap}.fm-workout-item .params input{width:70px;text-align:center}.fm-workout-item .remove-btn{margin-left:auto}.fm-search-results{position:absolute;left:0;right:0;background:#fff;border:1px solid #dee2e6;border-radius:10px;max-height:250px;overflow-y:auto;z-index:100;box-shadow:0 4px 15px rgba(0,0,0,.15)}.fm-search-results .result-item{padding:1rem;cursor:pointer;border-bottom:1px solid #eee}.fm-search-results .result-item:hover{background:#f8f9fa}.fm-search-results .result-item:last-child{border-bottom:none}.view-toggle{display:flex;gap:0;margin-left:auto}.view-toggle .btn{border-radius:0;padding:.5rem .75rem}.view-toggle .btn:first-child{border-radius:6px 0 0 6px}.view-toggle .btn:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.view-toggle .btn.active{background:#667eea;border-color:#667eea;color:#fff}.fm-calendar-desktop{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;background:#e9ecef;border-radius:12px;overflow:hidden;min-width:0}.fm-desktop-day{background:#fff;min-height:150px;display:flex;flex-direction:column;min-width:0;overflow:hidden}.fm-desktop-day-header{background:#f8f9fa;padding:.4rem .25rem;text-align:center;font-weight:600;font-size:.75rem;border-bottom:2px solid #e9ecef}.fm-desktop-day-header .day-name{display:block;color:#6c757d;font-size:.65rem;text-transform:uppercase}.fm-desktop-day-header .day-num{font-size:.95rem;color:#333}.fm-desktop-day.today .fm-desktop-day-header{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);color:#fff}.fm-desktop-day.today .fm-desktop-day-header .day-name,.fm-desktop-day.today .fm-desktop-day-header .day-num{color:#fff}.fm-desktop-bookings{flex:1;padding:2px;overflow-y:auto;max-height:350px}.fm-time-slot{padding:3px 5px;border-radius:6px;margin-bottom:2px;cursor:pointer;transition:all .2s;background:#f8f9fa;border-left:3px solid #adb5bd;font-size:.7rem}.fm-time-slot:hover{background:#e9ecef}.fm-time-slot.all-done{border-left-color:#28a745;background:rgba(40,167,69,.08)}.fm-time-slot.some-done{border-left-color:#ffc107;background:rgba(255,193,7,.08)}.fm-time-slot.past{opacity:.6}.fm-time-slot .slot-time{font-weight:700;color:#667eea;font-size:.75rem}.fm-time-slot .slot-clients{display:flex;flex-wrap:wrap;gap:2px;margin-top:1px}.fm-time-slot .client-chip{display:inline-block;padding:1px 5px;border-radius:10px;background:#e9ecef;color:#495057;font-size:.65rem;font-weight:500;white-space:nowrap}.fm-time-slot .client-chip.has-plan{background:rgba(40,167,69,.2);color:#1e7e34}.fm-time-slot .slot-count{font-size:.65rem;color:#6c757d}.fm-desktop-no-bookings{padding:.75rem;text-align:center;color:#adb5bd;font-size:.75rem}.fm-slot-detail{padding:.75rem;border-radius:8px;margin-bottom:.5rem;background:#f8f9fa;border-left:3px solid #adb5bd;cursor:pointer;transition:all .2s}.fm-slot-detail:hover{background:#e9ecef;transform:translateX(3px)}.fm-slot-detail.has-plan{border-left-color:#28a745;background:rgba(40,167,69,.08)}.fm-slot-detail .client-name{font-weight:600;font-size:1rem}.fm-slot-detail .booking-type{font-size:.85rem;color:#6c757d}.fm-slot-detail .status-badge{font-size:.75rem}.fm-slot-client{border:1px solid #e9ecef;border-radius:8px;margin-bottom:.5rem;overflow:hidden;background:#fff}.fm-slot-client.has-plan{border-left:3px solid #28a745}.fm-slot-client.all-completed{border-color:#28a745;background:rgba(40,167,69,.05)}.fm-slot-client-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f8f9fa;cursor:pointer;transition:background .2s}.fm-slot-client-header:hover{background:#e9ecef}.fm-slot-client-header .client-info{display:flex;flex-direction:column}.fm-slot-client-header .client-name{font-weight:600;font-size:.9rem}.fm-slot-client-header .booking-type{font-size:.7rem}.fm-slot-client-header .client-actions{display:flex;align-items:center;gap:.4rem}.fm-slot-client-header .exercise-progress{font-size:.75rem;font-weight:600;color:#667eea;min-width:35px;text-align:center}.fm-slot-client-header .expand-icon{transition:transform .2s;color:#6c757d;font-size:.9rem}.fm-slot-client.expanded .expand-icon{transform:rotate(180deg)}.fm-slot-client-body{display:none;padding:.4rem;border-top:1px solid #e9ecef}.fm-slot-client.expanded .fm-slot-client-body{display:block}.fm-slot-exercises{display:flex;flex-direction:column;gap:.25rem}.fm-slot-exercise{display:flex;align-items:center;padding:.35rem .5rem;background:#fff;border-radius:5px;border:1px solid #e9ecef;transition:all .2s;gap:.5rem}.fm-slot-exercise:hover{border-color:#667eea;box-shadow:0 1px 4px rgba(102,126,234,.12)}.fm-slot-exercise.completed{background:rgba(40,167,69,.08);border-color:#28a745}.fm-slot-exercise.completed .exercise-details .exercise-name{color:#28a745}.fm-exercise-checkbox{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:2px solid #dee2e6;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.fm-exercise-checkbox:hover{border-color:#667eea;background:rgba(102,126,234,.1)}.fm-exercise-checkbox.checked{background:#28a745;border-color:#28a745}.fm-exercise-checkbox .check-icon{color:#fff;font-size:.7rem;display:none}.fm-exercise-checkbox.checked .check-icon{display:block}.exercise-details{flex:1;min-width:0}.exercise-details .exercise-name{font-weight:500;font-size:.8rem;color:#333;margin-bottom:0;word-break:break-word;line-height:1.2}.fm-slot-exercise.completed .exercise-details .exercise-name{text-decoration:line-through;opacity:.7}.exercise-params{display:flex;gap:.2rem;flex-wrap:wrap;margin-top:.1rem}.exercise-params .param-badge{display:inline-flex;align-items:center;gap:.1rem;padding:.05rem .3rem;background:#f1f3f5;border-radius:3px;font-size:.65rem;color:#495057}.exercise-params .param-badge i{font-size:.55rem;color:#667eea}.exercise-params .param-badge.weight-badge{background:#e7f1ff;color:#06c}.exercise-params .param-badge.weight-badge i{color:#06c}.fm-slot-no-plan{padding:.75rem;text-align:center;color:#adb5bd;font-size:.8rem}.fm-slot-no-plan i{font-size:1rem;margin-right:.25rem}.fm-client-notes{margin-bottom:.5rem;padding:.6rem;background:linear-gradient(135deg,rgba(102,126,234,.1) 0%,rgba(118,75,162,.1) 100%);border-radius:6px;border-left:3px solid #667eea}.fm-client-notes-label{font-size:.7rem;font-weight:600;color:#667eea;margin-bottom:.3rem}.fm-client-notes-label i{margin-right:.25rem}.fm-client-notes-content{font-size:.8rem;color:#333;line-height:1.4;white-space:pre-wrap;word-break:break-word}.plan-counter{font-weight:700;font-size:.8rem;padding:.1rem .4rem;border-radius:4px;background:rgba(0,0,0,.05)}.plan-counter.text-success{background:rgba(40,167,69,.15)}.plan-counter.text-warning{background:rgba(255,193,7,.2)}.plan-counter.text-muted{background:rgba(108,117,125,.1)}.fm-time-slot-mobile{padding:.5rem .75rem;border-radius:8px;margin-bottom:.4rem;cursor:pointer;transition:all .2s;background:#f8f9fa;border-left:4px solid #adb5bd}.fm-time-slot-mobile:hover{background:#e9ecef}.fm-time-slot-mobile.all-done{border-left-color:#28a745;background:rgba(40,167,69,.08)}.fm-time-slot-mobile.some-done{border-left-color:#ffc107;background:rgba(255,193,7,.08)}.fm-time-slot-mobile.past{opacity:.6}.fm-time-slot-mobile .slot-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.fm-time-slot-mobile .slot-time{font-weight:700;color:#667eea;font-size:1rem}.fm-time-slot-mobile .slot-clients{display:flex;flex-wrap:wrap;gap:4px}.fm-time-slot-mobile .client-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:12px;background:#e9ecef;color:#495057;font-size:.8rem;font-weight:500}.fm-time-slot-mobile .client-chip.has-plan{background:rgba(40,167,69,.2);color:#1e7e34}.fm-time-slot-mobile .client-chip i{margin-left:4px;font-size:.7rem}.workout-history-item{cursor:pointer;transition:all .2s;border-left:3px solid transparent;padding:.6rem .75rem}.workout-history-item:hover{background:#f8f9fa;border-left-color:#667eea}.workout-history-item strong{font-size:.85rem}.workout-history-item small{font-size:.75rem}.workout-history-item .badge{font-size:.65rem}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}}.btn-lg{padding:.75rem 1.5rem;font-size:1.1rem}.btn-close-lg{font-size:1.5rem;padding:1rem}