.pm-panel{background:#fff;border:1px solid #e1eadc;border-radius:16px;padding:26px;margin:20px 0}.pm-panel>header{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.pm-panel h2{margin:0;font-size:22px;color:#203b2e}.pm-panel h3{margin:0 0 6px;font-size:16px}.pm-panel small,.pm-panel .muted{color:#718466}.pm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:18px}.pm-card,.pm-task{border:1px solid #e1eadc;border-radius:12px;padding:18px;background:#fcfdfb;min-width:0}.pm-card-head,.pm-task{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pm-card-head>div,.pm-task>div:first-child{min-width:0;overflow-wrap:anywhere}.pm-counts{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.pm-counts span{border-radius:8px;background:#eff4ed;padding:7px 10px;font-size:12px}.pm-report{font-size:13px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}.pm-task{margin:10px 0}.pm-task-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pm-due{display:inline-block;background:#edf3ec;padding:4px 8px;border-radius:6px;font-size:12px;margin-top:8px}.pm-due.urgent{background:#fff0df;color:#9a4f15}.pm-dialog{width:min(650px,calc(100vw - 32px));max-height:85vh;overflow:auto}.pm-dialog label{display:block;margin:13px 0;font-size:13px}.pm-dialog label input,.pm-dialog label textarea,.pm-dialog label select{display:block;width:100%;margin-top:6px}.pm-dialog textarea{min-height:90px}.pm-dialog .error{white-space:pre-wrap}.pm-inline{display:flex;gap:10px;flex-wrap:wrap}.pm-inline label{flex:1;min-width:160px}@media(max-width:650px){.pm-panel{padding:18px}.pm-grid{grid-template-columns:1fr}.pm-task{flex-direction:column}.pm-task-actions{justify-content:start}}
.pm-table-wrap{overflow:auto;margin-top:18px}.pm-table{border-collapse:collapse;width:100%;min-width:850px;font-size:13px}.pm-table th,.pm-table td{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #e1eadc;overflow-wrap:anywhere}.pm-table th{background:#f3f7f1;color:#526c59;font-size:12px}.pm-table td:nth-child(4){min-width:240px;max-width:360px}.pm-table td:last-child{white-space:nowrap}.pm-table .pm-report{max-height:9em;overflow:auto}
.pm-table-wrap{overflow:visible}.overview-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.overview-filter-item{display:flex;align-items:flex-start;flex-direction:column;gap:8px;text-align:left;padding:15px;border-radius:10px;background:#fafcf9}.overview-filter-item span{font-size:12px;color:#687d6e}.overview-filter-item strong{font-size:24px;color:#274b37}.overview-filter-item.active{border-color:#4e8a64;background:#eaf4eb}.overview-caption{font-size:12px;line-height:1.7;color:#6f8172;margin:16px 0}.overview-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:16px}.overview-project{border:1px solid #dce7dc;border-radius:12px;padding:20px;min-width:0;background:#fff;box-shadow:0 3px 14px #1a3b2710}.overview-project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.overview-project-head h3{font-size:17px;color:#1f4933;margin:0 0 5px;overflow-wrap:anywhere}.overview-project-head small{font-size:11px;color:#798c7e;overflow-wrap:anywhere}.health{font-size:11px;font-weight:600;border-radius:999px;padding:6px 10px;white-space:nowrap}.health.healthy{color:#1f714b;background:#e6f4eb}.health.risk{color:#986000;background:#fff1ce}.health.late{color:#a63a2d;background:#fbe7e3}.health.unknown{color:#6b766f;background:#eef1ed}.overview-progress{margin-top:18px;padding:15px;background:#f7faf6;border-radius:9px}.overview-progress-head,.overview-weekly-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:12px}.overview-progress-head span,.overview-weekly-head span{font-size:11px;color:#77877b}.overview-bar{display:block;width:100%;height:9px;border:0;border-radius:10px;overflow:hidden;margin:11px 0 9px;appearance:none}.overview-bar::-webkit-progress-bar{background:#e2eae1}.overview-bar::-webkit-progress-value{background:#4d9870}.overview-bar::-moz-progress-bar{background:#4d9870}.overview-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#607365}.overview-signals{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.signal{font-size:11px;line-height:1.5;border-radius:6px;padding:5px 8px;overflow-wrap:anywhere}.signal.neutral{background:#eef3ec;color:#637668}.signal.soon{background:#fff1d6;color:#8f5b05}.signal.overdue{background:#fceae6;color:#a13a2e}.overview-weekly{margin:17px 0}.overview-brief-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.overview-brief span{font-size:10px;font-weight:600;color:#738779}.overview-brief p{font-size:12px;line-height:1.65;margin:5px 0;white-space:pre-line;overflow-wrap:anywhere}.overview-empty{font-size:12px;color:#8a998e;margin:10px 0}.overview-warning,.overview-error{font-size:12px;color:#a44c33;line-height:1.6}.overview-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #edf2ed;padding-top:14px}.overview-actions button{font-size:12px;padding:7px 11px}@media(max-width:700px){.overview-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-brief-grid{grid-template-columns:1fr;gap:5px}.overview-project{padding:16px}}
