.project-effort-panel{margin:0 0 14px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.project-effort-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.project-effort-toolbar h3{margin:0 0 4px;font-size:14px;font-weight:600}
.project-effort-toolbar p{margin:0;color:var(--muted);font-size:10px}
.project-effort-toolbar label{display:grid;gap:5px;color:var(--muted);font-size:10px}
.project-effort-toolbar select{min-width:150px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font:500 11px inherit}
.project-effort-visual{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);align-items:center;gap:28px;min-height:320px;padding:12px 5%}
.project-effort-donut{position:relative;display:grid;place-items:center;width:min(300px,100%);aspect-ratio:1;margin:auto;border-radius:50%}
.project-effort-donut::before{position:absolute;inset:22%;border-radius:50%;background:var(--surface);content:""}
.project-effort-donut>div{position:relative;display:grid;justify-items:center;gap:3px;text-align:center}
.project-effort-donut strong{font-size:28px;font-weight:600;letter-spacing:-.04em}
.project-effort-donut small{color:var(--muted);font-size:10px}
.project-effort-legend{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;max-height:300px;overflow:auto}
.project-effort-legend>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px}
.project-effort-legend i{width:9px;height:9px;border-radius:50%}
.project-effort-legend span{overflow:hidden;color:var(--ink);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.project-effort-legend b{font-size:10px;font-weight:600}
.project-effort-legend small{grid-column:2/4;color:var(--muted);font-size:9px}
.project-effort-note{display:block;margin-top:5px;color:var(--muted);font-size:9px}
.project-effort-empty{display:grid;place-items:center;min-height:280px;color:var(--muted);font-size:11px}
.dark .project-effort-donut::before{background:var(--surface)}
.project-size-bars{display:grid;gap:16px;padding:15px 4% 12px}.project-size-legend{display:flex;justify-content:flex-end;gap:18px;padding-bottom:4px;color:var(--muted);font-size:10px}.project-size-legend span{display:flex;align-items:center;gap:6px}.project-size-legend i{width:9px;height:9px;border-radius:3px}.size-small{background:#3c9f86}.size-medium{background:#e4a447}.size-big{background:#d66a55}.project-size-row{display:grid;grid-template-columns:minmax(140px,210px) minmax(120px,1fr) auto;align-items:center;gap:12px 18px}.project-size-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}.project-size-meta strong{overflow:hidden;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.project-size-meta span{flex:none;color:var(--muted);font-size:10px}.project-size-track{display:flex;height:15px;overflow:hidden;border-radius:8px;background:var(--bg)}.project-size-track i{display:block;height:100%;min-width:0}.project-size-counts{display:flex;gap:10px;color:var(--muted);font-size:9px;white-space:nowrap}.project-size-counts span:first-child{color:#3c9f86}.project-size-counts span:nth-child(2){color:#b87920}.project-size-counts span:last-child{color:#c05845}
.project-effort-task-view .project-effort-visual{min-height:275px}.project-size-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:2px}.project-size-heading>strong{font-size:11px;font-weight:600}
@media(max-width:900px){.project-effort-visual{grid-template-columns:1fr;gap:14px}.project-effort-donut{width:min(260px,78vw)}}
@media(max-width:700px){.project-size-row{grid-template-columns:1fr;gap:7px}.project-size-counts{justify-content:flex-end}.project-size-legend{justify-content:flex-start}}
@media(max-width:500px){.project-effort-panel{padding:15px}.project-effort-legend{grid-template-columns:1fr}.project-effort-toolbar label{flex:1}.project-effort-toolbar select{min-width:0;width:100%}}
