#ganttOut {
      --v13-font: "Inter", "Segoe UI Variable", "SF Pro Display", "Segoe UI", Tahoma, Arial, sans-serif;
      --v13-mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", "JetBrains Mono", Consolas, monospace;
    }

    #ganttOut,
    #ganttOut .p6-toolbar,
    #ganttOut .p6-legend,
    #ganttOut .p6-outer,
    #ganttOut .p6-hdr-left,
    #ganttOut .p6-hdr-right,
    #ganttOut .p6-left,
    #ganttOut .p6-right,
    #ganttOut .p6-side-lbl,
    #ganttOut .v12-menu-panel,
    #ganttOut .v12-menu-trigger,
    #ganttOut .p6-exp-btn,
    #ganttOut .p6-tb-btn.v12-direct,
    #ganttOut .v12-switch-btn {
      font-family: var(--v13-font) !important
    }

    #ganttOut .p6-toolbar {
      display: flex !important;
      align-items: center !important;
      gap: 10px !important;
      flex-wrap: wrap !important;
      padding: 10px 12px !important;
      border-radius: 18px !important;
      transition: background .22s ease, border-color .22s ease, box-shadow .22s ease !important;
    }

    #ganttOut .p6-toolbar .p6-tb-sep,
    #ganttOut .p6-toolbar .p6-tb-lbl {
      display: none !important
    }

    #ganttOut .v12-toolgroup {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap
    }

    #ganttOut .v12-spacer {
      margin-left: auto;
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap
    }

    #ganttOut .v12-menu {
      position: relative;
      display: flex;
      align-items: center
    }

    #ganttOut .v12-menu-trigger,
    #ganttOut .p6-exp-btn,
    #ganttOut .p6-tb-btn.v12-direct {
      min-height: 40px !important;
      padding: 0 14px !important;
      border-radius: 14px !important;
      font-size: 13px !important;
      font-weight: 790 !important;
      letter-spacing: -.01em !important;
      transition: transform .18s cubic-bezier(.22, 1, .36, 1), box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease !important;
    }

    #ganttOut .v12-menu-trigger {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      cursor: pointer
    }

    #ganttOut .v12-menu-trigger::after {
      content: '▾';
      font-size: 11px;
      transform: translateY(1px);
      transition: transform .22s ease, color .22s ease
    }

    #ganttOut .v12-menu:hover .v12-menu-trigger,
    #ganttOut .v12-menu.open .v12-menu-trigger,
    #ganttOut .p6-exp-btn:hover,
    #ganttOut .p6-tb-btn.v12-direct:hover,
    #ganttOut .v12-switch-btn:hover {
      transform: translateY(-1px) !important
    }

    #ganttOut .v12-menu:hover .v12-menu-trigger::after,
    #ganttOut .v12-menu.open .v12-menu-trigger::after {
      transform: translateY(1px) rotate(180deg)
    }

    #ganttOut .v12-menu-panel {
      position: absolute;
      top: calc(100% + 10px);
      inset-inline-start: 0;
      min-width: 220px;
      padding: 8px;
      display: grid;
      gap: 6px;
      border-radius: 16px;
      opacity: 0;
      visibility: hidden;
      transform: translateY(8px) scale(.98);
      transform-origin: top left;
      transition: opacity .22s ease, transform .28s cubic-bezier(.22, 1, .36, 1), visibility .22s ease;
      backdrop-filter: blur(14px);
      z-index: 40;
    }

    #ganttOut .v12-menu:hover .v12-menu-panel,
    #ganttOut .v12-menu.open .v12-menu-panel,
    #ganttOut .v12-menu:focus-within .v12-menu-panel {
      opacity: 1;
      visibility: visible;
      transform: translateY(0) scale(1)
    }

    #ganttOut .v12-menu-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      min-height: 40px;
      padding: 0 12px;
      border: none;
      border-radius: 12px;
      background: transparent;
      font-size: 13px;
      font-weight: 780;
      cursor: pointer;
      transition: background .18s ease, transform .18s cubic-bezier(.22, 1, .36, 1), color .18s ease, box-shadow .18s ease;
    }

    #ganttOut .v12-menu-item .sub {
      font-size: 11px;
      font-weight: 700;
      opacity: .78
    }

    #ganttOut .v12-menu-item:hover {
      transform: translateX(3px)
    }

    #ganttOut .v12-chip {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 24px;
      height: 24px;
      padding: 0 8px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 850
    }

    #ganttOut .v12-menu-label {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 1px
    }

    #ganttOut .v12-theme-switch {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 4px;
      border-radius: 15px;
      transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
    }

    #ganttOut .v12-switch-btn {
      min-height: 34px;
      border: none;
      padding: 0 12px;
      border-radius: 11px;
      font-size: 12px;
      font-weight: 820;
      letter-spacing: -.01em;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      cursor: pointer;
      transition: all .18s cubic-bezier(.22, 1, .36, 1);
    }

    #ganttOut .v12-switch-btn .ico {
      font-size: 12px;
      line-height: 1
    }

    #ganttOut .p6-rowcount {
      display: inline-flex;
      align-items: center;
      min-height: 38px;
      padding: 0 12px;
      border-radius: 12px;
      font-size: 12px !important;
      font-weight: 780 !important
    }

    #ganttOut .p6-legend {
      gap: 8px !important;
      margin-bottom: 10px !important
    }

    #ganttOut .p6-leg {
      padding: 6px 12px !important;
      font-size: 11px !important;
      font-weight: 770 !important;
      border-radius: 999px !important
    }

    #ganttOut .p6-leg i {
      border-radius: 4px !important
    }

    #ganttOut .p6-outer {
      border-radius: 18px !important;
      overflow: auto !important;
      overscroll-behavior: contain !important;
      transition: background .22s ease, border-color .22s ease, box-shadow .22s ease !important
    }

    #ganttOut .p6-hdr-left,
    #ganttOut .p6-hdr-right {
      transition: background .22s ease, border-color .22s ease !important
    }

    #ganttOut .p6-hdr-cell,
    #ganttOut .p6-month-lbl {
      font-size: 11px !important;
      letter-spacing: .045em !important;
      font-weight: 820 !important
    }

    #ganttOut .p6-row .p6-right {
      overflow: visible !important
    }

    #ganttOut .p6-side-lbl {
      font-size: 11px !important;
      letter-spacing: -.01em !important;
      transition: color .22s ease !important
    }

    #ganttOut .p6-side-lbl.wbs {
      font-weight: 830 !important
    }

    #ganttOut .p6-toolbar .p6-tb-btn.v12-direct.on.crit {
      background: linear-gradient(180deg, #5d1018, #3f0c13) !important;
      color: #fff2f2 !important;
      border-color: rgba(239, 68, 68, .42) !important;
      box-shadow: 0 10px 22px rgba(127, 29, 29, .22) !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-toolbar .p6-tb-btn.v12-direct.on.crit {
      background: linear-gradient(180deg, #fff1f2, #ffe4e6) !important;
      color: #991b1b !important;
      border-color: #fda4af !important;
      box-shadow: 0 10px 22px rgba(239, 68, 68, .12) !important
    }

    #ganttOut .p6-outer::-webkit-scrollbar {
      height: 12px;
      width: 12px
    }

    #ganttOut .p6-outer::-webkit-scrollbar-thumb {
      background: rgba(100, 116, 139, .42);
      border-radius: 999px;
      border: 2px solid transparent;
      background-clip: padding-box
    }

    #ganttOut .p6-outer::-webkit-scrollbar-track {
      background: transparent
    }

    #ganttOut .p6-outer.v16-drag {
      cursor: grabbing !important;
      user-select: none !important
    }

    #ganttOut .p6-c-id,
    #ganttOut .p6-c-date,
    #ganttOut .p6-c-dur {
      font-family: var(--v13-mono) !important
    }

    #ganttOut .p6-c-id {
      font-size: 10px !important;
      font-weight: 800 !important
    }

    #ganttOut .p6-c-date {
      font-size: 10.5px !important;
      font-weight: 760 !important
    }

    #ganttOut .p6-c-dur {
      font-size: 11px !important;
      font-weight: 800 !important
    }

    #ganttOut .p6-name-main {
      font-size: 12.8px !important;
      font-weight: 790 !important;
      letter-spacing: -.012em !important
    }

    #ganttOut .p6-name-main.with-toggle .p6-name-text {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap
    }

    #ganttOut .p6-gutter-toggle {
      width: 12px !important;
      height: 12px !important;
      min-width: 12px !important;
      inset-inline-start: 8px !important;
      border-radius: 999px !important;
      font-size: 8px !important;
      font-weight: 900 !important;
      line-height: 1 !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      transition: transform .16s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease !important;
    }

    #ganttOut .p6-row[data-can-toggle="1"] .p6-c-id {
      padding-inline-start: 22px !important
    }

    #ganttOut .p6-gutter-toggle:hover {
      transform: translateY(-1px) scale(1.05) !important
    }

    #ganttOut .p6-sum-bar {
      height: 3px !important;
      border-radius: 1px !important;
      position: relative !important;
      box-shadow: none !important;
      clip-path: none !important;
      border: none !important;
      background: var(--sum-line, #111827) !important;
    }

    #ganttOut .p6-sum-bar::before,
    #ganttOut .p6-sum-bar::after {
      content: '' !important;
      position: absolute !important;
      top: 0 !important;
      width: 0 !important;
      height: 0 !important;
      border-top: 7px solid var(--sum-line, #111827) !important;
      transform: translateY(1px) !important;
    }

    #ganttOut .p6-sum-bar::before {
      left: 0 !important;
      border-right: 6px solid transparent !important;
    }

    #ganttOut .p6-sum-bar::after {
      right: 0 !important;
      border-left: 6px solid transparent !important;
    }

    #ganttOut .p6-act-bar {
      height: 11px !important;
      border-radius: 6px !important
    }

    #ganttOut .p6-act-bar.crit {
      box-shadow: 0 0 0 1px rgba(255, 255, 255, .22), 0 6px 16px rgba(239, 68, 68, .18) !important
    }

    #ganttOut .v12-menu-panel .p6-tb-btn,
    #ganttOut .v12-menu-panel .p6-exp-btn {
      all: unset
    }

    #ganttOut .p6-row {
      transform-origin: top center;
      transition: background .22s ease
    }

    body[data-gantt-theme="dark"] #ganttOut {
      --v13-surface: #091425;
      --v13-surface-2: #0c1a2f;
      --v13-surface-3: #08111f;
      --v13-border: rgba(78, 116, 179, .24);
      --v13-border-strong: rgba(109, 154, 230, .26);
      --v13-text: #eaf2ff;
      --v13-muted: #9cb0ca;
      --v13-soft: #7b93b7;
      --v13-panel: rgba(8, 18, 36, .96);
      --v13-panel-2: rgba(10, 22, 42, .98);
      --v13-chip: #152b54;
      --v13-chip-text: #a9c9ff;
      --v13-shadow: 0 14px 36px rgba(2, 8, 20, .42), 0 1px 0 rgba(255, 255, 255, .03) inset;
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-toolbar {
      background: linear-gradient(180deg, rgba(8, 18, 34, .96), rgba(6, 14, 28, .98)) !important;
      border: 1px solid var(--v13-border) !important;
      box-shadow: var(--v13-shadow) !important;
    }

    body[data-gantt-theme="dark"] #ganttOut .v12-menu-trigger,
    body[data-gantt-theme="dark"] #ganttOut .p6-exp-btn,
    body[data-gantt-theme="dark"] #ganttOut .p6-tb-btn.v12-direct {
      border: 1px solid rgba(92, 128, 191, .22) !important;
      background: linear-gradient(180deg, rgba(13, 26, 48, .98), rgba(9, 20, 39, .98)) !important;
      color: var(--v13-text) !important;
      box-shadow: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 10px 20px rgba(0, 0, 0, .18) !important;
    }

    body[data-gantt-theme="dark"] #ganttOut .v12-menu-trigger::after {
      color: #8aa6d8
    }

    body[data-gantt-theme="dark"] #ganttOut .v12-menu:hover .v12-menu-trigger,
    body[data-gantt-theme="dark"] #ganttOut .v12-menu.open .v12-menu-trigger,
    body[data-gantt-theme="dark"] #ganttOut .p6-exp-btn:hover,
    body[data-gantt-theme="dark"] #ganttOut .p6-tb-btn.v12-direct:hover,
    body[data-gantt-theme="dark"] #ganttOut .v12-switch-btn:hover {
      border-color: #3b82f6 !important;
      box-shadow: 0 14px 28px rgba(15, 23, 42, .34), 0 0 0 1px rgba(31, 78, 121, .10) !important
    }

    body[data-gantt-theme="dark"] #ganttOut .v12-menu-panel {
      background: rgba(8, 18, 36, .94);
      border: 1px solid rgba(88, 122, 184, .22);
      box-shadow: 0 24px 48px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 255, 255, .03) inset;
      color: var(--v13-text)
    }

    body[data-gantt-theme="dark"] #ganttOut .v12-menu-item {
      color: var(--v13-text)
    }

    body[data-gantt-theme="dark"] #ganttOut .v12-menu-item:hover {
      background: rgba(31, 78, 121, .12);
      box-shadow: inset 0 0 0 1px rgba(79, 127, 168, .18)
    }

    body[data-gantt-theme="dark"] #ganttOut .v12-menu-item.active {
      background: linear-gradient(180deg, rgba(31, 78, 121, .20), rgba(31, 78, 121, .12));
      box-shadow: inset 0 0 0 1px rgba(79, 127, 168, .28)
    }

    body[data-gantt-theme="dark"] #ganttOut .v12-menu-item.warn {
      background: linear-gradient(180deg, rgba(251, 191, 36, .12), rgba(249, 115, 22, .10));
      color: #fde68a;
      box-shadow: inset 0 0 0 1px rgba(251, 191, 36, .18)
    }

    body[data-gantt-theme="dark"] #ganttOut .v12-chip {
      background: #11274d;
      color: #9fc5ff
    }

    body[data-gantt-theme="dark"] #ganttOut .v12-theme-switch {
      background: rgba(9, 20, 39, .96);
      border: 1px solid rgba(92, 128, 191, .22);
      box-shadow: 0 1px 0 rgba(255, 255, 255, .04) inset
    }

    body[data-gantt-theme="dark"] #ganttOut .v12-switch-btn {
      background: transparent;
      color: #95a8c8
    }

    body[data-gantt-theme="dark"] #ganttOut .v12-switch-btn.active {
      background: linear-gradient(180deg, #163566, #10264a);
      color: #f8fbff;
      box-shadow: 0 8px 20px rgba(0, 0, 0, .18)
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-exp-btn.grn {
      color: #86efac !important;
      background: linear-gradient(180deg, rgba(16, 74, 45, .96), rgba(10, 56, 34, .98)) !important;
      border-color: rgba(34, 197, 94, .30) !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-exp-btn.red {
      color: #fda4af !important;
      background: linear-gradient(180deg, rgba(89, 19, 31, .96), rgba(68, 12, 24, .98)) !important;
      border-color: rgba(244, 63, 94, .28) !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-rowcount {
      background: rgba(10, 21, 40, .96);
      border: 1px solid rgba(92, 128, 191, .18);
      color: #9eb1cb !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-legend .p6-leg {
      background: linear-gradient(180deg, rgba(12, 25, 45, .96), rgba(8, 18, 34, .98)) !important;
      border: 1px solid rgba(92, 128, 191, .20) !important;
      color: #c7d8f6 !important;
      box-shadow: 0 8px 18px rgba(0, 0, 0, .16) !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-outer {
      background: #07111f !important;
      border: 1px solid rgba(88, 122, 184, .22) !important;
      box-shadow: 0 20px 40px rgba(0, 0, 0, .28), 0 1px 0 rgba(255, 255, 255, .03) inset !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-hdr-left,
    body[data-gantt-theme="dark"] #ganttOut .p6-hdr-right {
      background: linear-gradient(180deg, #09182f, #071322) !important;
      border-bottom: 1px solid rgba(88, 122, 184, .24) !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-hdr-cell,
    body[data-gantt-theme="dark"] #ganttOut .p6-month-lbl {
      color: #a9bedc !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-left {
      border-right: 1px solid rgba(88, 122, 184, .22) !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-gl {
      border-left-color: rgba(79, 127, 168, .08) !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-gl.maj {
      border-left-color: rgba(79, 127, 168, .16) !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-today {
      background: rgba(248, 113, 113, .86) !important;
      box-shadow: 0 0 0 1px rgba(248, 113, 113, .12), 0 0 18px rgba(248, 113, 113, .16) !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-today::before {
      color: #fca5a5 !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-gutter-toggle {
      box-shadow: 0 4px 10px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .12) !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-sum-bar {
      --sum-line: #f3f6fb !important;
      background: var(--sum-line) !important;
      box-shadow: none !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-sum-bar::before,
    body[data-gantt-theme="dark"] #ganttOut .p6-sum-bar::after {
      border-top-color: var(--sum-line) !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-act-bar {
      box-shadow: 0 6px 16px rgba(2, 8, 20, .26), inset 0 1px 0 rgba(255, 255, 255, .22) !important
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-side-lbl {
      color: #edf4ff !important;
      text-shadow: 0 1px 2px rgba(0, 0, 0, .65) !important
    }

    body[data-gantt-theme="light"] #ganttOut {
      --v13-surface: #ffffff;
      --v13-surface-2: #fbfdff;
      --v13-surface-3: #f5f8fc;
      --v13-border: #d7e2ee;
      --v13-border-strong: #c8d6e5;
      --v13-text: #162030;
      --v13-muted: #4c5d73;
      --v13-soft: #708399;
      --v13-panel: rgba(255, 255, 255, .98);
      --v13-panel-2: rgba(248, 251, 255, .98);
      --v13-chip: #edf4ff;
      --v13-chip-text: #2357d8;
      --v13-shadow: 0 14px 34px rgba(15, 23, 42, .10), 0 2px 8px rgba(15, 23, 42, .05);
    }

    body[data-gantt-theme="light"] #ganttOut .p6-toolbar {
      background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
      border: 1px solid var(--v13-border) !important;
      box-shadow: var(--v13-shadow) !important;
    }

    body[data-gantt-theme="light"] #ganttOut .v12-menu-trigger,
    body[data-gantt-theme="light"] #ganttOut .p6-exp-btn,
    body[data-gantt-theme="light"] #ganttOut .p6-tb-btn.v12-direct {
      border: 1px solid var(--v13-border) !important;
      background: linear-gradient(180deg, #ffffff, #f7fbff) !important;
      color: var(--v13-text) !important;
      box-shadow: 0 2px 0 rgba(255, 255, 255, .95) inset, 0 6px 18px rgba(15, 23, 42, .06) !important;
    }

    body[data-gantt-theme="light"] #ganttOut .v12-menu-trigger::after {
      color: #64748b
    }

    body[data-gantt-theme="light"] #ganttOut .v12-menu:hover .v12-menu-trigger,
    body[data-gantt-theme="light"] #ganttOut .v12-menu.open .v12-menu-trigger,
    body[data-gantt-theme="light"] #ganttOut .p6-exp-btn:hover,
    body[data-gantt-theme="light"] #ganttOut .p6-tb-btn.v12-direct:hover,
    body[data-gantt-theme="light"] #ganttOut .v12-switch-btn:hover {
      border-color: #b8cce6 !important;
      box-shadow: 0 12px 28px rgba(15, 23, 42, .10), 0 2px 0 rgba(255, 255, 255, .98) inset !important
    }

    body[data-gantt-theme="light"] #ganttOut .v12-menu-panel {
      background: rgba(255, 255, 255, .97);
      border: 1px solid rgba(203, 213, 225, .95);
      box-shadow: 0 22px 48px rgba(15, 23, 42, .16), 0 8px 18px rgba(15, 23, 42, .08)
    }

    body[data-gantt-theme="light"] #ganttOut .v12-menu-item {
      color: var(--v13-text)
    }

    body[data-gantt-theme="light"] #ganttOut .v12-menu-item:hover {
      background: #eef5ff;
      box-shadow: inset 0 0 0 1px #e7eef6
    }

    body[data-gantt-theme="light"] #ganttOut .v12-menu-item.active {
      background: linear-gradient(180deg, #eaf3ff, #dcecff);
      color: #0f172a;
      box-shadow: inset 0 0 0 1px #bfd6fb
    }

    body[data-gantt-theme="light"] #ganttOut .v12-menu-item.active .sub {
      color: #1f4e79
    }

    body[data-gantt-theme="light"] #ganttOut .v12-menu-item.warn {
      background: linear-gradient(180deg, #fff7ed, #ffedd5);
      color: #9a3412;
      box-shadow: inset 0 0 0 1px #fed7aa
    }

    body[data-gantt-theme="light"] #ganttOut .v12-chip {
      background: #edf4ff;
      color: #1f4e79
    }

    body[data-gantt-theme="light"] #ganttOut .v12-theme-switch {
      background: #f8fbff;
      border: 1px solid var(--v13-border);
      box-shadow: 0 2px 8px rgba(15, 23, 42, .05)
    }

    body[data-gantt-theme="light"] #ganttOut .v12-switch-btn {
      background: transparent;
      color: #64748b
    }

    body[data-gantt-theme="light"] #ganttOut .v12-switch-btn.active {
      background: linear-gradient(180deg, #edf4ff, #e7eef6);
      color: #1847b8;
      box-shadow: 0 8px 18px rgba(31, 78, 121, .14)
    }

    body[data-gantt-theme="light"] #ganttOut .p6-exp-btn.grn {
      color: #166534 !important;
      background: linear-gradient(180deg, #f0fdf4, #dcfce7) !important;
      border-color: #bbf7d0 !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-exp-btn.red {
      color: #b91c1c !important;
      background: linear-gradient(180deg, #fff1f2, #ffe4e6) !important;
      border-color: #fecdd3 !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-rowcount {
      background: #f8fbff;
      border: 1px solid var(--v13-border);
      color: #475569 !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-legend .p6-leg {
      background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
      border: 1px solid var(--v13-border) !important;
      color: #334155 !important;
      box-shadow: 0 6px 18px rgba(15, 23, 42, .05) !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-outer {
      background: #ffffff !important;
      border: 1px solid var(--v13-border) !important;
      box-shadow: 0 18px 40px rgba(15, 23, 42, .10), 0 2px 8px rgba(15, 23, 42, .06) !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-hdr-left,
    body[data-gantt-theme="light"] #ganttOut .p6-hdr-right {
      background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
      border-bottom: 1px solid var(--v13-border-strong) !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-hdr-cell,
    body[data-gantt-theme="light"] #ganttOut .p6-month-lbl {
      color: #43546a !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-year-lbl {
      color: #43546a !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-year-row {
      border-bottom-color: rgba(0, 0, 0, .08) !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-left {
      border-right: 1px solid var(--v13-border) !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-gl {
      border-left-color: rgba(148, 163, 184, .18) !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-gl.maj {
      border-left-color: rgba(31, 78, 121, .18) !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-today {
      background: rgba(239, 68, 68, .74) !important;
      box-shadow: 0 0 0 1px rgba(239, 68, 68, .08), 0 0 18px rgba(239, 68, 68, .12) !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-today::before {
      color: #ef4444 !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-gutter-toggle {
      box-shadow: 0 4px 10px rgba(15, 23, 42, .10), inset 0 1px 0 rgba(255, 255, 255, .9) !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-sum-bar {
      --sum-line: #111827 !important;
      background: var(--sum-line) !important;
      box-shadow: none !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-sum-bar::before,
    body[data-gantt-theme="light"] #ganttOut .p6-sum-bar::after {
      border-top-color: var(--sum-line) !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-act-bar {
      box-shadow: 0 4px 12px rgba(15, 23, 42, .12), inset 0 1px 0 rgba(255, 255, 255, .28) !important
    }

    body[data-gantt-theme="light"] #ganttOut .p6-side-lbl {
      color: #334155 !important;
      text-shadow: none !important
    }

    /* Gantt header refinement: export actions live in one compact menu. */
    #tp-gantt #p6-export-dock-safe {
      display: none !important;
    }

    #ganttOut .p6-toolbar .p6-rowcount {
      display: none !important;
    }

    #ganttOut .p6-toolbar .p6-exp-btn {
      display: none !important;
    }

    #ganttOut .v12-export-menu .v12-menu-panel {
      inset-inline-start: auto !important;
      inset-inline-end: 0 !important;
      min-width: 252px !important;
      transform-origin: top right !important;
      padding: 10px !important;
    }

    #ganttOut .v12-export-trigger {
      min-width: 134px !important;
      justify-content: space-between !important;
      padding-inline: 14px !important;
    }

    #ganttOut .v12-export-trigger-label {
      display: inline-flex !important;
      align-items: center !important;
      gap: 8px !important;
      font-weight: 850 !important;
    }

    #ganttOut .v12-export-icon {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 24px !important;
      height: 22px !important;
      border-radius: 8px !important;
      font-size: 10px !important;
      font-weight: 900 !important;
    }

    #ganttOut .v12-export-item .v12-menu-label > span:first-child {
      display: inline-flex !important;
      align-items: center !important;
      gap: 9px !important;
    }

    #ganttOut .v12-export-dot {
      width: 10px !important;
      height: 10px !important;
      border-radius: 999px !important;
      display: inline-block !important;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.24) !important;
    }

    #ganttOut .v12-export-item.excel .v12-export-dot { background: #22c55e !important; }
    #ganttOut .v12-export-item.pdf .v12-export-dot { background: #ef4444 !important; }
    #ganttOut .v12-export-item.xer .v12-export-dot,
    #ganttOut .v12-export-item.xml .v12-export-dot { background: #D4A53A !important; }

    body[data-gantt-theme="light"] #ganttOut .v12-export-trigger {
      background: linear-gradient(180deg, #1B1A17, #2B2A26) !important;
      border-color: #1B1A17 !important;
      color: #FAF8F4 !important;
      box-shadow: 0 12px 24px rgba(27, 26, 23, .16) !important;
    }

    body[data-gantt-theme="light"] #ganttOut .v12-export-trigger .v12-chip,
    body[data-gantt-theme="dark"] #ganttOut .v12-export-trigger .v12-chip {
      background: rgba(212,165,58,.18) !important;
      color: #D4A53A !important;
    }

    body[data-gantt-theme="light"] #ganttOut .v12-export-icon,
    body[data-gantt-theme="dark"] #ganttOut .v12-export-icon {
      background: rgba(212,165,58,.16) !important;
      color: #D4A53A !important;
    }

    #ganttOut #ganttLinkHandlesToggle {
      min-height: 34px !important;
      height: 34px !important;
      padding: 0 10px !important;
      border-radius: 11px !important;
      font-size: 11.5px !important;
      font-weight: 850 !important;
      letter-spacing: 0 !important;
      line-height: 1 !important;
      white-space: nowrap !important;
    }

    /* Slim premium toolbar pass: lighter controls, lower height, cleaner export menu. */
    #ganttOut .p6-toolbar {
      gap: 8px !important;
      padding: 5px 8px !important;
      border-radius: 14px !important;
      min-height: 42px !important;
      box-shadow: 0 14px 32px rgba(15, 23, 42, .09), 0 1px 0 rgba(255,255,255,.82) inset !important;
    }

    #ganttOut .v12-toolgroup,
    #ganttOut .v12-spacer {
      gap: 7px !important;
    }

    #ganttOut .v12-menu-trigger,
    #ganttOut .p6-tb-btn.v12-direct {
      min-height: 30px !important;
      height: 30px !important;
      padding: 0 10px !important;
      border-radius: 10px !important;
      font-size: 11.5px !important;
      font-weight: 820 !important;
      letter-spacing: 0 !important;
      box-shadow: 0 5px 14px rgba(15, 23, 42, .045), inset 0 1px 0 rgba(255,255,255,.78) !important;
    }

    #ganttOut .v12-theme-switch {
      min-height: 32px !important;
      padding: 3px !important;
      border-radius: 12px !important;
    }

    #ganttOut .v12-switch-btn {
      min-height: 26px !important;
      height: 26px !important;
      padding: 0 10px !important;
      border-radius: 9px !important;
      font-size: 11.5px !important;
      font-weight: 820 !important;
      letter-spacing: 0 !important;
    }

    #ganttOut .v12-chip {
      min-width: 21px !important;
      height: 21px !important;
      padding: 0 7px !important;
      font-size: 10px !important;
      font-weight: 900 !important;
    }

    #ganttOut .v12-menu-trigger::after {
      font-size: 10px !important;
      opacity: .72 !important;
    }

    #ganttOut .v12-export-trigger {
      min-width: 112px !important;
      height: 32px !important;
      min-height: 32px !important;
      padding-inline: 10px !important;
      border-radius: 11px !important;
      gap: 8px !important;
    }

    #ganttOut .v12-export-trigger-label {
      gap: 7px !important;
      font-size: 11.5px !important;
      font-weight: 900 !important;
    }

    #ganttOut .v12-export-icon {
      width: 21px !important;
      height: 21px !important;
      border-radius: 7px !important;
      font-size: 9px !important;
      letter-spacing: .04em !important;
    }

    #ganttOut .v12-export-menu .v12-menu-panel {
      top: calc(100% + 7px) !important;
      min-width: 226px !important;
      padding: 8px !important;
      gap: 5px !important;
      border-radius: 14px !important;
      box-shadow: 0 20px 44px rgba(15, 23, 42, .18), 0 0 0 1px rgba(255,255,255,.08) inset !important;
    }

    #ganttOut .v12-export-item {
      min-height: 34px !important;
      padding: 0 10px !important;
      border-radius: 10px !important;
      font-size: 11.5px !important;
      font-weight: 850 !important;
    }

    #ganttOut .v12-export-item .sub {
      font-size: 10px !important;
      font-weight: 740 !important;
      opacity: .72 !important;
    }

    #ganttOut .v12-export-dot {
      width: 8px !important;
      height: 8px !important;
    }

    body[data-gantt-theme="light"] #ganttOut .v12-export-trigger {
      background: linear-gradient(180deg, #fffdf8 0%, #f5efe4 100%) !important;
      border-color: rgba(177, 127, 44, .42) !important;
      color: #1B1A17 !important;
      box-shadow: 0 9px 18px rgba(177, 127, 44, .13), inset 0 1px 0 rgba(255,255,255,.92) !important;
    }

    body[data-gantt-theme="light"] #ganttOut .v12-export-menu:hover .v12-export-trigger,
    body[data-gantt-theme="light"] #ganttOut .v12-export-menu.open .v12-export-trigger {
      border-color: rgba(177, 127, 44, .72) !important;
      background: linear-gradient(180deg, #ffffff 0%, #f1e5cf 100%) !important;
      box-shadow: 0 12px 24px rgba(177, 127, 44, .18), 0 0 0 3px rgba(212, 165, 58, .12) !important;
    }

    body[data-gantt-theme="dark"] #ganttOut .v12-export-trigger {
      background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035)) !important;
      border-color: rgba(212, 165, 58, .48) !important;
      color: #FAF8F4 !important;
      box-shadow: 0 10px 22px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.12) !important;
    }

    /* Header-level Gantt export: the export action belongs to the main app header. */
    .aipe-header-export {
      position: relative !important;
      display: none !important;
      flex: 0 0 auto !important;
      z-index: 130 !important;
    }

    .aipe-header-export.is-visible {
      display: inline-flex !important;
      align-items: center !important;
    }

    .aipe-header-export-trigger {
      height: 38px !important;
      min-height: 38px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 9px !important;
      padding: 0 12px !important;
      border-radius: 12px !important;
      border: 1px solid rgba(177, 127, 44, .38) !important;
      background: linear-gradient(180deg, #fffdf8 0%, #f4ebdc 100%) !important;
      color: #1B1A17 !important;
      font-family: "DM Sans", "Inter", system-ui, sans-serif !important;
      font-size: 12px !important;
      font-weight: 850 !important;
      line-height: 1 !important;
      cursor: pointer !important;
      box-shadow: 0 8px 20px rgba(177, 127, 44, .13), inset 0 1px 0 rgba(255,255,255,.90) !important;
      transition: transform .16s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease !important;
    }

    .aipe-header-export:hover .aipe-header-export-trigger,
    .aipe-header-export.open .aipe-header-export-trigger {
      transform: translateY(-1px) !important;
      border-color: rgba(177, 127, 44, .70) !important;
      background: linear-gradient(180deg, #ffffff 0%, #efe1ca 100%) !important;
      box-shadow: 0 12px 26px rgba(177, 127, 44, .18), 0 0 0 3px rgba(212, 165, 58, .12) !important;
    }

    .aipe-header-export-mark {
      width: 22px !important;
      height: 22px !important;
      display: inline-grid !important;
      place-items: center !important;
      border-radius: 8px !important;
      background: rgba(212, 165, 58, .18) !important;
      color: #9A6A16 !important;
      font-size: 9px !important;
      font-weight: 950 !important;
      letter-spacing: .04em !important;
    }

    .aipe-header-export-text {
      white-space: nowrap !important;
    }

    .aipe-header-export-caret {
      color: rgba(27, 26, 23, .55) !important;
      font-size: 10px !important;
      transform: translateY(1px) !important;
      transition: transform .18s ease !important;
    }

    .aipe-header-export.open .aipe-header-export-caret {
      transform: translateY(1px) rotate(180deg) !important;
    }

    .aipe-header-export-panel {
      position: absolute !important;
      top: calc(100% + 9px) !important;
      right: 0 !important;
      width: 238px !important;
      display: grid !important;
      gap: 5px !important;
      padding: 9px !important;
      border-radius: 15px !important;
      border: 1px solid rgba(218, 210, 194, .92) !important;
      background: rgba(255, 253, 248, .98) !important;
      color: #1B1A17 !important;
      box-shadow: 0 24px 54px rgba(27, 26, 23, .18), inset 0 1px 0 rgba(255,255,255,.92) !important;
      opacity: 0 !important;
      visibility: hidden !important;
      transform: translateY(7px) scale(.98) !important;
      transform-origin: top right !important;
      transition: opacity .18s ease, transform .2s cubic-bezier(.22, 1, .36, 1), visibility .18s ease !important;
      backdrop-filter: blur(18px) saturate(1.06) !important;
    }

    .aipe-header-export.open .aipe-header-export-panel,
    .aipe-header-export:focus-within .aipe-header-export-panel {
      opacity: 1 !important;
      visibility: visible !important;
      transform: translateY(0) scale(1) !important;
    }

    .aipe-header-export-title {
      padding: 3px 4px 7px !important;
      color: rgba(27, 26, 23, .62) !important;
      font: 900 10px/1 "DM Sans", "Inter", system-ui, sans-serif !important;
      letter-spacing: .08em !important;
      text-transform: uppercase !important;
    }

    .aipe-header-export .v12-export-item {
      width: 100% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      min-height: 38px !important;
      padding: 0 10px !important;
      border: 0 !important;
      border-radius: 11px !important;
      background: transparent !important;
      color: #1B1A17 !important;
      font: 850 12px/1.15 "DM Sans", "Inter", system-ui, sans-serif !important;
      text-align: left !important;
      cursor: pointer !important;
      transition: background .16s ease, transform .16s ease, box-shadow .16s ease !important;
    }

    .aipe-header-export .v12-export-item:hover {
      background: linear-gradient(180deg, #fff8eb, #f3e7d2) !important;
      transform: translateX(2px) !important;
      box-shadow: inset 0 0 0 1px rgba(212, 165, 58, .20) !important;
    }

    .aipe-header-export .v12-menu-label {
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 2px !important;
    }

    .aipe-header-export .v12-menu-label > span:first-child {
      display: inline-flex !important;
      align-items: center !important;
      gap: 8px !important;
    }

    .aipe-header-export .v12-export-item .sub {
      color: rgba(27, 26, 23, .58) !important;
      font-size: 10.5px !important;
      font-weight: 720 !important;
    }

    .aipe-header-export .v12-export-dot {
      width: 8px !important;
      height: 8px !important;
      display: inline-block !important;
      flex: 0 0 8px !important;
      border-radius: 999px !important;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.34) !important;
    }

    .aipe-header-export .v12-export-item.excel .v12-export-dot { background: #22c55e !important; }
    .aipe-header-export .v12-export-item.pdf .v12-export-dot { background: #ef4444 !important; }
    .aipe-header-export .v12-export-item.xer .v12-export-dot,
    .aipe-header-export .v12-export-item.xml .v12-export-dot { background: #D4A53A !important; }

    body.ap-vertical-shell .aipe-header-export {
      margin-left: auto !important;
    }

    body.ap-vertical-shell .hdr .aipe-header-export + .hbtns {
      margin-left: 0 !important;
    }

    body.ap-vertical-shell .hdr,
    .hdr {
      overflow: visible !important;
    }

    /* Gantt tools v2: grouped, labeled, slimmer controls matching the new project theme. */
    #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
      padding: 7px 10px !important;
      gap: 9px !important;
      min-height: 58px !important;
      border-radius: 16px !important;
      background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,248,244,.90)) !important;
      border: 1px solid rgba(218, 210, 194, .82) !important;
      box-shadow: 0 18px 38px rgba(27, 26, 23, .075), inset 0 1px 0 rgba(255,255,255,.92) !important;
    }

    #ganttOut .aipe-gantt-tools-v2 .v12-toolgroup {
      gap: 8px !important;
      align-items: stretch !important;
    }

    #ganttOut .aipe-tool-block {
      position: relative !important;
      display: inline-flex !important;
      align-items: center !important;
      gap: 6px !important;
      min-height: 42px !important;
      padding: 15px 8px 7px !important;
      border-radius: 13px !important;
      border: 1px solid rgba(218, 210, 194, .66) !important;
      background: rgba(255,255,255,.58) !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.82) !important;
    }

    #ganttOut .aipe-tool-block::before {
      content: attr(data-label) !important;
      position: absolute !important;
      top: 5px !important;
      left: 9px !important;
      color: rgba(27, 26, 23, .48) !important;
      font: 950 7.5px/1 "DM Sans", "Inter", system-ui, sans-serif !important;
      letter-spacing: .10em !important;
    }

    #ganttOut .aipe-tool-block .v12-menu-trigger,
    #ganttOut .aipe-tool-block .p6-tb-btn.v12-direct,
    #ganttOut .aipe-gantt-tools-v2 #ganttLinkHandlesToggle {
      min-height: 28px !important;
      height: 28px !important;
      border-radius: 9px !important;
      font-size: 11px !important;
      padding: 0 10px !important;
      box-shadow: none !important;
    }

    #ganttOut .aipe-tool-block .v12-theme-switch {
      min-height: 30px !important;
      padding: 2px !important;
      background: rgba(246, 241, 232, .92) !important;
    }

    #ganttOut .aipe-tool-block .v12-switch-btn {
      height: 26px !important;
      min-height: 26px !important;
    }

    #ganttOut .aipe-gantt-tools-v2 .v12-spacer {
      margin-left: auto !important;
      align-self: stretch !important;
      min-width: 96px !important;
      justify-content: center !important;
      padding: 15px 8px 7px !important;
      border-radius: 13px !important;
      border: 1px solid rgba(218, 210, 194, .66) !important;
      background: rgba(255,255,255,.58) !important;
      position: relative !important;
    }

    #ganttOut .aipe-gantt-tools-v2 .v12-spacer::before {
      content: "LINK MODE" !important;
      position: absolute !important;
      top: 5px !important;
      left: 9px !important;
      color: rgba(27, 26, 23, .48) !important;
      font: 950 7.5px/1 "DM Sans", "Inter", system-ui, sans-serif !important;
      letter-spacing: .10em !important;
      white-space: nowrap !important;
    }

    body[data-gantt-theme="dark"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
      background: linear-gradient(180deg, rgba(8,18,34,.96), rgba(5,12,24,.94)) !important;
      border-color: rgba(148, 163, 184, .16) !important;
      box-shadow: 0 18px 38px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.07) !important;
    }

    body[data-gantt-theme="dark"] #ganttOut .aipe-tool-block,
    body[data-gantt-theme="dark"] #ganttOut .aipe-gantt-tools-v2 .v12-spacer {
      background: rgba(255,255,255,.045) !important;
      border-color: rgba(148, 163, 184, .13) !important;
    }

    body[data-gantt-theme="dark"] #ganttOut .aipe-tool-block::before,
    body[data-gantt-theme="dark"] #ganttOut .aipe-gantt-tools-v2 .v12-spacer::before {
      color: rgba(250, 248, 244, .46) !important;
    }

    /* Gantt tools v3: darker project palette, clearer icons, Fit lives with Zoom. */
    body[data-gantt-theme="light"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
      background: linear-gradient(180deg, #3C4658 0%, #313B4D 100%) !important;
      border-color: rgba(212, 165, 58, .24) !important;
      box-shadow: 0 20px 44px rgba(27, 26, 23, .16), inset 0 1px 0 rgba(255,255,255,.08) !important;
    }

    body[data-gantt-theme="light"] #ganttOut .aipe-tool-block,
    body[data-gantt-theme="light"] #ganttOut .aipe-gantt-tools-v2 .v12-spacer {
      background: linear-gradient(180deg, rgba(250,248,244,.09), rgba(250,248,244,.045)) !important;
      border-color: rgba(250, 248, 244, .16) !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 18px rgba(0,0,0,.08) !important;
    }

    body[data-gantt-theme="light"] #ganttOut .aipe-tool-block::before,
    body[data-gantt-theme="light"] #ganttOut .aipe-gantt-tools-v2 .v12-spacer::before {
      color: rgba(250, 248, 244, .56) !important;
    }

    body[data-gantt-theme="light"] #ganttOut .aipe-tool-block .v12-menu-trigger,
    body[data-gantt-theme="light"] #ganttOut .aipe-tool-block .p6-tb-btn.v12-direct,
    body[data-gantt-theme="light"] #ganttOut .aipe-gantt-tools-v2 #ganttLinkHandlesToggle {
      background: rgba(250, 248, 244, .92) !important;
      border-color: rgba(250, 248, 244, .28) !important;
      color: #172033 !important;
      box-shadow: 0 7px 16px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.82) !important;
    }

    body[data-gantt-theme="light"] #ganttOut .aipe-tool-block .v12-menu-trigger:hover,
    body[data-gantt-theme="light"] #ganttOut .aipe-tool-block .p6-tb-btn.v12-direct:hover,
    body[data-gantt-theme="light"] #ganttOut .aipe-gantt-tools-v2 #ganttLinkHandlesToggle:hover {
      background: #fff7e8 !important;
      border-color: rgba(212, 165, 58, .52) !important;
      color: #1B1A17 !important;
      transform: translateY(-1px) !important;
    }

    body[data-gantt-theme="light"] #ganttOut .aipe-tool-block .v12-theme-switch {
      background: rgba(250, 248, 244, .12) !important;
      border: 1px solid rgba(250, 248, 244, .15) !important;
    }

    body[data-gantt-theme="light"] #ganttOut .aipe-tool-block .v12-switch-btn {
      color: rgba(250, 248, 244, .78) !important;
    }

    body[data-gantt-theme="light"] #ganttOut .aipe-tool-block .v12-switch-btn.active {
      background: linear-gradient(180deg, #fff8eb, #ead7b7) !important;
      color: #172033 !important;
      box-shadow: 0 8px 16px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.72) !important;
    }

    #ganttOut .aipe-tool-block .v12-menu-trigger,
    #ganttOut .aipe-tool-block .p6-tb-btn.v12-direct,
    #ganttOut .aipe-gantt-tools-v2 #ganttLinkHandlesToggle,
    #ganttOut .aipe-tool-block .v12-switch-btn {
      position: relative !important;
      gap: 7px !important;
    }

    #ganttOut .aipe-tool-block .v12-menu-trigger::before,
    #ganttOut .aipe-tool-block .p6-tb-btn.v12-direct::before,
    #ganttOut .aipe-gantt-tools-v2 #ganttLinkHandlesToggle::before,
    #ganttOut .aipe-tool-block .v12-switch-btn::before {
      display: inline-grid !important;
      place-items: center !important;
      width: 16px !important;
      height: 16px !important;
      border-radius: 6px !important;
      background: rgba(212, 165, 58, .16) !important;
      color: #A9781A !important;
      font-size: 10px !important;
      font-weight: 950 !important;
      line-height: 1 !important;
      flex: 0 0 16px !important;
    }

    #ganttOut .aipe-tool-block.theme .v12-switch-btn:first-child::before { content: "◐" !important; }
    #ganttOut .aipe-tool-block.theme .v12-switch-btn:last-child::before { content: "◑" !important; }
    #ganttOut .aipe-tool-block.zoom .v12-menu-trigger::before { content: "⌕" !important; }
    #ganttOut .aipe-tool-block.zoom .aipe-fit-btn::before { content: "⌖" !important; }
    #ganttOut .aipe-tool-block.focus .aipe-critical-btn::before { content: "!" !important; }
    #ganttOut .aipe-tool-block.display .v12-menu-trigger::before { content: "▤" !important; }
    #ganttOut .aipe-tool-block.links .v12-menu-trigger::before { content: "↘" !important; }
    #ganttOut .aipe-gantt-tools-v2 #ganttLinkHandlesToggle::before { content: "⌁" !important; }

    #ganttOut .aipe-tool-block.theme .v12-switch-btn .ico {
      display: none !important;
    }

    #ganttOut .aipe-tool-block.zoom {
      gap: 7px !important;
    }

    #ganttOut .aipe-tool-block.zoom .aipe-fit-btn {
      margin-left: 0 !important;
    }

    #ganttOut .aipe-gantt-tools-v2 .v12-spacer {
      min-width: 152px !important;
      justify-content: flex-end !important;
      padding-right: 10px !important;
    }

    #ganttOut .aipe-gantt-tools-v2 #ganttLinkHandlesToggle {
      min-width: 104px !important;
      justify-content: center !important;
    }

    #ganttOut .aipe-tool-block.focus {
      min-width: 130px !important;
    }

    body[data-gantt-theme="dark"] #ganttOut .aipe-tool-block .v12-menu-trigger::before,
    body[data-gantt-theme="dark"] #ganttOut .aipe-tool-block .p6-tb-btn.v12-direct::before,
    body[data-gantt-theme="dark"] #ganttOut .aipe-gantt-tools-v2 #ganttLinkHandlesToggle::before,
    body[data-gantt-theme="dark"] #ganttOut .aipe-tool-block .v12-switch-btn::before {
      background: rgba(212, 165, 58, .18) !important;
      color: #D4A53A !important;
    }

    /* Demo header rail: match the darker gantt tools palette. */
    #perf-demo-bar.aipe-perf-demo-v2 > div {
      padding: 12px 14px !important;
      margin: 8px 0 12px !important;
      border-radius: 15px !important;
      border: 1px solid rgba(212, 165, 58, .20) !important;
      background: linear-gradient(180deg, #3D4658 0%, #343D4F 100%) !important;
      color: rgba(250,248,244,.84) !important;
      box-shadow: 0 18px 42px rgba(27, 26, 23, .14), inset 0 1px 0 rgba(255,255,255,.08) !important;
      gap: 9px !important;
    }

    #perf-demo-bar.aipe-perf-demo-v2 b {
      display: inline-flex !important;
      align-items: center !important;
      gap: 8px !important;
      color: #F2C866 !important;
      font: 900 14px/1 "DM Sans", "Inter", system-ui, sans-serif !important;
      letter-spacing: 0 !important;
    }

    #perf-demo-bar.aipe-perf-demo-v2 b::before {
      content: "G" !important;
      width: 22px !important;
      height: 22px !important;
      display: inline-grid !important;
      place-items: center !important;
      border-radius: 8px !important;
      background: rgba(212, 165, 58, .18) !important;
      color: #F2C866 !important;
      font-size: 10px !important;
      font-weight: 950 !important;
    }

    #perf-demo-bar.aipe-perf-demo-v2 span {
      color: rgba(250,248,244,.56) !important;
      font-weight: 700 !important;
    }

    #perf-demo-bar.aipe-perf-demo-v2 button {
      min-height: 34px !important;
      padding: 0 13px !important;
      border-radius: 11px !important;
      border: 1px solid rgba(250,248,244,.16) !important;
      background: rgba(250,248,244,.09) !important;
      color: #FAF8F4 !important;
      font: 850 12px/1 "DM Sans", "Inter", system-ui, sans-serif !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 16px rgba(0,0,0,.08) !important;
      transition: transform .16s ease, border-color .18s ease, background .18s ease, color .18s ease !important;
    }

    #perf-demo-bar.aipe-perf-demo-v2 button:hover {
      transform: translateY(-1px) !important;
      border-color: rgba(212, 165, 58, .48) !important;
      background: rgba(250,248,244,.14) !important;
    }

    #perf-demo-bar.aipe-perf-demo-v2 button:nth-of-type(1) {
      background: linear-gradient(180deg, #E6E3D3, #C9C6B5) !important;
      color: #28312A !important;
      border-color: rgba(230, 227, 211, .55) !important;
    }

    #perf-demo-bar.aipe-perf-demo-v2 button:nth-of-type(4) {
      background: rgba(125, 48, 56, .62) !important;
      border-color: rgba(255, 159, 170, .30) !important;
      color: #FFD5DA !important;
    }

    #perf-demo-bar.aipe-perf-demo-v2 button:nth-of-type(5) {
      background: rgba(212, 165, 58, .15) !important;
      border-color: rgba(212, 165, 58, .40) !important;
      color: #FFE6A3 !important;
    }

    #perf-demo-bar.aipe-perf-demo-v2 button:nth-of-type(6) {
      background: rgba(42, 118, 82, .40) !important;
      border-color: rgba(85, 197, 139, .32) !important;
      color: #BDF3D4 !important;
    }

    #perf-demo-bar.aipe-perf-demo-v2 #perf-demo-status {
      color: rgba(250,248,244,.52) !important;
      font-size: 11px !important;
      font-weight: 700 !important;
    }
