/* ============================================================================
   flow.css — بازطراحیِ جریان: حذف سایدبار، ناوبریِ تک‌صفحه‌ای، منوی کاربر،
   انتخاب شاگرد داخل ویزارد، ویرایشگر «در یک نگاه».
   این فایل بعد از builder.css لود می‌شود و موارد لازم را override می‌کند.
   ============================================================================ */

/* ── پوسته تک‌ستونه (سایدبار حذف) ── */
.shell{grid-template-columns:1fr !important}
.sidebar{display:none !important}
body{overflow:hidden}
.main{overflow:hidden;height:calc(100vh - var(--topbar))}

/* ── تاپ‌بار: منوی کاربر ── */
.umenu{position:relative}
.ubtn{display:flex;align-items:center;gap:9px;padding:5px 13px 5px 7px;background:var(--s2);border:1px solid var(--b2);border-radius:20px;transition:.15s;cursor:pointer}
.ubtn:hover{border-color:var(--b3)}
.uav{width:30px;height:30px;border-radius:50%;background:rgba(196,255,61,.1);border:1.5px solid rgba(196,255,61,.3);color:var(--lime);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.uname{color:white;font-size:12.5px;font-weight:600}
.ucaret{width:13px;height:13px;color:var(--t3);transition:.18s}.umenu.open .ucaret{transform:rotate(180deg)}
.udrop{position:absolute;top:calc(100% + 8px);left:0;min-width:215px;background:var(--s2);border:1px solid var(--b2);border-radius:var(--r3);box-shadow:0 16px 44px rgba(0,0,0,.55);padding:6px;opacity:0;transform:translateY(-6px);pointer-events:none;transition:.16s;z-index:300}
.umenu.open .udrop{opacity:1;transform:translateY(0);pointer-events:auto}
.uitem{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;font-size:13px;color:var(--t2);transition:.12s;width:100%;text-align:right;background:none;border:none;cursor:pointer;font-family:var(--f)}
.uitem:hover{background:var(--s3);color:var(--t1)}
.uitem svg{width:16px;height:16px;color:var(--t3)}
.uitem.danger{color:var(--coral)}.uitem.danger svg{color:var(--coral)}
.uitem.primary{color:var(--lime)}.uitem.primary svg{color:var(--lime)}
.udiv{height:1px;background:var(--b1);margin:5px 8px}
.uhead{padding:11px 12px 9px}.uhead .un{font-size:13px;font-weight:700}.uhead .um{font-size:11px;color:var(--t3);margin-top:2px;direction:ltr;text-align:right}

/* ── Stage: صفحات تمام‌ارتفاع بدون اسکرولِ صفحه ── */
.stage{height:calc(100vh - var(--topbar));position:relative;overflow:hidden}
.screen{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .25s;display:flex;flex-direction:column;overflow:hidden}
.screen.on{opacity:1;pointer-events:auto}

/* ── Welcome ── */
.welcome{align-items:center;justify-content:center;text-align:center;padding:30px}
.welcome .wg{width:84px;height:84px;border-radius:24px;background:linear-gradient(135deg,rgba(196,255,61,.12),rgba(62,232,176,.06));border:1px solid rgba(196,255,61,.18);display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.welcome .wg svg{width:38px;height:38px;color:var(--lime)}
.welcome h1{font-size:28px;font-weight:800;letter-spacing:-.4px}
.welcome p{font-size:14px;color:var(--t3);margin-top:10px;max-width:420px;line-height:1.8}
.welcome .cta{margin-top:26px;display:inline-flex;align-items:center;gap:9px;padding:13px 26px;background:var(--lime);color:#070809;font-weight:700;font-size:14px;border-radius:var(--r2);transition:.18s;cursor:pointer;border:none;font-family:var(--f)}
.welcome .cta:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(196,255,61,.3)}
.welcome .cta svg{width:17px;height:17px}

/* ── میزبانِ ویزارد ── */
.wzhost{flex:1;display:flex;flex-direction:column;max-width:1340px;width:100%;margin:0 auto;padding:18px 26px 0;min-height:0}
.wzbar2{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-bottom:16px}
.step{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.step .sn{width:26px;height:26px;border-radius:50%;background:var(--s3);border:1px solid var(--b2);color:var(--t3);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;transition:.2s}
.step .sl{font-size:12.5px;color:var(--t3);font-weight:600;transition:.2s;white-space:nowrap}
.step.active .sn{background:var(--lime);border-color:var(--lime);color:#070809;box-shadow:0 0 14px rgba(196,255,61,.35)}
.step.active .sl{color:var(--t1)}
.step.done .sn{background:rgba(62,232,176,.12);border-color:rgba(62,232,176,.3);color:var(--mint)}
.step.done .sl{color:var(--t2)}
.stepline{flex:1;height:1px;background:var(--b2);min-width:14px;max-width:60px}

.wzcard2{flex:1;background:var(--s1);border:1px solid var(--b2);border-radius:var(--r4);display:flex;flex-direction:column;overflow:hidden;min-height:0;margin-bottom:18px}
.wzscroll{flex:1;overflow-y:auto;padding:22px 24px}
.wzfoot2{display:flex;align-items:center;gap:11px;padding:14px 22px;border-top:1px solid var(--b1);background:var(--s2);flex-shrink:0}
.wzhint2{font-size:12px;color:var(--t3);flex:1}
.fbtn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:var(--r2);font-size:13px;font-weight:600;transition:.15s;border:1px solid var(--b2);background:var(--s3);color:var(--t2);cursor:pointer;font-family:var(--f)}
.fbtn:hover{background:var(--s4);color:var(--t1)}
.fbtn svg{width:15px;height:15px}
.fbtn.lime{background:var(--lime);color:#070809;border-color:var(--lime);font-weight:700}
.fbtn.lime:hover{box-shadow:0 5px 20px rgba(196,255,61,.3);transform:translateY(-1px)}
.fbtn:disabled{opacity:.4;pointer-events:none}
.fbtn .mspin{display:none;width:14px;height:14px;border:2px solid rgba(7,8,9,.3);border-top-color:#070809;border-radius:50%;animation:spin .6s linear infinite}
.fbtn .mspin.on{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── مرحله انتخاب شاگرد ── */
.pickhead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.pickhead h2{font-size:18px;font-weight:800}
.pickhead .sub{font-size:12.5px;color:var(--t3);margin-top:3px}
.picktools{display:flex;gap:9px;flex-shrink:0}
.psearch{position:relative}
.psearch input{width:230px;background:var(--s2);border:1px solid var(--b2);border-radius:var(--r2);color:var(--t1);font-size:12.5px;padding:9px 12px 9px 34px;outline:none;transition:.13s;font-family:var(--f)}
.psearch input:focus{border-color:rgba(196,255,61,.3)}
.psearch svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--t3)}
.newbtn{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid rgba(196,255,61,.25);background:rgba(196,255,61,.05);color:var(--lime);font-size:12.5px;font-weight:600;border-radius:var(--r2);transition:.13s;white-space:nowrap;cursor:pointer;font-family:var(--f)}
.newbtn:hover{background:rgba(196,255,61,.1)}.newbtn svg{width:15px;height:15px}
.agroup{font-size:10px;font-weight:700;letter-spacing:.8px;color:var(--t4);margin:4px 2px 10px}
.agrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:11px;margin-bottom:18px}
.acard2{display:flex;align-items:center;gap:12px;padding:13px;background:var(--s2);border:1px solid var(--b2);border-radius:var(--r3);cursor:pointer;transition:.14s;text-align:right;position:relative;overflow:hidden;font-family:var(--f)}
.acard2:hover{border-color:var(--b3);background:var(--s3);transform:translateY(-2px)}
.acard2.sel{border-color:rgba(196,255,61,.4);background:rgba(196,255,61,.04);box-shadow:0 0 0 1px rgba(196,255,61,.2)}
.acard2 .av{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;flex-shrink:0;border:1.5px solid}
.acard2 .ainfo{color:white;flex:1;min-width:0}
.acard2 .an{font-size:14px;font-weight:700}
.acard2 .am{font-size:11.5px;color:var(--t3);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acard2 .ago{font-size:9.5px;font-weight:700;padding:2px 8px;border-radius:6px;margin-top:6px;display:inline-block}
.acard2 .stat{position:absolute;top:11px;left:11px;width:7px;height:7px;border-radius:50%}
.acard2 .stat.on{background:var(--mint);box-shadow:0 0 7px var(--mint)}
.acard2 .stat.off{background:var(--t4)}
.pick-blank{padding:50px;text-align:center;color:var(--t3);font-size:13px;grid-column:1/-1}

/* ── کارت پروفایل فشرده (بالای پارامترها) ── */
.pchip{display:flex;align-items:center;gap:13px;padding:13px 16px;background:var(--s2);border:1px solid var(--b2);border-radius:var(--r3);margin-bottom:18px}
.pchip .av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;flex-shrink:0;border:1.5px solid rgba(196,255,61,.3);background:rgba(196,255,61,.08);color:var(--lime)}
.pchip .pi{flex:1;min-width:0}
.pchip .pn{font-size:14.5px;font-weight:700}
.pchip .ps{font-size:11.5px;color:var(--t3);margin-top:4px;display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.pchip .ps .tag{font-size:9.5px;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--s4);color:var(--t2)}
.pchip .ps .tag.l{background:rgba(196,255,61,.1);color:var(--lime)}
.pchip .ps .tag.r{background:rgba(255,86,112,.1);color:var(--coral)}
.pchip .change{font-size:11.5px;color:var(--cyan);font-weight:600;flex-shrink:0;padding:7px 12px;border-radius:8px;transition:.12s;cursor:pointer;background:none;border:none;font-family:var(--f)}
.pchip .change:hover{background:rgba(56,217,255,.08)}

/* ════════ EDITOR ════════ */
.edhost{flex:1;display:flex;flex-direction:column;min-height:0;height:100%}
.edtop{flex-shrink:0;background:rgba(7,8,9,.7);backdrop-filter:blur(10px);border-bottom:1px solid var(--b1);padding:14px 24px 0}
.edhead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:1320px;margin:0 auto;width:100%}
.ed-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--mint);background:rgba(62,232,176,.08);border:1px solid rgba(62,232,176,.16);padding:4px 11px;border-radius:20px;margin-bottom:9px}
.ed-eyebrow .d{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 8px var(--mint)}
.ed-ptitle{font-size:22px;font-weight:800;letter-spacing:-.3px;line-height:1.2}
.ed-ptitle .accent{color:var(--lime)}
.eactions{display:flex;gap:9px;flex-shrink:0;flex-wrap:wrap}
.eb{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:var(--r2);font-size:12.5px;font-weight:600;border:1px solid var(--b2);background:var(--s2);color:var(--t2);transition:.15s;white-space:nowrap;cursor:pointer;font-family:var(--f)}
.eb:hover{background:var(--s3);color:var(--t1);border-color:var(--b3)}.eb svg{width:14px;height:14px}
.eb.primary{background:var(--lime);color:#070809;border-color:var(--lime);font-weight:700}
.eb.primary:hover{box-shadow:0 4px 16px rgba(196,255,61,.3)}
.eb.save .dot{width:6px;height:6px;border-radius:50%;background:var(--t4)}
.eb.save.dirty{background:var(--lime);color:#070809;border-color:var(--lime);font-weight:700;box-shadow:0 3px 14px rgba(196,255,61,.22)}
.eb.save.dirty .dot{background:#070809;animation:pePulse2 1.4s infinite}
@keyframes pePulse2{50%{opacity:.35}}

.kstrip{display:flex;background:var(--s1);border:1px solid var(--b1);border-radius:var(--r3);padding:4px;margin:14px auto 0;max-width:1320px;width:100%}
.kpi2{flex:1;display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:var(--r2);transition:.15s;min-width:0}
.kpi2+.kpi2{border-right:1px solid var(--b1)}
.kpi2 .ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.kpi2 .ic svg{width:17px;height:17px}
.kpi2.k1 .ic{background:rgba(196,255,61,.1);color:var(--lime)}
.kpi2.k2 .ic{background:rgba(56,217,255,.1);color:var(--cyan)}
.kpi2.k3 .ic{background:rgba(169,139,255,.1);color:var(--violet)}
.kpi2.k4 .ic{background:rgba(255,194,75,.1);color:var(--amber)}
.kpi2.kdone .ic{background:rgba(62,232,176,.1);color:var(--mint)}
.kpi2.kdone.warn .ic{background:rgba(255,194,75,.12);color:var(--amber)}
.kpi2.kdone.warn .v{color:var(--amber)}
.kpi2 .v{font-size:19px;font-weight:800;line-height:1}
.kpi2 .l{font-size:10.5px;color:var(--t3);margin-top:4px;font-weight:500}

.wknav2{display:flex;align-items:center;gap:8px;max-width:1320px;margin:14px auto 0;width:100%;padding-bottom:14px}
.wklbl2{font-size:11.5px;color:var(--t3);font-weight:600}
.wktabs2{display:flex;gap:5px;background:var(--s2);border:1px solid var(--b1);border-radius:20px;padding:3px;flex-wrap:wrap}
.wt2{padding:5px 13px;border-radius:16px;font-size:12px;font-weight:700;color:var(--t3);transition:.12s;cursor:pointer;background:none;border:none;font-family:var(--f)}
.wt2:hover{color:var(--t1)}.wt2.on{background:var(--lime);color:#070809}
.wphase2{font-size:11px;color:var(--t3);display:flex;align-items:center;gap:7px;margin-right:auto}
.wphase2 b{color:var(--cyan);font-weight:700}

.edscroll{flex:1;overflow-y:auto;padding:0 24px 30px}
#planDays{max-width:1320px;margin:0 auto}

/* نوار وضعیت تکمیل روی هر روز */
.dprog{margin-top:11px;height:5px;border-radius:3px;background:var(--s3);overflow:hidden;display:flex}
.dprog i{height:100%;display:block}
.dprog .ok{background:var(--clr,var(--lime))}
.dprog .todo{background:repeating-linear-gradient(45deg,rgba(255,194,75,.5) 0 4px,transparent 4px 8px)}
.dlbl{font-size:9.5px;color:var(--t4);margin-top:5px;font-weight:500}.dlbl.warn{color:var(--amber)}
.dcount{font-size:10px;font-weight:600;color:var(--t3);background:var(--s3);padding:3px 9px;border-radius:20px}
.dtop2{display:flex;align-items:center;justify-content:space-between;gap:8px}

/* drawer بانک شناور */
.scrim{position:fixed;inset:0;background:rgba(4,5,6,.6);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:.25s;z-index:380}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;bottom:0;left:0;width:340px;max-width:88vw;background:var(--s1);border-left:1px solid var(--b2);box-shadow:18px 0 50px rgba(0,0,0,.5);transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:390;display:flex;flex-direction:column}
.drawer.on{transform:translateX(0)}
.dr-hd{padding:18px;border-bottom:1px solid var(--b1);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.dr-hd h3{font-size:14px;font-weight:800;display:flex;align-items:center;gap:8px}.dr-hd h3 .d{width:7px;height:7px;border-radius:2px;background:var(--lime)}
.dr-hd p{font-size:11px;color:var(--t3);margin-top:5px;max-width:220px;line-height:1.6}
.dr-x{width:30px;height:30px;border-radius:9px;background:var(--s3);border:1px solid var(--b2);color:var(--t2);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}.dr-x svg{width:14px;height:14px}
.bankfab{position:fixed;bottom:24px;left:24px;z-index:370;display:none;align-items:center;gap:9px;padding:13px 19px;background:var(--lime);color:#070809;font-weight:700;font-size:13px;border-radius:30px;box-shadow:0 8px 28px rgba(196,255,61,.32);transition:.18s;cursor:pointer;border:none;font-family:var(--f)}
.bankfab.on{display:inline-flex}
.bankfab:hover{transform:translateY(-2px)}.bankfab svg{width:17px;height:17px}

@media(max-width:760px){
    .kstrip{flex-wrap:wrap}.kpi2{flex:1 1 45%}.kpi2+.kpi2{border-right:none}
    .crumb,.uname{display:none}
    .psearch input{width:150px}
}
body.pe-drag .scrim{
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    pointer-events:none;
}

body.pe-drag .drawer{
    transform:translateX(-86%);   /* تقریباً پنهان، فقط لبه‌اش پیداست */
    pointer-events:none;
    transition:transform .18s;
}

/* ── ورودیِ «برنامه‌های قبلی» بالای ویزارد ───────────────────────────────── */
/* نوارِ کمکیِ بالای ویزارد: لینک‌های سبک به‌جای دکمه‌های سنگین */
.wz-utilbar{display:flex;align-items:center;gap:10px;min-height:0;margin-bottom:0;transition:margin .15s}
.wz-utilbar.has-ctx{margin-bottom:14px}
.wz-ulink{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--t3);cursor:pointer;transition:.15s;background:none;border:none;font-family:var(--f);padding:2px 0}
.wz-ulink:hover{color:var(--t1)}
.wz-ulink svg{width:14px;height:14px;flex-shrink:0}
.wz-ulink.ctx{color:var(--lime);display:none;align-items:center;gap:6px}
.wz-ulink.ctx.show{display:inline-flex}
.wz-ulink.ctx b{font-weight:700;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* کارتِ «شاگرد جدید» به‌شکلِ کاشیِ خط‌چین در همان گریدِ شاگردان */
.acard2.add-new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:transparent;border:1.5px dashed var(--b3);color:var(--t2);min-height:100px;text-align:center}
.acard2.add-new:hover{border-color:var(--lime);color:var(--lime);background:rgba(196,255,61,.045);transform:translateY(-2px)}
.acard2.add-new .plus-ic{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--s3);border:1px solid var(--b2);transition:.15s}
.acard2.add-new:hover .plus-ic{background:rgba(196,255,61,.12);border-color:rgba(196,255,61,.4)}
.acard2.add-new .plus-ic svg{width:17px;height:17px}
.acard2.add-new span.lbl{font-size:12.5px;font-weight:700}

/* ── صفحهٔ لیستِ برنامه‌ها ────────────────────────────────────────────────── */
.plsl-host{max-width:1180px;margin:0 auto;padding:24px 20px 60px;width:100%}
.plsl-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.plsl-athlete{display:flex;align-items:center;gap:12px}
.plsl-av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;border:1.5px solid;flex-shrink:0}
.plsl-athlete-meta{font-size:12px;color:var(--t3);margin-top:2px}

/* آمار */
.plsl-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.plsl-stat{background:var(--s2);border:1px solid var(--b1);border-radius:var(--r3);padding:12px 14px;text-align:center}
.plsl-stat .v{font-size:19px;font-weight:800;color:var(--t1)}
.plsl-stat .l{font-size:11px;color:var(--t3);margin-top:2px}
.plsl-stat.s-active .v{color:var(--mint)}
.plsl-stat.s-draft .v{color:var(--amber)}

/* نوارِ ابزار */
.plsl-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.plsl-search{flex:1 1 220px;min-width:180px;display:flex;align-items:center;gap:8px;background:var(--s2);border:1px solid var(--b1);border-radius:var(--r2);padding:9px 12px;color:var(--t3)}
.plsl-search svg{width:15px;height:15px;flex-shrink:0}
.plsl-search input{flex:1;background:none;border:none;outline:none;color:var(--t1);font-family:var(--f);font-size:12.5px}
.plsl-search input::placeholder{color:var(--t3)}
.plsl-filters{display:flex;gap:6px;background:var(--s2);border:1px solid var(--b1);border-radius:var(--r2);padding:4px;margin-bottom:18px;width:fit-content}
.pf{background:none;border:none;color:var(--t3);font-size:11.5px;font-weight:600;padding:6px 12px;border-radius:7px;cursor:pointer;transition:.15s;font-family:var(--f);white-space:nowrap}
.pf:hover{color:var(--t1)}
.pf.on{background:var(--s4);color:var(--t1)}
.plsl-sort{background:var(--s2);border:1px solid var(--b1);border-radius:var(--r2);padding:9px 12px;color:var(--t2);font-size:12px;font-family:var(--f);cursor:pointer;min-width:130px}

.plsl-body{min-height:200px}
.plsl-empty{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--t3);text-align:center;padding:60px 20px;background:var(--s2);border:1px solid var(--b1);border-radius:var(--r3)}
.plsl-empty.err{color:var(--coral)}
.plsl-empty svg{opacity:.5}
.plsl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}

