.dashboard-actions{display:flex;align-items:center;gap:9px}
.dashboard-page .page-head{margin-bottom:24px}
.dashboard-stats{margin-bottom:18px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.dashboard-card{min-width:0;padding:22px 24px}
.dashboard-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.dashboard-card-head h2{margin:0 0 5px;font-size:15px;letter-spacing:-.025em}
.dashboard-card-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.dashboard-meta{color:#78877d;font-size:10px;white-space:nowrap}
.distribution{display:flex;align-items:center;gap:34px;min-height:167px}
.donut{width:154px;height:154px;border-radius:50%;flex:none;display:grid;place-items:center}
.donut>div{width:113px;height:113px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.donut strong{font-size:27px;letter-spacing:-.055em;line-height:1}
.donut small{font-size:10px;color:var(--muted);margin-top:5px}
.distribution-legend{flex:1;min-width:140px;display:grid;gap:11px}
.distribution-legend>div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px}
.distribution-legend span{display:flex;align-items:center;gap:8px;color:#55645c}
.distribution-legend strong{font-variant-numeric:tabular-nums}
.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}
.legend-dot.good{background:#218161}.legend-dot.caution{background:#d6a157}.legend-dot.bad{background:#b95850}.legend-dot.neutral{background:#dce5dc}
.priority-list,.progress-list,.dashboard-activity{display:grid;gap:0}
.priority-item,.progress-item,.dashboard-activity button{width:100%;border:0;border-top:1px solid #ecf0eb;background:transparent;text-align:left;color:var(--ink)}
.priority-item:first-child,.progress-item:first-child,.dashboard-activity button:first-child{border-top:0}
.priority-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 1px}
.priority-item:hover,.progress-item:hover,.dashboard-activity button:hover{background:#fbfdfb}
.priority-marker{width:7px;height:7px;border-radius:50%}.priority-marker.caution{background:#d6a157}.priority-marker.bad{background:#b95850}
.priority-copy strong,.progress-copy strong,.dashboard-activity strong{display:block;font-size:11px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.priority-copy small,.progress-copy small,.dashboard-activity small{display:block;color:var(--muted);font-size:10px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.priority-item>span:last-child{font-size:15px;color:var(--green)}
.progress-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:11px 1px}
.progress-value{font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.progress-track{grid-column:1/-1;height:7px;border-radius:50px;background:#e7eee8;overflow:hidden}
.progress-track span{display:block;height:100%;border-radius:50px;background:#4d9e77}
.dashboard-activity button{display:grid;grid-template-columns:9px minmax(0,1fr);align-items:start;gap:11px;padding:10px 0}
.dashboard-activity .timeline-dot{margin-top:4px}
.timeline-panel{padding:20px 22px;margin-bottom:20px;overflow:hidden}
.timeline-panel .dashboard-card-head{margin-bottom:15px}
.work-timeline{display:flex;overflow-x:auto;padding:10px 2px 3px;scrollbar-width:thin}
.milestone{position:relative;flex:1 0 205px;min-width:205px;text-align:left;border:0;border-top:2px solid #dce5dd;background:transparent;padding:20px 18px 10px 4px;color:var(--ink)}
.milestone:before{content:"";position:absolute;top:-7px;left:5px;width:11px;height:11px;border-radius:50%;background:#d0dcd2;box-shadow:0 0 0 3px white}
.milestone.done:before{background:#218161}.milestone.issue:before{background:#b95850}.milestone.active:before{background:#d6a157}
.milestone.overdue:before{background:#c75048;box-shadow:0 0 0 3px white,0 0 0 7px #fbe8e5}
.milestone:hover strong{color:var(--green)}
.milestone-index{display:block;color:#88978b;font-size:10px;font-weight:800;letter-spacing:.08em;margin-bottom:7px}
.milestone strong{display:block;font-size:12px;min-height:17px;line-height:1.3}
.milestone small{display:block;color:var(--muted);font-size:10px;margin-top:7px}
.milestone-state{display:inline-flex;margin-top:12px;padding:5px 8px;border-radius:99px;background:#edf1ed;color:#65746b;font-size:9px;font-weight:800}
.milestone.done .milestone-state{background:#e5f5eb;color:#157657}.milestone.issue .milestone-state{background:#fcebe8;color:#aa443d}.milestone.active .milestone-state{background:#fff3de;color:#9a641a}
.milestone.overdue .milestone-state{background:#fce3df;color:#a63831}
.milestone-progress{display:block;color:#7a887e;font-size:9px;margin-top:8px}
.stage-footer{display:flex;align-items:center;gap:17px;flex-wrap:wrap}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr}.distribution{justify-content:center}.dashboard-card{padding:20px}}
@media(max-width:720px){.dashboard-actions{margin-top:15px;flex-wrap:wrap}.dashboard-actions .filter-select{min-width:165px}.dashboard-stats{grid-template-columns:repeat(2,1fr)}.distribution{gap:18px}.donut{width:130px;height:130px}.donut>div{width:95px;height:95px}.donut strong{font-size:23px}.timeline-panel{padding:18px}.milestone{flex-basis:185px;min-width:185px}}
@media(max-width:420px){.distribution{align-items:flex-start;gap:12px}.donut{width:110px;height:110px}.donut>div{width:80px;height:80px}.donut strong{font-size:20px}.distribution-legend{min-width:0}.distribution-legend>div{font-size:10px}}
@media print{.dashboard-actions,.dashboard-page .text-link,.stage-footer{display:none!important}.dashboard-grid{break-inside:avoid}.milestone{break-inside:avoid}}
