/* ===== аккаунт в шапке ===== */
.acct{position:relative;margin-left:auto}
.site-in .ind:not(:empty) ~ .acct{margin-left:12px}
.acct-btn{display:flex;align-items:center;gap:8px;background:transparent;color:var(--ink);padding:4px 8px 4px 4px;border-radius:999px;border:1px solid var(--line)}
.acct-btn:hover{background:var(--surface)}
.acct-btn[aria-expanded="true"]{background:var(--surface);border-color:var(--ink-3)}
.acct-av{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:14px;line-height:1}
.acct-mail{display:none;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.acct-btn svg{width:12px;height:12px;fill:none;stroke:var(--ink-3);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:720px){ .acct-mail{display:block} }
.acct-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:6px;display:flex;flex-direction:column;box-shadow:0 18px 40px -20px rgba(18,24,33,.45);z-index:30}
.acct-who{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:4px}
.acct-who span{font-size:12px;color:var(--ink-3)}
.acct-who b{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct-menu button{background:none;color:var(--ink);text-align:left;padding:11px 12px;border-radius:10px;font-size:15px}
.acct-menu button:hover{background:var(--bg)}
.acct-menu .acct-out{color:var(--lo)}

/* ===== личный кабинет ===== */
.cab h2{margin-top:-6px}
.cab-stats b{font-size:20px}
.cab-grow{margin:0;font-size:15px;color:var(--ink-2)}
.cab-grow b{font-family:var(--mono);color:var(--ink)}
.cab-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cab-list li{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.cab-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.cab-d{font-family:var(--mono);font-size:12px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.cab-i{font-family:var(--mono);font-size:13px;color:var(--ink-3)}
.cab-t{margin:0;font-weight:600;font-size:16px;line-height:1.35}
.cab-m{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--ink-2)}
.cab-m span,.cab-i{font-variant-numeric:tabular-nums}
.cab-list b{font-family:var(--mono);font-weight:700}
.cab-list b.up{color:var(--hi)} .cab-list b.dn{color:var(--lo)} .cab-list b.eq{color:var(--ink-2)}
.cab-list .cab-empty{color:var(--ink-3);font-size:15px;text-align:center;padding:24px 16px}

/* ===== кабинет: календарь серии ===== */
.cab-stats{grid-template-columns:repeat(4,1fr)}
@media (max-width:560px){ .cab-stats{grid-template-columns:repeat(2,1fr)} }
.cal{gap:14px}
.cal-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cal-h > b{font-weight:600;font-size:16px}
.cal-nav{display:flex;align-items:center;gap:6px;font-family:var(--display);font-weight:700;font-size:15px}
.cal-nav span{min-width:128px;text-align:center}
.cal-nav button{width:30px;height:30px;border-radius:50%;background:none;color:var(--ink-2);font-size:20px;line-height:1;display:grid;place-items:center}
.cal-nav button:hover:not(:disabled){background:var(--bg);color:var(--ink)}
.cal-nav button:disabled{opacity:.3;cursor:default}
.cal-scroll{overflow-x:auto;margin-inline:-4px;padding:2px 4px 6px;scrollbar-width:thin}
.cal-row{display:flex;gap:14px;width:max-content;margin-inline:auto}
.cal-wk{display:flex;gap:4px}
.cal-d{display:flex;flex-direction:column;align-items:center;gap:4px;width:34px}
.cal-d .wd{font-size:11px;color:var(--ink-3);line-height:1}
.cal-d .dn{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;width:30px;text-align:center;border-radius:8px;padding:2px 0;line-height:1.2}
.cal-d.is-today .dn{background:var(--ink);color:var(--bg)}
.cal-d.is-today .wd{color:var(--ink)}
.dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--bg);flex:none}
.dot svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.dot.ok{background:var(--hi)}
.dot.miss{background:var(--lo)}
.dot.frz{background:var(--accent)}
.dot.frz svg{stroke-width:1.8}
.dot.none{background:var(--surface-2)}
.dot.future{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
.dot.todo{background:transparent;box-shadow:inset 0 0 0 2px var(--accent)}
.cal-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--ink-2);justify-content:center}
.cal-legend span{display:inline-flex;align-items:center;gap:6px}
.cal-legend .dot{width:18px;height:18px}
.cal-legend .dot svg{width:11px;height:11px}
.cal-ch{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px}
.cal-ch > div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 220px}
.cal-ch b{font-weight:600}
.cal-ch span{font-size:13px;color:var(--ink-2)}
.cal-prog{flex:1 1 200px;height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.cal-prog i{display:block;height:100%;background:var(--hi);border-radius:99px}
.cal-start{width:auto;padding:12px 20px;font-size:15px}
.cal-scroll{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);padding-inline:14px;margin-inline:-14px}
@media (min-width:720px){
  .cal-scroll{overflow:visible;-webkit-mask-image:none;mask-image:none;padding-inline:0;margin-inline:0}
  .cal-row{flex-wrap:wrap;width:auto;row-gap:16px;justify-content:flex-start}
}

