/* CoachPulse v2 — Activity screen styles (prefix ac-) */

/* ── Toolbar ── */
.ac-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.ac-seg { margin-bottom:0; width:auto; display:inline-flex; }
.ac-seg button { flex:0 0 auto; padding:0 16px; }
.ac-seg button:disabled { color:var(--txt-3); cursor:default; opacity:0.6; }
.ac-markall { background:none; border:none; color:var(--accent); font-size:12px; font-weight:700; padding:6px 2px; flex-shrink:0; }
.ac-chip-sep { flex-shrink:0; width:1px; align-self:stretch; background:var(--line-2); margin:4px 2px; }

/* ── Activity rows ── */
.act-row {
    display:flex; align-items:center; gap:12px;
    background:var(--card); border:1px solid var(--line); border-radius:16px;
    padding:12px 14px; margin-bottom:8px; position:relative; cursor:pointer;
}
.act-row:hover { border-color:var(--line-2); }
.act-icon { width:40px; height:40px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.act-body { flex:1; min-width:0; }
.act-title { font-size:13.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.act-stats { font-size:11.5px; color:var(--txt-2); margin-top:3px; display:flex; gap:9px; flex-wrap:wrap; }
.act-stats b { color:var(--txt); font-weight:600; }
.act-review { display:inline-flex; align-items:center; gap:4px; font-size:10.5px; font-weight:600; color:var(--purple); margin-top:4px; }
.tss { flex-shrink:0; text-align:center; min-width:38px; }
.tss .n { font-family:var(--disp); font-size:19px; font-weight:700; }
.tss .l { font-size:8.5px; font-weight:700; letter-spacing:0.1em; color:var(--txt-3); }
.unread { position:absolute; top:12px; right:12px; width:8px; height:8px; border-radius:50%; background:var(--accent); }

/* Planned (dimmed) row */
.act-row.ac-plan { background:transparent; border-style:dashed; opacity:0.8; }
.act-row.ac-plan .act-title { color:var(--txt-2); }
.act-row.ac-plan .pill { flex-shrink:0; }

/* Multisport segment summary */
.ac-multiseg { display:flex; gap:12px; margin-top:5px; font-size:11px; color:var(--txt-2); }
.ac-multiseg span { display:inline-flex; align-items:center; gap:4px; }
.ac-multiseg b { color:var(--txt); font-weight:600; font-size:11px; }

/* ── Pinned coach cards ── */
.ac-pin {
    display:flex; align-items:center; gap:12px;
    background:var(--card); border:1px solid rgba(167,139,250,0.22); border-radius:16px;
    padding:12px 14px; margin-bottom:8px; position:relative; cursor:pointer;
}
.ac-pin:hover { border-color:rgba(167,139,250,0.45); }
.ac-pin-ic {
    width:34px; height:34px; border-radius:50%; flex-shrink:0;
    background:rgba(167,139,250,0.12); color:var(--purple);
    display:flex; align-items:center; justify-content:center;
}
.ac-pin-body { flex:1; min-width:0; }
.ac-pin-kind { font-size:10px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:var(--purple); }
.ac-pin-title { font-size:12.5px; color:var(--txt-2); margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ── Detail: meta chips + stat grid ── */
.ac-det-meta { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.ac-det-sub { font-size:12.5px; color:var(--txt-2); margin-top:6px; }
.ac-det-grid { margin-bottom:2px; }
.ac-det-actions { display:flex; gap:8px; margin-top:22px; padding-bottom:8px; }
.ac-det-actions .btn { flex:1; }

/* ── Zones bar ── */
.ac-zones { display:flex; height:26px; border-radius:8px; overflow:hidden; gap:2px; }
.ac-zones div { display:flex; align-items:center; justify-content:center; font-size:9.5px; font-weight:700; color:rgba(255,255,255,0.85); min-width:0; }
.ac-zone-lbl { display:flex; justify-content:space-between; font-size:10px; color:var(--txt-3); margin-top:6px; }

/* ── Planned steps (detail + prescribed accordion) ── */
.ac-step { display:flex; align-items:flex-start; gap:11px; padding:11px 2px; border-bottom:1px solid var(--line); }
.ac-step:last-child { border-bottom:none; }
.ac-step-dot { width:7px; height:7px; border-radius:50%; background:var(--accent); flex-shrink:0; margin-top:6px; }
.ac-step-txt { font-size:12.5px; color:var(--txt-2); line-height:1.55; }
.ac-step-txt strong { color:var(--txt); }
.ac-equip { font-size:12px; color:var(--txt-2); margin-top:12px; }
.ac-equip strong { color:var(--txt); }

/* ── Prescribed accordion ── */
.ac-acc { background:var(--card); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.ac-acc summary {
    list-style:none; cursor:pointer; padding:13px 16px;
    font-size:13px; font-weight:600; display:flex; align-items:center; gap:8px;
}
.ac-acc summary::-webkit-details-marker { display:none; }
.ac-acc summary::before {
    content:''; width:7px; height:7px; flex-shrink:0;
    border-right:1.8px solid var(--txt-3); border-bottom:1.8px solid var(--txt-3);
    transform:rotate(-45deg); transition:transform 0.15s;
}
.ac-acc[open] summary::before { transform:rotate(45deg); }
.ac-acc-body { padding:0 16px 14px; }
.ac-acc-body .section-label { margin-top:10px; }
.ac-acc-body .card { background:var(--card-2); }

/* ── Coach review card (detail) ── */
.ac-review-card { border-color:rgba(167,139,250,0.25); }
.ac-review-card .grade { float:right; margin-left:10px; }
.ac-review-when { font-size:10.5px; color:var(--txt-3); margin-top:10px; text-align:right; }
.review-caption { background:var(--card-2); border:1px solid var(--line); border-radius:10px; padding:10px 12px; margin-bottom:10px; }
.review-cap-row { display:flex; gap:8px; align-items:baseline; font-size:12px; padding:2px 0; flex-wrap:wrap; }
.review-cap-row .rc-label { font-size:9.5px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:var(--txt-3); min-width:56px; }
.review-cap-row .rc-val { color:var(--txt); font-weight:600; }
.review-cap-row .rc-extra { color:var(--txt-2); font-size:11.5px; }

/* ── Coach verdict row on activity cards (same UI as Today's done card) ── */
.ac-verdict {
    display:flex; align-items:center; gap:8px; flex-wrap:wrap;
    margin-top:10px; padding-top:10px; border-top:1px solid var(--line);
}
.ac-verdict-txt { font-size:12px; color:var(--txt-2); flex:1; min-width:140px; }
.ac-verdict-more { font-size:11.5px; font-weight:700; color:var(--accent); white-space:nowrap; }

/* ── Calendar view ── */
.ac-cal-nav { display:flex; align-items:center; justify-content:center; gap:14px; margin:4px 0 12px; }
.ac-cal-title { font-size:14px; font-weight:700; min-width:150px; text-align:center; }
.ac-cal-arrow {
    width:32px; height:32px; border-radius:50%; background:var(--card); border:1px solid var(--line);
    color:var(--txt-2); font-size:16px; line-height:1; display:flex; align-items:center; justify-content:center;
}
.ac-cal-grid { display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); gap:4px; }
.ac-cal-dow { text-align:center; font-size:9.5px; font-weight:700; letter-spacing:0.1em; color:var(--txt-3); padding:4px 0 6px; }
.ac-cal-cell {
    min-height:64px; border-radius:10px; background:var(--card); border:1px solid var(--line);
    padding:5px 4px 4px; display:flex; flex-direction:column; gap:3px; overflow:hidden; min-width:0;
}
.ac-cal-cell.today { border-color:rgba(0,212,170,0.45); background:rgba(0,212,170,0.05); }
.ac-cal-empty { background:transparent; border-color:transparent; }
.ac-cal-num { font-size:10px; font-weight:700; color:var(--txt-3); }
.ac-cal-cell.today .ac-cal-num { color:var(--accent); }
.ac-cal-chip {
    display:block; width:100%; text-align:left; border:none; border-left:3px solid;
    border-radius:4px; font-size:9.5px; font-weight:600; padding:3px 4px;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; cursor:pointer;
}
.ac-cal-chip.planned { opacity:0.55; }
.ac-cal-more { font-size:9px; font-weight:800; color:var(--txt-3); padding-left:4px; }
@media (min-width:1024px) {
    .ac-cal-cell { min-height:96px; padding:8px 6px 6px; }
    .ac-cal-chip { font-size:11px; padding:4px 6px; }
    .ac-cal-num { font-size:11px; }
}

/* ── Filter groups ── */
.ac-filters { display:flex; flex-direction:column; gap:2px; margin-bottom:14px; }
.ac-fgroup { display:flex; align-items:center; gap:10px; min-width:0; }
.ac-flabel {
    font-size:9.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--txt-3); width:46px; flex-shrink:0;
}
.ac-fchips { flex:1; margin-bottom:0; padding-bottom:2px; }

@media (min-width:1024px) {
    .ac-det-grid { grid-template-columns:repeat(3, 1fr); }
    .ac-filters { flex-direction:row; flex-wrap:wrap; gap:10px; align-items:center; }
    .ac-fgroup {
        background:var(--card); border:1px solid var(--line); border-radius:999px;
        padding:4px 8px 4px 14px; gap:10px; flex:0 0 auto;
    }
    .ac-flabel { width:auto; }
    .ac-fchips { overflow:visible; gap:2px; }
    .ac-fchips .chip { background:transparent; border-color:transparent; padding:6px 11px; }
    .ac-fchips .chip:hover { color:var(--txt); }
    .ac-fchips .chip.on { background:var(--accent-dim); border-color:rgba(0,212,170,0.35); color:var(--accent); }
}