/* کارت */

.plsl-card{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:12px;
    min-height:260px;
    padding:18px;
    background:linear-gradient(180deg,var(--s2),var(--s1));
    border:1px solid var(--b1);
    border-right:4px solid var(--b2);
    border-radius:var(--r3);
    transition:.15s;
    cursor:pointer;
}
.plsl-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.plsl-main-title{
    flex:1;
    min-width:0;
    font-size:19px;
    font-weight:850;
    line-height:1.35;
    color:var(--t1);
    letter-spacing:-.2px;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

.plsl-subrow{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.plsl-info-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:2px;
}

.plsl-info-grid div{
    padding:10px 8px;
    text-align:center;
    border-radius:12px;
    background:rgba(255,255,255,.025);
    border:1px solid var(--b1);
}

.plsl-info-grid b{
    display:block;
    font-size:17px;
    font-weight:850;
    color:var(--t1);
    line-height:1;
}

.plsl-info-grid span{
    display:block;
    margin-top:5px;
    font-size:10.5px;
    color:var(--t3);
}

.plsl-date-row{
    font-size:11px;
    color:var(--t3);
    margin-top:-2px;
}

.plsl-card:hover{
    border-color:var(--b3);
    background:var(--s3);
    transform:translateY(-2px);
    box-shadow:0 8px 24px rgba(0,0,0,.25);
}

.plsl-card.st-active{border-right-color:var(--mint)}
.plsl-card.st-draft{border-right-color:var(--amber)}
.plsl-card.st-archived{border-right-color:var(--t4)}

.plsl-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.plsl-badge{
    font-size:10.5px;
    font-weight:700;
    padding:3px 9px;
    border-radius:20px;
    background:var(--s4);
    color:var(--t2);
}

.plsl-badge.st-draft{
    background:rgba(255,194,75,.12);
    color:var(--amber);
}

.plsl-badge.st-active{
    background:rgba(62,232,176,.12);
    color:var(--mint);
}

.plsl-badge.st-archived{
    background:rgba(255,255,255,.06);
    color:var(--t3);
}

.plsl-title{
    font-size:15px;
    font-weight:700;
    color:var(--t1);
    line-height:1.4;
}

.plsl-athlete-badge{
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    gap:5px;
    padding:3px 9px 3px 7px;
    font-size:10.5px;
    font-weight:600;
    color:var(--violet);
    background:rgba(169,139,255,.1);
    border:1px solid rgba(169,139,255,.25);
    border-radius:20px;
    transition:.15s;
}

.plsl-athlete-badge:hover{
    background:rgba(169,139,255,.18);
}

.plsl-athlete-badge svg{
    width:11px;
    height:11px;
}

.plsl-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    font-size:11.5px;
    color:var(--t2);
}

