:root{--tpm-primary:#00447f;--tpm-primary-dark:#002d54;--tpm-accent:#00447f;--tpm-accent-dark:#002d54;--tpm-success:#10b981;--tpm-danger:#ef4444;--tpm-dark:#0f172a;--tpm-dark-2:#0a2e4d;--tpm-light-bg:#eaf2f8;--tpm-border:#cfe0ec;--tpm-text-dark:#1e1b3a;--tpm-text-light:#6b6488;--tpm-gradient-main:#00447f;--tpm-gradient-btn:#00447f;--tpm-gradient-dark:#002d54;--tpm-shadow-glow:0 10px 40px rgba(0, 68, 127, 0.25);--tpm-radius:18px}.tpm-form-container *{box-sizing:border-box;direction:rtl;font-family:'Vazirmatn',Tahoma,sans-serif}.tpm-form-container{max-width:1000px;margin:40px auto;padding:20px}.tpm-form-wrapper{background:#fff;border-radius:var(--tpm-radius);box-shadow:0 20px 60px rgb(0 45 84 / .12);padding:0;overflow:hidden;position:relative;border:1px solid var(--tpm-border)}.tpm-form-wrapper h2{color:#fff;margin:0;font-size:26px;font-weight:800;padding:34px 40px;background:var(--tpm-primary);background-size:200% 200%;animation:tpmGradientShift 8s ease infinite;position:relative;display:flex;align-items:center;gap:12px}.tpm-form-wrapper h2::before{content:"🔥";font-size:30px}@keyframes tpmGradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.tpm-form-wrapper>form{padding:40px}.tpm-section{margin-bottom:28px;padding:26px;background:var(--tpm-light-bg);border-radius:14px;border:1px solid var(--tpm-border);position:relative;transition:box-shadow 0.3s ease}.tpm-section:hover{box-shadow:0 6px 20px rgb(0 68 127 / .08)}.tpm-section-title{display:flex;align-items:center;font-size:18px;font-weight:700;color:var(--tpm-text-dark);margin-bottom:22px}.tpm-icon{font-size:22px;margin-left:10px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--tpm-primary);border-radius:12px;box-shadow:0 4px 10px rgb(0 68 127 / .3)}.tpm-form-group{margin-bottom:18px}.tpm-form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--tpm-text-dark);font-size:14px}.tpm-form-group input,.tpm-form-group select{width:100%;padding:13px 16px;border:2px solid var(--tpm-border);border-radius:10px;font-size:14px;transition:all 0.25s ease;font-family:inherit;background:#fff}.tpm-form-group input:focus,.tpm-form-group select:focus{outline:none;border-color:var(--tpm-primary);box-shadow:0 0 0 4px rgb(0 68 127 / .12)}.tpm-athlete-confirm-row{margin-top:6px}.tpm-athlete-confirm-row .tpm-btn{width:100%;justify-content:center}.tpm-athlete-confirmed-hint,.tpm-athlete-confirm-hint{margin-top:10px;font-size:13px;font-weight:600;color:var(--tpm-success);text-align:center}.tpm-goal-wrapper{margin-bottom:16px}.tpm-goal-wrapper .tpm-filter-toggle-btn.is-selected{border-color:var(--tpm-primary);color:var(--tpm-primary)}.tpm-search-box{position:relative;margin-bottom:20px}.tpm-search-box input{width:100%;padding:14px 18px;border:2px solid var(--tpm-border);border-radius:12px;font-size:15px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2300447f' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat 14px center;padding-right:44px}.tpm-search-box input:focus{outline:none;border-color:var(--tpm-primary);box-shadow:0 0 0 4px rgb(0 68 127 / .12)}.tpm-filter-wrapper{margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px}.tpm-filter-wrapper .tpm-filter-toggle-btn{flex:1;min-width:160px;width:auto}#tpmAddExerciseBtn{flex:1;min-width:200px;justify-content:center;padding:12px 18px;font-size:14px;border-radius:12px}.tpm-add-exercise-note{font-size:12px;color:var(--tpm-text-light,#718096);margin-top:8px;line-height:1.6}.tpm-filter-toggle-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;background:#fff;border:2px solid var(--tpm-border);border-radius:12px;font-weight:700;font-size:14px;color:var(--tpm-text-dark);cursor:pointer;font-family:inherit;transition:border-color 0.2s ease}.tpm-filter-toggle-btn:hover{border-color:var(--tpm-primary)}.tpm-filter-icon{font-size:12px;color:var(--tpm-primary)}.tpm-filter-panel{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;padding:14px;background:var(--tpm-light-bg);border-radius:12px;border:1px solid var(--tpm-border);flex-basis:100%}.tpm-filter-chip{padding:7px 16px;border-radius:20px;border:2px solid var(--tpm-border);background:#fff;font-size:13px;font-weight:600;color:var(--tpm-text-dark);cursor:pointer;font-family:inherit;transition:all 0.2s ease}.tpm-filter-chip:hover{border-color:var(--tpm-primary)}.tpm-filter-group-label{flex-basis:100%;font-size:11px;font-weight:800;color:var(--tpm-text-light,#718096);margin:6px 2px 0;opacity:.75}.tpm-filter-group-label:first-of-type{margin-top:0}.tpm-filter-chip.is-active{background:var(--tpm-primary);border-color:#fff0;color:#fff}.tpm-exercise-list-wrapper{max-height:420px;overflow-y:auto;border-radius:14px;border:1px solid var(--tpm-border);background:#fff;margin-bottom:10px}.tpm-list-row{display:flex;align-items:center;direction:ltr;gap:14px;padding:14px 16px;border-bottom:1px solid var(--tpm-border);transition:background 0.2s ease}.tpm-list-row:last-child{border-bottom:none}.tpm-list-row:hover{background:var(--tpm-light-bg)}.tpm-row-check{order:1;appearance:none;-webkit-appearance:none;width:24px;height:24px;min-width:24px;border-radius:50%;border:2px solid var(--tpm-border);cursor:pointer;position:relative;transition:all 0.2s ease;flex-shrink:0}.tpm-row-check:checked{background:var(--tpm-primary);border-color:#fff0}.tpm-row-check:checked::after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:13px;font-weight:700}.tpm-row-name{order:2;flex:1;direction:rtl;text-align:right;font-weight:600;font-size:14px;color:var(--tpm-text-dark)}.tpm-row-fav{order:3;background:none;border:none;cursor:pointer;font-size:22px;color:var(--tpm-border);line-height:1;padding:4px;transition:transform 0.15s ease,color 0.15s ease;flex-shrink:0}.tpm-row-fav:hover{transform:scale(1.15)}.tpm-row-fav.is-fav{color:#f5b301}.tpm-empty-row{padding:30px;text-align:center;color:var(--tpm-text-light)}.tpm-no-results{padding:20px;text-align:center;color:var(--tpm-text-light);font-size:14px}.tpm-selected-exercises-title{font-weight:700;color:var(--tpm-text-dark);margin:18px 0 12px;font-size:15px}.tpm-empty-selected{text-align:center;color:var(--tpm-text-light);padding:10px 0}.tpm-preview-section{margin-top:22px}.tpm-preview-pane{margin-top:10px;border:2px solid var(--tpm-border);border-radius:14px;overflow:hidden;background:#e9eef3}.tpm-preview-frame{width:100%;height:70vh;min-height:420px;border:0;display:block}.tpm-selected-exercises{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tpm-exercise-card{background:#fff;border:2px solid var(--tpm-border);border-radius:14px;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:14px;transition:all 0.3s ease}.tpm-exercise-card:hover{border-color:var(--tpm-primary);box-shadow:0 8px 24px rgb(0 68 127 / .15);transform:translateY(-2px)}.tpm-exercise-card-compact{padding:10px 14px}.tpm-exercise-card-compact .tpm-exercise-title{margin-bottom:0}.tpm-card-thumb{width:60px;height:60px;border-radius:12px;object-fit:cover;flex-shrink:0;box-shadow:0 4px 10px rgb(0 0 0 / .12)}.tpm-card-thumb-empty{display:flex;align-items:center;justify-content:center;background:var(--tpm-primary);font-size:24px}.tpm-exercise-info{flex:1}.tpm-exercise-title{font-weight:700;color:var(--tpm-text-dark);margin-bottom:4px;font-size:15px}.tpm-exercise-details{font-size:13px;color:var(--tpm-text-light)}.tpm-exercise-actions{display:flex;gap:6px}.tpm-btn-icon{background:var(--tpm-light-bg);border:none;cursor:pointer;font-size:16px;padding:8px;border-radius:10px;transition:transform 0.2s ease,background 0.2s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.tpm-btn-icon:hover{transform:scale(1.1)}.tpm-btn-delete:hover{background:rgb(239 68 68 / .12)}.tpm-btn-edit:hover{background:rgb(0 68 127 / .12)}.tpm-actions{display:flex;gap:12px;justify-content:center;margin-top:32px}.tpm-btn{padding:14px 34px;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;gap:8px;font-family:inherit}.tpm-btn-primary{background:var(--tpm-primary);color:#fff;box-shadow:var(--tpm-shadow-glow)}.tpm-btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgb(0 68 127 / .4)}.tpm-btn-secondary{background:var(--tpm-light-bg);color:var(--tpm-text-dark);border:2px solid var(--tpm-border)}.tpm-btn-secondary:hover{background:var(--tpm-border)}.tpm-modal{position:fixed;inset:0;background:rgb(5 15 30 / .6);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:1000}.tpm-modal.show{display:flex}.tpm-modal-content{background:#fff;border-radius:20px;width:92%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 30px 70px rgb(0 0 0 / .35);font-family:'Vazirmatn',Tahoma,sans-serif;direction:rtl;animation:tpmModalPop 0.25s ease}@keyframes tpmModalPop{from{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.tpm-modal-header{padding:22px 24px;background:var(--tpm-primary);display:flex;justify-content:space-between;align-items:center;border-radius:20px 20px 0 0}.tpm-modal-header h3{margin:0;color:#fff;font-weight:700}.tpm-modal-close{background:rgb(255 255 255 / .2);border:none;font-size:22px;cursor:pointer;color:#fff;padding:0;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background 0.2s ease}.tpm-modal-close:hover{background:rgb(255 255 255 / .35)}.tpm-modal-body{padding:24px}.tpm-modal-exercise-image{width:100%;max-height:220px;object-fit:cover;border-radius:14px;margin-bottom:20px;box-shadow:0 8px 20px rgb(0 0 0 / .15)}.tpm-modal-field-row{display:flex;gap:10px;margin-bottom:8px}.tpm-form-group-inline{flex:1;min-width:0;margin-bottom:14px}.tpm-form-group-inline label{display:block;margin-bottom:6px;font-weight:600;color:var(--tpm-text-dark);font-size:12px}.tpm-form-group-inline input{width:100%;padding:9px 10px;border:2px solid var(--tpm-border);border-radius:8px;font-size:13px;text-align:center;font-family:inherit;transition:all 0.2s ease}.tpm-form-group-inline input:focus{outline:none;border-color:var(--tpm-primary);box-shadow:0 0 0 3px rgb(0 68 127 / .12)}.tpm-days-selection{display:flex;flex-wrap:wrap;gap:6px}.tpm-checkbox{display:flex;align-items:center;cursor:pointer;padding:6px 10px;background:var(--tpm-light-bg);border-radius:8px;border:2px solid var(--tpm-border);transition:all 0.2s ease;font-size:12px;flex:0 0 auto}.tpm-checkbox:hover{border-color:var(--tpm-primary)}.tpm-checkbox input[type="checkbox"]{width:auto;margin-left:5px;cursor:pointer;accent-color:var(--tpm-primary);transform:scale(.85)}.tpm-checkbox:has(input:checked){color:var(--tpm-primary);background:rgb(0 68 127 / .08);border-color:var(--tpm-primary);font-weight:600}.tpm-modal-footer{padding:20px 24px;border-top:1px solid var(--tpm-border);display:flex;gap:10px;justify-content:flex-end}.tpm-loading{opacity:.6;pointer-events:none}.tpm-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgb(255 255 255 / .3);border-top-color:#fff;border-radius:50%;animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tpm-alert{padding:16px 18px;border-radius:12px;margin-bottom:20px;display:flex;gap:10px;font-weight:600;font-family:'Vazirmatn',Tahoma,sans-serif}.tpm-alert-success{background:rgb(16 185 129 / .1);color:var(--tpm-success);border:2px solid var(--tpm-success)}.tpm-alert-error{background:rgb(239 68 68 / .1);color:var(--tpm-danger);border:2px solid var(--tpm-danger)}@media (max-width:768px){.tpm-form-wrapper>form{padding:24px}.tpm-form-wrapper h2{font-size:20px;padding:26px 24px}.tpm-section{padding:18px}.tpm-exercise-card{flex-wrap:wrap}.tpm-selected-exercises{grid-template-columns:repeat(2,minmax(0,1fr))}.tpm-exercise-actions{width:100%;margin-top:10px;justify-content:flex-end}.tpm-days-selection{grid-template-columns:1fr}}:root{--tpm-primary:#00447f;--tpm-primary-dark:#002d54;--tpm-light-bg:#f3f7fb;--tpm-border:#b8cfe2;--tpm-text-dark:#102a43;--tpm-text-light:#5f7890}#tpmExercisesSection{width:90vw;max-width:none;margin-left:auto;margin-right:auto}.tpm-row-name{font-size:17px;font-weight:700}.tpm-exercise-title{font-size:17px}.tpm-exercise-details{font-size:14px}.tpm-filter-toggle-btn,.tpm-filter-chip,.tpm-search-box input,.tpm-form-group input,.tpm-form-group select,.tpm-form-group-inline input{border-color:#9dbbd3}.tpm-filter-toggle-btn:hover,.tpm-filter-chip:hover,.tpm-search-box input:focus,.tpm-form-group input:focus,.tpm-form-group select:focus,.tpm-form-group-inline input:focus{border-color:#00447f}.tpm-filter-chip.is-active,.tpm-btn-primary,.tpm-row-check:checked,.tpm-icon,.tpm-card-thumb-empty{background:#00447f;border-color:#00447f}.tpm-filter-panel{background:#eef5fa;border-color:#b8cfe2}.tpm-filter-chip{background:#fff;color:#102a43}.tpm-filter-chip.is-active{color:#fff}.tpm-filter-icon{color:#00447f}.tpm-row-fav,.tpm-row-fav:focus,.tpm-row-fav:hover{border:0;outline:0;box-shadow:none;background:#fff0}.tpm-row-fav.is-fav{color:#00447f}.tpm-days-selection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}.tpm-checkbox{width:100%;min-width:0;min-height:44px;padding:8px 10px;justify-content:flex-start;box-sizing:border-box;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden}.tpm-checkbox:has(input:checked){font-weight:600}.tpm-checkbox input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;margin-left:7px;border:2px solid #8eabc2;border-radius:5px;background:#fff;position:relative;transform:none}.tpm-checkbox input[type="checkbox"]:checked{background:#00447f;border-color:#00447f}.tpm-checkbox input[type="checkbox"]:checked::after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:800}.tpm-checkbox:has(input:checked){color:#00447f;background:#eaf2f8;border-color:#00447f}.tpm-exercise-actions{margin-right:auto}@media (max-width:768px){#tpmExercisesSection{width:100%}.tpm-days-selection{grid-template-columns:repeat(2,minmax(0,1fr))}.tpm-row-name{font-size:15px}.tpm-exercise-title{font-size:15px}}.tpm-days-selection{align-items:center}.tpm-checkbox{align-items:center;line-height:1;min-height:32px}.tpm-checkbox input[type="checkbox"]{margin-left:6px;margin-top:0;margin-bottom:0;transform:translateY(-1px) scale(.85);vertical-align:middle}.tpm-checkbox:has(input:checked){transform:none}.tpm-athlete-portal{direction:rtl;max-width:720px;margin:50px auto;padding:20px;font-family:'Vazirmatn',Tahoma,sans-serif}.tpm-athlete-portal-card{position:relative;overflow:hidden;background:#fff;border:1px solid #d9e6ef;border-radius:28px;padding:48px 42px;text-align:center;box-shadow:0 24px 70px rgb(0 68 127 / .16)}.tpm-athlete-portal-card::before{content:"";position:absolute;inset:0 0 auto;height:8px;background:#00447f}.tpm-athlete-portal-icon{width:76px;height:76px;display:grid;place-items:center;margin:0 auto 18px;border-radius:24px;background:#00447f;color:#fff;font-size:34px;box-shadow:0 14px 30px rgb(0 68 127 / .28)}.tpm-athlete-portal-kicker{display:block;color:#00447f;font-size:11px;letter-spacing:2px;font-weight:800}.tpm-athlete-portal-card h1{margin:8px 0 10px;color:#0f172a;font-size:32px;font-weight:800}.tpm-athlete-portal-card p{color:#64748b;margin:0 auto 28px;line-height:1.9}.tpm-athlete-code-form{display:grid;gap:12px;text-align:right}.tpm-athlete-code-form label{font-weight:700;color:#0f172a}.tpm-athlete-code-form input{width:100%;box-sizing:border-box;padding:18px 20px;border:2px solid #d9e6ef;border-radius:16px;text-align:center;direction:ltr;letter-spacing:8px;font-size:26px;font-weight:800;color:#00447f}.tpm-athlete-code-form input:focus{outline:none;border-color:#00447f;box-shadow:0 0 0 5px rgb(0 68 127 / .1)}.tpm-athlete-code-form button{border:0;border-radius:16px;padding:16px 22px;background:#00447f;color:#fff;font:inherit;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.tpm-athlete-code-form button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgb(0 68 127 / .25)}.tpm-athlete-portal-note{margin-top:18px;color:#94a3b8;font-size:13px}.tpm-generated-tracking-code{margin:18px auto 0;max-width:420px;padding:20px;background:#fff;border:2px solid #00447f;border-radius:18px;text-align:center;box-shadow:0 10px 28px rgb(0 68 127 / .12)}.tpm-generated-tracking-code span,.tpm-generated-tracking-code small{display:block;color:#64748b}.tpm-generated-tracking-code strong{display:block;margin:4px 0;color:#00447f;font-size:34px;letter-spacing:7px;direction:ltr}@media (max-width:600px){.tpm-athlete-portal-card{padding:38px 22px}.tpm-athlete-portal-card h1{font-size:26px}}#exerciseTable{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}#exerciseTable .tpm-list-row{min-width:0;border-bottom:1px solid var(--tpm-border);border-left:1px solid var(--tpm-border)}@media (max-width:600px){#exerciseTable{grid-template-columns:1fr}#exerciseTable .tpm-list-row{padding:11px 9px;gap:8px}#exerciseTable .tpm-row-name{font-size:12px}#exerciseTable .tpm-row-check{width:21px;height:21px;min-width:21px}#exerciseTable .tpm-row-fav{font-size:18px}}.tpm-athlete-fields-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tpm-athlete-fields-row .tpm-form-group{margin-bottom:18px}@media (max-width:600px){#tpmExercisesSection{width:calc(100% + 20px);margin-right:-10px;margin-left:-10px}#tpmExercisesSection .tpm-exercise-list-wrapper{width:100%}.tpm-athlete-fields-row{grid-template-columns:1fr;gap:0}}.tpm-trainer-programs-page{max-width:1100px;margin:35px auto;padding:24px;background:#f7fafc;border:1px solid var(--tpm-border);border-radius:22px;box-shadow:0 20px 60px rgb(0 45 84 / .08);font-family:'Vazirmatn',Tahoma,sans-serif}.tpm-trainer-programs-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px;margin-bottom:22px;border-radius:18px;background:linear-gradient(135deg,#002d54,#00447f);color:#fff}.tpm-trainer-programs-kicker{font-size:11px;letter-spacing:2px;direction:ltr;opacity:.75;font-weight:800}.tpm-trainer-programs-header h2{margin:7px 0 4px;font-size:26px}.tpm-trainer-programs-header p{margin:0;opacity:.8;font-size:13px}.tpm-trainer-programs-count{white-space:nowrap;border:1px solid rgb(255 255 255 / .28);border-radius:999px;padding:10px 16px;font-weight:800}.tpm-trainer-programs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tpm-trainer-program-card{background:#fff;border:1px solid var(--tpm-border);border-radius:16px;padding:18px;box-shadow:0 8px 24px rgb(0 45 84 / .06)}.tpm-trainer-program-card-top{display:flex;align-items:center;gap:12px}.tpm-trainer-program-avatar{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf2f8;font-size:20px}.tpm-trainer-program-athlete span,.tpm-trainer-program-meta span{display:block;font-size:11px;color:#718096;margin-bottom:4px}.tpm-trainer-program-athlete strong{font-size:17px;color:#172033}.tpm-trainer-program-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;padding:12px;border-radius:12px;background:#f7fafc}.tpm-trainer-program-meta strong{font-size:13px;color:#00447f}.tpm-trainer-program-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.tpm-trainer-program-tracking{font-size:11px;color:#718096}.tpm-trainer-program-download{background:#00447f;color:#fff!important;text-decoration:none!important;padding:9px 12px;border-radius:9px;font-size:12px;font-weight:800}.tpm-trainer-programs-empty{text-align:center;padding:40px 20px;background:#fff;border:1px dashed var(--tpm-border);border-radius:16px;color:#718096}@media(max-width:800px){.tpm-trainer-programs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.tpm-trainer-programs-page{margin:18px 8px;padding:12px}.tpm-trainer-programs-header{padding:20px 16px;align-items:flex-start}.tpm-trainer-programs-header h2{font-size:21px}.tpm-trainer-programs-count{font-size:11px;padding:8px 10px}.tpm-trainer-programs-grid{grid-template-columns:1fr}.tpm-trainer-program-card-footer{flex-wrap:wrap}}