.pm-project{text-decoration:none;color:var(--text-primary)}
.pm-project .event-card-stats{display:flex;gap:.75rem;flex-wrap:wrap}
.pm-summary{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--text-secondary);font-size:.75rem}
.pm-board{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:.7rem;align-items:start}
.pm-column{background:var(--bg-card);border:1px solid var(--border-color);border-radius:7px;padding:.65rem;min-height:150px}
.pm-column h3{font-size:.8rem;display:flex;align-items:center;justify-content:space-between;margin:.1rem 0 .65rem}
.pm-column h3 span{color:var(--text-secondary);font-size:.7rem}
.pm-task{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:6px;padding:.75rem;margin-bottom:.5rem;font-size:.8rem}
.pm-task-head{display:flex;justify-content:space-between;gap:.5rem}.pm-task-head small{color:var(--text-secondary);font-size:.65rem}
.pm-task-meta{display:grid;gap:.25rem;color:var(--text-secondary);font-size:.72rem;margin:.5rem 0}
.pm-status-label{display:flex;align-items:center;justify-content:space-between;font-size:.7rem;color:var(--text-secondary);gap:.5rem}
.pm-status-label select{max-width:65%;padding:.3rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary)}
.pm-gantt-scroll{overflow-x:auto;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-card)}
.pm-gantt{min-width:800px}
.pm-gantt-row{display:grid;grid-template-columns:240px 1fr;min-height:53px;border-bottom:1px solid var(--border-color);align-items:stretch}
.pm-gantt-row:last-child{border-bottom:0}.pm-gantt-name{display:flex;flex-direction:column;justify-content:center;padding:.5rem .8rem;border-right:1px solid var(--border-color);min-width:0}
.pm-gantt-name b{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-gantt-name small{color:var(--text-secondary);font-size:.66rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-gantt-scale,.pm-gantt-track{position:relative;display:flex;align-items:center;background:repeating-linear-gradient(90deg,transparent,transparent calc(25% - 1px),var(--border-color) 25%)}
.pm-gantt-scale{justify-content:space-between;padding:0 .4rem;color:var(--text-secondary);font-size:.7rem}.pm-gantt-scale b{font-weight:500}
.pm-gantt-bar{height:15px;position:absolute;background:var(--primary-blue);border-radius:3px;min-width:7px}.pm-gantt-bar.done{background:var(--success)}.pm-gantt-bar.blocked{background:var(--danger)}.pm-gantt-bar.in_progress{background:var(--info)}
.pm-timeline{max-width:850px;border-left:2px solid var(--border-color);margin-left:7rem}
.pm-milestone{position:relative;display:flex;align-items:flex-start;margin:0 0 1rem;padding:0 0 1rem 1.5rem}
.pm-milestone:before{content:'';position:absolute;left:-6px;top:.6rem;width:10px;height:10px;border-radius:50%;background:var(--primary-blue)}
.pm-milestone time{position:absolute;right:calc(100% + 1rem);top:.2rem;width:6rem;text-align:right;color:var(--text-secondary);font-size:.72rem}
.pm-milestone>div{border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);padding:.7rem 1rem;width:100%;font-size:.8rem}
.pm-milestone p,.pm-milestone small{color:var(--text-secondary);font-size:.72rem;margin:.3rem 0}
.pm-undated{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.pm-undated h3{font-size:.85rem;margin-bottom:.6rem}
.pm-undated-list{display:flex;gap:.5rem;flex-wrap:wrap}.pm-undated-list>div{background:var(--bg-card);border:1px solid var(--border-color);border-radius:5px;padding:.5rem .7rem;font-size:.75rem}
.pm-undated-list small{display:block;color:var(--text-secondary);margin-top:.2rem}
.pm-calendar-nav{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-bottom:.75rem}
.pm-calendar-nav button{background:var(--bg-card);border:1px solid var(--border-color);border-radius:5px;padding:.35rem .65rem;color:var(--text-primary);cursor:pointer}
.pm-calendar{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));border-left:1px solid var(--border-color);border-top:1px solid var(--border-color);overflow-x:auto}
.pm-calendar>b{background:var(--bg-card);padding:.5rem;font-size:.7rem;text-align:center;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}
.pm-calendar>i,.pm-day{background:var(--bg-dark);min-height:105px;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}
.pm-day{padding:.4rem}.pm-day time{color:var(--text-secondary);font-size:.7rem}.pm-day-task{background:var(--bg-card);border-left:3px solid var(--primary-blue);border-radius:3px;padding:.3rem;margin:.3rem 0;font-size:.67rem}
.pm-day-task strong,.pm-day-task small{display:block;overflow:hidden;text-overflow:ellipsis}.pm-day-task small{color:var(--text-secondary)}
.pm-crew{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1rem}.pm-crew h2{font-size:.85rem;margin-bottom:.6rem}.pm-crew>div{display:flex;flex-wrap:wrap;gap:.4rem}
.pm-crew span{background:var(--bg-card);border:1px solid var(--border-color);border-radius:5px;padding:.4rem .6rem;font-size:.72rem}
@media(max-width:1100px){.pm-board{grid-template-columns:repeat(2,minmax(210px,1fr))}}
@media(max-width:700px){.pm-board{grid-template-columns:1fr}.pm-calendar{min-width:770px}.production-workspace-content:has(.pm-calendar){overflow-x:auto}}