.plsl-date-row{
    font-size:11px;
    color:var(--t3);
}

.plsl-av.all{
    background:var(--s4);
    color:var(--t2);
    border-color:var(--b2);
}

.plsl-av.all svg{
    width:22px;
    height:22px;
}

.plsl-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
    margin-top:auto;
}

.plsl-actions .eb{
    width:100%;
    min-width:0;
    justify-content:center;
    padding:9px 10px;
    font-size:11.5px;
    white-space:nowrap;
}

.plsl-actions .eb.primary{
    grid-column:1/-1;
    order:-1;
    padding:11px 12px;
    font-size:12.5px;
}

.plsl-actions .eb svg{
    width:14px;
    height:14px;
}

/* منوی کباب */
.plsl-kebab{position:relative;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:7px;color:var(--t3);cursor:pointer}
.plsl-kebab:hover{background:var(--s4);color:var(--t1)}
.plsl-kebab svg{width:16px;height:16px}
.plsl-menu{position:absolute;top:30px;left:0;z-index:20;min-width:150px;background:var(--s3);border:1px solid var(--b3);border-radius:var(--r2);padding:5px;display:none;flex-direction:column;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.plsl-menu.on{display:flex}
.plsl-menu button{background:none;border:none;color:var(--t2);text-align:right;padding:8px 10px;border-radius:6px;font-size:12px;font-family:var(--f);cursor:pointer;transition:.1s}
.plsl-menu button:hover{background:var(--s4);color:var(--t1)}
.plsl-menu button.danger{color:var(--coral)}
.plsl-menu button.danger:hover{background:rgba(255,86,112,.1)}

/* اسکلتونِ لودینگ */
.plsl-card.sk{cursor:default;gap:10px}
.plsl-card.sk:hover{transform:none;box-shadow:none}
.sk-line{height:11px;border-radius:5px;background:linear-gradient(90deg,var(--s3) 25%,var(--s4) 37%,var(--s3) 63%);background-size:400% 100%;animation:skShine 1.4s ease infinite}
.sk-line.w40{width:40%;height:16px}
.sk-line.w70{width:70%}
.sk-line.w90{width:90%}
.sk-line.w50{width:50%}
.sk-line.h20{height:14px;margin-top:2px}
.sk-actions{display:flex;gap:8px;margin-top:6px}
.sk-btn{flex:1;height:32px;border-radius:var(--r2);background:var(--s3)}
@keyframes skShine{0%{background-position:100% 0}100%{background-position:0 0}}

@media(max-width:760px){
    .plsl-grid{grid-template-columns:1fr}
    .plsl-top{flex-direction:column;align-items:flex-start}
    .plsl-stats{grid-template-columns:repeat(2,1fr)}
    .plsl-toolbar{flex-direction:column;align-items:stretch}
    .plsl-filters{overflow-x:auto}
}
.wzfoot2{
    position:sticky;
    bottom:0;
    z-index:20;
    backdrop-filter:blur(14px);
}

.wz-utilbar{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
}

.wz-ulink{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 13px;
    border-radius:999px;
    border:1px solid var(--b2);
    background:var(--s2);
    color:var(--t2);
    font-family:var(--f);
    font-size:12px;
    font-weight:600;
    cursor:pointer;
}

.wz-ulink:hover{
    color:var(--t1);
    background:var(--s3);
}

.session-options {
    margin-top: 18px;
}

.session-toggle-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 8px;
}

