.pm-module-page{display:grid;gap:18px}
.pm-module-head{align-items:center}
.pm-project-switcher{display:flex;align-items:center;gap:10px;min-width:min(520px,100%)}
.pm-project-combobox{position:relative;flex:1;min-width:min(360px,100%)}
.pm-project-search{padding-right:38px}
.pm-project-results{position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;max-height:320px;overflow:auto;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#fff;box-shadow:0 18px 40px rgba(15,23,42,.16);padding:6px}
.pm-project-option{width:100%;border:0;background:transparent;color:#334155;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;cursor:pointer}
.pm-project-results[hidden],.pm-project-results.is-hidden,.pm-project-option[hidden],.pm-project-option.is-hidden,.pm-project-empty[hidden],.pm-project-empty.is-hidden{display:none!important}
.pm-project-option:hover,.pm-project-option.is-selected{background:#ecfeff;color:#0f766e}
.pm-project-option span{font-size:.84rem;color:#64748b}
.pm-project-empty{padding:12px;color:#64748b;font-size:.92rem}
.pm-tabs-card{padding:12px}
.pm-tabs{display:flex;gap:8px;overflow-x:auto}
.pm-tab{border:1px solid rgba(148,163,184,.26);background:#fff;color:#334155;border-radius:8px;padding:10px 14px;font-weight:800;cursor:pointer;white-space:nowrap}
.pm-tab.is-active{background:#0f766e;color:#fff;border-color:#0f766e}
.pm-tab-panel{display:none}
.pm-tab-panel.is-active{display:block}
.pm-work-grid{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(520px,1.25fr);gap:18px;align-items:start}
.pm-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.pm-section-head h3,.pm-section-head h4{margin:0 0 4px}
.pm-compact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pm-compact-form input,.pm-compact-form select,.pm-compact-form textarea{border-radius:8px;padding:10px 12px}
.pm-task-form{display:grid;gap:12px;margin-bottom:14px}
.pm-module-table{max-height:540px;overflow:auto}
.pm-module-table table{min-width:860px}
.pm-row-critical td:first-child{border-left:4px solid #dc2626}
.pm-cell-muted{color:#64748b;font-size:.88rem}
.pm-icon-action{width:34px;height:34px;padding:0;border-radius:8px}
.pm-gantt{min-height:360px;overflow:auto;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#f8fafc;padding:12px}
.pm-gantt svg{display:block;min-width:760px;width:100%}
.pm-gantt-task-label{font-size:12px;font-weight:800;fill:#334155}
.pm-gantt-date-label{font-size:11px;fill:#64748b}
.pm-gantt-track-svg{fill:#e2e8f0}
.pm-gantt-bar-svg{fill:#2563eb}
.pm-gantt-bar-svg.is-critical{fill:#dc2626}
.pm-gantt-progress-svg{fill:rgba(255,255,255,.34)}
.pm-gantt-grid{display:grid;gap:8px;min-width:680px}
.pm-gantt-row{display:grid;grid-template-columns:170px 1fr;gap:10px;align-items:center}
.pm-gantt-label{font-size:.86rem;font-weight:800;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-gantt-track{position:relative;height:30px;border-radius:8px;background:linear-gradient(90deg,rgba(148,163,184,.16),rgba(203,213,225,.18));overflow:hidden}
.pm-gantt-bar{position:absolute;top:5px;height:20px;border-radius:6px;background:#2563eb;box-shadow:0 6px 12px rgba(37,99,235,.18)}
.pm-gantt-bar.is-critical{background:#dc2626;box-shadow:0 6px 12px rgba(220,38,38,.18)}
.pm-gantt-progress{position:absolute;inset:0 auto 0 0;background:rgba(255,255,255,.34);border-radius:6px 0 0 6px}
.pm-gantt-dates{display:flex;justify-content:space-between;color:#64748b;font-size:.78rem;margin:0 0 8px 180px;min-width:500px}
.pm-dependency-box{margin-top:16px;display:grid;gap:10px}
.pm-dependency-form{display:grid;grid-template-columns:1fr 78px 1fr 86px 42px;gap:8px;align-items:center}
.pm-dependency-list{display:flex;flex-wrap:wrap;gap:8px}
.pm-dependency-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(148,163,184,.24);background:#fff;border-radius:999px;padding:7px 10px;font-size:.86rem}
.pm-chart{min-height:360px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;overflow:auto;padding:12px}
.pm-chart svg{display:block;min-width:760px;width:100%;height:340px}
.pm-chart-line-planned{fill:none;stroke:#2563eb;stroke-width:3}
.pm-chart-line-actual{fill:none;stroke:#059669;stroke-width:3}
.pm-chart-axis{stroke:#cbd5e1;stroke-width:1}
.pm-chart-dot{fill:#fff;stroke-width:2}
.pm-chart-dot.planned{stroke:#2563eb}
.pm-chart-dot.actual{stroke:#059669}
.pm-chart-legend{display:flex;gap:14px;align-items:center;color:#475569;font-size:.9rem;margin-top:8px}
.pm-legend-swatch{width:22px;height:4px;border-radius:999px;display:inline-block;margin-right:6px;vertical-align:middle}
.pm-legend-planned{background:#2563eb}
.pm-legend-actual{background:#059669}
.pm-risk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.pm-risk-card{border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#fff;padding:14px;display:grid;gap:10px}
.pm-risk-card h4{margin:0;font-size:1rem}
.pm-risk-meta{display:flex;gap:8px;flex-wrap:wrap}
.pm-risk-score{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:32px;border-radius:8px;background:#0f172a;color:#fff;font-weight:900}
.pm-risk-severity-Low{background:#e0f2fe;color:#0369a1}
.pm-risk-severity-Medium{background:#fef3c7;color:#92400e}
.pm-risk-severity-High,.pm-risk-severity-Extreme{background:#fee2e2;color:#b91c1c}
.pm-risk-plan{font-size:.9rem;color:#475569;line-height:1.45}
.pm-evm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.pm-evm-item{border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#fff;padding:14px}
.pm-evm-label{font-size:.78rem;text-transform:uppercase;color:#64748b;font-weight:800}
.pm-evm-value{font-size:1.35rem;font-weight:900;color:#0f172a;margin-top:4px}
.pm-empty{padding:16px;border:1px dashed rgba(148,163,184,.35);border-radius:8px;color:#64748b;background:#f8fafc}
@media (max-width:1100px){.pm-work-grid{grid-template-columns:1fr}.pm-project-switcher{width:100%}.pm-project-switcher select{min-width:0;flex:1}}
@media (max-width:760px){.pm-compact-form{grid-template-columns:1fr}.pm-dependency-form{grid-template-columns:1fr 72px}.pm-dependency-form select:first-child,.pm-dependency-form select:nth-child(3){grid-column:1/-1}.pm-gantt-row{grid-template-columns:1fr}.pm-gantt-dates{margin-left:0}.pm-module-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