/* ===== кабинет v2: прогресс, цель, история, настройки ===== */
.cab-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cab-head h2{margin:2px 0 0}
.cab-head .cta{width:auto;padding:12px 22px;font-size:15px}
.cab .card .label{margin-bottom:2px}
.cab-prog{gap:10px}
.cab-prog-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cab-big{display:flex;align-items:baseline;gap:10px;font-family:var(--display);font-weight:700}
.cab-big span{font-size:24px;color:var(--ink-3)}
.cab-big i{font-style:normal;color:var(--ink-3);font-size:20px}
.cab-big b{font-size:clamp(40px,8vw,56px);line-height:1;color:var(--hi)}
.cab-delta{display:flex;flex-direction:column;align-items:flex-end;font-family:var(--mono);font-weight:700;font-size:20px}
.cab-delta span{font-family:var(--font,inherit);font-weight:400;font-size:13px;color:var(--ink-2)}
.cab-delta.up{color:var(--hi)} .cab-delta.dn{color:var(--lo)} .cab-delta.eq{color:var(--ink-2)}
.cab-spark{width:100%;height:84px;display:block;overflow:visible}
.cab-spark .a{fill:var(--hi-soft);stroke:none}
.cab-spark .l{fill:none;stroke:var(--hi);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.cab-spark circle{fill:var(--hi);stroke:var(--surface);stroke-width:2}
.cab-cap{margin:0;font-size:13px;color:var(--ink-3)}
.cab-empty-t{margin:0;font-size:15px;color:var(--ink-2);line-height:1.5}
.cab-empty-t b{color:var(--ink)}
.cab-next{gap:6px;background:var(--mid-soft);border-color:transparent}
.cab-next-t{margin:0;font-size:16px;line-height:1.45;font-weight:500}
.cab-hint{margin:-4px 0 0;font-size:14px;color:var(--ink-2);background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:10px 14px}
.cab-goal{gap:12px}
.cab-goal-row,.cab-rem{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cab-goal-row b{font-size:17px}
.cab-rem{font-size:14px;color:var(--ink-2);border-top:1px solid var(--line);padding-top:12px}
.cab-ev{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:12px}
.cab-ev span{font-size:14px;color:var(--ink-2)}
.cab-btns{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:6px}
.cab-btns .ghost,.cab-btns .cta{width:auto;padding:10px 18px;font-size:15px}
.cab-histh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cab-flt{display:flex;gap:6px}
.cab-flt button{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:6px 12px;font-size:13px}
.cab-flt button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.cab-list li{padding:0}
.cab-list details{padding:14px 16px}
.cab-list summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:6px;position:relative;padding-right:22px}
.cab-list summary::-webkit-details-marker{display:none}
.cab-list summary::after{content:"";position:absolute;right:2px;top:6px;width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);transition:transform .15s}
.cab-list details[open] summary::after{transform:rotate(-135deg);top:10px}
.cab-met{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.cab-met>div{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--ink-2)}
.cab-met>div span:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums}
.cab-line{margin:10px 0 0;font-size:14px;line-height:1.45;color:var(--ink-2)}
.cab-line b{font-family:inherit;color:var(--ink)}
@media (min-width:720px){ .cab-met{grid-template-columns:1fr 1fr;column-gap:28px} }
.cab-more{align-self:center;width:auto;padding:10px 22px}
.cab-set{gap:18px}
.cab-sec{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:14px}
.cab-set .label + .cab-sec{border-top:0;padding-top:0}
.cab-chips{display:flex;flex-wrap:wrap;gap:8px}
.cab-rem-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cab-rem-row input{font:inherit;font-size:16px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
.cab-rem-row span{font-size:13px;color:var(--ink-3);flex:1 1 200px}
.cab-mail{font-size:14px;color:var(--ink-2)}
.cab-del{border:1px solid var(--lo);border-radius:12px;padding:12px 14px;background:var(--lo-soft)}
.cab-del p{margin:0 0 6px;font-size:14px}
.cab-err{color:var(--lo);font-weight:600}
.cta.danger{background:var(--lo);color:#fff}
.link.danger{color:var(--lo)}

.cab-favs{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.cab-favs li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px}
.cab-favs li:first-child{border-top:0;padding-top:0}
.cab-favs span{font-size:15px;line-height:1.35;min-width:0}
.cab-favs div{display:flex;align-items:center;gap:6px;flex:none}
.cab-favs .ghost{width:auto;padding:8px 14px;font-size:14px}