.session-tgl {
    min-height: 58px;
    padding: 11px 13px;
    align-items: center;
    gap: 11px;
    flex: unset;
}

.session-tgl .tgl-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.session-tgl .tgl-text b {
    font-size: 12.5px;
    font-weight: 800;
    color: var(--t2);
    line-height: 1.4;
}

.session-tgl .tgl-text small {
    font-size: 10.5px;
    color: var(--t3);
    line-height: 1.5;
}

.session-tgl.on {
    background: rgba(196, 255, 61, .045);
    border-color: rgba(196, 255, 61, .18);
}

.session-tgl.on .sw {
    background: var(--lime);
}

.session-tgl.on .tgl-text b {
    color: var(--t1);
}

.session-tgl.on .tgl-text small {
    color: var(--t2);
}

/* سوپرست مثل قبل بنفش بماند */
.session-tgl.ss.on {
    background: rgba(169, 139, 255, .055);
    border-color: rgba(169, 139, 255, .2);
}

.session-tgl.ss.on .sw {
    background: var(--violet);
}

.session-hint {
    font-size: 12px;
    color: var(--t3);
    margin-top: 8px;
}

@media (max-width: 720px) {
    .session-toggle-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================================
   مرحلهٔ ۲ ویزارد — پارامترهای برنامه
   اصلِ چیدمان: همه‌چیز در یک نگاه، بدون اسکرولِ طولانی. ستونِ اصلی چهار
   باکسِ شماره‌دار دارد که ترتیبشان همان ترتیبِ ذهنیِ مربی است
   (مشخصات کلی → زمان‌بندی → تمرکز عضلانی → ضعف ناحیه‌ای) و ستونِ کناری
   شاگرد، خلاصهٔ زنده و اجزای جلسه را نگه می‌دارد.
   ============================================================================ */

.pstep {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ── سربرگ ─────────────────────────────────────────────────────────────── */
.pstep-hero {
    display: flex;
    align-items: baseline;
    gap: 14px;
    flex-wrap: wrap;
    padding: 11px 16px;
    border: 1px solid rgba(196, 255, 61, .14);
    border-radius: var(--r4);
    background:
        radial-gradient(circle at 100% 0%, rgba(196, 255, 61, .08), transparent 40%),
        linear-gradient(180deg, rgba(255, 255, 255, .03), rgba(255, 255, 255, .008));
}

.pstep-hero-main {
    display: flex;
    align-items: baseline;
    gap: 10px;
    min-width: 0;
}

.pstep-kicker,
.ps-eyebrow {
    display: inline-flex;
    align-items: center;
    font-size: 10.5px;
    font-weight: 850;
    letter-spacing: .35px;
    color: var(--lime);
    background: rgba(196, 255, 61, .09);
    border: 1px solid rgba(196, 255, 61, .2);
    border-radius: 20px;
    padding: 3px 10px;
}

.pstep-hero h2 {
    margin: 0;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: -.3px;
    color: var(--t1);
}

.pstep-hero p {
    margin: 0;
    font-size: 11.3px;
    line-height: 1.7;
    color: var(--t3);
}

/* ── چیدمان دو ستونی ───────────────────────────────────────────────────── */
.pstep-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 14px;
    align-items: start;
}

.pstep-main {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

/* ── باکس‌ها ───────────────────────────────────────────────────────────── */
.pbox {
    border: 1px solid var(--b2);
    border-radius: var(--r4);
    background: linear-gradient(180deg, rgba(255, 255, 255, .022), rgba(255, 255, 255, .006));
    overflow: hidden;
}

.pbox-head {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 14px;
    border-bottom: 1px solid var(--b1);
    background: rgba(7, 8, 9, .32);
}

.pbox-num {
    width: 23px;
    height: 23px;
    flex-shrink: 0;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11.5px;
    font-weight: 900;
    color: var(--lime);
    background: rgba(196, 255, 61, .09);
    border: 1px solid rgba(196, 255, 61, .2);
}

.pbox-title {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
    min-width: 0;
    flex: 1;
}

.pbox-title h3 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13.5px;
    font-weight: 850;
    color: var(--t1);
    white-space: nowrap;
}

.pbox-title > span {
    font-size: 10.8px;
    line-height: 1.6;
    color: var(--t3);
}

.popt {
    font-size: 9.5px;
    font-weight: 800;
    color: var(--t3);
    background: var(--s3);
    border: 1px solid var(--b2);
    border-radius: 20px;
    padding: 2px 8px;
}

.pbox-badge {
    flex-shrink: 0;
    font-size: 10.5px;
    font-weight: 800;
    color: var(--lime);
    background: rgba(196, 255, 61, .1);
    border: 1px solid rgba(196, 255, 61, .24);
    border-radius: 20px;
    padding: 2px 9px;
}

.pbox-badge[hidden] { display: none; }

.pbox-body {
    padding: 10px 14px 12px;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.plink {
    flex-shrink: 0;
    background: none;
    border: none;
    padding: 4px 0;
    font-family: var(--f);
    font-size: 11px;
    font-weight: 700;
    color: var(--coral);
    cursor: pointer;
}

.plink:hover { text-decoration: underline; }
.plink[hidden] { display: none; }

/* ── ردیفِ «برچسب کنارِ کنترل» ─────────────────────────────────────────────
   عمودی‌شدنِ برچسب‌ها بود که صفحه را بلند می‌کرد؛ اینجا برچسب در ستونِ ثابتِ
   راست می‌نشیند و کنترل کنارش پخش می‌شود. */
.prow {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
}

.prow + .prow {
    padding-top: 9px;
    border-top: 1px dashed var(--b1);
}

.prow-lbl {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    font-size: 11.5px;
    font-weight: 800;
    color: var(--t2);
    line-height: 1.5;
}

.prow-lbl em {
    font-style: normal;
    font-size: 9.5px;
    font-weight: 700;
    color: var(--t4);
}

.prow input[type="text"] {
    width: 100%;
    min-height: 36px;
    background: var(--s2);
    border: 1px solid var(--b2);
    border-radius: var(--r2);
    color: var(--t1);
    font-family: var(--f);
    font-size: 12.5px;
    padding: 8px 12px;
    outline: none;
    transition: .15s;
}

.prow input[type="text"]:focus {
    border-color: rgba(196, 255, 61, .3);
    box-shadow: 0 0 0 3px rgba(196, 255, 61, .05);
}

/* selectها پشتِ صحنه منبعِ حقیقت می‌مانند تا منطقِ ویزارد دست‌نخورده بماند */
.pseg-native {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
    clip: rect(0 0 0 0);
    overflow: hidden;
}

/* ── دکمه‌های انتخاب (هفته / روز / هدف) ────────────────────────────────── */
.ppills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.ppill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 33px;
    padding: 7px 14px;
    border-radius: 20px;
    border: 1px solid var(--b2);
    background: var(--s2);
    color: var(--t2);
    font-family: var(--f);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: .13s;
    white-space: nowrap;
}

.ppill:hover { color: var(--t1); border-color: var(--b3); background: var(--s3); }

.ppill i {
    font-style: normal;
    font-size: 10px;
    font-weight: 700;
    color: var(--t4);
}

.ppill.on {
    color: var(--lime);
    background: rgba(196, 255, 61, .08);
    border-color: rgba(196, 255, 61, .35);
    box-shadow: 0 0 0 1px rgba(196, 255, 61, .12);
}

.ppill.on i { color: rgba(196, 255, 61, .65); }

.pgoal.on {
    color: var(--violet);
    background: rgba(169, 139, 255, .08);
    border-color: rgba(169, 139, 255, .35);
    box-shadow: 0 0 0 1px rgba(169, 139, 255, .12);
}

.pgoal.on i { color: rgba(169, 139, 255, .65); }

/* ── تمرکز عضلانی ──────────────────────────────────────────────────────── */
.param-mtags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.param-mtags .mtag {
    min-height: 33px;
    display: inline-flex;
    align-items: center;
    padding: 7px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
}

.param-mtags .mtag.on {
    background: rgba(196, 255, 61, .09);
    border-color: rgba(196, 255, 61, .35);
    color: var(--lime);
    box-shadow: 0 0 0 1px rgba(196, 255, 61, .12);
}

/* ── ضعف ناحیه‌ای ──────────────────────────────────────────────────────────
   بسته می‌ماند تا مرحله کوتاه بماند؛ ولی انتخاب‌ها در حالتِ بسته هم دیده
   می‌شوند تا مربی برای یادآوری مجبور به بازکردن نباشد. */
.pbox-weak { padding: 0; }

.weak-head {
    display: flex;
    align-items: center;
    gap: 11px;
    width: 100%;
    padding: 9px 14px;
    background: none;
    border: 0;
    text-align: right;
    cursor: pointer;
    font: inherit;
    color: inherit;
}

.weak-head:hover { background: rgba(255, 255, 255, .02); }

.weak-head-main { flex: 1; min-width: 0; }

.weak-head h3 {
    margin: 0 0 1px;
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13.5px;
    font-weight: 850;
    color: var(--t1);
}

.weak-sub {
    display: block;
    font-size: 10.6px;
    line-height: 1.6;
    color: var(--t3);
}

/* attribute hidden باید بر display:flex/grid این بخش غلبه کند، وگرنه
   آکاردئون باز می‌شود ولی بسته نمی‌شود. */
#wzPane1 [hidden] { display: none !important; }

.weak-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 19px;
    height: 19px;
    padding: 0 6px;
    border-radius: 20px;
    font-size: 10.5px;
    font-weight: 900;
    color: var(--coral);
    background: rgba(255, 86, 112, .1);
    border: 1px solid rgba(255, 86, 112, .25);
}

