@font-face{font-family:IRANSans;src:url('../fonts/iransans/IRANSans-UltraLight-web.woff2') format('woff2');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:IRANSans;src:url('../fonts/iransans/IRANSans-Light-web.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:IRANSans;src:url('../fonts/iransans/IRANSans-web.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:IRANSans;src:url('../fonts/iransans/IRANSans-Medium-web.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:IRANSans;src:url('../fonts/iransans/IRANSans-Bold-web.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --ink:#1C2333;--paper:#f3f4f6;--white:#fff;
  --muted:#6e7b8e;--muted-soft:#e8eaed;--line:#dcdfe4;
  --brand:#FF6B35;--brand-soft:#FFE7DC;
  --success:#22C55E;--success-soft:#E6F8EC;
  --warning:#F5A524;--warning-soft:#FDF1DC;
  --danger:#F4475A;--danger-soft:#FDEAEC;
  --shadow:0 28px 80px rgba(28,35,51,.14);--shadow-soft:0 12px 38px rgba(28,35,51,.08);
  --radius:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:IRANSans,Tahoma,sans-serif;font-size:14px;line-height:1.7;overflow-x:hidden}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.ambient{position:fixed;border-radius:50%;filter:blur(10px);pointer-events:none;z-index:-1;opacity:.5}
.ambient-one{width:420px;height:420px;background:color-mix(in srgb,var(--brand) 18%,transparent);right:-170px;top:-120px}
.ambient-two{width:360px;height:360px;background:color-mix(in srgb,var(--brand) 14%,transparent);left:-150px;bottom:40px}
.panel{background:rgba(255,255,255,.9);border:1px solid rgba(213,217,223,.88);box-shadow:var(--shadow-soft);backdrop-filter:blur(16px)}

.product-bar{position:sticky;top:0;z-index:30;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px clamp(18px,4vw,64px);background:rgba(245,246,247,.88);border-bottom:1px solid rgba(205,210,217,.75);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:10px;min-width:150px}
.brand-mark,.mini-mark{display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:700;transform:skew(-7deg)}
.brand-mark{width:42px;height:42px;border-radius:13px;box-shadow:inset -5px -5px 0 var(--brand)}
.brand-mark span{transform:skew(7deg);font-size:19px}
.brand strong,.brand small{display:block;line-height:1.35}.brand strong{font-size:17px}.brand small{color:var(--muted);font-size:11px}
.product-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.segmented{display:flex;padding:4px;background:#e8eaee;border:1px solid #d7dbe1;border-radius:14px}
.segmented button,.catalog-jump{min-height:44px;border:0;border-radius:10px;padding:8px 14px;background:transparent;color:#596474;white-space:nowrap}
.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 3px 12px rgba(28,35,51,.1);font-weight:700}
.role-switch button.active{color:var(--brand)}
.catalog-jump{background:var(--ink);color:#fff;padding-inline:17px}

.workspace{width:min(1740px,calc(100% - 32px));margin:26px auto 54px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}
.page-panel{position:sticky;top:102px;border-radius:var(--radius);padding:20px;max-height:calc(100vh - 124px);overflow:hidden;display:flex;flex-direction:column}
.role-kicker{font-size:11px;letter-spacing:.02em;color:var(--brand);font-weight:700}
.eyebrow{font-size:11px;letter-spacing:.02em;color:var(--brand);font-weight:700}
.role-title-row{display:flex;align-items:center;gap:12px;margin:9px 0 15px}.role-title-row h1{font-size:24px;line-height:1.3;margin:0}.role-title-row p{font-size:11px;color:var(--muted);margin:3px 0 0}
.role-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--brand-soft);color:var(--brand);font-size:18px;font-weight:700}
.coverage{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:0 8px;padding:11px 13px;background:var(--ink);color:#fff;border-radius:14px}.coverage strong{font-size:22px;color:var(--brand);grid-row:1/3}.coverage span{font-size:11px;color:#e7e9ed}.coverage small{font-size:11px;color:#96a0af}
.page-search{display:block;margin:16px 0 10px}.page-search span{display:block;font-size:11px;color:var(--muted);margin:0 4px 5px}.page-search input{width:100%;border:1px solid var(--line);background:#f8f9fa;border-radius:12px;padding:10px 12px;outline:none}.page-search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.mobile-page-select{display:none}.mobile-page-select span{display:block;font-size:11px;color:var(--muted);margin:0 4px 5px}.mobile-page-select select{width:100%;min-height:46px;border:1px solid var(--line);background:#f8f9fa;color:var(--ink);border-radius:12px;padding:9px 12px;font:inherit;outline:none}
.page-nav{overflow:auto;padding:3px 0 20px;scrollbar-width:thin}
.page-nav button{width:100%;min-height:48px;border:0;background:transparent;color:#566070;border-radius:12px;padding:10px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;text-align:right;margin-bottom:3px}
.page-nav button:hover{background:#f1f2f4}.page-nav button.active{background:var(--brand-soft);color:var(--ink);font-weight:700}.page-nav button.active .nav-index{background:var(--brand);color:#fff}
.nav-index{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#ebedef;font-size:11px}.nav-kind{font-size:11px;color:#7c889a;font-weight:400}
.nav-group{margin:12px 4px 5px;color:#748194;font-size:11px;font-weight:500}.nav-group:first-child{margin-top:3px}

.preview-area{min-width:0}.preview-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:3px 3px 16px}.preview-heading h2{font-size:clamp(24px,3vw,38px);line-height:1.28;margin:4px 0}.preview-heading p{max-width:720px;color:var(--muted);margin:0}.preview-tools{display:grid;justify-items:end;gap:8px}.screen-meta{display:flex;gap:8px;flex-wrap:wrap}.screen-meta span{border:1px solid var(--line);background:#fff;color:#596474;padding:6px 10px;border-radius:10px;font-size:11px}.page-stepper{display:flex;align-items:center;gap:6px;padding:4px;background:#e8eaee;border:1px solid #d7dbe1;border-radius:12px}.page-stepper button{min-height:34px;border:0;border-radius:8px;padding:5px 10px;background:#fff;color:#3f4651;font-size:11px}.page-stepper button:disabled{opacity:.4;cursor:not-allowed}.page-stepper>span{min-width:54px;text-align:center;color:#687486;font-size:11px}
.device-stage{min-height:700px;border-radius:28px;padding:30px;background-color:#e0e3e8;background-image:linear-gradient(rgba(255,255,255,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.32) 1px,transparent 1px);background-size:28px 28px;display:grid;place-items:center;overflow:auto}
.device-frame{position:relative;background:#0d0e10;box-shadow:var(--shadow);transition:width .3s ease,height .3s ease,border-radius .3s ease;padding:10px;overflow:hidden}
.device-frame.desktop{width:min(100%,1280px);height:720px;border-radius:22px}
.device-frame.mobile{width:390px;height:780px;border-radius:38px;padding:9px}
.device-camera{display:none}.device-frame.mobile .device-camera{display:block;position:absolute;z-index:5;top:13px;left:50%;width:92px;height:23px;transform:translateX(-50%);border-radius:20px;background:#0d0e10}
.mock-product{height:100%;background:#f6f7f8;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;direction:rtl;position:relative}
.device-frame.mobile .mock-product{border-radius:30px}
.mock-topbar{height:58px;flex:0 0 58px;background:#fff;border-bottom:1px solid #e8eaed;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 16px;gap:10px}
.mock-brand{display:flex;align-items:center;gap:7px}.mini-mark{width:28px;height:28px;border-radius:9px;box-shadow:inset -3px -3px 0 var(--brand)}.mock-brand strong{font-size:13px}.mock-context{font-size:11px;color:#667285;display:flex;align-items:center;gap:6px}.context-dot{width:7px;height:7px;background:var(--brand);border-radius:50%;box-shadow:0 0 0 4px var(--brand-soft)}
.mock-actions{display:flex;align-items:center;justify-content:flex-start;direction:ltr;gap:5px}.mock-actions button{width:30px;height:30px;border:1px solid #e3e5e9;background:#fff;border-radius:9px;color:#647083}.mock-user{width:31px;height:31px;display:grid;place-items:center;background:var(--ink);color:#fff;border-radius:10px;font-size:11px;font-weight:700}
.mock-product.is-auth .mock-topbar{grid-template-columns:1fr}.mock-product.is-auth .mock-context,.mock-product.is-auth .mock-actions{display:none}.mock-product.is-auth .mock-body{grid-template-columns:1fr}.mock-product.is-auth .mock-sidebar,.mock-product.is-auth .mobile-bottom-nav,.mock-product.is-auth .more-drawer{display:none}
.mock-body{display:grid;grid-template-columns:190px 1fr;min-height:0;flex:1}.mock-sidebar{background:#fff;border-left:1px solid #e6e8ec;padding:15px 11px;display:flex;flex-direction:column;justify-content:space-between;min-height:0}.mock-sidebar nav{display:block}.mock-nav-item{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:9px;color:#6e7c90;font-size:12px;margin-bottom:3px}.mock-nav-item.active{background:var(--brand-soft);color:var(--ink);font-weight:700}.mock-nav-item i{width:20px;height:20px;border-radius:6px;background:#eff0f2;display:grid;place-items:center;font-size:11px;font-style:normal}.mock-nav-item.active i{background:var(--brand);color:#fff}
.coach-card{padding:12px;background:var(--ink);color:#fff;border-radius:13px}.coach-card span,.coach-card strong{display:block}.coach-card span{font-size:11px;color:#a2abb8}.coach-card strong{font-size:12px;margin:3px 0 9px}.coach-card button{width:100%;border:0;background:var(--brand);color:#fff;border-radius:8px;padding:6px;min-height:36px;font-size:11px}
.mock-sidebar #mockNav{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;margin-bottom:10px}
.mock-sidebar .coach-card{flex-shrink:0}
.screen-canvas{min-width:0;overflow:auto;padding:22px;background:#f6f7f8;scrollbar-width:thin}.screen-inner{max-width:1040px;margin:0 auto}.screen-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:17px}.screen-head-copy{min-width:0}.screen-breadcrumb{display:flex;align-items:center;gap:6px;color:#647082;font-size:11px;margin-bottom:2px}.screen-breadcrumb b{font-weight:400;color:#a9b1bd}.back-chip{width:36px;height:36px;border:1px solid #dee1e5;background:#fff;border-radius:10px;color:var(--ink);display:grid;place-items:center;font-size:18px;line-height:1}.screen-head h3{font-size:22px;line-height:1.4;margin:3px 0}.screen-head p{font-size:12px;color:#5f6a7b;margin:0;max-width:650px}.primary-btn,.secondary-btn,.danger-btn{min-height:40px;border:0;border-radius:10px;padding:9px 14px;font-weight:700;font-size:12px}.primary-btn{background:var(--brand);color:#fff}.secondary-btn{background:#fff;color:var(--ink);border:1px solid #d8dce1}.danger-btn{background:var(--danger-soft);color:#c92f42}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:13px}.stat-card,.ui-card{background:#fff;border:1px solid #e3e6ea;border-radius:14px;box-shadow:0 5px 16px rgba(28,35,51,.04)}.stat-card{padding:13px}.stat-card span{display:block;font-size:11px;color:#828e9f}.stat-card strong{display:block;font-size:20px;line-height:1.5;margin-top:4px}.stat-card small{font-size:11px;color:var(--brand)}
.dashboard-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:12px}.ui-card{padding:14px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.card-head strong{font-size:12px}.card-head span,.card-head button{font-size:11px;color:#7c889b}.card-head button{background:none;border:0;color:var(--brand)}
.bar-chart{height:145px;display:flex;align-items:flex-end;justify-content:space-between;gap:9px;padding-top:18px;padding-bottom:10px;border-bottom:1px solid #e8eaed}.bar-chart span{flex:1;max-width:42px;background:linear-gradient(180deg,var(--brand),color-mix(in srgb,var(--brand) 55%,#1C2333 45%));border-radius:7px 7px 2px 2px;position:relative;min-height:12px}.bar-chart span::after{content:attr(data-label);position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-size:7px;color:#808c9e}
.task-list,.item-list{display:grid;gap:7px}.task-row,.item-row{display:flex;align-items:center;gap:10px;padding:10px;background:#f8f9fa;border:1px solid transparent;border-radius:12px}.task-row.is-current,.item-row.is-current{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 25%,transparent)}.task-row .task-check,.item-row .task-check{width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--muted-soft);border:2px solid transparent;display:grid;place-items:center;color:var(--ink);font-size:13px;font-weight:700;line-height:1}.task-row .task-check.is-current,.item-row .task-check.is-current{background:#fff;border-color:var(--brand);box-shadow:0 4px 10px color-mix(in srgb,var(--brand) 30%,transparent)}.task-row div,.item-row div{min-width:0;flex:1}.task-row strong,.item-row strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-row span,.item-row span{display:block;color:#8590a1;font-size:11px}.status-pill,.tag{display:inline-flex;align-items:center;border-radius:999px;background:var(--brand-soft);color:var(--brand);padding:3px 7px;font-size:11px;white-space:nowrap}.task-row.is-current .status-pill{background:var(--brand);color:#fff}
.status-pill{gap:6px;padding:5px 11px;font-weight:700;font-size:10.5px;line-height:1.6;border:1px solid transparent}
.status-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 16%,transparent)}
.status-pill.is-success{background:var(--success-soft);color:#2f8a55;border-color:color-mix(in srgb,#2f8a55 24%,transparent)}
.status-pill.is-pending{background:var(--warning-soft);color:#b3741a;border-color:color-mix(in srgb,#b3741a 24%,transparent)}
.status-pill.is-muted{background:var(--muted-soft);color:#697588;border-color:color-mix(in srgb,#697588 24%,transparent)}
.status-pill.is-danger{background:var(--danger-soft);color:#c0392b;border-color:color-mix(in srgb,#c0392b 24%,transparent)}
.progress-ring{width:96px;height:96px;margin:10px auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) 0 72%,#eaecee 72%)}.progress-ring::before{content:attr(data-value);width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:16px;font-weight:700}

.auth-layout{min-height:520px;display:grid;grid-template-columns:1fr .8fr;border-radius:18px;overflow:hidden;background:#fff;border:1px solid #e3e6ea}.auth-visual{background:var(--ink);color:#fff;padding:38px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-visual::after{content:"";position:absolute;width:240px;height:240px;border:44px solid var(--brand);border-radius:50%;left:-100px;bottom:-100px;opacity:.45}.auth-visual h3{font-size:32px;max-width:420px;line-height:1.7;margin:0}.auth-visual p{color:#acb4bf;font-size:11px;max-width:380px}.auth-form{padding:45px 38px;display:flex;flex-direction:column;justify-content:center}.auth-form h4{font-size:22px;margin:0 0 8px}.auth-form>p{font-size:12px;color:#7a8699;margin:0 0 22px}.field{display:block;margin-bottom:12px}.field>span{display:block;font-size:11px;color:#707d91;margin:0 3px 5px}.input-shell{height:42px;border:1px solid #dee1e6;background:#f9f9fa;border-radius:10px;padding:0 12px;display:flex;align-items:center;color:#414954;font-size:12px}.ltr-digits{direction:ltr;unicode-bidi:embed}.otp-boxes{display:flex;direction:ltr;gap:7px;margin:9px 0 18px}.otp-boxes span{flex:1;height:44px;display:grid;place-items:center;border:1px solid #dee1e6;border-radius:10px;font-weight:700}.auth-submit{width:100%;border:0;background:var(--brand);color:#fff;border-radius:11px;padding:11px;min-height:44px;font-weight:700;font-size:12px}.field-hint{font-size:11px;color:var(--muted);margin:6px 3px 0}
.field-error{font-size:11px;color:var(--danger);margin:6px 3px 0;display:flex;align-items:center;gap:5px}
.field-error::before{content:"!";display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:var(--danger);color:#fff;font-weight:700;font-size:10px;flex-shrink:0}
.field-success{font-size:11px;color:var(--success);margin:6px 3px 0;display:flex;align-items:center;gap:5px}
.field-success::before{content:"✓";display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:var(--success);color:#fff;font-weight:700;font-size:10px;flex-shrink:0}
.input-shell.input-error{border-color:var(--danger);background:var(--danger-soft);color:#b53341}
.input-shell.input-success{border-color:var(--success);background:var(--success-soft);color:#1f7a44}
.consent-check{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#616c7d;cursor:pointer}.consent-check input{width:16px;height:16px;margin-top:1px;accent-color:var(--brand);flex-shrink:0}
.signup-card{margin-top:18px;padding:16px;background:#fff;border:1px solid var(--brand);border-radius:14px;display:flex;flex-direction:column;gap:12px}.signup-card .field,.signup-card .card-head{margin-bottom:0}
.otp-intro{display:flex;flex-direction:column;gap:6px;margin:0 0 20px}.otp-intro p{margin:0;font-size:12px;color:#7a8699}
.link-btn{align-self:flex-start;border:0;background:none;padding:0;color:var(--brand);font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:4px}
.link-btn[disabled]{color:#b0b7c2;cursor:not-allowed}
.otp-resend-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:-6px}.otp-resend-row .field-hint{margin:0}
.input-shell.is-active{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.date-picker{margin-top:8px;padding:14px;background:#f8f9fa;border:1px solid var(--line);border-radius:12px}
.date-picker-wheels{position:relative;display:flex;gap:6px;height:180px;padding:0 2px}
.date-picker-highlight{position:absolute;top:72px;left:2px;right:2px;height:36px;background:var(--brand-soft);border:1px solid var(--brand);border-radius:10px;pointer-events:none}
.date-picker-col{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}
.dp-item{height:36px;width:100%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#96a0af}
.dp-item.is-far{font-size:11px;color:#cacfd6}
.dp-item.is-selected{font-size:14px;font-weight:700;color:var(--brand)}
.date-picker-actions{display:flex;gap:8px;margin-top:12px}
.date-picker-actions .secondary-btn,.date-picker-actions .primary-btn{flex:1}
.state-gallery{margin-top:22px;padding:15px;background:#f7f8f9;border:1px solid #e7e9ed;border-radius:14px}
.state-gallery-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:13px}
.state-gallery-head .ic{width:16px;height:16px;color:var(--brand)}
.state-gallery-head strong{font-size:12.5px;color:var(--ink)}
.state-gallery-head>span{width:100%;font-size:10.5px;color:#828d9e}
.state-demo{background:#fff;border:1px solid #e7e9ed;border-radius:11px;padding:12px;margin:0 0 9px}
.state-demo:last-child{margin-bottom:0}
.state-demo .field{margin-bottom:0}
.state-demo .form-alert:last-child{margin-bottom:0}
.state-demo-label{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;border-radius:20px;padding:3px 10px;margin-bottom:10px;background:var(--muted-soft);color:#636f81}
.state-demo-label::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.state-demo-label--success{background:var(--success-soft);color:#1f7a44}
.state-demo-label--error{background:var(--danger-soft);color:#b53341}
.state-demo-label--warning{background:var(--warning-soft);color:#9a6a0a}
.form-alert{display:flex;align-items:center;gap:8px;background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger);border-radius:10px;padding:10px 12px;font-size:11px;margin:0 0 12px}
.form-alert.is-warning{background:var(--warning-soft);border-color:var(--warning);color:#9a6a0a}

.assess-method-tabs{display:flex;gap:6px;margin-bottom:14px}.assess-method-tabs button{padding:6px 12px;border:1px solid #e1e4e8;background:#fff;border-radius:8px;font-size:11px;color:#647083;font-family:inherit;cursor:pointer;min-height:34px}.assess-method-tabs button.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:700}
.assess-method-panel{display:grid;gap:10px}.assess-method-panel--alt{border-top:1px dashed var(--line);padding-top:14px;margin-top:6px}
.assess-photo-note{margin:4px 0 0}.assess-photo-note .assess-note-input{height:auto;min-height:66px;align-items:flex-start;padding-top:11px;padding-bottom:11px;line-height:1.9}.assess-photo-note .placeholder-text{line-height:1.9}
.photo-sample{display:flex;gap:14px;align-items:center;background:#f8f8f9;border:1px solid #e2e5e9;border-radius:14px;padding:13px}
.photo-sample-figure{position:relative;flex-shrink:0;width:92px;height:118px;border-radius:11px;background:#fff;border:1px solid #dde0e5;display:grid;place-items:center;overflow:hidden}
.photo-sample-img{width:72%;height:auto;display:block;color:#8b95a5}
.photo-sample-badge{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:3px;background:var(--brand);color:#fff;font-size:9px;font-weight:700;padding:3px 8px;border-radius:7px;white-space:nowrap}
.photo-sample-badge .ic{width:10px;height:10px}
.photo-sample-info{flex:1;min-width:0}
.photo-sample-info strong{display:block;font-size:12px;margin-bottom:5px;color:var(--ink)}
.photo-sample-info p{margin:0 0 9px;font-size:11px;color:#616c7d;line-height:1.8}
.photo-sample-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.photo-sample-list li{display:flex;align-items:center;gap:6px;font-size:11px;color:#566070}
.photo-sample-list li .ic{width:13px;height:13px;color:var(--brand);flex-shrink:0}
.photo-angle-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-angle-slot{display:grid;gap:5px}.photo-angle-slot .upload-zone{height:150px;display:grid;place-items:end center;padding-bottom:12px}.photo-angle-icon{font-size:20px;color:#c0c6ce}.upload-icon{width:26px;height:26px;display:block;color:#6c798c;filter:drop-shadow(0 0 4px rgba(255,255,255,.95))}.angle-figure{width:128px;height:auto;display:block;margin:0 auto;color:#8b95a5}.photo-angle-label{text-align:center;font-size:11px;font-weight:600;color:#616c7d}
.body-shape-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:6px}.body-shape-card{border:1px solid var(--line);background:#f8f9fa;border-radius:10px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;font-family:inherit}.body-shape-card.is-selected{border-color:var(--brand);background:var(--brand-soft)}.body-shape-svg{width:100%;max-width:46px;height:auto;display:block}.body-shape-img{width:60px;height:100px;object-fit:contain;display:block}.body-ol{fill:none;stroke:#bcc2cb;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.shape-geo{fill:none;stroke:#a6aeba;stroke-width:2.5;transition:stroke .15s}.body-shape-card.is-selected .body-ol{stroke:#9ca5b3}.body-shape-card.is-selected .shape-geo{stroke:var(--brand)}.body-shape-card strong{font-size:11px;color:var(--ink)}.body-shape-card span{font-size:10px;color:#828d9e;text-align:center}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.filter-box{display:flex;gap:6px;flex-wrap:wrap}.filter-box button{padding:6px 9px;border:1px solid #e1e4e8;background:#fff;border-radius:8px;font-size:11px;color:#647083;font-family:inherit;cursor:pointer;min-height:36px}.filter-box button.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.search-box{min-width:190px;padding:7px 11px;background:#fff;border:1px solid #e1e4e8;border-radius:9px;font-size:11px;color:#8893a4}
.data-table{background:#fff;border:1px solid #e2e5e9;border-radius:14px;overflow:hidden}.table-row{display:grid;grid-template-columns:1.4fr repeat(3,1fr) 70px;align-items:center;gap:8px;padding:11px 13px;border-bottom:1px solid #eff0f2;font-size:11px}.table-row:last-child{border-bottom:0}.table-row.header{background:#f9f9fa;color:#7c889a;font-size:11px}.person{display:flex;align-items:center;gap:8px}.person-avatar{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#f4f5f7,var(--brand-soft));border:1px solid color-mix(in srgb,var(--brand) 22%,transparent);color:color-mix(in srgb,var(--brand) 78%,var(--ink) 22%);font-weight:700;font-size:12.5px;line-height:1}.asset-tile{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--brand-soft);color:var(--brand);font-size:14px}.person>div{min-width:0}.person>div strong,.person>div span{display:block}.person>div strong{font-size:12px}.person>div span{font-size:11px;color:#828d9e}.row-action{border:1px solid #e2e5e9;background:#fff;border-radius:8px;padding:5px 11px;min-height:36px;font-size:11px;font-weight:700;color:var(--brand);font-family:inherit;cursor:pointer}.row-action:hover{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 28%,transparent)}.data-table .table-row:not(.header){transition:background .12s}.data-table .table-row:not(.header):hover{background:#fafafb}
.data-table .table-row>.status-pill{justify-self:start;width:max-content}
.data-table .table-row{padding-inline:15px}
/* شاگردان من: وسط‌چین کردن ستون‌های وضعیت/جزئیات/آخرین فعالیت/عملیات (ستون نام دست‌نخورده می‌ماند) */
.data-table--center .table-row>span:not(:first-child){text-align:center}
.data-table--center .table-row>.status-pill{justify-self:center;justify-content:center;min-width:90px}
.data-table--center .table-row>.row-action{justify-self:center}
.data-table--6 .table-row{grid-template-columns:1.4fr repeat(4,1fr) 70px}
.data-table--6 .table-row>.status-pill,.data-table--assess .table-row>.status-pill{min-width:108px}
/* صفحه‌بندی جدول‌ها */
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
.pagination-summary{font-size:11px;color:#7c889a}
.pagination-pages{display:flex;align-items:center;gap:6px}
.page-btn{min-width:34px;height:34px;padding:0 9px;display:grid;place-items:center;border:1px solid #e2e5e9;background:#fff;border-radius:9px;font-size:12px;font-weight:700;color:#566070;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.page-btn:hover:not(:disabled):not(.is-active){border-color:color-mix(in srgb,var(--brand) 32%,transparent);background:var(--brand-soft);color:var(--brand)}
.page-btn.is-active{background:var(--brand);border-color:var(--brand);color:#fff}
.page-btn:disabled{opacity:.4;cursor:default}
.page-nav-btn{color:#828d9e}
.page-nav-btn .ic{width:16px;height:16px}
.page-ellipsis{min-width:20px;height:34px;display:grid;place-items:center;color:#9ba4b2;font-weight:700}
.device-frame.mobile .pagination{justify-content:center}
.device-frame.mobile .pagination-summary{width:100%;text-align:center;order:2}
.invite-link-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding:10px 13px;background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 18%,transparent);border-radius:11px}
.invite-link-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.invite-link-label{font-size:10.5px;color:#6d7a8d}
.invite-link-row strong{font-size:12px;color:var(--brand);overflow-wrap:anywhere}

.form-layout{display:grid;grid-template-columns:1fr 260px;gap:12px}.form-card{background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:15px;margin-bottom:10px}.form-card h4{font-size:11px;margin:0 0 12px}.assess-sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}.assess-sec-head h4{margin:0}.assess-req-badge{flex-shrink:0;border:1px solid #d8dce1;background:#fff;color:#697588;border-radius:20px;padding:3px 11px;font-size:10px;font-weight:700;white-space:nowrap}.assess-req-badge.is-req{border-color:color-mix(in srgb,var(--brand) 30%,transparent);background:var(--brand-soft);color:var(--brand)}.src-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 9px;border-radius:6px;white-space:nowrap}.src-badge--coach{background:var(--brand-soft);color:var(--brand)}.src-badge--student{background:#e8eef6;color:#3f6678}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-wide{grid-column:1/-1}.choice-row{display:flex;flex-wrap:wrap;gap:6px}.choice{padding:7px 9px;border:1px solid #e1e4e8;border-radius:9px;font-size:11px;color:#616c7d}.choice.selected{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.upload-zone{min-height:100px;border:1px dashed #c1c7d0;border-radius:12px;display:grid;place-items:center;text-align:center;color:#808c9d;font-size:11px;background:#fafbfc}.form-aside{position:sticky;top:0;height:max-content}.summary-line{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid #eff0f2;font-size:11px}.summary-line:last-child{border-bottom:0}.summary-line span{color:#7b8799}
.input-select{justify-content:space-between}.select-chevron{color:#9ba4b2;font-size:12px;flex-shrink:0;margin-right:-2px}
/* ── کمبوباکس تعاملی ── */
.input-select.is-combo{position:relative;cursor:pointer}
.input-select.is-combo:hover{border-color:#c3c9d1}
.input-select.is-combo .select-chevron{transition:transform .2s}
.input-select.is-combo.is-open{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px var(--brand-soft)}
.input-select.is-combo.is-open .select-chevron{transform:rotate(180deg);color:var(--brand)}
.combo-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.combo-menu{display:none;position:absolute;top:calc(100% + 6px);inset-inline:0;z-index:30;background:#fff;border:1px solid #dee1e5;border-radius:11px;box-shadow:0 12px 32px rgba(28,35,51,.14);padding:5px;max-height:210px;overflow:auto}
.input-select.is-combo.is-open .combo-menu{display:block}
.combo-opt{display:block;width:100%;text-align:right;border:0;background:transparent;border-radius:8px;padding:9px 11px;font-size:12px;color:var(--ink);font-family:inherit;cursor:pointer}
.combo-opt:hover{background:#f8f9fa}
.combo-opt.is-sel{background:var(--brand-soft);color:var(--brand);font-weight:700}
.input-textarea{height:auto;min-height:64px;align-items:flex-start;white-space:normal;line-height:1.8;padding:10px 12px}.input-textarea.is-placeholder{color:#96a0af}
.input-split{display:flex;gap:8px}.input-split .input-shell{flex:1;justify-content:space-between}.input-unit{color:#9ba4b2;font-size:11px;flex-shrink:0}
.input-shell--unit{justify-content:space-between}.input-shell--unit .input-unit{padding-inline-start:10px;border-inline-start:1px solid #e3e6ea;margin-inline-start:8px}
.input-link{justify-content:space-between}
.profile-id-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}

.states-page{display:grid;gap:12px}
.states-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.state-card{background:#f8f9fa;border:1px solid #ebedef;border-radius:12px;padding:12px}
.placeholder-text{color:#96a0af}
.input-shell.input-warning{border-color:var(--warning);background:var(--warning-soft);color:#9a6a0a}
.input-shell.input-disabled{background:#f0f1f3;color:#9ba4b2;border-color:#e3e6ea}
.field-warning{font-size:11px;color:#9a6a0a;margin:6px 3px 0;display:flex;align-items:center;gap:5px}
.field-warning::before{content:"!";display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:var(--warning);color:#fff;font-weight:700;font-size:10px;flex-shrink:0}
.otp-boxes.is-success span{border-color:var(--success);background:var(--success-soft);color:#1f7a44}
.otp-boxes.is-error span{border-color:var(--danger);background:var(--danger-soft);color:#b53341}
.otp-boxes.is-warning span{border-color:var(--warning);background:var(--warning-soft);color:#9a6a0a}
.upload-zone.is-uploading{border-style:solid;border-color:var(--brand);background:var(--brand-soft);color:#a4673f;display:grid;gap:6px;text-align:center;place-items:stretch}
.upload-progress{height:5px;background:#e2e4e8;border-radius:5px;overflow:hidden}.upload-progress i{display:block;height:100%;background:var(--brand);border-radius:5px}
.upload-zone.is-success{border-style:solid;border-color:var(--success);background-color:var(--success-soft);display:grid;place-items:end center;padding-bottom:12px}.angle-delete-btn{background:rgba(200,40,40,.88);color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:13px;cursor:pointer;display:grid;place-items:center;font-family:inherit;line-height:1}
.upload-zone.is-success[data-photo-angle]{cursor:pointer;transition:filter .15s}
.upload-zone.is-success[data-photo-angle]:hover{filter:brightness(.96)}
dialog.confirm-modal{border:none;border-radius:18px;padding:24px;width:min(90%,360px);box-shadow:0 20px 60px rgba(0,0,0,.22);margin:auto}
dialog.confirm-modal::backdrop{background:rgba(28,35,51,.5)}
dialog.confirm-modal h4{font-size:14px;margin:0 0 8px;color:var(--ink)}
dialog.confirm-modal p{font-size:12px;color:#7b8799;margin:0 0 20px;line-height:1.7}
.confirm-modal-actions{display:flex;gap:10px;justify-content:flex-end}
.lightbox-angle-img{width:100%;height:100%;object-fit:contain;padding:24px;box-sizing:border-box}
.history-section{margin-top:14px;background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:15px}
.accordion-list{display:flex;flex-direction:column;gap:6px}
.accordion-item{border:1px solid #e4e6ea;border-radius:10px;overflow:hidden}
.accordion-summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;background:#f8f9fa;list-style:none}
.accordion-summary::-webkit-details-marker{display:none}
.accordion-main{flex:1;display:flex;flex-direction:column;gap:2px}
.accordion-title{font-size:12px;font-weight:700;color:var(--ink)}
.accordion-meta{font-size:11px;color:#828d9e}
.accordion-tag{font-size:10px;padding:2px 7px;border-radius:20px;font-weight:600}
.accordion-tag.is-sent{background:var(--success-soft);color:#1f7a44}
.accordion-tag.is-archived{background:#ebedef;color:#828d9e}
.accordion-chevron{font-size:14px;color:#9ba4b2;transition:transform .2s}
details[open].accordion-item .accordion-chevron{transform:rotate(180deg)}
.accordion-body{padding:12px 14px;border-top:1px solid #e7e9ec;background:#fff}
.accordion-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.accordion-actions .row-action{display:inline-flex;align-items:center;gap:6px}
.accordion-actions .row-action .ic{width:14px;height:14px}
.history-grid{display:flex;flex-direction:column}
.history-row{display:flex;gap:12px;align-items:baseline;font-size:11.5px;padding:9px 4px;border-bottom:1px solid #f1f3f5}
.history-row:last-child{border-bottom:0}
.history-row>span{color:#8090a0;font-size:11px;line-height:1.8;flex-shrink:0;min-width:5.5rem}
.history-row>strong{color:var(--ink);font-weight:700;flex:1;min-width:0;text-align:start;line-height:1.8}
.history-row--photos{flex-direction:column;align-items:stretch;gap:9px;padding:11px 4px 13px}
.history-row--photos>span{font-weight:700;color:#5d6a7a;min-width:0}
.history-photos{display:grid;grid-template-columns:repeat(4,minmax(0,108px));gap:10px;width:100%}
/* خط‌زمانیِ سوابق و پیشرفت شاگرد */
.shtl-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:2px 0 15px}
.shtl-stats span{display:flex;flex-direction:column;gap:3px;background:#f8f9fb;border:1px solid #eceef2;border-radius:11px;padding:9px 8px;font-size:10px;color:#828d9e;min-width:0;overflow-wrap:anywhere}
.shtl-stats strong{font-size:14px;color:var(--ink);font-weight:800}
.shtl{position:relative}
.shtl-item{position:relative;display:flex;gap:11px;padding-bottom:15px}
.shtl-item:last-child{padding-bottom:0}
.shtl-item::before{content:"";position:absolute;right:10px;top:25px;bottom:-2px;width:2px;background:#e9ebf0}
.shtl-item:last-child::before{display:none}
.shtl-dot{position:relative;z-index:1;flex-shrink:0;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#eef0f4;color:#7c889a}
.shtl-dot .ic{width:12px;height:12px}
.shtl-dot.is-success{background:var(--success-soft);color:#2f8a55}
.shtl-dot.is-brand{background:var(--brand-soft);color:var(--brand)}
.shtl-dot.is-info{background:#e8eef6;color:#3f6678}
.shtl-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:1px}
.shtl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.shtl-tag{font-size:9.5px;font-weight:700;padding:1px 7px;border-radius:5px;background:#eef0f4;color:#7c889a;flex-shrink:0}
.shtl-tag.is-success{background:var(--success-soft);color:#2f8a55}
.shtl-tag.is-brand{background:var(--brand-soft);color:var(--brand)}
.shtl-tag.is-info{background:#e8eef6;color:#3f6678}
.shtl-date{font-size:10px;color:#9aa3b0}
.shtl-title{font-size:12px;font-weight:700;color:var(--ink);line-height:1.6;overflow-wrap:anywhere}
.shtl-desc{font-size:11px;color:#828d9e;line-height:1.6;overflow-wrap:anywhere}
.assess-body-method{display:flex;align-items:center;gap:7px;background:#eef1f5;color:#5b6675;border:1px solid #dde2e8;border-radius:10px;padding:8px 11px;font-size:11px;font-weight:600;margin-bottom:11px}
.assess-body-method .ic{width:15px;height:15px;flex-shrink:0;color:#8a94a3}
.assess-shape-result{display:flex;align-items:center;gap:15px;background:#fafbfc;border:1px solid #e7e9ed;border-radius:12px;padding:12px 16px}
.assess-shape-img{width:52px;height:92px;object-fit:contain;flex-shrink:0}
.assess-shape-info{display:flex;flex-direction:column;gap:2px}
.assess-shape-kicker{font-size:10px;font-weight:700;color:#8a94a3}
.assess-shape-info>strong{font-size:14px;color:var(--ink)}
.assess-shape-info>span:last-child{font-size:11px;color:#828d9e}
/* ——— محافظت سراسری در برابر متن‌های طولانی ——— */
/* اجازه‌ی کوچک‌شدن به فرزندان فلکس/گرید متنی (جلوگیری از سرریز توکن‌های بلند) */
.profile-info,.profile-metrics>span,.accordion-main,.assess-shape-info,.sett-hero-info,.sett-hero-stats span,.bank-card-body,.notif-head-title,.next-action-body,.chat-conv,.po-text,.metric-row,.metric-row-head{min-width:0}
.table-row>span,.table-row>.person,.table-row>.status-pill,.table-row>.row-action,.stat-card{min-width:0}
/* عنوان‌ها و نام‌های تک‌خطی → برش با سه‌نقطه */
.person>div strong,.person>div>span:not(.td-meta-inline),.accordion-title,.td-coach,.td-date,.library-item strong,.library-item>div>span,.sett-hero-info>strong,.bank-card-body>strong,.next-action-body>strong,.b-phase-name,.b-exercise-head strong,.day-head>strong,.b-phase-head>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
/* مقادیر و متن‌های چندخطی → شکستن واژه‌های بلند (ایمیل، لینک، توکن، نام بلند) */
.profile-info h4,.profile-info p,.profile-metrics strong,.history-row>strong,.assess-shape-info>strong,.assess-shape-info>span,.stat-card strong,.stat-card span,.accordion-meta,.td-meta-inline,.chat-bubble,.notif-title,.notif-body,.metric-row-head span,.summary-line strong,.bank-card-meta,.account-info-row>strong,.card-head>strong,.sett-hero-stats span,.sett-hero-stats strong{overflow-wrap:anywhere;word-break:break-word}
.card-head>strong{min-width:0}
.history-photo-wrap{display:flex;flex-direction:column;align-items:center;gap:5px}
.history-photo{width:100%;aspect-ratio:3/4;border-radius:10px;border:1.5px solid #dee1e6;background:#f1f2f4;background-size:auto 90%;background-repeat:no-repeat;background-position:center 54%;overflow:hidden;position:relative}
.history-photo-wrap>span{font-size:10px;color:#7c889a;text-align:center;font-weight:600}
.history-photo.is-done{border-color:var(--success);background-color:var(--success-soft);cursor:pointer;transition:transform .15s,box-shadow .15s}
.history-photo.is-done::before{content:"✓";position:absolute;top:5px;right:5px;width:16px;height:16px;background:var(--success);color:#fff;border-radius:50%;font-size:9px;font-weight:700;display:grid;place-items:center;line-height:1}
.history-photo.is-missing{border-style:dashed;border-color:#ccd0d7}
.history-photo.is-missing::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-65%);width:30%;aspect-ratio:1;border:1.5px solid #c1c7cf;border-radius:50%}
.history-photo.is-done:hover{transform:scale(1.06);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.device-frame.mobile .history-photos{grid-template-columns:repeat(4,1fr)}
.upload-modal{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .2s}.upload-modal.is-open{pointer-events:all;opacity:1}.upload-modal-backdrop{position:fixed;inset:0;background:rgba(19,21,25,.55);backdrop-filter:blur(2px)}.upload-modal-card{position:relative;background:#fff;border-radius:18px;overflow:hidden;width:500px;max-width:92vw;z-index:1;box-shadow:0 20px 60px rgba(0,0,0,.25)}.upload-modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e2e5e9}.upload-modal-head strong{font-size:13px;color:var(--ink)}.upload-modal-close{background:none;border:none;font-size:22px;cursor:pointer;color:#828d9e;line-height:1;padding:0 4px;display:grid;place-items:center}.upload-modal-body{display:grid;grid-template-columns:1fr 1fr}.upload-drop-zone{padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;border-left:1px solid #e7e9ec}.upload-modal-icon{width:44px;height:44px;color:#aeb5c0}.upload-drop-hint{font-size:11px;color:#808c9d;text-align:center;margin:0}.upload-drop-or{font-size:11px;color:#aeb5c0}.upload-choose-btn{background:var(--brand);color:#fff;border:none;border-radius:10px;padding:8px 18px;font-size:12px;font-family:inherit;cursor:pointer;font-weight:600;margin-top:2px}.upload-modal-info{padding:20px 18px;display:flex;flex-direction:column;gap:14px;background:#f8f9fa}.upload-info-group{display:flex;flex-direction:column;gap:6px}.upload-info-label{font-size:10px;color:#808c9d;font-weight:700;letter-spacing:.4px}.upload-info-tags{display:flex;gap:5px;flex-wrap:wrap}.upload-info-tag{background:#e7e9ec;color:#616c7d;font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px}.upload-info-value{font-size:12px;color:var(--ink);font-weight:700}.upload-info-list{margin:0;padding-right:16px;display:flex;flex-direction:column;gap:4px}.upload-info-list li{font-size:11px;color:#616c7d;line-height:1.5}.upload-zone.is-empty{cursor:pointer;transition:background .15s}.upload-zone.is-empty:hover{background:#f0f1f3}
.photo-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .2s}
.photo-lightbox.is-open{pointer-events:all;opacity:1}
.photo-lightbox-backdrop{position:fixed;inset:0;background:rgba(19,21,25,.55);backdrop-filter:blur(2px)}
.photo-lightbox-card{position:relative;background:#fff;border-radius:18px;overflow:hidden;width:280px;max-width:88vw;z-index:1;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.photo-lightbox-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e2e5e9}
.photo-lightbox-head strong{font-size:13px;color:var(--ink)}
.photo-lightbox-close{background:none;border:none;font-size:22px;cursor:pointer;color:#828d9e;line-height:1;padding:0 4px;display:grid;place-items:center}
.photo-lightbox-img{aspect-ratio:3/4;background:#f1f2f4;background-size:62% auto;background-repeat:no-repeat;background-position:center 28%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:16px;gap:0}
.lightbox-figure{width:56px;opacity:.35;transition:opacity .15s}
.photo-lightbox-label{font-size:11px;color:#9ba4b2;text-align:center;padding:0 16px;margin-top:10px}
.upload-zone.is-error{border-style:solid;border-color:var(--danger);background:var(--danger-soft);color:#b53341}
.btn-spinner{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .8s linear infinite;margin-left:7px;vertical-align:middle}
.primary-btn.is-disabled,.primary-btn[disabled]{background:#eaecee;color:#9ba4b2;cursor:not-allowed}
.secondary-btn[disabled]{color:#b0b7c2;cursor:not-allowed}
.toast-stack{display:grid;gap:8px}
.toast{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:12px;padding:11px 13px}
.toast strong{display:block;font-size:12px}.toast span{display:block;font-size:11px;color:#7b8799;margin-top:3px}
.toast-icon{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff}
.toast.is-success{background:var(--success-soft);border-color:var(--success)}.toast.is-success .toast-icon{background:var(--success)}
.toast.is-error{background:var(--danger-soft);border-color:var(--danger)}.toast.is-error .toast-icon{background:var(--danger)}
.toast.is-warning{background:var(--warning-soft);border-color:var(--warning)}.toast.is-warning .toast-icon{background:var(--warning)}
.toast.is-info{background:var(--muted-soft);border-color:var(--line)}.toast.is-info .toast-icon{background:var(--ink)}

.profile-hero{background:var(--ink);color:#fff;border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px;margin-bottom:12px}.profile-photo{width:62px;height:62px;border-radius:18px;background:var(--brand);display:grid;place-items:center;font-size:20px;font-weight:700}.profile-info{flex:1}.profile-info h4{font-size:16px;margin:0}.profile-info p{color:#b1b8c3;font-size:11px;margin:4px 0}.profile-metrics{display:flex;gap:18px}.profile-metrics span{font-size:11px;color:#a1a9b6}.profile-metrics strong{display:block;color:#fff;font-size:13px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.timeline{display:grid;gap:9px}.timeline-row{display:grid;grid-template-columns:22px 1fr;gap:9px}.timeline-dot{width:20px;height:20px;border-radius:7px;background:var(--brand-soft);border:1px solid var(--brand)}.timeline-content{padding-bottom:10px;border-bottom:1px solid #eff0f2}.timeline-content strong{display:block;font-size:12px}.timeline-content span{font-size:11px;color:#808c9e}

.program-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:12px}.program-meta span{display:flex;flex-direction:column;gap:6px;background:#f8f9fa;border:1px solid #e7e9ed;border-radius:12px;padding:11px 13px;font-size:10.5px;color:#828d9e}.program-meta strong{display:flex;align-items:center;min-height:22px;font-size:13px;color:var(--ink);font-weight:700;line-height:1.4}.program-meta .status-pill{font-size:11px}.program-meta--cols3{grid-template-columns:repeat(3,minmax(0,1fr))}
.program-view{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.program-panes,.program-pane{min-width:0}
.day-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:4px}
.program-content,.exercise-list,.meal-list{display:grid;gap:8px}
.exercise-card{display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:12px}.exercise-card .exercise-info{flex:1;min-width:0}
.ex-note{display:flex;gap:7px;align-items:flex-start;margin-top:9px;padding:8px 10px;background:#f6f7f8;border:1px solid #f3e2d0;border-radius:9px;font-size:11.5px;line-height:1.9;color:#56606f}
.ex-note .ic{width:14px;height:14px;color:var(--brand);flex-shrink:0;margin-top:2px}
.ex-note strong{color:#b85c1f;font-weight:700}
.exercise-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.exercise-head strong{font-size:13px}
.ex-setcount{font-size:11px;font-weight:700;color:var(--brand);background:var(--brand-soft);padding:1px 8px;border-radius:6px}
.set-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.set-chip{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:54px;padding:5px 9px;background:#f8f9fa;border:1px solid #e7e9ed;border-radius:9px}
.set-chip-n{font-size:9px;color:#8d98a8;white-space:nowrap}
.set-chip-r{font-size:14px;font-weight:700;color:var(--ink);line-height:1.3;white-space:nowrap}
.set-chip-u{font-size:9px;font-weight:400;color:#828d9e}
.set-chip-w{font-size:10px;font-weight:700;color:var(--brand);white-space:nowrap;margin-top:1px}
.set-chip-w--free{color:#8d98a8;font-weight:600;font-size:9px}
.set-rest{display:block;font-size:11px;color:#828d9e;margin-top:7px}
.video-btn{flex-shrink:0;width:44px;height:44px;border:0;border-radius:50%;background:var(--brand);color:#fff;font-size:14px;display:grid;place-items:center}
/* ── بخش‌های گرم/سرد کردن (فقط‌خواندنی) ── */
.phase-block{border-radius:13px;padding:11px 12px;margin-bottom:10px;border:1px solid #e7e9ed;background:#fff}
.phase-block--warm{background:#f6f7f8;border-color:#f3e0cf}
.phase-block--cool{background:#eef4f7;border-color:#d8e5eb}
.phase-block--main{background:transparent;border:0;padding:0;margin-bottom:10px}
.phase-head{display:flex;align-items:center;gap:7px;margin-bottom:8px}
.phase-head strong{font-size:13px;color:var(--ink)}
.phase-head .ic{width:16px;height:16px;color:var(--brand)}
.phase-block--cool .phase-head .ic{color:#5e8499}
.phase-block--warm .phase-head strong{color:#b85c1f}
.phase-block--cool .phase-head strong{color:#3f6678}
.phase-count{margin-inline-start:auto;font-size:10.5px;color:#828d9e;font-weight:400}
.phase-items{display:grid;gap:5px}
.phase-item{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e7e9ed;border-radius:9px;padding:9px 11px}
.phase-block--warm .phase-item{border-color:#f1ddc9}
.phase-block--cool .phase-item{border-color:#dde9ee}
.phase-name{flex:1;min-width:0;font-size:12.5px;font-weight:600;color:var(--ink)}
.phase-dur{font-size:11px;color:#6a7689;white-space:nowrap}
.phase-video{flex-shrink:0;width:30px;height:30px;border:0;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;cursor:pointer}
.phase-video .ic{width:13px;height:13px}
.phase-block--cool .phase-video{background:#5e8499}
.meal-accordion{background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:12px}.meal-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;cursor:pointer;list-style:none}.meal-accordion summary::-webkit-details-marker{display:none}.meal-accordion summary span{font-size:11px;color:#828d9e}
.food-item{margin-top:10px;padding:9px 11px;background:#f8f9fa;border-radius:10px;font-size:12px}
.food-note{margin:6px 3px 0;font-size:11px;color:var(--muted)}
.program-pdf-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--ink);color:#fff;border-radius:14px;padding:14px 16px}.program-pdf-cta strong{display:block;font-size:13px}.program-pdf-cta span{display:block;font-size:11px;color:#a2abb8;margin-top:3px}.program-pdf-cta .secondary-btn{flex-shrink:0}

.prog-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.prog-card{background:#fff;border:1px solid #e2e5e9;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.prog-card-top{min-height:84px;display:flex;align-items:flex-start;justify-content:space-between;padding:16px}
.prog-card-top.prog-active{background:linear-gradient(135deg,#fce9d5 0%,#f7f8f9 100%)}
.prog-card-top.prog-waiting{background:linear-gradient(135deg,#e8eef6 0%,#f0f5fb 100%)}
.prog-card-top.prog-archived{background:#f1f2f4}
.prog-type-icon{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.85);display:grid;place-items:center;font-size:18px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.prog-card-body{padding:14px 16px;flex:1;display:flex;flex-direction:column;gap:10px}
.prog-card-name{font-size:14px;font-weight:700;color:var(--ink);margin:0;line-height:1.3}
.prog-card-tags{display:flex;align-items:center;gap:8px}
.prog-tag{font-size:10px;background:#f0f1f3;color:#616c7d;padding:2px 9px;border-radius:6px;font-weight:700}
.prog-duration{font-size:11px;color:#7c889a}
.prog-progress-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:10px;color:#7c889a}
.prog-bar{height:5px;background:#e4e6ea;border-radius:5px;overflow:hidden}
.prog-bar i{display:block;height:100%;background:var(--brand);border-radius:5px}
.prog-bar.is-done i{background:var(--success)}
.prog-coach-line{display:flex;align-items:center;gap:8px;font-size:11px;padding-top:8px;border-top:1px solid #f0f2f4}
.prog-coach-line>span{color:#7c889a}
.prog-coach-line>strong{color:var(--ink)}
.prog-card-actions{padding:12px 16px;display:flex;gap:8px;border-top:1px solid #f0f2f4}
.prog-card-actions .primary-btn{flex:1;font-size:12px}
.prog-pdf-btn{padding:0 14px;min-height:40px;border:1px solid #d8dce1;background:#f8f9fa;color:var(--ink);border-radius:10px;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap}
.prog-btn-split{flex:1;font-size:11px;padding:0 6px}
.prog-btn-nutrition{background:var(--success)}
.prog-type-icons{display:flex;gap:5px}
.prog-type-icon--sm{width:33px;height:33px;font-size:14px}
.prog-type-icon--green{background:rgba(34,197,94,.15)}
.prog-subtypes{display:flex;gap:5px}
.prog-subtype{font-size:10px;padding:2px 8px;border-radius:6px;font-weight:700}
.prog-subtype--workout{background:var(--brand-soft);color:var(--brand)}
.prog-subtype--nutrition{background:var(--success-soft);color:color-mix(in srgb,var(--success) 60%,var(--ink) 40%)}
.prog-subtype--corrective{background:#e8eef6;color:#3b6fb8}
.prog-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.prog-kpi{background:#fff;border:1px solid #e2e5e9;border-radius:12px;padding:11px 13px}
.prog-kpi>span{display:block;font-size:10px;color:#828d9e;margin-bottom:4px}
.prog-kpi>strong{font-size:15px;color:var(--ink);font-weight:700}

.auth-features{display:flex;flex-direction:column;gap:8px;margin-top:22px}
.auth-feature{display:flex;align-items:center;gap:9px;font-size:12px;color:#b3bac5;line-height:1.4}
.auth-feature::before{content:"✓";width:18px;height:18px;border-radius:6px;background:rgba(255,107,53,.2);border:1px solid rgba(255,107,53,.35);color:var(--brand);font-size:9px;display:grid;place-items:center;flex-shrink:0}
.auth-social-proof{display:flex;align-items:center;gap:10px;padding:11px;background:rgba(255,255,255,.07);border-radius:12px;margin-top:auto}
.auth-social-proof-avatars{display:flex;gap:0}
.auth-social-proof-avatars span{width:26px;height:26px;border-radius:50%;background:var(--brand);border:2px solid rgba(28,35,51,.9);display:grid;place-items:center;font-size:9px;font-weight:700;color:#fff;margin-left:-8px;flex-shrink:0}
.auth-social-proof-avatars span:last-child{margin-left:0}
.auth-social-proof-text{padding-right:8px}
.auth-social-proof-text strong{display:block;font-size:12px;color:#fff;font-weight:700}
.auth-social-proof-text span{display:block;font-size:10px;color:#909aaa;margin-top:1px}
.auth-trust{margin-top:11px;text-align:center;font-size:11px;color:#959fae;display:flex;align-items:center;justify-content:center;gap:5px}
.auth-trust::before{content:"🔒"}
.auth-phone-prefix{font-size:11px;color:#828d9e;padding-right:9px;border-right:1px solid #dadde2;margin-right:8px;font-weight:600;flex-shrink:0}
.otp-boxes span.is-cursor{border-color:var(--brand);background:var(--brand-soft)}
.otp-timer-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:-6px;margin-bottom:8px}
.otp-timer-row .field-hint{margin:0}
.otp-timer-row .otp-timer{display:inline-block;vertical-align:middle}
.otp-timer-row .link-btn{align-self:center}
.otp-timer{font-size:14px;font-weight:700;color:var(--brand);background:var(--brand-soft);padding:2px 9px;border-radius:7px;direction:ltr}
.dash-greeting{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ink);color:#fff;border-radius:14px;padding:15px 17px;margin-bottom:13px}
.dash-greeting-text strong{display:block;font-size:15px;font-weight:700}
.dash-greeting-text span{display:block;font-size:11px;color:#a2abb8;margin-top:2px}
.dash-streak{text-align:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:8px 16px;flex-shrink:0}
.dash-streak strong{display:block;font-size:24px;color:var(--brand);line-height:1.1;font-weight:700}
.dash-streak span{display:block;font-size:10px;color:#8994a5;margin-top:2px}
.assess-progress{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;background:#fff;border:1px solid #e2e5e9;border-radius:12px}
.assess-progress-label{font-size:11px;color:#7c889a;white-space:nowrap}
.assess-progress-bar{flex:1;height:6px;background:#e8eaed;border-radius:5px;overflow:hidden}
.assess-progress-bar i{display:block;height:100%;background:var(--brand);border-radius:5px}
.assess-progress-pct{font-size:12px;font-weight:700;color:var(--brand);white-space:nowrap}
.assess-aside-score{text-align:center;padding:8px 0 12px}
.assess-aside-score strong{display:block;font-size:28px;color:var(--brand);font-weight:700;line-height:1}
.assess-aside-score span{display:block;font-size:11px;color:#7c889a;margin-top:3px}
.assess-item-status{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;flex-shrink:0}
.assess-item-status.is-done{background:var(--success-soft);color:var(--success)}
.assess-item-status.is-waiting{background:#f0f1f3;color:#b0b7c2;border:1px solid #dee1e6}

.builder-layout{display:grid;grid-template-columns:260px 1fr;gap:12px}.library{background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:12px}.library-search{padding:8px;background:#f6f7f8;border-radius:9px;color:#7f8b9d;font-size:11px;margin-bottom:9px}.library-item{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid #ebedef;border-radius:10px;margin-bottom:6px}.library-thumb{width:38px;height:38px;border-radius:9px;background:linear-gradient(135deg,var(--ink),var(--brand));position:relative}.library-item strong{display:block;font-size:12px}.library-item span{font-size:11px;color:#848fa0}.drag-handle{margin-right:auto;color:#a5adb9}.builder-canvas{display:grid;gap:10px}.day-card{background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:13px}.day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.day-head strong{font-size:12px}.exercise-row{display:grid;grid-template-columns:30px 1.3fr repeat(3,.55fr) 24px;align-items:center;gap:7px;padding:7px;background:#f8f9fa;border-radius:9px;margin-bottom:5px;font-size:11px}.exercise-no{width:24px;height:24px;border-radius:7px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-weight:700}.add-row{width:100%;border:1px dashed #bfc5ce;background:transparent;color:#7a8699;border-radius:9px;padding:7px;min-height:36px;font-size:11px}
.b-exercise{background:#f8f9fa;border:1px solid #ebedef;border-radius:10px;padding:10px 11px;margin-bottom:7px}
.b-exercise-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.b-exercise-head strong{font-size:12px;flex:1;min-width:0}
.b-exercise-head .exercise-menu-btn{margin:0}
.b-ex-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.b-mode{display:flex;gap:3px;padding:3px;background:#e7e9ed;border:1px solid #d6dadf;border-radius:9px}
.b-mode-btn{border:0;background:transparent;color:#616c7d;border-radius:7px;font-family:inherit;font-size:10px;font-weight:700;padding:5px 10px;cursor:pointer}
.b-mode-btn.active{background:#fff;color:var(--brand);box-shadow:0 2px 6px rgba(28,35,51,.08)}
.b-ex-toggles{display:flex;gap:6px;flex-wrap:wrap}
.b-weight-toggle,.b-note-toggle{display:inline-flex;align-items:center;gap:4px;border:1px solid #d8dce1;background:#fff;color:#616c7d;border-radius:8px;font-family:inherit;font-size:10px;font-weight:700;padding:5px 11px;cursor:pointer}
.b-note-toggle .ic{width:12px;height:12px}
.b-weight-toggle.is-on,.b-note-toggle.is-on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
/* یادداشت اختیاری مربی برای هر حرکت */
.b-note{margin-bottom:9px}
.b-note[hidden]{display:none}
.b-note-label{display:block;font-size:10.5px;color:#6d7a8d;margin-bottom:5px}
.b-note-input{height:auto;min-height:46px;align-items:flex-start;padding:9px 11px;font-size:11.5px;line-height:1.9}
.b-num{display:inline-grid;place-items:center;min-width:42px;height:30px;padding:0 7px;border:1px solid #d8dce1;background:#fff;border-radius:8px;font-size:13px;font-weight:700;color:var(--ink)}
.b-x{font-size:11px;color:#616c7d}
.b-uniform{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:9px}
.b-uniform[hidden],.b-variable[hidden]{display:none}
.b-wcol[hidden]{display:none}
.b-uniform .b-wcol{display:inline-flex;align-items:center;gap:6px}
.b-set-list{display:grid;gap:6px;margin-bottom:9px}
.b-set-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.b-set-n{font-size:11px;color:#6a7689;font-weight:700;min-width:40px}
.b-set-unit{font-size:10px;color:#828d9e}
.b-wcol{display:inline-flex;align-items:center;gap:5px}
.b-set-del{margin-right:auto;width:26px;height:26px;border:1px solid #f1d9dc;background:var(--danger-soft);color:var(--danger);border-radius:7px;font-size:15px;font-family:inherit;cursor:pointer;line-height:1;display:grid;place-items:center}
.b-set-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.b-set-add{border:1px dashed var(--brand);background:var(--brand-soft);color:var(--brand);border-radius:8px;height:30px;padding:0 12px;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer}
.b-set-add:disabled{cursor:not-allowed;border-style:solid;border-color:var(--line);background:#f0f1f3;color:#9ba4b2}
.b-set-limit{font-size:10px;color:#8d98a8}
.b-num-w.is-free{min-width:54px;font-weight:600;font-size:11px;color:#8d98a8;border-style:dashed;background:#f8f9fa}
.b-weight-hint{margin:0 0 9px;font-size:10.5px;color:#6d7a8d;background:var(--brand-soft);border-radius:8px;padding:6px 9px;line-height:1.6}
.b-weight-hint[hidden]{display:none}
.b-exercise-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#828d9e;padding-top:9px;border-top:1px solid #ebedef}
.b-rest-input{display:inline-grid;place-items:center;min-width:72px;height:28px;border:1px solid #d8dce1;background:#fff;border-radius:8px;font-size:11px;color:var(--ink);font-weight:700;padding:0 8px}
/* ── بخش‌های گرم/سرد کردن در محیط ویرایش مربی ── */
.b-phase{border-radius:12px;padding:10px 11px;margin-bottom:10px;border:1px solid #e7e9ed;background:#fff}
.b-phase--warm{background:#f6f7f8;border-color:#f3e0cf}
.b-phase--cool{background:#eef4f7;border-color:#d8e5eb}
.b-phase--main{background:transparent;border:0;padding:0;margin-bottom:10px}
.b-phase-head{display:flex;align-items:center;gap:7px;margin-bottom:8px}
.b-phase-head strong{font-size:12.5px;color:var(--ink)}
.b-phase--warm .b-phase-head strong{color:#b85c1f}
.b-phase--cool .b-phase-head strong{color:#3f6678}
.b-phase-count{margin-inline-start:auto;font-size:10px;color:#828d9e}
.b-phase-list{display:grid;gap:6px;margin-bottom:8px}
.b-phase-row{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e7e9ed;border-radius:9px;padding:8px 10px}
.b-phase--warm .b-phase-row{border-color:#f1ddc9}
.b-phase--cool .b-phase-row{border-color:#dde9ee}
.b-phase-name{flex:1;min-width:0;font-size:12px;font-weight:600;color:var(--ink)}
.b-phase-time{display:inline-flex;align-items:stretch;flex-shrink:0;height:30px;border:1px solid #d8dce1;border-radius:8px;background:#fff;overflow:hidden}
.b-phase-amt{display:grid;place-items:center;min-width:40px;font-size:13px;font-weight:700;color:var(--ink)}
.b-phase-unit{display:inline-flex;align-items:center;gap:5px;padding:0 9px;font-size:11px;color:#56606f;background:#f8f9fa;border-inline-start:1px solid #e2e5e9}
.b-phase-unit .select-chevron{margin:0}
.b-phase-row .b-set-del{margin-inline-start:0}
.b-phase-add{align-self:flex-start;border:1px dashed var(--brand);background:var(--brand-soft);color:var(--brand);border-radius:8px;min-height:30px;padding:0 12px;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer}
.b-phase--cool .b-phase-add{border-color:#5e8499;background:#e6eef2;color:#3f6678}

.media-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:12px}.video-player{aspect-ratio:16/9;border-radius:15px;background:linear-gradient(140deg,#111315,#333943);position:relative;display:grid;place-items:center;overflow:hidden}.video-player::before,.video-player::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%}.video-player::before{width:250px;height:250px}.video-player::after{width:160px;height:160px}.play-button{position:relative;z-index:1;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:20px;box-shadow:0 0 0 10px rgba(255,255,255,.08)}.video-info{margin-top:10px}.video-info h4{font-size:13px;margin:0}.video-info p{font-size:11px;color:#7c889a}.photo-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo{height:180px;background:linear-gradient(160deg,#dee1e5,#939dac);border-radius:12px;display:flex;align-items:flex-end;padding:10px;color:#fff;font-size:11px;position:relative;overflow:hidden}.photo::after{content:"";position:absolute;width:70px;height:130px;border-radius:50% 50% 15px 15px;background:rgba(28,35,51,.42);right:50%;transform:translateX(50%);bottom:-20px}

.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.plan-card{background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:8px}.plan-card.featured{border-color:var(--brand);box-shadow:var(--shadow-soft)}.plan-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.plan-card-head strong{font-size:13px}.plan-price{display:flex;align-items:baseline;gap:6px}.plan-price strong{font-size:22px}.plan-price span{font-size:11px;color:#828d9e}.plan-meta{font-size:11px;color:#7a8699}.plan-features{display:grid;gap:6px;font-size:11px;color:#414954;padding:0;margin:0;list-style:none}.plan-features li{padding-right:14px;position:relative}.plan-features li::before{content:"";position:absolute;right:0;top:6px;width:6px;height:6px;border-radius:50%;background:var(--brand)}
.report-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.line-chart{height:190px;position:relative;border-bottom:1px solid #e1e4e8;background:repeating-linear-gradient(to bottom,transparent 0,transparent 46px,#eff0f2 47px)}.line-chart svg{width:100%;height:100%;overflow:visible}.metric-stack{display:grid;gap:8px}.metric-row{padding:10px;background:#f8f9fa;border-radius:10px}.metric-row span{font-size:11px;color:#798598}.metric-row strong{display:block;font-size:14px}.metric-bar{height:5px;background:#e4e6ea;border-radius:5px;margin-top:6px;overflow:hidden}.metric-bar i{display:block;height:100%;background:var(--brand);border-radius:5px}

/* ── Settings / Profile redesign ── */
.sett-hero{background:var(--ink);color:#fff;border-radius:16px;padding:18px 20px;display:flex;align-items:center;gap:16px;margin-bottom:14px}
.sett-hero-avatar{position:relative;flex-shrink:0}
.sett-avatar-circle{width:68px;height:68px;border-radius:20px;background:var(--brand);display:grid;place-items:center;font-size:24px;font-weight:700;color:#fff}
.sett-avatar-edit{position:absolute;bottom:-5px;left:-5px;width:24px;height:24px;border-radius:8px;background:#fff;color:var(--ink);border:0;font-size:13px;display:grid;place-items:center;cursor:pointer;font-family:inherit}
.sett-hero-info{flex:1;min-width:0}
.sett-hero-info>strong{display:block;font-size:16px;margin-bottom:3px}
.sett-hero-info>span{font-size:11px;color:#9aa4b2;display:block;margin-bottom:10px}
.sett-hero-stats{display:flex;gap:16px;flex-wrap:wrap}
.sett-hero-stats span{font-size:11px;color:#727f92}
.sett-hero-stats strong{color:var(--brand);font-size:12px;font-weight:700}
.settings-layout{display:grid;grid-template-columns:200px 1fr;gap:12px;align-items:start}
.settings-nav{background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:8px;height:max-content}
.sett-nav-item{display:flex;align-items:center;gap:9px;width:100%;text-align:right;padding:10px;border:0;background:transparent;border-radius:10px;font-size:11px;color:#6a7689;font-family:inherit;cursor:pointer;min-height:40px}
.sett-nav-item.active{background:var(--brand-soft);color:var(--brand);font-weight:700}
.sett-nav-icon{font-size:15px;width:22px;text-align:center;flex-shrink:0}
.sett-nav-arr{margin-right:auto;font-size:17px;line-height:1;opacity:.5}
.sett-content{background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:16px}
.sett-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #eff0f2}
.sett-section-head strong{font-size:13px}
.sett-section-head span{font-size:11px;color:#828d9e}
.sett-section{display:grid;gap:10px}
.sett-field-full{grid-column:1/-1}
.sett-save-row{padding-top:16px;border-top:1px solid #eff0f2;margin-top:4px}
/* Settings blocks — all sections stacked */
.sett-block{border:1px solid #e4e6ea;border-radius:14px;overflow:hidden;margin-bottom:10px}
.sett-block:last-of-type{margin-bottom:0}
.sett-block.is-active{border-color:var(--brand)}
.sett-block-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f8f9fa;border-bottom:1px solid #e4e6ea}
.sett-block.is-active .sett-block-head{background:var(--brand-soft);border-bottom-color:color-mix(in srgb,var(--brand) 20%,transparent)}
.sett-block-title{display:flex;align-items:center;gap:8px}
.sett-block-title strong{font-size:12px}
.sett-block-icon{font-size:14px;width:28px;height:28px;border-radius:8px;background:#fff;border:1px solid #e4e6ea;display:grid;place-items:center;flex-shrink:0}
.sett-block.is-active .sett-block-icon{border-color:var(--brand);color:var(--brand)}
.sett-block-badge{font-size:10px;font-weight:700;padding:2px 9px;border-radius:20px;background:var(--brand);color:#fff}
.sett-block-body{padding:14px 16px;display:grid;gap:10px}
/* Notification / privacy rows */
.sett-notif-list{display:grid;gap:8px}
.sett-notif-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f8f9fa;border:1px solid #e8eaee;border-radius:12px}
.sett-notif-body{flex:1;min-width:0}
.sett-notif-body strong{display:block;font-size:12px}
.sett-notif-body span{display:block;font-size:11px;color:#828d9e;margin-top:2px}
.sett-risk{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:5px;margin-top:5px}
.sett-risk--low{background:var(--success-soft);color:color-mix(in srgb,var(--success) 60%,var(--ink) 40%)}
.sett-risk--mid{background:var(--warning-soft);color:#8a6800}
/* Device list */
.sett-device-list{display:grid;gap:8px}
.sett-device-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f8f9fa;border:1px solid #e8eaee;border-radius:12px}
.sett-device-row.is-current{border-color:var(--brand);background:var(--brand-soft)}
.sett-device-icon{font-size:18px;width:38px;height:38px;border-radius:11px;background:#fff;display:grid;place-items:center;flex-shrink:0;border:1px solid #e2e5e9}
.sett-device-body{flex:1;min-width:0}
.sett-device-body strong{display:flex;align-items:center;gap:6px;font-size:12px;flex-wrap:wrap}
.sett-device-body span{display:block;font-size:11px;color:#828d9e;margin-top:2px}
.sett-cur-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px;background:var(--brand);color:#fff}
.sett-danger-btn{padding:0 12px;min-height:32px;border:1px solid var(--danger);background:var(--danger-soft);border-radius:8px;color:var(--danger);font-size:10px;font-family:inherit;cursor:pointer;font-weight:700;white-space:nowrap}
.sett-signout-all{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:40px;margin-top:10px;font-size:12px;border-radius:10px}
.sett-signout-all .ic{width:15px;height:15px}
/* Legacy toggle kept for other pages */
.settings-menu{background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:9px;height:max-content}.settings-menu button{display:block;width:100%;text-align:right;padding:9px;border:0;background:transparent;border-radius:8px;font-size:11px;color:#748194;font-family:inherit;cursor:pointer;min-height:36px}.settings-menu button.active{background:var(--brand-soft);color:var(--brand);font-weight:700}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #eff0f2}.setting-row:last-child{border-bottom:0}.setting-row strong{display:block;font-size:12px}.setting-row span{display:block;font-size:11px;color:#828d9e}
.toggle-wrap{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;padding:0}.toggle{width:34px;height:19px;border-radius:20px;background:var(--brand);padding:3px}.toggle::after{content:"";display:block;width:13px;height:13px;border-radius:50%;background:#fff}.toggle.off{background:var(--line)}.toggle.off::after{margin-right:auto}
.permission-table{overflow:auto}.permission-row{min-width:650px;display:grid;grid-template-columns:1.4fr repeat(4,.65fr);align-items:center;padding:10px 12px;border-bottom:1px solid #eff0f2;font-size:11px}.permission-row.header{background:#f8f9fa;color:#768396}.permission-check{width:22px;height:22px;margin:auto;display:grid;place-items:center;border-radius:6px;background:var(--brand-soft);color:var(--brand);font-weight:700}.permission-check.off{background:#f0f1f3;color:#a9b1bc}.permission-check .ic{width:14px;height:14px}
.permission-row.is-locked{background:#f9fafb}
.permission-row>strong{display:flex;align-items:center;gap:6px}
.perm-lock{display:inline-flex;color:#9fa8b5}.perm-lock .ic{width:12px;height:12px}
.permission-row .toggle-wrap{margin:auto;width:auto;height:auto}
/* ── مدیریت پویای نقش‌ها ── */
.roles-intro{display:flex;align-items:flex-start;gap:10px;background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 18%,transparent);border-radius:12px;padding:12px 14px;margin-bottom:12px;font-size:12px;color:#5f6a7b;line-height:1.9}
.roles-intro .ic{width:18px;height:18px;color:var(--brand);flex-shrink:0;margin-top:3px}
.roles-intro strong{color:var(--ink)}
.roles-card{margin-bottom:12px}
.role-row{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #eff0f2}
.role-row:last-of-type{border-bottom:0}
.role-icon{width:40px;height:40px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.role-icon .ic{width:20px;height:20px}
.role-icon--fixed{background:var(--muted-soft);color:#6d7a8d}
.role-row-body{flex:1;min-width:0}
.role-row-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.role-row-head strong{font-size:13px;color:var(--ink)}
.role-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px}
.role-badge .ic{width:11px;height:11px}
.role-badge--fixed{background:var(--muted-soft);color:#636f81}
.role-badge--custom{background:var(--brand-soft);color:var(--brand)}
.role-badge--full{background:var(--success-soft);color:#2f8a55}
.role-row-desc{display:block;font-size:11px;color:#828d9e;margin-top:4px}
.role-members{flex-shrink:0;text-align:center;font-size:10.5px;color:#828d9e;min-width:54px}
.role-members strong{display:block;font-size:14px;color:var(--ink);margin-bottom:2px}
.role-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.role-del{color:#c0392b;border-color:color-mix(in srgb,#c0392b 22%,transparent)}
.role-del:hover{background:var(--danger-soft)}
.role-locked{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#8691a1;font-weight:600;white-space:nowrap}
.role-locked .ic{width:14px;height:14px}
.role-add-row{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:13px;border:1.5px dashed #c5cad2;border-radius:12px;background:none;color:var(--brand);font-family:inherit;font-weight:700;font-size:12.5px;cursor:pointer}
.role-add-row:hover{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 35%,transparent)}
.role-add-row .ic{width:17px;height:17px}
/* ── بازبینی ویدئوهای مربیان ── */
.vrev-list{padding:0}
.vrev-item{display:flex;align-items:center;gap:13px;padding:12px 14px;border-bottom:1px solid #eff0f2}
.vrev-item:last-child{border-bottom:0}
.vrev-thumb{position:relative;flex-shrink:0;width:92px;height:58px;border-radius:10px;border:0;cursor:pointer;display:grid;place-items:center;overflow:hidden;background:radial-gradient(120% 120% at 50% 30%,#252a31,#0c0e10);padding:0}
.vrev-thumb .vid-thumb-anim{position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.06) 50%,transparent 58%);background-size:240% 100%}
.vrev-thumb:hover .vid-thumb-anim{animation:vpSweep 2.4s linear infinite}
.vrev-thumb .vid-play{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;background:rgba(255,107,53,.95);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 7px rgba(255,255,255,.07);transition:transform .15s}
.vrev-thumb:hover .vid-play{transform:scale(1.08)}
.vrev-thumb .vid-play .ic{width:15px;height:15px}
.vrev-thumb .vid-dur{position:absolute;bottom:5px;left:5px;z-index:1;background:rgba(12,13,15,.78);color:#fff;font-size:9px;font-weight:700;padding:1px 6px;border-radius:5px}
.vrev-body{flex:1;min-width:0}
.vrev-body>strong{display:block;font-size:13px;color:var(--ink);margin-bottom:5px}
.vrev-meta{display:flex;flex-wrap:wrap;gap:5px 13px;font-size:11px;color:#828d9e}
.vrev-meta span{display:inline-flex;align-items:center;gap:4px}
.vrev-meta .ic{width:13px;height:13px;color:#9ba4b2}
.vrev-src{background:#f0f1f3;color:#636f81;font-weight:700;padding:1px 8px;border-radius:6px;font-size:10px}
.vrev-actions{display:flex;gap:7px;flex-shrink:0;min-width:108px;justify-content:flex-start}
.vrev-item>.status-pill{min-width:82px;justify-content:center}
.vrev-actions .row-action{display:inline-flex;align-items:center;gap:5px}
.vrev-actions .row-action .ic{width:13px;height:13px}
.vrev-approve{background:var(--success-soft);border-color:color-mix(in srgb,#2f8a55 22%,transparent);color:#2f8a55}
.vrev-approve:hover{background:color-mix(in srgb,#2f8a55 14%,#fff)}
.vrev-reject{color:#c0392b;border-color:color-mix(in srgb,#c0392b 22%,transparent)}
.vrev-reject:hover{background:var(--danger-soft)}
.device-frame.mobile .vrev-item{flex-wrap:wrap}
.device-frame.mobile .vrev-body{flex-basis:calc(100% - 105px)}
.device-frame.mobile .vrev-item .status-pill{order:3}
.device-frame.mobile .vrev-actions{order:4;margin-inline-start:auto}
.device-frame.mobile .role-row{flex-wrap:wrap}
.device-frame.mobile .role-members{order:3}
.device-frame.mobile .role-row-actions{order:4;margin-inline-start:auto}
.role-row-actions .row-action{display:inline-flex;align-items:center;gap:5px}
.role-row-actions .row-action .ic{width:13px;height:13px}
/* ── مدال ویرایش دسترسی‌های نقش ── */
.role-edit-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .2s}
.role-edit-modal.is-open{pointer-events:all;opacity:1}
.re-backdrop{position:fixed;inset:0;background:rgba(19,21,25,.6);backdrop-filter:blur(2px)}
.re-card{position:relative;background:#fff;border-radius:18px;width:600px;max-width:92vw;max-height:88vh;display:flex;flex-direction:column;z-index:1;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden}
.re-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e2e5e9;flex-shrink:0}
.re-head strong{font-size:14px;color:var(--ink)}
.re-close{background:none;border:0;font-size:22px;cursor:pointer;color:#828d9e;line-height:1;padding:0 4px}
.re-body{padding:16px 18px;overflow-y:auto;flex:1;min-height:0}
.re-perm-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:18px 0 4px}
.re-perm-head strong{font-size:13px;color:var(--ink)}
.re-perm-head span{font-size:11px;color:#828d9e}
.re-perm-table{border:1px solid #e7e9ec;border-radius:12px;overflow:hidden;margin-top:8px}
.re-perm-table .permission-row{min-width:0;grid-template-columns:1.5fr repeat(4,1fr);padding:7px 10px;font-size:11px;border-bottom:1px solid #eff0f2}
.re-perm-table .permission-row:last-child{border-bottom:0}
.re-perm-table .permission-row strong{font-size:12px;color:var(--ink)}
.re-perm-table .permission-row.header{background:#f8f9fa;color:#768396}
.re-perm-table .permission-row[data-super]{background:#f9fafb}
.re-super-tag{display:inline-block;font-size:9px;font-weight:700;color:var(--brand);background:var(--brand-soft);padding:1px 6px;border-radius:6px;margin-inline-start:6px}
.perm-locked{grid-column:2 / -1;display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;font-weight:700;color:#8b97a8;background:#f3f5f8;border:1px dashed #d7dde5;border-radius:8px;padding:5px 10px;white-space:nowrap}
.perm-locked .ic{width:13px;height:13px;flex-shrink:0}
.role-edit-modal.is-readonly .toggle-wrap{cursor:default}
.re-foot{display:flex;gap:10px;padding:14px 18px;border-top:1px solid #e2e5e9;flex-shrink:0}
.re-foot .secondary-btn,.re-foot .primary-btn,.re-foot .danger-btn{flex:1}
.re-foot .danger-btn{min-height:38px}
/* مدال ویرایش/حذف مورد بانک */
.bank-edit-vid-label{display:block;font-size:11px;color:#707d91;margin:16px 3px 8px}
.bank-edit-video{display:flex;align-items:center;gap:11px;border:1px solid #e2e5e9;border-radius:12px;padding:10px}
.bev-thumb{width:54px;height:40px;border-radius:8px;background:linear-gradient(135deg,var(--brand),#b8451f);display:grid;place-items:center;color:#fff;flex-shrink:0}
.bev-thumb .ic{width:18px;height:18px}
.bev-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.bev-info strong{font-size:12px;color:var(--ink)}
.bank-edit-upload{min-height:120px}
.bank-del-card{width:430px}
.bank-del-warn{display:flex;gap:12px;align-items:flex-start}
.bank-del-icon{flex-shrink:0;width:38px;height:38px;border-radius:10px;background:var(--danger-soft);color:var(--danger);display:grid;place-items:center}
.bank-del-icon .ic{width:18px;height:18px}
.bank-del-text{font-size:13px;line-height:1.95;color:var(--ink);margin:0}
.bank-del-text strong{color:var(--danger)}
.device-frame.mobile .re-perm-table .permission-row{grid-template-columns:1.4fr repeat(4,1fr);padding:6px 8px}
.log-detail-anchor{display:none}
.log-detail-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.log-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;flex-wrap:wrap}.log-detail-time{font-size:11px;color:#828d9e}.log-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.log-detail-item{min-width:0;padding:10px;background:#f8f9fa;border-radius:10px}.log-detail-item span{display:block;font-size:11px;color:#828d9e;margin-bottom:4px}.log-detail-item strong{min-width:0;font-size:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;overflow-wrap:anywhere}
.copy-chip{border:1px solid #e1e4e8;background:#fff;border-radius:6px;width:24px;height:24px;display:grid;place-items:center;font-size:11px;color:#616c7d;font-family:inherit}
.json-viewer{min-width:0}.json-viewer summary{cursor:pointer;font-size:12px;padding:4px 0;list-style:none}.json-viewer summary::-webkit-details-marker{display:none}.json-viewer pre{margin:10px 0 0;padding:12px;max-width:100%;background:var(--ink);color:#dbdfe4;border-radius:10px;font-size:11px;line-height:1.8;overflow-x:auto;direction:ltr;text-align:left;font-family:monospace}
.redacted{background:var(--danger);color:#fff;border-radius:4px;padding:1px 5px;font-size:10px}
.pdf-preview{width:74%;min-height:430px;margin:auto;background:#fff;border:1px solid #dde0e4;box-shadow:0 12px 38px rgba(28,35,51,.12);padding:26px;position:relative}.pdf-cover{height:125px;background:var(--ink);color:#fff;border-radius:12px;padding:22px;display:flex;justify-content:space-between}.pdf-cover h4{font-size:20px;margin:0}.pdf-cover span{color:var(--brand)}.pdf-section{margin-top:18px}.pdf-line{height:8px;border-radius:5px;background:#e8eaee;margin:8px 0}.pdf-line.accent{width:40%;background:var(--brand)}
.pdf-output-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:12px;align-items:start}.pdf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid #ebedef}.pdf-toolbar-info strong{display:block;font-size:12px}.pdf-toolbar-info span{font-size:11px;color:#828d9e}.pdf-toolbar-actions{display:flex;gap:6px;flex-wrap:wrap}
/* ── Final program PDF document ── */
.pdf-main{padding:0;overflow:hidden}
.pdf-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 15px;border-bottom:1px solid #e7e9ed;background:#fff}
.pdf-preview-lbl{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--ink)}
.pdf-preview-lbl .ic{width:15px;height:15px;color:var(--brand)}
.pdf-preview-fmt{font-size:10.5px;font-weight:700;color:var(--brand);background:var(--brand-soft);padding:3px 9px;border-radius:20px}
.pdf-canvas{background:#ebedef;padding:20px 18px;overflow-x:hidden}
.pdf-doc{display:flex;flex-direction:column;align-items:center;gap:20px;width:max-content;margin:0 auto}
.pdf-page{width:794px;min-height:1123px;background:#fff;border:1px solid #dde0e4;box-shadow:0 10px 30px rgba(28,35,51,.12);border-radius:3px;padding:46px 48px;display:flex;flex-direction:column}
.pdf-page-body{flex:1;min-width:0}
.pdf-running-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:11px;margin-bottom:16px;border-bottom:1px solid #e4e6ea;font-size:10px;color:#828d9e}
.pdf-running-head strong{font-size:12px;color:var(--ink)}
.pdf-doc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:2px solid var(--ink)}
.pdf-doc-brand{display:flex;align-items:center;gap:9px}
.pdf-doc-mark{width:38px;height:38px;border-radius:11px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:17px;box-shadow:inset -4px -4px 0 var(--brand)}
.pdf-doc-brand strong{display:block;font-size:14px}
.pdf-doc-brand span{display:block;font-size:10px;color:var(--brand);font-weight:700}
.pdf-doc-title{text-align:left}
.pdf-doc-title h3{font-size:17px;margin:0}
.pdf-doc-title span{font-size:11px;color:#828d9e}
.pdf-doc-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px 0;border-bottom:1px solid #e8eaee;margin-bottom:6px}
.pdf-doc-meta span{display:flex;flex-direction:column;gap:3px;font-size:10px;color:#828d9e}
.pdf-doc-meta strong{font-size:12px;color:var(--ink)}
.pdf-doc-section{margin-top:12px}
.pdf-notes{margin:0;padding:0 18px 0 0;list-style:disc;display:grid;gap:6px}
.pdf-notes li{font-size:10.5px;line-height:1.8;color:#454d5a}
.pdf-doc-section-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.pdf-doc-section-head strong{font-size:13px}
.pdf-sec-icon{width:26px;height:26px;border-radius:8px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:13px}
.pdf-sec-icon--green{background:var(--success-soft);color:var(--success)}
.pdf-sec-note{margin-right:auto;font-size:10px;color:#828d9e}
.pdf-day{margin-bottom:9px}
.pdf-day-head{font-size:12px;font-weight:700;color:var(--ink);background:#f8f9fa;border-right:3px solid var(--brand);padding:6px 10px;border-radius:0 7px 7px 0;margin-bottom:6px}
.pdf-phase{margin:6px 0;border:1px solid;border-radius:7px;overflow:hidden}
.pdf-phase--warm{border-color:#f1ddc9;background:#f7f8f9}
.pdf-phase--cool{border-color:#dbe7ed;background:#f1f6f9}
.pdf-phase-head{display:flex;justify-content:space-between;align-items:center;padding:4px 10px;font-size:9.5px;font-weight:700}
.pdf-phase-head span{font-weight:400;color:#7f8b9d;font-size:8.5px}
.pdf-phase--warm .pdf-phase-head{color:#b85c1f;border-bottom:1px solid #f1ddc9}
.pdf-phase--cool .pdf-phase-head{color:#3f6678;border-bottom:1px solid #dbe7ed}
.pdf-phase-rows{display:grid;grid-template-columns:1fr 1fr}
.pdf-phase-row{display:flex;align-items:center;gap:8px;padding:4px 10px;font-size:9px;border-top:1px solid rgba(92,103,120,.1)}
.pdf-phase-row:nth-child(1),.pdf-phase-row:nth-child(2){border-top:0}
.pdf-phase-row:nth-child(even){border-inline-start:1px solid rgba(92,103,120,.1)}
.pdf-phase-mv{flex:1;min-width:0;color:#2c323a;font-weight:600}
.pdf-phase-d{color:#616c7d;white-space:nowrap}
.pdf-phase-qr{flex-shrink:0;width:22px;display:flex;justify-content:center}
.pdf-phase-qr .pdf-qr{width:22px;height:22px}
.pdf-table{border:1px solid #e4e6ea;border-radius:8px;overflow:hidden}
.pdf-tr{display:grid;align-items:center;gap:8px;padding:6px 11px;border-bottom:1px solid #eff0f2;font-size:11px}
.pdf-tr:last-child{border-bottom:0}
.pdf-tr-head{background:#f9f9fa;color:#7c889a;font-weight:700;font-size:10px}
.pdf-table--workout .pdf-tr{grid-template-columns:1.4fr .4fr 1.1fr .85fr 34px}
.pdf-reps{display:flex;gap:3px;flex-wrap:wrap;justify-content:center;direction:ltr}
.pdf-rep{display:inline-flex;flex-direction:column;align-items:center;min-width:18px;padding:1px 5px;background:#eff0f2;border-radius:4px;font-size:9px;font-weight:700;color:var(--ink);line-height:1.3}
.pdf-rep small{font-size:7px;font-weight:700;color:var(--brand);white-space:nowrap}
.pdf-rep small.pdf-rep-free{color:#828d9e;font-weight:600}
.pdf-table--meal .pdf-tr{grid-template-columns:1fr 1.4fr .7fr .6fr 1.2fr}
.pdf-td-name{font-weight:700;color:var(--ink)}
/* اعداد جدول در هدر و داده هم‌تراز (وسط‌چین) شوند */
.pdf-table--workout .pdf-tr>span:nth-child(n+2){justify-self:center;text-align:center}
.pdf-table--meal .pdf-tr>span:nth-child(3),.pdf-table--meal .pdf-tr>span:nth-child(4){justify-self:center;text-align:center}
.pdf-meal-time{color:#828d9e;font-size:10px;font-weight:400;margin-right:2px}
.pdf-measure{display:inline-flex;gap:3px;align-items:baseline;white-space:nowrap;justify-content:center}
.pdf-m-num{font-weight:700;color:var(--ink)}
.pdf-m-unit{color:#828d9e;font-size:10px}
.pdf-qr{width:30px;height:30px;border-radius:4px;border:1px solid #d8dce1;background:repeating-conic-gradient(var(--ink) 0% 25%,#fff 0% 50%) 50%/8px 8px}
.pdf-doc-foot,.pdf-page-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:12px;border-top:1px solid #e8eaee;font-size:10px;color:#828d9e;flex-wrap:wrap}
.pdf-page-foot{margin-top:auto;padding-top:16px}
.pdf-foot-contact{display:flex;align-items:center;gap:7px;min-width:0}
.pdf-foot-mark{width:18px;height:18px;border-radius:5px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:700;flex-shrink:0;box-shadow:inset -2px -2px 0 var(--brand)}
.pdf-foot-text strong{color:var(--ink)}
.pdf-foot-page{flex-shrink:0}
.lat{unicode-bidi:isolate}
.pdf-side{display:grid;gap:12px}
.pdf-action-card{padding:14px}
.pdf-file-head{display:flex;align-items:center;gap:12px;margin-bottom:13px;padding-bottom:13px;border-bottom:1px solid #eff0f2}
.pdf-file-icon{position:relative;width:38px;height:46px;border-radius:8px;background:linear-gradient(155deg,#ff7a45,#e85d2a);color:#fff;display:grid;place-items:center;flex-shrink:0;box-shadow:0 5px 12px rgba(232,93,42,.26);overflow:hidden}
.pdf-file-icon::after{content:"";position:absolute;top:0;right:0;width:13px;height:13px;background:rgba(255,255,255,.3);clip-path:polygon(100% 0,0 0,100% 100%)}
.pdf-file-ext{font-size:10px;font-weight:800;letter-spacing:.6px}
.pdf-file-info{min-width:0}
.pdf-file-head strong{display:block;font-size:13px}
.pdf-file-meta{display:block;font-size:11px;color:#828d9e;margin-top:3px}
.pdf-actions{display:grid;gap:7px}
.pdf-actions .primary-btn,.pdf-actions .secondary-btn{width:100%}
.pdf-share-note{font-size:11px;color:#707d91;background:#f8f9fa;border:1px solid #e8eaee;border-radius:11px;padding:11px 13px;line-height:1.7}
.pdf-generating{display:flex;align-items:center;gap:8px;font-size:11px;color:#707d91;padding:10px;background:#f8f9fa;border-radius:10px}
.spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--brand-soft);border-top-color:var(--brand);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.mobile-bottom-nav{display:none}
.more-drawer{display:none}

/* ── Breadcrumb RTL fix ── */
.bc-sep{font-weight:400;color:#c0c6ce;font-size:13px;margin:0 1px;display:inline-flex;align-items:center}

/* ── MVP: Student home cards ── */
.home-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:13px}
.home-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:right;background:#fff;border:1px solid #e2e5e9;border-radius:15px;padding:16px;cursor:pointer;font-family:inherit;transition:transform .12s,box-shadow .12s,border-color .12s}
.home-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft);border-color:var(--brand)}
.home-card-icon{width:44px;height:44px;border-radius:13px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:20px;margin-bottom:6px}
.home-card-icon--green{background:var(--success-soft);color:var(--success)}
.home-card-icon--blue{background:#e8eef6;color:#3f6678}
/* سوابق شاگرد — کارت‌های ساده و قابل‌لمس */
.srec-list{display:flex;flex-direction:column;gap:9px}
.srec-card{display:flex;align-items:center;gap:12px;width:100%;text-align:right;background:#fff;border:1px solid #e7e9ed;border-radius:13px;padding:12px 13px;font-family:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s;min-height:62px}
.srec-card:hover{border-color:color-mix(in srgb,var(--brand) 32%,#e7e9ed);box-shadow:0 4px 14px rgba(28,35,51,.06)}
.srec-icon{flex-shrink:0;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}
.srec-icon .ic{width:18px;height:18px}
.srec-icon.is-form{background:#e8eef6;color:#3f6678}
.srec-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.srec-body strong{font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srec-body span{font-size:11px;color:#828d9e;overflow-wrap:anywhere}
.srec-card .status-pill{flex-shrink:0}
.srec-chev{flex-shrink:0;color:#bcc3cd;display:grid;place-items:center}
.srec-chev .ic{width:18px;height:18px}
.device-frame.mobile .srec-chev{display:none}
.home-card>strong{font-size:14px}
.home-card>span{font-size:11px;color:#828d9e}
.home-card-go{margin-top:8px;font-size:12px;font-weight:700;color:var(--brand);display:inline-flex;align-items:center;gap:4px}
.home-coach-note{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:14px}
.home-coach-avatar{width:38px;height:38px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;flex-shrink:0}
.home-coach-body strong{display:block;font-size:12px;margin-bottom:3px}
.home-coach-body p{margin:0;font-size:11px;color:#616c7d;line-height:1.7}
/* ── پیام‌ها و اعلان‌ها (داشبورد) ── */
.notif-card{margin-top:13px}
.notif-head-title{display:flex;align-items:center;gap:8px;min-width:0}
.notif-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;line-height:1;color:var(--brand);background:var(--brand-soft);padding:4px 9px;border-radius:20px;white-space:nowrap;flex-shrink:0}
.notif-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand)}
.notif-list{display:grid;gap:7px}
.notif-row{display:flex;align-items:flex-start;gap:11px;padding:11px;border:1px solid #ebedef;border-radius:12px;background:#fff;position:relative}
.notif-row.is-unread{background:#fdfdfd;border-color:color-mix(in srgb,var(--brand) 22%,#ebedef)}
.notif-ic{position:relative;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;background:var(--muted-soft);color:var(--muted)}
.notif-ic--message,.notif-ic--coach{background:var(--brand-soft);color:var(--brand)}
.notif-ic--program{background:var(--brand-soft);color:var(--brand)}
.notif-ic--assess{background:var(--success-soft);color:var(--success)}
.notif-ic--remind{background:var(--warning-soft);color:#9a6a0a}
.notif-ic--system{background:var(--muted-soft);color:#636f81}
.notif-ic .ic{width:17px;height:17px}
.notif-body{flex:1;min-width:0}
.notif-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.notif-top strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notif-time{font-size:10px;color:#8d98a8;white-space:nowrap;flex-shrink:0}
.notif-body p{margin:3px 0 0;font-size:11px;color:#616c7d;line-height:1.7}
.notif-dot{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 2px #fff}
/* ── مرکز کامل اعلان‌ها ── */
.notif-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.notif-allread{font-size:11px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.notif-mark-all{display:inline-flex;align-items:center;gap:6px;font-size:11px}
.notif-mark-all .ic{width:14px;height:14px}
.notif-tabs{margin-bottom:16px}
.notif-group{margin-bottom:18px}
.notif-group:last-child{margin-bottom:0}
.notif-group-head{font-size:11px;font-weight:700;color:var(--muted);margin:0 0 9px 2px}
.notif-empty{text-align:center;color:var(--muted);font-size:12px;padding:30px 0}
.notif-center .notif-row{padding:13px}
/* اعلان قابل‌کلیک + مدال جزئیات */
.notif-row[data-notif]{cursor:pointer;transition:border-color .15s,box-shadow .15s}
.notif-row[data-notif]:hover{border-color:color-mix(in srgb,var(--brand) 38%,#ebedef);box-shadow:0 4px 14px rgba(15,23,42,.06)}
.notif-modal-card{width:460px}
.notif-detail-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.notif-detail-head .notif-ic{width:42px;height:42px;border-radius:13px}
.notif-detail-head .notif-ic .ic{width:19px;height:19px}
.notif-detail-info{display:flex;flex-direction:column;gap:5px;min-width:0}
.notif-detail-info strong{font-size:14px;color:var(--ink);line-height:1.6}
.notif-detail-meta{font-size:11px;color:var(--muted)}
.notif-detail-body{font-size:13px;line-height:2;color:#4b5563;margin:0;white-space:pre-wrap}
.notif-reply{margin-top:18px}
.re-foot .notif-send,.re-foot .notif-action{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.re-foot .notif-send .ic,.re-foot .notif-action .ic{width:15px;height:15px}
/* ── صفحه‌ی گفت‌وگو (پیام‌های ادامه‌دار) ── */
.chat-layout{display:grid;grid-template-columns:300px 1fr;gap:12px;height:560px}
.chat-layout--solo{grid-template-columns:1fr;max-width:720px;margin:0 auto}
.chat-list{background:#fff;border:1px solid #e7e9ee;border-radius:14px;display:flex;flex-direction:column;overflow:hidden}
.chat-list-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid #eef0f3}
.chat-list-head strong{font-size:13px}
.chat-list-head span{font-size:11px;color:var(--muted)}
.chat-list-search{margin:10px;gap:8px;min-height:38px}
.chat-list-search-ic .ic{width:15px;height:15px;color:var(--muted)}
.chat-conv{display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;background:transparent;cursor:pointer;font-family:inherit;text-align:right;border-bottom:1px solid #f2f4f6}
.chat-conv:hover{background:#f8fafc}
.chat-conv.is-active{background:var(--brand-soft)}
.chat-conv-body{flex:1;min-width:0}
.chat-conv-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.chat-conv-top strong{font-size:12px}
.chat-conv-time{font-size:10px;color:var(--muted);flex-shrink:0}
.chat-conv-body p{margin:2px 0 0;font-size:11px;color:#7a8699;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-conv-badge{flex-shrink:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--brand);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}
.chat-thread{background:#fff;border:1px solid #e7e9ee;border-radius:14px;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.chat-thread-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #eef0f3}
.chat-peer{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.chat-peer strong{font-size:13px}
.chat-peer span{font-size:11px;color:var(--muted)}
.chat-peer-go{display:inline-flex;align-items:center;gap:5px;border:1px solid #e4e7ec;background:#fff;border-radius:9px;padding:6px 11px;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;color:var(--ink);white-space:nowrap}
.chat-peer-go .ic{width:14px;height:14px}
.chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:9px;background:#f7f9fb}
.chat-date{text-align:center;margin:2px 0 6px}
.chat-date span{font-size:10px;color:var(--muted);background:#e9edf2;padding:3px 12px;border-radius:20px}
.chat-msg{display:flex;flex-direction:column;max-width:74%}
.chat-msg.is-in{align-self:flex-start;align-items:flex-start}
.chat-msg.is-out{align-self:flex-end;align-items:flex-end}
.chat-bubble{padding:9px 13px;border-radius:14px;font-size:12px;line-height:1.85;word-break:break-word}
.chat-msg.is-in .chat-bubble{background:#fff;border:1px solid #e7e9ee;border-bottom-right-radius:5px;color:var(--ink)}
.chat-msg.is-out .chat-bubble{background:var(--brand);color:#fff;border-bottom-left-radius:5px}
.chat-time{font-size:9.5px;color:var(--muted);margin:3px 4px 0}
.chat-composer{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid #eef0f3;background:#fff}
.chat-input{flex:1;border:1px solid #e4e7ec;background:#f7f9fb;border-radius:11px;min-height:42px;padding:0 14px;font-size:12px;font-family:inherit;color:var(--ink)}
.chat-input:focus{outline:none;border-color:color-mix(in srgb,var(--brand) 45%,#e4e7ec);background:#fff}
.chat-send{flex-shrink:0;width:42px;height:42px;border:0;border-radius:11px;background:var(--brand);color:#fff;display:grid;place-items:center;cursor:pointer}
.chat-send .ic{width:18px;height:18px}
.device-frame.mobile .chat-layout{grid-template-columns:1fr;height:auto}
.device-frame.mobile .chat-list{display:none}
.device-frame.mobile .chat-body{max-height:60vh}
.device-frame.mobile .chat-msg{max-width:85%}
/* حالت نظارت ادمین/سوپرادمین (فقط‌خواندنی) */
.chat-conv-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--brand)}
.chat-sender{font-size:10px;font-weight:700;color:var(--muted);margin:0 4px 3px}
.chat-watch-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#b3741a;background:var(--warning-soft);padding:5px 11px;border-radius:20px;white-space:nowrap}
.chat-watch-badge .ic{width:13px;height:13px}
.chat-readonly{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px;font-size:11px;color:var(--muted);background:#f4f6f9;border-top:1px solid #eef0f3}
.chat-readonly .ic{width:14px;height:14px}

/* ── Segmented toggle (program / builder تمرین‌|‌تغذیه) ── */
/* ── SVG icon system ── */
.ic{width:18px;height:18px;display:inline-block;vertical-align:middle;flex-shrink:0}
.mock-nav-item i .ic{width:16px;height:16px}
.mobile-bottom-nav button i .ic{width:19px;height:19px}
.more-drawer-item i .ic{width:20px;height:20px}
.video-btn .ic{width:16px;height:16px}
.play-button .ic{width:22px;height:22px;margin-right:2px}
.bank-play .ic{width:11px;height:11px;color:var(--brand)}
.video-modal-player .play-button .ic{width:24px;height:24px}
.seg-btn .ic{width:15px;height:15px;margin-left:5px}
.prog-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.po-card{display:flex;align-items:center;gap:11px;background:#f8f9fa;border:1px solid #e7e9ed;border-radius:14px;padding:12px 13px;min-width:0}
.po-ic{width:38px;height:38px;border-radius:11px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.po-ic .ic{width:19px;height:19px}
.po-ic--ok{background:var(--success-soft);color:#2f8a55}
.po-text{min-width:0}
.po-text>span{display:block;font-size:10.5px;color:#828d9e;margin-bottom:4px}
.po-text strong{display:block;font-size:13px;color:var(--ink);font-weight:700;line-height:1.5}
.po-text .status-pill{font-size:11px}
.device-frame.mobile .prog-overview{grid-template-columns:repeat(2,1fr)}
.sett-nav-icon .ic,.sett-block-icon .ic{width:16px;height:16px}
.primary-btn .ic,.secondary-btn .ic{width:15px;height:15px;margin-left:5px}
.review-ic .ic{width:13px;height:13px}
.next-action-icon .ic{width:22px;height:22px}
.home-card-icon .ic{width:20px;height:20px}
.history-icon .ic{width:17px;height:17px}
.pdf-sec-icon .ic{width:15px;height:15px}

/* ── Program builder: stepper + steps ── */
.builder-steps{display:flex;align-items:center;gap:4px;margin-bottom:14px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.builder-steps::-webkit-scrollbar{display:none}
.bstep{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0;min-width:64px}
.bstep-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ebedef;color:#9ba4b2;border:2px solid #e3e6ea;font-size:13px;font-weight:700;line-height:1}
.bstep-label{font-size:10px;color:#8d98a8;text-align:center;white-space:nowrap}
.bstep.is-active .bstep-dot{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 4px 12px color-mix(in srgb,var(--brand) 35%,transparent)}
.bstep.is-active .bstep-label{color:var(--brand);font-weight:700}
.bstep.is-done .bstep-dot{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,transparent)}
.bstep.is-done .bstep-label{color:var(--ink)}
.bstep-line{flex:1;min-width:14px;height:2px;background:#e3e6ea;border-radius:2px}
.bstep-line.is-done{background:color-mix(in srgb,var(--success) 45%,#e3e6ea)}
.bi-step{display:inline-block;font-size:10px;font-weight:700;color:var(--brand);background:var(--brand-soft);padding:2px 8px;border-radius:6px;margin-bottom:4px}
.builder-info{background:#fff;border:1px solid #e2e5e9;border-radius:14px;margin-bottom:12px;overflow:hidden}
.builder-info-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;cursor:pointer;list-style:none;background:#f8f9fa}
.builder-info-head::-webkit-details-marker{display:none}
.bi-titles strong{display:block;font-size:13px}
.builder-info[open] .builder-info-head .ba-chevron{transform:rotate(180deg)}
.builder-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 15px}
.builder-section-label{display:flex;align-items:center;gap:8px;margin:4px 0 9px}
.builder-section-label strong{font-size:12px}
.builder-review{background:#fff;border:1px solid var(--brand);border-radius:14px;padding:15px;margin-top:14px}
.builder-review .bi-titles{margin-bottom:11px}
.builder-review .bi-titles strong{font-size:13px}
.review-checklist{display:grid;gap:7px;margin-bottom:13px}
.review-item{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--ink)}
.review-ic{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:11px}
.review-item.is-ok .review-ic{background:var(--success-soft);color:var(--success)}
.review-item.is-todo{color:#828d9e}
.review-item.is-todo .review-ic{background:#f0f1f3;color:#b0b7c2;border:1px solid #dee1e6}
.builder-review-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.builder-review-actions .primary-btn{flex:1}

.seg-control{display:flex;gap:4px;padding:4px;background:#e7e9ed;border:1px solid #d6dadf;border-radius:13px;margin-bottom:12px}
.seg-btn{flex:1;min-height:40px;border:0;background:transparent;color:#616c7d;border-radius:9px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.seg-btn.active{background:#fff;color:var(--brand);box-shadow:0 3px 10px rgba(28,35,51,.08)}
.program-pane,.builder-pane{display:none}
/* ── ساخت فرم ارزیابی (مربی) ── */
.assess-sec-list{display:grid;gap:8px}
.assess-sec-row{display:flex;align-items:center;gap:11px;padding:11px 13px;background:#f8f9fa;border:1px solid #e8eaee;border-radius:12px;transition:opacity .15s}
.assess-sec-row.is-off{opacity:.5}
.assess-sec-info{flex:1;min-width:0}
.assess-sec-info strong{display:block;font-size:12.5px;color:var(--ink)}
.assess-sec-info span{display:block;font-size:11px;color:#828d9e;margin-top:2px}
.req-pill{flex-shrink:0;border:1px solid #d8dce1;background:#fff;color:#697588;border-radius:20px;padding:4px 11px;font-size:10.5px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap}
.req-pill.is-req{border-color:color-mix(in srgb,var(--brand) 30%,transparent);background:var(--brand-soft);color:var(--brand)}
.seg-pane{display:none}
.seg-pane.is-active{display:block}
.assess-send-hint{margin:0 0 12px;background:var(--brand-soft);border-radius:9px;padding:8px 11px;color:#6d7a8d;line-height:1.75}
.input-search-select{justify-content:space-between}
.assess-pick-list{display:grid;gap:7px;margin-top:10px}
.assess-pick{display:flex;align-items:center;gap:10px;padding:9px 11px;background:#fff;border:1px solid #e2e5e9;border-radius:11px;cursor:pointer;font-family:inherit;text-align:right;width:100%}
.assess-pick:hover{border-color:#c9ced5}
.assess-pick.is-picked{border-color:var(--brand);background:var(--brand-soft)}
.assess-pick>div{flex:1;min-width:0}
.assess-pick>div strong{display:block;font-size:12px;color:var(--ink)}
.assess-pick>div span{display:block;font-size:11px;color:#828d9e}
.assess-pick-check{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center}
.assess-pick-check .ic{width:14px;height:14px}
.program-pane.is-active,.builder-pane.is-active{display:block}

/* ── Builder: student assessment summary header ── */
.builder-assess{background:#fff;border:1px solid var(--brand);border-radius:14px;padding:0;margin-bottom:12px;overflow:hidden}
.builder-assess-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;cursor:pointer;list-style:none;background:var(--brand-soft)}
.builder-assess-head::-webkit-details-marker{display:none}
.ba-kicker{display:block;font-size:10px;font-weight:700;color:var(--brand)}
.ba-title strong{display:block;font-size:13px;margin-top:2px;color:var(--ink)}
.ba-chevron{font-size:15px;color:var(--brand);transition:transform .2s}
details[open].builder-assess .ba-chevron{transform:rotate(180deg)}
.builder-assess-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px 15px 8px}
.builder-assess-grid span{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#828d9e}
.builder-assess-grid strong{font-size:12px;color:var(--ink)}
.builder-assess-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 15px 14px;flex-wrap:wrap}
.builder-assess-foot span{font-size:11px;color:#7c889a}
.library-add{margin-right:auto;width:28px;height:28px;border:1px solid #d8dce1;background:#fff;border-radius:8px;color:var(--brand);font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;flex-shrink:0}

/* ── Coach student-profile history ── */
.history-list{display:grid;gap:8px}
.history-item{display:flex;align-items:center;gap:11px;padding:11px 13px;background:#f8f9fa;border:1px solid #e8eaee;border-radius:12px}
.history-icon{width:36px;height:36px;border-radius:11px;background:var(--success-soft);color:var(--success);display:grid;place-items:center;font-size:16px;flex-shrink:0}
.history-icon--brand{background:var(--brand-soft);color:var(--brand)}
.history-item-body{flex:1;min-width:0}
.history-item-body strong{display:block;font-size:12px}
.history-item-body span{display:block;font-size:11px;color:#828d9e;margin-top:2px}
/* ── Account detail (جزئیات کاربر/مربی/مدیر) ── */
.profile-status{margin-top:8px}
.account-info{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.account-info-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;padding:8px 4px;border-bottom:1px solid #eaecef}
.account-info-row>span{color:#7c889a;font-size:11px;flex-shrink:0}
.account-info-row>strong{color:var(--ink);font-size:12.5px;font-weight:700;text-align:left;min-width:0;word-break:break-word}
.account-info-row .ltr-digits{direction:ltr;unicode-bidi:embed}
.account-info-row:nth-last-child(-n+2){border-bottom:0}
.device-frame.mobile .account-info{grid-template-columns:1fr}
.device-frame.mobile .account-info-row:nth-last-child(-n+2){border-bottom:1px solid #eaecef}
.device-frame.mobile .account-info-row:last-child{border-bottom:0}
.account-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.account-actions .account-back{margin-inline-start:auto;display:inline-flex;align-items:center;gap:6px}
.account-actions .account-back .ic{width:15px;height:15px}
.device-frame.mobile .account-actions{flex-direction:column;align-items:stretch}
.device-frame.mobile .account-actions button{width:100%}
.device-frame.mobile .account-actions .account-back{margin-inline-start:0;justify-content:center}

/* ── Bank (exercise / food) ── */
.bank-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bank-card{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:13px;flex-wrap:wrap}
.bank-card.is-custom{border-color:color-mix(in srgb,var(--brand) 40%,#e2e5e9);background:#fdfdfd}
.bank-thumb{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--ink),var(--brand));color:#fff;display:grid;place-items:center;font-size:18px;flex-shrink:0;border:0;cursor:default;font-family:inherit}
.bank-thumb--video{cursor:pointer;position:relative;overflow:hidden}
.bank-thumb--video .bank-play{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--brand);display:grid;place-items:center;font-size:10px;padding-right:1px}
.bank-thumb--video:hover{filter:brightness(1.08)}
.bank-vid-tag{display:inline-block;margin-top:4px;font-size:10px;font-weight:700;color:var(--brand);background:var(--brand-soft);padding:1px 7px;border-radius:5px}
.bank-card-body{flex:1;min-width:0}
.bank-card-body strong{display:block;font-size:13px}
.bank-card-body span{display:block;font-size:11px;color:#828d9e;margin-top:2px}
.bank-badge{font-size:10px;font-weight:700;padding:2px 9px;border-radius:6px;background:#e8eaee;color:#6a7689}
.bank-badge--custom{background:var(--brand-soft);color:var(--brand)}
.bank-badge--ok{background:var(--success-soft);color:#1a8f44}
.bank-badge--warn{background:var(--warning-soft);color:#b3741a}
.bank-card-actions{width:100%;margin-top:4px;display:flex;gap:8px}
.bank-card-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d8dce1;background:#f8f9fa;color:var(--ink);border-radius:9px;min-height:36px;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer}
.bank-card-btn .ic{width:14px;height:14px}
.bank-edit:hover{border-color:color-mix(in srgb,var(--brand) 45%,#d8dce1);color:var(--brand)}
.bank-del{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,#d8dce1);background:var(--danger-soft)}
.bank-card-locked{width:100%;margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;font-size:11px;font-weight:700;color:#8b95a5;background:#f1f2f4;border:1px solid #e3e6ea;border-radius:9px}
.bank-card-locked .ic{width:13px;height:13px}
.bank-add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;background:#fff;border:1.5px dashed var(--brand);border-radius:14px;padding:14px;cursor:pointer;font-family:inherit;color:var(--ink)}
.bank-add-card:hover{background:var(--brand-soft)}
.bank-add-icon{width:38px;height:38px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:700}
.bank-add-icon .ic{width:19px;height:19px}
.bank-add-card strong{font-size:13px}
.bank-add-card span{font-size:11px;color:#828d9e;line-height:1.5}
/* فرم ثبت در بانک (آکاردئونی) */
.bank-add-panel{background:#fff;border:1.5px dashed var(--brand);border-radius:14px;margin-bottom:12px;overflow:hidden}
.bank-add-panel[open]{border-style:solid;overflow:visible}
.bank-add-summary{display:flex;align-items:center;gap:11px;padding:13px 15px;cursor:pointer;list-style:none}
.bank-add-summary::-webkit-details-marker{display:none}
.bank-add-summary .bank-add-icon{width:34px;height:34px;border-radius:11px;font-size:19px;display:grid;place-items:center;color:#fff;margin:0}
.bank-add-summary .bank-add-icon .ic{width:19px;height:19px;color:#fff}
.bank-add-summary>div{flex:1;min-width:0}
.bank-add-summary strong{display:block;font-size:13px}
.bank-add-summary span{display:block;font-size:11px;color:#828d9e;margin-top:2px}
.bank-add-chev{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;color:#8d98a8;transition:transform .2s}
.bank-add-chev .ic{width:17px;height:17px}
.bank-add-panel[open] .bank-add-chev{transform:rotate(180deg);color:var(--brand)}
.bank-add-body{padding:0 15px 15px;display:grid;gap:13px;border-top:1px solid #eff0f2;margin-top:2px;padding-top:14px}
.bank-vid-section{display:grid;gap:8px}
.bank-vid-label{font-size:11px;color:#707d91;font-weight:700}
.bank-vid-pane{display:none}
.bank-vid-pane.is-active{display:block}
.bank-add-actions{display:flex;gap:8px;flex-wrap:wrap}
.bank-add-actions .primary-btn{flex:1}
/* مودال ویدیوی آموزش حرکت */
.video-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .2s}
.video-modal.is-open{pointer-events:all;opacity:1}
.video-modal-backdrop{position:fixed;inset:0;background:rgba(19,21,25,.6);backdrop-filter:blur(2px)}
.video-modal-card{position:relative;background:#fff;border-radius:18px;overflow:hidden;width:560px;max-width:92vw;z-index:1;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.video-modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e2e5e9}
.video-modal-head strong{font-size:13px}
.video-modal-close{background:none;border:0;font-size:22px;cursor:pointer;color:#828d9e;line-height:1;padding:0 4px}
.vp-player{position:relative}
.vp-stage{position:relative;aspect-ratio:16/9;background:radial-gradient(120% 120% at 50% 30%,#252a31,#0c0e10);display:grid;place-items:center;overflow:hidden;cursor:pointer}
.vp-anim{position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.07) 50%,transparent 58%);background-size:240% 100%;animation:vpSweep 3s linear infinite;animation-play-state:paused}
@keyframes vpSweep{from{background-position:140% 0}to{background-position:-140% 0}}
.vp-bigplay{position:relative;z-index:2;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:rgba(255,107,53,.95);color:#fff;border:0;cursor:pointer;box-shadow:0 0 0 12px rgba(255,255,255,.08);transition:transform .15s,opacity .2s}
.vp-bigplay:hover{transform:scale(1.07)}
.vp-bigplay .ic{width:26px;height:26px}
.video-modal.vp-playing .vp-bigplay{opacity:0;pointer-events:none}
.vp-slowflag{position:absolute;top:11px;right:11px;z-index:2;background:var(--brand);color:#fff;font-size:10px;font-weight:700;padding:3px 9px;border-radius:7px;direction:ltr}
.vp-controls{background:#1c2333;padding:10px 12px 12px}
.vp-track{direction:ltr;height:6px;border-radius:6px;background:rgba(255,255,255,.2);cursor:pointer;margin-bottom:8px;transition:height .12s}
.vp-track:hover{height:9px}
.vp-progress{position:relative;height:100%;width:0;background:var(--brand);border-radius:6px}
.vp-thumb{position:absolute;left:100%;top:50%;transform:translate(-50%,-50%);width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.5)}
.vp-row{display:flex;align-items:center;gap:5px}
.vp-btn{min-width:40px;height:40px;border:0;background:transparent;color:#fff;border-radius:9px;display:grid;place-items:center;cursor:pointer;font-family:inherit;padding:0;flex-shrink:0}
.vp-btn:hover{background:rgba(255,255,255,.14)}
.vp-btn .ic{width:20px;height:20px}
.vp-time{font-size:11px;color:#c9cfdd;direction:ltr;white-space:nowrap;margin-inline-start:4px}
.vp-spacer{flex:1}
.vp-speed{position:relative}
.vp-speed-btn{width:auto;padding:0 12px;font-weight:700;font-size:12.5px}
.vp-speed-val{direction:ltr;display:inline-block}
.vp-speed-menu{position:absolute;bottom:calc(100% + 10px);inset-inline-end:0;background:#fff;color:var(--ink);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.32);padding:6px;min-width:148px;display:none;z-index:6}
.video-modal.vp-speed-open .vp-speed-menu{display:block}
.vp-speed-menu-title{display:block;font-size:10px;color:#828d9e;font-weight:700;padding:5px 9px 7px}
.vp-speed-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;background:none;font-family:inherit;font-size:13px;font-weight:700;color:#373e48;padding:9px 10px;border-radius:8px;cursor:pointer}
.vp-speed-opt>span:first-child{direction:ltr}
.vp-speed-opt:hover{background:#f0f1f3}
.vp-speed-opt.is-sel{background:var(--brand-soft);color:var(--brand)}
.vp-speed-tag{font-size:10px;color:#828d9e;font-weight:600}
.vp-speed-opt.is-sel .vp-speed-tag{color:var(--brand)}
.vp-player:fullscreen{background:#000;display:flex;flex-direction:column;width:100vw;height:100vh}
.vp-player:fullscreen .vp-stage{flex:1;aspect-ratio:auto}
@media (max-width:600px){.vp-btn{min-width:44px;height:44px}.vp-bigplay{width:74px;height:74px}.vp-track{height:8px}.vp-controls{padding:12px 12px 16px}.vp-speed-opt{padding:11px 10px}.video-modal-card{width:96vw}}
.video-modal-badge{position:absolute;top:11px;left:11px;font-size:10px;font-weight:700;color:#fff;background:rgba(28,35,51,.7);padding:3px 9px;border-radius:7px}
.video-modal-foot{padding:14px 18px}
.video-modal-foot strong{display:block;font-size:13px;margin-bottom:5px}
.video-modal-foot p{margin:0;font-size:11px;color:#616c7d;line-height:1.7}

/* ── Coach select modal (ارسال و انتخاب مربی) ── */
.coach-select-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .2s}
.coach-select-modal.is-open{pointer-events:all;opacity:1}
.coach-select-backdrop{position:fixed;inset:0;background:rgba(19,21,25,.6);backdrop-filter:blur(2px)}
.coach-select-card{position:relative;background:#fff;border-radius:18px;width:440px;max-width:92vw;z-index:1;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden}
.coach-select-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e2e5e9}
.coach-select-head strong{font-size:13px}
.coach-select-close{background:none;border:0;font-size:22px;cursor:pointer;color:#828d9e;line-height:1;padding:0 4px}
.coach-select-body{padding:16px 18px}
.coach-select-intro{margin:0 0 12px;font-size:12px;color:#616c7d;line-height:1.8}
.coach-select-search{gap:8px;margin-bottom:12px}
.coach-select-search-icon{display:grid;place-items:center;color:#8893a4;flex-shrink:0}
.coach-select-search-icon .ic{width:16px;height:16px}
.coach-select-search-input{flex:1;min-width:0;border:0;background:none;outline:none;font-family:inherit;font-size:12px;color:var(--ink)}
.coach-select-search-input::placeholder{color:#8893a4}
.coach-select-list{margin-top:0;max-height:288px;overflow-y:auto;padding-inline-start:2px}
.coach-select-list .assess-pick[hidden]{display:none}
.coach-select-empty{margin:16px 0 4px;text-align:center;font-size:12px;color:#828d9e}
.coach-select-foot{display:flex;gap:10px;padding:14px 18px;border-top:1px solid #e2e5e9}
.coach-select-foot .secondary-btn,.coach-select-foot .primary-btn{flex:1}
.coach-select-success{padding:28px 22px;text-align:center}
.coach-select-success-icon{width:54px;height:54px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;margin:0 auto 14px}
.coach-select-success-icon .ic{width:26px;height:26px}
.coach-select-success strong{display:block;font-size:15px;margin-bottom:8px}
.coach-select-success p{margin:0 0 18px;font-size:12px;color:#616c7d;line-height:1.9}
.coach-select-success .coach-select-done-name{color:var(--brand);font-weight:700}
.coach-select-success .primary-btn{width:100%}

/* ── Public assessment form (no login) ── */
.mock-product.is-public .mock-topbar{display:none}
.public-form{display:flex;flex-direction:column;height:100%;background:var(--paper);margin:-22px;border-radius:0}
.public-form-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;background:#fff;border-bottom:1px solid #e4e6ea;flex-shrink:0}
.public-form-coach{font-size:11px;background:var(--brand-soft);color:var(--brand);padding:4px 10px;border-radius:8px;font-weight:700}
.public-form-scroll{flex:1;overflow:auto;padding:20px}
.public-form-card{max-width:560px;margin:0 auto;background:#fff;border:1px solid #e2e5e9;border-radius:16px;padding:22px}
.public-form-card h3{font-size:18px;margin:6px 0 8px}
.public-form-intro{font-size:12px;color:#616c7d;line-height:1.8;margin:0 0 16px}
.public-progress{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:10px 13px;background:#f8f9fa;border:1px solid #e8eaee;border-radius:11px}
.public-progress-label{font-size:11px;color:#7c889a;white-space:nowrap}
.public-form-submit{width:100%;margin-top:6px}
.public-form-foot{text-align:center;margin-top:10px}
/* Phone-verification gate before the form */
.public-gate{display:grid;place-items:center;min-height:100%;padding:10px 0}
.public-gate[hidden]{display:none}
.public-gate-card{width:100%;max-width:400px;background:#fff;border:1px solid #e2e5e9;border-radius:18px;padding:26px 24px;text-align:center;box-shadow:var(--shadow-soft)}
.public-gate-icon{width:54px;height:54px;margin:0 auto 14px;border-radius:16px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:24px}
.public-gate-card h3{font-size:18px;margin:0 0 8px}
.public-gate-intro{font-size:12px;color:#616c7d;line-height:1.9;margin:0 0 18px}
.public-gate-card .field{text-align:right}
.public-gate-card .otp-boxes{margin:9px 0 6px}
.public-gate-btn{width:100%;margin-top:8px}
.public-gate-foot{text-align:center;margin-top:12px}
/* Revealed form (after verification) */
.public-form-reveal{max-width:760px;margin:0 auto}
.public-form-welcome{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.public-form-welcome h3{font-size:18px;margin:4px 0 0}
.public-verified{font-size:11px;font-weight:700;color:var(--success);background:var(--success-soft);padding:5px 11px;border-radius:8px;white-space:nowrap}

/* ── «کار بعدی» banner — one-tap primary daily action ── */
.next-action{display:flex;align-items:center;gap:13px;width:100%;text-align:right;border:0;border-radius:15px;padding:14px 16px;margin-bottom:13px;background:linear-gradient(120deg,var(--brand) 0%,#ff8a5c 100%);color:#fff;cursor:pointer;box-shadow:0 8px 22px color-mix(in srgb,var(--brand) 30%,transparent);font-family:inherit;transition:transform .12s,box-shadow .12s}
.next-action:hover{transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb,var(--brand) 38%,transparent)}
.next-action:active{transform:translateY(0)}
.next-action-icon{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:20px;flex-shrink:0}
.next-action-body{flex:1;min-width:0}
.next-action-kicker{display:block;font-size:10px;font-weight:700;color:rgba(255,255,255,.85);letter-spacing:.02em}
.next-action-body>strong{display:block;font-size:15px;font-weight:700;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.next-action-sub{display:block;font-size:11px;color:rgba(255,255,255,.82)}
.next-action-cta{flex-shrink:0;font-size:12px;font-weight:700;background:rgba(255,255,255,.2);padding:8px 13px;border-radius:10px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}

/* ── Tappable priority task rows ── */
.task-row.is-tappable{cursor:pointer;transition:background .12s,border-color .12s}
.task-row.is-tappable:hover{background:#edeff2;border-color:#dcdfe4}
.task-row.is-current.is-tappable:hover{background:color-mix(in srgb,var(--brand-soft) 75%,#fff)}
.task-go{flex-shrink:0;display:inline-flex;align-items:center;color:var(--brand);line-height:1;margin-right:2px}
.task-go .ic{width:16px;height:16px}
/* چِورون‌های جهت‌دارِ RTL (جایگزین کاراکترهای ‹ ›) */
.back-chip .ic{width:18px;height:18px}
.bc-sep .ic{width:13px;height:13px;color:#bec4cd}
.home-card-go .ic{width:14px;height:14px}
.next-action-cta .ic{width:14px;height:14px}
.link-btn .ic{width:13px;height:13px}

/* ── Day progress strip (workout / nutrition daily loop) ── */
.day-progress{background:#fff;border:1px solid #e2e5e9;border-radius:13px;padding:12px 14px;margin-bottom:11px}
.day-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.day-progress-head strong{font-size:12px}
.dp-count{font-size:11px;color:var(--brand);font-weight:700}
.dp-bar{height:7px;background:#e8eaed;border-radius:6px;overflow:hidden}
.dp-bar i{display:block;height:100%;width:0;background:var(--brand);border-radius:6px;transition:width .25s ease}
.day-progress.is-complete .dp-bar i{background:var(--success)}
.day-progress.is-complete .dp-count{color:var(--success)}

/* ── «امروز» badge on day tab ── */
.day-today-badge{font-size:8.5px;font-weight:700;line-height:1;background:#fff;color:var(--brand);padding:3px 6px;border-radius:20px;flex-shrink:0}

/* ── Tap-to-complete checks (exercise + meal) ── */
.tap-check{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:2px solid #d5d9df;background:#fff;display:grid;place-items:center;cursor:pointer;font-family:inherit;padding:0;transition:.12s}
.tap-check:hover{border-color:var(--brand)}
.tap-check.is-done{background:var(--success);border-color:var(--success)}
.ex-check .ex-check-num{font-size:12px;font-weight:700;color:var(--brand)}
.tap-check.is-done .ex-check-num{display:none}
.tap-check.is-done::after{content:"✓";color:#fff;font-size:14px;font-weight:700}
.exercise-card.is-checked-done{opacity:.62}
.exercise-card.is-checked-done .exercise-info strong{text-decoration:line-through;color:#828d9e}
.meal-accordion.is-checked-done{opacity:.7}
.meal-accordion.is-checked-done .meal-summary-main strong{text-decoration:line-through;color:#828d9e}
.meal-check{margin-left:2px}

/* ── Meal summary with food preview ── */
.meal-summary-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.meal-summary-main strong{font-size:13px}
.meal-food-inline{font-size:11px;color:#828d9e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.meal-time{font-size:11px;color:#7c889a;flex-shrink:0}

/* ── Program meta as reference (less prominent, after content) ── */

/* ── Screen head actions — flex-wrap on overflow ── */
.screen-head-actions{display:flex;gap:8px;flex-shrink:0;align-items:center;flex-wrap:wrap}

/* ── Bar chart improvements ── */
.bar-col{flex:1;max-width:42px;background:linear-gradient(180deg,var(--brand),color-mix(in srgb,var(--brand) 55%,#1C2333 45%));border-radius:7px 7px 2px 2px;position:relative;min-height:12px;transition:filter .15s}
.bar-col:hover{filter:brightness(1.1)}
.bar-col.is-today{background:linear-gradient(180deg,#ff8c5a,var(--brand));box-shadow:0 0 0 3px var(--brand-soft)}
.bar-col::after{content:attr(data-label);position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-size:7px;color:#808c9e}
.bar-col.is-today::after{color:var(--brand);font-weight:700}

/* ── Chart axis labels (HTML, outside the stretched SVG) ── */
.chart-frame{display:flex;gap:8px;align-items:stretch}
.chart-frame .line-chart{flex:1;min-width:0}
.chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:#9ba4b2;flex-shrink:0;width:32px;text-align:left;padding-bottom:2px;direction:ltr}
.chart-y-axis span{line-height:1}
.chart-months{display:flex;justify-content:space-between;font-size:9px;color:#909aaa;margin:7px 0 0;padding-right:40px;direction:ltr}

/* ── Chart legend + avg ── */
.chart-legend{display:flex;align-items:center;gap:14px;margin-top:10px;padding-top:8px;border-top:1px solid #eff0f2}
.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:#6e7c90}
.legend-item::before{content:"";width:18px;height:3px;border-radius:3px;flex-shrink:0}
.legend-brand::before{background:var(--brand)}
.legend-muted::before{background:#ced2d9;border-top:1px dashed #aaa}
.chart-avg{font-size:11px;color:#828d9e;margin-right:auto}

/* ── Task done state ── */
.task-row.is-done{opacity:.75}
.task-check.is-done{background:var(--success-soft);border-color:var(--success);color:var(--success)}
.task-done-text{text-decoration:line-through;color:#828d9e}

/* ── td-meta / td-date columns on table — shown on desktop, hidden on mobile ── */
.td-meta{color:#828d9e;font-size:11px}
.td-date{color:#828d9e;font-size:11px;white-space:nowrap}
.td-coach{color:#828d9e;font-size:11px;white-space:nowrap}
.data-table .td-meta-inline{display:none}
.metric-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.metric-row-head span{font-size:11px;color:#798598}
.metric-row-head strong{font-size:13px}

/* ── Library category tabs ── */
.lib-cats{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}
.lib-cat-btn{padding:5px 11px;border:1px solid #e1e4e8;background:#fff;border-radius:20px;font-size:10.5px;color:#616c7d;font-family:inherit;cursor:pointer;min-height:30px;white-space:nowrap}
.lib-cat-btn.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:700}
.lib-open-btn{display:none}
.lib-toggle-mobile{display:none}

/* ── Day type chip in builder ── */
.day-type-chip{font-size:10px;padding:2px 8px;border-radius:6px;background:#f0f4ff;color:#3b6fb8;font-weight:700;flex-shrink:0;max-width:48%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exercise-menu-btn{border:0;background:transparent;color:#99a3b1;padding:4px;min-height:24px;cursor:pointer;font-family:inherit;display:grid;place-items:center}
/* ── اندازه‌ی آیکون‌های SVG جایگزین‌شده (به‌جای گلیف‌های متنی) ── */
.select-chevron .ic{width:13px;height:13px}
.select-chevron--date .ic{width:15px;height:15px}
.copy-chip .ic{width:14px;height:14px}
.exercise-menu-btn .ic{width:16px;height:16px}
.accordion-chevron,.ba-chevron{display:inline-grid;place-items:center}
.accordion-chevron .ic{width:15px;height:15px}
.ba-chevron .ic{width:16px;height:16px}
.sett-avatar-edit .ic{width:13px;height:13px}
.sett-device-icon .ic{width:18px;height:18px;color:var(--brand)}
.asset-tile .ic{width:17px;height:17px}
.bank-thumb .ic{width:19px;height:19px}
.public-gate-icon .ic{width:26px;height:26px}
.pdf-file-icon .ic{width:18px;height:18px}
.pdf-act-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.pdf-act-btn .ic{width:15px;height:15px}
.sett-notif-ic{width:36px;height:36px;border-radius:11px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.sett-notif-ic .ic{width:17px;height:17px}
.exercise-rest{font-size:10px;color:#828d9e}

/* ── Day tab with type label ── */
.day-tab-btn{flex-shrink:0;min-width:88px;min-height:52px;padding:8px 14px;border:1px solid #e1e4e8;background:#fff;border-radius:12px;font-family:inherit;color:#616c7d;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:border-color .15s,background .15s}
.day-tab-btn:hover{border-color:#c9ced5}
.day-tab-btn.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
.day-tab-name{display:flex;align-items:center;justify-content:center;gap:5px;min-height:18px;font-size:12.5px;font-weight:700;color:var(--ink)}
.day-tab-btn.active .day-tab-name{color:var(--brand)}
.day-tab-type{font-size:9.5px;font-weight:400;color:#828d9e;white-space:nowrap}
.day-tab-btn.active .day-tab-type{color:color-mix(in srgb,var(--brand) 65%,var(--ink) 35%)}

/* ── Video meta row ── */
.video-meta-row{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.video-duration-badge{font-size:11px;font-weight:700;padding:3px 10px;background:var(--ink);color:#fff;border-radius:7px}
.video-views{font-size:11px;color:#828d9e}
.video-level{font-size:11px;padding:2px 8px;border-radius:6px;background:var(--warning-soft);color:#7a5800;font-weight:700}
.photo-period-label{font-size:11px;font-weight:700;color:#fff;background:rgba(28,35,51,.65);padding:4px 10px;border-radius:6px;backdrop-filter:blur(4px)}
.media-coach-note{margin-top:10px;padding:10px 12px;background:var(--warning-soft);border:1px solid var(--warning);border-radius:10px}
.media-coach-note strong{display:block;font-size:11px;font-weight:700;margin-bottom:3px;color:#7a5800}
.media-coach-note p{font-size:11px;color:#7a5800;margin:0;line-height:1.6}

/* ── Log row improvements ── */
.log-row{display:grid;grid-template-columns:36px 1fr auto auto auto;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid #eff0f2;font-size:11px}
.log-row[data-go-page]{cursor:pointer;transition:background .12s}
.log-row[data-go-page]:hover{background:#fafbfc}
.log-chevron{display:flex;align-items:center;color:#b9c0cf}
.log-chevron .ic{width:16px;height:16px}
.log-row>.status-pill{min-width:108px;justify-content:center;justify-self:center}
.log-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-weight:700}
.log-icon--warn{background:var(--warning-soft);color:#7a5800}
.log-row-body{min-width:0}
.log-row-body strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.log-row-meta{display:flex;align-items:center;gap:8px;margin-top:3px;flex-wrap:wrap}
.log-type-chip{font-size:9px;padding:1px 7px;border-radius:5px;background:#e8eaee;color:#616c7d;font-weight:700}
.log-actor{font-size:10px;color:#828d9e}
.log-id{font-size:10px;color:#909aaa}
.log-time{font-size:10px;color:#828d9e;white-space:nowrap;min-width:68px;text-align:start}

.design-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-radius:18px;margin-top:14px;overflow:hidden}.design-notes div{padding:14px 16px;border-left:1px solid var(--line)}.design-notes div:last-child{border-left:0}.design-notes span,.design-notes strong{display:block}.design-notes span{font-size:11px;color:var(--muted)}.design-notes strong{font-size:11px;margin-top:3px}

.catalog-section{width:min(1480px,calc(100% - 32px));margin:0 auto 70px;padding-top:22px}.catalog-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.catalog-heading h2{font-size:32px;margin:4px 0}.catalog-heading p{color:var(--muted);margin:0}.total-coverage{min-width:150px;padding:16px 20px;background:var(--ink);color:#fff;border-radius:18px;text-align:center}.total-coverage strong,.total-coverage span{display:block}.total-coverage strong{font-size:30px;color:var(--brand)}.total-coverage span{font-size:11px;color:#c8cdd5}.catalog-groups{display:grid;gap:24px}.catalog-group{border-top:3px solid var(--brand);padding-top:14px}.catalog-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.catalog-group-head h3{font-size:20px;margin:0}.catalog-group-head span{color:var(--muted);font-size:11px}.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.catalog-card{min-height:138px;border:1px solid #e1e4e8;background:#fff;border-radius:15px;padding:14px;text-align:right;transition:.2s}.catalog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:var(--brand)}.catalog-card strong{display:block;font-size:12px}.catalog-card p{font-size:11px;color:#687487;min-height:38px}.catalog-tags{display:flex;gap:5px;flex-wrap:wrap}.catalog-tags span{font-size:11px;padding:3px 7px;border-radius:6px;background:#f1f2f4;color:#616d7e}.catalog-tags span:first-child{background:var(--brand-soft);color:var(--brand)}
.footer{min-height:120px;padding:24px clamp(20px,5vw,74px);background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between}.footer strong,.footer span{display:block}.footer span,.footer p{color:#939dac;font-size:11px}

.device-frame.mobile .mock-topbar{height:62px;flex-basis:62px;padding:13px 12px 0;grid-template-columns:1fr 1fr}.device-frame.mobile .mock-context{display:none}.device-frame.mobile .mock-brand{padding-top:4px}.device-frame.mobile .mock-actions{padding-top:4px}.device-frame.mobile .mock-sidebar{display:none}.device-frame.mobile .mock-body{display:block;overflow:hidden}.device-frame.mobile .screen-canvas{height:100%;padding:15px 13px 78px}.device-frame.mobile .mobile-bottom-nav{display:grid;position:absolute;bottom:0;left:0;right:0;height:66px;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #e4e6ea;border-radius:0 0 30px 30px;padding:7px 5px}.mobile-bottom-nav button{border:0;background:transparent;color:#657184;font-size:11px;display:grid;place-items:center;gap:2px}.mobile-bottom-nav button i{width:26px;height:26px;border-radius:8px;background:#eff1f3;display:grid;place-items:center;font-style:normal}.mobile-bottom-nav button.active{color:var(--brand);font-weight:700}.mobile-bottom-nav button.active i{background:var(--brand-soft)}
.device-frame.mobile .screen-head{align-items:flex-start;margin-bottom:13px}.device-frame.mobile .screen-head h3{font-size:17px}.device-frame.mobile .screen-head p{font-size:11px}.device-frame.mobile .back-chip{width:44px;height:44px}.device-frame.mobile .primary-btn,.device-frame.mobile .secondary-btn,.device-frame.mobile .danger-btn{min-height:44px}.device-frame.mobile .screen-head .secondary-btn{display:none}.device-frame.mobile .primary-btn{padding:8px 10px}.device-frame.mobile .stats-grid{grid-template-columns:1fr 1fr}.device-frame.mobile .stat-card:nth-child(n+3){display:none}.device-frame.mobile .dashboard-grid,.device-frame.mobile .detail-grid,.device-frame.mobile .media-layout,.device-frame.mobile .report-grid,.device-frame.mobile .form-layout,.device-frame.mobile .builder-layout,.device-frame.mobile .settings-layout{grid-template-columns:1fr}.device-frame.mobile .dashboard-grid .ui-card:last-child{order:-1}.device-frame.mobile .bar-chart{height:120px}.device-frame.mobile .auth-layout{min-height:610px;display:block}.device-frame.mobile .auth-visual{padding:22px;min-height:180px}.device-frame.mobile .auth-visual h3{font-size:21px}.device-frame.mobile .auth-visual p{font-size:11px}.device-frame.mobile .auth-form{padding:25px 22px}.device-frame.mobile .toolbar{align-items:stretch;flex-direction:column}.device-frame.mobile .search-box{min-width:0}.device-frame.mobile .data-table{background:transparent;border:0;display:grid;gap:8px}.device-frame.mobile .table-row.header{display:none}.device-frame.mobile .table-row{grid-template-columns:1fr auto;background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:13px;row-gap:0;align-items:center}.device-frame.mobile .person-avatar{width:42px;height:42px;font-size:14px;border-radius:12px}.device-frame.mobile .person strong{font-size:13px}.device-frame.mobile .table-row .status-pill{align-self:center;justify-self:end}.device-frame.mobile .td-meta,.device-frame.mobile .td-date,.device-frame.mobile .td-coach{display:none}.device-frame.mobile .td-meta-inline{display:block;font-size:11px;color:#828d9e}.device-frame.mobile .table-row .row-action{grid-column:1/-1;margin-top:11px;width:100%;background:var(--brand-soft);border-color:transparent;color:var(--brand)}.device-frame.mobile .form-aside{position:static;order:-1}.device-frame.mobile .form-grid{grid-template-columns:1fr}.device-frame.mobile .profile-hero{align-items:flex-start;flex-wrap:wrap}.device-frame.mobile .profile-metrics{width:100%;justify-content:space-between}.device-frame.mobile .builder-layout{display:block}.device-frame.mobile .library{margin-bottom:10px}.device-frame.mobile .library-item:nth-child(n+5){display:none}.device-frame.mobile .exercise-row{grid-template-columns:24px 1fr .5fr 24px}.device-frame.mobile .exercise-row>*:nth-child(4),.device-frame.mobile .exercise-row>*:nth-child(5){display:none}.device-frame.mobile .photo{height:150px}.device-frame.mobile .pdf-preview{width:100%;min-height:480px;padding:17px}.device-frame.mobile .permission-row{min-width:520px}.device-frame.mobile .log-row{grid-template-columns:32px 1fr auto;row-gap:0}.device-frame.mobile .log-time,.device-frame.mobile .log-chevron{display:none}.device-frame.mobile .log-row .status-pill{grid-column:2/-1;justify-self:start;margin-top:4px}.device-frame.mobile .row-action,.device-frame.mobile .add-row{min-height:44px}.device-frame.mobile .day-tab-btn{min-width:max-content}.device-frame.mobile .chart-legend{flex-wrap:wrap;gap:8px}.device-frame.mobile .mobile-bottom-nav.has-more{grid-template-columns:repeat(5,1fr)}.device-frame.mobile .plans-grid{grid-template-columns:1fr}.device-frame.mobile .program-meta{grid-template-columns:repeat(2,1fr)}.device-frame.mobile .pdf-output-layout,.device-frame.mobile .log-detail-grid{grid-template-columns:1fr}.device-frame.mobile .pdf-toolbar{flex-direction:column;align-items:stretch}.device-frame.mobile .pdf-toolbar-actions button{flex:1}.device-frame.mobile .program-pdf-cta{flex-direction:column;align-items:stretch;text-align:center}.device-frame.mobile .program-pdf-cta .secondary-btn{width:100%}
.device-frame.mobile .more-drawer.open{display:block;position:absolute;inset:0;z-index:30}.more-drawer-backdrop{position:absolute;inset:0;background:rgba(28,35,51,.45)}.more-drawer-sheet{position:absolute;right:9px;left:9px;bottom:9px;background:#fff;border-radius:20px 20px 28px 28px;padding:14px;max-height:65%;overflow:auto;box-shadow:var(--shadow)}.more-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.more-drawer-head strong{font-size:13px}.more-drawer-head button{border:0;background:var(--muted-soft);color:var(--ink);width:36px;height:36px;border-radius:10px;font-size:15px}.more-drawer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.more-drawer-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 6px;border:1px solid var(--line);border-radius:12px;background:#f8f9fa;color:var(--ink);font-size:11px;min-height:44px;text-align:center}.more-drawer-item.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:700}

button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 45%,transparent);outline-offset:2px}
button{-webkit-tap-highlight-color:transparent}

.device-frame.mobile .body-shape-grid{gap:5px}.device-frame.mobile .body-shape-card{padding:8px 3px}.device-frame.mobile .body-shape-img{width:44px;height:74px}.device-frame.mobile .body-shape-card strong{font-size:10px}.device-frame.mobile .body-shape-card span{display:none}.device-frame.mobile .assess-method-tabs button{padding:5px 10px;font-size:10px}.device-frame.mobile .photo-angle-slot .upload-zone{height:130px}.device-frame.mobile .photo-angle-label{font-size:10px}.device-frame.mobile .prog-cards{grid-template-columns:1fr}.device-frame.mobile .prog-kpi-strip{grid-template-columns:repeat(2,1fr)}.device-frame.mobile .auth-features{display:none}.device-frame.mobile .auth-social-proof{display:none}.device-frame.mobile .dash-greeting{flex-direction:column;align-items:flex-start;gap:8px}.device-frame.mobile .dash-streak{align-self:flex-end}.device-frame.mobile .settings-nav{display:flex;overflow-x:auto;padding:6px;gap:4px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.device-frame.mobile .sett-nav-item{min-width:max-content;padding:7px 12px;scroll-snap-align:start}.device-frame.mobile .sett-nav-arr{display:none}.device-frame.mobile .sett-hero{gap:13px;align-items:flex-start}.device-frame.mobile .sett-hero-info>strong{margin-top:4px}.device-frame.mobile .sett-avatar-circle{width:54px;height:54px;font-size:19px}.device-frame.mobile .sett-hero-stats{gap:10px}.device-frame.mobile .mock-product.is-auth .mobile-bottom-nav{display:none}.device-frame.mobile .home-cards{grid-template-columns:1fr}.device-frame.mobile .bank-grid{grid-template-columns:1fr}.device-frame.mobile .builder-info-grid{grid-template-columns:1fr}.device-frame.mobile .pdf-main{padding:0}.device-frame.mobile .pdf-canvas{padding:14px 12px}.device-frame.mobile .pdf-side{order:-1}.device-frame.mobile .builder-assess-grid{grid-template-columns:1fr 1fr}.device-frame.mobile .builder-panes .builder-layout{display:block}.device-frame.mobile .builder-panes .library{margin-bottom:10px}.device-frame.mobile .builder-panes .library-item:nth-child(n+5){display:none}.device-frame.mobile .public-form{margin:-15px -13px}.device-frame.mobile .public-form-scroll{padding:14px}.device-frame.mobile .public-form-card{padding:16px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(max-width:1100px){.workspace{grid-template-columns:250px minmax(0,1fr)}.product-bar{align-items:flex-start}.product-controls{flex:1}.device-frame.desktop{min-width:900px}.device-stage{place-items:start center}.catalog-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.product-bar{position:relative;display:block}.brand{margin-bottom:12px}.product-controls{justify-content:flex-start}.role-switch{width:100%;overflow:auto}.role-switch button{flex:1}.catalog-jump{display:none}.workspace{display:block;width:min(100% - 20px,560px);margin-top:14px}.page-panel{position:relative;top:auto;max-height:none;margin-bottom:16px;padding:16px}.role-title-row{margin-bottom:10px}.page-search,.page-nav{display:none}.mobile-page-select{display:block;margin-top:12px}.preview-heading{align-items:flex-start;flex-direction:column}.preview-tools{width:100%;justify-items:stretch}.screen-meta{display:none}.page-stepper{justify-content:space-between}.device-stage{padding:12px;min-height:auto}.device-frame.mobile{width:min(390px,100%);height:760px}.device-frame.desktop{transform-origin:top center}.design-notes{grid-template-columns:1fr}.design-notes div{border-left:0;border-bottom:1px solid var(--line)}.catalog-heading{align-items:flex-start}.catalog-grid{grid-template-columns:1fr 1fr}.footer{display:block}.footer p{margin-top:14px}}
@media(max-width:480px){.device-switch{width:100%}.device-switch button{flex:1}.preview-heading h2{font-size:23px}.catalog-grid{grid-template-columns:1fr}.catalog-heading{display:block}.total-coverage{margin-top:14px}.device-stage{margin-inline:-5px}.catalog-section{width:calc(100% - 20px)}}

/* ── Mobile ease-of-use: تارگت‌های لمسی بزرگ‌تر و خوانایی بهتر ── */
.device-frame.mobile .filter-box button{min-height:44px;padding:9px 14px;font-size:12px}
.device-frame.mobile .seg-btn{min-height:44px}
.device-frame.mobile .choice{min-height:44px;padding:11px 14px;font-size:12px}
.device-frame.mobile .input-select{height:48px}
.device-frame.mobile .combo-opt{min-height:46px}
.device-frame.mobile .settings-menu button,.device-frame.mobile .sett-nav-item{min-height:46px}
.device-frame.mobile .library-add{width:40px;height:40px;font-size:20px}
.device-frame.mobile .lib-cat-btn{min-height:40px}
.device-frame.mobile .copy-chip{width:42px;height:42px}
.device-frame.mobile .link-btn{min-height:40px;display:inline-flex;align-items:center;gap:4px}
.device-frame.mobile .b-mode-btn,.device-frame.mobile .b-set-add,.device-frame.mobile .add-row,.device-frame.mobile .bank-card-btn,.bank-card-locked{min-height:44px}
.device-frame.mobile .assess-pick{min-height:54px}
.device-frame.mobile .card-head button{min-height:34px;padding:0 8px;border-radius:8px}
.device-frame.mobile .sett-avatar-edit{width:30px;height:30px;bottom:-4px;left:-4px}
.device-frame.mobile .site-footer-link{padding:7px 0}
.device-frame.mobile .exercise-menu-btn,.device-frame.mobile .b-set-del{min-width:36px;min-height:36px}
.device-frame.mobile .b-weight-toggle,.device-frame.mobile .b-note-toggle{min-height:34px}
.device-frame.mobile .req-pill{min-height:34px}
.device-frame.mobile .field>span{font-size:12px;margin-bottom:6px}
.device-frame.mobile .field-hint{font-size:12px;line-height:1.7}
.device-frame.mobile .history-item-body strong{font-size:13px}
.device-frame.mobile .history-item-body span{font-size:12px}
.device-frame.mobile .account-info-row{min-height:52px}
.device-frame.mobile .account-info-row>span,.device-frame.mobile .account-info-row>strong{font-size:12.5px}
.device-frame.mobile .summary-line{font-size:12px}
/* بازخورد لمسی هنگام فشار */
.primary-btn:active,.secondary-btn:active,.danger-btn:active,.row-action:active,.vp-btn:active,.choice:active,.filter-box button:active,.day-tab-btn:active,.bank-card-btn:active,.seg-btn:active{transform:scale(.97)}

/* ── صفحات عمومی وب‌سایت (لندینگ، درباره، حریم خصوصی، تماس، ویدئوها) ── */
.screen-canvas.is-site{padding:0}
.screen-canvas.is-site .screen-inner{max-width:none;margin:0}
.site-page{background:#fff;color:var(--ink);direction:rtl}
.site-wrap{max-width:1080px;margin:0 auto;padding-inline:24px}
.site-eyebrow{display:inline-block;font-size:11px;font-weight:700;color:var(--brand);background:var(--brand-soft);padding:5px 11px;border-radius:999px;margin-bottom:12px}
.site-nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid #e4e6ea}
.site-nav-inner{display:flex;align-items:center;gap:18px;height:64px}
.site-brand{display:flex;align-items:center;gap:9px;border:0;background:none;cursor:pointer;font-family:inherit}
.site-brand-mark{width:34px;height:34px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:17px}
.site-brand-name{font-weight:800;font-size:16px;color:var(--ink)}
.site-nav-links{display:flex;gap:4px;margin-inline-end:auto}
.site-nav-link{border:0;background:none;font-family:inherit;font-size:13px;font-weight:600;color:#566070;padding:9px 13px;border-radius:9px;cursor:pointer}
.site-nav-link:hover{background:#f1f2f4;color:var(--ink)}
.site-nav-link.active{color:var(--brand);background:var(--brand-soft)}
.site-login{display:inline-flex;align-items:center;gap:6px;border:0;background:var(--brand);color:#fff;font-family:inherit;font-weight:700;font-size:12.5px;padding:10px 16px;border-radius:10px;cursor:pointer;white-space:nowrap}
.site-login .ic{width:16px;height:16px}
.site-nav-toggle{display:none;width:42px;height:42px;border:1px solid #dde0e5;background:#fff;border-radius:10px;color:var(--ink);cursor:pointer;place-items:center;flex-shrink:0}
.site-nav-toggle .ic{width:21px;height:21px}
.site-btn-primary,.site-btn-ghost,.site-btn-light{display:inline-flex;align-items:center;gap:7px;border:0;font-family:inherit;font-weight:700;font-size:13px;padding:12px 20px;border-radius:12px;cursor:pointer}
.site-btn-primary{background:var(--brand);color:#fff}
.site-btn-ghost{background:#fff;color:var(--ink);border:1px solid #d8dce1}
.site-btn-light{background:#fff;color:var(--brand)}
.site-btn-primary .ic,.site-btn-ghost .ic,.site-btn-light .ic{width:17px;height:17px}
.site-hero{background:radial-gradient(120% 120% at 85% 0%,#f4f5f7,#f8f9fa);border-bottom:1px solid #e7e9ec}
.site-hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;padding-block:56px}
.site-hero-text h1{font-size:40px;line-height:1.45;margin:0 0 14px;color:var(--ink)}
.site-hero-text p{font-size:14px;line-height:2;color:#566070;margin:0 0 22px;max-width:520px}
.site-hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px}
.site-hero-stats{display:flex;gap:28px;flex-wrap:wrap}
.site-hero-stats div{display:flex;flex-direction:column;align-items:center;text-align:center}
.site-hero-stats strong{font-size:24px;color:var(--ink)}
.site-hero-stats span{font-size:11px;color:#7c889a}
.site-hero-visual{display:grid;place-items:center}
.site-hero-card{background:var(--ink);color:#fff;border-radius:20px;padding:22px;width:100%;max-width:330px;box-shadow:0 24px 60px rgba(28,35,51,.22)}
.shc-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--brand);background:rgba(255,107,53,.16);padding:5px 11px;border-radius:999px;margin-bottom:14px}
.shc-badge .ic{width:14px;height:14px}
.site-hero-card>strong{display:block;font-size:18px}
.shc-sub{display:block;font-size:12px;color:#b9c0cf;margin:4px 0 14px}
.shc-bar{height:7px;border-radius:7px;background:rgba(255,255,255,.16);margin-bottom:8px;overflow:hidden}
.shc-bar i{display:block;height:100%;background:var(--brand);border-radius:7px}
.shc-row{display:flex;align-items:center;gap:9px;font-size:12.5px;color:#dfe3ec;padding:9px 0;border-top:1px solid rgba(255,255,255,.08)}
.shc-row .ic{width:17px;height:17px;color:var(--brand)}
.shc-row--play{cursor:pointer;color:#fff;font-weight:700}
.shc-row--play .ic{background:var(--brand);color:#fff;width:28px;height:28px;border-radius:50%;padding:6px}
.site-section{padding-block:54px}
.site-section--alt{background:#f8f9fa}
.site-section-head{text-align:center;max-width:560px;margin:0 auto 30px}
.site-section-head h2{font-size:26px;margin:0;color:var(--ink)}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.feature-card{background:#fff;border:1px solid #e2e5e9;border-radius:16px;padding:22px}
.feature-ic{width:46px;height:46px;border-radius:13px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin-bottom:14px}
.feature-ic .ic{width:23px;height:23px}
.feature-card strong{display:block;font-size:15px;margin-bottom:8px;color:var(--ink)}
.feature-card p{margin:0;font-size:12.5px;line-height:1.9;color:#616c7d}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step-card{background:#fff;border:1px solid #e2e5e9;border-radius:16px;padding:22px}
.step-num{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;font-size:16px;margin-bottom:14px}
.step-card strong{display:block;font-size:14.5px;margin-bottom:7px;color:var(--ink)}
.step-card p{margin:0;font-size:12.5px;line-height:1.9;color:#616c7d}
.coach-band{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ink);color:#fff;border-radius:20px;padding:30px 34px}
.coach-band h2{font-size:23px;margin:0 0 8px}
.coach-band p{margin:0;font-size:13px;color:#c2c8d4;line-height:1.9;max-width:520px}
.coach-band .site-eyebrow{background:rgba(255,107,53,.18)}
/* تصویرِ نمونه‌ی محصول (اسکرین‌شاتِ پنل‌ها) + بخش‌های معرفی دو-ستونه */
.tm-shot{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 26px 56px -24px rgba(20,28,48,.34)}
.site-showcase{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.site-showcase--reverse .site-showcase-text{order:2}
.site-showcase--reverse .site-showcase-visual{order:1}
.site-showcase-text h2{font-size:25px;margin:0 0 12px;color:var(--ink);line-height:1.35}
.site-showcase-text p{font-size:14px;line-height:1.95;color:#566070;margin:0 0 18px;max-width:520px}
.site-showcase-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:11px}
.site-showcase-list li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.7;color:var(--ink)}
.site-showcase-list .ic{color:var(--brand);width:18px;height:18px;flex-shrink:0;margin-top:1px}
.site-showcase--dark{background:var(--ink);border-radius:24px;padding:40px;color:#fff}
.site-showcase--dark h2{color:#fff}
.site-showcase--dark p{color:#c2c8d4}
.site-showcase--dark .site-showcase-list li{color:#e7eaef}
.site-showcase--dark .site-eyebrow{background:rgba(255,107,53,.18)}
.site-cta-band{background:linear-gradient(120deg,var(--brand),#e85d2a);color:#fff;text-align:center;padding-block:50px}
.site-cta-band h2{font-size:26px;margin:0 0 8px}
.site-cta-band p{margin:0 0 20px;font-size:13.5px;color:rgba(255,255,255,.92)}
.site-page-hero{background:radial-gradient(120% 130% at 85% 0%,#f4f5f7,#f8f9fa);border-bottom:1px solid #e7e9ec;padding-block:52px;text-align:center}
.site-page-hero h1{font-size:32px;margin:0 0 12px;color:var(--ink)}
.site-page-hero p{font-size:13.5px;line-height:2;color:#566070;max-width:620px;margin:0 auto}
.site-page-hero--compact{padding-block:40px}
.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:34px;align-items:center}
.about-text h2{font-size:24px;margin:0 0 14px;color:var(--ink)}
.about-text p{font-size:13px;line-height:2;color:#566070;margin:0 0 12px}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.about-stat{background:#fff;border:1px solid #e2e5e9;border-radius:16px;padding:20px;text-align:center}
.about-stat strong{display:block;font-size:26px;color:var(--brand)}
.about-stat span{display:block;font-size:12px;color:var(--ink);font-weight:700;margin-top:4px}
.about-stat small{display:block;font-size:10.5px;color:#7c889a;margin-top:3px}
.legal-layout{display:grid;grid-template-columns:230px 1fr;gap:30px;align-items:start}
.legal-toc{position:sticky;top:80px;background:#f8f9fa;border:1px solid #e7e9ed;border-radius:14px;padding:16px;display:grid;gap:3px}
.legal-toc strong{font-size:12px;color:var(--ink);margin-bottom:6px}
.legal-toc-link{font-size:12px;color:#616c7d;padding:7px 8px;border-radius:8px;line-height:1.6}
.legal-body{display:grid;gap:22px}
.legal-sec h3{display:flex;align-items:center;gap:10px;font-size:16px;margin:0 0 8px;color:var(--ink)}
.legal-num{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--brand-soft);color:var(--brand);font-size:13px;font-weight:800;flex-shrink:0}
.legal-sec p{margin:0;font-size:13px;line-height:2;color:#566070}
.legal-note{display:flex;align-items:center;gap:10px;background:#f8f9fa;border:1px solid #e7e9ed;border-radius:12px;padding:13px 15px;font-size:12px;color:#616c7d;margin-top:6px}
.legal-note .ic{width:18px;height:18px;color:var(--brand);flex-shrink:0}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;align-items:start}
.contact-info{display:grid;gap:14px}
.contact-item{display:flex;align-items:center;gap:13px;background:#f8f9fa;border:1px solid #e7e9ed;border-radius:14px;padding:15px}
.contact-ic{width:44px;height:44px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.contact-ic .ic{width:21px;height:21px}
.contact-item>div{display:flex;flex-direction:column;min-width:0}
.contact-item span{font-size:11px;color:#7c889a;margin-bottom:3px}
.contact-item strong{font-size:13.5px;color:var(--ink);font-weight:700}
.contact-socials{padding:4px 2px}
.contact-socials>span{display:block;font-size:11px;color:#7c889a;margin-bottom:8px}
.contact-social-row{display:flex;gap:9px;flex-wrap:wrap}
.site-social{display:inline-flex;align-items:center;gap:6px;border:1px solid #d8dce1;background:#fff;border-radius:10px;padding:9px 13px;font-family:inherit;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer}
.site-social .ic{width:15px;height:15px;color:var(--brand)}
.contact-form{background:#fff;border:1px solid #e2e5e9;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(28,35,51,.05)}
.contact-form h3{font-size:16px;margin:0 0 16px;color:var(--ink)}
.contact-submit{width:100%;justify-content:center;margin-top:6px}
.vid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.vid-cats{display:flex;gap:7px;flex-wrap:wrap}
.vid-cat{border:1px solid #e1e4e8;background:#fff;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;color:#616c7d;cursor:pointer}
.vid-cat.active{background:var(--brand-soft);border-color:transparent;color:var(--brand)}
.vid-search{display:flex;align-items:center;gap:8px;min-width:240px;background:#f8f9fa;border:1px solid #e1e4e8;border-radius:10px;padding:11px 13px;color:#8893a4;font-size:12px}
.vid-search .ic{width:16px;height:16px}
.vid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.vid-card{border:1px solid #e2e5e9;background:#fff;border-radius:16px;overflow:hidden;cursor:pointer;text-align:right;font-family:inherit;padding:0;transition:transform .15s,box-shadow .15s,border-color .15s}
.vid-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(28,35,51,.1);border-color:var(--brand)}
.vid-thumb{position:relative;display:grid;place-items:center;aspect-ratio:16/10;background:radial-gradient(120% 120% at 50% 30%,#252a31,#0c0e10);overflow:hidden}
.vid-thumb-anim{position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.06) 50%,transparent 58%);background-size:240% 100%}
.vid-card:hover .vid-thumb-anim{animation:vpSweep 2.4s linear infinite}
.vid-play{position:relative;z-index:1;width:50px;height:50px;border-radius:50%;background:rgba(255,107,53,.95);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 10px rgba(255,255,255,.07);transition:transform .15s}
.vid-card:hover .vid-play{transform:scale(1.08)}
.vid-play .ic{width:21px;height:21px}
.vid-dur{position:absolute;bottom:9px;left:9px;z-index:1;background:rgba(12,13,15,.78);color:#fff;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:6px}
.vid-info{display:block;padding:13px 15px}
.vid-info strong{display:block;font-size:13.5px;color:var(--ink);margin-bottom:4px}
.vid-meta{display:block;font-size:11.5px;color:#7c889a}
.site-footer{background:var(--ink);color:#fff;padding-block:40px 22px}
.site-footer-main{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:26px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.1)}
.site-footer-brand .site-brand-name{color:#fff}
.site-footer-brand p{margin:12px 0 0;font-size:12px;line-height:2;color:#aab1c0;max-width:300px}
.site-footer-col{display:flex;flex-direction:column;gap:9px}
.site-footer-col>strong{font-size:13px;margin-bottom:3px}
.site-footer-link{border:0;background:none;color:#aab1c0;font-family:inherit;font-size:12.5px;text-align:right;cursor:pointer;padding:0}
.site-footer-link:hover{color:#fff}
.site-footer-line{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#aab1c0}
.site-footer-line .ic{width:15px;height:15px;color:var(--brand)}
.site-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:18px;font-size:11.5px;color:#8a91a1;flex-wrap:wrap}
.site-footer-social{display:flex;gap:8px}
.site-footer .site-social{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#fff}
.device-frame.mobile .screen-canvas.is-site{padding:0}
.device-frame.mobile .site-wrap{padding-inline:16px}
.device-frame.mobile .site-nav-inner{height:58px;gap:8px}
.device-frame.mobile .site-nav-toggle{display:grid;order:3}
.device-frame.mobile .site-brand{margin-inline-end:auto}
.device-frame.mobile .site-login{order:2;padding:9px 13px}
.device-frame.mobile .site-nav-links{position:absolute;top:calc(100% + 1px);inset-inline:0;flex-direction:column;gap:3px;background:#fff;border-top:1px solid #e4e6ea;box-shadow:0 18px 32px rgba(28,35,51,.14);padding:9px;margin:0;display:none;z-index:25}
.device-frame.mobile .site-nav.is-open .site-nav-links{display:flex}
.device-frame.mobile .site-nav-link{width:100%;text-align:right;padding:13px 14px;font-size:13.5px;border-radius:10px}
.device-frame.mobile .site-hero-inner{grid-template-columns:1fr;padding-block:30px;gap:26px}
.device-frame.mobile .site-hero-text{text-align:center}
.device-frame.mobile .site-hero-text h1{font-size:27px}
.device-frame.mobile .site-hero-text p{margin-inline:auto}
.device-frame.mobile .site-hero-cta{flex-direction:column;align-items:stretch}
.device-frame.mobile .site-hero-cta>button{width:100%;justify-content:center}
.device-frame.mobile .site-hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 12px;margin-top:4px}
.device-frame.mobile .feature-grid,.device-frame.mobile .steps-grid,.device-frame.mobile .vid-grid,.device-frame.mobile .about-stats{grid-template-columns:1fr 1fr}
.device-frame.mobile .about-grid,.device-frame.mobile .legal-layout,.device-frame.mobile .contact-grid{grid-template-columns:1fr}
.device-frame.mobile .legal-toc{display:none}
.device-frame.mobile .coach-band{flex-direction:column;align-items:flex-start;gap:16px;padding:24px}
.device-frame.mobile .site-section{padding-block:36px}
.device-frame.mobile .site-footer-main{grid-template-columns:1fr 1fr;gap:20px}
.device-frame.mobile .site-page-hero h1{font-size:24px}
.device-frame.mobile .site-section-head h2,.device-frame.mobile .site-cta-band h2,.device-frame.mobile .coach-band h2{font-size:21px}
