/* VOLT v9.6 · who ticks a plan: the athlete, or the coach of a private student; the other side reads ticks and weights */
@keyframes pvIn{from{opacity:0;transform:translateY(10px)}}

/* the private-student switch (coach) */
.pv-switch{position:relative;display:flex!important;flex-direction:row!important;align-items:center;gap:14px;margin:12px 0 4px!important;padding:12px 14px!important;border-radius:16px;border:1px solid var(--v8-line,#ffffff14);background:#ffffff06;cursor:pointer;transition:border-color .3s,background .3s}
.pv-switch.on{border-color:#FFC24A66;background:linear-gradient(110deg,#FFC24A14,transparent 70%)}
.pv-switch input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pv-switch-tx{display:grid;gap:2px;flex:1;min-width:0}
.pv-switch-tx b{font-size:14px;line-height:1.5;color:var(--v8-t1,#F4F5F7)}
.pv-switch-tx small{font-size:12px;line-height:1.7;color:var(--v8-t2,#B9BEC7);overflow-wrap:anywhere}
.pv-knob{position:relative;flex:0 0 50px;width:50px;height:30px;border-radius:999px;background:#ffffff1f;transition:background .35s}
.pv-knob::after{content:"";position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0007;transition:transform .45s cubic-bezier(.3,1.5,.5,1)}
.pv-switch input:checked~.pv-knob{background:linear-gradient(135deg,#FFD27A,#FF9466)}
.pv-switch input:checked~.pv-knob::after{transform:translateX(-20px)}
.pv-switch input:focus-visible~.pv-knob{outline:2px solid #FFB08F;outline-offset:2px}
.pv-switch input:disabled~.pv-knob{opacity:.5}
.pv-tag{display:inline-block;margin-inline-start:6px;padding:1px 7px;border-radius:999px;background:#FFC24A26;color:#FFC24A;font-size:10.5px;font-style:normal;font-weight:900;vertical-align:middle}

/* who is ticking this day */
.pv-who{display:flex;align-items:flex-start;gap:9px;margin:12px 0 4px;padding:10px 12px;border-radius:14px;background:#7CC7FF14;border:1px solid #7CC7FF33;font-size:12.5px;line-height:1.8;color:var(--v8-t2,#B9BEC7)}
.pv-who.coach{background:#FFC24A12;border-color:#FFC24A40}
.pv-who b{color:var(--v8-t1,#F4F5F7);font-weight:900}
.pv-who svg{flex:0 0 18px;width:18px;height:18px;margin-top:3px;color:#7CC7FF}
.pv-who.coach svg{color:#FFC24A}
.pv-empty{margin:6px 2px;font-size:12.5px;color:var(--v8-t3,#8E95A0)}
.pv-att{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:999px;background:#ffffff10;color:var(--v8-t2,#B9BEC7);font-size:12px;font-weight:900;white-space:nowrap}
.pv-att.ok{background:#C5E86C24;color:#C5E86C}
.pv-att.no{background:#FF946624;color:#FF9466}

/* a read-only exercise row: done / half-done / not done, with every set */
.club-task.pv-read{cursor:default;align-items:flex-start}
.club-task.pv-read.miss{opacity:.78}
.pv-mark{flex:0 0 24px;width:24px;height:24px;margin-top:1px;border-radius:8px;border:1.6px solid #ffffff33;display:grid;place-items:center;color:#1A0B05}
.pv-mark svg{width:15px;height:15px;stroke-width:3}
.done>.pv-mark,.pv-items li.done .pv-mark{background:linear-gradient(135deg,#ffa280,#ff5618);border-color:transparent}
.part>.pv-mark,.pv-items li.part .pv-mark{border-color:#FFC24A;border-style:dashed}
.club-task.pv-read>.pv-state{margin-right:auto;flex-shrink:0;align-self:center;font-size:11px;font-style:normal;font-weight:800;color:var(--v8-t3,#8E95A0)}
.club-task.pv-read.done>.pv-state{color:#FFB08F}
.club-task.pv-read.part>.pv-state{color:#FFC24A}
.pv-sets{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.pv-sets i{display:inline-flex;align-items:baseline;gap:6px;padding:4px 9px;border-radius:10px;background:#ffffff0d;border:1px solid #ffffff14;font-style:normal;font-size:12.5px;font-weight:900;color:var(--v8-t1,#F4F5F7);white-space:nowrap;font-variant-numeric:tabular-nums}
.pv-sets i small{display:inline!important;margin:0!important;font-size:10.5px!important;font-weight:700;color:var(--v8-t3,#8E95A0)!important}

/* the student file: day by day */
.pv-days .panel-title small{display:block;margin-top:2px}
.pv-day{display:grid;gap:10px;padding:14px 0;border-top:1px solid var(--v8-line,#ffffff14);animation:pvIn .4s both}
.pv-day:first-of-type{border-top:0}
.pv-day-head{margin:0;font-size:15px;font-weight:900;display:flex;align-items:center;gap:8px}
.pv-day-head em{font-style:normal;font-size:11px;padding:2px 8px;border-radius:999px;background:#FF946626;color:#FFB08F}
.pv-entry{display:grid;gap:10px;padding:14px;border-radius:18px;border:1px solid var(--v8-line,#ffffff14);background:#ffffff05;min-width:0}
.pv-entry-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pv-entry-head h3{margin:0;margin-inline-end:auto;font-size:14.5px;font-weight:900;min-width:0;overflow-wrap:anywhere}
.pv-by{padding:4px 10px;border-radius:999px;background:#7CC7FF1f;color:#7CC7FF;font-size:11.5px;font-weight:900}
.pv-by.coach{background:#FFC24A1f;color:#FFC24A}
.pv-count{font-size:12px;font-weight:800;color:var(--v8-t2,#B9BEC7)}
.pv-items{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.pv-items li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:14px;background:#ffffff04;border:1px solid #ffffff0f}
.pv-items li.done{background:#ff8e650f;border-color:#ff8e6540}
.pv-items li.miss{opacity:.75}
.pv-items li>div{display:grid;min-width:0}
.pv-items li b{font-size:13.5px;font-weight:900;overflow-wrap:anywhere}
.pv-items li small{font-size:11.5px;color:var(--v8-t3,#8E95A0)}
.pv-items li>em{font-style:normal;font-size:11px;font-weight:800;color:var(--v8-t3,#8E95A0);white-space:nowrap;margin-top:3px}
.pv-items li.done>em{color:#FFB08F}
.pv-items li.part>em{color:#FFC24A}

@media(max-width:600px){
  .pv-entry{padding:12px}
  .pv-items li{grid-template-columns:auto minmax(0,1fr)}
  .pv-items li>em{grid-column:2;margin-top:0}
  .club-task.pv-read{flex-wrap:wrap}
  .club-task.pv-read>.pv-state{margin-right:0;order:9;flex-basis:100%;padding-inline-start:32px}
  .pv-sets{gap:4px}
  .pv-sets i{gap:4px;padding:3px 7px;font-size:12px;border-radius:9px}
  .pv-sets i small{font-size:10px!important}
}
@media(prefers-reduced-motion:reduce){.pv-day{animation:none}}

/* ===== VOLT v9.7 · a finished day is final; summary tiles open their details; «شاگردها» ===== */
/* finish button and the closed-day banner */
.action-row .btn.pv-finish:not(.secondary),.btn.pv-finish{background:linear-gradient(135deg,#C5E86C,#7FD3A0)!important;color:#0E1A07!important;border-color:transparent!important;font-weight:900;box-shadow:0 8px 24px #9BE07A33;animation:pvGlow 2.6s ease-in-out infinite}
#main .action-row .btn.pv-finish:not(.secondary):not(.ghost){background:linear-gradient(135deg,#D8F28F,#8ED36B)!important;color:#0E1A07!important;border-color:transparent!important}
.btn.pv-finish svg{width:17px;height:17px;stroke-width:2.8;margin-inline-end:4px;vertical-align:-3px}
@keyframes pvGlow{50%{box-shadow:0 8px 30px #9BE07A66}}
.pv-closed{display:flex;align-items:center;gap:10px;margin:12px 0 6px;padding:11px 14px;border-radius:15px;background:linear-gradient(110deg,#C5E86C1f,#7FD3A00d);border:1px solid #C5E86C55;font-size:12.5px;line-height:1.8;color:var(--v8-t2,#B9BEC7);animation:pvIn .45s both}
.pv-closed b{color:#D8F28F;font-weight:900}
.pv-closed svg{flex:0 0 18px;width:18px;height:18px;color:#C5E86C}
.pv-closed.soft{background:#ffffff08;border-color:#ffffff1a}
.pv-closed.soft svg{color:var(--v8-t3,#8E95A0)}

/* the summary tiles are buttons that open a dialog */
.pv-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
button.metric.pv-metric{all:unset;box-sizing:border-box;position:relative;display:grid;gap:4px;min-width:0;padding:18px 20px;border-radius:22px;border:1px solid var(--v8-line,#ffffff14);background:linear-gradient(160deg,#ffffff0b,#ffffff03);cursor:pointer;text-align:start;color:var(--v8-t1,#F4F5F7);font:inherit;transition:transform .25s cubic-bezier(.3,1.4,.5,1),border-color .25s,background .25s;animation:pvIn .45s both}
button.metric.pv-metric:hover{transform:translateY(-3px);border-color:#FF946666;background:linear-gradient(160deg,#FF946614,#ffffff03)}
button.metric.pv-metric:active{transform:scale(.97)}
button.metric.pv-metric:focus-visible{outline:2px solid #FFB08F;outline-offset:3px}
button.metric.pv-metric>div{font-size:13px;font-weight:800;color:var(--v8-t2,#B9BEC7)}
button.metric.pv-metric>small{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--v8-t3,#8E95A0)}
button.metric.pv-metric>small em .chev{width:12px;height:12px;vertical-align:-2px}
button.metric.pv-metric>small em{display:inline-flex!important;align-items:center;gap:2px;font-style:normal;font-size:11px;font-weight:900;color:#FFB08F;white-space:nowrap}
button.metric.pv-metric.w{border-color:#7CC7FF33}
button.metric.pv-metric.w>small em{color:#7CC7FF}

/* the detail dialogs */
.pv-pop-sub{margin:-4px 0 10px!important;font-size:12px}
.pv-pop{display:grid;gap:10px;max-height:min(62vh,560px);overflow:auto;padding:2px;overscroll-behavior:contain}
.pv-pop-day{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:16px;background:#ffffff06;border:1px solid #ffffff12;animation:pvIn .35s both}
.pv-pop-day.ok{border-color:#C5E86C40;background:#C5E86C0d}
.pv-pop-day.no{border-color:#FF946640;background:#FF94660a}
.pv-pop-ic{flex:0 0 30px;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#ffffff10;color:var(--v8-t2,#B9BEC7);font-weight:900}
.pv-pop-day.ok .pv-pop-ic{background:linear-gradient(135deg,#D8F28F,#8ED36B);color:#10200A}
.pv-pop-ic svg{width:16px;height:16px;stroke-width:3}
.pv-pop-day>div{display:grid;gap:2px;min-width:0}
.pv-pop-day b{font-size:14px;font-weight:900}
.pv-pop-day small{font-size:12px;line-height:1.8;color:var(--v8-t2,#B9BEC7);overflow-wrap:anywhere}
.pv-pop-block{display:grid;gap:8px;padding:12px 14px;border-radius:16px;background:#ffffff05;border:1px solid #ffffff12;animation:pvIn .35s both}
.pv-pop-block h3{margin:0;font-size:14px;font-weight:900;color:var(--v8-t1,#F4F5F7)}
.pv-pop-plan{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--v8-t2,#B9BEC7)}
.pv-pop-plan b{min-width:0;overflow-wrap:anywhere}
.pv-pop-plan span{white-space:nowrap;font-weight:800;color:#FFB08F}
.pv-pop-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.pv-pop-list li{display:flex;align-items:center;gap:8px;font-size:13px;min-width:0;overflow-wrap:anywhere}
.pv-pop-list svg{flex:0 0 16px;width:16px;height:16px;padding:2px;border-radius:6px;background:linear-gradient(135deg,#ffa280,#ff5618);color:#1A0B05;stroke-width:3}
.pv-pop-ex{display:grid;gap:2px;padding:8px 0;border-top:1px dashed #ffffff14}
.pv-pop-ex:first-of-type{border-top:0;padding-top:0}
.pv-pop-ex b{font-size:13.5px;font-weight:900;overflow-wrap:anywhere}
.pv-pop-ex .pv-sets{margin-top:4px}

/* the coach's workspace inside a student's page */
.pv-embed{display:grid;gap:18px;margin:6px 0 4px}
.pv-file-title{margin:26px 0 10px;font-size:20px;font-weight:900}

/* «شاگردها» */
.st-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:4px 0 16px}
.st-group{all:unset;box-sizing:border-box;position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;border-radius:24px;border:1px solid var(--v8-line,#ffffff14);background:linear-gradient(150deg,#ffffff0a,#ffffff02);cursor:pointer;color:var(--v8-t1,#F4F5F7);font:inherit;transition:transform .3s cubic-bezier(.3,1.4,.5,1),border-color .3s,box-shadow .3s;animation:pvIn .5s both}
.st-group+.st-group{animation-delay:.07s}
.st-group::after{content:"";position:absolute;inset:auto -30% -60% auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#7CC7FF22,transparent 70%);transition:transform .6s;pointer-events:none}
.st-group.private::after{background:radial-gradient(circle,#FFC24A26,transparent 70%)}
.st-group:hover{transform:translateY(-3px)}
.st-group:hover::after{transform:scale(1.25)}
.st-group:focus-visible{outline:2px solid #FFB08F;outline-offset:3px}
.st-group.on{border-color:#7CC7FF77;box-shadow:0 12px 34px #7CC7FF1a}
.st-group.private.on{border-color:#FFC24A88;box-shadow:0 12px 34px #FFC24A1f}
.st-group-ic{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#7CC7FF1f;color:#7CC7FF}
.st-group.private .st-group-ic{background:#FFC24A24;color:#FFC24A}
.st-group-ic svg{width:22px;height:22px}
.st-group-tx{display:grid;gap:3px;min-width:0}
.st-group-tx b{font-size:16px;font-weight:900}
.st-group-tx small{font-size:12px;line-height:1.7;color:var(--v8-t2,#B9BEC7)}
.st-group-n{display:grid;justify-items:end;gap:6px}
.st-group-n strong{font-size:30px;line-height:1;font-weight:900;font-family:SportDigits,Yekan,sans-serif}
.st-faces{display:flex;flex-direction:row-reverse}
.st-face{width:24px;height:24px;margin-inline-start:-7px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:900;color:#10131A;border:2px solid var(--v8-bg,#0B0D12)}
.st-face.mint{background:#7FD3A0}.st-face.lime{background:#C5E86C}.st-face.peach{background:#FFB08F}.st-face.sky{background:#7CC7FF}
.st-list .panel-title h2 small{font-size:12px;font-weight:700;color:var(--v8-t3,#8E95A0);margin-inline-start:6px}
.st-rows{display:grid;gap:8px;margin-top:10px}
.st-row{all:unset;box-sizing:border-box;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;border:1px solid #ffffff10;background:#ffffff05;cursor:pointer;color:var(--v8-t1,#F4F5F7);font:inherit;transition:background .25s,border-color .25s,transform .25s;animation:pvIn .4s both;animation-delay:calc(var(--i,0)*35ms)}
.st-row:hover{background:#ffffff0b;border-color:#FF946655;transform:translateX(-3px)}
.st-row:focus-visible{outline:2px solid #FFB08F;outline-offset:2px}
.st-row-tx{display:grid;gap:3px;min-width:0}
.st-row-tx b{font-size:14.5px;font-weight:900;overflow-wrap:anywhere}
.st-row-tx small{font-size:12px;color:var(--v8-t2,#B9BEC7);overflow-wrap:anywhere}
.st-go{width:20px;height:20px;color:var(--v8-t3,#8E95A0);transition:transform .25s,color .25s}
.st-row:hover .st-go{transform:translateX(-3px);color:#FFB08F}
.st-code{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}
.st-code>div:first-child{display:grid;gap:3px;min-width:0}
.st-code small{font-size:12px;color:var(--v8-t3,#8E95A0)}
.st-code strong{font-size:22px;letter-spacing:.06em;font-family:SportDigits,ui-monospace,monospace;overflow-wrap:anywhere}
.st-code span{font-size:12px;line-height:1.8;color:var(--v8-t2,#B9BEC7)}

/* the session page of a finished day */
.ss-closed{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;border-color:#C5E86C55!important;background:linear-gradient(120deg,#C5E86C17,#7FD3A008)!important;animation:pvIn .45s both}
.ss-closed.absent{border-color:#FF946655!important;background:linear-gradient(120deg,#FF946614,transparent)!important}
.ss-closed-ic{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#D8F28F,#8ED36B);color:#10200A}
.ss-closed.absent .ss-closed-ic{background:#FF946633;color:#FFB08F}
.ss-closed-ic svg{width:26px;height:26px;stroke-width:2.6}
.ss-closed-tx h2{margin:0 0 4px;font-size:20px;font-weight:900}
.ss-closed-tx p{margin:0;font-size:13px;color:var(--v8-t2,#B9BEC7)}
.ss-closed .ss-sum{grid-column:1/-1;margin:4px 0 0}
.ss-recap{margin-top:16px}
.ss-recap h2{margin:0 0 12px;font-size:17px}

@media(max-width:600px){
  .st-groups{grid-template-columns:minmax(0,1fr);gap:10px}
  .st-group{padding:14px;gap:12px;border-radius:20px}
  .st-group-ic{width:40px;height:40px;border-radius:13px}
  .st-group-n strong{font-size:26px}
  .pv-tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .pv-tiles:has(>:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pv-tiles:has(>:nth-child(3):last-child) .metric strong{font-size:30px!important}
  .pv-tiles:has(>:nth-child(3):last-child) button.metric.pv-metric{padding:12px 10px}
  .pv-tiles:has(>:nth-child(3):last-child) button.metric.pv-metric>div{font-size:12px}
  button.metric.pv-metric{padding:14px;border-radius:18px}
  button.metric.pv-metric>small{flex-wrap:wrap;gap:2px 8px}
  .ss-closed-ic{width:44px;height:44px;border-radius:14px}
  .ss-closed-tx h2{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.btn.pv-finish,.st-group,.st-row,button.metric.pv-metric,.pv-pop-day,.pv-pop-block,.pv-closed,.ss-closed{animation:none}}