.weak-chev {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--t3);
    background: var(--s3);
    border: 1px solid var(--b2);
    transition: .18s;
}

.weak-chev svg { width: 14px; height: 14px; }

.weak-head[aria-expanded="true"] .weak-chev {
    transform: rotate(180deg);
    color: var(--t1);
}

.weak-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0 14px 11px;
}

.weak-summary .wchip-mini {
    font-size: 10.5px;
    font-weight: 700;
    color: var(--coral);
    background: rgba(255, 86, 112, .07);
    border: 1px solid rgba(255, 86, 112, .2);
    border-radius: 20px;
    padding: 3px 10px;
}

.weak-body {
    padding: 0 14px 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 46vh;
    overflow-y: auto;
}

.weak-explain {
    display: grid;
    gap: 6px;
    padding: 10px 12px;
    border-radius: var(--r3);
    background: var(--s2);
    border: 1px solid var(--b1);
}

.weak-explain-row {
    display: flex;
    align-items: baseline;
    gap: 9px;
    font-size: 11px;
    line-height: 1.65;
    color: var(--t3);
}

.weak-explain-row b {
    flex-shrink: 0;
    min-width: 86px;
    font-weight: 850;
    color: var(--lime);
}

.weak-explain-row.is-weak b { color: var(--coral); }
.weak-explain-row u { text-decoration-color: rgba(255, 86, 112, .5); }

