/* Scheduling is a workspace: reserve the viewport for the timeline. */
body.myschedule[data-surface="board"] {
  grid-template-rows: 54px minmax(0, 1fr) 22px;
}
.myschedule[data-surface="board"] .app-header { height: 54px; }
.myschedule[data-surface="board"] .workspace main {
  padding: 10px 16px 8px;
  gap: 8px;
}
.myschedule[data-surface="board"] .workspace-caption {
  min-height: 36px;
  padding: 0 !important;
  flex-direction: row;
  align-items: center;
  flex: none;
}
.myschedule[data-surface="board"] .workspace-caption h1 { font-size: 21px !important; }
.myschedule[data-surface="board"] .mys-breadcrumb,
.myschedule[data-surface="board"] #view-description { display: none !important; }
.myschedule[data-surface="board"] .statusbar { height: 22px; min-height: 22px; padding: 3px 16px; }
.myschedule[data-surface="board"] .metrics {
  grid-template-columns: repeat(6, minmax(124px, 1fr));
  min-height: 38px !important;
  height: 38px !important;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  border-radius: 6px;
}
.myschedule[data-surface="board"] .metrics > div {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 12px !important;
  border-bottom: 0;
  white-space: nowrap;
}
.myschedule[data-surface="board"] .metrics span { font-size: 9px !important; letter-spacing: 0; text-transform: none; }
.myschedule[data-surface="board"] .metrics strong { font-size: 15px !important; }
.myschedule[data-surface="board"] #notice,
.myschedule[data-surface="board"] .scheduling-notes {
  flex: none;
  max-height: 72px;
  overflow: auto;
  margin: 0;
  padding: 8px 12px;
  font-size: 11px;
}
.myschedule #board-view { min-width: 0; isolation: isolate; }
/* Keep sticky axes, resource labels and table headers inside their own layers.
   Toolbar panels must paint above the entire chart and data grid. */
.myschedule #board-view > .shared-gantt,
.myschedule #board-view > .workbench-dock { position: relative; z-index: 0; }
.myschedule #board-view > .shared-gantt,
.myschedule #board-view > .shared-gantt > .gantt { min-height: 0; min-width: 0; }
.myschedule #mys-board-query {
  flex: none;
  flex-wrap: nowrap;
  min-height: 44px;
  height: 44px;
  padding: 6px 10px;
  gap: 6px;
  isolation: isolate;
  z-index: 20;
}
.myschedule #mys-board-query > * { flex-shrink: 0; }
.myschedule .mys-timeline-navigation {
  display: flex;
  align-items: center;
  gap: 3px;
  margin-right: auto;
}
.myschedule #mys-board-query button,
.myschedule #mys-board-query summary {
  min-height: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 5px 8px;
  font-size: 11px;
}
.myschedule .mys-timeline-navigation > button { min-width: 30px; }
.myschedule .mys-timeline-navigation > button:first-child,
.myschedule .mys-timeline-navigation > button:nth-child(2) { font-size: 18px !important; line-height: 1; }
.myschedule #mys-board-query .mys-board-popover { position: static; }
.myschedule #mys-board-query .mys-board-popover > summary {
  list-style: none;
  cursor: pointer;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: white;
}
.myschedule .mys-board-popover > summary::-webkit-details-marker { display: none; }
.myschedule #mys-board-query .mys-board-popover[open] > summary,
.myschedule #mys-board-query .mys-filter-active > summary,
.myschedule #mys-board-query [aria-pressed="true"] {
  color: var(--primary-40);
  background: var(--primary-95);
  border-color: var(--primary-60);
}
.myschedule #mys-board-query .mys-board-filter-panel,
.myschedule #mys-board-query .mys-board-action-panel,
.myschedule #mys-board-query .mys-gantt-tools > .panel-toolbar {
  position: absolute;
  top: calc(100% + 2px);
  left: auto;
  right: 8px;
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  width: min(560px, calc(100% - 16px));
  max-height: min(480px, calc(var(--mys-board-height, 400px) - 64px));
  overflow: auto;
  overscroll-behavior: contain;
  padding: 14px;
  margin: 0;
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 10px 30px #362f2b22;
}
.myschedule #mys-board-query .search-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  width: 100%;
  gap: 10px;
}
.myschedule #mys-board-query .search-tools input {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
  min-width: 0;
}
.myschedule #mys-board-query .search-tools select { width: 100%; min-width: 0; }
.myschedule .mys-board-planning-actions { display: flex; flex-wrap: wrap; gap: 7px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.myschedule #mys-board-query .mys-board-action-panel #mys-contextbar { display: flex; flex-wrap: wrap; gap: 6px; }
.myschedule #mys-board-query #mys-context-groups { display: flex; flex-direction: column; flex-basis: 100%; gap: 4px; }
.myschedule #mys-board-query .mys-contextbar details { width: 100%; }
.myschedule #mys-board-query .mys-contextbar summary { width: 100%; justify-content: space-between; border: 0; background: var(--surface-subtle); }
.myschedule #mys-board-query .mys-contextbar .mys-command-menu {
  position: static;
  width: 100%;
  max-height: none;
  box-shadow: none;
  border: 0;
  padding: 4px 0;
}
.myschedule #mys-board-query .mys-command-menu button { height: auto; min-height: 34px; width: 100%; justify-content: flex-start; white-space: normal; }
.myschedule #board-view .resource-label,
.myschedule #board-view .axis-label { overflow: hidden; }
.myschedule #board-view .resource-label strong,
.myschedule #board-view .resource-label small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.myschedule .day-cell,
.myschedule .hour-cell { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.myschedule #board-view .board-footer { flex: none; flex-wrap: nowrap; min-height: 24px; padding: 5px 10px; gap: 10px; }
.myschedule #board-view .board-footer > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.myschedule #board-view #filter-summary { max-width: 45%; }
.myschedule #board-view #gantt-scale-status { flex: 1; min-width: 0; text-align: right; }
.myschedule #board-view > .workbench-dock {
  position: relative;
  flex: none;
  height: 220px;
  min-height: 0;
  max-height: none;
  resize: none;
  border-top: 0;
  background: white;
}
.myschedule #mys-board-splitter {
  order: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  height: 16px;
  min-height: 16px;
  flex: none;
  cursor: row-resize;
  touch-action: none;
  user-select: none;
  background: var(--surface-subtle);
  border-block: 1px solid var(--line);
  color: var(--muted);
  transition: background .12s;
}
.myschedule .mys-splitter-grip { width: 30px; height: 4px; border-block: 1px solid currentColor; border-radius: 2px; }
.myschedule .mys-splitter-label { font-size: 9px; line-height: 1; }
.myschedule #mys-board-splitter:hover,
.myschedule #mys-board-splitter:focus-visible,
.myschedule.mys-resizing-board #mys-board-splitter { background: var(--primary-95); color: var(--primary-40); outline-offset: -2px; }
.myschedule.mys-resizing-board,
.myschedule.mys-resizing-board * { cursor: row-resize !important; user-select: none !important; }
.myschedule #workbench-dock .dock-tabs { height: 34px; min-height: 34px; flex-shrink: 0; overflow-x: auto; overflow-y: hidden; flex-wrap: nowrap; }
.myschedule #workbench-dock .dock-tabs button { height: 33px; min-height: 33px; flex-shrink: 0; padding: 6px 9px; }
.myschedule #workbench-dock .table-pager { min-height: 34px; padding: 4px 10px; gap: 6px; flex-shrink: 0; }
.myschedule #workbench-dock .table-pager button,
.myschedule #workbench-dock .table-pager input { min-height: 25px; height: 25px; }
.myschedule #workbench-dock th { padding: 7px 10px !important; }
.myschedule #workbench-dock td { padding: 6px 10px !important; height: 33px; }
.myschedule .mys-command-trigger > span { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.myschedule .mys-command-trigger > kbd { flex-shrink: 0; }
.myschedule .mys-header-actions { min-width: 0; }
body.myschedule.mys-gantt-expanded #board-view {
  position: fixed;
  inset: 8px;
  z-index: 120;
  width: auto;
  height: auto;
  box-shadow: 0 0 0 12px var(--surface-page), 0 0 0 100vmax #1a1c1966;
}
body.myschedule.mys-gantt-expanded .mys-queue-popover { z-index: 130; top: 58px; right: 16px; bottom: 24px; }
body.myschedule.mys-gantt-expanded:not(.mys-nav-overlay-open) .mys-rail { z-index: 30; }

