/* Only participation gets a colour. Estimate values never drive milestones. */
.milestone-tracker{--check-green:#217650;--check-amber:#9a630c;--check-line:#e4e4e7;border-top:1px solid var(--line,#e4e4e7);border-bottom:1px solid var(--line,#e4e4e7);padding:28px 0 24px}
.milestone-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}
.milestone-heading h2{font-size:26px;letter-spacing:-.04em;margin:0 0 8px;line-height:1.15}
.milestone-heading p{font-size:13px;color:#71717a;margin:0;line-height:1.5}
.milestone-timing{text-align:right;font-size:12px;white-space:nowrap;color:#27272a;padding-top:3px}
.milestone-timing small{display:block;color:#71717a;font-size:11px;margin-top:5px}
.milestone-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:30px;align-items:start;margin:0 0 23px}
.milestone-person{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px}
.milestone-name{font-size:13px;font-weight:500;overflow-wrap:anywhere}
.milestone-count{display:flex;align-items:baseline;gap:4px;white-space:nowrap;font-variant-numeric:tabular-nums}
.milestone-count strong{font-size:21px;font-weight:600;letter-spacing:-.04em}.milestone-count>span{font-size:11px;color:#71717a}
.milestone-rail{position:relative;list-style:none;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0;padding:0;margin:0;isolation:isolate}
.milestone-rail:before{content:'';position:absolute;left:6.25%;right:6.25%;height:2px;top:15px;background:var(--check-line);z-index:-1}
.milestone{text-align:center;position:relative;min-width:0}
.milestone-node{width:32px;height:32px;display:inline-grid;place-items:center;position:relative;outline-offset:3px;border-radius:50%;cursor:help}
.milestone-node:focus-visible{outline:2px solid #52525b}
.milestone-dot{display:grid;place-items:center;width:26px;height:26px;border:1px solid #d4d4d8;background:#fff;border-radius:50%;color:#a1a1aa;font-size:14px;font-weight:600;box-shadow:0 0 0 5px #fff;line-height:1}
.done .milestone-dot{background:var(--check-green);border-color:var(--check-green);color:#fff}
.due .milestone-dot{border:2px solid #b47a1a;background:#fff;color:var(--check-amber);font-size:24px}
.missed .milestone-dot{border-color:#b47a1a;background:#fcf1db;color:var(--check-amber)}
.upcoming .milestone-dot{width:12px;height:12px;background:#f4f4f5;border-color:#d4d4d8}
.milestone-week{display:block;font-size:11px;line-height:1;margin-top:9px;color:#71717a;font-variant-numeric:tabular-nums}
.milestone-tip{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);font-size:11px;font-weight:400;white-space:nowrap;color:#fff;background:#18181b;padding:7px 10px;border-radius:5px;visibility:hidden;opacity:0;pointer-events:none;z-index:2;line-height:1.4}
.milestone-node:is(:hover,:focus) .milestone-tip{visibility:visible;opacity:1}
.milestone:first-child .milestone-tip{left:0;transform:none}.milestone:last-child .milestone-tip{left:auto;right:0;transform:none}
.milestone-legend{display:flex;gap:22px;flex-wrap:wrap;color:#71717a;font-size:11px;margin:7px 0 0 200px}
.milestone-legend>span{display:inline-flex;align-items:center;gap:7px}
.milestone-legend i{display:inline-grid;place-items:center;font-style:normal;line-height:1;width:14px;height:14px;border-radius:50%;font-size:10px;flex-shrink:0}
.legend-done{background:var(--check-green);color:#fff}.legend-due{border:1px solid #b47a1a;color:var(--check-amber);font-size:17px!important}.legend-missed{background:#fcf1db;color:var(--check-amber);border:1px solid #b47a1a}.legend-upcoming{background:#f4f4f5;border:1px solid #d4d4d8}
@media(max-width:740px){.milestone-tracker{padding:25px 0 22px}.milestone-heading{margin-bottom:24px;gap:16px}.milestone-heading h2{font-size:24px}.milestone-heading p{font-size:12px;max-width:170px}.milestone-timing{font-size:11px}.milestone-timing small{font-size:10px}.milestone-row{display:block;margin-bottom:23px}.milestone-person{margin-bottom:11px;min-height:25px}.milestone-count strong{font-size:20px}.milestone-legend{margin:0;gap:10px 15px;font-size:10px}.milestone-legend>span{gap:5px}.milestone-dot{box-shadow:0 0 0 3px #fff}}