.weak-groups { display: grid; gap: 9px; }

.weak-loading {
    font-size: 11.5px;
    color: var(--t3);
    padding: 6px 0;
}

.weak-group {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
}

.weak-group-title {
    font-size: 11px;
    font-weight: 800;
    color: var(--t3);
    padding-top: 6px;
}

.weak-chips { display: flex; flex-wrap: wrap; gap: 6px; }

.wchip {
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 650;
    cursor: pointer;
    user-select: none;
    color: var(--t3);
    background: var(--s2);
    border: 1px solid var(--b2);
    transition: .13s;
}

.wchip:hover { color: var(--t1); border-color: var(--b3); }

.wchip.on {
    color: var(--coral);
    background: rgba(255, 86, 112, .08);
    border-color: rgba(255, 86, 112, .3);
}

.weak-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.weak-clear {
    background: none;
    border: none;
    padding: 4px 0;
    font-family: var(--f);
    font-size: 11.5px;
    font-weight: 700;
    color: var(--coral);
    cursor: pointer;
}

.weak-clear:hover { text-decoration: underline; }
.weak-clear[hidden] { display: none; }

.weak-hint {
    font-size: 10.2px;
    line-height: 1.6;
    color: var(--t4);
}

/* ── ستونِ کناری ───────────────────────────────────────────────────────── */
.pstep-side { min-width: 0; }

