/*@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css');*/
/*@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Roboto+Mono:wght@700&display=swap');*/

:root {
    --c-bg: #161a22;
    --c-surface-1: #1f232e;
    --c-surface-2: #2a2f3c;
    --c-border: rgba(255, 255, 255, 0.08);
    --c-text-primary: #f1f1f1;
    --c-text-secondary: #9a9ca5;
    --c-primary: #5856d6;
    --c-success: #34c759;
    --c-danger: #ff3b30;
    --c-amrap: #ff9500;
    --c-fortime: #007aff;
    --c-emom: #ff2d55;
    --c-tabata: #34c759;
    --c-rest: #8e8e93;
    --font-ui: 'Inter', system-ui, sans-serif;
    --font-display: 'Roboto Mono', monospace;
    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 24px;
}

/* Base and Program Selection Styles */
.timer-app-container { background: var(--c-bg);
    color: var(--c-text-primary); width: 100%; max-width: 450px;
    height: 90vh; max-height: 930px; border-radius: var(--radius-lg); border: 1px solid var(--c-border); display: flex; flex-direction: column; overflow: hidden; position: relative; box-shadow: 0 20px 40px rgba(0,0,0,0.5); font-family: var(--font-ui); }
.timer-app-container:fullscreen { border-radius: 0 !important; }
.timer-header { display: flex; justify-content: space-between; align-items: center; padding: 0 0.5rem 1rem 0.5rem; }
.timer-header__title { font-size: 1.25rem; font-weight: 600; }
.timer-icon-btn { background: var(--c-surface-1); color: var(--c-text-secondary); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; font-size: 1rem; cursor: pointer; transition: all 0.2s ease; border: none;}
.timer-icon-btn:hover { color: var(--c-text-primary); transform: scale(1.1); }