@media (max-width: 1100px) {
  .myschedule #mys-board-query > button .mys-tool-label,
  .myschedule #mys-board-query > details > summary .mys-tool-label { display: none; }
  .myschedule #mys-board-query > button,
  .myschedule #mys-board-query > details > summary { width: 32px; padding: 5px; }
}
@media (max-width: 800px) {
  .myschedule[data-surface="board"] .app-header #save-state { display: none; }
  .myschedule[data-surface="board"] .mys-page-actions > button:not(.primary) { display: none; }
  .myschedule[data-surface="board"] .workspace main { padding: 8px; }
  .myschedule[data-surface="board"] .workspace-caption h1 { font-size: 19px !important; }
  .myschedule[data-surface="board"] .mys-page-actions .primary { min-height: 30px; padding: 5px 9px; font-size: 11px; }
  .myschedule #board-view .board-footer > span:first-child { display: none; }
}
@media (max-width: 600px) {
  body.myschedule[data-surface="board"] { grid-template-rows: 50px minmax(0, 1fr) 22px; }
  .myschedule[data-surface="board"] .app-header { height: 50px; padding: 0 8px; }
  .myschedule[data-surface="board"] .workspace main { padding: 6px; gap: 6px; }
  .myschedule[data-surface="board"] .workspace-caption { min-height: 34px; gap: 8px; }
  .myschedule[data-surface="board"] .metrics > div { padding: 7px 9px !important; }
  .myschedule #mys-board-query { padding: 6px; gap: 4px; }
  .myschedule #mys-board-query .mys-fit-label { display: none; }
  .myschedule #board-view .dock-tabs { overflow-x: auto; flex-wrap: nowrap; flex-shrink: 0; }
  .myschedule #workbench-dock .table-pager > span:first-child { display: none; }
  .myschedule #board-view .board-footer { font-size: 8px; }
  body.myschedule.mys-gantt-expanded #board-view { inset: 4px; }
}
@media (max-height: 600px) {
  .myschedule[data-surface="board"] #notice,
  .myschedule[data-surface="board"] .scheduling-notes { max-height: 52px; }
}
@media print {
  body.myschedule.mys-gantt-expanded #board-view { position: static; box-shadow: none; }
  .myschedule #mys-board-query { display: none; }
}

/* Animate the floating surface while keeping the fixed toolbar and chart still. */
.myschedule #mys-board-query .mys-board-panel-animating{transform-origin:top right;will-change:transform,opacity}
.myschedule #mys-board-query .mys-board-popover > .mys-board-panel-closing{z-index:89;pointer-events:none}
