    /* Milestone achievement popups (50s, 100s, partnerships) */
    .milestone-dialog { width: min(560px, 94vw); padding: 0; overflow: hidden; border: 1px solid rgba(var(--accent-rgb), .45); box-shadow: 0 24px 70px rgba(0,0,0,.55), 0 0 0 1px rgba(0,0,0,.4), 0 0 38px rgba(var(--accent-rgb), .12); animation: milestonePop 0.22s ease-out; }
    @keyframes milestonePop { from { transform: scale(0.92); opacity: 0; } to { transform: scale(1); opacity: 1; } }
    .milestone-titlebar { background: linear-gradient(180deg, #3a4a41, #1d2823); padding: 9px 16px; font-weight: 700; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: #dce8e1; border-bottom: 1px solid rgba(var(--accent-rgb), .35); }
    .milestone-body { padding: 18px 22px 8px; background: radial-gradient(120% 90% at 100% 0%, rgba(var(--accent-rgb), .08), transparent 55%); }
    .milestone-ribbon { display: inline-block; padding: 3px 10px; margin-bottom: 12px; border: 1px solid rgba(var(--accent-rgb), .55); border-radius: 999px; background: rgba(var(--accent-rgb), .14); color: var(--accent); font-size: 11px; font-weight: 900; letter-spacing: 0.16em; }
    .milestone-headline { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
    .milestone-name { font-size: 30px; font-weight: 800; color: #f2faf5; line-height: 1.05; }
    .milestone-sub { display: flex; align-items: center; gap: 10px; margin-top: 5px; color: rgba(255,255,255,.55); font-size: 12px; font-weight: 700; letter-spacing: 0.04em; }
    .milestone-notout { color: #ffd24d; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
    .milestone-big { font-size: 56px; font-weight: 900; color: #fff; line-height: 1; text-shadow: 0 0 26px rgba(var(--accent-rgb), .35); }
    .milestone-big small { font-size: 26px; color: var(--accent); vertical-align: super; }
    .milestone-stats { display: flex; gap: 24px; flex-wrap: wrap; margin: 18px 0 6px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.1); }
    .milestone-stats span { display: flex; flex-direction: column; gap: 3px; font-size: 10px; color: rgba(255,255,255,0.5); text-transform: uppercase; letter-spacing: 0.1em; }
    .milestone-stats b { color: #eafff4; font-size: 17px; letter-spacing: 0; }
    .milestone-flavour { margin-top: 14px; padding: 10px 12px; border-left: 3px solid var(--accent); color: #cfe4d8; font-size: 13px; font-style: italic; background: rgba(0,0,0,0.28); border-radius: 0 6px 6px 0; }
    .milestone-partnership { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; padding: 6px 0 10px; }
    .pship-batter { text-align: center; display: grid; gap: 2px; }
    .pship-batter b { font-size: 20px; color: #f2faf5; }
    .pship-batter span { font-size: 14px; color: #cfe4d8; }
    .pship-centre { text-align: center; display: grid; gap: 4px; padding: 0 10px; }
    .pship-centre small { font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: rgba(255,255,255,0.55); }
    .pship-centre b { font-size: 16px; color: #ffd24d; }
    .milestone-actions { display: flex; justify-content: flex-end; padding: 6px 22px 18px; }

    /* Test session-break popups (Lunch / Tea / Stumps) - reuse the milestone shell */
    .session-break-dialog { width: min(460px, 92vw); padding: 0; overflow: hidden; border: 1px solid rgba(var(--accent-rgb), .45); box-shadow: 0 24px 70px rgba(0,0,0,.55), 0 0 0 1px rgba(0,0,0,.4), 0 0 38px rgba(var(--accent-rgb), .12); animation: milestonePop 0.22s ease-out; }
    .session-break-titlebar { background: linear-gradient(180deg, #3a4a41, #1d2823); padding: 9px 16px; font-weight: 700; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: #dce8e1; border-bottom: 1px solid rgba(var(--accent-rgb), .35); }
    .session-break-body { padding: 18px 22px 8px; background: radial-gradient(120% 90% at 100% 0%, rgba(var(--accent-rgb), .08), transparent 55%); text-align: center; }
    .session-break-ribbon { display: inline-block; padding: 3px 10px; margin-bottom: 12px; border: 1px solid rgba(var(--accent-rgb), .55); border-radius: 999px; background: rgba(var(--accent-rgb), .14); color: var(--accent); font-size: 11px; font-weight: 900; letter-spacing: 0.12em; }
    .session-break-clock { font-size: 13px; color: rgba(255,255,255,.6); font-weight: 700; letter-spacing: 0.04em; margin-bottom: 10px; }
    .session-break-score { display: grid; gap: 2px; margin: 6px 0 4px; }
    .session-break-team { font-size: 13px; color: rgba(255,255,255,.6); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; }
    .session-break-runs { font-size: 44px; font-weight: 900; color: #fff; line-height: 1; text-shadow: 0 0 26px rgba(var(--accent-rgb), .35); }
    .session-break-overs { font-size: 13px; color: #cfe4d8; }
    .session-break-flavour { margin-top: 16px; padding: 10px 12px; border-left: 3px solid var(--accent); color: #cfe4d8; font-size: 13px; font-style: italic; background: rgba(0,0,0,0.28); border-radius: 0 6px 6px 0; text-align: left; }
