/* Scoped display additions: do not restyle the established activity editor. */
.hosted-activity-table .hosted-summary-row td { padding:0 10px!important; border-right-color:transparent!important; }
.hosted-schedule-panel[data-layout] .hosted-activity-table .hosted-summary-row td.hosted-summary-identity { position:relative!important; overflow:visible!important; }
.hosted-summary-row .hosted-group-label { position:absolute; left:10px; top:0; height:100%; display:flex; align-items:center; gap:5px; width:calc(112px + var(--hosted-name-width,300px) - 20px); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.hosted-summary-row.level-1 .hosted-group-label { padding-left:16px; }
.hosted-summary-row .hosted-group-label span { margin-right:3px; }
.hosted-summary-row .hosted-status { margin-right:0; }
.hosted-schedule-panel[data-layout="three"] .hosted-activity-table .hosted-summary-row td:nth-child(-n+2) { display:none!important; }
.hosted-pinned-pane .hosted-summary-row .hosted-group-label { position:static; width:auto; padding-left:0; }
.hosted-gantt-row .hosted-gantt-summary-bar { top:16px; height:5px; background:#24334f!important; border-radius:0; box-shadow:none; }
.hosted-gantt-summary-bar::before,.hosted-gantt-summary-bar::after { content:""; position:absolute; top:0; width:0; height:0; border-top:10px solid #24334f; }
.hosted-gantt-summary-bar::before { left:0; border-right:7px solid transparent; }
.hosted-gantt-summary-bar::after { right:0; border-left:7px solid transparent; }
.hosted-visual-schedule { --visual-label-width:240px; padding:0; overflow:hidden; border:1px solid #d9e0e5; border-radius:12px; background:#fff; box-shadow:0 8px 26px #10243b0b; }
.visual-schedule-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:16px 18px 10px; }
.visual-schedule-heading h2 { font-size:20px; margin:0 0 4px; }
.visual-schedule-caption { margin:0; color:#637387; font-size:13px; }
.visual-schedule-heading label { display:flex; align-items:center; gap:8px; white-space:nowrap; font-size:13px; }
.visual-schedule-heading select { width:auto; min-width:145px; margin:0; }
.visual-schedule-legend { display:flex; flex-wrap:wrap; gap:8px 18px; padding:8px 18px 14px; border-bottom:1px solid #d9e0e5; font-size:12px; }
.visual-schedule-legend>span { display:inline-flex; align-items:center; gap:6px; }
.visual-schedule-legend i { display:inline-block; width:12px; height:12px; border-radius:2px; }
.visual-schedule-legend .visual-nonworking-key { background:#edf0f3; border:1px solid #d9e0e5; }
.visual-schedule-legend .visual-data-date-key { width:3px; background:#489c82; }
.visual-schedule-scroll { height:clamp(220px,calc(100dvh - 380px),650px); overflow:auto; scrollbar-width:auto; scrollbar-color:#8995a2 #edf0f3; }
.visual-schedule-scroll::-webkit-scrollbar { width:15px; height:15px; }
.visual-schedule-scroll::-webkit-scrollbar-thumb { background:#8995a2; border:3px solid #edf0f3; border-radius:8px; }
.visual-schedule-table { width:max-content; min-width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; font-size:13px; }
.visual-schedule-table th,.visual-schedule-table td { padding:0; border-bottom:1px solid #d9e0e5; text-align:left; }
.visual-schedule-table tr>th:first-child { position:sticky; left:0; z-index:3; width:240px; min-width:240px; max-width:240px; padding:9px 14px; background:#fff; border-right:1px solid #c7d2dd; }
.visual-schedule-table tbody th strong { display:block; overflow:hidden; text-overflow:ellipsis; font-size:13px; }
.visual-schedule-table tbody th small { display:block; color:#64748b; font-size:11px; margin-top:4px; }
.visual-schedule-table thead th { position:sticky; top:0; z-index:5; background:#eef3f0; height:62px; }
.visual-schedule-table thead tr>th:first-child { z-index:6; background:#eef3f0; text-transform:uppercase; font-size:11px; letter-spacing:.4px; color:#526278; }
.visual-timeline-header { position:relative; height:62px; overflow:hidden; }
.visual-month,.visual-tick { position:absolute; overflow:hidden; white-space:nowrap; border-right:1px solid #c7d2dd; font-size:11px; font-weight:700; }
.visual-month { top:0; height:32px; padding:8px 6px; background:#e7edf2; border-bottom:1px solid #c7d2dd; }
.visual-month-label { position:absolute; top:8px; white-space:nowrap; line-height:16px; }
.visual-tick { top:32px; height:30px; padding:7px 3px; text-align:center; background:#f5f7f9; }
.visual-timeline-row { position:relative; background:#fff; }
.visual-day-off { position:absolute; top:0; bottom:0; background:#edf0f3; }
.visual-gridline { position:absolute; top:0; bottom:0; border-left:1px solid #d9e0e5; }
.visual-month-line { border-left-color:#aab9c7; }
.visual-data-date { position:absolute; top:0; bottom:0; z-index:2; border-left:2px solid #489c82; pointer-events:none; }
.visual-stage-bar { position:absolute; z-index:1; display:block; height:17px; border-radius:3px; padding:1px 4px; color:#fff; font-size:10px; font-weight:700; line-height:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; box-shadow:0 1px 2px #10243b24; }
.visual-stage-bar:hover,.visual-stage-bar:focus-visible { z-index:4; outline:2px solid #24334f; outline-offset:2px; }
.visual-anchor-bar { box-shadow:0 0 0 2px #8858c8; }
.visual-schedule-table tbody tr:hover th,.visual-schedule-table tbody tr:hover .visual-timeline-row { background-color:#f2f8f6; }
.visual-schedule-empty { padding:24px; color:#637387; }
@media(max-width:700px) { .hosted-visual-schedule { --visual-label-width:180px; } .visual-schedule-table tr>th:first-child { min-width:180px; width:180px; max-width:180px; } .visual-schedule-scroll { height:450px; } }
