.btn-block{
    padding: 14px 0 !important;
}

.normal-input{
    padding: 14px 10px !important;
}
.option-container{
    z-index: 5;
}
.option-container .option-label{
    padding: 8px 0 !important;
}

.option-buttons-holder .btn, .option-buttons-holder .btn-cus{
    border-radius: 10px !important;
}
.alert-danger{
    font-size: 14px;
    text-align: center !important;
}

.app-auth-title{
    font-size: 18px;
    font-weight: 700;
}

.app-auth-description{
    font-size: 14px;
    font-weight: 300;
}

.app-registration-heading{
    margin: 8px 0 24px;
}

.normal-link-with-arrow{
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.form-single-submit .btn-submit{
    top: 10 !important;
}

.normal-link-with-arrow:first-child{
    border-top: none !important;
}

.normal-link-with-arrow{
    border-top: solid 1px #dfdfdf;
}

.coach-arrows-holder .fa-chevron-left{
    margin-top: -34px;
}
.no-input-close-btn .normal-input-close-btn{
    display: none;
}
.session-add-holder .session-add-btn{
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    border: 0;
    font-family: inherit;
}

.session-fixed-tools{
    padding: 4px 0;
}

.app-program-tools.app-surface-card{
    padding: 4px 20px;
}

.app-program-tools__action{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 14px 0;
    border: 0;
    background: transparent;
    color: #000;
    font: inherit;
    font-size: 14px;
    font-weight: 400;
    text-align: right;
    cursor: pointer;
}

.app-program-tools__save-actions{
    margin-top: 20px;
}

.app-program-picker-card{
    width: 100%;
    font: inherit;
    text-align: right;
    cursor: pointer;
}

.saved-program-picker{
    padding-bottom: 24px;
}

.saved-program-picker__list{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.saved-program-picker__selected-title{
    margin: 0 0 14px;
    color: #252932;
    font-size: 15px;
    font-weight: 600;
    text-align: right;
}

.saved-program-picker__title-divider{
    margin-top: 0;
}

.app-list-search{
    margin-bottom: var(--app-list-search-results-gap, 14px);
}

.app-list-search-host{
    margin-bottom: var(--app-list-search-results-gap, 14px);
}

.app-list-search-host .app-list-search{
    margin-bottom: 0;
}

/* Search results may use their own important display mode (flex/grid). */
[data-app-search-item].hide-important{
    display: none !important;
}

.saved-program-picker__choice{
    width: 100%;
    margin: 0;
    padding-left: 48px;
}

.saved-program-picker__choice--plain{
    padding-left: 16px;
}

.app-program-card{
    min-height: var(--app-program-card-min-height);
}

.app-session-card{
    min-height: var(--app-program-card-min-height);
}

.saved-program-picker__choice .app-card-text-stack{
    min-width: 0;
}

.saved-program-picker__error{
    min-height: 20px;
    margin-top: 4px;
}

.saved-program-picker__actions{
    gap: 12px;
    margin-top: 0;
}

.saved-program-picker__actions > a,
.saved-program-picker__actions > button{
    width: 100%;
    box-sizing: border-box;
}

.saved-program-picker__actions > button:disabled{
    opacity: .45;
    cursor: default;
}

.saved-program-picker__list .session-item{
    margin-bottom: 0;
}

.session-fixed-tools .normal-link-with-arrow:last-child{
    border-bottom: 0;
}

.app-archive-add-holder{
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid var(--app-coach-theme-color);
    border-radius: 22px !important;
    background: #fff;
}

.app-archive-add-holder .add_archive{
    margin: 0;
    padding: 0;
}

.app-archive-add-action{
    display: flex;
    min-height: 40px;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 12px;
    color: var(--app-coach-theme-color) !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
}

.app-archive-add-action::before{
    content: '+';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.app-section-divider,
.session-tools-divider{
    width: calc(100% + (2 * var(--app-page-gutter)));
    height: var(--app-section-divider-thickness);
    margin: 18px calc(-1 * var(--app-page-gutter)) 20px;
    background: var(--app-surface-card-border-color);
}

.session-list{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.session-list .session-item{
    align-items: center;
    margin-bottom: 0;
    border-color: var(--app-surface-card-border-color);
    border-radius: var(--app-surface-card-radius);
}

.session-list .session-title,
.session-list .session-desc{
    align-self: center;
}

.session-editor-sheet{
    padding: 20px;
}

.train-editor-sheet{
    padding: 20px;
    overflow: hidden;
}

.app-bottom-sheet__panel.train-editor-sheet{
    overflow: hidden;
}

.train-editor-sheet #trainForm{
    display: flex;
    flex-direction: column;
    max-height: calc(70dvh - 45px);
    min-height: 0;
}

.train-editor-sheet .train-editor-scroll{
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: 8px;
}

.train-editor-sheet .session-actions{
    flex: 0 0 auto;
    margin: 8px -20px -20px;
    padding: var(--app-action-shell-padding-block) var(--app-action-shell-padding-inline) calc(var(--app-action-shell-padding-block) + env(safe-area-inset-bottom));
    border-top: 1px solid var(--app-surface-card-border-color);
    background: #fff;
}

.train-editor-sheet .sport-set-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-top: 8px;
}

.train-editor-sheet .sport-set-grid > .set-input-holder{
    min-width: 0;
    margin-top: 0 !important;
    padding: 4px !important;
    border-radius: 10px !important;
}

.train-editor-sheet .sport-set-grid > .set-input-holder .set-input-right{
    width: 30%;
    min-width: 0;
}

.train-editor-sheet .sport-set-grid > .set-input-holder .set-input-left{
    display: flex;
    align-items: center;
    width: 70%;
    min-width: 0;
}

.train-editor-sheet .sport-set-grid .set-input-input-title{
    min-width: 0;
    padding: 6px 10px 6px 2px !important;
    font-size: 10px;
}

.train-editor-sheet .sport-set-grid .set-input-input-repeat{
    width: 34px !important;
    min-width: 34px;
    margin-right: 2px !important;
    padding: 6px 2px !important;
    border: var(--app-field-border-width) solid var(--app-field-border-color) !important;
    border-radius: 8px !important;
    background: var(--app-field-background) !important;
    font-size: 12px;
}

.train-editor-sheet .sport-set-grid .set-input-label{
    margin-inline: 2px;
    font-size: 9px;
    font-weight: 300;
    white-space: nowrap;
}

.train-editor-sheet .sport-set-grid .set-input-delete{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px !important;
    height: 28px;
    margin: 0 2px 0 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    font-size: 11px;
    transform: translateX(-16px);
}

.archive-selection-input{
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.archive-confirm-count{
    font-size: 10px;
    font-weight: 300;
}

.app-surface-card--selectable{
    position: relative;
    display: flex;
    min-height: 80px;
    padding: 10px 16px;
    align-items: center;
    box-sizing: border-box;
    cursor: pointer;
    transition: box-shadow 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.app-surface-card--selectable.is-selected,
.app-surface-card--selectable:has(.app-selectable-card__input:checked){
    border-color: var(--app-field-focus-color) !important;
    background: var(--app-surface-card-background);
    box-shadow: none;
}

.app-selectable-card__input{
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.app-selectable-card__check{
    position: absolute;
    top: 50%;
    left: 14px;
    display: inline-flex;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--app-surface-card-border-color);
    border-radius: 50%;
    color: transparent;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
    transition: color 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.app-selectable-card__check--checkbox{
    width: 18px;
    height: 18px;
    flex-basis: 18px;
    border: 1.5px solid #7d838c;
    border-radius: 4px;
    font-size: 11px;
}

.app-selectable-card__check--radio{
    width: 18px;
    height: 18px;
    flex-basis: 18px;
    border: 1.5px solid #7d838c;
    border-radius: 50%;
    background: #fff;
}

.app-surface-card--selectable.is-selected .app-selectable-card__check,
.app-surface-card--selectable:has(.app-selectable-card__input:checked) .app-selectable-card__check{
    border-color: var(--app-field-focus-color);
    background: var(--app-field-focus-color);
    color: #fff;
}

.app-surface-card--selectable.is-selected .app-selectable-card__check--radio,
.app-surface-card--selectable:has(.app-selectable-card__input:checked) .app-selectable-card__check--radio{
    background: var(--app-field-focus-color);
}

.app-surface-card--selectable:focus-visible{
    outline: 2px solid var(--app-field-focus-color);
    outline-offset: 2px;
}

.session-field-error{
    min-height: 20px;
    padding: 5px 4px 0;
    color: #d00606;
    font-size: 12px;
    font-weight: 300;
}

.session-field-error:empty{
    display: none;
}

.session-edit-trigger{
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    direction: rtl;
    flex-shrink: 0;
    width: var(--app-header-touch-target);
    height: var(--app-header-touch-target);
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.session-edit-trigger-icon{
    display: block;
    width: 22px;
    height: 22px;
    /* Dots end at x=13.8 in a 24-unit viewBox: remove its 42.5% empty right edge.
       The visible dots start at the card padding; the touch target stays full-size. */
    transform: translateX(42.5%);
    fill: currentColor;
}

.session-list .session-option{
    display: flex;
    align-items: center;
    width: 44px;
    flex: 0 0 44px;
}
.btn-train-gray-cus,.btn-train-gray-cus-white{
    border: solid 1px #dc0707 !important;
}

.btn{
    outline: none !important;
}
.btn-train-bg-white{
    background: #fff !important;
}
.close-btn-icon{
    font-size: 10px;
    width: 24px;
    display: inline-block;
    margin-bottom: 10px;
}
.hide-cus{
    display: none !important;
}
.normal-link{
    display: inline-block;
}
.session-title-item-holder{
    display: block;
    overflow: hidden;
}
.session-title-caption{
    float: right;
    font-size: 13px;
}
.session-title-value{
    float: left;
    text-align: left;
    font-size: 13px;
}

.session-menu-bar{
    font-size: 18px;
    padding-top: 17px;
    display: block;
}
.session-link-area{
    cursor: pointer;
}

.train_search_input {
    height: var(--app-search-control-height);
    box-sizing: border-box;
    border-radius: 65px;
    background: var(--app-search-background);
    border: 0;
    color: var(--app-field-text-color);
}

.train_search_input:focus{
    outline: none;
    border-color: transparent;
    box-shadow: none;
}

.search-container > .train_search_input + .normal-input-close-btn{
    top: 0;
    bottom: 0;
    left: 6px;
    display: flex;
    width: 32px;
    height: 100%;
    padding: 0;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    transform: none;
}

.search-container > .train_search_input:focus + .normal-input-close-btn{
    margin: 0 !important;
}

.search-container > .train_search_input + .normal-input-close-btn img{
    display: block;
    width: 18px;
    height: 18px;
    margin: 0;
}

.search-container > .search-icon{
    top: 50%;
    margin-top: 0;
    line-height: 1;
    transform: translateY(-50%);
}

.train_search_input::placeholder{
    color: var(--app-field-placeholder-color);
    opacity: 1;
}

.train_search_input::-webkit-search-cancel-button{
    display: none;
    -webkit-appearance: none;
}
.hide_select_arrow{
    display: none;
}
.search_option{
    border-radius: 65px;
}
.menu-open-btn{
    width: var(--app-header-touch-target);
    height: var(--app-header-touch-target) !important;
    min-width: var(--app-header-touch-target);
    padding: 0 !important;
    margin-right: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    appearance: none;
}

/* Use the single layout-level trigger; several legacy pages render a duplicate in the header. */
.main_content > .menu-open-btn{
    position: absolute;
    top: 6px;
    left: var(--app-page-gutter);
    right: auto;
    margin: 0;
    z-index: 10;
    direction: ltr;
    justify-content: flex-start;
}
.main_content > .menu-open-btn .menu-bar-icon-svg{
    transform: translateX(calc(-1 * var(--app-menu-icon-edge-compensation)));
}
.header-bar-holder .menu-open-btn{
    display: none;
}
.header-bar-holder{
    height: var(--app-header-height);
    min-height: var(--app-header-height);
    padding: 10px 0;
    border: 0;
    box-shadow: none;
    background: #fff;
    box-sizing: border-box;
}
.header-bar-holder > .container{
    width: 100%;
    max-width: none;
    padding-right: var(--app-page-gutter);
    padding-left: var(--app-page-gutter);
    box-sizing: border-box;
}
.header-bar-holder .header-bar-sub{
    display: flex;
    align-items: center;
    direction: rtl;
    gap: 0;
    min-height: 36px;
}
.header-bar-holder .header-bar-arrow{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    direction: ltr;
    flex: 0 0 var(--app-header-back-slot);
    width: var(--app-header-back-slot);
    height: 36px;
    padding: 0;
}
.header-bar-holder .header-bar-arrow::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: var(--app-header-touch-target);
    height: var(--app-header-touch-target);
    transform: translate(-50%, -50%);
}
.header-bar-holder .header-bar-arrow img,
.header-bar-holder .header-bar-arrow svg{
    display: block;
    width: 24px;
    height: 24px;
    transform: translateX(var(--app-back-icon-edge-compensation));
}
.header-bar-holder.plan-main-header{
    height: var(--app-header-height);
    min-height: var(--app-header-height);
    padding-top: 6px;
    padding-bottom: 6px;
    box-sizing: border-box;
}

.header-bar-holder .header-bar-title{
    position: static;
    flex: 1;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 0 0 0 8px;
    font-family: 'AppFont', sans-serif;
    font-size: 15px !important;
    font-weight: 400;
    line-height: 1.5;
    text-align: right;
    transform: none;
}
.header-bar-left-confirm{
    padding-top: 3px;
}

.plan_detail i{
    padding-top: 4px;
}
.train-detail-img-holder img{
    width: 100%;
}
.plan_deleteForm{
    margin-bottom: -7px;
}
.icon_filter_right_i{
    top: 15 !important;
}
.plan-request-caption-blank {
    height: 40px;
}
.plan-request-caption{
    width: 100%;
    position: absolute;
    left: 0;
    background: #fff;
    padding: 25px 0 ;
    top: 51px;
    border-top: solid 2px #efefef;
    text-align: right;
    margin: 0 !important;
}

#el_timer{
    display: inline-block;

}
.resend-code-holder{
    text-align: center;
}

.abs-btn{
    position: fixed;
    bottom: 10px;
    width: 90%;
    left: 5%;
    z-index: 3;
    right: 5%;
}

.resend-code-cap-holder{
    position: static;
    text-align: center;
    width: 100%;
    margin-top: 16px;
}
.normal-input-close-btn img{
    width: 200%;
    margin-top: 2px;
}
.ms-mobile-select .ms-btn-bar{
    position: absolute !important;
    bottom: 25px;
    width: 100%;
    left: 0;

    padding-top: 14px;
    border-top: solid 1px #efefef;
    width: 100%;
    left: 0;
    right: 0;
    border-bottom: 0 !important;


}
.ms-mobile-select .ms-title{
    float: right;
    position: absolute;
    top: -214px;
    right: -14%;
    z-index: 6;
}
.ms-mobile-select .ms-btn-bar::after{
    content: " ";
    width: 100%;
    position: absolute;
    left: 0;
    background: #fff;
    height: 44px;
    top: -201px;
    z-index: 5;
}
.ms-mobile-select .ms-panel{
    padding-bottom: 45px;
}


.ms-mobile-select .ms-cancel{
    background: #ffffff;
    border: solid 1px var(--app-field-focus-color);
    color: var(--app-field-focus-color) !important;
    border-radius: 15px;
    width: 48% !important;
    display: block;
    right: 0 !important;
    left: auto !important;
}
.ms-mobile-select .ms-ensure{
    background: var(--app-field-focus-color);
    border: solid 1px var(--app-field-focus-color);
    color: #fff !important;

    border-radius: 15px;
    width: 48% !important;
    display: block;
    left: 0 !important;
    right: auto !important;
}
.ms-content{
    padding-bottom: 25px !important;
    border-radius: 15px;
    overflow: hidden;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.train-dt-item-disable4superset-act{
    border-bottom:  solid 3px #5e30eb !important;
}
.active-edit-train{
    border-bottom:  solid 3px #5e30eb !important;
}
.superset-action-holder{
    display: flex;

}
.superset-action-holder .btn-block{
    margin: 5px;
}
.menu-bar-icon-svg{
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 22px;
}
.menu-bar-icon-svg svg{
    display: block;
    width: 22px;
    height: 22px;
    fill: #000;
}
.menu-open-btn i{
    font-size: 0;
}

/* Full-screen navigation drawer: enter from the physical left in RTL layouts. */
.menu-holder{
    right: auto;
    left: 0;
    top: var(--app-visual-viewport-top, 0px);
    width: 100vw;
    max-width: none;
    bottom: auto;
    height: var(--app-visual-viewport-height, 100dvh);
    padding: 20px;
    border-radius: 0;
    box-shadow: none;
    background: #fff !important;
    box-sizing: border-box;
    overflow-y: auto;
    overscroll-behavior: none;
    opacity: 1;
    transform: translateX(-100%);
    transition: transform 350ms ease, visibility 0s linear 350ms;
    visibility: hidden;
}

.menu-close-holder{
    height: var(--app-header-touch-target);
}

.menu-back-btn{
    position: absolute;
    top: 6px;
    left: var(--app-page-gutter);
    right: auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    direction: ltr;
    width: var(--app-header-touch-target);
    height: var(--app-header-touch-target);
    padding: 0;
    border: 0;
    background: transparent;
    color: #000;
    cursor: pointer;
    z-index: 2;
}

.menu-back-btn svg,
.menu-back-btn img{
    display: block;
    width: 24px;
    height: 24px;
    fill: currentColor;
}
.menu-back-btn img{
    transform: translateX(calc(-1 * var(--app-back-icon-edge-compensation))) scaleX(-1);
}

.menu-profile-link{
    display: block;
    color: #000;
    text-decoration: none;
}

.menu-profile-card{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3px 12px 21px;
    text-align: center;
}

.menu-profile-image-frame{
    display: block;
    width: 82px;
    height: 82px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: #ebecee;
    overflow: hidden;
}

.menu-profile-image{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.menu-profile-image.is-default{
    transform: scale(1.15);
}

.menu-profile-card .menu-user-title{
    padding: 0;
    font-size: 18px;
    line-height: 1.7;
}

.menu-profile-card .menu-user-code{
    margin-top: 4px;
}

.menu-profile-meta{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex-wrap: wrap;
    color: #555;
    line-height: 1.8;
}

.menu-profile-meta-separator{
    color: #9a9a9a;
}
.menu-profile-id{
    direction: rtl;
    unicode-bidi: isolate;
}

.coach-view-header .header-bar-sub{
    position: relative;
    min-height: 36px;
    align-items: center;
}
.coach-selector-trigger,
.coach-selector-label{
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    max-width: calc(100% - 110px);
    padding: 0 6px;
    border: 0;
    background: transparent;
    color: #222;
    font: inherit;
    font-size: 15px;
    line-height: 36px;
    white-space: nowrap;
    transform: translate(-50%, -50%);
}
.coach-selector-trigger span{
    overflow: hidden;
    text-overflow: ellipsis;
}
.coach-selector-trigger svg{
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    fill: currentColor;
}
.coach-add-trigger{
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #000;
    font-family: Arial, sans-serif;
    font-size: 28px;
    font-weight: 300;
    line-height: 1;
    transform: translateY(-50%);
    text-decoration: none;
}
.coach-add-trigger:hover,
.coach-add-trigger:focus{
    color: #000;
    text-decoration: none;
}
.coach-view-content{
    padding: 24px 0 80px;
}
.coach-profile-card{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 20px;
    text-align: center;
}
.coach-profile-image{
    display: block;
    width: 104px;
    height: 104px;
    border-radius: 50%;
    background: #ebecee;
    object-fit: cover;
}
.coach-profile-name{
    margin-top: 14px;
    font-size: 18px;
    font-weight: 500;
}
.coach-profile-status{
    margin-top: 5px;
    color: #8a6d00;
    font-size: 12px;
    font-weight: 300;
}
.coach-profile-code{
    margin-top: 5px;
    color: #666;
    font-size: 13px;
    font-weight: 300;
    unicode-bidi: isolate;
}
.coach-profile-about{
    width: 100%;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #ebecee;
    color: #555;
    font-size: 14px;
    font-weight: 300;
    line-height: 2;
    text-align: right;
    white-space: pre-line;
}
.coach-empty-state{
    padding: 64px 20px;
    text-align: center;
}

.student-empty-state{
    display: flex;
    width: 100%;
    min-height: calc(100dvh - var(--app-header-height) - 96px - env(safe-area-inset-bottom, 0px));
    padding: 18px var(--app-page-gutter) 112px;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    color: #252932;
    text-align: center;
}

.student-empty-state__image{
    display: block;
    width: min(240px, 68vw);
    height: min(240px, 68vw);
    flex: 0 0 auto;
    object-fit: contain;
}

.student-empty-state__content{
    width: 100%;
    max-width: 420px;
    min-height: 92px;
    margin-top: 14px;
}

.student-empty-state__title{
    margin: 0;
    color: #252932;
    font-family: 'AppFont', sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.8;
}

.student-empty-state__description{
    margin: 8px 0 0;
    color: #737b86;
    font-family: 'AppFont', sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 2;
}

.student-empty-state__action{
    width: 100%;
    max-width: 420px;
    margin-top: 20px;
}

.app-result-icon{
    display: grid;
    width: 88px;
    height: 88px;
    margin: 0 auto 24px;
    place-items: center;
    border-radius: 50%;
}

.app-result-icon svg{
    display: block;
    width: 48px;
    height: 48px;
}

.app-result-icon--success{
    background: #eaf8ef;
    color: #1f9d55;
}

.app-result-icon--danger{
    background: #feeeee;
    color: #d00606;
}

.app-result-icon--pending{
    background: #fff7dc;
    color: #d89b00;
}

.app-result-layout-host{
    display: flex;
    flex-direction: column;
}

.app-result-standalone{
    display: flex;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    padding: 24px var(--app-page-gutter);
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    background: #f7f8fa;
    color: #202631;
    font-family: 'AppFont', sans-serif;
}

.app-result-page{
    display: flex;
    flex: 1 1 auto;
    min-height: 100%;
    padding: 32px 0;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    text-align: center;
}

.app-result-content{
    width: 100%;
}

.app-result-title{
    max-width: 520px;
    margin: 0 auto;
    color: #252932;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
}

.app-result-description{
    max-width: 520px;
    margin: 10px auto 0;
    color: #737b86;
    font-size: 14px;
    font-weight: 400;
    line-height: 2;
}

.app-result-actions{
    --app-field-focus-color: var(--app-user-theme-color);
    --app-field-focus-ring: rgba(var(--app-user-theme-rgb), .12);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    margin-top: 28px;
}

.app-result-actions--single{
    grid-template-columns: minmax(0, 1fr);
}
.coach-empty-title{
    color: #666;
    font-size: 14px;
    font-weight: 300;
}
.coach-empty-add-btn{
    min-height: 46px;
    border: 0;
    border-radius: 12px;
    background: var(--app-user-theme-color);
    color: #fff;
    font: inherit;
    font-size: 14px;
}
.coach-empty-add-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    margin-top: 22px;
    padding: 0 22px;
    text-decoration: none;
}
.coach-empty-add-btn:hover,
.coach-empty-add-btn:focus{
    color: #fff;
    text-decoration: none;
}
.coach-option-status{
    display: block;
    margin-top: 2px;
    color: #888;
    font-size: 11px;
    font-weight: 300;
}
.coach-lookup-page{
    padding: 24px 0 80px;
}
.coach-lookup-form{
    padding: 20px;
    border: 1px solid #ebecee;
    border-radius: 16px;
    background: #fff;
}
.coach-lookup-label{
    display: block;
    margin-bottom: 10px;
    color: #333;
    font-size: 14px;
    font-weight: 400;
    text-align: right;
}
.coach-lookup-input{
    width: 100%;
    height: 50px;
    margin: 0;
    padding-left: 44px;
    box-sizing: border-box;
}
.coach-lookup-input-holder{
    position: relative;
}
.coach-lookup-input-holder > .normal-input-close-btn{
    top: 0;
    bottom: 0;
    left: 6px;
    display: flex;
    width: 32px;
    height: auto;
    margin: 0 !important;
    padding: 0;
    align-items: center;
    justify-content: center;
    transform: none;
}
.coach-lookup-input-holder > .normal-input-close-btn img{
    display: block;
    width: 18px;
    height: 18px;
    margin: 0;
}
.coach-lookup-feedback{
    min-height: 20px;
    margin-top: 7px;
    color: #c00;
    font-size: 12px;
    line-height: 20px;
    text-align: right;
}
.coach-lookup-submit{
    width: 100%;
    min-height: 48px;
    margin-top: 7px;
    border: 0;
    border-radius: 12px;
    background: var(--app-field-focus-color);
    color: #fff;
    font: inherit;
    font-size: 14px;
}
.coach-lookup-result{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 18px;
    padding: 26px 20px 20px;
    border: 1px solid #ebecee;
    border-radius: 18px;
    background: #fff;
    text-align: center;
}
.coach-lookup-actions{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
    margin-top: 22px;
}
.coach-lookup-actions form{
    margin: 0;
}
.menu-holder .menu-item{
    min-height: 60px;
    align-items: center;
    padding-top: 19px;
    padding-bottom: 19px;
    border-top: solid 1px #ebecee;
    box-sizing: border-box;
}

.menu-holder .menu-item-icon{
    display: flex;
    align-items: center;
}
.student-menu-item-value{
    color: var(--app-user-theme-color);
    font-family: 'AppFont', sans-serif;
    font-size: 13px;
    font-weight: 500;
}
.student-menu-holder{
    padding-bottom: 20px;
}
.student-menu-holder.has-menu-primary-action{
    padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px));
}
.menu-primary-action{
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    min-height: 64px;
    padding: 0 20px env(safe-area-inset-bottom, 0px);
    border-top: 1px solid #dfe1e3;
    background: #eef6ff;
    color: #000;
    font-family: 'AppFont', sans-serif;
    font-size: 13px;
    font-weight: 400;
    text-decoration: none;
    box-sizing: content-box;
    z-index: 3;
}
.menu-primary-action:hover,
.menu-primary-action:focus{
    color: #000;
    text-decoration: none;
}
.menu-primary-action i{
    width: 30px;
    font-size: 14px;
    text-align: center;
}
.menu-holder.active{
    right: auto;
    left: 0;
    transform: translateX(0);
    visibility: visible;
    transition: transform 350ms ease, visibility 0s linear 0s;
}
html.main-menu-open,
body.main-menu-open{
    overflow: hidden;
    overscroll-behavior: none;
    touch-action: none;
}
body.main-menu-open{
    position: fixed;
    right: 0;
    left: 0;
    width: 100%;
}
body.main-menu-open .train-footer,
body.main-menu-open .coach-home-footer{
    display: none !important;
}
@media (prefers-reduced-motion: reduce){
    .menu-holder{
        transition-duration: 0.01ms;
    }
}
.close-btn-user{

    width: 25px;
}
.form-control:focus,#birthday:focus{
    border-color: #c1c1c1 !important;
    box-shadow: none !important;
    border-bottom:solid 3px #5e30eb !important;
}
.specialClass{
    height: 56px !important;
}
.ms-mobile-select .ms-gray-layer{
    background: rgba(0, 0, 0, 0.4) !important;
}
.error-border,.error-border-sec,.error-border-cus{
    border: solid 1px red !important;
}
.error-message,.natCodeError{
    color: red;
    font-size: 12px;
}

.set-plan-field-error{
    display: block;
    min-height: 18px;
    margin-top: 5px;
    line-height: 1.5;
    text-align: right;
}
.SubmitPlanLoadin{
    text-align: center;
    padding: 10px;
    font-size: 12px;
}
.app-main-nav{
    position: fixed;
    right: auto;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    left: 50%;
    width: calc(100% - 24px);
    max-width: 744px;
    min-height: 72px;
    display: flex;
    align-items: stretch;
    padding: 6px;
    border: 1px solid #ebecee;
    border-radius: 26px;
    background: #fff;
    box-sizing: border-box;
    box-shadow: 0 8px 24px rgba(23, 30, 44, .12);
    transform: translateX(-50%);
    z-index: 40;
}

.app-main-nav--student{
    --app-main-nav-accent: var(--app-user-theme-color);
    --app-main-nav-active-background: #eef3ff;
}

.app-main-nav--coach{
    --app-main-nav-accent: #d00606;
    --app-main-nav-active-background: #fff0f0;
}

.app-main-nav .app-main-nav__item{
    flex: 1 1 25%;
    width: auto !important;
    min-width: 0;
    margin: 0;
    padding: 6px 2px !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    line-height: 1.5;
    text-decoration: none;
    box-sizing: border-box;
    gap: 3px;
    color: #000;
    font-family: 'AppFont', sans-serif;
    font-size: 11px;
    transform: none !important;
    top: auto !important;
    margin-top: 0 !important;
    transition: color 160ms ease, background-color 160ms ease;
}

.app-main-nav .app-main-nav__item.active{
    color: var(--app-main-nav-accent) !important;
    background: var(--app-main-nav-active-background);
    transform: none !important;
}

.app-icon{
    --app-icon-stroke-width: 2.7;
    display: inline-block;
    width: var(--app-icon-size, 24px);
    height: var(--app-icon-size, 24px);
    flex-shrink: 0;
    vertical-align: middle;
}

.app-icon__outline,
.app-icon__filled{
    stroke-width: var(--app-icon-stroke-width);
}

.app-icon__filled{
    display: none;
}

.app-icon--filled .app-icon__outline,
.app-main-nav__item.active .app-icon--auto .app-icon__outline{
    display: none;
}

.app-icon--filled .app-icon__filled,
.app-main-nav__item.active .app-icon--auto .app-icon__filled{
    display: inline;
}

.menu-holder .menu-item-icon .app-icon{
    color: var(--app-menu-icon-color, #000);
}

.app-main-nav .train-footer-icon,
.app-main-nav .coach-footer-icons{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: inherit;
}

.app-navigation-badge{
    position: absolute;
    top: -8px;
    left: -12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    box-sizing: border-box;
    border: 2px solid #fff;
    border-radius: 999px;
    background: var(--app-main-nav-accent);
    color: #fff;
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

.app-navigation-badge[hidden]{
    display: none !important;
}

.app-confirmation-sheet{
    padding: 20px;
}

.app-confirmation-sheet__title{
    color: #242424;
    font-family: 'AppFont', sans-serif;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
}

.app-confirmation-sheet__message{
    margin-top: 10px;
    color: #6f7680;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.8;
    text-align: center;
}

.app-confirmation-sheet__actions{
    margin-top: 20px;
}

.app-date-time{
    display: inline-block;
    direction: ltr;
    unicode-bidi: isolate;
}

.coach-request-card{
    margin-bottom: 12px;
    padding: 16px 20px;
    color: #242424;
    text-align: right;
}

.app-plan-summary{
    direction: rtl;
    text-align: right;
}

.coach-request-card__detail-row{
    display: flex;
    font-size: 12px;
    font-weight: 400;
    color: #000;
    direction: rtl;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.coach-request-card__detail-row > span:first-child{
    flex-shrink: 0;
    color: #808080;
    font-weight: 400;
}

.coach-request-card__detail-value{
    min-width: 0;
    text-align: left;
    overflow-wrap: anywhere;
    font-weight: 500;
}

.coach-request-card__need{
    margin-top: 7px;
    color: #000;
    font-size: 12px;
    font-weight: 400;
}

.app-surface-card .app-plan-summary .coach-request-card__type{
    color: #000;
    margin-top: 7px;
    font-size: 12px;
    font-weight: 400;
}

.coach-request-card__divider{
    height: var(--app-surface-card-border-width);
    margin: 14px 0;
    background: var(--app-surface-card-border-color);
}

.coach-request-card__date-row{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 9px;
    color: #626a75;
    font-size: 11px;
    font-weight: 400;
}

.coach-request-card__date-row:first-of-type{
    margin-top: 0;
}

.coach-request-card__date-row + .coach-request-card__divider{
    margin-top: 7px;
}

.coach-request-card__status{
    text-align: center;
    color: #8a5b00;
    font-size: 13px;
    font-weight: 400;
}

.coach-request-card__status--deny,
.coach-request-card__status--cancel{
    color: #d00606;
}

.app-plan-status--waiting,
.coach-request-card__status--waiting,
.app-plan-status--writing,
.coach-request-card__status--insert-now,
.coach-request-card__status--insert-next,
.app-plan-status--payment,
.coach-request-card__status--now-pay,
.coach-request-card__status--next-pay{
    color: #d00606;
}

.app-plan-status--finished,
.coach-request-card__status--finish{
    color: #15803d;
}

.coach-completed-plans__more{
    display: flex;
    justify-content: center;
    padding: 4px 0 20px;
}

.student-meal-title{
    display: flex;
    align-items: center;
    gap: 9px;
}

.meal-type-icon{
    display: inline-flex;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--app-user-soft-background);
    color: var(--app-user-theme-color, #1f4f7f);
}

.meal-type-icon svg{
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.preset-name-combobox{
    position: relative;
}

.app-repeatable-fields{
    --app-form-section-gap: 20px;
    --app-repeatable-field-gap: 10px;
}

.app-repeatable-field-list > .app-repeatable-field-row:first-child{
    margin-top: var(--app-form-section-gap);
}

.app-repeatable-field-list > .app-repeatable-field-row + .app-repeatable-field-row{
    margin-top: var(--app-repeatable-field-gap);
}

.app-repeatable-fields .app-repeatable-field-action{
    margin-top: var(--app-form-section-gap, 20px);
    padding-top: 0;
    padding-bottom: 0;
}

.preset-name-combobox__control{
    position: relative;
}

.preset-name-combobox__control .normal-input{
    padding-left: 44px;
}

.preset-name-combobox__toggle{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 4px;
    display: inline-flex;
    width: 40px;
    padding: 0;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: #6f7680;
}

.preset-name-combobox__toggle svg{
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .18s ease;
}

.preset-name-combobox.is-open .preset-name-combobox__toggle svg{
    transform: rotate(180deg);
}

.preset-name-combobox__options{
    position: absolute;
    z-index: 20;
    top: calc(100% - 4px);
    right: 0;
    left: 0;
    max-height: 230px;
    padding: 5px;
    overflow-y: auto;
    border: 1px solid var(--app-field-border-color);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(20, 27, 38, .1);
}

.preset-name-combobox__option{
    display: flex;
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #242424;
    font-family: inherit;
    font-size: 13px;
    text-align: right;
}

.preset-name-combobox__option:hover,
.preset-name-combobox__option:focus-visible{
    background: #f4f4f6;
    outline: none;
}

.preset-name-combobox__option svg{
    visibility: hidden;
    width: 16px;
    height: 16px;
    fill: none;
    stroke: #242424;
    stroke-width: 2.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.preset-name-combobox__option[aria-selected="true"] svg{
    visibility: visible;
}

.coach-completed-plans__more-button{
    position: relative;
    width: min(100%, 220px);
}

.coach-completed-plans__more-button.is-loading{
    color: transparent !important;
    pointer-events: none;
}

.coach-completed-plans__more-button.is-loading::after{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    border: 2px solid var(--app-coach-theme-color, #d00606);
    border-top-color: transparent;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: app-submit-spinner-rotation .75s linear infinite;
}

.app-plan-progress{
    display: flex;
    align-items: center;
    direction: rtl;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    font-size: 12px;
    font-weight: 400;
}

.app-plan-progress__step{
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
    color: #73777c;
}

.app-plan-progress__step:last-child{
    flex: 0 0 auto;
}

.app-plan-progress__item{
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.app-plan-progress__dot{
    display: inline-block;
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
    border: 1px solid #b6bac0;
    border-radius: 50%;
    box-sizing: border-box;
    background: transparent;
}

.app-plan-progress__line{
    flex: 1;
    min-width: 6px;
    height: 1px;
    margin: 0 6px;
    background: #d5d8dd;
}

.app-plan-progress__step.is-current,
.app-plan-progress__step.is-complete{
    color: #d00606;
}

.app-plan-progress__step.is-current .app-plan-progress__dot,
.app-plan-progress__step.is-complete .app-plan-progress__dot{
    border-color: currentColor;
}

.app-plan-progress__step.is-complete .app-plan-progress__dot,
.app-plan-progress__step.is-complete .app-plan-progress__line{
    background: currentColor;
}

.app-plan-progress-result{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 12px;
    color: #d00606;
}

.app-plan-progress-result.is-finished{
    color: #15803d;
}

.app-plan-progress-result.is-finished .app-plan-progress__dot{
    background: currentColor;
    border-color: currentColor;
}

.coach-user-avatar-frame{
    width: 80px;
    height: 80px;
    flex: 0 0 80px;
    overflow: hidden;
    border: 1px solid var(--app-surface-card-border-color);
    border-radius: 50%;
    background: var(--app-surface-card-border-color);
}

.coach-user-avatar-frame img,
.coach-users-info .coach-user-avatar-frame img{
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 50%;
    object-fit: cover;
}

.coach-user-avatar-frame img.is-default{
    object-fit: cover;
    /* Crop the white margin embedded in the fallback asset, inside the circular frame. */
    transform: scale(1.1);
}

.train-footer-icon,
.coach-footer-icons{
    height: 20px;
    margin: 0 !important;
    font-size: 18px;
    line-height: 20px;
}

body:has(.app-main-nav) .main_content{
    padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px));
}

.profile-logout-holder{
    padding: 24px 20px calc(90px + env(safe-area-inset-bottom));
    text-align: center;
}

.profile-logout-link{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    border: 1px solid #ebecee;
    border-radius: 12px;
    background: #fff;
    color: #d00606;
    font-size: 14px;
    text-decoration: none;
}
.student-plan-list{
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
}



.container0 {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.input-item-holder.readonly .normal-mobile-selector,.normal-input:disabled{
    border: 0;
}
.normal-input, .normal-mobile-selector{
    padding-top: 15px;
    padding-bottom: 15px;
}

.div_actions_img_dash{
    float: left;
    width: 120px;
}
.div_actions_img_dash img{
    width: 100%;
    border-radius: 15px;
    max-height: 100px;
}
.train-item{
    overflow: hidden;
}

.student-plan-list {
    margin-left: -20px;
    margin-right: -20px;
    width: calc(100% + 40px);
}

.student-plan-list .student-plan-item {
    display: flex;
    align-items: center;
    gap: 16px;
    direction: ltr;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    margin-bottom: 0;
    min-height: var(--app-plan-row-min-height);
    padding: 16px 20px;
    width: 100%;
}

.student-plan-list .student-plan-item__content{
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: center;
    gap: var(--app-plan-content-gap);
    direction: rtl;
    text-align: right;
}

.student-plan-list .student-plan-item > .div_actions_img_dash{
    float: none;
    flex: 0 0 120px;
    width: 120px;
    margin: 0;
}

.app-plan-item-title{
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    color: var(--app-plan-title-color);
    font-size: var(--app-plan-title-size);
    font-weight: var(--app-plan-title-weight);
    line-height: 1.7;
}

.student-superset-member-index{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--app-user-soft-background);
    color: var(--app-user-theme-color, #1f4f7f);
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 24px;
    text-align: center;
    direction: ltr;
}

.app-plan-item-meta{
    margin: 0;
    padding: 0;
    color: var(--app-plan-meta-color);
    font-size: var(--app-plan-meta-size);
    font-weight: var(--app-plan-meta-weight);
    line-height: 1.7;
}

.student-plan-list .train-item-food00 .super-set-split-user,
.student-plan-list .train-item-protein .protein-description-divider{
    padding-top: 2px;
    padding-bottom: 2px;
}

.student-plan-list .student-plan-item ~ .student-plan-item {
    border-top: 0;
    background-image: linear-gradient(var(--app-list-item-divider-color), var(--app-list-item-divider-color));
    background-position: top center;
    background-repeat: no-repeat;
    background-size: calc(100% - 40px) 1px;
}

.student-plan-list .student-superset-start{
    flex-wrap: wrap;
    row-gap: 8px;
    border-top-color: var(--app-list-item-divider-color);
}

.student-plan-list .student-superset-member{
    padding-right: 20px;
    border-right: 2px solid var(--app-list-item-divider-color);
    overflow: visible;
}

.student-plan-list .student-superset-member:not(.student-superset-start){
    position: relative;
    margin-top: 0;
    padding-top: 14px;
    border-top: 0 !important;
    background-image: none;
}

.student-plan-list .student-superset-member:not(.student-superset-start)::before{
    content: "+";
    position: absolute;
    top: -6px;
    right: auto;
    left: 50%;
    display: grid;
    place-items: center;
    width: 14px;
    height: 14px;
    z-index: 1;
    transform: translateX(-50%);
    background: #fff;
    box-shadow: 0 0 0 4px #fff;
    color: var(--app-plan-meta-color);
    font-family: Arial, sans-serif;
    font-size: var(--app-plan-meta-size);
    font-weight: var(--app-plan-meta-weight);
    line-height: 1;
}

.student-plan-list .student-superset-member:not(.student-superset-start)::after{
    content: "";
    position: absolute;
    top: 0;
    right: 20px;
    left: 20px;
    border-top: 1px solid var(--app-nested-item-divider-color);
}

.student-plan-list .student-superset-member.student-superset-end:last-child{
    border-bottom: 0;
    background-image: linear-gradient(var(--app-list-item-divider-color), var(--app-list-item-divider-color));
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: calc(100% - 40px) 1px;
}

.student-superset-label{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex: 0 0 100%;
    order: -1;
    width: 100%;
    min-height: 38px;
    padding: 7px 10px;
    margin-bottom: 0;
    border-radius: 10px;
    direction: rtl;
    background: var(--app-user-soft-background);
    color: var(--app-user-theme-color, #1f4f7f);
    font-size: 12px;
}

.student-superset-label__badge{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--app-user-theme-color, #1f4f7f);
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
}

.student-superset-label__badge svg{
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
}

.student-superset-label__description{
    color: #737f88;
    font-size: 12px;
    font-weight: 400;
    text-align: left;
}

.select_session_plan{
    position: absolute;
    top: 6px;
    right: 20px;
    left: auto;
    width: 153px;
    height: 44px !important;
    margin: 0;
    font-size: 14px;
    line-height: normal;
    direction: rtl;
    text-align: right;
    z-index: 10;
}

.session-picker-trigger{
    position: absolute;
    top: 6px;
    left: 50%;
    right: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    max-width: calc(100% - 130px);
    height: 44px;
    padding: 0 8px;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #222;
    font: inherit;
    font-size: 15px;
    line-height: 1;
    transform: translateX(-50%);
    z-index: 10;
    cursor: pointer;
}

.session-picker-title{
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.session-picker-chevron{
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.app-header-pill{
    height: 32px;
    min-height: 32px;
    padding: 0 12px;
    border: 0;
    border-radius: 999px;
    background: #f4f4f6;
    color: var(--app-user-theme-color, #1f4f7f);
    font-family: 'AppFont', sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 32px;
}

.student-plan-header-control{
    top: 12px;
}

.app-header-pill .session-picker-chevron,
.coach-selector-trigger.app-header-pill svg{
    flex-basis: 15px;
    width: 15px;
    height: 15px;
}

.other-picker-menu{
    position: absolute;
    top: 58px;
    left: 50%;
    right: auto;
    width: min(230px, calc(100% - 40px));
    padding: 8px 14px;
    border: 1px solid #f0f0f0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .13);
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(-6px) scale(.98);
    transform-origin: top center;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index: 45;
}

.other-picker-menu.is-open{
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0) scale(1);
}

.app-popover-backdrop{
    position: fixed;
    inset: 0;
    z-index: 1200;
    border: 0;
    background: rgba(18, 24, 32, .06);
    touch-action: manipulation;
}

.app-popover-backdrop[hidden]{
    display: none;
}

.other-picker-wrap.is-popover-active{
    position: relative;
    z-index: 1201;
}

.other-picker-wrap.student-plan-header-picker.is-popover-active{
    position: static;
}

.other-picker-wrap.is-popover-active .other-picker-menu{
    z-index: 1202;
}

.other-picker-option{
    display: block;
    padding: 15px 10px;
    border-bottom: 1px solid #ebecee;
    color: #222;
    font-family: 'AppFont', sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.7;
    text-align: center;
    text-decoration: none;
}

.other-picker-option:last-child{
    border-bottom: 0;
}

.other-picker-option.active{
    color: #5e30eb;
}

/* Shared popover appearance, anchored to a card instead of the header center. */
.app-card-picker{
    position: relative;
    overflow: visible;
}

.app-card-picker > .plan-users-info{
    flex: 1;
    min-width: 0;
}

.app-card-picker__menu{
    top: calc(100% + 4px);
    right: 0;
    left: auto;
    max-width: 100%;
    transform: translateY(-6px) scale(.98);
    transform-origin: top right;
}

.app-card-picker__menu.is-open{
    transform: translateY(0) scale(1);
}

.other-picker-menu button.other-picker-option{
    width: 100%;
    border-top: 0;
    border-right: 0;
    border-left: 0;
    background: transparent;
    cursor: pointer;
}

.other-picker-menu button:disabled{
    opacity: .5;
    cursor: default;
}

/* Shared action header: back/title at right, confirm/overflow at left. */
.app-action-header .header-bar-sub{
    position: relative;
    direction: rtl;
    gap: 0;
    height: 36px;
    min-height: 36px;
}

.app-action-header .header-bar-title{
    position: static;
    flex: 1;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 0 0 0 8px;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transform: none;
}

.app-action-header__confirm,
.app-action-header__more{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 var(--app-header-touch-target);
    width: var(--app-header-touch-target);
    height: 36px;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 15px;
    font-weight: 400;
    cursor: pointer;
}

.app-action-header__confirm::after,
.app-action-header__more::after{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: max(100%, var(--app-header-touch-target));
    height: var(--app-header-touch-target);
    transform: translate(-50%, -50%);
}

.app-action-header__more{
    flex-basis: var(--app-header-touch-target);
    width: var(--app-header-touch-target);
    justify-content: flex-end;
    color: #222;
}

.app-action-header__confirm:has(+ .app-action-header__more){
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    padding-inline: var(--app-header-action-gap);
    justify-content: center;
    transform: translateX(calc(-1 * var(--app-header-confirm-toward-more)));
}

.app-action-header__confirm:last-child{
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    padding-inline: 0;
}

.app-action-header__confirm:not(.app-action-header__status){
    font-size: 14px;
    font-weight: 500;
}

.app-action-header__status{
    flex-basis: auto;
    width: auto;
    min-width: 0;
    padding-inline: var(--app-header-action-gap);
    color: #6f737a;
    cursor: default;
    white-space: nowrap;
}

.app-action-header__status.is-active{
    color: #218838;
}

.app-action-header__more svg{
    width: 22px;
    height: 22px;
    fill: currentColor;
    transform: translateX(-42.5%);
}

.app-action-header__menu{
    top: calc(100% + 8px);
    left: 0;
    right: auto;
    width: min(280px, 100%);
    max-height: 65vh;
    overflow-y: auto;
    transform: translateY(-6px) scale(.98);
    transform-origin: top left;
}

.app-action-header__menu.is-open{
    transform: translateY(0) scale(1);
}

/* Shared Bottom Sheet reference: use <x-bottom-sheet> and data-bottom-sheet-* attributes. */
.app-bottom-sheet{
    position: fixed;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    padding: 0;
    background: rgba(0, 0, 0, .42);
    transition: opacity .22s ease, visibility .22s ease;
    z-index: 90;
}

.app-bottom-sheet.is-open{
    display: flex !important;
    visibility: visible;
    opacity: 1;
}

.app-bottom-sheet__panel{
    position: relative;
    width: 100%;
    max-width: 100%;
    max-height: 70dvh;
    overflow-y: auto;
    padding: 9px 18px calc(16px + env(safe-area-inset-bottom));
    border-radius: 22px 22px 0 0;
    background: #fff;
    box-sizing: border-box;
    transform: translateY(100%);
    transition: transform .25s cubic-bezier(.2, .8, .2, 1);
    will-change: transform;
}

.app-bottom-sheet.is-open .app-bottom-sheet__panel{
    transform: translateY(var(--app-bottom-sheet-drag-y, 0px));
}

.app-bottom-sheet__panel.is-dragging{
    transition: none;
}

.app-bottom-sheet__handle{
    position: relative;
    width: 48px;
    height: 24px;
    margin: -5px auto 3px;
    cursor: grab;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.app-bottom-sheet__handle::after{
    content: '';
    position: absolute;
    top: 10px;
    left: 5px;
    width: 38px;
    height: 4px;
    border-radius: 4px;
    background: #d2d2d7;
}

.app-bottom-sheet__handle:active{
    cursor: grabbing;
}

.app-bottom-sheet__close{
    position: absolute;
    top: 4px;
    left: 8px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #777f8a;
    cursor: pointer;
    z-index: 2;
    -webkit-tap-highlight-color: transparent;
    transition: background-color .15s ease;
}

.app-bottom-sheet__close::before,
.app-bottom-sheet__close::after{
    content: '';
    position: absolute;
    top: 19px;
    left: 12px;
    width: 16px;
    height: 1.5px;
    border-radius: 2px;
    background: currentColor;
}

.app-bottom-sheet__close::before{
    transform: rotate(45deg);
}

.app-bottom-sheet__close::after{
    transform: rotate(-45deg);
}

.app-bottom-sheet__close:focus-visible{
    outline: 1px solid color-mix(in srgb, var(--app-field-focus-color, currentColor) 55%, transparent);
    outline-offset: -3px;
}

.app-bottom-sheet__close:active{
    background-color: rgba(119, 127, 138, .12);
}

@media (hover: hover) and (pointer: fine){
    .app-bottom-sheet__close:hover{
        background-color: rgba(119, 127, 138, .08);
    }
}

.session-picker-options{
    direction: rtl;
}

.session-picker-option{
    position: relative;
    display: block;
    width: 100%;
    min-height: 52px;
    padding: 12px 38px;
    border: 0;
    border-top: 1px solid #ededed;
    background: transparent;
    color: #252525;
    font: inherit;
    font-size: 15px;
    text-align: center;
    cursor: pointer;
}

.session-picker-option.active{
    color: #252525;
    font-weight: inherit;
}

.session-picker-option.active::after{
    content: '\2713';
    position: absolute;
    top: 50%;
    right: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #5e30eb;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-50%);
}

.student-session-picker-option{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 12px 10px 12px 42px;
    text-align: right;
}

.student-session-picker-option.active::after{
    display: none;
}

.student-session-picker-option__title{
    min-width: 0;
    flex: 1 1 auto;
    text-align: right;
}

.student-session-picker-option__check{
    position: absolute;
    top: 50%;
    left: 10px;
    margin: 0;
    transform: translateY(-50%);
}

.coach-selector-sheet .session-picker-option{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 56px;
    padding: 12px 10px;
    border-top: 0;
    box-sizing: border-box;
    text-align: right;
}

.coach-selector-sheet .session-picker-option.active::after{
    display: none;
}

.coach-selector-sheet .session-picker-options > form{
    margin: 0;
}

.coach-selector-sheet .session-picker-options > form + form .session-picker-option{
    border-top: 1px solid #ededed;
}

.session-picker-option:first-child{
    border-top: 0;
}

body.app-bottom-sheet-open{
    overflow: hidden;
}

@media (prefers-reduced-motion: reduce){
    .app-bottom-sheet,
    .app-bottom-sheet__panel{
        transition: none;
    }
}

.train-detail-sheet{
    padding: 9px 18px calc(22px + env(safe-area-inset-bottom));
}

.train-detail-content{
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.train-detail-sheet .train-detail-img-holder img{
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 52dvh;
    margin: 0 auto;
    object-fit: contain;
}

.train-detail-sheet .train-detail-title{
    margin: 0;
    line-height: 1.5;
    text-align: center;
}

.payment-sheet{
    padding: 9px 20px calc(18px + env(safe-area-inset-bottom));
}

.payment-sheet__title{
    margin: 5px 0 18px;
    color: #242424;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
}

.payment-sheet__summary{
    padding: 16px;
    border: var(--app-surface-card-border-width) solid var(--app-surface-card-border-color);
    border-radius: var(--app-surface-card-radius);
    background: var(--app-surface-card-background);
}

.payment-sheet__total,
.payment-sheet__total > span:first-child{
    font-weight: 500;
}

.payment-gateway-list{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 18px 0 0;
    padding: 0;
    border: 0;
}

.payment-gateway-list__title{
    width: 100%;
    margin-bottom: 0;
    color: #808080;
    font-size: 12px;
    font-weight: 400;
    text-align: right;
}

.payment-gateway-option input{
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.payment-gateway-option label{
    display: flex;
    width: 84px;
    height: 72px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 7px;
    border: 1px solid var(--app-surface-card-border-color);
    border-radius: 12px;
    background: #fff;
    color: #242424;
    font-size: 12px;
    cursor: pointer;
}

.payment-gateway-option img{
    display: block;
    max-width: 62px;
    max-height: 58px;
    object-fit: contain;
}

.payment-gateway-option input:checked + label{
    border-color: var(--app-field-focus-color);
}

.payment-gateway-option input:focus-visible + label{
    outline: 2px solid var(--app-field-focus-color);
    outline-offset: 2px;
}

.payment-sheet__actions{
    margin-top: 22px;
}

.train-preview-sheet{
    padding: 9px 18px calc(22px + env(safe-area-inset-bottom));
}

.train-preview-sheet__media{
    position: relative;
    display: flex;
    min-height: min(52dvh, 420px);
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-sizing: border-box;
    border: var(--app-surface-card-border-width) solid var(--app-surface-card-border-color);
    border-radius: var(--app-surface-card-radius);
    background: #fff;
}

.train-preview-sheet__image{
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 52dvh;
    margin: 0 auto;
    object-fit: contain;
}

.train-preview-sheet__loading,
.train-preview-sheet__error{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 20px;
    color: #777d85;
    font-size: 13px;
    font-weight: 300;
    text-align: center;
}

.train-preview-sheet__loading[hidden],
.train-preview-sheet__error[hidden],
.train-preview-sheet__image[hidden],
.train-preview-sheet__meta[hidden]{
    display: none;
}

.train-preview-sheet__spinner{
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    box-sizing: border-box;
    border: 2px solid #d8dadd;
    border-top-color: var(--app-coach-theme-color);
    border-radius: 50%;
    animation: app-preview-spin .75s linear infinite;
}

.train-preview-sheet__title{
    margin-top: 13px;
    color: #242424;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
}

.train-preview-sheet__meta{
    margin-top: 5px;
    color: #777d85;
    font-size: 12px;
    font-weight: 300;
    text-align: center;
}

@keyframes app-preview-spin{
    to{ transform: rotate(360deg); }
}

.superset-holders,.train-item-sub-super{
    padding-right: 15px;
    border-right: solid 1px #5e30eb !important ;
    border-radius: 5px;
}
.train-item-sub-super{
    margin-right: 15px;
}

.main_content{
    position: relative;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    margin: auto;
    padding-right: var(--app-page-gutter);
    padding-left: var(--app-page-gutter);
    box-sizing: border-box;
}

/* Shared horizontal rhythm for student and coach page layouts. */
.main_content > .container,
.main_content > .container0,
.main_content > .container00,
.main_content > .container000{
    width: 100%;
    max-width: none;
    padding-right: 0 !important;
    padding-left: 0 !important;
    box-sizing: border-box;
}

/* Absolute page headers must reserve their own vertical space. */
.main_content:has(> .header-bar-holder){
    padding-top: calc(var(--app-header-height) + var(--app-header-content-gap));
}

/* The legacy layout spacer is unnecessary when the shared page header owns the top rhythm. */
.main_content:has(> .header-bar-holder) > br:first-of-type{
    display: none;
}

/* Mobile/tablet stay fluid; desktop uses one centered application shell. */
@media (min-width: 1024px) {
    html,
    body{
        background: #fff;
    }

    .main_content,
    .app-page-actions {
        max-width: 768px;
        background: #fff;
    }

    .menu-holder{
        left: 50%;
        width: 768px;
        max-width: 100vw;
        transform: translateX(-150%);
    }

    .menu-holder.active{
        left: 50%;
        transform: translateX(-50%);
    }

    .app-bottom-sheet__panel{
        width: 768px;
        max-width: 100vw;
    }

}

.status-user-pln-red{
    color: red;
}

.btn-half{
    width: calc(50% - 5px) !important;
    margin: 0;
}

.btn-half + .btn-half{
    margin-inline-start: 10px;
}
.normal-input-close-btn{
    margin-left: 10px;
}
.norm-imp-v2:not(select):focus + .normal-input-close-btn{
    opacity: 1;
    margin-left: 15px !important;
    margin-top: -5px;
}

.back_step_4{
    background: #fff;
    position: absolute;
    padding: 5px;
    padding-right: 0;

}

.plan-detail-item .plan-detail-value{
    font-size: 12px;
}

.padding-arrows{
    padding-left: 10px !important;
    padding-right: 10px !important;
}
.back-arrows{
    background: #fff;
    position: absolute;
    width: 100%;
    left: 0;
    margin-top: -21px;
}
.back-arrows .main_content{
    padding-bottom: 0;
    padding-top: 0;
}


.train-pg-desc, .train-pg-title{
    margin-right: 0;
    padding-bottom: 10px;
}

.btn-set-delete-food{
    height: 32px;
    margin-top: 7px !important;
    display: inline-block !important;
    width: 34px;
}

.btn.focus, .btn:focus{
    box-shadow: none !important;
}
.food-or-split-holder{
    display: flex;
    padding: 10px 0;
    font-size: 12px;
}
.food-or-split{
    border-bottom: solid 1px var(--app-nested-item-divider-color);
    height: 20px;
    width: 100%;
    margin-top: -6px;
    margin-right: 10px;
}

.menu-user-status{
    font-size: 11px;
    background: #efefef;
    border-radius: 4px;
    padding: 2px 5px;
    margin-right: 5px;
}
.payment-items-holder{
    padding: 15px 0;
    border-bottom: solid 1px #ccc;
    font-size: 12px;
}
.session-option-plan-type{
    padding-top: 12px;
}

.img-plan-item{
    max-width: 100%;
    border: solid 1px #efefef;
}

.super-set-split-user{
    display: flex;
}
.super-set-split-user-line{

    width: 100%;
    border-bottom: solid 1px var(--app-nested-item-divider-color);
    margin-right: 10px;
    height: 10px;
    margin-top: 5px;
}
.super-set-split-user{
    overflow: hidden;
    padding: 10px 0;
    clear: both;
}

.factorDetail{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #fff;
}

.normalSelectGym{
    height: 56px !important;
}

.menu-user-title-user{
    padding-top: 10px;
}
.add-coach-title{
    margin-bottom: 20px !important;
}
.arrow-holder-settings .normal-link-with-arrow i{
    padding-top: 5px;
}
.plan-detail-main,.plan-pg-detail-main {
    padding: 0 !important;
}
.plan-detail-holder.app-surface-card{
    padding: 16px;
}
.plan-detail-holder .plan-detail-item{
    align-items: baseline;
    gap: 18px;
    padding: 7px 0;
}
.plan-detail-holder .plan-detail-title{
    flex: 0 0 38%;
    width: auto;
    color: #777f8a;
    font-size: 14px;
    font-weight: 300;
}
.plan-detail-holder .plan-detail-value{
    flex: 1 1 auto;
    width: auto !important;
    color: #252932;
    font-size: 14px;
    font-weight: 500;
    text-align: left;
}
.plan-detail-item .plan-detail-value,.plan-pg-value{
    width: 80% !important;
}
.plan-confirm-desc{
    font-size: 10px !important;
}
.plan-pg-detail-main .plan-pg-item{
    padding: 1px 0;
}
.plan-pg-detail-main{
    margin-top: 0;
}
.plan-pg-detail-main i{
    padding-top: 6px !important;
}
.plan-pg-detail-main-student{
    padding: 10px !important;
}
.left-arrow-desc{
    float: left;
    color: #3a3a3a;
    font-size: 11px;
    padding-left: 15px;
}
.active_train_sets_holder{
    margin-bottom: 30px;
}
.active_train_holder_0,.active_train_sets_holder{
    border-right: solid 3px #5e30eb !important;
    border-bottom-right-radius: 10px;
    border-top-right-radius: 10px;
    padding-right: 10px;
}
.active_train_sets_holder .train-dt-item{
    border-bottom: solid 3px #5e30eb !important;
}
.train-dt-item .train-pg-title

@media (max-width: 960px) {
    .main_content > .container,
    .main_content > .container0,
    .main_content > .container00,
    .main_content > .container000 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

.regiser-btn-holder{
    display: flex;

}

.app-surface-card--sortable {
    display: flex;
    align-items: center;
    position: relative;
    padding: 10px 14px;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.app-surface-card--sortable > .app-surface-card__content{
    display: flex;
    flex: 1 1 auto;
    align-self: stretch;
    justify-content: center;
}

.app-sortable-card__action {
    align-items: center;
    align-self: stretch;
    background: transparent;
    border: 0;
    color: #777;
    display: flex;
    box-sizing: border-box;
    flex: 0 0 36px;
    justify-content: center;
    margin-right: -8px;
    min-height: 54px;
    padding: 0 4px;
    touch-action: manipulation;
}

.app-sortable-card__action img {
    display: block;
    flex: none;
}

.app-sortable-card__entry img {
    height: 20px;
    width: 20px;
}

.app-sortable-card__handle img {
    height: 22px;
    width: 22px;
}

.app-sortable-card__handle {
    cursor: grab;
    display: none;
    touch-action: none;
}

.app-sortable-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    min-height: 54px;
}

.exercise-sort-card .exercise-card-content .train-pg-title,
.exercise-sort-card .exercise-card-content .train-pg-desc {
    line-height: 1.55;
    padding-bottom: 0;
}

.exercise-sort-card .exercise-card-content .train-pg-title,
.archive-train-dt-item .train-pg-title{
    font-size: 14px;
    font-weight: 500;
}

.exercise-sort-card .exercise-card-content .train-pg-desc,
.archive-train-dt-item .train-pg-desc{
    font-size: 12px;
    font-weight: 300;
}

.exercise-sort-card .exercise-card-content .train-pg-desc {
    margin-top: 6px;
}

.exercise-sort-list.is-reordering .exercise-order-entry {
    display: none;
}

.exercise-sort-list.is-reordering .exercise-drag-handle {
    display: flex;
    position: relative;
    background: transparent;
}

.exercise-sort-list.is-reordering .exercise-drag-handle::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #c4c8ce;
    transform: translate(-50%, -50%);
}

.exercise-sort-list.is-reordering .exercise-drag-handle img {
    position: relative;
    z-index: 1;
    width: 18px;
    height: 18px;
    filter: brightness(0) invert(1);
}

.exercise-sort-list.is-reordering .exercise-sort-card {
    border-color: #c8c8c8;
}

.exercise-sort-list.is-reordering .exercise-sort-card a {
    cursor: default;
}

.exercise-sort-list.is-reordering .exercise-card-content {
    pointer-events: none;
    user-select: none;
}

.exercise-sort-card.is-dragging {
    background: #fff;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.16);
    cursor: grabbing;
    margin: 0;
    pointer-events: none;
    transform: scale(1.015);
}

.exercise-sort-placeholder {
    background: #f2f2f2;
    border: 1px dashed #b9b9b9;
    border-radius: 10px;
    box-sizing: border-box;
    margin-bottom: 10px;
}

.exercise-order-actions {
    background: #fff;
    bottom: 0;
    box-shadow: 0 -3px 12px rgba(0, 0, 0, 0.08);
    display: flex;
    gap: 10px;
    left: 50%;
    padding: var(--app-action-shell-padding-block) var(--app-action-shell-padding-inline) calc(var(--app-action-shell-padding-block) + env(safe-area-inset-bottom, 0px));
    position: fixed;
    width: 100%;
    max-width: 768px;
    box-sizing: border-box;
    transform: translateX(-50%);
    z-index: 1050;
}

.exercise-order-actions[hidden] {
    display: none;
}

.exercise-order-actions button {
    flex: 1;
    min-height: var(--app-action-shell-control-height);
}

.exercise-order-actions button:disabled {
    cursor: wait;
    opacity: 0.55;
}

.exercise-order-cancel {
    border-color: #999 !important;
    color: #666 !important;
}

.exercise-order-feedback {
    background: var(--app-field-focus-color);
    border-radius: 8px;
    bottom: 82px;
    color: #fff;
    left: 50%;
    max-width: 90%;
    opacity: 0;
    padding: 10px 16px;
    pointer-events: none;
    position: fixed;
    text-align: center;
    transform: translate(-50%, 10px);
    transition: opacity 180ms ease, transform 180ms ease;
    z-index: 1060;
}

.exercise-order-feedback.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.exercise-order-feedback.is-error {
    background: #d00606;
}

body.exercise-order-mode {
    padding-bottom: 84px;
}

body.exercise-order-mode .session-add-holder {
    display: none;
}


.width-80{
    width: 95% !important;
}
.train-detail{
    padding: 15px !important;
    bottom: -1000px;
}
.archive{
    border-radius: 45px !important;
}
.btn-add-edit-superset{
    border-radius: 45px !important;
    color: rgb(208, 6, 6) !important;

    height: 47px;
    line-height: 10px;

}

.plan-users-pic img{
    border-radius: 55px;
}
.all_days_span{
    position: absolute;
    top: 6px;
    right: auto;
    left: 50%;
    width: auto;
    max-width: calc(100% - 130px);
    height: 44px;
    margin: 0;
    font-size: 15px;
    line-height: 44px;
    text-align: center;
    transform: translateX(-50%);
    z-index: 10;
}

.all_days_span.student-plan-header-control{
    top: 12px;
    height: 32px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 500;
    line-height: 32px;
}

.train_pg_archive_title{
    padding-bottom: 0 ;
    margin-bottom: 0;
    margin-top: 10px;
}
.train_pg_archive_checkbox{
    margin-top: 15px !important;
}
.train-item-food{
    height: 90px;
}
.train-item-food-active{
    height: auto;
}
.show_more_food_holder{
    text-align: center;
    padding: 5px;
    font-size: 22px;
   margin-top: -12px;

}

.payment-items-holder-user{
    border-bottom: 0;
}

.coach-users-item-new{
    padding-bottom: 15px;
    background: #fff;
    margin-top: 0;
    padding-top: 15px;
    margin-bottom: 15px;
}
.select_filter_sel_holder select{
    padding-right: 10px;
    font-size: 12px;
    height: 52px;
}
.set-add-cus-pd{
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.train-set-toolbar__control{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-height: 40px;
    padding: 0 10px;
    box-sizing: border-box;
}

.protein-description-divider .food-or-split,
.protein-description-divider .super-set-split-user-line{
    height: 0;
    margin: 0;
}

.protein-supplement-summary{
    text-align: right;
}

.rtl-user-holder{
    direction: rtl;
}

.plan-users-pic-profile{
    text-align: center;
    margin-bottom: 15px;
    display: block;
}
.plan-users-pic-profile img{
    border-radius: 45px;
    width: 75px;
    height: 75px;
}
.plan-users-pic-profile span{
    position: relative;
    border-radius: 95px;
    overflow: hidden;
    padding: 1px;
    display: inline-block;
    border: solid 1px #efefef;
}
.plan-users-pic-profile i{
    position: absolute;
    bottom: 0px;
    margin-right: -79px;
    background: rgba(255, 255, 255, 0.8);
    padding: 6px 32px;
    text-align: center;
}
.train-detail-confirm {
    padding: 25px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    box-shadow: #ccc 0px 0px 10px 0px;
    background: #fff;
    position: fixed;
    width: 100%;
    right: 0;
    bottom: -500;
    transition: all 0.5s;
    z-index: 45;
}
.train-detail-confirm.active{
    bottom: 0;
}


.ticket-title-holder{
    background: #fff;
    padding: 16px;
    margin-top: -45px;
    border-bottom: solid 2px #ccc;
    text-align: center;
}
.editIconProfileTXt{
    padding-left: 20px !important;
    padding-right: 20px !important;
    font-style: normal;
    font-size: 13px;
}

.btn-show-more-infs{
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
    margin-top: 10px;
}

/* Legacy forward links render through the same thin visual used by x-link-chevron. */
.normal-link-with-arrow .fa-chevron-left{
    display: block;
    width: 14px;
    height: 14px;
    margin-top: 3px;
    background: currentColor;
    font-size: 0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 5 8 12l7 7' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 5 8 12l7 7' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.normal-link-with-arrow .fa-chevron-left::before{
    content: none;
}
.set-plan-section {
    margin-bottom: 28px;
    padding: 16px;
}

.set-plan-section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: #252932;
    font-size: 15px;
    font-weight: 500;
}

.set-plan-choice-title {
    font-family: 'AppFont', sans-serif;
    font-size: 15px;
    font-weight: 500;
}

.set-plan-section-status {
    color: #7b838e;
    font-size: 11px;
    font-weight: 300;
}

.set-plan-section-status.is-required {
    color: #d71920;
}

.set-plan-field-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.set-plan-section .input-item-holder {
    margin: 0;
}

.set-plan-section .normal-label {
    display: block;
    float: none;
    margin-bottom: 7px;
    font-size: 14px;
    font-weight: 300;
}

.set-plan-section textarea.normal-input {
    min-height: 96px;
    resize: vertical;
}

.set-plan-information-flow .normal-input-close-btn {
    display: none !important;
}

.set-plan-input-with-unit {
    position: relative;
}

.set-plan-input-with-unit .normal-input {
    padding-left: 86px;
}

.set-plan-input-with-unit > span {
    position: absolute;
    top: 50%;
    left: 12px;
    color: #777f8c;
    font-size: 12px;
    font-weight: 300;
    transform: translateY(-50%);
    pointer-events: none;
}

.coach-plan-approval-sheet{
    padding: 20px;
}

.coach-plan-approval-title{
    margin-bottom: 6px;
    color: #252932;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
}

.coach-plan-approval-mode{
    min-height: 21px;
    margin-bottom: 20px;
    color: #777f8c;
    font-size: 13px;
    font-weight: 300;
    text-align: center;
}

.coach-plan-price-field .normal-input{
    padding-left: 62px;
    direction: ltr;
    text-align: right;
}

.coach-plan-field-error{
    min-height: 20px;
    padding: 5px 4px 0;
    color: #d00606;
    font-size: 12px;
    font-weight: 300;
}

.coach-plan-approval-actions{
    margin-top: 14px;
}

.final-plan-result-notice{
    margin: 16px 0 76px;
    padding: 12px 14px;
    border: var(--app-surface-card-border-width) solid var(--app-surface-card-border-color);
    border-radius: var(--app-surface-card-radius);
    color: #777f8c;
    background: #fff;
    font-size: 12px;
    font-weight: 300;
    line-height: 1.9;
}

.set-plan-readonly-section .set-plan-section-title{
    margin-bottom: 12px;
}

.set-plan-info-row{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    padding: 7px 0;
    color: #777f8a;
    font-size: 14px;
    font-weight: 300;
}

.set-plan-info-row strong{
    color: #252932;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

.set-plan-info-block{
    padding: 7px 0;
}

.set-plan-info-block > span{
    color: #777f8a;
    font-size: 14px;
    font-weight: 300;
}

.set-plan-info-block p{
    margin: 7px 0 0;
    color: #252932;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.9;
    white-space: pre-line;
}

.set-plan-optional-help {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    display: none;
    align-items: center;
    gap: 6px;
    margin: 0 auto;
    padding: 0;
    border: 0;
    color: #252932;
    background: transparent;
    font-family: 'AppFont', sans-serif;
    font-size: 12px;
    font-weight: 300;
    transform: translate(-50%, -50%);
    cursor: pointer;
}

.set-plan-header .header-bar-sub {
    position: relative;
}

.set-plan-optional-help > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    border: 1px solid #9aa1ac;
    border-radius: 50%;
    color: #68707d;
    font-size: 12px;
}

.set-plan-optional-popover {
    position: absolute;
    z-index: 20;
    top: calc(100% - 6px);
    left: 50%;
    width: min(300px, calc(100vw - 40px));
    padding: 15px 18px;
    border: 1px solid #ebecee;
    border-radius: 16px;
    color: #3f4651;
    background: #fff;
    box-shadow: 0 10px 28px rgba(30, 37, 48, .14);
    font-size: 13px;
    font-weight: 300;
    line-height: 1.9;
    text-align: right;
    transform: translateX(-50%);
}

.set-plan-image-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding-bottom: 84px;
}

.set-plan-image-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
}

.set-plan-image-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.set-plan-image-picker {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    min-height: 176px;
    margin: 0;
    padding: 12px;
    cursor: pointer;
}

.set-plan-image-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 104px;
    border-radius: 10px;
    overflow: hidden;
    background: #f5f6f8;
}

.set-plan-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.coach-plan-section{
    --app-card-content-padding: 16px;
    margin-bottom: 16px;
    padding: var(--app-card-content-padding);
}

.coach-student-identity{
    --app-card-content-padding: var(--app-person-card-padding);
    font-size: 12px;
}

a.coach-student-identity{
    display: block;
    color: inherit;
    text-decoration: none;
}

/* Unboxed detail sections share one optional horizontal inset, separate from page gutters. */
.coach-plan-section.app-detail-section{
    padding-left: 0;
    padding-right: 0;
}

.coach-plan-section.app-detail-section--inset{
    padding-left: var(--app-detail-section-inset, 0px);
    padding-right: var(--app-detail-section-inset, 0px);
}

.app-detail-sections{
    --app-detail-section-block-padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.app-detail-sections > .coach-plan-section{
    margin-top: 0;
    margin-bottom: 0;
}

.app-detail-sections > .coach-plan-section.app-detail-section{
    padding-top: var(--app-detail-section-block-padding);
    padding-bottom: var(--app-detail-section-block-padding);
    margin-top: 0;
    margin-bottom: 0;
}

.app-detail-sections > .app-section-divider{
    margin-top: 0;
    margin-bottom: 0;
}

.app-detail-sections .coach-plan-measure-main .plan-pg-item:first-child,
.app-detail-sections .coach-plan-actions > .normal-link-with-arrow:first-child{
    padding-top: 0;
}

.app-detail-sections .coach-plan-actions > .normal-link-with-arrow:last-child{
    padding-bottom: 0;
}

.coach-plan-images-link{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    direction: rtl;
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #424b57;
    font-size: 12px;
    font-weight: 400;
    text-align: center;
    text-decoration: none;
}

.coach-plan-images-divider{
    width: 100%;
    height: var(--app-surface-card-border-width);
    margin: 14px 0;
    background: var(--app-surface-card-border-color);
}

.app-link-chevron{
    display: block;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.coach-plan-images-link:hover{
    color: #242424;
    text-decoration: none;
}

.coach-plan-images-link:focus-visible{
    outline: 2px solid var(--app-field-focus-color);
    outline-offset: 3px;
}

.app-detail-section .plan-users-name-code{
    padding-right: 0;
    padding-left: 0;
}

.coach-plan-section-title{
    margin-bottom: 14px;
    color: #252932;
    font-size: 15px;
    font-weight: 500;
}

.coach-plan-section .plan-pg-item{
    align-items: baseline;
    padding: 6px 0;
}

.coach-plan-section .plan-pg-tite{
    color: #777f8a;
    font-size: 13px;
    font-weight: 300;
}

.app-information-card .plan-pg-tite{
    color: #808080;
    font-size: 12px;
    font-weight: 400;
}

.app-information-card .plan-pg-item{
    padding-top: 0;
    padding-bottom: 0;
}

.app-information-card .plan-pg-item + .plan-pg-item{
    margin-top: 7px;
}

.coach-plan-section .plan-pg-value{
    color: #252932;
    font-size: 13px;
    font-weight: 400;
}

.coach-plan-details-divider{
    width: 100%;
    height: var(--app-surface-card-border-width);
    margin: 10px 0 12px;
    background: var(--app-surface-card-border-color);
}

.coach-plan-section .plan-pg-item-right{
    border-left: 0;
}

.coach-plan-section .plan-pg-item-right > .plan-pg-item{
    border-left: var(--app-surface-card-border-width) solid var(--app-surface-card-border-color);
}

.coach-plan-section .extra_fieldss{
    margin-top: 14px;
    padding-top: 4px;
}

.coach-plan-section .plan-pg-item-right > .extra_fieldss{
    border-left: var(--app-surface-card-border-width) solid var(--app-surface-card-border-color);
}

.coach-plan-measure-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.app-information-card .coach-plan-measure-grid{
    row-gap: 7px;
}

.coach-plan-measure-cell{
    min-width: 0;
    padding: 0 10px;
}

.app-information-card .coach-plan-measure-cell{
    padding-right: 0;
    padding-left: 0;
}

.app-information-card .coach-plan-measure-cell:nth-child(odd){
    padding-left: 10px;
}

.app-information-card .coach-plan-measure-cell:nth-child(even){
    padding-right: 10px;
}

.coach-plan-measure-cell:nth-child(odd){
    border-left: var(--app-surface-card-border-width) solid var(--app-surface-card-border-color);
}

.app-detail-section .coach-plan-measure-cell:nth-child(odd){
    padding-right: 0;
}

.app-detail-section .coach-plan-measure-cell:nth-child(even){
    padding-left: 0;
}

.coach-plan-value-with-unit{
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    flex-direction: row-reverse;
    direction: ltr;
    gap: 3px;
    white-space: nowrap;
}

.coach-plan-measure-unit{
    font-size: 9px;
    font-weight: 300;
}

.coach-plan-measure-main{
    margin-top: 2px;
}

.coach-plan-measure-extra{
    margin-top: 14px;
    padding-top: 0;
}

.coach-plan-long-info{
    margin-top: 12px;
    padding-top: 10px;
    border-top: var(--app-surface-card-border-width) solid var(--app-surface-card-border-color);
}

.coach-plan-long-info .plan-pg-value{
    margin-top: 5px;
    line-height: 1.9;
    white-space: pre-line;
}

.coach-plan-approval-choices{
    display: grid;
    gap: 12px;
    margin: 0 0 20px;
    padding: 0;
    border: 0;
    min-width: 0;
}

.coach-plan-approval-choices legend{
    font-size: 13px;
    margin-bottom: 12px;
}

.coach-plan-approval-choices .app-surface-card--selectable{
    margin: 0;
    padding-left: 44px;
}

.coach-plan-approval-choices .app-card-secondary-text{
    margin-top: 6px;
    line-height: 1.8;
}

.app-page-actions{
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    position: fixed;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 100%;
    max-width: 768px;
    box-sizing: border-box;
    padding: var(--app-action-shell-padding-block) var(--app-action-shell-padding-inline) calc(var(--app-action-shell-padding-block) + env(safe-area-inset-bottom, 0px));
    margin: 0;
    background: #fff;
    z-index: 20;
    gap: 12px;
}

.main_content:has(.app-page-actions){
    padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
}

.app-page-actions button,
.app-page-actions > a{
    min-height: var(--app-action-shell-control-height);
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    text-decoration: none;
    font-family: inherit;
}

.app-page-actions > form{
    min-width: 0;
    width: 100%;
    margin: 0;
}

.app-page-actions > form > button{
    width: 100%;
}

/* Shared feedback for forms that opt in with data-app-submit-loading. */
form[data-app-submit-loading].is-submitting{
    cursor: wait;
}

body.app-request-pending::after{
    content: '';
    position: fixed;
    inset: 0;
    z-index: 1190;
    background: rgba(255, 255, 255, .001);
    cursor: wait;
    pointer-events: auto;
    touch-action: none;
}

[data-app-submit-control]{
    cursor: wait;
    pointer-events: none;
    user-select: none;
}

[data-app-loading-submitter]{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.app-submit-spinner{
    display: inline-block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    box-sizing: border-box;
    border: 2px solid currentColor;
    border-inline-start-color: transparent;
    border-radius: 50%;
    animation: app-submit-spinner-rotation .75s linear infinite;
}

@keyframes app-submit-spinner-rotation{
    to{
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce){
    .app-submit-spinner{
        animation-duration: 1.5s;
    }
}

.coach-plan-bottom-actions > button,
.coach-plan-bottom-actions > form{
    min-width: 0;
    width: 100%;
    margin: 0;
}

.coach-plan-bottom-actions > form > button{
    width: 100%;
}

.coach-plan-actions{
    padding-top: 12px;
    padding-bottom: 12px;
}

.coach-plan-actions .normal-link-with-arrow{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-right: 0;
    padding-left: 0;
    border-bottom: var(--app-surface-card-border-width) solid var(--app-surface-card-border-color);
    color: #252932;
}

.coach-plan-actions .normal-link-with-arrow:last-child{
    border-bottom: 0;
}

.coach-plan-actions .coach-plan-reject{
    border-bottom: 0;
}

.set-plan-camera-icon {
    position: relative;
    width: 34px;
    height: 25px;
    border: 2px solid #8b939f;
    border-radius: 7px;
}

.set-plan-camera-icon::before {
    content: '';
    position: absolute;
    top: -7px;
    right: 8px;
    width: 14px;
    height: 7px;
    border-radius: 4px 4px 0 0;
    background: #8b939f;
}

.set-plan-camera-icon::after {
    content: '';
    position: absolute;
    top: 5px;
    right: 9px;
    width: 11px;
    height: 11px;
    border: 2px solid #8b939f;
    border-radius: 50%;
}

.set-plan-image-label {
    color: #292e36;
    font-size: 13px;
    font-weight: 400;
    text-align: center;
}

.set-plan-image-action {
    color: var(--app-field-focus-color);
    font-size: 12px;
    font-weight: 300;
}

.set-plan-image-remove {
    position: absolute;
    z-index: 2;
    top: 7px;
    left: 7px;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: rgba(25, 29, 35, .72);
    font-size: 19px;
    line-height: 28px;
    cursor: pointer;
}

.plan-image-gallery{
    padding-top: 20px;
}

.plan-image-gallery-grid{
    padding-bottom: 24px;
}

.plan-image-view-trigger{
    width: 100%;
    border: 0;
    background: transparent;
    font-family: 'AppFont', sans-serif;
}

.plan-image-lightbox{
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 56px 18px 24px;
    background: rgba(0, 0, 0, .82);
    opacity: 0;
    transition: opacity .18s ease;
}

.plan-image-lightbox[hidden]{
    display: none;
}

.plan-image-lightbox.is-open{
    opacity: 1;
}

.plan-image-lightbox img{
    display: block;
    max-width: 100%;
    max-height: 100%;
    border-radius: 12px;
    object-fit: contain;
}

.plan-image-lightbox-close{
    position: absolute;
    top: max(14px, env(safe-area-inset-top));
    left: 16px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .16);
    font-family: Arial, sans-serif;
    font-size: 28px;
    line-height: 40px;
    cursor: pointer;
}

body.plan-image-lightbox-open{
    overflow: hidden;
}

.coach-users-pic img{
    display: block;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
}

.coach-users-item{
    padding-right: var(--app-person-card-padding);
    padding-left: var(--app-person-card-padding);
}

.coach-users-info .coach-users-name-code{
    padding-right: 0;
    padding-left: 0;
}

.coach-users-info .app-person-name,
.plan-users-info .app-person-name{
    font-size: 15px;
    font-weight: 500;
}

.coach-users-info .app-person-meta,
.plan-users-info .app-person-meta{
    font-size: 13px;
    font-weight: 300;
}

.coach-users-info .coach-users-pic,
.plan-users-info .plan-users-pic{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-left: 0;
    box-sizing: border-box;
}

.plan-users-pic img{
    display: block;
    width: 78px;
    height: 78px;
    border-radius: 50%;
    object-fit: cover;
}

@media (min-width: 600px) {
    .set-plan-field-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .set-plan-image-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
:root {
    --app-section-divider-thickness: 4px;
    --app-search-control-height: 44px;
    --app-page-gutter: 20px;
    --app-list-item-divider-color: #c9ced4;
    --app-nested-item-divider-color: #e9edf0;
    --app-action-shell-padding-block: 12px;
    --app-action-shell-padding-inline: var(--app-page-gutter);
    --app-button-height: 48px;
    --app-button-radius: 10px;
    --app-button-padding-inline: 15px;
    --app-action-shell-control-height: var(--app-button-height);
    --app-header-height: 56px;
    --app-header-content-gap: 16px;
    --app-header-action-gap: 2px;
    --app-header-confirm-toward-more: 16px;
    --app-header-touch-target: 44px;
    --app-header-back-slot: 32px;
    --app-back-icon-edge-compensation: 3px;
    --app-menu-icon-edge-compensation: 3px;
    --app-surface-card-border-color: #ebecee;
    --app-surface-card-border-width: 1px;
    --app-surface-card-radius: 14px;
    --app-person-card-padding: 16px;
    --app-detail-section-inset: 10px;
    --app-surface-card-background: #fff;
    --app-option-group-background: #f4f4f6;
    --app-card-title-size: 14px;
    --app-card-title-weight: 500;
    --app-card-description-size: 12px;
    --app-card-description-weight: 400;
    --app-card-description-color: gray;
    --app-plan-title-size: 14px;
    --app-plan-title-weight: 500;
    --app-plan-title-color: #252932;
    --app-plan-meta-size: 13px;
    --app-plan-meta-weight: 400;
    --app-plan-meta-color: #737b86;
    --app-plan-content-gap: 12px;
    --app-plan-row-min-height: 120px;
    --app-user-theme-color: #0177d7;
    --app-user-theme-rgb: 1, 119, 215;
    --app-user-soft-background: #e1ecf8;
    --app-program-card-min-height: 80px;
    --app-field-background: #fff;
    --app-search-background: #f2f3f5;
    --app-search-border-color: transparent;
    --app-field-border-color: #d5d8dd;
    --app-field-border-width: 1px;
    --app-field-radius: 9px;
    --app-field-control-height: 52px;
    --app-field-stack-gap: 16px;
    --app-field-text-color: #242424;
    --app-field-placeholder-color: #777d85;
    --app-field-label-color: #242424;
    --app-field-label-size: 13px;
    --app-field-label-weight: 400;
    --app-field-value-weight: 400;
    --app-field-placeholder-size: 13px;
    --app-field-placeholder-weight: 300;
    --app-field-focus-color: var(--app-user-theme-color);
    --app-field-focus-ring: rgba(var(--app-user-theme-rgb), .12);
    --app-choice-color: var(--app-field-focus-color);
    --app-field-disabled-background: #f3f4f5;
    --app-coach-theme-color: #d00606;
    --app-coach-theme-soft: rgba(208, 6, 6, .09);
}

.app-theme--student{
    --app-field-focus-color: var(--app-user-theme-color);
    --app-field-focus-ring: rgba(var(--app-user-theme-rgb), .12);
}

.app-theme--coach{
    --app-field-focus-color: #d00606;
    --app-field-focus-ring: rgba(208, 6, 6, .12);
}

/*
 * Shared button system. Markup uses app-btn plus one role modifier.
 */
.app-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--app-button-height);
    box-sizing: border-box;
    border: 1px solid transparent;
    border-radius: var(--app-button-radius);
    padding: 8px var(--app-button-padding-inline);
    font-family: 'AppFont', sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

/* Keep the legacy full-width helper from changing shared button dimensions. */
.app-btn.btn-block{
    padding: 8px var(--app-button-padding-inline) !important;
}

.app-btn[hidden],
.app-btn.hide{
    display: none !important;
}

.app-btn--primary{
    border-color: var(--app-field-focus-color) !important;
    background: var(--app-field-focus-color) !important;
    color: #fff !important;
}

.app-btn--secondary{
    border-color: transparent !important;
    background: #fff !important;
    color: var(--app-field-focus-color) !important;
    box-shadow: inset 0 0 0 1px currentColor;
}

.app-btn--cancel{
    border-color: #9ca3af !important;
    background: #fff !important;
    color: #4b5563 !important;
}

.app-btn--primary:hover,
.app-btn--primary:focus-visible{
    color: #fff !important;
}

.app-btn--secondary:focus-visible{
    border-color: transparent !important;
    background: #fff !important;
    color: var(--app-field-focus-color) !important;
    outline: 2px solid var(--app-field-focus-color);
    outline-offset: 2px;
}

@media (hover: hover){
    .app-btn--secondary:hover{
        border-color: transparent !important;
        background: var(--app-field-focus-ring) !important;
        color: var(--app-field-focus-color) !important;
    }
}

.app-btn--cancel:hover,
.app-btn--cancel:focus-visible{
    border-color: #7f8792 !important;
    background: #f5f6f7 !important;
    color: #374151 !important;
}

/* Lightweight in-flow actions such as adding a set or meal description. */
.app-btn--text-action,
.btn-add-set,
.food-description-add{
    border: 0;
    background: transparent;
    color: var(--app-field-focus-color) !important;
    font-family: 'AppFont', sans-serif;
    font-weight: 500;
    cursor: pointer;
}

.app-auth-change-number{
    color: var(--app-field-focus-color) !important;
    font-size: 14px;
    font-weight: 500;
}

/* Shared disabled state for every role; loading is intentionally independent. */
.app-btn:disabled,
.app-btn.is-disabled{
    border-color: #e5e7eb !important;
    background: #e5e7eb !important;
    color: #9298a1 !important;
    opacity: 1;
    cursor: not-allowed;
}

/* A pending request is unavailable, but keeps its action role visually clear. */
.app-btn--primary:disabled[data-app-loading-submitter],
.app-btn--primary.is-disabled[data-app-loading-submitter]{
    border-color: var(--app-field-focus-color) !important;
    background: var(--app-field-focus-color) !important;
    color: #fff !important;
    opacity: 1;
    cursor: wait;
}

.app-btn--secondary:disabled[data-app-loading-submitter],
.app-btn--secondary.is-disabled[data-app-loading-submitter]{
    border-color: transparent !important;
    background: #fff !important;
    color: var(--app-field-focus-color) !important;
    opacity: 1;
    cursor: wait;
}

.resend-code-holder,
.app-auth-resend{
    font-size: 14px;
    font-weight: 400;
}

.app-auth-resend #el_timer,
.app-auth-resend .app-auth-resend-action{
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Reusable field whose placeholder becomes a compact border label. */
.app-floating-field{
    position: relative;
}

.app-floating-field__control{
    padding-top: 18px !important;
    padding-bottom: 10px !important;
}

.app-floating-field__label{
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 12px;
    max-width: calc(100% - 24px);
    padding: 0 4px;
    overflow: hidden;
    color: var(--app-field-placeholder-color);
    background: var(--app-field-background);
    font-size: var(--app-field-placeholder-size);
    font-weight: var(--app-field-placeholder-weight);
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    transform: translateY(-50%);
    transform-origin: right center;
    transition: top 150ms ease, color 150ms ease, font-size 150ms ease, transform 150ms ease;
}

.app-floating-field__control:focus + .app-floating-field__label,
.app-floating-field input.app-floating-field__control:not(:placeholder-shown) + .app-floating-field__label,
.app-floating-field textarea.app-floating-field__control:not(:placeholder-shown) + .app-floating-field__label,
.app-floating-field.is-focused .app-floating-field__label,
.app-floating-field.has-value .app-floating-field__label{
    top: 0;
    color: var(--app-field-focus-color);
    font-size: 11px;
    font-weight: 400;
}

.app-floating-field .profile-field-trigger.app-floating-field__control,
.app-floating-field select.app-floating-field__control{
    min-height: var(--app-field-control-height);
    padding-top: 15px !important;
    padding-bottom: 7px !important;
}

.app-floating-field select.app-floating-field__control{
    appearance: none;
    -webkit-appearance: none;
    padding-left: 38px !important;
}

.app-field-select-arrow{
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 15px;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid #70757d;
    border-bottom: 1.5px solid #70757d;
    pointer-events: none;
    transform: translateY(-65%) rotate(45deg);
}

.profile-field-trigger .app-field-select-arrow{
    position: relative;
    top: auto;
    left: auto;
    flex: 0 0 8px;
    transform: translateY(-2px) rotate(45deg);
}

.profile-information-form .container000 > .input-item-holder.show + .input-item-holder.show{
    margin-top: var(--app-field-stack-gap);
}

.profile-choice-option{
    justify-content: space-between;
    direction: rtl;
}

.profile-choice-option .app-choice-control{
    margin-right: auto;
}

/* One accessible OTP input represented by four equal visual cells. */
.app-otp-input{
    position: relative;
    width: 100%;
    direction: ltr;
    cursor: text;
}

.app-otp-input__control{
    position: absolute;
    z-index: 2;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    opacity: .01;
    color: transparent;
    background: transparent;
    caret-color: transparent;
}

.app-otp-input__cells{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
}

.app-otp-input__cell{
    display: flex;
    min-width: 0;
    height: var(--app-field-control-height);
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    border: var(--app-field-border-width) solid var(--app-field-border-color);
    border-radius: var(--app-field-radius);
    background: var(--app-field-background);
    color: var(--app-field-text-color);
    font-family: 'AppFont', sans-serif;
    font-size: 18px;
    font-weight: 500;
    transition: border-color 150ms ease;
}

.app-otp-input:focus-within .app-otp-input__cell.is-active,
.app-otp-input:focus-within .app-otp-input__cell.is-filled{
    border-color: var(--app-field-focus-color);
}

/* In-flow primary action used by the short authentication steps. */
.app-auth-submit-bar{
    width: 100%;
    box-sizing: border-box;
    margin-top: 24px;
    padding: 0;
}

.app-auth-submit-bar .app-auth-submit{
    position: static;
    inset: auto;
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
}

.app-fixed-primary-action{
    position: fixed;
    z-index: 3;
    right: auto;
    bottom: 10px;
    left: 50%;
    width: calc(100% - (2 * var(--app-page-gutter)));
    max-width: 728px;
    margin: 0;
    transform: translateX(-50%);
}

/* Shared visual controls for single- and multi-select choices. */
.app-choice-control{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    box-sizing: border-box;
    border: 1.5px solid #7d838c;
    background: #fff;
    color: transparent;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.app-choice-control--square{
    border-radius: 4px;
}

.app-choice-control--radio{
    border-radius: 50%;
}

.app-choice-control.is-selected{
    border-color: var(--app-choice-color);
    background: var(--app-choice-color);
    color: #fff;
}

.app-choice-control > svg{
    display: none;
    width: 13px;
    height: 13px;
    fill: none;
    stroke: #fff;
    stroke-width: 2.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.app-choice-control.is-selected > svg,
.app-surface-card--selectable.is-selected .app-choice-control > svg,
.app-surface-card--selectable:has(.app-selectable-card__input:checked) .app-choice-control > svg{
    display: block;
}

.coach-selector-option__copy{
    display: flex;
    min-height: 32px;
    min-width: 0;
    width: 100%;
    padding-left: 30px;
    flex-direction: column;
    justify-content: center;
    text-align: right;
}

.coach-selector-option__check{
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
}

.archive-filter-sheet{
    --app-choice-color: var(--app-coach-theme-color);
}

.archive-filter-trigger{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    height: var(--app-search-control-height);
    padding: 0 13px;
    box-sizing: border-box;
    border: 1px solid var(--app-search-border-color);
    border-radius: 65px;
    background: var(--app-search-background);
    color: #424852;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}

.archive-filter-trigger svg{
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
}

.archive-filter-trigger.is-active{
    color: var(--app-coach-theme-color);
    border-color: var(--app-coach-theme-color);
}

.archive-filter-options{
    max-height: min(52vh, 430px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.app-check-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 54px;
    margin: 0;
    color: #272b31;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
}

.app-check-row + .app-check-row{
    border-top: 1px solid var(--app-surface-card-border-color);
}

.app-checkbox{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
}

.app-checkbox input{
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.app-checkbox__visual{
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1.5px solid #7d838c;
    border-radius: 4px;
    background: #fff;
    transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.app-checkbox__visual svg{
    display: none;
    width: 13px;
    height: 13px;
    fill: none;
    stroke: #fff;
    stroke-width: 2.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.app-checkbox input:checked + .app-checkbox__visual,
.app-checkbox input:indeterminate + .app-checkbox__visual{
    border-color: var(--app-choice-color);
    background: var(--app-choice-color);
    box-shadow: none;
}

.app-checkbox:has(input:checked)::before,
.app-checkbox:has(input:indeterminate)::before{
    content: '';
    position: absolute;
    z-index: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(208, 6, 6, .055);
    background: color-mix(in srgb, var(--app-choice-color) 5.5%, transparent);
}

.app-checkbox input:checked + .app-checkbox__visual svg{
    display: block;
}

.app-checkbox input:indeterminate + .app-checkbox__visual::after{
    content: '';
    width: 9px;
    height: 2px;
    border-radius: 2px;
    background: #fff;
}

.app-checkbox input:focus-visible + .app-checkbox__visual{
    outline: 2px solid var(--app-choice-color);
    outline-offset: 3px;
}

.archive-filter-actions{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.archive-filter-actions > button{
    width: 100%;
    min-width: 0;
    min-height: var(--app-button-height);
    padding: 8px 12px;
    box-sizing: border-box;
    border-radius: var(--app-button-radius);
    font-size: 13px;
}

.archive-train-dt-item .app-surface-card__row{
    width: 100%;
}

.archive-train-dt-item .div_actions_img{
    flex: 0 0 100px;
    margin-right: auto;
    margin-left: 0;
}

.normal-input,
.normal-mobile-selector{
    box-sizing: border-box;
    border: var(--app-field-border-width) solid var(--app-field-border-color) !important;
    border-radius: var(--app-field-radius) !important;
    outline: 0;
    background: var(--app-field-background) !important;
    color: var(--app-field-text-color);
    font-weight: var(--app-field-value-weight);
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.normal-input:not(textarea),
.normal-mobile-selector{
    min-height: var(--app-field-control-height);
}

.normal-input::placeholder{
    color: var(--app-field-placeholder-color);
    opacity: 1;
    font-size: var(--app-field-placeholder-size);
    font-weight: var(--app-field-placeholder-weight);
}

.app-field{
    position: relative;
}

.app-field__label{
    display: block;
    margin: 0 0 7px;
    color: var(--app-field-label-color);
    font-family: 'AppFont', sans-serif;
    font-size: var(--app-field-label-size);
    font-weight: var(--app-field-label-weight);
    line-height: 1.5;
}

.app-field__control::placeholder{
    color: var(--app-field-placeholder-color);
    opacity: 1;
    font-family: 'AppFont', sans-serif;
    font-size: var(--app-field-placeholder-size);
    font-weight: var(--app-field-placeholder-weight);
}

.is-program-description-temporarily-hidden{
    display: none !important;
}

.is-plan-type-description-temporarily-hidden{
    display: none !important;
}

.app-card-primary-title,
.app-card-primary-title a,
.app-surface-card__title{
    color: #242424;
    font-family: 'AppFont', sans-serif;
    font-size: var(--app-card-title-size);
    font-weight: var(--app-card-title-weight);
}

.app-card-secondary-text,
.app-surface-card__description{
    color: var(--app-card-description-color);
    font-family: 'AppFont', sans-serif;
    font-size: var(--app-card-description-size);
    font-weight: var(--app-card-description-weight);
}

.app-card-heading-row{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.app-card-heading-row .app-card-primary-title{
    min-width: 0;
}

.app-card-meta{
    flex: 0 0 auto;
    color: #252932;
    font-family: 'AppFont', sans-serif;
    font-size: 13px;
    font-weight: 400;
    direction: ltr;
    white-space: nowrap;
}

.notification-card .app-card-meta{
    color: #8a9099;
}

.notification-card .app-card-secondary-text{
    color: #666d76;
    font-weight: 400;
}

.settings-option-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding-bottom: 78px;
}

.settings-option-grid--single{
    grid-template-columns: minmax(0, 1fr);
}

.settings-option-divider{
    position: relative;
    width: 100%;
    margin: 5px 0 1px;
    border-top: var(--app-surface-card-border-width) solid var(--app-surface-card-border-color);
    text-align: right;
}

.settings-option-divider span{
    position: relative;
    top: -11px;
    padding-left: 10px;
    background: #fff;
    color: #777f8a;
    font-size: 12px;
    font-weight: 300;
}

.settings-option-card{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
    min-height: 72px;
    margin: 0;
    padding: 12px;
    cursor: pointer;
    user-select: none;
}

.settings-option-card input{
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.settings-option-copy{
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.5;
}

.settings-option-copy strong{
    overflow: hidden;
    color: #242424;
    font-size: 13px;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-option-copy small{
    margin-top: 3px;
    color: #8a9099;
    font-size: 10px;
    font-weight: 300;
}

.settings-switch{
    position: relative;
    flex: 0 0 34px;
    width: 34px;
    height: 20px;
    border-radius: 999px;
    background: #c8cbd0;
    transition: background-color 160ms ease;
}

.settings-switch::after{
    content: '';
    position: absolute;
    top: 3px;
    right: 3px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
    transition: transform 160ms ease;
}

.settings-option-card input:checked ~ .settings-switch{
    background: var(--app-field-focus-color);
}

.settings-option-card input:checked ~ .settings-switch::after{
    transform: translateX(-14px);
}

.settings-option-card:focus-within{
    outline: 2px solid var(--app-field-focus-color);
    outline-offset: 2px;
}

.settings-option-card.is-locked{
    cursor: default;
    background: #f7f8f9;
}

.settings-option-card.is-locked .settings-switch{
    opacity: .7;
}

.normal-input:focus,
.normal-birthday:focus,
.normal-mobile-selector:focus{
    margin-bottom: 0;
    border: var(--app-field-border-width) solid var(--app-field-focus-color) !important;
    box-shadow: none;
}

.normal-input:disabled,
.normal-input[readonly],
.input-item-holder.readonly .normal-mobile-selector{
    border-color: var(--app-field-border-color) !important;
    background: var(--app-field-disabled-background) !important;
    color: #777d85;
}

.app-surface-card {
    box-sizing: border-box;
    border: var(--app-surface-card-border-width) solid var(--app-surface-card-border-color);
    border-radius: var(--app-surface-card-radius);
    background: var(--app-surface-card-background);
}

.app-surface-card__divider{
    width: 100%;
    height: var(--app-surface-card-border-width);
    margin: 14px 0;
    background: var(--app-surface-card-border-color);
}

.app-card-actions{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding-bottom: var(--app-person-card-padding);
}

.app-card-actions > a,
.app-card-actions > button{
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: var(--app-button-height);
    box-sizing: border-box;
    text-decoration: none;
    line-height: 1.2;
}

.app-card-actions > form{
    min-width: 0;
    margin: 0;
}

.app-card-actions > form > .app-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: var(--app-button-height);
}

/* Every bottom-sheet action row keeps primary and secondary actions equal-width. */
.session-actions:not(.app-page-actions) > button,
.session-actions:not(.app-page-actions) > a,
.session-actions:not(.app-page-actions) > form{
    flex: 1 1 0;
    width: 0 !important;
    min-width: 0;
}

.session-actions:not(.app-page-actions) > form > button{
    width: 100%;
}

.session-actions:not(.app-page-actions) > .session-actions-spliter{
    flex: 0 0 10px;
    width: 10px;
}

.app-surface-card--display{
    cursor: default;
}

.app-information-card{
    position: relative;
}

.app-information-card__title{
    position: absolute;
    z-index: 1;
    top: 0;
    right: calc(var(--app-surface-card-radius) + 6px);
    transform: translateY(-50%);
    padding: 0 6px;
    background: var(--app-surface-card-background);
    color: #808080;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    text-align: right;
}

/* Borderless surface for grouped page actions; keeps the standard card geometry. */
.app-surface-card--option-group{
    border: 0;
    background: var(--app-option-group-background);
}

.coach-plan-section.app-detail-section.app-surface-card--option-group{
    padding: var(--app-card-content-padding);
}

.app-surface-card--option-group .normal-link-with-arrow{
    background: transparent;
}

.app-surface-card--clickable{
    --app-surface-card-border-color: #d5d8dd;
    cursor: pointer;
    transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.app-surface-card--clickable:hover{
    background: #fafbfc;
}

.app-surface-card .vertical-line{
    border-color: var(--app-surface-card-border-color);
}

.app-surface-card--clickable:focus-visible{
    outline: 2px solid var(--app-field-focus-color);
    outline-offset: 2px;
}

.app-surface-card .app-card-primary-title,
.app-surface-card .app-surface-card__title{
    color: #242424;
    font-size: var(--app-card-title-size);
    font-weight: var(--app-card-title-weight);
}

.app-surface-card .normal-div-option-title.app-surface-card__title{
    padding-top: 0;
    padding-bottom: 0;
}

.app-surface-card .app-card-secondary-text,
.app-surface-card .app-surface-card__description{
    color: var(--app-card-description-color);
    font-size: var(--app-card-description-size);
    font-weight: var(--app-card-description-weight);
}

.app-surface-card--stacked .app-surface-card__description{
    margin-top: 6px;
}

.app-surface-card--with-menu{
    /* The painted dots are 3.3px wide (3.6 / 24 * 22). */
    --app-card-menu-text-gap-extra: 4px;
    --app-card-menu-width: calc(3.3px + var(--app-card-content-padding, 16px) + var(--app-card-menu-text-gap-extra));
    display: flex;
    align-items: stretch;
}

.session-item.app-surface-card--with-menu{
    --app-card-content-padding: 14px;
    padding-inline: var(--app-card-content-padding);
}

.app-surface-card__menu,
.app-surface-card--with-menu .app-surface-card__menu{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    align-self: stretch;
    flex: 0 0 var(--app-card-menu-width);
    width: var(--app-card-menu-width);
    direction: rtl;
}

.app-surface-card__menu .session-edit-trigger{
    /* Extend the touch area toward the card edge, never over the adjacent text. */
    margin-right: calc(var(--app-card-menu-width) - var(--app-header-touch-target));
}

.app-surface-card__menu .session-edit-trigger-icon{
    transform: translateX(calc(42.5% + var(--app-card-menu-width) - var(--app-header-touch-target)));
    flex-shrink: 0;
}

.app-card-picker .plan-users-name-code{
    padding-right: 0;
}

.app-surface-card__content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: stretch;
    min-width: 0;
}

.app-surface-card__row{
    display: flex;
    align-items: center;
    min-height: 54px;
}

.app-card-content--optical-center{
    transform: translateY(2px);
}

.app-card-text-stack{
    text-align: right;
}

.app-surface-card--text{
    padding: 16px 20px;
}

.app-card-text-stack > .app-card-primary-title,
.app-card-text-stack > .app-card-secondary-text{
    margin: 0;
}

.app-card-text-stack > .app-card-secondary-text{
    margin-top: 9px;
}

.app-card-text-stack > .app-card-secondary-text > :first-child{
    margin-top: 0;
}

.app-card-text-stack > .app-card-secondary-text > :last-child{
    margin-bottom: 0;
}

.app-card-text-stack .train-pg-title,
.app-card-text-stack .train-pg-desc{
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: right;
}

.app-card-text-stack .train-pg-desc{
    margin-top: 6px;
}

.app-surface-card--centered{
    display: flex;
    align-items: center;
}

.app-surface-card--stacked{
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
}
.account-profile-avatar-link {
    display: flex;
    justify-content: center;
    width: max-content;
    margin-bottom: 18px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    border: 0;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
}

.account-profile-avatar-shell {
    position: relative;
    display: inline-block;
    width: 82px;
    height: 82px;
}

.account-profile-avatar-frame {
    margin-bottom: 0;
    overflow: hidden;
}

.account-profile-avatar-edit {
    position: absolute;
    right: -2px;
    bottom: -2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff;
    background: var(--app-field-focus-color);
    font-size: 12px;
}

.profile-logout-holder--account {
    box-sizing: border-box;
    width: calc(100% + 40px);
    margin-top: 18px;
    margin-left: -20px;
    margin-right: -20px;
    padding: 0 20px calc(82px + env(safe-area-inset-bottom));
    border-top: var(--app-section-divider-thickness) solid var(--app-surface-card-border-color);
    text-align: right;
}

.account-details-list .account-profile-section-divider + .normal-link-with-arrow{
    border-top: 0 !important;
}

.profile-logout-holder--account .profile-logout-link {
    justify-content: flex-start;
    min-height: 58px;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 14px;
}

.account-details-list .normal-link-with-arrow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 15px;
    padding-bottom: 15px;
}

.account-details-list .normal-link-with-arrow > div {
    min-width: 0;
    flex: 1 1 auto;
}

.account-details-list .normal-link-with-arrow .fa-chevron-left {
    flex: 0 0 14px;
    float: none;
    margin-top: 0;
    margin-right: 12px;
}

.account-details-list .normal-label {
    color: #777f8a;
    font-size: 12px;
    font-weight: 300;
}

.account-detail-value {
    margin-top: 7px;
    color: #20242b;
    font-size: 14px;
    font-weight: 500;
}

.account-static-row {
    cursor: default;
}

.profile-image-sheet {
    padding: 8px 20px calc(20px + env(safe-area-inset-bottom));
}

.profile-image-sheet-title {
    margin: 2px 0 15px;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
}

.profile-image-sheet-preview {
    width: 104px;
    height: 104px;
    margin: 0 auto 18px;
    border-radius: 50%;
    overflow: hidden;
    background: #ebecee;
}

.profile-image-sheet-preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-image-sheet-preview img.is-default {
    transform: scale(1.15);
}

.profile-image-sheet-action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 0 12px;
    border: 0;
    border-bottom: 1px solid #ebecee;
    color: #20242b;
    background: transparent;
    font-family: 'AppFont', sans-serif;
    font-size: 14px;
    font-weight: 300;
    cursor: pointer;
}

.profile-image-save-action {
    color: var(--app-field-focus-color);
}

.profile-image-save-action:disabled {
    color: #a7adb5;
    cursor: default;
}

.profile-image-remove-action {
    color: #d00606;
}

.profile-image-cancel-action {
    border-bottom: 0;
}

.profile-field-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 50px;
    padding: 0 14px;
    border: 1px solid #d9dde3;
    border-radius: 10px;
    color: #252932;
    background: var(--app-field-background, #fff);
    font-family: 'AppFont', sans-serif;
    font-size: 14px;
    font-weight: var(--app-field-value-weight, 400);
    text-align: right;
    cursor: pointer;
}

.app-standard-select {
    min-height: 50px;
    color: var(--app-field-text-color);
    background-color: var(--app-field-background, #fff) !important;
}

.profile-field-trigger.is-invalid,
.app-standard-select.is-invalid,
.normal-input.is-invalid {
    border-color: #c62828 !important;
}

.profile-choice-sheet,
.profile-date-sheet {
    padding: 8px 20px calc(20px + env(safe-area-inset-bottom));
}

.profile-choice-sheet-title {
    margin: 2px 0 14px;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
}

.profile-choice-option {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 54px;
    padding: 0 8px;
    border: 0;
    border-bottom: 1px solid #ebecee;
    color: #252932;
    background: transparent;
    font-family: 'AppFont', sans-serif;
    font-size: 14px;
    font-weight: 300;
    text-align: right;
    cursor: pointer;
}

.profile-location-options {
    max-height: min(52vh, 430px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.profile-location-sheet .app-list-search {
    margin-bottom: 8px;
}

.profile-city-trigger:disabled {
    color: #9a9da4;
    background: var(--app-field-background, #fff);
    cursor: not-allowed;
    opacity: .7;
}

.profile-choice-option:last-child {
    border-bottom: 0;
}

.app-affixed-field {
    display: flex;
    align-items: stretch;
    width: 100%;
    border: var(--app-field-border-width) solid var(--app-field-border-color);
    border-radius: var(--app-field-radius);
    background: var(--app-field-background);
    box-sizing: border-box;
    overflow: hidden;
}

.app-affixed-field:focus-within {
    border-color: var(--app-field-focus-color);
    box-shadow: none;
}

.app-affixed-field.is-invalid{
    border-color: #c62828;
}

.app-field-validation-error{
    display: block;
    padding: 5px 4px 0;
    color: #c62828;
    font-size: 12px;
    font-weight: 300;
    line-height: 1.7;
    text-align: right;
}

.app-field-validation-error.hide{
    display: none;
}

.app-toast-region{
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: fixed;
    top: calc(var(--app-header-height, 56px) + 12px + env(safe-area-inset-top, 0px));
    left: 50%;
    width: min(calc(100% - (2 * var(--app-page-gutter, 20px))), 520px);
    transform: translateX(-50%);
    z-index: 1200;
    pointer-events: none;
}

.app-toast{
    --app-toast-color: #52606d;
    display: grid;
    grid-template-columns: 4px minmax(0, 1fr) 32px;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 8px 10px 8px 14px;
    box-sizing: border-box;
    border: 1px solid #e3e5e8;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(30, 35, 45, .13);
    color: #252932;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
    pointer-events: auto;
    animation: app-toast-enter 180ms ease-out both;
}

.app-toast.is-leaving{
    animation: app-toast-leave 180ms ease-in both;
}

.app-toast--with-action{
    grid-template-columns: 4px minmax(0, 1fr) 32px;
}

.app-toast__message{
    min-width: 0;
}

.app-toast--success{ --app-toast-color: #238636; }
.app-toast--error{ --app-toast-color: #c62828; }
.app-toast--warning{ --app-toast-color: #b26a00; }
.app-toast--info{ --app-toast-color: var(--app-field-focus-color); }

.app-toast__indicator{
    align-self: stretch;
    border-radius: 999px;
    background: var(--app-toast-color);
}

.app-toast__action{
    display: block;
    width: fit-content;
    margin-top: 4px;
    color: var(--app-toast-color);
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
}

.app-toast__close{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #727985;
    font-size: 22px;
    line-height: 1;
}

@keyframes app-toast-enter{
    from{ opacity: 0; transform: translateY(-8px); }
    to{ opacity: 1; transform: translateY(0); }
}

@keyframes app-toast-leave{
    from{ opacity: 1; transform: translateY(0); }
    to{ opacity: 0; transform: translateY(-6px); }
}

@media (prefers-reduced-motion: reduce){
    .app-toast,
    .app-toast.is-leaving{
        animation-duration: 0.01ms;
    }
}

.app-affixed-field__affix {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 44px;
    padding: 0 10px;
    background: #f1f2f3;
    color: #8a9099;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 400;
    box-sizing: border-box;
    user-select: none;
}

.app-affixed-field__input.normal-input {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    direction: ltr;
    text-align: left;
}

.profile-choice-radio {
    position: relative;
    display: block !important;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border: 2px solid #a3a9b2;
    border-radius: 50%;
    background: #fff;
    box-sizing: border-box;
}

.profile-choice-option.active .profile-choice-radio {
    border-color: var(--app-field-focus-color);
}

.profile-choice-radio::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--app-field-focus-color);
    transform: translate(-50%, -50%) scale(0);
}

.profile-choice-option.active .profile-choice-radio::after {
    transform: translate(-50%, -50%) scale(1);
}

.profile-date-wheels {
    position: relative;
    display: grid;
    grid-template-columns: .75fr 1.3fr 1fr;
    gap: 10px;
}

.profile-date-wheels::before,
.profile-date-wheels::after {
    content: '';
    position: absolute;
    z-index: 2;
    right: 0;
    left: 0;
    height: 1px;
    background: #e1e4e8;
    pointer-events: none;
}

.profile-date-wheels::before {
    top: 44px;
}

.profile-date-wheels::after {
    bottom: 43px;
}

.profile-date-wheel-frame {
    height: 132px;
    overflow: hidden;
}

.profile-date-wheel {
    width: 100%;
    height: 132px;
    padding: 44px 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-snap-type: y mandatory;
    scrollbar-width: none;
    touch-action: pan-y;
}

.profile-date-wheel::-webkit-scrollbar {
    display: none;
}

.profile-date-wheel-option {
    display: block;
    width: 100%;
    height: 44px;
    padding: 0 4px;
    border: 0;
    color: #a6abb3;
    background: transparent;
    font-family: 'AppFont', sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 44px;
    text-align: center;
    scroll-snap-align: center;
    cursor: pointer;
}

.profile-date-wheel-option.active {
    color: #20242b;
    font-size: 15px;
    font-weight: 500;
}

.profile-date-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 18px;
}

.profile-date-actions button {
    min-height: var(--app-button-height);
    border: 0;
    border-radius: var(--app-button-radius);
    font-family: 'AppFont', sans-serif;
    font-size: 14px;
    cursor: pointer;
}

.profile-date-cancel {
    color: #4b515b;
    background: #ebecee;
}

.profile-date-confirm {
    color: #fff;
    background: var(--app-field-focus-color);
}