.program-card { background: var(--c-surface-1); border: 1px solid var(--c-border); border-radius: var(--radius-md); padding: 1rem; cursor: pointer; transition: all 0.2s ease-out; display: flex; flex-direction: column; gap: 0.75rem; }
.program-card:hover { transform: translateY(-4px); border-color: var(--c-primary); box-shadow: 0 8px 25px rgba(0,0,0,0.3); }
.program-card-header { display: flex; justify-content: space-between; align-items: center; }
.program-card-title { font-size: 1.1rem; font-weight: 600; margin: 0; }
.program-card-badge { background: var(--c-amrap); color: #000; font-size: 0.7rem; font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 99px; }
.program-card-body { font-size: 0.9rem; color: var(--c-text-secondary); line-height: 1.5; }

.info-chip { background: rgba(255,255,255,0.05); border-radius: 99px; padding: 0.3rem 0.7rem; font-size: 0.75rem; font-weight: 500; display: flex; align-items: center; gap: 0.4rem; color: var(--c-text-secondary); }
.info-chip i { font-size: 0.8em; }
.loading-indicator, .no-programs { text-align: center; padding: 2rem; color: var(--c-text-secondary); }

/* Review Screen Redesign */
.timer-config-body { flex-grow: 1; overflow-y: auto; padding: 4px; }
.review-card { background-color: var(--c-surface-1); border-radius: 1rem; margin-bottom: 1.25rem; box-shadow: 0 4px 15px rgba(0,0,0,0.2); border: 2px solid transparent; transition: border-color 0.3s ease; }
.review-card.is-active { border-color: var(--c-primary); }
.review-card-header { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; border-bottom: 1px solid var(--c-border); }
.review-header-content { display: flex; align-items: center; gap: 0.75rem; overflow: hidden; }
.review-header-icon { width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1rem; }
.review-card-title { font-size: 1rem; font-weight: 600; margin: 0; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.review-card-body { padding: 0.5rem 1rem 1rem 1rem; display: flex; flex-direction: column; gap: 0.5rem; }
.review-move-item { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 0; border-bottom: 1px solid var(--c-border); }
.review-move-item:last-child { border-bottom: none; padding-bottom: 0; }
.review-move-info, .review-move-weight { display: flex; align-items: center; gap: 0.75rem; }
.review-move-icon { color: var(--c-text-secondary); font-size: 0.9rem; width: 18px; text-align: center; }
.review-move-text { font-size: 0.9rem; font-weight: 500; }
.review-weight-input { width: 60px; background: var(--c-bg); border: 1px solid var(--c-border); color: var(--c-text-primary); text-align: center; font-family: var(--font-display); font-size: 1rem; padding: 0.5rem; border-radius: 0.5rem; }
.review-move-weight span { font-size: 0.8rem; color: var(--c-text-secondary); }
.start-workout-fab { position: absolute; bottom: 1.5rem; right: 1.5rem; width: 64px; height: 64px; border-radius: 50%; border: none; background: linear-gradient(45deg, var(--c-primary), #8a88ff); color: white; font-size: 1.75rem; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 10px 25px rgba(88, 86, 214, 0.4); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); z-index: 10; }
.start-workout-fab:hover { transform: scale(1.1) rotate(10deg); box-shadow: 0 15px 30px rgba(88, 86, 214, 0.5); }
.start-workout-fab:disabled { background: var(--c-surface-2); color: var(--c-text-secondary); box-shadow: none; transform: scale(1); cursor: not-allowed; }
.checkbox-wrapper { position: relative; }
/*.stage-checkbox { opacity: 0; width: 0; height: 0; position: absolute; }*/
/*.stage-checkbox + label { position: relative; cursor: pointer; padding-left: 30px; display: inline-block; height: 22px; line-height: 22px; }*/
/*.stage-checkbox + label::before { content: ''; position: absolute; left: 0; top: 0; width: 22px; height: 22px; border: 2px solid var(--c-text-secondary); background: var(--c-surface-1); border-radius: 6px; transition: all 0.2s ease; }*/
/*.stage-checkbox:checked + label::before { background-color: var(--c-primary);*/
/*    border-color: var(--c-primary); }*/
/*.stage-checkbox + label::after { content: '\f00c'; font-family: 'Font Awesome 6 Free'; font-weight: 900; position: absolute; left: 4px; top: 1px; font-size: 14px; color: #fff; opacity: 0; transform: scale(0.5); transition: all 0.2s ease; }*/
/*.stage-checkbox:checked + label::after { opacity: 1; transform: scale(1); }*/

.timer-modal-content {
    background: transparent;
    margin: auto;
    width: 100%;
    /*height: 100%;*/
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0.75rem 0 0.75rem;
    text-align: center;
    /*display: grid; !* <-- ۱. تغییر اصلی: استفاده از Grid *!*/
    grid-template-rows: auto auto 1fr auto; /* <-- ۲. تعریف سطرها */
    height: 100%; /* <-- ۳. تضمین ارتفاع کامل */

}


.timer-header-redesigned { display: flex; align-items: center; width: 100%; padding: 0 0.5rem; gap: 1rem; flex-shrink: 0;
        border-bottom: 1px solid var(--c-border);

}
.header-segment-title {
    width: 100%;
    font-size: 18px; font-weight: 500; color: var(--c-text-dark); white-space: nowrap; overflow: hidden;
    text-overflow: ellipsis;  text-align: center;
    border-bottom: 1px solid var(--c-primary);


}
.current-move-display {
    width: 80%;
    font-size: 14px;
    color: var(--c-text-dark);
    white-space: nowrap;
    overflow: hidden; text-overflow:
    ellipsis;
    text-align: center;
    margin-top: 15px;
    border-bottom: 1px solid var(--c-primary);
}
.live-laps-container {

    height: 15vh; /* <-- این خط را جایگزین کنید تا ارتفاع ثابت ایجاد شود */
    width: 100%; /* این مقدار از کد خودتان آمده و صحیح است */
    overflow-y: auto; /* این خط ضروری است */
    padding: 0.5rem;
    border: 1px solid var(--c-border);
    background: var(--c-surface-1);
    border-radius: 0.75rem;
    margin-bottom: 1rem;
    margin-top: 10px;
}

/* این خط برای مخفی کردن اسکرول‌بار است و صحیح است */
.live-laps-container::-webkit-scrollbar {
    display: none;
}
.move-laps-list { padding-left: 3rem; }


.move-lap {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    color: var(--timer-c-text-dark);
    padding: 0 0;
    margin: 0 0 -3px 0;
    text-align: left;
    /* border-bottom: 1px solid #b1c9c90a; */
}


.lap-time { font-family: var(--font-display); }

.lap-deviation.positive { color: var(--c-danger); }
.lap-deviation.negative { color: var(--c-success); }

.timer-display-wrapper-redesigned .timer-progress-ring__bg { stroke: var(--c-surface-2); stroke-dasharray: 4, 4; }
.timer-display-wrapper-redesigned .timer-progress-ring__arc { transition: stroke-dashoffset 0.25s linear; transform: rotate(-90deg); transform-origin: 50% 50%; }




.move-counter-wrapper { position: relative; }
.move-info-display {


    display: flex; /* ۱. فعال کردن Flexbox */
    flex-direction: column; /* ۲. چیدن آیتم‌ها به صورت ستونی */
    align-items: center; /* ۳. (اختیاری) وسط‌چین کردن آیتم‌ها به صورت افقی */

    position: absolute; top: -36px;
    left: 28%; transform: translateX(-50%);
    background: var(--c-surface-2);
    color: var(--c-text-primary);
    font-size: 0.7rem; padding: 0.2rem 0.5rem;
    border-radius: 4px; font-family: var(--font-display); }

/* Feedback Form & Results */
.feedback-form-container { direction: rtl; text-align: right; flex-grow: 1; display: flex; flex-direction: column; overflow-y: auto; padding: 0.5rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-group { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1rem; }
.form-group label { font-size: 0.8rem; font-weight: 500; color: var(--c-text-dark); margin-right: 0.5rem; }
.rpe-slider { display: flex; align-items: center; gap: 1rem; flex-direction: row-reverse; }
.rpe-slider span { font-family: var(--font-display); font-size: 1.2rem; }
.form-range { width: 100%; }
.save-workout-btn { margin-top: auto; background: var(--c-success); color: #fff; width: 100%; padding: 1rem; border: none; border-radius: 0.75rem; font-size: 1.1rem; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 0.5rem; flex-shrink: 0; }
.save-workout-btn:disabled { opacity: 0.5; cursor: wait; }
.results-screen { display: flex; align-items: center; justify-content: center; text-align: center; }

.results-icon { font-size: 5rem; color: var(--c-amrap); }
.results-title { font-family: var(--timer-font-title); font-size: 2.5rem; margin: 0; }
.back-to-home-btn { margin-top: 2rem; background: var(--c-primary); color: white; border: none; padding: 1rem 2.5rem; border-radius: 2rem; font-size: 1rem; font-weight: bold; cursor: pointer; }



@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css');
:root {
    --timer-font-ui: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    --timer-font-display: 'Roboto Mono', monospace;
    --timer-font-title: 'Poppins', sans-serif;
    --timer-c-amrap: #F9A826; --timer-c-fortime: #6259FF; --timer-c-emom: #C13584;
    --timer-c-tabata: #2ED573; --timer-c-rest: #8e8e93; --timer-c-bg: #121212;
    --timer-c-text: #ffffff; --timer-c-text-dark: #a0a0a0; --timer-c-surface: #1e1e1e;
    --timer-c-border: rgba(255, 255, 255, 0.1); --timer-c-success: #2ED573; --timer-c-danger: #e74c3c; --timer-c-primary: #6259FF;
    --c-bg: #161a22; --c-surface-1: #1f232e; --c-surface-2: #2a2f3c;
    --c-border: rgba(255, 255, 255, 0.08); --c-text-primary: #f1f1f1;
    --c-text-secondary: #9a9ca5; --c-primary: #5856d6; --c-success: #34c759;
    --c-danger: #ff3b30; --c-amrap: #ff9500; --c-fortime: #007aff;
    --c-emom: #ff2d55; --c-tabata: #34c759; --c-rest: #8e8e93;
    --font-ui: 'Inter', system-ui, sans-serif; --font-display: 'Roboto Mono', monospace;
    --radius-sm: 8px; --radius-md: 16px; --radius-lg: 24px;
}

/* Base and Program Selection Styles */
.timer-header__title { font-size: 1.5rem; font-family: var(--timer-font-title); font-weight: 600; }
.timer-icon-btn { background: none; border: none; color: var(--timer-c-text-dark); cursor: pointer; font-size: 1.5rem; transition: transform 0.2s; }
.timer-icon-btn:hover { transform: scale(1.1); color: var(--timer-c-text); }
.timer-selection-screen__title {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    font-family: var(--timer-font-title);
}
.timer-selection-screen__subtitle
{
    font-size: 14px;
    color: var(--timer-c-text-dark);
    text-align: center;
    margin-bottom: 1.5rem;
}

.program-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex-grow: 1; /* این باعث می‌شود فضای خالی باقی‌مانده را پر کند */
    overflow-y: auto; /* <<<< این خط اسکرول عمودی را در صورت نیاز فعال می‌کند */
    padding: 0.25rem;
}


.program-card { background: var(--timer-c-surface); border: 1px solid var(--timer-c-border); border-radius: 1rem; padding: 1rem; cursor: pointer; transition: all 0.2s ease-out; display: flex; flex-direction: column; gap: 0.75rem; }
.program-card:hover { transform: translateY(-5px); border-color: var(--timer-c-primary); box-shadow: 0 10px 20px rgba(0,0,0,0.25); }
.program-card-header { display: flex; justify-content: space-between; align-items: center; }
.program-card-title { font-size: 1.1rem; font-weight: 600; margin: 0; }
.program-card-badge { background: var(--timer-c-amrap); color: #000; font-size: 0.7rem; font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 99px; }
.program-card-body { font-size: 0.9rem; color: var(--timer-c-text-dark); line-height: 1.5; }



.program-card-footer {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap; /* <<<< این خط جدید، مشکل را حل می‌کند */
    border-top: 1px solid var(--c-border);
    padding-top: 0.75rem;
    margin-top: 0.25rem;
}



.info-chip { background: rgba(255,255,255,0.05); border-radius: 99px; padding: 0.3rem 0.7rem; font-size: 0.75rem; font-weight: 500; display: flex; align-items: center; gap: 0.4rem; color: var(--timer-c-text-dark); }
.info-chip i { color: var(--timer-c-primary); }
.loading-indicator, .no-programs { text-align: center; padding: 2rem; color: var(--timer-c-text-dark); font-size: 1rem; }
.no-programs span { display: block; }
.timer-config-body { flex-grow: 1; overflow-y: auto; padding-right: 10px; margin-right: -10px; }
.start-workout-btn { width: 100%; padding: 1rem; border: none; border-radius: 1.5rem; color: #000; font-size: 1.2rem; font-weight: bold; cursor: pointer; transition: transform 0.2s; }

.header-icons {
    display: flex; justify-content: space-between; align-items: center; padding: 0 0.5rem 1rem 0.5rem; width: 100%;
}



.round-lap { margin-bottom:2px; }

.round-lap-header {
    display: flex;
    /* justify-content: space-between; */
    /* font-weight: 600; */
    font-size: 12px;
    padding: 0 0 0 0;
    border-bottom: 1px solid var(--timer-c-border);
    text-align: justify;
}

.move-lap-name { flex-basis: 60%; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lap-time {
    font-family: var(--timer-font-display);
    font-size: 11px;
}
.lap-deviation { font-family: var(--timer-font-display); font-size: 11px; }
.lap-deviation.positive { color: var(--timer-c-danger); }
.lap-deviation.negative { color: var(--timer-c-success); }



/* Redesigned Timer Screen */
/*.timer-display-wrapper-redesigned {*/
/*    position: relative;*/
/*    width: 250px;*/
/*    height: 250px;*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    flex-shrink: 0;*/
/*}*/

/*.timer-display-wrapper-redesigned {*/
/*    position: relative;*/
/*    width: 60vw; !* ✅ تغییر کلیدی: عرض واکنش‌گرا *!*/
/*    height: 60vw; !* ✅ تغییر کلیدی: ارتفاع واکنش‌گرا *!*/
/*    max-width: 250px; !* ✅ جدید: حداکثر عرض برای صفحات بزرگ *!*/
/*    max-height: 250px; !* ✅ جدید: حداکثر ارتفاع برای صفحات بزرگ *!*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    flex-shrink: 0;*/
/*    margin-bottom: 1rem;*/
/*}*/


.timer-display-wrapper-redesigned {
    position: relative;
    width: 70%; /* ✅ تغییر: عرض برابر با ۷۰٪ والد */
    aspect-ratio: 1 / 1; /* ✅ جدید: همیشه نسبت عرض به ارتفاع را ۱ نگه می‌دارد (مربع کامل) */
    max-width: 250px; /* این محدودیت برای صفحات بزرگ همچنان خوب است */

    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-bottom: 1rem;
}

.control-btn.play-pause-main {
    position: absolute;
    z-index: 10;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    font-size: 3rem;
    background: var(--c-primary);
    color: #fff;
    border: none;
    cursor: pointer;
    transition: transform 0.2s ease;
}
.control-btn.play-pause-main:hover {
    transform: scale(1.1);
}


.timer-display-wrapper-redesigned .timer-progress-ring__arc { transition: stroke-dashoffset 0.25s linear; transform: rotate(-90deg); transform-origin: 50% 50%; }



.timer-controls-redesigned {
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    width: 100%;
    flex-shrink: 0;
    gap: 5rem;
    margin-top: auto; /* این خط فوتر را به پایین می‌چسباند */
}
.control-btn-minimal {
    background: transparent;
    border: none;
    color: var(--c-text-secondary);
    cursor: pointer;
    font-size: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    transition: all 0.2s ease;
    padding: 0.5rem;
}
.control-btn-minimal:hover {
    background: none;!important;
    color: var(--c-amrap);
    /*color: var(--c-text-primary);*/
    transform: scale(1.1);
}
.control-btn-minimal span {
    font-size: 0.8rem;
    font-weight: 500;
    font-family: var(--font-ui);
}
.control-btn-minimal.start-btn {
    font-size: 3.5rem;
    padding: 0;

}

.paused-controls {
    display: flex;
    gap: 3rem;
    align-items: center;
}


.swal2-container {
    z-index: 100000 !important;
}



.control-btn { background: var(--timer-c-surface); border: 1px solid var(--timer-c-border); border-radius: 1.25rem; width: 100px; height: 80px; display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s ease; }
.control-btn.play-pause { background: var(--timer-c-primary); border: none; width: 70px; height: 70px; border-radius: 50%; font-size: 1.8rem; color: #fff; }
.control-btn:hover { transform: scale(1.05); }
.btn-main-text { font-family: var(--timer-font-display); font-size: 1.8rem; line-height: 1; }
.btn-sub-text { font-size: 0.6rem; font-weight: 600; color: var(--timer-c-text-dark); text-transform: uppercase; margin-top: 4px; }
.control-btn.disabled { opacity: 0.4; cursor: not-allowed; transform: none; }
.total-segment-time { margin-top: 0.5rem; font-family: var(--timer-font-display); color: var(--timer-c-text-dark); font-size: 0.9rem; flex-shrink: 0; }
.feedback-form-container { direction: rtl; text-align: right; flex-grow: 1; display: flex; flex-direction: column; overflow-y: auto; padding: 0.5rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-group { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1rem; }
.form-group label { font-size: 0.8rem; font-weight: 500; color: var(--timer-c-text-dark); margin-right: 0.5rem; }
.rpe-slider { display: flex; align-items: center; gap: 1rem; flex-direction: row-reverse; }
.rpe-slider span { font-family: var(--timer-font-display); font-size: 1.2rem; }
.form-range { width: 100%; }
.save-workout-btn { margin-top: auto; background: var(--timer-c-success); color: #fff; width: 100%; padding: 1rem; border: none; border-radius: 0.75rem; font-size: 1.1rem; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 0.5rem; flex-shrink: 0; }
.save-workout-btn:disabled { opacity: 0.5; cursor: wait; }
.results-screen { display: flex; align-items: center; justify-content: center; text-align: center; }

.results-icon { font-size: 5rem; color: var(--timer-c-amrap); }
.results-title { font-family: var(--timer-font-title); font-size: 2.5rem; margin: 0; }
.results-subtitle { color: var(--timer-c-text-dark); font-size: 1rem; }
.results-summary { background: var(--timer-c-surface); border-radius: 1rem; padding: 1.5rem; margin-top: 1rem; width: 100%; }

.summary-item strong { font-size: 1.5rem; font-family: var(--timer-font-display); color: var(--timer-c-success); }
.back-to-home-btn { margin-top: 2rem; background: var(--timer-c-primary); color: white; border: none; padding: 1rem 2.5rem; border-radius: 2rem; font-size: 1rem; font-weight: bold; cursor: pointer; }

/* Redesigned Review Card Styles */
.review-card { background: var(--timer-c-surface); border: 1px solid var(--timer-c-border); border-radius: 1rem; margin-bottom: 1rem; overflow: hidden; }
.review-card-header { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; background: rgba(255,255,255,0.05); border-left: 4px solid; }
.review-card-header i { font-size: 1.1rem; }
.review-card-title { font-size: 1rem; font-weight: 600; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.review-card-body { padding: 1rem; display: flex; flex-direction: column; gap: 0.75rem; }
.review-move-item { display: flex; justify-content: space-between; align-items: center; background: rgba(0,0,0,0.2); padding: 0.75rem; border-radius: 0.5rem; }
.review-move-info, .review-move-weight { display: flex; align-items: center; gap: 0.75rem; }
.review-move-icon { color: var(--timer-c-text-dark); width: 16px; text-align: center; }
.review-move-text { font-size: 0.9rem; }
.review-weight-input { width: 60px; background: var(--timer-c-bg); border: 1px solid var(--timer-c-border); color: var(--timer-c-text); text-align: center; font-family: var(--timer-font-display); font-size: 1rem; padding: 0.25rem; border-radius: 0.375rem; }
.review-move-weight span { font-size: 0.8rem; color: var(--timer-c-text-dark); }


/* Base and Program Selection Styles */
.timer-popup-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(12px); display: flex; align-items: center; justify-content: center; z-index: 99999; }

.timer-screen {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden; /* <<<< این خط مشکل اسکرول را حل می‌کند */
}



.timer-header {
    display: flex; justify-content: space-between; align-items: center; padding: 0 0.5rem 1rem 0.5rem;
}
.timer-header__title { font-size: 1.25rem; font-weight: 600; }

.timer-icon-btn:hover { color: var(--c-text-primary); transform: scale(1.1); }

.program-card { background: var(--c-surface-1); border: 1px solid var(--c-border); border-radius: var(--radius-md); padding: 1rem; cursor: pointer; transition: all 0.2s ease-out; display: flex; flex-direction: column; gap: 0.75rem; }
.program-card:hover { transform: translateY(-4px); border-color: var(--c-primary); box-shadow: 0 8px 25px rgba(0,0,0,0.3); }
.program-card-header { display: flex; justify-content: space-between; align-items: center; }
.program-card-title { font-size: 1.1rem; font-weight: 600; margin: 0; }
.program-card-badge { background: var(--c-amrap); color: #000; font-size: 0.7rem; font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 99px; }
.program-card-body { font-size: 0.9rem; color: var(--c-text-secondary); line-height: 1.5; }

.info-chip { background: rgba(255,255,255,0.05); border-radius: 99px; padding: 0.3rem 0.7rem; font-size: 0.75rem; font-weight: 500; display: flex; align-items: center; gap: 0.4rem; color: var(--c-text-secondary); }
.info-chip i { font-size: 0.8em; }
.loading-indicator, .no-programs { text-align: center; padding: 2rem; color: var(--c-text-secondary); }

/* Review Screen Redesign */
.timer-config-body { flex-grow: 1; overflow-y: auto; padding: 4px; }
.review-card-minimal { background-color: var(--c-surface-1); border-radius: 1rem; margin-bottom: 1rem; box-shadow: 0 4px 15px rgba(0,0,0,0.2); border: 2px solid transparent; transition: border-color 0.3s ease; }
.review-card-minimal.is-active { border-color: var(--c-primary); }
.review-card-header { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; border-bottom: 1px solid var(--c-border); }
.review-header-content { display: flex; align-items: center; gap: 0.75rem; overflow: hidden; }
.review-header-icon { width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1rem; }
.review-card-title { font-size: 1rem; font-weight: 600; margin: 0; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.review-card-body { padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem; }
.review-move-item { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 0; border-bottom: 1px solid var(--c-border); }
.review-move-item:last-child { border-bottom: none; padding-bottom: 0; }
.review-move-info, .review-move-weight { display: flex; align-items: center; gap: 0.75rem; }
.review-move-icon { color: var(--c-text-secondary); font-size: 0.9rem; width: 18px; text-align: center; }
.review-move-text { font-size: 0.9rem; font-weight: 500; }
.review-weight-input { width: 60px; background: var(--c-bg); border: 1px solid var(--c-border); color: var(--c-text-primary); text-align: center; font-family: var(--font-display); font-size: 1rem; padding: 0.5rem; border-radius: 0.5rem; }
.review-move-weight span { font-size: 0.8rem; color: var(--c-text-secondary); }
.start-workout-fab { position: absolute; bottom: 1.5rem; right: 1.5rem; width: 64px; height: 64px; border-radius: 50%; border: none; background: linear-gradient(45deg, var(--c-primary), #8a88ff); color: white; font-size: 1.75rem; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 10px 25px rgba(88, 86, 214, 0.4); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); z-index: 10; }
.start-workout-fab:hover { transform: scale(1.1) rotate(10deg); box-shadow: 0 15px 30px rgba(88, 86, 214, 0.5); }
.start-workout-fab:disabled { background: var(--c-surface-2); color: var(--c-text-secondary); box-shadow: none; transform: scale(1); cursor: not-allowed; }

.review-move-weight
{
        gap: 5px;
        padding: 0 5px 0 3px;
}

/* Active Timer Screen Redesign */
.timer-main-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; /* محتوای اصلی را در فضای باقی‌مانده وسط‌چین می‌کند */
    flex-grow: 1;
    width: 100%;
}


/* >> استایل‌های جدید برای فوتر << */
.timer-footers {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: space-around; /* بهترین حالت برای چهار آیتم */
    padding: 0.75rem 0.5rem;
    border-top: 1px solid var(--c-border);
    flex-shrink: 0;
    margin-top: auto;
}
.timer-footer-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}
.timer-footer-info span {
    font-size: 0.65rem; /* کمی کوچک‌تر برای جا شدن */
    color: var(--c-text-secondary);
    text-transform: uppercase;
    font-weight: 500;
}
.timer-footer-info strong {
    font-family: var(--font-display);
    font-size: 0.9rem; /* کمی کوچک‌تر برای جا شدن */
    color: var(--c-text-primary);
}

/* >> استایل‌های جدید برای محتوای داخل دایره << */
.timer-display-content {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.timer-smart-display__time {
    font-size: 3.5rem; /* کوچک‌تر شده برای جا دادن محتوای جدید */
    font-family: var(--font-display);
    line-height: 1;
}
.timer-display-round-number {
    font-size: 1rem;
    font-weight: 600;
    color: var(--c-text-secondary);
    margin-bottom: 0.5rem;
}
.timer-display-move-count {
    font-family: var(--font-display);
    font-size: 1rem;
    color: var(--c-text-secondary);
    margin-top: 0.5rem;
    background-color: rgba(0,0,0,0.3);
    padding: 0.1rem 0.5rem;
    border-radius: 4px;
}


/* Segment Finished Screen Styles */
/* Segment Finished Screen Styles */
.segment-finished-screen {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    height: 100%;
    padding: 1.5rem;
    gap: 1rem;
}
.segment-finished-screen h2 {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--c-success);
}
.segment-finished-screen p {
    color: var(--c-text-secondary);
}


/*!* Live Laps Display *!*/
/*.live-laps-container {*/
/*    width: 100%; height: 15vh; overflow-y:*/
/*    auto; padding: 0.5rem;*/
/*    background: var(--c-bg);*/
/*    border-radius: 0.75rem; margin-bottom: 1rem;*/
/*    flex-shrink: 0;*/
/*    scrollbar-width: none;*/
/*    -ms-overflow-style: none;*/
/*}*/



/* >> استایل جدید برای راند در حال انجام << */
.round-lap.is-in-progress .round-lap-header {
    color: var(--c-amrap);
    font-style: italic;
}


.summary-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    width: 100%;
    background: var(--c-surface-1);
    padding: 1rem;
    border-radius: var(--radius-md);
}
.summary-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.summary-label {
    font-size: 0.8rem;
    color: var(--c-text-secondary);
    text-transform: uppercase;
}
.summary-value {
    font-size: 1.2rem;
    font-weight: 600;
    font-family: var(--font-display);
}
.next-segment-btn {
    margin-top: 1rem;
    background: var(--c-primary);
    color: white;
    border: none;
    padding: 0.75rem 2rem;
    border-radius: 99px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.2s ease;
}
.next-segment-btn:hover {
    transform: scale(1.05);
    filter: brightness(1.1);
}



/* Rest Overlay Styles */
.rest-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(22, 26, 34, 0.95); /* var(--c-bg) with opacity */
    backdrop-filter: blur(5px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 20;
    color: var(--c-text-primary);
}
.rest-icon {
    font-size: 3rem;
    color: var(--c-rest);
}
.rest-title {
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--c-rest);
    margin: 1rem 0;
}
.rest-time {
    font-family: var(--font-display);
    font-size: 5rem;
}
.skip-rest-btn {
    margin-top: 2rem;
    background: var(--c-surface-1);
    border: 1px solid var(--c-border);
    color: var(--c-text-secondary);
    padding: 0.5rem 1.5rem;
    border-radius: 99px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.2s ease;
}
.skip-rest-btn:hover {
    color: var(--c-text-primary);
    border-color: var(--c-text-primary);
}
/* ... All previous styles ... */

/* Redesigned Feedback Form */
.feedback-form-container {
    direction: rtl;
    text-align: right;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    padding: 0.5rem;
}
.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1rem;
}
.form-group label {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--c-text-secondary);
    margin-right: 0.5rem;
}
.form-input, .form-textarea, select.form-input {
    background: var(--c-surface-1);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-sm);
    /*padding: 0.75rem;*/
    color: var(--c-text-primary);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.form-input:focus, .form-textarea:focus, select.form-input:focus {
    outline: none;
    border-color: var(--c-primary);
}
.rpe-slider {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-direction: row-reverse;
}
.rpe-slider span {
    font-family: var(--font-display);
    font-size: 1.2rem;
}
.form-range {
    width: 100%;
}
.save-workout-btn {
    margin-top: auto;
    background: var(--c-success);
    color: #fff;
    width: 100%;
    padding: 1rem;
    border: none;
    border-radius: var(--radius-md);
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-shrink: 0;
}
.save-workout-btn:disabled {
    opacity: 0.5;
    cursor: wait;
}

/* ... All previous styles ... */

/* Redesigned Feedback Form */
.feedback-form-container {
    direction: rtl;
    text-align: right;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    padding: 0.5rem;
}
.form-group-divider {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--c-amrap);
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--c-border);
}
.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}
.form-group label {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--c-text-secondary);
    margin-right: 0.5rem;
}

.form-input:focus, .form-textarea:focus, select.form-input:focus {
    outline: none;
    border-color: var(--c-primary);
}
.rpe-slider {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-direction: row-reverse;
}
.rpe-slider span {
    font-family: var(--font-display);
    font-size: 1.2rem;
}
.form-range {
    width: 100%;
}
.save-workout-btn {
    margin-top: auto;
    background: var(--c-success);
    color: #fff;
    width: 100%;
    padding: 1rem;
    border: none;
    border-radius: var(--radius-md);
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-shrink: 0;
    margin-top: 1.5rem;
}
.save-workout-btn:disabled {
    opacity: 0.5;
    cursor: wait;
}
/* استایل برای هایلایت کردن آیتم فعال */
.round-lap.is-active > .round-lap-header,
.move-lap.is-active,
.set-lap.is-active {
    color: var(--c-amrap); /* یا هر رنگ دیگری که برای هایلایت می‌پسندید */
    font-weight: 600;
    background-color: rgba(249, 168, 38, 0.1); /* یک پس‌زمینه ملایم برای آیتم فعال */
}

/* استایل برای نمایش ست‌ها */
.set-laps-list {
    padding-left: 2rem; /* کمی تورفتگی بیشتر نسبت به حرکت */
    margin-bottom: 5px;
}

.set-lap {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: var(--c-text-secondary);
    padding: 2px 0;
}
/* --- استایل‌های جدید برای نمایش سلسله مراتبی Live Laps --- */

.lap-list {
    width: 100%;
    font-size: 13px;
    color: var(--c-text-secondary);
}

.lap-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1px 8px 0 0;
    border-bottom: 1px solid var(--c-border);
    transition: background-color 0.3s;
}

.lap-row:last-child {
    border-bottom: none;
}

/* استایل برای هایلایت کردن ردیف فعال */
.lap-row.is-active {
    background-color: rgba(88, 86, 214, 0.15); /* رنگ --c-primary با شفافیت */
    border-left: 3px solid var(--c-primary);
    padding-left: 5px;
    color: var(--c-text-primary);
}


.lap-row__main {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 35%;
    /* این دو خط برای اطمینان از عملکرد صحیح فرزندان Flex لازم است */
    overflow: hidden;
    min-width: 0; /* به آیتم‌های flex اجازه می‌دهد کوچک‌تر از محتوای خود شوند */
    flex-shrink: 0; /* اجازه نمی‌دهد این بخش کوچک شود */
}

/* فایل: smart-timer.css */

.lap-time .fa-hourglass-half {
    color: var(--c-amrap);
    font-size: 0.9em;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.lap-row__main span {
    /* به متن می‌گوییم که فضای باقی‌مانده را پر کند */
    flex: 1;
    text-align: left;
    /* سه ویژگی کلیدی برای نمایش سه نقطه */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lap-row__main i {
    font-size: 11px;
    width: 12px;
    text-align: center;
}

.lap-row__times {
    display: flex;
    gap: 5px;
    font-family: var(--font-display);
    font-size: 12px;
    width: 30%;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
}

/* استایل‌های مخصوص هر نوع ردیف */
.lap-row--round > .lap-row__main {
    font-weight: 700;
    color: var(--c-text-primary);
    font-size: 14px;
}

.lap-row--move {
    padding-left: 20px;
}
.lap-row--move.is-active {
    padding-left: 17px;
}

.lap-row--set {
    padding-left: 40px;
}
.lap-row--set.is-active {
    padding-left: 37px;
}
/* استایل برای ستون جدید جزئیات */
.lap-row__details {
    /* این بخش به صورت خودکار فضای خالی بین نام و زمان را پر می‌کند */
    flex-grow: 1;
    text-align: left;
    font-size: 12px;
    color: var(--c-text-secondary);
    /* جلوگیری از شکستن خط در متن‌های طولانی */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 10px;
}




/* اصلاح بخش زمان‌ها برای جلوگیری از گرفتن فضای زیاد */

/* رنگ‌بندی برای گروه انحراف */
.lap-deviation-group.positive {
    color: var(--c-danger); /* رنگ قرمز برای زمان کندتر */
}
.lap-deviation-group.negative {
    color: var(--c-success); /* رنگ سبز برای زمان سریع‌تر */
}
.lap-deviation-group.neutral {
    color: var(--c-fortime); /* رنگ آبی برای حالت بدون تغییر */
}

.header-icons-group {
    display: flex;
    align-items: center;
    gap: 12px; /* فاصله بین آیکون‌ها */
}



/* --- استایل‌های نسخه نهایی و مینیمال فرم بازخورد --- */
.timer-form-end-screen {
    display: flex; flex-direction: column; height: 100%;
    width: 100%; background-color: var(--c-bg);
}
.timer-form-end-body {
    direction: rtl; flex-grow: 1; overflow-y: auto;
    padding: 0 1.5rem;
}
.timer-form-end-group {
    background-color: var(--c-surface-1);
    border-radius: var(--radius-md);
    padding: 0.75rem 1rem; margin-bottom: 0.75rem;
    border: 1px solid var(--c-border);
}
.timer-form-end-group-title {
    font-size: 15px; font-weight: 500;
    color: var(--c-text-secondary); text-transform: uppercase;
    padding: 0;
    margin-bottom: 5px;
    margin-right: 10px;
    display: flex; align-items: center; gap: 0.5rem;
}
.timer-form-end-group-title i { color: var(--c-text-secondary); }

.timer-form-end-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.timer-form-end-field { display: flex; flex-direction: column; gap: 0.5rem; }
.timer-form-end-field label { font-size: 0.9rem; font-weight: 500; color: var(--c-text-primary); }

.timer-form-end-input, .timer-form-end-select, .timer-form-end-textarea {
    background: var(--c-bg); border: 1px solid var(--c-border);
    border-radius: var(--radius-sm); padding: 0.6rem 0.75rem;
    color: var(--c-text-primary); font-size: 1rem; width: 100%;
}
.timer-form-end-input:focus, .timer-form-end-select:focus, .timer-form-end-textarea:focus {
    outline: none; border-color: var(--c-primary);
    box-shadow: 0 0 0 3px rgba(88, 86, 214, 0.3);
}

/* --- کامپوننت‌های تعاملی مینیمال --- */
.timer-form-end-slider-group { display: flex; align-items: center; gap: 1rem; }
.timer-form-end-slider-group input[type="range"] { flex-grow: 1; }
.timer-form-end-slider-group span { font-family: var(--font-display); font-size: 1.1rem; color: var(--c-primary); }

.timer-form-end-star-rating { display: flex; flex-direction: row-reverse; justify-content: center; gap: 0.25rem; }
.timer-form-end-star-rating i { font-size: 1.5rem; color: var(--c-surface-2); cursor: pointer; transition: all 0.2s; }
.timer-form-end-star-rating i:hover { transform: scale(1.1); }
.timer-form-end-star-rating i.active, .timer-form-end-star-rating i.hover { color: var(--c-amrap); }

.timer-form-end-emoji-selector { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.5rem; }
.timer-form-end-emoji-selector div { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; padding: 0.25rem; border-radius: var(--radius-sm); cursor: pointer; border: 2px solid transparent; }
.timer-form-end-emoji-selector div:hover { background-color: var(--c-surface-2); }
.timer-form-end-emoji-selector div.selected { background-color: rgba(88, 86, 214, 0.2); border-color: var(--c-primary); }
.timer-form-end-emoji-selector span { font-size: 1.25rem; }
.timer-form-end-emoji-selector small { font-size: 0.65rem; color: var(--c-text-secondary); }

.timer-form-end-segmented-control { display: grid; grid-template-columns: repeat(3, 1fr); border-radius: var(--radius-sm); border: 1px solid var(--c-border); overflow: hidden; }
.timer-form-end-segmented-control input[type="radio"] { display: none; }
.timer-form-end-segmented-control label { text-align: center; padding: 0.5rem 0; cursor: pointer; color: var(--c-text-secondary); transition: all 0.2s ease; margin: 0; display: flex; align-items: center; justify-content: center; gap: 0.25rem; font-size: 0.8rem; }
.timer-form-end-segmented-control input[type="radio"]:checked + label { background-color: var(--c-primary); color: white; font-weight: 600; }

.timer-form-end-stepper { display: flex; align-items: center; background: var(--c-bg); border-radius: var(--radius-sm); border: 1px solid var(--c-border); padding: 2px; }
.timer-form-end-stepper input { width: 100%; border: none; background: transparent; color: var(--c-text-primary); text-align: center; font-size: 1.1rem; font-family: var(--font-display); }
.timer-form-end-stepper input:focus { outline: none; }

.timer-form-end-footer {
    padding: 1rem; background-color: rgba(22, 26, 34, 0.8);
    backdrop-filter: blur(5px);
    border-top: 1px solid var(--c-border); flex-shrink: 0;
    box-shadow: 0 -5px 15px rgba(0,0,0,0.2);
}

/* --- استایل‌های نهایی دکمه‌ها با اولویت !important --- */

/* * ما به بسیاری از ویژگی‌ها !important اضافه کرده‌ایم تا بر استایل عمومی شما غلبه کنند.
 * همچنین ویژگی‌هایی مانند height و min-width را ریست کرده‌ایم.
*/

/* دکمه‌های آیکون‌دار عمومی در هدرها */
.timer-app-container .timer-icon-btn {
    background: var(--c-surface-1) !important;
    color: var(--c-text-secondary) !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important; /* ریست کردن min-width عمومی */
    padding: 0 !important; /* ریست کردن padding عمومی */
    font-size: 1rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    border: none !important;
}
.timer-app-container .timer-icon-btn:hover {
    color: var(--c-text-primary) !important;
    transform: scale(1.1) !important;
}

/* دکمه‌های کنترلی اصلی تایمر */
.timer-app-container .control-btn-minimal {
    background: transparent !important;
    color: var(--c-text-secondary) ;
    font-size: 1.5rem !important;
    padding: 0.5rem !important;
    border: none !important;
    border-radius: 8px !important;
    min-width: unset !important; /* ریست کردن min-width */
    height: auto !important; /* ریست کردن height */
    /* سایر استایل‌های لازم برای این دکمه */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    cursor: pointer;
}
.timer-app-container .control-btn-minimal span {
    font-size: 1rem !important;
}
.timer-app-container .control-btn-minimal.start-btn {
    font-size: 2rem !important;
    color: var(--c-text-primary) !important;
}
/* ... سایر دکمه‌های کنترلی ... */

/* دکمه Skip در صفحه استراحت */
.timer-app-container .skip-rest-btn {
    background: var(--c-surface-1) !important;
    border: 1px solid var(--c-border) !important;
    color: var(--c-text-secondary) !important;
    padding: 0.5rem 1.5rem !important;
    border-radius: 99px !important;
    font-size: 14px !important;
    height: auto !important;
    min-width: unset !important;
    cursor: pointer !important;
}

/* دکمه Next Segment */
.timer-app-container .next-segment-btn {
    background: var(--c-primary) !important;
    color: white !important;
    border: none !important;
    padding: 0.75rem 2rem !important;
    border-radius: 99px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    height: auto !important;
    min-width: unset !important;
    cursor: pointer !important;
}

/* دکمه‌های فرم نهایی (ذخیره، استپر و...) */
.timer-app-container .timer-form-end-save-btn {
    background: var(--c-success) !important;
    color: white !important;
    width: 100% !important;
    padding: 1rem !important;
    border: none !important;
    border-radius: var(--radius-md) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    height: auto !important;
    min-width: unset !important;
    cursor: pointer !important;
}

.timer-app-container .timer-form-end-stepper button {
    background-color: var(--c-surface-2) !important;
    color: var(--c-text-primary) !important;
    border: none !important;
    border-radius: 6px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
    font-size: 1.25rem !important;
    cursor: pointer !important;
}

/* دکمه تست صدا */
.timer-app-container #speech-settings-container .test-controls button {
    background-color: var(--c-primary) !important;
    color: white !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    border: none !important;
    border-radius: var(--radius-sm) !important;
    height: auto !important;
    min-width: unset !important;
    cursor: pointer !important;
}
/* --- کد CSS جدید و اصلاح شده برای عنوان سگمنت --- */
/* --- کد CSS جدید و کامل برای عنوان جذاب‌تر --- */

/* استایل برای بج نوع تمرین (AMRAP, ForTime, ...) */
.title-badge {
    padding: 6px 12px;
    border-radius: 99px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    flex-shrink: 0; /* جلوگیری از کوچک شدن */
}

/* استایل برای متن اصلی عنوان */
.title-main {
    color: var(--c-text-primary);
    font-weight: 600;
    font-size: 1rem;

    /* مدیریت سرریز متن برای این بخش */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* استایل برای بخش اطلاعات استراحت */
.title-secondary {
    display: flex;
    align-items: center;
    gap: 6px;
    background-color: var(--c-surface-2);
    color: var(--c-text-secondary);
    padding: 6px 10px;
    border-radius: 99px;
    font-size: 0.8rem;
    font-weight: 500;
    flex-shrink: 0; /* جلوگیری از کوچک شدن */
    border: 1px solid var(--c-border);
}
/* --- کد CSS جدید برای عنوان هوشمند و متنی --- */

/* استایل نگهدارنده اصلی عنوان */
.timer-app-container .timer-form-end-title {
    width: 90%;
    margin: 0.5rem auto 1rem auto;
    padding: 0.75rem 1rem;
    background-color: var(--c-surface-2);
    color: var(--c-text-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-sm);
    text-align: center;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.5;
}

/* استایل پایه برای تمام کلمات کلیدی */
.title-keyword {
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.9rem;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0 4px;
}

/* رنگ‌بندی اختصاصی برای هر کلمه کلیدی */
.title-keyword--amrap {
    background-color: var(--c-amrap);
    color: #000;
}
.title-keyword--fortime {
    background-color: var(--c-fortime);
    color: #fff;
}
.title-keyword--emom {
    background-color: var(--c-emom);
    color: #fff;
}
.title-keyword--tabata {
    background-color: var(--c-tabata);
    color: #fff;
}
.title-keyword--rest {
    background-color: var(--c-rest);
    color: #fff;
}

.distribute-vertically {
    /* ۱. تبدیل نگه‌دارنده به یک ستون فلکس */
    display: flex;
    flex-direction: column;

    /* ۲. چسباندن آیتم اول به بالا و آیتم آخر به پایین */
    /* و توزیع کردن آیتم‌های میانی با فاصله مساوی */
    justify-content: space-between;

    /* نکته مهم: برای کارکرد صحیح، این نگه‌دارنده باید ارتفاع مشخصی داشته باشد */
    height: 100%; /* یا یک مقدار ثابت مانند 300px */
}

/* ۳. اگر فقط یک آیتم داخل نگه‌دارنده بود، آن را کش بده تا کل فضا را پر کند */
.distribute-vertically > :only-child {
    flex-grow: 1;
}

/* ۴. ایجاد فاصله 5px بین آیتم‌ها (این دستور روی آیتم اول اعمال نمی‌شود) */
.distribute-vertically > * + * {
    margin-top: 5px;
}


/* --- استایل‌های جدید برای صفحه پایانی --- */

.results-screen {
    justify-content: center;
    text-align: center;
    background: linear-gradient(180deg, var(--c-surface-1) 0%, var(--c-bg) 100%);
}

.results-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    overflow-y: auto;
}

.results-trophy-wrapper {
    position: relative;
    margin-bottom: 1rem;
}

.results-trophy {
    padding-top: 15px;
    font-size: 3rem;
    color: var(--c-amrap);
    text-shadow: 0 0 20px rgba(249, 168, 38, 0.5);
    /* اعمال انیمیشن */
    animation: trophy-pop-in 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

/* تعریف انیمیشن ظاهر شدن جام */
@keyframes trophy-pop-in {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    80% {
        transform: scale(1.1);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.results-title {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0;
}

.results-subtitle {
    font-size: 1rem;
    color: var(--c-text-secondary);
    margin-top: -0.5rem;
}

.results-done-btn {
    margin-top: 2rem;
    background: var(--c-primary);
    color: white;
    border: none;
    padding: 1rem 5rem;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.results-done-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(88, 86, 214, 0.2);
}

/* --- استایل‌های پنل شناور نسخه مینیمال با اولویت !important --- */
.weight-editor-panel-minimal {
    position: absolute ;
    bottom: 80px ;
    left: 50% ;
    transform: translateX(-50%) ;
    display: flex ;
    align-items: center ;
    gap: 0.75rem ;
    background-color: var(--c-surface-1) ;
    border: 1px solid var(--c-border) ;
    border-radius: 99px ;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) ;
    padding: 0.5rem ;
    z-index: 10 ;
}

/* استایل آیکون‌های +/- */
.weight-editor-control {
    background-color: var(--c-surface-2) !important;
    color: var(--c-text-primary) !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.2rem !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
.weight-editor-control:hover {
    background-color: var(--c-primary) !important;
    transform: scale(1.1) !important;
}

/* استایل نمایشگر عددی وزنه */
.weight-editor-display {
    color: var(--c-text-primary) !important;
    text-align: center !important;
    min-width: 120px !important;
}
.weight-editor-display span {
    font-family: var(--font-display) !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
}
.weight-editor-display small {
    font-size: 0.8rem !important;
    color: var(--c-text-secondary) !important;
    margin-right: 2px !important;
}

/* جداکننده عمودی */
.weight-editor-divider {
    width: 1px !important;
    height: 30px !important;
    background-color: var(--c-border) !important;
}

/* آیکون تایید */
.weight-editor-confirm {
    background-color: var(--c-success) !important;
    color: white !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.2rem !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
.weight-editor-confirm:hover {
    filter: brightness(1.2) !important;
    transform: scale(1.1) !important;
}


.analysis-today-wod-dashboard {
    direction: rtl;
    display: flex; flex-direction: column;
    height: 100%; /* ارتفاع کامل کامپوننت تایمر */
    background-color: var(--wod-c-bg);
    color: var(--wod-c-text-primary);
    font-family: var(--wod-font-ui);
    animation: fadeIn 0.5s ease-out;
    overflow-y: auto;
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.analysis-today-wod-header {
    direction: ltr;
    display: flex; justify-content: space-between; align-items: center;
    padding: 1rem; flex-shrink: 0; border-bottom: 1px solid var(--wod-c-border);
    position: sticky; top: 0; background-color: var(--wod-c-bg); z-index: 10;
}
.program-name { font-size: 1.1rem; font-weight: 600; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.exit-button { color: var(--wod-c-text-secondary); font-size: 1.25rem; text-decoration: none; }

.analysis-today-wod-body { overflow-y: auto; padding: 1rem; }

.analysis-today-wod-card {
    background-color: var(--wod-c-surface-1);
    border-radius: var(--wod-radius-md);
    padding: 1.25rem; margin-bottom: 1rem;
    border: 1px solid var(--wod-c-border);
}
.main-score-card {
    text-align: center;
    background: linear-gradient(45deg, var(--wod-c-primary), #3c3a9a);
}
.score-section .score-value { font-size: 3.5rem; font-weight: 700; font-family: var(--wod-font-display); }
.score-section .score-label { font-size: 0.9rem; color: rgba(255,255,255,0.7); }
.pr-section { margin-top: 1rem; }
.pr-badge { background-color: var(--wod-c-amrap); color: black; padding: 6px 12px; border-radius: 6px; font-weight: bold; }
.pr-compare { font-size: 0.9rem; color: rgba(255,255,255,0.8); }

.card-title { font-size: 1.1rem; font-weight: 600; margin: 0 0 1.25rem 0; }
.stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.stat-grid div { text-align: center; }
.stat-grid label { font-size: 0.8rem; color: var(--wod-c-text-secondary); display: block; margin-bottom: 0.25rem; }
.stat-grid span { font-size: 1.25rem; font-weight: 600; font-family: var(--wod-font-display); }

.percentile-wrapper { display: flex; align-items: center; gap: 1.5rem; }
.percentile-ring { font-size: 1.5rem; font-weight: 700; color: var(--wod-c-primary); /* Needs JS for ring */ }
.percentile-text { font-size: 1rem; line-height: 1.6; }

.analysis-today-wod-chart-container { height: 200px; }
.consistency-score { text-align: center; margin-top: 1rem; font-size: 1rem; }
.insight-box { direction: rtl; display: flex; align-items: flex-start; gap: 1rem; background-color: rgba(88, 86, 214, 0.1); }
.insight-box .insight-icon { font-size: 1.25rem; color: var(--wod-c-primary); margin-top: 4px; }
.insight-box p { margin: 0; color: var(--wod-c-text-secondary); line-height: 1.7; font-size: 0.95rem; }
.notes-text { font-style: italic; color: var(--wod-c-text-secondary); }

/* --- استایل‌های بخش رکوردهای برتر در کارت برنامه --- */

.program-card-leaderboard {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--c-border);
}

.leaderboard-title {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--c-text-secondary);
    margin: 0 0 0.75rem 0;
    text-align: right;
}

.leaderboard-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.leaderboard-row {
    display: flex;
    align-items: center;
    background-color: var(--c-bg);
    padding: 0.5rem 0.75rem;
    border-radius: var(--radius-sm);
    font-size: 0.85rem;
}

.leaderboard-rank {
    font-weight: 700;
    font-family: var(--font-display);
    color: var(--c-primary);
    margin-right: 0.75rem;
}

.leaderboard-name {
    flex-grow: 1;
    color: var(--c-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.leaderboard-score {
    font-weight: 700;
    font-family: var(--font-display);
    color: var(--c-success);
}

.results-screen {
    justify-content: center;
    text-align: center;
    background: linear-gradient(180deg, var(--c-surface-1) 0%, var(--c-bg) 100%);
    display: flex; /* برای اسکرول در صفحات کوچک */
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.results-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 100%;
}

.user-result-card {
    display: flex;
    justify-content: space-around;
    width: 90%;
    max-width: 360px;
    background-color: var(--c-primary);
    color: white;
    padding: 1rem;
    border-radius: var(--radius-md);
    margin: 1rem 0;
    border: 2px solid rgba(255,255,255,0.5);
}
.user-result-card div {
    text-align: center;
}
.user-result-card span {
    font-size: 0.8rem;
    opacity: 0.8;
    display: block;
}
.user-result-card strong {
    font-size: 1.5rem;
    font-family: var(--font-display);
    font-weight: 700;
}

.daily-leaderboard {
    width: 90%;
    max-width: 360px;
}
/* --- استایل‌های بخش رکوردهای شخصی حرکات --- */
.movement-pr-section {
    width: 90%;
    max-width: 360px;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--c-border);
}

.movement-pr-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--c-text-secondary);
    margin: 0 0 1rem 0;
    text-align: right;
}

.movement-pr-list {
    display: grid;
    grid-template-columns: 1fr 1fr; /* نمایش دو ستونه برای فشرده‌سازی */
    gap: 0.75rem;
}

.movement-pr-card {
    background-color: var(--c-surface-2);
    padding: 0.75rem;
    border-radius: var(--radius-sm);
    text-align: center;
}

.movement-pr-name {
    display: block;
    font-size: 0.8rem;
    color: var(--c-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.movement-pr-value {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    font-family: var(--font-display);
    color: var(--c-primary);
    margin-top: 0.25rem;
}
/* --- استایل دکمه مشاهده تحلیل --- */
.view-analysis-button {
    background-color: var(--c-success);
    color: white;
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 4px 10px rgba(52, 199, 89, 0.3);
}

.view-analysis-button:hover {
    transform: scale(1.1);
    filter: brightness(1.1);
}














/* --- استایل‌های بخش تحلیل جامع حرکات --- */
.movements-analysis-grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.movement-analysis-card {
    background-color: var(--wod-c-surface-2);
    border-radius: var(--wod-radius-md);
    padding: 1rem;
}
.movement-analysis-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--wod-c-text-primary);
    margin: 0 0 1rem 0;
    border-bottom: 1px solid var(--wod-c-border);
    padding-bottom: 0.75rem;
}
.analysis-comparison-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.analysis-stat-group label {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--wod-c-text-secondary);
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}
.analysis-stat-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9rem;
    padding: 0.25rem 0;
}
.analysis-stat-item span {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--wod-c-text-secondary);
}
.analysis-stat-item strong {
    font-family: var(--wod-font-display);
    font-weight: 600;
    color: var(--wod-c-text-primary);
}





/* --- استایل‌های جدید، شیک و فشرده برای لیست آمار --- */
.program-card-stats-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--c-border);
}

.stats-row {
    display: flex;
    align-items: center;
    background-color: var(--c-bg);
    padding: 0.4rem 0.6rem;
    border-radius: var(--radius-sm);
    font-size: 0.8rem;
}

/* استایل متفاوت برای ردیف‌های رکورد شخصی */
.stats-row--pr {
    background-color: transparent;
    border: 1px solid var(--c-surface-2);
}

.stats-icon {
    width: 20px;
    text-align: center;
    margin-right: 0.5rem;
}

.stats-name {
    flex-grow: 1;
    color: var(--c-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.stats-score {
    font-weight: 700;
    font-family: var(--font-display);
    color: var(--c-text-primary);
}


.results-screen {
    justify-content: flex-start; /* چیدمان از بالا */
    text-align: center;
    background: linear-gradient(180deg, var(--c-surface-1) 0%, var(--c-bg) 100%);
    display: flex;
    padding: 1.5rem 0.5rem;
    overflow-y: auto; /* فعال کردن اسکرول */
}

.results-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 100%;
    max-width: 400px; /* محدود کردن عرض برای ظاهر بهتر */
    margin: 0 auto;
}

.user-result-card {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1fr;
    width: 100%;
    background-color: var(--c-primary);
    color: white;
    padding: 1rem;
    border-radius: var(--radius-md);
    margin: 1rem 0;
}
.user-result-card div { text-align: center; }
.user-result-card span { font-size: 0.8rem; opacity: 0.8; display: block; }
.user-result-card strong { font-size: 1.5rem; font-family: var(--font-display); }

.results-tabs-container {
    width: 100%;
    background-color: var(--c-surface-1);
    border-radius: var(--radius-md);
    padding: 0.5rem;
    border: 1px solid var(--c-border);
}

.results-tab-nav {
    display: flex;
    background-color: var(--c-bg);
    border-radius: 8px;
    padding: 0.25rem;
    margin-bottom: 0.75rem;
}
.results-tab-nav button {
    flex: 1;
    padding: 0.6rem 0;
    border: none;
    background-color: transparent;
    color: var(--c-text-secondary);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.3s ease;
}
.results-tab-nav button.active {
    background-color: var(--c-primary);
    color: white;
}
.no-data-text {
    color: var(--c-text-secondary);
    padding: 2rem 1rem;
    font-size: 0.9rem;
}
.program-list--loading {
    opacity: 0.5;
    transition: opacity 0.3s;
}



/* --- استایل‌های بخش تحلیل حرکات در کارت برنامه --- */
.program-card-analysis-section {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--c-border);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.movement-analysis-row {
    background-color: var(--c-bg);
    padding: 0.5rem 0.75rem;
    border-radius: var(--radius-sm);
}
.movement-name {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--c-text-primary);
    margin: 0 0 0.5rem 0;
}
.movement-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}
.mini-stat {
    background-color: var(--c-surface-2);
    border-radius: 6px;
    padding: 0.25rem 0.5rem;
    position: relative;
}
.mini-stat-lname {
    position: absolute;
    right: 6px;
    bottom: -3px;
    font-size: x-small;
    color: mediumseagreen;
    font-weight: normal;
}
.mini-stat label {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.65rem;
    color: var(--c-text-secondary);
    margin-bottom: 2px;
}
.mini-stat span {
    display: block;
    font-size: 0.85rem;
    font-weight: 700;
    font-family: var(--font-display);
    color: var(--c-text-primary);
    text-align: right;
}



/* --- استایل‌های نمایشگر داینامیک تایمر --- */

/* استایل برای نمایشگر بزرگ حرکت زمان‌دار */
.timed-move-display {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--c-primary); /* استفاده از رنگ اصلی برای تاکید */
}
.timed-move-display span {
    font-family: var(--font-display);
    font-size: 4rem; /* فونت بسیار بزرگ */
    line-height: 1;
}
.timed-move-display small {
    font-size: 1rem;
    font-weight: 600;
    color: var(--c-text-secondary);
    margin-top: 0.5rem;
}

/* استایل برای نمایشگر اصلی تایمر (که کوچک‌تر است) */
.main-timer-display {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.main-timer-time {
    font-family: var(--font-display);
    font-size: 3.5rem; /* فونت عادی */
    line-height: 1;
}
.main-timer-detail {
    font-size: 1rem;
    font-weight: 600;
    color: var(--c-text-secondary);
    margin: 0.5rem 0;
}
/* --- استایل‌های جدید و مینیمال برای تحلیل حرکات --- */

.analysis-comparison-grid-minimal {
    display: grid;
    grid-template-columns: 1fr 1fr; /* چیدمان دو ستونه */
    gap: 0.75rem;
}

.analysis-mini-card {
    background-color: var(--wod-c-bg); /* کمی تیره‌تر از پس‌زمینه کارت اصلی */
    border-radius: var(--wod-radius-md);
    padding: 0.75rem;
    text-align: center;
    border: 1px solid var(--wod-c-border);
    transition: transform 0.2s ease;
}

.analysis-mini-card:hover {
    transform: translateY(-3px);
}

.analysis-mini-card label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    font-size: 0.7rem; /* لیبل کوچک‌تر */
    font-weight: 500;
    color: var(--wod-c-text-secondary);
    margin-bottom: 0.3rem;
}

.analysis-mini-card span {
    display: block;
    font-size: 1.1rem; /* امتیاز برجسته‌تر */
    font-weight: 700;
    font-family: var(--wod-font-display);
    color: var(--wod-c-text-primary);
}

/* رنگ‌بندی آیکون‌ها برای خوانایی بهتر */
.analysis-mini-card label .fa-user,
.analysis-mini-card label .fa-users {
    color: var(--wod-c-primary);
}
.analysis-mini-card label .fa-crown,
.analysis-mini-card label .fa-trophy {
    color: var(--wod-c-amrap);
}
/* --- استایل‌های نمایشگر EMOM --- */

.emom-progress {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--c-text-secondary);
    font-family: var(--font-display);
}
.emom-move {
    font-size: 1rem;
    font-weight: 500;
    color: var(--c-text-primary);
    background-color: var(--c-surface-2);
    padding: 0.25rem 0.75rem;
    border-radius: 6px;
}


/* --- استایل‌های جدید برای نمایشگر EMOM --- */
.emom-display {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem; /* فاصله بین اجزا */
}
.emom-main-display {
    font-size: 1rem;
    font-weight: 700;
    color: var(--c-text-primary);
    line-height: 1;
    font-family: var(--font-display);
}
.emom-timer {
    font-size: 2.5rem;
    font-family: var(--font-display);
    color: var(--c-text-primary);
}
.emom-progress {
    font-size: 1rem;
    font-weight: 600;
    color: var(--c-text-secondary);
    font-family: var(--font-display);
    background-color: var(--c-surface-2);
    padding: 0.25rem 0.75rem;
    border-radius: 6px;
}
/* --- استایل‌های چک‌لیست EMOM Completion --- */
.emom-completion-card {
    width: 100%;
    background-color: var(--c-surface-1);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    margin: 1rem 0;
    overflow: hidden;
}
.completion-header {
    padding: 0.75rem 1rem;
    background-color: rgba(0,0,0,0.2);
}
.completion-header h4 { margin: 0 0 0.25rem 0; font-size: 1rem; }
.completion-header p { margin: 0; font-size: 0.8rem; color: var(--c-text-secondary); }
.completion-list {
    max-height: 25vh; /* ارتفاع محدود برای اسکرول خوردن */
    overflow-y: auto;
    padding: 0.5rem;
}
.completion-row {
    display: flex;
    align-items: center;
    padding: 0.5rem;
    border-radius: 6px;
}
.completion-row:hover { background-color: var(--c-surface-2); }
.completion-row input[type="checkbox"] { flex-shrink: 0; }
.completion-row label {
    flex-grow: 1; margin: 0 0.75rem;
    cursor: pointer;
}
.completion-row .minute-text { color: var(--c-text-secondary); font-size: 0.8rem; }
.completion-row .move-text { font-weight: 500; }
.reps-input {
    width: 80px;
    background-color: var(--c-bg);
    border: 1px solid var(--c-border);
    color: var(--c-text-primary);
    text-align: center;
    border-radius: 6px;
    padding: 4px;
}

.info-chip-group {
    margin-top: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}


.timer-pause-position{
        position: absolute;
        left: 35px;
        top: -70px;
        transform: scale(2);

}
.timer-pause-position strong{

    color: yellow;!important;
}


@media (max-width: 600px) {
    .timer-app-container {
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 100%;
        border-radius: 0;
        border: 0;
    }
    .timer-footers {
        padding: 40px;
    }
}
    /*
     * کد برای حل مشکل عدم نمایش اولیه SweetAlert2 در موبایل.
     * این کد موقعیت‌یابی پنجره را پایدارتر می‌کند.
     */

    /* استایل کلی برای اطمینان از وجود اندازه فونت پایه */
    .swal2-container {
        font-size: 1rem;
    }











    /* این استایل‌ها فقط برای دستگاه‌های با عرض ۷۶۸ پیکسل یا کمتر اعمال می‌شود */
    @media (max-width: 768px) {
        .swal2-popup {
            /* عرض پنجره را به ۹۰ درصد عرض صفحه محدود می‌کنیم تا همیشه دیده شود */
            width: 90vw !important;
            max-width: 90vw !important;

            /*
             * این بخش کلیدی راه حل است:
             * ما روش پیچیده موقعیت‌یابی کتابخانه را با یک روش ساده‌تر و پایدارتر
             * جایگزین می‌کنیم که در موبایل بهتر جواب می‌دهد.
             */
            transform: none !important;
            margin: 5vh auto !important; /* ۵ درصد از بالای صفحه فاصله گرفته و در مرکز قرار می‌گیرد */
        }
    }

/* استایل برای قابل کلیک شدن نام حرکت */
.current-move-display { cursor: pointer; transition: color 0.2s ease; }
.current-move-display:hover { color: var(--c-primary); }

/* استایل پنجره شناور */
.move-detail-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); backdrop-filter: blur(5px); display: flex; align-items: center; justify-content: center; z-index: 100; }
.move-detail-card { position: relative; background-color: var(--c-surface-1); border-radius: var(--radius-md); padding: 2rem; width: 90%; max-width: 360px; max-height: 80vh; overflow-y: auto; border: 1px solid var(--c-border); text-align: center; }
.move-detail-close-btn { position: absolute; top: 1rem; right: 1rem; font-size: 1.2rem; color: var(--c-text-secondary); cursor: pointer; transition: transform 0.2s ease; }
.move-detail-close-btn:hover { transform: scale(1.2); }
.move-detail-media { position: relative; width: 100%; margin-bottom: 1.5rem; }
.move-detail-image { width: 100%; height: auto; border-radius: var(--radius-sm); object-fit: cover; display: block; }
.video-play-button { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); background-color: rgba(0, 0, 0, 0.7); color: white; padding: 0.5rem 1rem; border-radius: 99px; text-decoration: none; display: flex; align-items: center; gap: 0.5rem; backdrop-filter: blur(5px); transition: all 0.2s ease; }
.video-play-button:hover { background-color: var(--c-primary); transform: translateX(-50%) scale(1.05); }
.move-detail-title { font-size: 1.5rem; font-weight: 600; color: var(--c-text-primary); margin: 0; }
.move-detail-chips { display: flex; justify-content: center; gap: 0.5rem; flex-wrap: wrap; margin: 1rem 0 1.5rem 0; }
.chip { padding: 0.3rem 0.8rem; border-radius: 99px; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; }
.chip--beginner { background-color: #34c759; color: white; }
.chip--intermediate { background-color: #ff9500; color: white; }
.chip--advanced { background-color: #ff3b30; color: white; }
.chip--elite { background-color: #5856d6; color: white; }
.chip--pattern, .chip--category { background-color: var(--c-surface-2); color: var(--c-text-secondary); }
.move-detail-description { font-size: 1rem; line-height: 1.6; color: var(--c-text-secondary); margin: 0; text-align: right; direction: rtl; }

.emom-rest-timer {
    color: var(--c-success);
    font-size: 1.5rem;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.emom-rest-timer strong { font-family: var(--font-display); font-size: 1.5rem; }


.tabata-display { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.tabata-round { font-size: 1rem; font-weight: 600; color: var(--c-text-secondary); margin-bottom: 0.5rem; }
.tabata-state { font-size: 1.5rem; font-weight: 700; text-transform: uppercase; letter-spacing: 3px; margin-top: 0.5rem; padding: 0.25rem 1rem; border-radius: 6px; }
.tabata-state.is-work { color: var(--c-danger); background-color: rgba(255, 59, 48, 0.15); }
.tabata-state.is-rest { color: var(--c-success); background-color: rgba(52, 199, 89, 0.15); }

.tabata-feedback-form { text-align: center; width: 100%; }
.tabata-feedback-form h2 { font-size: 1.5rem; margin-bottom: 0.5rem; }
.tabata-feedback-form p { color: var(--c-text-secondary); margin-bottom: 1.5rem; }
.tabata-inputs-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 1.5rem; }
.form-group-minimal label { font-size: 0.8rem; color: var(--c-text-secondary); }
.tabata-rep-input { width: 100%; background: var(--c-bg); border: 1px solid var(--c-border); color: var(--c-text-primary); text-align: center; font-family: var(--font-display); font-size: 1.2rem; padding: 0.5rem; border-radius: 0.5rem; }
.tabata-score-display { background: var(--c-surface-1); padding: 1rem; border-radius: var(--radius-md); }
.tabata-score-display span { color: var(--c-text-secondary); }
.tabata-score-display strong { font-size: 2rem; color: var(--c-success); font-family: var(--font-display); display: block; }
.tabata-interval-progress {
    font-size: 0.8rem;
    color: var(--c-text-secondary);
    font-family: var(--font-display);
    margin-top: 0.5rem;
}

/* فایل: smart-timer.css */

/* استایل برای کارت‌های سگمنت غیرقابل انتخاب */
.review-card-minimal.is-disabled {
    opacity: 0.5;
    background-color: var(--c-surface-2);
}

.review-card-minimal.is-disabled .review-card-header {
    cursor: not-allowed;
}


/* Custom Checkbox */
.checkbox-wrapper { position: relative; }
.stage-checkbox { opacity: 0; width: 0; height: 0; position: absolute; }
.stage-checkbox + label { position: relative; cursor: pointer; padding-left: 30px; display: inline-block; height: 22px; line-height: 22px; }
.stage-checkbox + label::before { content: ''; position: absolute; left: 0; top: 0; width: 22px; height: 22px; border: 2px solid var(--c-text-secondary); background: var(--c-surface-1); border-radius: 6px; transition: all 0.2s ease; }
.stage-checkbox:checked + label::before { background-color: var(--c-primary); border-color: var(--c-primary); }
.stage-checkbox + label::after { content: '\f00c'; font-family: 'Font Awesome 6 Pro'; font-weight: 900; position: absolute; left: 4px; top: 1px; font-size: 14px; color: #fff; opacity: 0; transform: scale(0.5); transition: all 0.2s ease; }
.stage-checkbox:checked + label::after { opacity: 1; transform: scale(1); }


.segment-results-list { width: 90%; max-width: 400px; display: flex; flex-direction: column; gap: 1rem; }
.segment-result-card { background-color: var(--c-surface-1); border-radius: var(--radius-md); border: 1px solid var(--c-border); overflow: hidden; }
.segment-result-header { padding: 0.75rem 1rem; background-color: rgba(255,255,255,0.05); }
.timer-segment-title { font-size: 1rem; font-weight: 600; margin: 0; color: var(--c-text-primary); }
.user-segment-summary { display: grid; grid-template-columns: 1fr 1fr; padding: 1rem; text-align: center; }
.user-segment-summary span { font-size: 0.8rem; color: var(--c-text-secondary); display: block; }
.user-segment-summary strong { font-size: 1.5rem; font-family: var(--font-display); }
.user-segment-summary small { font-size: 0.8rem; color: var(--c-text-secondary); }
.segment-leaderboard-toggle { padding: 0.5rem 1rem; background: var(--c-surface-2); cursor: pointer; display: flex; justify-content: space-between; align-items: center; color: var(--c-text-secondary); }
.segment-leaderboard-details { padding: 0.5rem 1rem 1rem 1rem; }
.segment-leaderboard-details .leaderboard-row { display: flex; justify-content: space-between; padding: 0.25rem 0; font-size: 0.9rem; }

/* فایل: smart-timer.css */

.date-selector-wrapper {
    position: relative;
    margin: 0 1.25rem 1.5rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    text-align: right;
}

.date-selector-wrapper label {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--c-text-secondary);
}

.date-input {
    width: 100%;
    padding: 0.75rem;
    background-color: var(--c-surface-1);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-sm);
    color: var(--c-text-primary);
    font-size: 1rem;
    text-align: center;
    font-family: var(--font-display);
}

/* استایل برای آیکون تقویم در مرورگر کروم */
.date-input::-webkit-calendar-picker-indicator {
    filter: invert(0.8);
    cursor: pointer;
    transition: filter 0.2s;
}
.date-input::-webkit-calendar-picker-indicator:hover {
    filter: invert(1);
}

.date-loading-indicator {
    position: absolute;
    left: 1rem;
    bottom: 0.8rem; /* تنظیم موقعیت برای قرارگیری داخل اینپوت */
    color: var(--c-text-secondary);
}


/* فایل: smart-timer.css */

.program-card-toggle-btn {
    background: var(--c-surface-2);
    color: var(--c-text-secondary);
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-left: auto; /* دکمه را به سمت چپ هدر می‌برد */
    margin-right: 1rem;
}

.program-card-toggle-btn:hover {
    background-color: var(--c-primary);
    color: white;
}

.program-card-collapsible-content {
    /* استایل برای انیمیشن باز شدن نرم */
    overflow: hidden;
}


/* --- استایل‌های جدید برای کارت برنامه بازطراحی شده --- */


.program-card-v2 {
    background-color: var(--c-surface-1);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    overflow: hidden; /* جلوگیری از بیرون زدن محتوای داخلی */
    flex-shrink: 0; /* جلوگیری از فشرده شدن کارت‌ها در لیست */
}

.program-card-v2__main-header {
    padding: 1.25rem 1rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.program-card-v2__main-header:hover {
    background-color: var(--c-surface-2);
}

.program-card-v2__title {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0;
    color: var(--c-text-primary);
}

.program-card-v2__body {
    padding: 0 1rem 1rem 1rem;
    color: var(--c-text-secondary);
    font-size: 0.9rem;
}

.program-card-v2__description {
    margin: 0 0 1rem 0;
    line-height: 1.6;
}

.program-card-v2__actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    background-color: var(--c-surface-2);
    border-top: 1px solid var(--c-border);
}

.action-group-left, .action-group-right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 50%;
}


/*.program-card-v2__collapsible-content {*/
/*    padding: 0 1rem 1rem 1rem;*/
/*    border-top: 1px solid var(--c-border);*/
/*    max-height: 220px;*/
/*}*/



.program-card-v2__collapsible-content {
    /* ۱. محدود کردن ارتفاع حداکثر به ۲۲۰ پیکسل */
    max-height: 220px;

    /* ۲. فعال کردن اسکرول عمودی فقط در صورت نیاز */
    overflow-y: auto;

    /* ۳. استایل اسکرول برای فایرفاکس */
    scrollbar-width: thin;
    scrollbar-color: var(--c-primary) var(--c-surface-2);

    /* اضافه کردن کمی padding برای جلوگیری از چسبیدن محتوا به اسکرول */
    padding-right: 8px;
}



/* --- استایل‌های جدید برای کارت برنامه بازطراحی شده --- */

.program-card-v2__main-header {
    padding: 1.25rem 1rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.program-card-v2__main-header:hover {
    background-color: var(--c-surface-2);
}

.program-card-v2__title {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0;
    color: var(--c-text-primary);
}

.program-card-v2__body {
    padding: 0 1rem 1rem 1rem;
    color: var(--c-text-secondary);
    font-size: 0.9rem;
}

.program-card-v2__description {
    font-size: 0.9rem;
    color: var(--c-text-secondary);
    line-height: 1.6;
    margin: 0 0 1rem 0;
    text-align: right;
    direction: rtl;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.program-card-footer {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap; /* اجازه شکستن خط برای آیتم‌های زیاد */
    border-top: 1px solid var(--c-border);
    padding-top: 0.75rem;
    margin-top: 0.25rem;
}

.program-card-v2__actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    background-color: var(--c-surface-2);
    border-top: 1px solid var(--c-border);
}

.action-group-left, .action-group-right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.timer-action-btn {
    background-color: transparent;
    border: 1px solid var(--c-border);
    color: var(--c-text-secondary);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.timer-action-btn:hover {
    background-color: var(--c-primary);
    color: white;
    border-color: var(--c-primary);
}

/* --- استایل برای انتخابگر تاریخ --- */
.date-selector-wrapper {
    position: relative;
    margin: 0 1.25rem 1.5rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    text-align: right;
}

.date-selector-wrapper label {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--c-text-secondary);
}

.date-input {
    width: 100%;
    padding: 0.75rem;
    background-color: var(--c-surface-1);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-sm);
    color: var(--c-text-primary);
    font-size: 1rem;
    text-align: center;
    font-family: var(--font-display);
}

.date-input::-webkit-calendar-picker-indicator {
    filter: invert(0.8);
    cursor: pointer;
    transition: filter 0.2s;
}
.date-input::-webkit-calendar-picker-indicator:hover {
    filter: invert(1);
}

.date-loading-indicator {
    position: absolute;
    left: 1rem;
    bottom: 0.8rem;
    color: var(--c-text-secondary);
}

/* --- استایل جدید برای اسکرول محو و بسیار باریک --- */
.program-list,
.program-card-v2__collapsible-content {
    /* برای فایرفاکس: اسکرول را مخفی می‌کند */
    scrollbar-width: none;
}

/* برای مرورگرهای WebKit (کروم، سافاری): اسکرول را شفاف می‌کنیم */
.program-list::-webkit-scrollbar,
.program-card-v2__collapsible-content::-webkit-scrollbar {
    width: 5px;
    background: transparent;
}
.program-list::-webkit-scrollbar-track,
.program-card-v2__collapsible-content::-webkit-scrollbar-track {
    background: transparent;
}

/* خودِ اسکرول (Thumb) را به صورت پیش‌فرض نامرئی می‌کنیم */
.program-list::-webkit-scrollbar-thumb,
.program-card-v2__collapsible-content::-webkit-scrollbar-thumb {
    background-color: transparent;
    border-radius: 5px;
}

/* فقط زمانی که موس روی نگهدارنده قرار گرفت، اسکرول را نمایش بده */
.program-list:hover::-webkit-scrollbar-thumb,
.program-card-v2__collapsible-content:hover::-webkit-scrollbar-thumb {
    background-color: rgba(88, 86, 214, 0.5); /* رنگ اصلی با شفافیت */
}


/* --- استایل جدید برای اسکرول محو با قابلیت تشخیص --- */

/* انتخاب تمام کلاس‌هایی که نیاز به این نوع اسکرول دارند */
.program-list,
.program-card-v2__collapsible-content,
.timer-config-body {
    /* ۱. برای فایرفاکس: اسکرول را مخفی می‌کند */
    scrollbar-width: none;

    /* --- بخش جدید برای ایجاد سایه راهنما --- */
    position: relative; /* برای موقعیت‌دهی سایه */
    -webkit-mask-image: linear-gradient(to bottom, black 95%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 95%, transparent 100%);
}

/* ۲. برای مرورگرهای WebKit (کروم، سافاری): اسکرول را شفاف می‌کنیم */

.program-list::-webkit-scrollbar,
.program-card-v2__collapsible-content::-webkit-scrollbar,
.timer-config-body::-webkit-scrollbar {
    width: 5px;
    background: transparent;
}
.program-list::-webkit-scrollbar-track,
.program-card-v2__collapsible-content::-webkit-scrollbar-track,
.timer-config-body::-webkit-scrollbar-track {
    background: transparent;
}

/* خودِ اسکرول (Thumb) را به صورت پیش‌فرض نامرئی می‌کنیم */
.program-list::-webkit-scrollbar-thumb,
.program-card-v2__collapsible-content::-webkit-scrollbar-thumb,
.timer-config-body::-webkit-scrollbar-thumb {
    background-color: transparent;
    border-radius: 5px;
}

/* ۳. فقط زمانی که موس روی نگهدارنده قرار گرفت، اسکرول را نمایش بده */
.program-list:hover::-webkit-scrollbar-thumb,
.program-card-v2__collapsible-content:hover::-webkit-scrollbar-thumb,
.timer-config-body:hover::-webkit-scrollbar-thumb {
    background-color: rgba(88, 86, 214, 0.5); /* رنگ اصلی با شفافیت */
}




/* --- استایل‌های جدید صفحه نتایج --- */
.results-container { width: 100%; max-width: 420px; display: flex; flex-direction: column; gap: 1.5rem; }
.program-result-card { background: linear-gradient(45deg, var(--c-primary), #3c3a9a); color: white; border-radius: var(--radius-md); padding: 1.5rem; text-align: center; }
.program-score-display { margin-bottom: 1.5rem; }
.program-score-display span { font-size: 0.9rem; opacity: 0.8; }
.program-score-display strong { font-size: 2.5rem; font-family: var(--font-display); display: block; }
.program-rank-display { font-size: 1.2rem; }
.program-leaderboard-title { font-size: 0.8rem; font-weight: 600; text-transform: uppercase; opacity: 0.7; margin: 1rem 0 0.5rem 0; border-top: 1px solid rgba(255,255,255,0.2); padding-top: 1rem; }
.program-leaderboard-list .leaderboard-row { display: flex; justify-content: space-between; padding: 0.25rem 0; }
.segment-results-list { width: 100%; display: flex; flex-direction: column; gap: 1rem; }
.segment-result-card { background-color: var(--c-surface-1); border-radius: var(--radius-md); border: 1px solid var(--c-border); padding: 1rem; }
.segment-stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; text-align: center; }
.stat-item span { font-size: 0.8rem; color: var(--c-text-secondary); display: block; }
.stat-item strong { font-size: 1.2rem; font-family: var(--font-display); }
.stat-item small { font-size: 0.7rem; }



/* === استایل‌های جدید برای کارت نتایج بخش‌ها === */
.segment-result-card-new { background-color: var(--c-surface-1); border-radius: var(--radius-md); border: 1px solid var(--c-border); overflow: hidden; margin-bottom: 1rem; }
.segment-card-header { padding: 0.75rem 1rem; background-color: rgba(255,255,255,0.05); border-bottom: 1px solid var(--c-border); }
.segment-card-header h4 { margin: 0; font-size: 1rem; }
.segment-card-body { padding: 1rem; display: flex; flex-direction: column; gap: 0.75rem; }
.stat-row { display: flex; gap: 0.75rem; }
.stat-row .stat-item { flex: 1; background-color: var(--c-surface-2); padding: 0.5rem; border-radius: var(--radius-sm); text-align: center; }
.stat-item span { font-size: 0.7rem; color: var(--c-text-secondary); display: block; }
.stat-item strong { font-size: 1.1rem; font-family: var(--font-display); display: block; }
.stat-item small { font-size: 0.65rem; color: #8e8e93; display: block; margin-top: 2px; }
.segment-card-footer { padding: 0.5rem; background-color: var(--c-surface-2); border-top: 1px solid var(--c-border); }
.leaderboard-toggle-btn { background: none; border: none; color: var(--c-text-secondary); width: 100%; display: flex; align-items: center; justify-content: center; gap: 0.5rem; font-size: 0.9rem; cursor: pointer; }
.collapsible-leaderboard { padding: 1rem; border-top: 1px solid var(--c-border); }
.leaderboard-tabs { display: flex; background-color: var(--c-bg); border-radius: var(--radius-sm); padding: 4px; margin-bottom: 1rem; }
.leaderboard-tabs button { flex: 1; background: none; border: none; color: var(--c-text-secondary); padding: 0.5rem; border-radius: 6px; cursor: pointer; }
.leaderboard-tabs button.active { background-color: var(--c-primary); color: white; }
.leaderboard-content { display: flex; flex-direction: column; gap: 0.5rem; }
.leaderboard-item { display: flex; align-items: center; gap: 0.75rem; font-size: 0.9rem; }
.leaderboard-item .rank { width: 20px; color: var(--c-text-secondary); }
.leaderboard-item .avatar { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; }
.leaderboard-item .name { flex-grow: 1; }
.leaderboard-item .score { font-family: var(--font-display); font-weight: 600; }

/* === استایل‌های جدید برای کارت تحلیل حرکات === */
.movement-analysis-card-new { background-color: var(--c-surface-1); border-radius: var(--radius-md); padding: 1rem; border: 1px solid var(--c-border); }
.movement-title { font-size: 1rem; font-weight: 600; margin: 0 0 1rem 0; text-align: center; border-bottom: 1px solid var(--c-border); padding-bottom: 0.75rem; }
.stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.stat-box { background-color: var(--c-surface-2); padding: 0.75rem; border-radius: var(--radius-sm); text-align: center; }
.stat-box label { display: flex; align-items: center; justify-content: center; gap: 0.4rem; font-size: 0.7rem; color: var(--c-text-secondary); margin-bottom: 0.25rem; }
.stat-box .score-value { display: block; font-size: 1.2rem; font-family: var(--font-display); font-weight: 600; }
.stat-box .power-score { display: block; font-size: 0.7rem; color: #8e8e93; margin-top: 2px; }

.stat-item, .stat-box {
    position: relative;
    padding-bottom: 18px; /* ایجاد فضا برای نام */
}
.record-holder {
    position: absolute;
    bottom: 4px;
    left: 0;
    width: 100%;
    font-size: 0.6rem;
    color: var(--c-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 4px;
}
/* تک خطی کردن عنوان بخش‌ها و افزودن سه نقطه */
.segment-card-header h4 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* === استایل‌های جدید برای کلید تفکیک تاریخ === */
.leaderboard-scope-toggle {
    display: flex;
    background-color: var(--c-surface-1);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-sm);
    padding: 5px;
    margin: 0 1rem 1rem 1rem;
    flex-shrink: 0; /* جلوگیری از فشرده شدن در صفحات کوچک */
}

.leaderboard-scope-toggle button {
    flex: 1;
    padding: 0.6rem 0;
    border: none;
    background-color: transparent;
    color: var(--c-text-secondary);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.leaderboard-scope-toggle button.active {
    background-color: var(--c-primary);
    color: white;
    box-shadow: 0 4px 10px rgba(88, 86, 214, 0.3);
}

.leaderboard-scope-toggle button:disabled {
    cursor: wait;
    opacity: 0.5;
}


/* === استایل‌های جدید برای کلید تفکیک تاریخ === */
.leaderboard-scope-toggle {
    display: flex;
    background-color: var(--c-surface-1);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-sm);
    padding: 5px;
    margin: 0 1rem 1rem 1rem;
    flex-shrink: 0; /* جلوگیری از فشرده شدن در صفحات کوچک */
}

/* VVVV اصلاح: استفاده از تگ i به جای button VVVV */
.leaderboard-scope-toggle i {
    flex: 1;
    padding: 0.6rem 0;
    border: none;
    background-color: transparent;
    color: var(--c-text-secondary);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.3s ease;
    text-align: center; /* برای وسط چین کردن متن */
    font-style: normal; /* حذف حالت ایتالیک پیش‌فرض */
}

.leaderboard-scope-toggle i.active {
    background-color: var(--c-primary);
    color: white;
    box-shadow: 0 4px 10px rgba(88, 86, 214, 0.3);
}

.leaderboard-scope-toggle i.disabled {
    cursor: wait;
    opacity: 0.5;
    pointer-events: none; /* جلوگیری از کلیک در حالت لودینگ */
}
/* ^^^^ پایان اصلاح ^^^^ */
.button_i_toggle {
    display: flex;
    background-color: var(--c-surface-1);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-sm);
    padding: 5px;
    margin: 0 1rem 1rem 1rem;
    flex-shrink: 0; /* جلوگیری از فشرده شدن در صفحات کوچک */
}
.button_i{
    flex: 1;
    padding: 0.6rem 0;
    border: none;
    background-color: transparent;
    color: var(--c-text-secondary);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.3s ease;
    text-align: center; /* برای وسط چین کردن متن */
    font-style: normal;
}
.button_i.active {
    background-color: var(--c-primary);
    color: white;
    box-shadow: 0 4px 10px rgba(88, 86, 214, 0.3);
}

.button_i.disabled {
    cursor: wait;
    opacity: 0.5;
    pointer-events: none; /* جلوگیری از کلیک در حالت لودینگ */
}
/* === VVVV استایل‌های جدید برای نوار زمان زنده VVVV === */
.live-timers-bar {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    background-color: var(--c-surface-1);
    border-top: 1px solid var(--c-border);
    height: 35px;
    flex-shrink: 0;
}
.timer-bar-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 0.8rem;
    color: var(--c-text-secondary);
    border-right: 1px solid var(--c-border);
}
.timer-bar-item:last-child { border-right: none; }
.timer-bar-item i { font-size: 0.7rem; }
.timer-bar-item span { font-family: var(--font-display); font-weight: 500; }

/* === استایل‌های جدید برای نمایشگر انیمیشنی === */
/* === استایل‌های بازنویسی شده برای نمایشگر انیمیشنی === */
.animated-timer-display {
    position: absolute;
    right: 5px;       /* ۱. در سمت راست قرار می‌گیرد */
    bottom: 25px;         /* ۲. به پایین نگهدارنده می‌چسبد */
    transform: translateY(50%) scale(0.8); /* ۳. ۵۰٪ به پایین رانده شده و ۲۰٪ کوچک می‌شود */
    transform-origin: bottom right; /* ۴. نقطه مبدا برای کوچک شدن */

    /* ... بقیه استایل‌ها بدون تغییر باقی می‌مانند ... */
    background-color: rgba(31, 35, 46, 0.8);
    backdrop-filter: blur(5px);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    padding: 0.75rem 1.25rem;
    z-index: 50;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    color: var(--c-text-primary);
}
.animated-timer-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--c-text-secondary);
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 120px;
}
.animated-timer-time {
    font-family: var(--font-display);
    font-size: 2.5rem;
    line-height: 1.1;
}
.animated-timer-display.timer-rest { color: var(--c-rest); }
.animated-timer-display.timer-set { color: var(--c-fortime); }
.animated-timer-display.timer-move { color: var(--c-amrap); }
/* === استایل جدید برای هدر صفحه نتایج === */
.results-header {
    width: 100%;
    flex-shrink: 0;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--c-border);
}


/* In smart-timer.css (at the end of the file) */

.workout-summary-card {
    width: 100%;
    max-width: 400px;
    background-color: var(--c-surface-1);
    border-radius: var(--radius-lg);
    border: 1px solid var(--c-border);
    padding: 1.25rem;
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.main-score-area {
    display: flex;
    gap: 1rem;
    background-color: var(--c-primary);
    color: white;
    padding: 1rem;
    border-radius: var(--radius-md);
}
.user-rank-box, .user-power-score-box {
    flex: 1;
    text-align: center;
}
.main-score-area span {
    font-size: 0.8rem;
    display: block;
    opacity: 0.8;
}
.main-score-area strong {
    font-size: 2.5rem;
    font-family: var(--font-display);
    line-height: 1.1;
}
.main-score-area small {
    font-size: 0.7rem;
    opacity: 0.7;
}

.extra-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    border-top: 1px solid var(--c-border);
    border-bottom: 1px solid var(--c-border);
    padding: 1.25rem 0;
}
.stat-block {
    text-align: center;
}
.stat-block i {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
    color: var(--c-text-secondary);
}
.stat-block label {
    display: block;
    font-size: 0.7rem;
    color: var(--c-text-secondary);
    font-weight: 500;
    text-transform: uppercase;
}
.stat-block span {
    display: block;
    font-size: 1.25rem;
    font-family: var(--font-display);
    font-weight: 600;
    color: var(--c-text-primary);
    margin-top: 0.25rem;
}

.effort-area {
    text-align: center;
}
.effort-title {
    font-size: 0.8rem;
    color: var(--c-text-secondary);
    font-weight: 600;
    margin-bottom: 0.75rem;
    text-transform: uppercase;
}
.effort-display {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}
.effort-display i {
    font-size: 3rem;
    transition: all 0.3s ease;
}
.effort-display span {
    font-size: 1rem;
    font-weight: 700;
}
.effort-area small {
    font-size: 0.8rem;
    color: var(--c-text-secondary);
}

/* --- استایل‌های رنگ‌بندی آیکون تلاش --- */
.effort-display.good-effort { color: var(--c-text-secondary); }
.effort-display.great-effort { color: var(--c-primary); }
.effort-display.excellent-effort {
    color: var(--c-success);
    text-shadow: 0 0 15px rgba(52, 199, 89, 0.5);
}
.effort-display.max-effort {
    color: var(--c-amrap);
    text-shadow: 0 0 20px rgba(255, 149, 0, 0.7);
    animation: flame-flicker 1.5s infinite alternate;
}



/* In smart-timer.css (at the end of the file) */

/* --- استایل‌های جدید برای ۶ سطح تلاش --- */

.effort-display.effort-very-weak {
    color: #636366; /* رنگ خاکستری تیره */
}
.effort-display.effort-weak {
    color: var(--c-text-secondary); /* رنگ خاکستری متن ثانویه */
}
.effort-display.effort-average {
    color: #007aff; /* رنگ آبی استاندارد */
}
.effort-display.effort-good {
    color: var(--c-primary); /* رنگ اصلی تم */
}
.effort-display.effort-very-good {
    color: var(--c-success); /* رنگ سبز موفقیت */
    text-shadow: 0 0 15px rgba(52, 199, 89, 0.4); /* افکت درخشش ملایم */
}
.effort-display.effort-excellent {
    color: var(--c-amrap); /* رنگ طلایی/نارنجی */
    text-shadow: 0 0 20px rgba(255, 149, 0, 0.7); /* افکت درخشش قوی */
    animation: flame-flicker 1.5s infinite alternate; /* انیمیشن شعله */
}

/* انیمیشن درخشش برای سطح عالی (این کد از قبل ممکن است وجود داشته باشد) */
@keyframes flame-flicker {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.05); opacity: 0.9; }
}
/* --- استایل جدید برای اولین ثبت کننده --- */
.effort-display.effort-pioneer {
    color: #5ac8fa; /* یک رنگ آبی خاص و متمایز */
    text-shadow: 0 0 15px rgba(90, 200, 250, 0.5); /* افکت درخشش ملایم */
}
/* === VVVV استایل‌های جدید برای کارت رده‌بندی مربی VVVV === */

