.gantt-wrap{border-radius:inherit;overflow-x:auto}.gantt-wrap.is-tall{max-block-size:70vh;overflow-y:auto}.gantt{--days:14;--room-w:132px;--g-lane-h:40px;--today:-1;grid-template-columns:var(--room-w) repeat(var(--days), minmax(52px, 1fr));min-width:calc(var(--room-w) + var(--days) * 52px);display:grid;position:relative}.gantt [role=row]{display:contents}.g-head{z-index:2;height:52px;color:var(--text-3);background:var(--surface-2);border-block-end:1px solid var(--border);border-inline-start:1px solid var(--border);text-transform:capitalize;flex-direction:column;justify-content:center;align-items:center;font-size:11px;line-height:1.3;display:flex;position:sticky;inset-block-start:0}.g-head b{font-size:var(--fs-sm);color:var(--text);font-variant-numeric:tabular-nums}.g-head.we{background:color-mix(in srgb, var(--surface-2) 70%, var(--warning-soft))}.g-head.today{background:var(--primary-soft);color:var(--primary-text)}.g-head.today b{color:var(--primary-text)}.g-corner{z-index:4;background:var(--surface-2);border-block-end:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;align-items:center;padding-inline:14px;font-weight:600;display:flex;position:sticky;inset-block-start:0;inset-inline-start:0}.g-room{z-index:3;background:var(--surface);border-block-end:1px solid var(--border);height:48px;font-size:var(--fs-sm);align-items:center;gap:8px;padding-inline:14px;display:flex;position:sticky;inset-inline-start:0}.g-room b{font-variant-numeric:tabular-nums}.g-room small{color:var(--text-3);font-size:11px}.g-room .dot{border-radius:50%;flex:none;width:8px;height:8px}.g-cell{border-block-end:1px solid var(--border);border-inline-start:1px solid var(--border);height:48px}.g-cell.we{background:color-mix(in srgb, var(--surface) 80%, var(--warning-soft))}.g-cell.today{background:color-mix(in srgb, var(--surface) 70%, var(--primary-soft))}.g-cell[tabindex]{cursor:cell}.g-cell[tabindex]:hover{background:color-mix(in srgb, var(--surface) 88%, var(--primary-soft))}.g-bar{z-index:1;white-space:nowrap;cursor:pointer;height:32px;box-shadow:var(--sh-xs);transition:transform var(--dur-1), box-shadow var(--dur-1);border:1px solid #0000;border-radius:8px;align-self:center;align-items:center;gap:6px;margin-inline:4px;padding-inline:8px;font-size:12px;font-weight:600;display:flex;position:relative;overflow:hidden}.g-bar:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}.g-bar span{text-overflow:ellipsis;overflow:hidden}.g-bar small{opacity:.8;font-weight:500}.g-bar.checkedin{background:var(--success-soft);color:var(--success-text);border-color:color-mix(in srgb, var(--success) 40%, transparent);border-inline-start:4px solid var(--success)}.g-bar.confirmed{background:var(--info-soft);color:var(--info-text);border-color:color-mix(in srgb, var(--info) 40%, transparent);border-inline-start:4px solid var(--info)}.g-bar.pending{background:var(--warning-soft);color:var(--warning-text);border:1.5px dashed var(--warning)}.g-bar.dueout{background:var(--violet-soft);color:var(--violet-text);border-color:color-mix(in srgb, var(--violet) 40%, transparent);border-inline-start:4px solid var(--violet)}.g-bar.ooo{background:repeating-linear-gradient(-45deg, var(--room-maintenance-soft) 0 6px, var(--surface) 6px 12px);color:var(--room-maintenance-text);border:1px dashed var(--room-maintenance)}.g-bar.clip-start{border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:0}.g-bar.clip-end{border-start-end-radius:0;border-end-end-radius:0;margin-inline-end:0}.g-bar:focus-visible,.g-cell:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.g-today-line{background:var(--primary);z-index:2;pointer-events:none;width:2px;position:absolute;inset-block:0;inset-inline-start:calc(var(--room-w) + (var(--today) + .45) * (100% - var(--room-w)) / var(--days))}.g-today-line:before{content:"";background:var(--primary);border-radius:50%;width:10px;height:10px;position:absolute;inset-block-start:46px;inset-inline-start:-4px}.g-room.g-pin{z-index:5;background:var(--surface-2);border-block-end:2px solid var(--border-strong);flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;height:auto;min-height:48px;inset-block-start:52px}.g-pin-title{align-items:center;gap:8px;min-width:0;display:flex}.g-pin-title b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.g-pin-title small{background:var(--surface);border:1px solid var(--border);border-radius:99px;padding-inline:6px;line-height:16px}.g-more{font:inherit;color:var(--primary-text);cursor:pointer;text-align:start;background:0 0;border:0;padding:0;font-size:11px;font-weight:600}.g-more:hover{text-decoration:underline}.g-more.is-static{color:var(--text-3);cursor:default;font-weight:500}.g-more.is-static:hover{text-decoration:none}.g-more:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.g-cell.g-pin{z-index:2;border-block-end:2px solid var(--border-strong);height:auto;position:sticky;inset-block-start:52px}.g-cell.g-pin:not(.we):not(.today){background:var(--surface-2)}.g-bar.g-pin{z-index:3;position:sticky;inset-block-start:calc(52px + var(--lane,0) * var(--g-lane-h) + 4px)}@media (width<=640px){.gantt{--room-w:104px}.g-room{gap:6px;padding-inline:10px}.g-corner{padding-inline:10px}}.legend .sw.g-checkedin{background:var(--success)}.legend .sw.g-confirmed{background:var(--info)}.legend .sw.g-pending{border:1.5px dashed var(--warning);background:0 0}.legend .sw.g-dueout{background:var(--violet)}.legend .sw.g-ooo{background:repeating-linear-gradient(-45deg, var(--room-maintenance) 0 2px, transparent 2px 4px);border-color:var(--room-maintenance)}ul.legend{margin:0;padding:0;list-style:none}.strip-card-b{padding:0}.rack-card-body{gap:var(--sp-3);flex-direction:column;min-inline-size:0;display:flex}
