/* plan.css — Project planning studio (v42). Builds on atelier.css (cp-*), jetty.css (jt-*) and road.css (rd-*). */
.pl-app .pl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.pl-app .pl-wide .pl-scroll svg{width:auto;max-width:none;height:auto;display:block}
.pl-app #pl-gantt svg{width:100%;height:auto;display:block;touch-action:none}
.pl-app #pl-gantt [data-g^="dur"]{cursor:ew-resize}
.pl-app #pl-gantt [data-g^="move"]{cursor:grab}
.pl-app #pl-gantt svg text{pointer-events:none}
.pl-app .rd-wide .jt-fig:not(.pl-wide) svg{width:100%;height:auto;display:block}
.pl-app tr.pl-crit td{background:color-mix(in srgb,#a33224 7%,#fff)}
.pl-app tr.pl-crit td:first-child input,.pl-app tr.pl-crit td:first-child{font-weight:700;color:#a33224}
.pl-app .pl-acts input{font-size:.85rem;padding:3px 4px}
.pl-app .pl-week{gap:14px;flex-wrap:wrap}
.pl-app textarea.rd-paste{width:100%;min-height:110px;font-family:ui-monospace,monospace;font-size:.85rem}
/* Enterprise scheduling workspace (v61) */
.pl-app .ep-lay{gap:8px;align-items:flex-end;flex-wrap:wrap}
.pl-app .ep-lay > .cp-in{flex:0 1 auto}
.pl-app .ep-lay select,.pl-app .ep-lay input[type=text]{max-width:220px}
.pl-app .ep-cols{position:relative}
.pl-app .ep-cols summary{list-style:none;cursor:pointer}
.pl-app .ep-cols summary::-webkit-details-marker{display:none}
.pl-app .ep-colgrid{position:absolute;z-index:30;right:0;top:110%;background:var(--surface,#fff);border:1px solid var(--line,#ddd);border-radius:10px;padding:10px 12px;box-shadow:0 12px 32px rgba(0,0,0,.14);display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:4px 14px;max-height:340px;overflow:auto;min-width:340px}
@media (max-width:700px){.pl-app .ep-colgrid{position:static;grid-template-columns:1fr;min-width:0;box-shadow:none}}
.pl-app tr.ep-band td{background:color-mix(in srgb,var(--accent,#6b2d5c) 9%,transparent);font-weight:600}
.pl-app tr.ep-lvl1 td{background:color-mix(in srgb,var(--accent,#6b2d5c) 14%,transparent)}
.pl-app tr.ep-sel td{outline:2px solid var(--accent,#6b2d5c);outline-offset:-2px;background:color-mix(in srgb,var(--accent,#6b2d5c) 7%,transparent)}
.pl-app tr.ep-done td{color:var(--muted,#777)}
.pl-app tr.ep-ip td:first-child{box-shadow:inset 3px 0 0 #2f6fa3}
.pl-app .ep-acts a{text-decoration:none;font-weight:600}
.pl-app .ep-dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;margin-left:6px}
.pl-app .ep-dtabs{flex-wrap:wrap;gap:6px;margin-bottom:10px}
.pl-app .cp-tab td .cp-chk{white-space:nowrap}
@media print{body.jt-printing .pl-app .cp-card:not(.ep-report){display:none}}
