/* Overview polish */
.overview-page{font-family:'Montserrat',system-ui,sans-serif;max-width:1680px}
.overview-metric,.overview-card,.overview-readiness,.overview-task-card{box-shadow:0 1px 2px #0b3a4c0d,0 6px 20px -12px #0b3a4c33;transition:box-shadow .2s,transform .2s}
.overview-metric:hover,.overview-card:hover{box-shadow:0 2px 4px #0b3a4c12,0 12px 28px -14px #0b3a4c4d}
.overview-primary{box-shadow:0 4px 12px -4px #e31e2566;transition:background .15s,transform .15s}
.overview-primary:hover{transform:translateY(-1px)}
.overview-secondary,.overview-heat-cell,.overview-show-all,.overview-project-switch button,.overview-task-tabs button{transition:background .15s,border-color .15s,box-shadow .15s,color .15s}
.overview-page button:focus-visible{outline:2px solid #e31e25;outline-offset:2px}
.overview-metric-value{font-variant-numeric:tabular-nums}
.overview-task{transition:background .15s}
.overview-task:hover{background:#f7fafb}
.overview-task-icon.risk{box-shadow:0 0 0 4px #fce9eb66}
.overview-task-heading{background:linear-gradient(100deg,#0b3a4c,#145268)}
.overview-heat-cell{cursor:pointer}
.overview-heat-cell.low:hover,.overview-heat-cell.ok:hover{transform:scale(1.12);position:relative;z-index:2}
.overview-heat-scroll{scrollbar-width:thin}
.overview-task-empty{padding:18px 20px;color:#2f6b5f;font-weight:600;font-size:13px}
.overview-task-icon.warning{box-shadow:0 0 0 4px #fff3d666}
.overview-task .overview-primary,.overview-task .overview-secondary{white-space:nowrap}
.overview-spark{display:block;width:100%;height:64px;margin:4px 0 0;overflow:visible}
.overview-spark .spark-bar{fill:#7fb7ae}
.overview-spark .spark-bar.low{fill:#e31e25}
.overview-spark .spark-need{stroke:#0b3a4c;stroke-width:1;stroke-dasharray:4 3;opacity:.55;vector-effect:non-scaling-stroke}
.overview-spark-cap{display:flex;justify-content:space-between;font-size:11px;color:#6b7f89;margin:6px 0 12px;gap:8px}
.overview-pay-track>span,.overview-progress>span{transition:width .5s ease}
.overview-heat-grid{min-width:0}
.overview-heat-scroll{overflow-x:auto}
@media(min-width:1500px){.overview-metric-value{font-size:38px}.overview-heat-grid{min-width:0}}
@media(max-width:1100px){.overview-heat-grid{min-width:880px}}
@media(max-width:700px){.overview-spark{height:52px}}
@media(prefers-reduced-motion:reduce){.overview-page *{transition:none!important}}
.overview-brief{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:12px;margin:0 0 16px;border:1px solid #f3c3c6;background:linear-gradient(100deg,#fff5f5,#fff);animation:ovIn .35s ease both}
.overview-brief.ok{border-color:#bfe0d8;background:linear-gradient(100deg,#f0faf7,#fff)}
.overview-brief-mark{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:#e31e25}
.overview-brief.ok .overview-brief-mark{background:#2f6b5f}
.overview-brief-text{flex:1;min-width:0}
.overview-brief-text b{display:block;font-size:17px;color:#0b3a4c}
.overview-brief-text p{margin:3px 0 0;font-size:13px;color:#4d6571}
.overview-prio{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#e8eef1;color:#0b3a4c;vertical-align:middle}
.overview-prio.urgent{background:#e31e25;color:#fff}
.overview-heat-legend span{white-space:nowrap}
@keyframes ovIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.overview-metric,.overview-task-card,.overview-card{animation:ovIn .35s ease both}
@media(max-width:700px){.overview-brief{flex-wrap:wrap}.overview-brief .overview-primary{width:100%}}
@media(prefers-reduced-motion:reduce){.overview-brief,.overview-metric,.overview-task-card,.overview-card{animation:none}}