.coach-leaderboard-card {
    background-color: var(--c-surface-1);
    border-radius: var(--radius-md);
    border: 1px solid var(--c-border);
    margin-bottom: 1rem;
    overflow: hidden;
    transition: all 0.2s ease-out;
}
.coach-leaderboard-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

.coach-leaderboard-card .card-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background-color: var(--c-surface-2);
}

.coach-leaderboard-card .rank {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--c-text-secondary);
    width: 30px;
}

.coach-leaderboard-card .avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.coach-leaderboard-card .athlete-info {
    flex-grow: 1;
}
.coach-leaderboard-card .athlete-info .name {
    font-weight: 600;
    color: var(--c-text-primary);
}
.coach-leaderboard-card .athlete-info .domain-score {
    font-size: 0.8rem;
    color: var(--c-text-secondary);
    display: block;
}

.coach-leaderboard-card .normalized-score {
    text-align: right;
    color: var(--c-primary);
}
.coach-leaderboard-card .normalized-score strong {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
}
.coach-leaderboard-card .normalized-score span {
    font-size: 0.8rem;
    font-weight: 600;
    margin-left: 2px;
}

.coach-leaderboard-card .card-body-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background-color: var(--c-border);
    padding: 1px 0 0 1px;
}

.coach-leaderboard-card .stat-item {
    background-color: var(--c-surface-1);
    text-align: center;
    padding: 0.75rem 0.5rem;
}
.coach-leaderboard-card .stat-item label {
    display: block;
    font-size: 0.7rem;
    color: var(--c-text-secondary);
    margin-bottom: 0.25rem;
}
.coach-leaderboard-card .stat-item span {
    display: block;
    font-size: 1rem;
    font-family: var(--font-display);
    font-weight: 600;
    color: var(--c-text-primary);
}
.coach-leaderboard-card .stat-item span small {
    font-size: 0.7em;
    color: var(--c-text-secondary);
}
/* === VVVV استایل‌های جدید برای آیکون‌های کارت رده‌بندی VVVV === */

.coach-leaderboard-card .stat-item label {
    display: flex; /* برای قرار گرفتن آیکون و متن در یک ردیف */
    align-items: center;
    justify-content: center;
    gap: 0.4rem; /* ایجاد فاصله بین آیکون و متن */
    font-size: 0.75rem; /* کمی بزرگتر کردن فونت برای خوانایی بهتر */
}
.coach-leaderboard-card .stat-item label i {
    color: var(--c-primary); /* <<< تغییر اصلی اینجاست */
    font-size: 0.9em;
}
/* === ^^^^^^ پایان استایل‌های جدید ^^^^^^ === */

/* === ^^^^^^ پایان استایل‌های جدید ^^^^^^ === */