.pside-sticky {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pstep-side .pchip {
    margin-bottom: 0;
    padding: 10px 12px;
    border-radius: var(--r4);
}

.pstep-side .pchip .av { width: 36px; height: 36px; font-size: 13px; }
.pstep-side .pchip .pn { font-size: 13px; }
.pstep-side .pchip .ps { font-size: 10.5px; }
.pstep-side .pchip .change { padding: 5px 8px; font-size: 10.5px; }

.psum {
    border: 1px solid var(--b2);
    border-radius: var(--r4);
    background: linear-gradient(180deg, rgba(196, 255, 61, .035), rgba(255, 255, 255, .006));
    overflow: hidden;
}

.psum-head {
    padding: 10px 14px;
    border-bottom: 1px solid var(--b1);
}

.psum-head h4 {
    margin: 0 0 1px;
    font-size: 13px;
    font-weight: 850;
    color: var(--t1);
}

.psum-head span { font-size: 10.2px; color: var(--t3); }

.psum-kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-bottom: 1px solid var(--b1);
}

.psum-kpi {
    padding: 10px 5px;
    text-align: center;
    border-left: 1px solid var(--b1);
}

.psum-kpi:first-child { border-left: none; }

.psum-kpi b {
    display: block;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    color: var(--lime);
}

.psum-kpi span {
    display: block;
    margin-top: 4px;
    font-size: 9.5px;
    font-weight: 600;
    color: var(--t3);
}

.psum-rows { margin: 0; padding: 4px 14px 10px; }

.psum-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 0;
    border-bottom: 1px dashed var(--b1);
}

.psum-row:last-child { border-bottom: none; }

.psum-row dt {
    flex-shrink: 0;
    font-size: 10.8px;
    font-weight: 700;
    color: var(--t3);
}

.psum-row dd {
    margin: 0;
    text-align: left;
    font-size: 11.2px;
    font-weight: 700;
    line-height: 1.55;
    color: var(--t1);
}

.psum-row dd.muted { color: var(--t3); font-weight: 600; }

/* ── اجزای جلسه ───────────────────────────────────────────────────────────
   کارت‌کلیدهای یک‌ردیفه؛ در ستونِ اصلی و بالای صفحه می‌مانند چون تعیین‌کنندهٔ
   محتوای واقعیِ هر جلسه‌اند و مربی باید حتماً ببیندشان. */
.pbox-session .session-toggle-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 0;
}

.pbox-session .session-tgl {
    min-height: 46px;
    padding: 8px 11px;
    gap: 9px;
    border-radius: var(--r3);
    background: var(--s2);
    border: 1px solid var(--b2);
}

.pbox-session .session-tgl .tgl-text b { font-size: 11.8px; font-weight: 850; }
.pbox-session .session-tgl .tgl-text small { font-size: 10px; }

/* فوتر تمیز بماند */
.wzfoot2 {
    flex-shrink: 0;
    position: sticky;
    bottom: 0;
    z-index: 20;
    backdrop-filter: blur(14px);
}

/* ── ریسپانسیو ─────────────────────────────────────────────────────────── */
@media (max-width: 1220px) {
    .pbox-session .session-toggle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1120px) {
    .pstep-grid { grid-template-columns: minmax(0, 1fr); }
    .pside-sticky { position: static; }
    .pbox-session .session-toggle-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .pstep-hero { flex-direction: column; align-items: flex-start; gap: 6px; }
    .pstep-hero-main { flex-direction: column; align-items: flex-start; gap: 6px; }
    .prow { grid-template-columns: 1fr; gap: 7px; }
    .prow + .prow { padding-top: 8px; }
    .weak-group { grid-template-columns: 1fr; gap: 6px; }
    .weak-group-title { padding-top: 0; }
    .pbox-session .session-toggle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .weak-explain-row { flex-direction: column; gap: 2px; }
    .weak-foot { flex-direction: column; align-items: flex-start; }
}

/* نمایشگرهای کم‌ارتفاع: باز هم بدون اسکرول جا شود */
@media (max-height: 820px) {
    .wzscroll { padding-top: 12px; padding-bottom: 8px; }
    .pstep { gap: 10px; }
    .pstep-hero { padding: 9px 14px; }
    .pstep-hero p { display: none; }
    .pbox-head { padding: 8px 13px; }
    .pbox-body { padding: 9px 13px 10px; gap: 8px; }
    .ppill,
    .param-mtags .mtag { min-height: 30px; padding: 6px 12px; font-size: 11.5px; }
    .psum-kpi { padding: 8px 4px; }
    .psum-kpi b { font-size: 16px; }
    .psum-row { padding: 6px 0; }
    .pbox-session .session-tgl { min-height: 40px; padding: 7px 9px; }
    .pbox-session .session-tgl .tgl-text small { display: none; }
}
