/* styles/tabs/061-docai-v3-motion-upgrade.css */
#tp-docai .docai-control-hero {
                                                          min-height: 320px;
                                                          align-items: end
                                                        }

                                                        #tp-docai .docai-launch-panel {
                                                          border-radius: 24px;
                                                          background: linear-gradient(135deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .02));
                                                          backdrop-filter: blur(10px)
                                                        }

                                                        #tp-docai .docai-pres {
                                                          position: relative
                                                        }

                                                        #tp-docai .docai-pres-hero {
                                                          min-height: 460px;
                                                          border-radius: 32px;
                                                          overflow: hidden
                                                        }

                                                        #tp-docai .docai-pres-hero-inner {
                                                          padding: 40px 40px 34px;
                                                          position: relative;
                                                          z-index: 2
                                                        }

                                                        #tp-docai .docai-pres-bg {
                                                          transition: transform .18s linear, opacity .2s ease;
                                                          will-change: transform
                                                        }

                                                        #tp-docai .docai-pres-main {
                                                          display: flex;
                                                          flex-direction: column;
                                                          gap: 26px;
                                                          padding-bottom: 46px
                                                        }

                                                        #tp-docai .docai-pres-section {
                                                          opacity: 0;
                                                          transform: translateY(36px) scale(.985);
                                                          transition: opacity .75s cubic-bezier(.16, 1, .3, 1), transform .75s cubic-bezier(.16, 1, .3, 1)
                                                        }

                                                        #tp-docai .docai-pres-section.in-view {
                                                          opacity: 1;
                                                          transform: none
                                                        }

                                                        #tp-docai .docai-pres-nav-wrap {
                                                          position: sticky;
                                                          top: var(--app-sticky-top);
                                                          z-index: 20;
                                                          margin-bottom: 12px
                                                        }

                                                        #tp-docai .docai-pres-nav {
                                                          display: flex;
                                                          gap: 10px;
                                                          overflow: auto;
                                                          padding: 12px 0
                                                        }

                                                        #tp-docai .docai-pres-nav-btn {
                                                          padding: 12px 22px;
                                                          border-radius: 18px;
                                                          background: rgba(15, 23, 42, .72);
                                                          border: 1px solid rgba(255, 255, 255, .08);
                                                          color: #94a3b8;
                                                          font-weight: 700;
                                                          font-size: 13px;
                                                          cursor: pointer;
                                                          transition: all .24s ease;
                                                          backdrop-filter: blur(10px)
                                                        }

                                                        #tp-docai .docai-pres-nav-btn:hover {
                                                          color: #e2e8f0;
                                                          border-color: rgba(99, 102, 241, .25);
                                                          transform: translateY(-1px)
                                                        }

                                                        #tp-docai .docai-pres-nav-btn.active {
                                                          color: #fff;
                                                          background: linear-gradient(135deg, rgba(99, 102, 241, .2), rgba(14, 165, 233, .14));
                                                          border-color: rgba(99, 102, 241, .35);
                                                          box-shadow: 0 10px 24px rgba(2, 6, 23, .26)
                                                        }

                                                        #tp-docai .docai-pres-headline {
                                                          margin-bottom: 18px
                                                        }

                                                        #tp-docai .docai-pres-kicker {
                                                          font-size: 12px;
                                                          font-weight: 900;
                                                          letter-spacing: .18em;
                                                          text-transform: uppercase
                                                        }

                                                        #tp-docai .docai-pres-card {
                                                          border-radius: 28px;
                                                          background: linear-gradient(135deg, rgba(2, 6, 23, .95), rgba(15, 23, 42, .88));
                                                          border: 1px solid rgba(255, 255, 255, .06);
                                                          padding: 28px 28px 24px;
                                                          box-shadow: 0 24px 80px rgba(2, 6, 23, .28)
                                                        }

                                                        #tp-docai .docai-pres-section-title {
                                                          font-size: 24px;
                                                          font-weight: 900;
                                                          line-height: 1.1;
                                                          margin-bottom: 18px;
                                                          display: flex;
                                                          align-items: center;
                                                          gap: 12px;
                                                          color: #fff
                                                        }

                                                        #tp-docai .docai-pres-content {
                                                          font-size: 15px;
                                                          line-height: 1.85;
                                                          color: #cbd5e1
                                                        }

                                                        #tp-docai .docai-narrative {
                                                          font-size: 17px;
                                                          line-height: 1.95;
                                                          color: #e2e8f0;
                                                          max-width: 1400px
                                                        }

                                                        #tp-docai .docai-hero-document-types {
                                                          display: flex;
                                                          flex-wrap: wrap;
                                                          gap: 10px;
                                                          margin: 18px 0 14px
                                                        }

                                                        #tp-docai .docai-hero-type {
                                                          padding: 7px 12px;
                                                          border-radius: 999px;
                                                          font-size: 11px;
                                                          font-weight: 700;
                                                          letter-spacing: .1em;
                                                          text-transform: uppercase;
                                                          background: rgba(99, 102, 241, .18);
                                                          color: #c7d2fe;
                                                          border: 1px solid rgba(99, 102, 241, .28)
                                                        }

                                                        #tp-docai .docai-pres-meta-row {
                                                          display: flex;
                                                          flex-wrap: wrap;
                                                          gap: 12px;
                                                          margin: 18px 0 18px
                                                        }

                                                        #tp-docai .docai-pres-meta-chip {
                                                          padding: 8px 13px;
                                                          border-radius: 999px;
                                                          border: 1px solid rgba(255, 255, 255, .08);
                                                          background: rgba(255, 255, 255, .04);
                                                          color: #dbeafe;
                                                          font-size: 12px;
                                                          font-weight: 600
                                                        }

                                                        #tp-docai .docai-pres-main-title {
                                                          font-size: 54px;
                                                          line-height: 1.02;
                                                          font-weight: 900;
                                                          color: #fff;
                                                          max-width: 1080px;
                                                          margin: 0 0 14px
                                                        }

                                                        #tp-docai .docai-pres-subtitle {
                                                          font-size: 18px;
                                                          line-height: 1.9;
                                                          color: #cbd5e1;
                                                          max-width: 1300px;
                                                          margin: 0 0 26px
                                                        }

                                                        #tp-docai .docai-pres-facts {
                                                          display: grid;
                                                          grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
                                                          gap: 16px;
                                                          margin: 28px 0 24px
                                                        }

                                                        #tp-docai .docai-pres-fact {
                                                          padding: 18px 18px 16px;
                                                          border-radius: 22px;
                                                          background: rgba(255, 255, 255, .04);
                                                          border: 1px solid rgba(255, 255, 255, .07);
                                                          backdrop-filter: blur(8px);
                                                          opacity: 0;
                                                          transform: translateY(18px);
                                                          transition: all .65s cubic-bezier(.16, 1, .3, 1)
                                                        }

                                                        #tp-docai .docai-pres.inited .docai-pres-fact {
                                                          opacity: 1;
                                                          transform: none
                                                        }

                                                        #tp-docai .docai-pres-fact:nth-child(2) {
                                                          transition-delay: .08s
                                                        }

                                                        #tp-docai .docai-pres-fact:nth-child(3) {
                                                          transition-delay: .16s
                                                        }

                                                        #tp-docai .docai-pres-fact:nth-child(4) {
                                                          transition-delay: .24s
                                                        }

                                                        #tp-docai .docai-pres-fact:nth-child(5) {
                                                          transition-delay: .32s
                                                        }

                                                        #tp-docai .docai-pres-fact:nth-child(6) {
                                                          transition-delay: .4s
                                                        }

                                                        #tp-docai .docai-pres-fact-icon {
                                                          font-size: 24px;
                                                          margin-bottom: 12px
                                                        }

                                                        #tp-docai .docai-pres-fact-value {
                                                          font-size: 44px;
                                                          line-height: 1;
                                                          font-weight: 900;
                                                          margin-bottom: 6px
                                                        }

                                                        #tp-docai .docai-pres-fact-unit {
                                                          font-size: 12px;
                                                          letter-spacing: .18em;
                                                          text-transform: uppercase;
                                                          color: #64748b;
                                                          margin-bottom: 6px
                                                        }

                                                        #tp-docai .docai-pres-fact-label {
                                                          font-size: 14px;
                                                          color: #cbd5e1;
                                                          font-weight: 700
                                                        }

                                                        #tp-docai .docai-pres-strip-grid {
                                                          display: grid;
                                                          grid-template-columns: 1fr 1fr;
                                                          gap: 16px;
                                                          margin-top: 10px
                                                        }

                                                        #tp-docai .docai-pres-strip {
                                                          padding: 18px 20px;
                                                          border-radius: 22px;
                                                          border: 1px solid rgba(255, 255, 255, .06);
                                                          background: rgba(255, 255, 255, .03)
                                                        }

                                                        #tp-docai .docai-pres-strip.success {
                                                          background: linear-gradient(135deg, rgba(16, 185, 129, .09), rgba(14, 165, 233, .05));
                                                          border-color: rgba(16, 185, 129, .18)
                                                        }

                                                        #tp-docai .docai-pres-strip.danger {
                                                          background: linear-gradient(135deg, rgba(239, 68, 68, .07), rgba(99, 102, 241, .05));
                                                          border-color: rgba(239, 68, 68, .15)
                                                        }

                                                        #tp-docai .docai-pres-strip-title {
                                                          font-size: 12px;
                                                          font-weight: 900;
                                                          letter-spacing: .16em;
                                                          text-transform: uppercase;
                                                          margin-bottom: 12px;
                                                          color: #fff
                                                        }

                                                        #tp-docai .docai-info-strip {
                                                          display: flex;
                                                          flex-wrap: wrap;
                                                          gap: 8px
                                                        }

                                                        #tp-docai .docai-info-pill {
                                                          padding: 7px 10px;
                                                          border-radius: 999px;
                                                          background: rgba(255, 255, 255, .06);
                                                          font-size: 12px;
                                                          color: #dbeafe
                                                        }

                                                        #tp-docai .docai-workstreams-toolbar,
                                                        #tp-docai .docai-risk-toolbar {
                                                          display: flex;
                                                          flex-wrap: wrap;
                                                          gap: 8px;
                                                          margin-bottom: 18px
                                                        }

                                                        #tp-docai .docai-filter-btn {
                                                          padding: 8px 14px;
                                                          border-radius: 999px;
                                                          border: 1px solid rgba(255, 255, 255, .08);
                                                          background: rgba(255, 255, 255, .03);
                                                          color: #94a3b8;
                                                          font-size: 12px;
                                                          font-weight: 700;
                                                          cursor: pointer;
                                                          transition: all .2s ease
                                                        }

                                                        #tp-docai .docai-filter-btn.active,
                                                        #tp-docai .docai-filter-btn:hover {
                                                          color: #fff;
                                                          border-color: rgba(99, 102, 241, .3);
                                                          background: rgba(99, 102, 241, .14)
                                                        }

                                                        #tp-docai .docai-workstream-grid {
                                                          display: grid;
                                                          grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
                                                          gap: 18px
                                                        }

                                                        #tp-docai .docai-workstream-card {
                                                          border-radius: 24px;
                                                          overflow: hidden;
                                                          background: rgba(255, 255, 255, .03);
                                                          border: 1px solid rgba(255, 255, 255, .06);
                                                          transition: all .28s ease;
                                                          box-shadow: 0 10px 34px rgba(2, 6, 23, .16)
                                                        }

                                                        #tp-docai .docai-workstream-card:hover {
                                                          transform: translateY(-2px);
                                                          border-color: rgba(99, 102, 241, .2)
                                                        }

                                                        #tp-docai .docai-workstream-head {
                                                          display: flex;
                                                          gap: 16px;
                                                          padding: 22px 22px 18px;
                                                          cursor: pointer;
                                                          align-items: flex-start
                                                        }

                                                        #tp-docai .docai-workstream-accent {
                                                          width: 4px;
                                                          align-self: stretch;
                                                          border-radius: 999px;
                                                          min-height: 56px
                                                        }

                                                        #tp-docai .docai-workstream-meta {
                                                          display: flex;
                                                          align-items: center;
                                                          gap: 8px;
                                                          margin-bottom: 8px;
                                                          flex-wrap: wrap
                                                        }

                                                        #tp-docai .docai-workstream-id {
                                                          padding: 4px 8px;
                                                          border-radius: 8px;
                                                          font-size: 11px;
                                                          font-weight: 800;
                                                          letter-spacing: .12em;
                                                          text-transform: uppercase
                                                        }

                                                        #tp-docai .docai-workstream-title {
                                                          font-size: 22px;
                                                          font-weight: 800;
                                                          color: #fff;
                                                          line-height: 1.15
                                                        }

                                                        #tp-docai .docai-workstream-summary {
                                                          margin-top: 6px;
                                                          color: #94a3b8;
                                                          font-size: 14px;
                                                          line-height: 1.7
                                                        }

                                                        #tp-docai .docai-workstream-expand {
                                                          margin-left: auto;
                                                          width: 32px;
                                                          height: 32px;
                                                          border-radius: 999px;
                                                          background: rgba(255, 255, 255, .05);
                                                          display: grid;
                                                          place-items: center;
                                                          color: #94a3b8;
                                                          transition: all .25s ease;
                                                          flex-shrink: 0
                                                        }

                                                        #tp-docai .docai-workstream-card.open .docai-workstream-expand {
                                                          transform: rotate(180deg);
                                                          color: #fff
                                                        }

                                                        #tp-docai .docai-workstream-body {
                                                          max-height: 0;
                                                          overflow: hidden;
                                                          transition: max-height .45s cubic-bezier(.16, 1, .3, 1), opacity .35s ease;
                                                          opacity: 0
                                                        }

                                                        #tp-docai .docai-workstream-card.open .docai-workstream-body {
                                                          max-height: 1200px;
                                                          opacity: 1
                                                        }

                                                        #tp-docai .docai-workstream-inner {
                                                          padding: 0 22px 22px 42px;
                                                          border-top: 1px solid rgba(255, 255, 255, .06)
                                                        }

                                                        #tp-docai .docai-item-list {
                                                          display: grid;
                                                          gap: 10px;
                                                          margin-top: 16px
                                                        }

                                                        #tp-docai .docai-item-row {
                                                          display: flex;
                                                          gap: 12px;
                                                          padding: 12px 14px;
                                                          border-radius: 16px;
                                                          background: rgba(255, 255, 255, .03);
                                                          border: 1px solid rgba(255, 255, 255, .04)
                                                        }

                                                        #tp-docai .docai-item-dot {
                                                          width: 8px;
                                                          height: 8px;
                                                          border-radius: 999px;
                                                          flex-shrink: 0;
                                                          margin-top: 8px
                                                        }

                                                        #tp-docai .docai-item-main {
                                                          flex: 1;
                                                          min-width: 0
                                                        }

                                                        #tp-docai .docai-item-text {
                                                          color: #e2e8f0;
                                                          font-size: 14px;
                                                          line-height: 1.7
                                                        }

                                                        #tp-docai .docai-item-ref {
                                                          margin-top: 6px;
                                                          font-size: 11px;
                                                          color: #60a5fa;
                                                          letter-spacing: .06em;
                                                          text-transform: uppercase
                                                        }

                                                        #tp-docai .docai-exclusion-banner,
                                                        #tp-docai .docai-note-banner {
                                                          display: flex;
                                                          align-items: flex-start;
                                                          gap: 12px;
                                                          padding: 18px 20px;
                                                          border-radius: 20px;
                                                          margin-bottom: 18px;
                                                          background: rgba(239, 68, 68, .07);
                                                          border: 1px solid rgba(239, 68, 68, .16)
                                                        }

                                                        #tp-docai .docai-note-banner {
                                                          background: rgba(99, 102, 241, .08);
                                                          border-color: rgba(99, 102, 241, .16)
                                                        }

                                                        #tp-docai .docai-banner-title {
                                                          font-size: 13px;
                                                          font-weight: 800;
                                                          color: #fca5a5;
                                                          margin-bottom: 4px;
                                                          letter-spacing: .08em;
                                                          text-transform: uppercase
                                                        }

                                                        #tp-docai .docai-note-banner .docai-banner-title {
                                                          color: #c7d2fe
                                                        }

                                                        #tp-docai .docai-banner-copy {
                                                          font-size: 14px;
                                                          color: #cbd5e1;
                                                          line-height: 1.7
                                                        }

                                                        #tp-docai .docai-excl-list {
                                                          display: flex;
                                                          flex-direction: column;
                                                          gap: 12px
                                                        }

                                                        #tp-docai .docai-excl-row {
                                                          padding: 18px 18px;
                                                          border-radius: 20px;
                                                          background: rgba(255, 255, 255, .02);
                                                          border: 1px solid rgba(255, 255, 255, .06);
                                                          display: grid;
                                                          grid-template-columns: auto 1fr auto;
                                                          gap: 16px;
                                                          align-items: flex-start;
                                                          transition: all .2s ease
                                                        }

                                                        #tp-docai .docai-excl-row:hover {
                                                          background: rgba(239, 68, 68, .04);
                                                          border-color: rgba(239, 68, 68, .18)
                                                        }

                                                        #tp-docai .docai-excl-id {
                                                          padding: 6px 10px;
                                                          border-radius: 10px;
                                                          background: rgba(239, 68, 68, .09);
                                                          border: 1px solid rgba(239, 68, 68, .15);
                                                          color: #f87171;
                                                          font-size: 11px;
                                                          font-weight: 800;
                                                          letter-spacing: .12em;
                                                          text-transform: uppercase
                                                        }

                                                        #tp-docai .docai-excl-main {
                                                          color: #fff;
                                                          font-size: 15px;
                                                          line-height: 1.7;
                                                          font-weight: 700
                                                        }

                                                        #tp-docai .docai-excl-note {
                                                          margin-top: 8px;
                                                          font-size: 13px;
                                                          color: #94a3b8;
                                                          line-height: 1.65
                                                        }

                                                        #tp-docai .docai-source-badge {
                                                          padding: 6px 10px;
                                                          border-radius: 999px;
                                                          background: rgba(255, 255, 255, .04);
                                                          color: #94a3b8;
                                                          font-size: 11px;
                                                          font-weight: 700;
                                                          white-space: nowrap
                                                        }

                                                        #tp-docai .docai-risk-stats {
                                                          display: grid;
                                                          grid-template-columns: repeat(3, minmax(0, 1fr));
                                                          gap: 14px;
                                                          margin-bottom: 18px
                                                        }

                                                        #tp-docai .docai-risk-stat {
                                                          padding: 18px;
                                                          border-radius: 20px;
                                                          border: 1px solid rgba(255, 255, 255, .06);
                                                          background: rgba(255, 255, 255, .03)
                                                        }

                                                        #tp-docai .docai-risk-stat-val {
                                                          font-size: 34px;
                                                          font-weight: 900;
                                                          line-height: 1;
                                                          color: #fff
                                                        }

                                                        #tp-docai .docai-risk-stat-label {
                                                          margin-top: 8px;
                                                          font-size: 12px;
                                                          color: #94a3b8;
                                                          text-transform: uppercase;
                                                          letter-spacing: .14em
                                                        }

                                                        #tp-docai .docai-risk-grid {
                                                          display: grid;
                                                          grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
                                                          gap: 14px
                                                        }

                                                        #tp-docai .docai-risk-card {
                                                          padding: 20px;
                                                          border-radius: 22px;
                                                          border: 1px solid rgba(255, 255, 255, .06);
                                                          background: rgba(255, 255, 255, .03);
                                                          transition: all .24s ease
                                                        }

                                                        #tp-docai .docai-risk-card:hover {
                                                          transform: translateY(-2px);
                                                          box-shadow: 0 16px 38px rgba(2, 6, 23, .22)
                                                        }

                                                        #tp-docai .docai-risk-top {
                                                          display: flex;
                                                          gap: 10px;
                                                          align-items: center;
                                                          margin-bottom: 14px;
                                                          flex-wrap: wrap
                                                        }

                                                        #tp-docai .docai-risk-id {
                                                          font-size: 11px;
                                                          font-weight: 800;
                                                          letter-spacing: .12em;
                                                          color: #64748b
                                                        }

                                                        #tp-docai .docai-sev-badge,
                                                        #tp-docai .docai-src-badge {
                                                          padding: 5px 10px;
                                                          border-radius: 999px;
                                                          font-size: 11px;
                                                          font-weight: 800;
                                                          letter-spacing: .08em;
                                                          text-transform: uppercase
                                                        }

                                                        #tp-docai .docai-risk-text {
                                                          color: #fff;
                                                          font-size: 15px;
                                                          line-height: 1.75
                                                        }

                                                        #tp-docai .docai-risk-ref {
                                                          margin-top: 12px;
                                                          font-size: 12px;
                                                          color: #94a3b8
                                                        }

                                                        #tp-docai .docai-risk-ref b {
                                                          color: #e2e8f0
                                                        }

                                                        #tp-docai .docai-table-block {
                                                          margin-top: 16px;
                                                          border-radius: 22px;
                                                          overflow: hidden;
                                                          border: 1px solid rgba(255, 255, 255, .07);
                                                          background: rgba(255, 255, 255, .02)
                                                        }

                                                        #tp-docai .docai-table-title {
                                                          padding: 16px 18px;
                                                          border-bottom: 1px solid rgba(255, 255, 255, .06);
                                                          font-size: 14px;
                                                          font-weight: 800;
                                                          color: #fff;
                                                          background: rgba(255, 255, 255, .03)
                                                        }

                                                        #tp-docai .docai-table-wrap {
                                                          overflow: auto;
                                                          max-height: 560px
                                                        }

                                                        #tp-docai table.docai-table {
                                                          width: 100%;
                                                          border-collapse: collapse;
                                                          min-width: 760px
                                                        }

                                                        #tp-docai table.docai-table th {
                                                          position: sticky;
                                                          top: 0;
                                                          background: #081120;
                                                          color: #94a3b8;
                                                          font-size: 11px;
                                                          letter-spacing: .12em;
                                                          text-transform: uppercase;
                                                          text-align: left;
                                                          padding: 12px 14px;
                                                          border-bottom: 1px solid rgba(255, 255, 255, .08)
                                                        }

                                                        #tp-docai table.docai-table td {
                                                          padding: 12px 14px;
                                                          border-bottom: 1px solid rgba(255, 255, 255, .05);
                                                          font-size: 13px;
                                                          line-height: 1.6;
                                                          color: #e2e8f0;
                                                          vertical-align: top
                                                        }

                                                        #tp-docai table.docai-table tr:nth-child(even) td {
                                                          background: rgba(255, 255, 255, .015)
                                                        }

                                                        #tp-docai .docai-deep-grid {
                                                          display: grid;
                                                          gap: 16px
                                                        }

                                                        #tp-docai .docai-deep-note {
                                                          padding: 18px 18px;
                                                          border-radius: 18px;
                                                          background: rgba(255, 255, 255, .03);
                                                          border: 1px solid rgba(255, 255, 255, .06);
                                                          color: #cbd5e1;
                                                          line-height: 1.8
                                                        }

                                                        #tp-docai .docai-inline-subtitle {
                                                          font-size: 14px;
                                                          font-weight: 800;
                                                          text-transform: uppercase;
                                                          letter-spacing: .14em;
                                                          color: #fbbf24;
                                                          margin: 0 0 12px
                                                        }

                                                        #tp-docai .docai-md-list {
                                                          display: grid;
                                                          gap: 8px;
                                                          padding-left: 18px
                                                        }

                                                        #tp-docai .docai-soft-note {
                                                          padding: 18px 18px;
                                                          border-radius: 18px;
                                                          background: rgba(255, 255, 255, .03);
                                                          border: 1px dashed rgba(255, 255, 255, .08);
                                                          color: #94a3b8
                                                        }

                                                        #tp-docai .docai-planning-timeline {
                                                          display: grid;
                                                          gap: 14px
                                                        }

                                                        #tp-docai .docai-ms-item {
                                                          padding: 18px;
                                                          border-radius: 20px;
                                                          background: rgba(255, 255, 255, .03);
                                                          border: 1px solid rgba(255, 255, 255, .06)
                                                        }

                                                        #tp-docai .docai-chat-result {
                                                          border-radius: 28px
                                                        }

                                                        @media (max-width:1100px) {

                                                          #tp-docai .docai-pres-strip-grid,
                                                          #tp-docai .docai-risk-stats {
                                                            grid-template-columns: 1fr
                                                          }

                                                          #tp-docai .docai-workstream-grid {
                                                            grid-template-columns: 1fr
                                                          }

                                                          #tp-docai .docai-control-hero {
                                                            grid-template-columns: 1fr
                                                          }

                                                          #tp-docai .docai-pres-main-title {
                                                            font-size: 42px
                                                          }
                                                        }

                                                        @media (max-width:760px) {
                                                          #tp-docai .docai-workspace {
                                                            padding: 12px
                                                          }

                                                          #tp-docai .docai-pres-hero-inner {
                                                            padding: 26px 18px
                                                          }

                                                          #tp-docai .docai-pres-main-title {
                                                            font-size: 34px
                                                          }

                                                          #tp-docai .docai-pres-subtitle {
                                                            font-size: 16px
                                                          }

                                                          #tp-docai .docai-pres-card {
                                                            padding: 20px 16px
                                                          }

                                                          #tp-docai .docai-excl-row {
                                                            grid-template-columns: 1fr
                                                          }

                                                          #tp-docai .docai-workstream-inner {
                                                            padding: 0 16px 16px 16px
                                                          }
                                                        }

/* styles/tabs/062-docai-fix5-style.css */
#tp-docai .docai-launch-panel {
                                                          display: none !important
                                                        }

                                                        #tp-docai .docai-control-hero {
                                                          grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
                                                          gap: 16px !important;
                                                          padding: 18px 22px !important;
                                                          align-items: center !important
                                                        }

                                                        #tp-docai .docai-hero-title {
                                                          font-size: 24px !important;
                                                          max-width: 720px !important;
                                                          line-height: 1.08 !important
                                                        }

                                                        #tp-docai .docai-hero-sub {
                                                          font-size: 13px !important;
                                                          max-width: 700px !important;
                                                          margin-top: 8px !important
                                                        }

                                                        #tp-docai .docai-file-card {
                                                          padding: 16px !important;
                                                          border-radius: 16px !important
                                                        }

                                                        #tp-docai .docai-hero-actions {
                                                          gap: 10px !important
                                                        }

                                                        #tp-docai #docaiFix5ActionBar {
                                                          display: flex;
                                                          align-items: center;
                                                          justify-content: space-between;
                                                          gap: 12px;
                                                          padding: 12px 14px;
                                                          border-radius: 16px;
                                                          background: linear-gradient(135deg, rgba(10, 17, 35, .96), rgba(16, 28, 57, .88));
                                                          border: 1px solid rgba(99, 102, 241, .18);
                                                          box-shadow: 0 18px 44px rgba(2, 6, 23, .22)
                                                        }

                                                        #tp-docai .docai-fix5-cta-copy {
                                                          min-width: 0
                                                        }

                                                        #tp-docai .docai-fix5-cta-kicker {
                                                          font-size: 10px;
                                                          font-weight: 800;
                                                          letter-spacing: .15em;
                                                          color: #818cf8;
                                                          text-transform: uppercase;
                                                          margin-bottom: 4px
                                                        }

                                                        #tp-docai .docai-fix5-cta-title {
                                                          font-size: 13px;
                                                          font-weight: 800;
                                                          color: #f8fafc;
                                                          line-height: 1.35
                                                        }

                                                        #tp-docai .docai-fix5-cta-sub {
                                                          font-size: 11px;
                                                          color: #94a3b8;
                                                          line-height: 1.55;
                                                          margin-top: 3px
                                                        }

                                                        #tp-docai .docai-fix5-hero-btn {
                                                          height: 40px;
                                                          padding: 0 16px;
                                                          border: none;
                                                          border-radius: 999px;
                                                          background: linear-gradient(135deg, #2f6df6, #4f8cff);
                                                          color: #fff;
                                                          font-size: 12px;
                                                          font-weight: 900;
                                                          letter-spacing: .01em;
                                                          box-shadow: 0 8px 24px rgba(47, 109, 246, .28);
                                                          cursor: pointer;
                                                          white-space: nowrap;
                                                          display: inline-flex;
                                                          align-items: center;
                                                          gap: 8px;
                                                          transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease
                                                        }

                                                        #tp-docai .docai-fix5-hero-btn:hover {
                                                          transform: translateY(-1px);
                                                          box-shadow: 0 12px 28px rgba(47, 109, 246, .36)
                                                        }

                                                        #tp-docai .docai-fix5-hero-btn:disabled {
                                                          opacity: .5;
                                                          cursor: not-allowed;
                                                          transform: none;
                                                          box-shadow: none
                                                        }

                                                        #tp-docai .docai-file-planning .docai-subtab[data-docai-mode="sow"] {
                                                          display: none !important
                                                        }

                                                        #tp-docai .docai-modebar {
                                                          position: sticky;
                                                          top: 64px;
                                                          z-index: 86
                                                        }

                                                        #tp-docai .docai-workspace {
                                                          padding: 16px 22px 22px !important
                                                        }

                                                        #tp-docai .docai-pres-nav-wrap {
                                                          margin-top: 10px !important
                                                        }

                                                        #tp-docai .docai-pres-main {
                                                          display: grid;
                                                          gap: 18px
                                                        }

                                                        #tp-docai .docai-pres-section {
                                                          opacity: 0;
                                                          transform: translateY(18px);
                                                          transition: opacity .45s ease, transform .45s ease
                                                        }

                                                        #tp-docai .docai-pres-section.in-view {
                                                          opacity: 1;
                                                          transform: none
                                                        }

                                                        #tp-docai .docai-pres-nav-btn {
                                                          padding: 10px 16px;
                                                          border-radius: 999px;
                                                          border: 1px solid rgba(255, 255, 255, .08);
                                                          background: rgba(255, 255, 255, .03);
                                                          color: #94a3b8;
                                                          font-size: 12px;
                                                          font-weight: 800;
                                                          cursor: pointer
                                                        }

                                                        #tp-docai .docai-pres-nav-btn.active,
                                                        #tp-docai .docai-pres-nav-btn:hover {
                                                          color: #fff;
                                                          background: rgba(99, 102, 241, .14);
                                                          border-color: rgba(99, 102, 241, .28)
                                                        }

                                                        #tp-docai .docai-fix5-workstreams-toolbar {
                                                          display: flex;
                                                          flex-wrap: wrap;
                                                          gap: 8px;
                                                          margin-bottom: 16px
                                                        }

                                                        #tp-docai .docai-fix5-filter {
                                                          padding: 8px 14px;
                                                          border-radius: 999px;
                                                          border: 1px solid rgba(255, 255, 255, .08);
                                                          background: rgba(255, 255, 255, .03);
                                                          color: #94a3b8;
                                                          font-size: 12px;
                                                          font-weight: 800;
                                                          cursor: pointer;
                                                          transition: all .18s ease
                                                        }

                                                        #tp-docai .docai-fix5-filter.active,
                                                        #tp-docai .docai-fix5-filter:hover {
                                                          color: #fff;
                                                          background: rgba(99, 102, 241, .14);
                                                          border-color: rgba(99, 102, 241, .28)
                                                        }

                                                        #tp-docai .docai-fix5-ws-grid {
                                                          display: grid;
                                                          grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
                                                          gap: 16px
                                                        }

                                                        #tp-docai details.docai-fix5-ws-card {
                                                          border-radius: 22px;
                                                          background: linear-gradient(180deg, rgba(255, 255, 255, .03), rgba(255, 255, 255, .02));
                                                          border: 1px solid rgba(255, 255, 255, .07);
                                                          overflow: hidden;
                                                          box-shadow: 0 12px 30px rgba(2, 6, 23, .16)
                                                        }

                                                        #tp-docai details.docai-fix5-ws-card[open] {
                                                          border-color: rgba(99, 102, 241, .18);
                                                          box-shadow: 0 18px 40px rgba(2, 6, 23, .22)
                                                        }

                                                        #tp-docai .docai-fix5-ws-card summary {
                                                          list-style: none;
                                                          cursor: pointer;
                                                          padding: 18px 18px 16px;
                                                          display: grid;
                                                          grid-template-columns: auto 1fr auto;
                                                          gap: 14px;
                                                          align-items: flex-start
                                                        }

                                                        #tp-docai .docai-fix5-ws-card summary::-webkit-details-marker {
                                                          display: none
                                                        }

                                                        #tp-docai .docai-fix5-ws-no {
                                                          width: 34px;
                                                          height: 34px;
                                                          border-radius: 12px;
                                                          display: grid;
                                                          place-items: center;
                                                          background: rgba(99, 102, 241, .14);
                                                          border: 1px solid rgba(99, 102, 241, .22);
                                                          color: #c7d2fe;
                                                          font-size: 12px;
                                                          font-weight: 900
                                                        }

                                                        #tp-docai .docai-fix5-ws-top {
                                                          min-width: 0
                                                        }

                                                        #tp-docai .docai-fix5-ws-meta {
                                                          display: flex;
                                                          align-items: center;
                                                          gap: 8px;
                                                          flex-wrap: wrap;
                                                          margin-bottom: 8px
                                                        }

                                                        #tp-docai .docai-fix5-ws-id {
                                                          padding: 4px 8px;
                                                          border-radius: 999px;
                                                          font-size: 10px;
                                                          font-weight: 900;
                                                          letter-spacing: .12em;
                                                          text-transform: uppercase
                                                        }

                                                        #tp-docai .docai-fix5-ws-title {
                                                          font-size: 22px;
                                                          font-weight: 900;
                                                          color: #fff;
                                                          line-height: 1.16
                                                        }

                                                        #tp-docai .docai-fix5-ws-summary {
                                                          margin-top: 6px;
                                                          color: #9fb0c7;
                                                          font-size: 13px;
                                                          line-height: 1.75
                                                        }

                                                        #tp-docai .docai-fix5-ws-stat {
                                                          padding: 8px 12px;
                                                          border-radius: 999px;
                                                          background: rgba(255, 255, 255, .04);
                                                          color: #cbd5e1;
                                                          font-size: 11px;
                                                          font-weight: 800;
                                                          white-space: nowrap
                                                        }

                                                        #tp-docai .docai-fix5-ws-toggle {
                                                          width: 34px;
                                                          height: 34px;
                                                          border-radius: 999px;
                                                          background: rgba(255, 255, 255, .05);
                                                          display: grid;
                                                          place-items: center;
                                                          color: #cbd5e1;
                                                          font-size: 14px;
                                                          transition: transform .22s ease
                                                        }

                                                        #tp-docai details.docai-fix5-ws-card[open] .docai-fix5-ws-toggle {
                                                          transform: rotate(180deg)
                                                        }

                                                        #tp-docai .docai-fix5-ws-body {
                                                          padding: 0 18px 18px 18px;
                                                          border-top: 1px solid rgba(255, 255, 255, .06)
                                                        }

                                                        #tp-docai .docai-fix5-source {
                                                          display: inline-flex;
                                                          align-items: center;
                                                          gap: 8px;
                                                          margin: 14px 0 12px;
                                                          padding: 7px 10px;
                                                          border-radius: 999px;
                                                          background: rgba(255, 255, 255, .04);
                                                          color: #94a3b8;
                                                          font-size: 11px;
                                                          font-weight: 800
                                                        }

                                                        #tp-docai .docai-fix5-point-list {
                                                          display: grid;
                                                          gap: 10px
                                                        }

                                                        #tp-docai .docai-fix5-point {
                                                          display: grid;
                                                          grid-template-columns: 34px 1fr;
                                                          gap: 12px;
                                                          padding: 12px 14px;
                                                          border-radius: 16px;
                                                          background: rgba(255, 255, 255, .03);
                                                          border: 1px solid rgba(255, 255, 255, .05)
                                                        }

                                                        #tp-docai .docai-fix5-point-no {
                                                          width: 34px;
                                                          height: 34px;
                                                          border-radius: 10px;
                                                          background: rgba(99, 102, 241, .1);
                                                          border: 1px solid rgba(99, 102, 241, .16);
                                                          display: grid;
                                                          place-items: center;
                                                          color: #c7d2fe;
                                                          font-size: 11px;
                                                          font-weight: 900
                                                        }

                                                        #tp-docai .docai-fix5-point-main {
                                                          color: #eef2ff;
                                                          font-size: 14px;
                                                          line-height: 1.75;
                                                          font-weight: 700
                                                        }

                                                        #tp-docai .docai-fix5-point-sub {
                                                          margin: 8px 0 0 0;
                                                          padding-left: 18px;
                                                          display: grid;
                                                          gap: 6px
                                                        }

                                                        #tp-docai .docai-fix5-point-sub li {
                                                          color: #9fb0c7;
                                                          font-size: 13px;
                                                          line-height: 1.65
                                                        }

                                                        #tp-docai .docai-fix5-point-ref {
                                                          margin-top: 8px;
                                                          color: #60a5fa;
                                                          font-size: 11px;
                                                          font-weight: 800;
                                                          letter-spacing: .06em;
                                                          text-transform: uppercase
                                                        }

                                                        #tp-docai .docai-fix5-excl-list {
                                                          display: grid;
                                                          gap: 12px
                                                        }

                                                        #tp-docai .docai-fix5-excl-item {
                                                          display: grid;
                                                          grid-template-columns: 42px 1fr;
                                                          gap: 12px;
                                                          padding: 16px 16px;
                                                          border-radius: 18px;
                                                          background: rgba(255, 255, 255, .03);
                                                          border: 1px solid rgba(239, 68, 68, .12)
                                                        }

                                                        #tp-docai .docai-fix5-excl-no {
                                                          width: 42px;
                                                          height: 42px;
                                                          border-radius: 12px;
                                                          background: rgba(239, 68, 68, .1);
                                                          display: grid;
                                                          place-items: center;
                                                          color: #fca5a5;
                                                          font-size: 11px;
                                                          font-weight: 900
                                                        }

                                                        #tp-docai .docai-fix5-excl-title {
                                                          font-size: 15px;
                                                          font-weight: 800;
                                                          color: #fff;
                                                          line-height: 1.6
                                                        }

                                                        #tp-docai .docai-fix5-excl-note {
                                                          margin-top: 8px;
                                                          color: #9fb0c7;
                                                          font-size: 13px;
                                                          line-height: 1.65
                                                        }

                                                        #tp-docai .docai-fix5-risk-summary {
                                                          display: grid;
                                                          grid-template-columns: repeat(4, minmax(0, 1fr));
                                                          gap: 12px;
                                                          margin-bottom: 16px
                                                        }

                                                        #tp-docai .docai-fix5-risk-s {
                                                          padding: 16px;
                                                          border-radius: 18px;
                                                          border: 1px solid rgba(255, 255, 255, .06);
                                                          background: rgba(255, 255, 255, .03)
                                                        }

                                                        #tp-docai .docai-fix5-risk-s .v {
                                                          font-size: 30px;
                                                          font-weight: 900;
                                                          line-height: 1
                                                        }

                                                        #tp-docai .docai-fix5-risk-s .k {
                                                          margin-top: 8px;
                                                          color: #94a3b8;
                                                          font-size: 12px;
                                                          font-weight: 800;
                                                          letter-spacing: .12em;
                                                          text-transform: uppercase
                                                        }

                                                        #tp-docai .docai-fix5-risk-grid {
                                                          display: grid;
                                                          grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
                                                          gap: 14px
                                                        }

                                                        #tp-docai .docai-fix5-risk-card {
                                                          padding: 18px;
                                                          border-radius: 20px;
                                                          border: 1px solid rgba(255, 255, 255, .07);
                                                          background: rgba(255, 255, 255, .03)
                                                        }

                                                        #tp-docai .docai-fix5-risk-top {
                                                          display: flex;
                                                          align-items: center;
                                                          gap: 8px;
                                                          flex-wrap: wrap;
                                                          margin-bottom: 12px
                                                        }

                                                        #tp-docai .docai-fix5-risk-id {
                                                          font-size: 11px;
                                                          font-weight: 900;
                                                          letter-spacing: .12em;
                                                          color: #64748b
                                                        }

                                                        #tp-docai .docai-fix5-pill {
                                                          padding: 5px 10px;
                                                          border-radius: 999px;
                                                          font-size: 11px;
                                                          font-weight: 900;
                                                          letter-spacing: .08em;
                                                          text-transform: uppercase
                                                        }

                                                        #tp-docai .docai-fix5-risk-issue {
                                                          font-size: 16px;
                                                          font-weight: 800;
                                                          color: #fff;
                                                          line-height: 1.6;
                                                          margin-bottom: 12px
                                                        }

                                                        #tp-docai .docai-fix5-risk-row {
                                                          padding-top: 10px;
                                                          margin-top: 10px;
                                                          border-top: 1px dashed rgba(255, 255, 255, .06)
                                                        }

                                                        #tp-docai .docai-fix5-risk-row .lbl {
                                                          font-size: 11px;
                                                          font-weight: 900;
                                                          letter-spacing: .12em;
                                                          color: #8ea0bb;
                                                          text-transform: uppercase;
                                                          margin-bottom: 6px
                                                        }

                                                        #tp-docai .docai-fix5-risk-row .val {
                                                          font-size: 13px;
                                                          color: #d8e2f0;
                                                          line-height: 1.7
                                                        }

                                                        #tp-docai .docai-fix5-table-block {
                                                          margin-top: 14px;
                                                          border-radius: 18px;
                                                          overflow: hidden;
                                                          border: 1px solid rgba(255, 255, 255, .07);
                                                          background: rgba(255, 255, 255, .02)
                                                        }

                                                        #tp-docai .docai-fix5-table-title {
                                                          padding: 14px 16px;
                                                          border-bottom: 1px solid rgba(255, 255, 255, .06);
                                                          font-size: 13px;
                                                          font-weight: 900;
                                                          color: #fff;
                                                          background: rgba(255, 255, 255, .03)
                                                        }

                                                        #tp-docai .docai-fix5-table-wrap {
                                                          overflow: auto;
                                                          max-height: 540px
                                                        }

                                                        #tp-docai .docai-fix5-table {
                                                          width: 100%;
                                                          border-collapse: collapse;
                                                          min-width: 760px
                                                        }

                                                        #tp-docai .docai-fix5-table th {
                                                          position: sticky;
                                                          top: 0;
                                                          background: #081120;
                                                          color: #9fb0c7;
                                                          font-size: 11px;
                                                          font-weight: 900;
                                                          letter-spacing: .12em;
                                                          text-transform: uppercase;
                                                          text-align: left;
                                                          padding: 11px 13px;
                                                          border-bottom: 1px solid rgba(255, 255, 255, .08)
                                                        }

                                                        #tp-docai .docai-fix5-table td {
                                                          padding: 11px 13px;
                                                          border-bottom: 1px solid rgba(255, 255, 255, .05);
                                                          font-size: 13px;
                                                          line-height: 1.6;
                                                          color: #e2e8f0;
                                                          vertical-align: top
                                                        }

                                                        #tp-docai .docai-fix5-deep-list {
                                                          display: grid;
                                                          gap: 12px
                                                        }

                                                        #tp-docai .docai-fix5-deep-item {
                                                          display: grid;
                                                          grid-template-columns: 34px 1fr;
                                                          gap: 12px;
                                                          padding: 14px 14px;
                                                          border-radius: 16px;
                                                          background: rgba(255, 255, 255, .03);
                                                          border: 1px solid rgba(255, 255, 255, .05)
                                                        }

                                                        #tp-docai .docai-fix5-deep-item .n {
                                                          width: 34px;
                                                          height: 34px;
                                                          border-radius: 10px;
                                                          background: rgba(16, 185, 129, .12);
                                                          display: grid;
                                                          place-items: center;
                                                          color: #6ee7b7;
                                                          font-size: 11px;
                                                          font-weight: 900
                                                        }

                                                        #tp-docai .docai-fix5-deep-item .t {
                                                          font-size: 13px;
                                                          color: #d8e2f0;
                                                          line-height: 1.7
                                                        }

                                                        #tp-docai .docai-pres-hero {
                                                          margin-bottom: 14px !important
                                                        }

                                                        #tp-docai .docai-pres-hero-inner {
                                                          padding: 26px 26px !important
                                                        }

                                                        #tp-docai .docai-pres-main-title {
                                                          font-size: 32px !important
                                                        }

                                                        #tp-docai .docai-pres-subtitle {
                                                          font-size: 16px !important;
                                                          max-width: 1050px !important
                                                        }

                                                        @media (max-width:1100px) {
                                                          #tp-docai .docai-control-hero {
                                                            grid-template-columns: 1fr !important
                                                          }

                                                          #tp-docai .docai-fix5-risk-summary {
                                                            grid-template-columns: repeat(2, minmax(0, 1fr))
                                                          }

                                                          #tp-docai .docai-fix5-ws-grid {
                                                            grid-template-columns: 1fr
                                                          }
                                                        }

                                                        @media (max-width:760px) {
                                                          #tp-docai .docai-fix5-risk-summary {
                                                            grid-template-columns: 1fr
                                                          }

                                                          #tp-docai #docaiFix5ActionBar {
                                                            flex-direction: column;
                                                            align-items: stretch
                                                          }

                                                          #tp-docai .docai-fix5-ws-card summary {
                                                            grid-template-columns: 1fr
                                                          }

                                                          #tp-docai .docai-workspace {
                                                            padding: 12px !important
                                                          }
                                                        }

/* styles/core/999-ai-planner-landing-theme.css */
:root {
  --bg: #FBF7F1;
  --bg2: #F3E9DA;
  --p: #FBF7F1;
  --p2: #F3E9DA;
  --sk: rgba(15, 27, 46, .14);
  --sk2: rgba(42, 47, 54, .11);
  --mu: #4D6E91;
  --so: #2A2F36;
  --tx: #2A2F36;
  --st: #0F1B2E;
  --bl: #0F1B2E;
  --cy: #4D6E91;
  --gn: #4D6E91;
  --am: #24B47E;
  --rd: #8B3A1F;
  --vi: #B8693E;
  --pk: #188D68;
  --tl: #4D6E91;
  --ap-ivory: #FBF7F1;
  --ap-cream: #FBF7F1;
  --ap-parchment: #F3E9DA;
  --ap-sand: #E9D8BF;
  --ap-sand-2: #DEC7A4;
  --ap-line: rgba(15, 27, 46, .14);
  --ap-ink: #0F1B2E;
  --ap-olive-deep: #0A1423;
  --ap-olive: #0F1B2E;
  --ap-sage: #4D6E91;
  --ap-sage-soft: #E8EEF4;
  --ap-clay: #B8693E;
  --ap-rust: #8B3A1F;
  --ap-honey: #24B47E;
  --ap-honey-deep: #188D68;
}

html,
body {
  background: var(--bg);
  color: var(--tx);
}

.app {
  background:
    linear-gradient(180deg, rgba(251, 247, 241, .78) 0%, rgba(243, 233, 218, .42) 28%, rgba(251, 247, 241, .92) 100%),
    radial-gradient(ellipse 58% 42% at 14% 0%, rgba(77, 110, 145, .16), transparent 62%),
    radial-gradient(ellipse 48% 36% at 86% 12%, rgba(36,180,126,.16), transparent 58%),
    var(--ap-ivory) !important;
}

.app::before {
  background:
    linear-gradient(rgba(27, 26, 23, .026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(92, 107, 63, .035) 1px, transparent 1px) !important;
  opacity: .48;
}

.hdr {
  background: rgba(244, 239, 230, .94) !important;
  border-color: rgba(92, 107, 63, .20) !important;
  box-shadow: 0 1px 0 rgba(250, 248, 244, .86), 0 14px 36px rgba(62, 74, 42, .10) !important;
}

.tabs {
  background: rgba(236, 229, 216, .88) !important;
  border-color: rgba(92, 107, 63, .22) !important;
  box-shadow: inset 0 1px 0 rgba(250, 248, 244, .70), 0 8px 24px rgba(62, 74, 42, .08) !important;
}

.logo-ico,
.hbtn.primary,
.apr-btn.pri,
.apr-btn.all,
.tour-arrow-primary {
  background: linear-gradient(135deg, #3E4A2A 0%, #5C6B3F 58%, #8A9968 100%) !important;
  color: #FAF8F4 !important;
  border-color: rgba(62, 74, 42, .24) !important;
  box-shadow: 0 10px 24px rgba(62, 74, 42, .25) !important;
}

.logo-name,
.ptitle,
.tab.active,
.panel h1,
.panel h2,
.panel h3,
.panel h4,
.map-stat .ms-val,
.dur-cell,
.num-cell {
  color: var(--st) !important;
}

.logo-sub,
.api-st,
.hbtn,
.tab,
.ptitle,
.muted,
.subtle {
  color: var(--so) !important;
}

.ai-pill,
.api-st,
.hbtn,
.tab,
.tbadge,
.chip,
.m2-pill,
.apr-btn,
.zai-chip,
.v9-badge,
.type-pill {
  background: linear-gradient(180deg, rgba(250, 248, 244, .86), rgba(229, 233, 216, .82)) !important;
  border-color: rgba(92, 107, 63, .22) !important;
}

.ai-pill,
.tbadge {
  color: #5C6B3F !important;
}

.type-pill,
.v9-badge,
.api-st,
.ai-pill {
  color: #5C6B3F !important;
}

.ai-dot,
.ptitle .dot,
.forge-badge-dot,
.dot {
  background: #5C6B3F !important;
  box-shadow: 0 0 8px rgba(92, 107, 63, .34) !important;
}

.hbtn:hover,
.tab:hover:not(.active),
button:hover {
  border-color: rgba(92, 107, 63, .38) !important;
  background: rgba(229, 233, 216, .74) !important;
  color: #3E4A2A !important;
}

.tab.active {
  background: linear-gradient(180deg, #FFFDF8 0%, #FAF8F4 100%) !important;
  border-color: rgba(92, 107, 63, .50) !important;
  box-shadow: inset 0 1px 0 #FFFDF8, 0 -1px 0 rgba(36, 180, 126, .22) !important;
}

.tab.active::after,
.forge-pipe-fill,
.tour-bar-fill {
  background: linear-gradient(90deg, #3E4A2A, #5C6B3F, #24B47E) !important;
}

.panel,
.card,
.box,
.map-outer,
.map-stats,
.mapping-v2-workspace,
.m2-card,
.m2-stage-card,
.docai-workspace,
.docai-control-hero,
.forge-app,
.forge-board,
.forge-cbox,
.forge-sbox,
.forge-cpm-card,
.ov-card,
.modal,
.sheet-picker-modal {
  background: rgba(255, 255, 255, .92) !important;
  border-color: rgba(232, 236, 239, .94) !important;
  color: var(--tx) !important;
  box-shadow: 0 18px 36px rgba(15, 27, 46, .08) !important;
}

.panel::before {
  background: linear-gradient(90deg, transparent, rgba(92, 107, 63, .30), rgba(36, 180, 126, .20), transparent) !important;
}

input,
textarea,
select,
.drop,
.upload,
.upload-zone,
.file-row,
.map-tbl,
.map-tbl thead th,
.m2-table,
.m2-table th,
.m2-table td {
  background-color: rgba(255, 253, 248, .78) !important;
  border-color: rgba(216, 205, 186, .78) !important;
  color: var(--st) !important;
}

.upload-zone {
  background:
    linear-gradient(180deg, rgba(250, 248, 244, .86), rgba(229, 233, 216, .72)),
    radial-gradient(circle at 50% 24%, rgba(36, 180, 126, .16), transparent 36%) !important;
  border: 2px dashed rgba(92, 107, 63, .52) !important;
  box-shadow: inset 0 1px 0 rgba(255, 253, 248, .96), 0 12px 28px rgba(62, 74, 42, .08) !important;
}

.upload-zone:hover,
.upload-zone.drag {
  background: rgba(229, 233, 216, .82) !important;
  border-color: rgba(74, 107, 58, .70) !important;
  box-shadow: 0 0 0 6px rgba(92, 107, 63, .12) !important;
}

.upload-icon {
  filter: drop-shadow(0 8px 16px rgba(36, 180, 126, .32)) !important;
}

.upload-title,
.story-title,
.story-body b,
.bubble b,
.panel p b {
  color: var(--st) !important;
}

.upload-sub,
.story-body,
.bubble,
.chat-inp,
.gen-note {
  color: var(--so) !important;
}

.story-card,
.chat-box,
.bubble,
.chat-row,
.gen-bar,
.file-prev {
  background: rgba(255, 253, 248, .86) !important;
  border-color: rgba(216, 205, 186, .88) !important;
  color: var(--tx) !important;
}

.send-btn,
.gen-btn,
.v9-progress-bar {
  background: linear-gradient(135deg, #5C6B3F, #8A9968 70%, #24B47E) !important;
  color: #FAF8F4 !important;
}

.crit,
.map-crit,
.err,
.danger {
  color: #8B3A1F !important;
  background: rgba(139, 58, 31, .10) !important;
  border-color: rgba(139, 58, 31, .22) !important;
}

.near,
.warn,
.warning {
  color: #188D68 !important;
  background: rgba(36, 180, 126, .13) !important;
  border-color: rgba(36, 180, 126, .26) !important;
}

.okch,
.ok,
.success {
  color: #5C6B3F !important;
  background: rgba(138, 153, 104, .14) !important;
  border-color: rgba(138, 153, 104, .28) !important;
}

.bar,
.act-bar,
.gantt-bar,
.forge-bar,
.ts-bar2.olive {
  background: linear-gradient(90deg, #5C6B3F, #8A9968) !important;
}

.bar.critical,
.act-bar.critical,
.gantt-bar.critical,
.ts-bar2.crit {
  background: linear-gradient(90deg, #8B3A1F, #B8693E) !important;
}

.ts-bar2.sand,
.ts-bar2.honey {
  background: linear-gradient(90deg, #24B47E, #188D68) !important;
}

/* Nexora AI landing fidelity layer */
:root {
  --ap-page: #FBF7F1;
  --ap-surface: #FBF7F1;
  --ap-surface-2: #F3E9DA;
  --ap-border: rgba(15, 27, 46, .14);
  --ap-border-strong: rgba(15, 27, 46, .24);
  --ap-text: #0F1B2E;
  --ap-muted: #4D6E91;
  --ap-faint: #7B8794;
  --ap-olive: #0F1B2E;
  --ap-olive-dark: #0A1423;
  --ap-olive-soft: #E8EEF4;
  --ap-honey: #24B47E;
  --ap-clay: #B8693E;
  --bg: var(--ap-page);
  --bg2: #F3E9DA;
  --p: var(--ap-surface);
  --p2: var(--ap-surface-2);
  --sk: rgba(15, 27, 46, .12);
  --sk2: rgba(15, 27, 46, .14);
  --mu: var(--ap-faint);
  --so: var(--ap-muted);
  --tx: #2A2F36;
  --st: var(--ap-text);
  --bl: var(--ap-olive);
  --cy: var(--ap-olive);
  --gn: var(--ap-olive);
  --am: var(--ap-honey);
  --rd: #8B3A1F;
  --vi: var(--ap-clay);
  --pk: #188D68;
  --tl: var(--ap-olive-dark);
}

html,
body {
  background: var(--ap-page) !important;
  color: var(--ap-text) !important;
}

.app {
  background:
    linear-gradient(180deg, #FAF8F4 0%, #FAF8F4 42%, #F1EADF 100%),
    var(--ap-page) !important;
}

.app::before {
  background:
    linear-gradient(rgba(27, 26, 23, .018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(27, 26, 23, .018) 1px, transparent 1px) !important;
  background-size: 52px 52px !important;
  opacity: .42 !important;
}

.hdr {
  height: 72px !important;
  padding: 0 32px !important;
  background: rgba(250, 248, 244, .96) !important;
  border-bottom: 1px solid var(--ap-border) !important;
  box-shadow: none !important;
}

.logo {
  gap: 14px !important;
}

.logo-ico {
  width: 38px !important;
  height: 38px !important;
  border-radius: 9px !important;
  background: #1B1A17 !important;
  color: transparent !important;
  box-shadow: none !important;
  position: relative !important;
  overflow: hidden !important;
}

.logo-ico::before {
  content: "AP";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #FAF8F4;
  font: italic 18px/1 Georgia, "Times New Roman", serif;
  letter-spacing: -.04em;
}

.logo-name {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 20px !important;
  font-weight: 850 !important;
  letter-spacing: -.02em !important;
  color: var(--ap-text) !important;
}

.logo-sub {
  margin-top: 2px !important;
  color: rgba(107, 102, 92, .88) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
}

.ai-pill,
.api-st,
.v9-badge,
.hbtn,
.apr-btn,
.tbadge,
.chip,
.type-pill,
.m2-pill,
.zai-chip {
  border-radius: 999px !important;
  background: rgba(255, 252, 246, .86) !important;
  border: 1px solid var(--ap-border) !important;
  color: var(--ap-muted) !important;
  box-shadow: 0 2px 8px rgba(27, 26, 23, .045) !important;
}

.ai-pill,
.api-st,
.v9-badge {
  background: rgba(238, 241, 230, .84) !important;
  border-color: rgba(92, 107, 63, .20) !important;
  color: var(--ap-olive-dark) !important;
}

.hbtn {
  min-height: 38px !important;
  padding: 9px 16px !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

.hbtn.primary,
.gen-btn,
.send-btn,
.apr-btn.pri,
.apr-btn.all,
.tour-arrow-primary {
  background: #1B1A17 !important;
  border-color: #1B1A17 !important;
  color: #FAF8F4 !important;
  box-shadow: 0 12px 24px rgba(27, 26, 23, .16) !important;
}

.hbtn.primary:hover,
.gen-btn:hover,
.send-btn:hover,
.apr-btn.pri:hover,
.apr-btn.all:hover {
  background: #2B2A26 !important;
  border-color: #2B2A26 !important;
  color: #FAF8F4 !important;
  transform: translateY(-1px);
}

.tabs {
  top: 72px !important;
  padding: 10px 28px 0 !important;
  gap: 6px !important;
  background: rgba(250, 248, 244, .92) !important;
  border-bottom: 1px solid var(--ap-border) !important;
  box-shadow: 0 8px 24px rgba(27, 26, 23, .035) !important;
}

.tab {
  min-height: 42px !important;
  padding: 11px 17px !important;
  border-radius: 8px 8px 0 0 !important;
  background: rgba(245, 240, 231, .66) !important;
  border-color: rgba(226, 221, 211, .84) !important;
  color: rgba(107, 102, 92, .95) !important;
  font-size: 13px !important;
  font-weight: 760 !important;
}

.tab:hover:not(.active) {
  background: rgba(255, 252, 246, .94) !important;
  color: var(--ap-text) !important;
  border-color: var(--ap-border-strong) !important;
}

.tab.active {
  background: var(--ap-surface) !important;
  color: var(--ap-text) !important;
  border-color: var(--ap-border-strong) !important;
  box-shadow: inset 0 1px 0 #fff, 0 -1px 0 rgba(36, 180, 126, .28) !important;
}

.tab.active::after {
  height: 2px !important;
  background: var(--ap-honey) !important;
}

.body {
  padding: 24px 28px 72px !important;
}

.panel,
.card,
.box,
.story-card,
.chat-box,
.bubble,
.chat-row,
.gen-bar,
.file-prev,
.map-outer,
.map-stats,
.mapping-v2-workspace,
.m2-card,
.m2-stage-card,
.docai-workspace,
.docai-control-hero,
.ov-card,
.modal,
.sheet-picker-modal {
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid rgba(232, 236, 239, .94) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 42px rgba(27, 26, 23, .055) !important;
  color: var(--ap-text) !important;
}

.panel {
  padding: 26px !important;
}

.panel::before {
  display: none !important;
}

.ptitle {
  margin-bottom: 18px !important;
  color: var(--ap-muted) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: .14em !important;
}

.ptitle .dot,
.ai-dot,
.forge-badge-dot,
.dot {
  width: 7px !important;
  height: 7px !important;
  background: var(--ap-olive) !important;
  box-shadow: 0 0 0 5px rgba(92, 107, 63, .08) !important;
}

.grid2 {
  gap: 22px !important;
}

.fg,
.fg3 {
  gap: 10px !important;
}

.lbl {
  color: rgba(107, 102, 92, .82) !important;
  font-size: 10.5px !important;
  font-weight: 850 !important;
  letter-spacing: .13em !important;
}

.inp,
input,
textarea,
select,
.chat-inp {
  min-height: 44px !important;
  background: rgba(250, 248, 244, .74) !important;
  border: 1px solid var(--ap-border) !important;
  border-radius: 8px !important;
  color: var(--ap-text) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .62) !important;
}

.inp:focus,
input:focus,
textarea:focus,
select:focus,
.chat-inp:focus {
  border-color: rgba(92, 107, 63, .54) !important;
  box-shadow: 0 0 0 4px rgba(92, 107, 63, .10) !important;
}

.inp::placeholder,
input::placeholder,
textarea::placeholder,
.chat-inp::placeholder {
  color: rgba(107, 102, 92, .62) !important;
}

select.inp option {
  background: var(--ap-surface) !important;
  color: var(--ap-text) !important;
}

.upload-zone {
  min-height: 214px !important;
  background:
    radial-gradient(circle at 50% 32%, rgba(36, 180, 126, .12), transparent 34%),
    linear-gradient(180deg, rgba(255, 252, 246, .90), rgba(245, 240, 231, .76)) !important;
  border: 2px dashed rgba(92, 107, 63, .44) !important;
  border-radius: 8px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7) !important;
}

.upload-zone:hover,
.upload-zone.drag {
  background:
    radial-gradient(circle at 50% 32%, rgba(36, 180, 126, .16), transparent 34%),
    linear-gradient(180deg, rgba(255, 252, 246, .95), rgba(238, 241, 230, .84)) !important;
  border-color: var(--ap-olive) !important;
  box-shadow: 0 0 0 5px rgba(92, 107, 63, .10) !important;
}

.upload-icon {
  font-size: 42px !important;
  filter: drop-shadow(0 10px 22px rgba(36, 180, 126, .32)) !important;
}

.upload-title,
.story-title {
  color: var(--ap-text) !important;
  font-weight: 850 !important;
  letter-spacing: -.02em !important;
}

.upload-sub,
.story-body,
.bubble,
.chat-inp,
.gen-note,
.panel p {
  color: var(--ap-muted) !important;
}

.story-body b,
.bubble b,
.panel p b {
  color: var(--ap-text) !important;
}

.type-pill {
  padding: 5px 11px !important;
  background: rgba(255, 252, 246, .88) !important;
  color: var(--ap-muted) !important;
}

.crit,
.map-crit,
.err,
.danger {
  color: #8B3A1F !important;
  background: rgba(184, 105, 62, .10) !important;
  border-color: rgba(184, 105, 62, .24) !important;
}

.near,
.warn,
.warning {
  color: #188D68 !important;
  background: rgba(36, 180, 126, .14) !important;
  border-color: rgba(36, 180, 126, .28) !important;
}

.okch,
.ok,
.success {
  color: var(--ap-olive-dark) !important;
  background: rgba(92, 107, 63, .10) !important;
  border-color: rgba(92, 107, 63, .24) !important;
}

/* Modern app shell header + tab dock */
.hdr {
  height: 78px !important;
  display: grid !important;
  grid-template-columns: minmax(300px, auto) minmax(120px, max-content) minmax(190px, max-content) minmax(320px, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 12px 28px !important;
  background:
    linear-gradient(180deg, rgba(255, 252, 246, .98), rgba(250, 248, 244, .94)) !important;
  border-bottom: 1px solid rgba(226, 221, 211, .86) !important;
  box-shadow: 0 10px 28px rgba(27, 26, 23, .045) !important;
  backdrop-filter: blur(18px) saturate(1.04) !important;
}

.hdr::after {
  content: "" !important;
  position: absolute !important;
  left: 28px !important;
  right: 28px !important;
  bottom: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(92, 107, 63, .18), rgba(36, 180, 126, .20), transparent) !important;
  pointer-events: none !important;
}

.logo {
  min-width: 0 !important;
}

.logo-ico {
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 11px !important;
  background:
    linear-gradient(180deg, #272521, #14130f) !important;
  box-shadow: 0 12px 26px rgba(27, 26, 23, .18) !important;
}

.logo-ico::before {
  font-size: 19px !important;
  z-index: 1 !important;
}

.logo-name {
  font-size: 20px !important;
  line-height: 1.05 !important;
}

.logo-sub {
  max-width: 420px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.hdr > .ai-pill,
.hdr > .api-st,
.hdr > .hbtns {
  align-self: center !important;
}

.hdr > .ai-pill {
  justify-self: end !important;
}

.hdr > .api-st {
  justify-self: end !important;
}

.hbtns {
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  flex-wrap: nowrap !important;
}

.ai-pill,
.api-st,
.hbtn,
.v9-badge {
  min-height: 36px !important;
  padding: 8px 14px !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

.ai-pill,
.api-st {
  background: rgba(238, 241, 230, .72) !important;
  border-color: rgba(92, 107, 63, .18) !important;
}

.api-st {
  min-width: 220px !important;
  justify-content: center !important;
}

.hbtn {
  min-width: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 252, 246, .86) !important;
  border-color: rgba(204, 195, 181, .72) !important;
  color: rgba(27, 26, 23, .72) !important;
}

.hbtn.primary {
  min-width: 168px !important;
  background: #1B1A17 !important;
  border-color: #1B1A17 !important;
  color: #FAF8F4 !important;
}

.hbtn:disabled {
  opacity: .62 !important;
  filter: saturate(.75) !important;
}

.tabs {
  top: 78px !important;
  min-height: 60px !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 9px 28px 11px !important;
  background:
    linear-gradient(180deg, rgba(250, 248, 244, .94), rgba(244, 239, 230, .88)) !important;
  border-bottom: 1px solid rgba(204, 195, 181, .78) !important;
  box-shadow: 0 12px 22px rgba(27, 26, 23, .035) !important;
  scrollbar-width: none !important;
}

.tabs::-webkit-scrollbar {
  display: none !important;
}

.tabs::-webkit-scrollbar-track {
  background: transparent !important;
}

.tabs::-webkit-scrollbar-thumb {
  background: rgba(92, 107, 63, .28) !important;
  border-radius: 999px !important;
}

.tab {
  height: 40px !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 16px !important;
  margin-bottom: 0 !important;
  border: 1px solid rgba(226, 221, 211, .92) !important;
  border-radius: 999px !important;
  background: rgba(255, 252, 246, .58) !important;
  color: rgba(27, 26, 23, .58) !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.tab:hover:not(.active) {
  background: rgba(255, 252, 246, .96) !important;
  border-color: rgba(204, 195, 181, .96) !important;
  color: var(--ap-text) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 18px rgba(27, 26, 23, .055) !important;
}

.tab.active {
  background: #1B1A17 !important;
  border-color: #1B1A17 !important;
  color: #FAF8F4 !important;
  box-shadow: 0 12px 22px rgba(27, 26, 23, .16) !important;
}

.tab.active::after {
  display: none !important;
}

.tab .tbadge,
.tab.active .tbadge {
  height: 18px !important;
  min-width: 18px !important;
  background: rgba(250, 248, 244, .14) !important;
  border-color: rgba(250, 248, 244, .18) !important;
  color: inherit !important;
  box-shadow: none !important;
}

@media (max-width: 1500px) {
  .hdr {
    grid-template-columns: minmax(260px, 1fr) auto auto !important;
    height: auto !important;
    min-height: 78px !important;
  }

  .hdr > .api-st {
    display: none !important;
  }

  .tabs {
    top: 78px !important;
  }
}

@media (max-width: 1180px) {
  .hdr {
    grid-template-columns: minmax(260px, 1fr) auto !important;
  }

  .hdr > .ai-pill {
    display: none !important;
  }
}

@media (max-width: 820px) {
  .hdr {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px 18px !important;
  }

  .hdr > .ai-pill {
    display: none !important;
  }

  .hbtns {
    justify-self: stretch !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
  }

  .tabs {
    top: var(--app-sticky-top) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .tab {
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
  }
}

/* Full vertical navigation redesign */
body.ap-vertical-shell {
  --ap-side-open: 292px;
  --ap-side-closed: 82px;
  --ap-side-width: var(--ap-side-open);
  --ap-header-height: var(--app-header-height);
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) {
  --ap-side-width: var(--ap-side-closed);
}

body.ap-vertical-shell .app {
  min-height: 100vh !important;
}

body.ap-vertical-shell .hdr {
  position: sticky !important;
  top: 0 !important;
  left: var(--ap-side-width) !important;
  width: calc(100% - var(--ap-side-width)) !important;
  height: var(--ap-header-height) !important;
  min-height: var(--ap-header-height) !important;
  margin-left: var(--ap-side-width) !important;
  grid-template-columns: minmax(280px, 1fr) auto auto auto !important;
  padding: 12px 28px 12px 24px !important;
  border-bottom: 1px solid rgba(226, 221, 211, .74) !important;
  background: rgba(250, 248, 244, .86) !important;
  box-shadow: 0 12px 32px rgba(27, 26, 23, .04) !important;
  transition: margin-left .46s cubic-bezier(.19, 1, .22, 1), width .46s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .tabs {
  position: fixed !important;
  inset: 14px auto 14px 14px !important;
  z-index: 220 !important;
  width: calc(var(--ap-side-width) - 28px) !important;
  min-height: auto !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  padding: 14px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border: 1px solid rgba(250, 248, 244, .10) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, rgba(31, 30, 25, .98) 0%, rgba(20, 19, 16, .985) 100%),
    #1B1A17 !important;
  box-shadow: 0 28px 70px rgba(27, 26, 23, .28), inset 0 1px 0 rgba(255, 255, 255, .08) !important;
  transition:
    width .46s cubic-bezier(.19, 1, .22, 1),
    border-radius .46s cubic-bezier(.19, 1, .22, 1),
    transform .46s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .tabs::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background:
    radial-gradient(circle at 28% 8%, rgba(36, 180, 126, .16), transparent 28%),
    radial-gradient(circle at 88% 82%, rgba(92, 107, 63, .22), transparent 34%) !important;
  opacity: .95 !important;
}

body.ap-vertical-shell .tabs::after {
  content: "" !important;
  position: absolute !important;
  top: 90px !important;
  bottom: 74px !important;
  left: 20px !important;
  width: 1px !important;
  background: linear-gradient(180deg, transparent, rgba(250, 248, 244, .10), transparent) !important;
  pointer-events: none !important;
}

body.ap-vertical-shell .tabs > * {
  position: relative !important;
  z-index: 1 !important;
}

body.ap-vertical-shell .ap-sidebar-brand {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 54px !important;
  padding: 6px 6px 12px !important;
  color: #FAF8F4 !important;
}

body.ap-vertical-shell .ap-sidebar-mark {
  flex: 0 0 40px !important;
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: #FAF8F4 !important;
  color: #1B1A17 !important;
  font: italic 18px/1 Georgia, "Times New Roman", serif !important;
  letter-spacing: -.05em !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, .22) !important;
}

body.ap-vertical-shell .ap-sidebar-copy {
  min-width: 0 !important;
  transition: opacity .28s ease, transform .42s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .ap-sidebar-name {
  font-size: 16px !important;
  font-weight: 850 !important;
  letter-spacing: -.02em !important;
}

body.ap-vertical-shell .ap-sidebar-sub {
  margin-top: 2px !important;
  color: rgba(250, 248, 244, .50) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

body.ap-vertical-shell .ap-sidebar-toggle {
  width: 100% !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(250, 248, 244, .10) !important;
  border-radius: 14px !important;
  background: rgba(250, 248, 244, .055) !important;
  color: rgba(250, 248, 244, .78) !important;
  cursor: pointer !important;
  transition: background .18s ease, transform .18s ease, border-color .18s ease !important;
}

body.ap-vertical-shell .ap-sidebar-toggle:hover {
  background: rgba(250, 248, 244, .10) !important;
  border-color: rgba(250, 248, 244, .18) !important;
  transform: translateY(-1px) !important;
}

body.ap-vertical-shell .ap-toggle-line {
  width: 16px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  transition: transform .32s cubic-bezier(.19, 1, .22, 1), opacity .22s ease !important;
}

body.ap-vertical-shell .ap-sidebar-toggle::after {
  content: "Collapse menu" !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  transition: opacity .26s ease, transform .36s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle::after {
  opacity: 0 !important;
  transform: translateX(-8px) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-toggle-line:nth-child(2) {
  opacity: .35 !important;
}

body.ap-vertical-shell .ap-sidebar-rail-label {
  margin: 8px 8px 2px !important;
  color: rgba(250, 248, 244, .34) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  transition: opacity .24s ease !important;
}

body.ap-vertical-shell .tab {
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  padding: 0 14px !important;
  border: 1px solid transparent !important;
  border-radius: 15px !important;
  background: transparent !important;
  color: rgba(250, 248, 244, .62) !important;
  box-shadow: none !important;
  transform: translateX(0) !important;
  overflow: hidden !important;
  animation: apNavEnter .58s cubic-bezier(.19, 1, .22, 1) both !important;
  animation-delay: calc(var(--ap-delay, 18ms) * attr(data-ap-index number, 1)) !important;
}

body.ap-vertical-shell .tab:nth-of-type(1) { --ap-delay: 16ms; }
body.ap-vertical-shell .tab:nth-of-type(2) { --ap-delay: 22ms; }
body.ap-vertical-shell .tab:nth-of-type(3) { --ap-delay: 28ms; }

body.ap-vertical-shell .tab::before {
  content: "" !important;
  position: absolute !important;
  inset: 8px auto 8px 0 !important;
  width: 3px !important;
  border-radius: 999px !important;
  background: #24B47E !important;
  opacity: 0 !important;
  transform: scaleY(.35) !important;
  transition: opacity .2s ease, transform .34s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .tab:hover:not(.active) {
  background: rgba(250, 248, 244, .07) !important;
  border-color: rgba(250, 248, 244, .07) !important;
  color: rgba(250, 248, 244, .90) !important;
  transform: translateX(3px) !important;
  box-shadow: none !important;
}

body.ap-vertical-shell .tab.active {
  background:
    linear-gradient(90deg, rgba(250, 248, 244, .16), rgba(250, 248, 244, .08)) !important;
  border-color: rgba(250, 248, 244, .13) !important;
  color: #FAF8F4 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 14px 30px rgba(0, 0, 0, .18) !important;
}

body.ap-vertical-shell .tab.active::before {
  opacity: 1 !important;
  transform: scaleY(1) !important;
}

body.ap-vertical-shell .ap-tab-icon {
  flex: 0 0 28px !important;
  width: 28px !important;
  height: 28px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 10px !important;
  background: rgba(250, 248, 244, .08) !important;
  color: inherit !important;
  font-size: 13px !important;
  transition: background .2s ease, transform .3s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .tab.active .ap-tab-icon {
  background: #FAF8F4 !important;
  color: #1B1A17 !important;
  transform: scale(1.04) !important;
}

body.ap-vertical-shell .ap-tab-label {
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  font-size: 13px !important;
  font-weight: 780 !important;
  transition: opacity .25s ease, transform .38s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .ap-tab-glow {
  position: absolute !important;
  inset: auto 12px 8px 56px !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(36, 180, 126, .52), transparent) !important;
  opacity: 0 !important;
  transform: scaleX(.35) !important;
  transform-origin: left !important;
  transition: opacity .28s ease, transform .42s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .tab.active .ap-tab-glow {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

body.ap-vertical-shell .ap-sidebar-foot {
  margin-top: auto !important;
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(250, 248, 244, .08) !important;
  border-radius: 15px !important;
  background: rgba(250, 248, 244, .05) !important;
  color: rgba(250, 248, 244, .52) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
}

body.ap-vertical-shell .ap-foot-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #8A9968 !important;
  box-shadow: 0 0 0 6px rgba(138, 153, 104, .10), 0 0 18px rgba(138, 153, 104, .36) !important;
}

body.ap-vertical-shell .body {
  margin-left: var(--ap-side-width) !important;
  padding: 24px 28px 72px !important;
  transition: margin-left .46s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-copy,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-rail-label,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-tab-label,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-tab-glow,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-foot-text {
  opacity: 0 !important;
  transform: translateX(-10px) !important;
  pointer-events: none !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) {
  border-radius: 24px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-brand,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .tab,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-foot {
  justify-content: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.ap-vertical-shell .tabs.ap-nav-peek {
  --ap-side-width: var(--ap-side-open);
}

@keyframes apNavEnter {
  from {
    opacity: 0;
    transform: translateX(-18px) scale(.98);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@media (max-width: 1180px) {
  body.ap-vertical-shell {
    --ap-side-open: 264px;
    --ap-side-closed: 76px;
  }

  body.ap-vertical-shell .hdr {
    grid-template-columns: minmax(230px, 1fr) auto !important;
  }

  body.ap-vertical-shell .hdr > .ai-pill,
  body.ap-vertical-shell .hdr > .api-st {
    display: none !important;
  }
}

@media (max-width: 760px) {
  body.ap-vertical-shell {
    --ap-side-open: 242px;
    --ap-side-closed: 0px;
  }

  body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) {
    transform: translateX(-110%) !important;
  }

  body.ap-vertical-shell .hdr,
  body.ap-vertical-shell .body {
    margin-left: 0 !important;
    width: 100% !important;
  }
}

body.ap-vertical-shell .ap-sidebar-toggle {
  position: absolute !important;
  top: 76px !important;
  right: -17px !important;
  z-index: 4 !important;
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #FAF8F4 !important;
  border: 1px solid rgba(204, 195, 181, .92) !important;
  color: #1B1A17 !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .22) !important;
}

body.ap-vertical-shell .ap-sidebar-toggle:hover {
  background: #24B47E !important;
  border-color: #24B47E !important;
  color: #1B1A17 !important;
  transform: translateY(-1px) scale(1.04) !important;
}

body.ap-vertical-shell .ap-toggle-line {
  display: none !important;
}

body.ap-vertical-shell .ap-sidebar-toggle::after {
  content: "‹" !important;
  display: block !important;
  opacity: 1 !important;
  transform: none !important;
  font: 900 24px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: 0 !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle::after {
  content: "›" !important;
  opacity: 1 !important;
  transform: none !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   UPGRADE v2.0 — Groups · Tooltips · Command Bar · SVG Icons
   ══════════════════════════════════════════════════════════════════════════ */

/* ─── SVG icon sizing ──────────────────────────────────────────────────── */
body.ap-vertical-shell .ap-tab-icon svg {
  width: 15px !important;
  height: 15px !important;
  flex-shrink: 0 !important;
  display: block !important;
}

/* ─── Section group dividers ───────────────────────────────────────────── */
body.ap-vertical-shell .ap-sidebar-section {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 12px 4px 4px !important;
  pointer-events: none !important;
  position: relative !important;
  z-index: 1 !important;
}

body.ap-vertical-shell .ap-section-line {
  flex: 1 !important;
  height: 1px !important;
  background: rgba(250, 248, 244, .10) !important;
  border-radius: 1px !important;
  transition: opacity .28s ease !important;
}

body.ap-vertical-shell .ap-section-text {
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .20em !important;
  text-transform: uppercase !important;
  color: rgba(250, 248, 244, .28) !important;
  white-space: nowrap !important;
  transition: opacity .24s ease, transform .38s cubic-bezier(.19, 1, .22, 1) !important;
}

/* Collapse: hide text, keep the line only */
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-section-text {
  opacity: 0 !important;
  transform: translateX(-10px) !important;
  pointer-events: none !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-section-line:first-child {
  display: none !important;
}

/* ─── Tooltip in collapsed mode ────────────────────────────────────────── */
body.ap-vertical-shell .tab {
  position: relative !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .tab[data-tooltip]::after {
  content: attr(data-tooltip) !important;
  position: fixed !important;
  left: calc(var(--ap-side-closed) + 10px) !important;
  top: auto !important;
  background: #1B1A17 !important;
  color: #FAF8F4 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  padding: 6px 12px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(250, 248, 244, .14) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, .32) !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transform: translateX(-4px) !important;
  transition: opacity .16s ease, transform .20s ease !important;
  z-index: 9990 !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .tab[data-tooltip]:hover::after {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

/* ─── Command Bar trigger button ───────────────────────────────────────── */
body.ap-vertical-shell .ap-cmd-trigger {
  width: 100% !important;
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(250, 248, 244, .10) !important;
  border-radius: 13px !important;
  background: rgba(250, 248, 244, .055) !important;
  color: rgba(250, 248, 244, .44) !important;
  cursor: pointer !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .01em !important;
  transition: background .18s ease, border-color .18s ease, color .18s ease !important;
  position: relative !important;
  z-index: 1 !important;
  margin-bottom: 4px !important;
}

body.ap-vertical-shell .ap-cmd-trigger:hover {
  background: rgba(250, 248, 244, .09) !important;
  border-color: rgba(250, 248, 244, .18) !important;
  color: rgba(250, 248, 244, .80) !important;
}

body.ap-vertical-shell .ap-cmd-trigger-icon {
  flex: 0 0 15px !important;
  width: 15px !important;
  height: 15px !important;
  opacity: .72 !important;
}

body.ap-vertical-shell .ap-cmd-trigger-text {
  flex: 1 !important;
  text-align: left !important;
  transition: opacity .24s ease, transform .38s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .ap-cmd-trigger-kbd {
  padding: 2px 7px !important;
  border-radius: 6px !important;
  background: rgba(250, 248, 244, .08) !important;
  border: 1px solid rgba(250, 248, 244, .12) !important;
  font-size: 10px !important;
  font-family: 'JetBrains Mono', monospace !important;
  color: rgba(250, 248, 244, .40) !important;
  letter-spacing: 0 !important;
  transition: opacity .24s ease !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger-text,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger-kbd {
  opacity: 0 !important;
  transform: translateX(-8px) !important;
  pointer-events: none !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger {
  justify-content: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ─── Command Bar Overlay ──────────────────────────────────────────────── */
.ap-cmd-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  background: rgba(27, 26, 23, .58) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding-top: 11vh !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .18s ease !important;
}

.ap-cmd-overlay.ap-cmd-open {
  opacity: 1 !important;
  pointer-events: all !important;
}

.ap-cmd-modal {
  width: 100% !important;
  max-width: 600px !important;
  margin: 0 16px !important;
  background: rgba(255, 253, 248, .99) !important;
  border: 1px solid rgba(226, 221, 211, .90) !important;
  border-radius: 18px !important;
  box-shadow:
    0 64px 128px rgba(27, 26, 23, .22),
    0 24px 48px rgba(27, 26, 23, .12),
    inset 0 1px 0 rgba(255, 255, 255, .80) !important;
  overflow: hidden !important;
  transform: translateY(-14px) scale(.97) !important;
  transition: transform .24s cubic-bezier(.19, 1, .22, 1) !important;
}

.ap-cmd-overlay.ap-cmd-open .ap-cmd-modal {
  transform: translateY(0) scale(1) !important;
}

.ap-cmd-header {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid rgba(226, 221, 211, .68) !important;
  background: rgba(250, 248, 244, .60) !important;
}

.ap-cmd-search-icon {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  color: rgba(107, 102, 92, .60) !important;
}

.ap-cmd-input {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #1B1A17 !important;
  min-height: auto !important;
  box-shadow: none !important;
  padding: 0 !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
}

.ap-cmd-input::placeholder {
  color: rgba(107, 102, 92, .48) !important;
}

.ap-cmd-esc-key {
  padding: 3px 9px !important;
  border-radius: 7px !important;
  background: rgba(236, 229, 216, .64) !important;
  border: 1px solid rgba(204, 195, 181, .72) !important;
  font-size: 11px !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  color: rgba(107, 102, 92, .70) !important;
  white-space: nowrap !important;
}

.ap-cmd-results {
  max-height: 380px !important;
  overflow-y: auto !important;
  padding: 8px !important;
}

.ap-cmd-results::-webkit-scrollbar { width: 4px !important; }
.ap-cmd-results::-webkit-scrollbar-track { background: transparent !important; }
.ap-cmd-results::-webkit-scrollbar-thumb {
  background: rgba(92, 107, 63, .22) !important;
  border-radius: 4px !important;
}

.ap-cmd-item {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  padding: 10px 12px !important;
  border-radius: 11px !important;
  cursor: pointer !important;
  border: 1px solid transparent !important;
  transition: background .12s ease, border-color .12s ease !important;
}

.ap-cmd-item:hover,
.ap-cmd-item--focused {
  background: rgba(236, 229, 216, .60) !important;
  border-color: rgba(204, 195, 181, .52) !important;
}

.ap-cmd-item-icon {
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 9px !important;
  background: rgba(250, 248, 244, .88) !important;
  border: 1px solid rgba(226, 221, 211, .80) !important;
  color: #3E4A2A !important;
  box-shadow: 0 2px 6px rgba(27, 26, 23, .06) !important;
}

.ap-cmd-item-icon svg {
  width: 15px !important;
  height: 15px !important;
}

.ap-cmd-item--active .ap-cmd-item-icon {
  background: #1B1A17 !important;
  border-color: #1B1A17 !important;
  color: #FAF8F4 !important;
}

.ap-cmd-item-label {
  flex: 1 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1B1A17 !important;
  letter-spacing: -.01em !important;
}

.ap-cmd-item-group {
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(107, 102, 92, .52) !important;
  padding: 2px 8px !important;
  border-radius: 5px !important;
  background: rgba(236, 229, 216, .54) !important;
}

.ap-cmd-item-badge {
  padding: 2px 9px !important;
  border-radius: 999px !important;
  background: rgba(92, 107, 63, .12) !important;
  border: 1px solid rgba(92, 107, 63, .22) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  color: #3E4A2A !important;
  letter-spacing: .04em !important;
}

.ap-cmd-footer {
  display: flex !important;
  gap: 20px !important;
  padding: 10px 20px !important;
  border-top: 1px solid rgba(226, 221, 211, .68) !important;
  background: rgba(244, 239, 230, .42) !important;
}

.ap-cmd-footer span {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  color: rgba(107, 102, 92, .60) !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
}

.ap-cmd-footer kbd {
  padding: 2px 6px !important;
  border-radius: 5px !important;
  background: rgba(236, 229, 216, .80) !important;
  border: 1px solid rgba(204, 195, 181, .72) !important;
  font-size: 10px !important;
  font-family: 'JetBrains Mono', monospace !important;
}

/* ─── Badge wrap — preserves dynamic counters inside labels ────────────── */
body.ap-vertical-shell .ap-badge-wrap {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: 4px !important;
}

/* ─── Badge pulse on new data ──────────────────────────────────────────── */
@keyframes apBadgePulse {
  0%, 100% { transform: scale(1);   opacity: 1; }
  50%       { transform: scale(1.18); opacity: .80; }
}

.tbadge.ap-badge-new {
  animation: apBadgePulse .72s ease 4 !important;
}

/* ─── Hide the old "WORKSPACE" rail label (replaced by section groups) ─── */
body.ap-vertical-shell .ap-sidebar-rail-label {
  display: none !important;
}

/* ─── Collapsed: hide cmd trigger text/kbd, center icon ───────────────── */
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger {
  min-height: 40px !important;
}

/* ─── Stagger enter animation for groups ───────────────────────────────── */
body.ap-vertical-shell .ap-sidebar-section {
  animation: apNavEnter .52s cubic-bezier(.19, 1, .22, 1) both !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   UPGRADE v2.1 — PREMIUM ICON LIFT
   • Bigger, bolder icons with proper visual weight
   • Group-coloured accents (Setup·Planning·Resources·Analysis·Tools)
   • Premium toggle button (no more "glitch" look)
   • Refined hover & active states
   ══════════════════════════════════════════════════════════════════════════ */

/* ─── Larger, more prominent icon containers ──────────────────────────── */
body.ap-vertical-shell .ap-tab-icon {
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 11px !important;
  background:
    linear-gradient(135deg, rgba(250, 248, 244, .11), rgba(250, 248, 244, .04)) !important;
  border: 1px solid rgba(250, 248, 244, .08) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .07),
    0 2px 6px rgba(0, 0, 0, .18) !important;
  transition:
    background .26s cubic-bezier(.19, 1, .22, 1),
    border-color .26s ease,
    transform .32s cubic-bezier(.19, 1, .22, 1),
    box-shadow .26s ease,
    color .22s ease !important;
}

/* Larger, bolder SVG strokes */
body.ap-vertical-shell .ap-tab-icon svg {
  width: 18px !important;
  height: 18px !important;
  stroke-width: 2 !important;
}

/* ─── Per-group icon tinting (subtle but distinct) ────────────────────── */
body.ap-vertical-shell .tab[data-group="SETUP"] .ap-tab-icon {
  background:
    linear-gradient(135deg, rgba(126, 156, 184, .20), rgba(126, 156, 184, .05)) !important;
  color: #C5D5E6 !important;
}
body.ap-vertical-shell .tab[data-group="PLANNING"] .ap-tab-icon {
  background:
    linear-gradient(135deg, rgba(138, 153, 104, .22), rgba(138, 153, 104, .05)) !important;
  color: #D9E0BC !important;
}
body.ap-vertical-shell .tab[data-group="RESOURCES"] .ap-tab-icon {
  background:
    linear-gradient(135deg, rgba(36, 180, 126, .22), rgba(36, 180, 126, .05)) !important;
  color: #F0D58E !important;
}
body.ap-vertical-shell .tab[data-group="ANALYSIS"] .ap-tab-icon {
  background:
    linear-gradient(135deg, rgba(184, 105, 62, .20), rgba(184, 105, 62, .05)) !important;
  color: #EBBA9C !important;
}
body.ap-vertical-shell .tab[data-group="TOOLS"] .ap-tab-icon {
  background:
    linear-gradient(135deg, rgba(155, 122, 192, .18), rgba(155, 122, 192, .05)) !important;
  color: #CDBCE5 !important;
}

/* ─── Hover lift on icons (independent of tab translate) ─────────────── */
body.ap-vertical-shell .tab:hover:not(.active) .ap-tab-icon {
  border-color: rgba(250, 248, 244, .18) !important;
  transform: scale(1.06) rotate(-2deg) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .12),
    0 6px 16px rgba(0, 0, 0, .28) !important;
}

/* ─── Active icon — ivory chip with shadow ─────────────────────────────── */
body.ap-vertical-shell .tab.active .ap-tab-icon {
  background: linear-gradient(180deg, #FFFCF6, #E9E3D5) !important;
  border-color: transparent !important;
  color: #1B1A17 !important;
  transform: scale(1.08) rotate(-3deg) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    0 12px 24px rgba(0, 0, 0, .38),
    0 0 0 1px rgba(255, 252, 246, .14) !important;
}

/* ─── Group-coloured active left bar accent ────────────────────────────── */
body.ap-vertical-shell .tab[data-group="SETUP"].active::before     { background: #7E9CB8 !important; box-shadow: 0 0 12px rgba(126,156,184,.62) !important; }
body.ap-vertical-shell .tab[data-group="PLANNING"].active::before  { background: #8A9968 !important; box-shadow: 0 0 12px rgba(138,153,104,.62) !important; }
body.ap-vertical-shell .tab[data-group="RESOURCES"].active::before { background: #24B47E !important; box-shadow: 0 0 14px rgba(36,180,126,.70)  !important; }
body.ap-vertical-shell .tab[data-group="ANALYSIS"].active::before  { background: #B8693E !important; box-shadow: 0 0 12px rgba(184,105,62,.62)  !important; }
body.ap-vertical-shell .tab[data-group="TOOLS"].active::before     { background: #9B7AC0 !important; box-shadow: 0 0 12px rgba(155,122,192,.58) !important; }

/* Coloured underline glow per group, on active */
body.ap-vertical-shell .tab[data-group="SETUP"].active .ap-tab-glow     { background: linear-gradient(90deg, rgba(126,156,184,.62), transparent) !important; }
body.ap-vertical-shell .tab[data-group="PLANNING"].active .ap-tab-glow  { background: linear-gradient(90deg, rgba(138,153,104,.62), transparent) !important; }
body.ap-vertical-shell .tab[data-group="RESOURCES"].active .ap-tab-glow { background: linear-gradient(90deg, rgba(36,180,126,.72),  transparent) !important; }
body.ap-vertical-shell .tab[data-group="ANALYSIS"].active .ap-tab-glow  { background: linear-gradient(90deg, rgba(184,105,62,.62),  transparent) !important; }
body.ap-vertical-shell .tab[data-group="TOOLS"].active .ap-tab-glow     { background: linear-gradient(90deg, rgba(155,122,192,.62), transparent) !important; }

/* ─── Refined tab geometry ─────────────────────────────────────────────── */
body.ap-vertical-shell .tab {
  height: 50px !important;
  min-height: 50px !important;
  padding: 0 13px !important;
  gap: 13px !important;
  border-radius: 14px !important;
}

body.ap-vertical-shell .ap-tab-label {
  font-size: 13.5px !important;
  font-weight: 750 !important;
  letter-spacing: -.005em !important;
  color: rgba(250, 248, 244, .76) !important;
}

body.ap-vertical-shell .tab.active .ap-tab-label {
  color: #FFFFFF !important;
  font-weight: 800 !important;
}

/* ─── Stronger active background ───────────────────────────────────────── */
body.ap-vertical-shell .tab.active {
  background:
    linear-gradient(90deg,
      rgba(250, 248, 244, .14) 0%,
      rgba(250, 248, 244, .05) 100%) !important;
  border-color: rgba(250, 248, 244, .14) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .10),
    0 16px 36px rgba(0, 0, 0, .26) !important;
}

/* ─── PREMIUM TOGGLE BUTTON — fixes the "white glitch" look ───────────── */
body.ap-vertical-shell .ap-sidebar-toggle {
  position: absolute !important;
  top: 22px !important;
  right: -14px !important;
  z-index: 5 !important;
  width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #FFFCF6 0%, #E9E3D5 100%) !important;
  border: 1px solid rgba(204, 195, 181, .88) !important;
  color: #1B1A17 !important;
  box-shadow:
    0 8px 18px rgba(0, 0, 0, .30),
    inset 0 1px 0 rgba(255, 255, 255, .95) !important;
  display: grid !important;
  place-items: center !important;
}

body.ap-vertical-shell .ap-sidebar-toggle::after {
  content: "‹" !important;
  font: 800 17px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: 0 !important;
  margin-top: -1px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle::after {
  content: "›" !important;
}

body.ap-vertical-shell .ap-sidebar-toggle:hover {
  background: linear-gradient(180deg, #24B47E, #188D68) !important;
  border-color: #188D68 !important;
  color: #FAF8F4 !important;
  transform: translateY(-1px) scale(1.10) !important;
  box-shadow:
    0 12px 26px rgba(36, 180, 126, .48),
    inset 0 1px 0 rgba(255, 255, 255, .35) !important;
}

/* ─── More elegant group dividers ──────────────────────────────────────── */
body.ap-vertical-shell .ap-sidebar-section {
  margin: 14px 4px 6px !important;
  padding: 0 2px !important;
}

body.ap-vertical-shell .ap-section-text {
  font-size: 9.5px !important;
  font-weight: 900 !important;
  letter-spacing: .22em !important;
  color: rgba(250, 248, 244, .42) !important;
}

body.ap-vertical-shell .ap-section-line {
  background: linear-gradient(90deg,
    transparent,
    rgba(250, 248, 244, .14) 30%,
    rgba(250, 248, 244, .04)) !important;
}

/* ─── Tighter brand spacing ────────────────────────────────────────────── */
body.ap-vertical-shell .ap-sidebar-brand {
  padding: 4px 4px 14px !important;
  border-bottom: 1px solid rgba(250, 248, 244, .06) !important;
  margin-bottom: 6px !important;
}

body.ap-vertical-shell .ap-sidebar-mark {
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background: transparent !important;       /* image fills it fully */
  box-shadow:
    0 10px 24px rgba(13, 27, 42, .30) !important;
  position: relative !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
}

/* ─── Logo image — fill the circle, no crop, image keeps its built-in ring ─ */
body.ap-vertical-shell .ap-sidebar-logo {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  border-radius: inherit !important;
  image-rendering: auto !important;
}

/* ─── Fallback "AP" text (auto-shown if image fails) ─────────────────── */
body.ap-vertical-shell .ap-sidebar-mark-fallback {
  display: none !important;
  position: absolute !important;
  inset: 0 !important;
  place-items: center !important;
  font: italic 19px/1 Georgia, "Times New Roman", serif !important;
  letter-spacing: -.05em !important;
  color: #0D1B2A !important;
}

body.ap-vertical-shell .ap-sidebar-mark--fallback .ap-sidebar-mark-fallback {
  display: grid !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   HEADER BRAND — full identity (logo image + NEXORA AI lockup)
   ═══════════════════════════════════════════════════════════════════════ */

/* Header bar — give it more height for the larger logo */
body.ap-vertical-shell .hdr,
.hdr {
  height: auto !important;
  min-height: 92px !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

/* Header logo image — LARGER, sharper, no extra rings */
.hdr .logo-ico {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
  border-radius: 50% !important;
  background-color: transparent !important;
  background-image: url('../logo.png') !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow:
    0 14px 32px rgba(13, 27, 42, .22),
    0 2px 6px rgba(13, 27, 42, .10) !important;
  /* sharper downscale on modern browsers */
  image-rendering: -webkit-optimize-contrast;
  image-rendering: high-quality;
  overflow: visible !important;
}

/* Kill the "AP" pseudo overlay */
.hdr .logo-ico::before {
  content: "" !important;
  background: transparent !important;
  color: transparent !important;
  display: none !important;
}

/* ─── Brand lockup container ───────────────────────────────────────────── */
.hdr .logo {
  gap: 16px !important;
  align-items: center !important;
}

/* ─── "AI PLANNING / ENGINEER" — refined typography ───────────────────── */
.hdr .logo-name {
  font-family: 'DM Sans', 'Inter', system-ui, sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 0.98 !important;
  letter-spacing: .015em !important;
  text-transform: uppercase !important;
  color: #0D1B2A !important;
  white-space: pre-line !important;          /* honors \n */
  font-stretch: normal !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: optimizeLegibility !important;
}

/* ─── Tagline with gold em-dashes ─────────────────────────────────────── */
.hdr .logo-sub {
  margin-top: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-family: 'DM Sans', 'Inter', system-ui, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  color: rgba(13, 27, 42, .68) !important;
  max-width: none !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.hdr .logo-sub::before,
.hdr .logo-sub::after {
  content: "" !important;
  display: inline-block !important;
  width: 22px !important;
  height: 1.5px !important;
  background: #C79A4A !important;            /* brand gold */
  flex-shrink: 0 !important;
  border-radius: 1px !important;
}

/* ════════════════════════════════════════════════════════════════════════
   DATA INPUT — Redesigned 4-Card Layout (v3.0)
   ════════════════════════════════════════════════════════════════════════ */

/* Hide the legacy chat brief that lives inside tp-input */
#tp-input .dinput-legacy-brief { display: none !important; }

/* Strip inherited padding on the tab panel */
#tp-input.tp { padding: 0 !important; }

/* ─── 2-column grid ─────────────────────────────────────────────────── */
#tp-input .dinput-grid {
  display: grid !important;
  grid-template-columns: 1.35fr 1fr;
  gap: 22px;
  align-items: start;
}

@media (max-width: 1280px) {
  #tp-input .dinput-grid { grid-template-columns: 1fr !important; }
}

#tp-input .dinput-col {
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-width: 0;
}

/* ─── Card base ─────────────────────────────────────────────────────── */
#tp-input .dinput-card {
  background: #F5F5F5 !important;
  border: 1px solid #E2DDD3 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .8),
    0 8px 24px rgba(27, 26, 23, .045),
    0 1px 2px rgba(27, 26, 23, .04) !important;
  color: #1B1A17;
}

#tp-input .dinput-card::before { display: none !important; }

#tp-input .dinput-card-hdr {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

#tp-input .dinput-card-num {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #EEF1E6;
  color: #3E4A2A;
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 800;
  font-family: 'DM Sans', system-ui, sans-serif;
  box-shadow: inset 0 0 0 1px rgba(92, 107, 63, .14);
}

#tp-input .dinput-card-title {
  font-size: 16.5px;
  font-weight: 800;
  color: #1B1A17;
  margin: 0;
  letter-spacing: -.005em;
  flex: 1;
}

#tp-input .dinput-card-desc {
  font-size: 13px;
  color: rgba(107, 102, 92, .82);
  line-height: 1.55;
  margin: -6px 0 16px;
}

/* ─── Form fields ───────────────────────────────────────────────────── */
#tp-input .dinput-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 18px;
  direction: ltr;   /* was rtl — fields are now English, align left */
}

#tp-input .dinput-field--full { grid-column: 1 / -1; }

#tp-input .dinput-lbl {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  color: rgba(107, 102, 92, .78);
  margin-bottom: 7px;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#tp-input .dinput-inp,
#tp-input .dinput-textarea {
  width: 100% !important;
  min-height: 44px !important;
  padding: 11px 14px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  background: #FAF8F4 !important;
  border: 1px solid #E2DDD3 !important;
  border-radius: 10px !important;
  color: #1B1A17 !important;
  box-shadow: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

#tp-input .dinput-inp:focus,
#tp-input .dinput-textarea:focus {
  outline: none !important;
  background: #FFFCF6 !important;
  border-color: rgba(92, 107, 63, .55) !important;
  box-shadow: 0 0 0 4px rgba(92, 107, 63, .10) !important;
}

#tp-input .dinput-inp::placeholder { color: rgba(107, 102, 92, .50) !important; }

#tp-input .dinput-textarea {
  min-height: 96px !important;
  padding: 12px 14px 28px !important;
  resize: vertical;
  line-height: 1.55;
}

#tp-input .dinput-input-wrap { position: relative; }
#tp-input .dinput-input-wrap .dinput-inp { padding-right: 42px !important; }

#tp-input .dinput-input-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: rgba(92, 107, 63, .60);
  pointer-events: none;
}

#tp-input .dinput-textarea-wrap { position: relative; }

#tp-input .dinput-char-count {
  position: absolute;
  bottom: 10px;
  left: 14px;
  font-size: 10.5px;
  font-weight: 700;
  color: rgba(107, 102, 92, .48);
  pointer-events: none;
  font-variant-numeric: tabular-nums;
}

/* ─── Dropzone (Card 2) ─────────────────────────────────────────────── */
#tp-input .dinput-dropzone {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 180px !important;
  padding: 28px 24px !important;
  background: #FAF8F4 !important;
  background-image: none !important;
  border: 1.5px dashed rgba(92, 107, 63, .32) !important;
  border-radius: 14px !important;
  cursor: pointer;
  text-align: center;
  transition: background .18s ease, border-color .18s ease !important;
  box-shadow: none !important;
}

#tp-input .dinput-dropzone:hover,
#tp-input .dinput-dropzone.drag {
  background: #F5F0E7 !important;
  background-image: none !important;
  border-color: rgba(92, 107, 63, .55) !important;
  box-shadow: none !important;
}

#tp-input .dinput-dz-icon {
  width: 46px;
  height: 46px;
  color: rgba(92, 107, 63, .72);
  margin-bottom: 4px;
}

#tp-input .dinput-dz-icon svg {
  width: 100% !important;
  height: 100% !important;
  filter: none !important;
}

#tp-input .dinput-dz-title {
  font-size: 14.5px;
  font-weight: 700;
  color: #1B1A17;
  letter-spacing: -.005em;
}

#tp-input .dinput-dz-sub {
  font-size: 12px;
  color: rgba(107, 102, 92, .68);
  margin-bottom: 8px;
}

#tp-input .dinput-browse-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  border-radius: 10px;
  background: #FFFCF6 !important;
  border: 1px solid #D8CDBA !important;
  color: #1B1A17 !important;
  font-size: 13px;
  font-weight: 700;
  font-family: 'DM Sans', system-ui, sans-serif;
  cursor: pointer;
  transition: background .14s, border-color .14s, transform .14s;
  margin-top: 4px;
  box-shadow: none !important;
}

#tp-input .dinput-browse-btn:hover {
  background: #F5F0E7 !important;
  border-color: #A89A82 !important;
  transform: translateY(-1px);
}

#tp-input .dinput-browse-btn svg { width: 15px; height: 15px; }

/* ─── Files table ───────────────────────────────────────────────────── */
#tp-input .dinput-files-section { margin-top: 18px; }

#tp-input .dinput-files-title {
  font-size: 12.5px;
  font-weight: 800;
  color: rgba(27, 26, 23, .82);
  margin-bottom: 10px;
}

#tp-input .dinput-files-table {
  border: 1px solid #E8E2D4;
  border-radius: 12px;
  overflow: hidden;
  background: #FFFCF6;
}

#tp-input .dinput-files-row {
  display: grid !important;
  grid-template-columns: 1.8fr 0.7fr 0.7fr 1.1fr 1fr 36px;
  align-items: center;
  gap: 12px;
  padding: 11px 16px;
  font-size: 12.5px;
  border-bottom: 1px solid #F0EAD8;
  background: transparent !important;
}

#tp-input .dinput-files-row:last-child { border-bottom: none; }

#tp-input .dinput-files-row--head {
  background: #F5F0E7 !important;
  color: rgba(107, 102, 92, .82) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 9px 16px !important;
}

#tp-input .dinput-fname {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

#tp-input .dinput-fname-ico {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  font-size: 14px;
  background: #EEF1E6;
}

#tp-input .dinput-fname-text {
  font-weight: 700;
  color: #1B1A17;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#tp-input .dinput-ftype-pill {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 6px;
  background: #F5F0E7;
  border: 1px solid #E2DDD3;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .04em;
  color: rgba(62, 74, 42, .92);
}

#tp-input .dinput-fsize,
#tp-input .dinput-fdate {
  color: rgba(107, 102, 92, .78);
  font-weight: 500;
}

#tp-input .dinput-fstatus {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(92, 107, 63, .10) !important;
  border: 1px solid rgba(92, 107, 63, .24) !important;
  color: #3E4A2A !important;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .03em;
  width: fit-content;
}

#tp-input .dinput-status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #5C6B3F;
  box-shadow: 0 0 0 3px rgba(92, 107, 63, .14);
}

#tp-input .dinput-fdel {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(107, 102, 92, .68);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: all .14s;
  padding: 0;
}

#tp-input .dinput-fdel:hover {
  border-color: rgba(184, 105, 62, .22);
  background: rgba(184, 105, 62, .08);
  color: #8B3A1F;
}

#tp-input .dinput-fdel svg { width: 14px; height: 14px; }

/* ─── Card 3 — Schedule Readiness ────────────────────────────────────── */
#tp-input .dinput-ready-ring {
  position: relative;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
}

#tp-input .dinput-ready-ring svg { width: 100%; height: 100%; }

#tp-input .dinput-ring-bg { stroke: #EEE6D6; }
#tp-input .dinput-ring-fg {
  stroke: #5C6B3F;
  transition: stroke-dasharray .55s cubic-bezier(.19, 1, .22, 1);
}

#tp-input .dinput-ring-pct {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
  color: #1B1A17;
  font-variant-numeric: tabular-nums;
}

#tp-input .dinput-checklist {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

#tp-input .dinput-check-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 14px;
  background: #FAF8F4;
  border: 1px solid #E8E2D4;
  border-radius: 12px;
  transition: all .18s;
  cursor: default;
}

#tp-input .dinput-check-item:hover {
  border-color: #D8CDBA;
  background: #F5F0E7;
}

#tp-input .dinput-check-icon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #FAF8F4;
}

#tp-input .dinput-check-icon svg { width: 14px; height: 14px; }

#tp-input .dinput-check-item.is-ok .dinput-check-icon {
  background: #5C6B3F;
  box-shadow: 0 0 0 3px rgba(92, 107, 63, .14);
}

#tp-input .dinput-check-item.is-pending .dinput-check-icon {
  background: #24B47E;
  box-shadow: 0 0 0 3px rgba(36, 180, 126, .14);
}

#tp-input .dinput-check-text {
  flex: 1;
  min-width: 0;
}

#tp-input .dinput-check-title {
  font-size: 13.5px;
  font-weight: 750;
  color: #1B1A17;
  margin-bottom: 2px;
}

#tp-input .dinput-check-sub {
  font-size: 11.5px;
  color: rgba(107, 102, 92, .72);
}

#tp-input .dinput-check-chev {
  font-size: 22px;
  color: rgba(107, 102, 92, .35);
  font-weight: 300;
  line-height: 1;
}

#tp-input .dinput-ready-cta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: 13px;
}

#tp-input .dinput-cta-icon {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
}

#tp-input .dinput-ready-cta--ok {
  background: rgba(92, 107, 63, .10);
  border: 1px solid rgba(92, 107, 63, .26);
  color: #3E4A2A;
}

#tp-input .dinput-ready-cta--pending {
  background: rgba(36, 180, 126, .10);
  border: 1px solid rgba(36, 180, 126, .26);
  color: #188D68;
}

/* ─── Card 4 — Planning Setup ────────────────────────────────────────── */
#tp-input .dinput-setup {
  display: flex;
  flex-direction: column;
}

#tp-input .dinput-setup-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 4px;
  border-bottom: 1px solid #F0EAD8;
}

#tp-input .dinput-setup-row:last-child { border-bottom: none; }

#tp-input .dinput-setup-key {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: rgba(107, 102, 92, .82);
  font-weight: 600;
}

#tp-input .dinput-setup-key svg {
  width: 16px;
  height: 16px;
  color: rgba(92, 107, 63, .72);
  flex-shrink: 0;
}

#tp-input .dinput-setup-val {
  font-size: 13px;
  font-weight: 700;
  color: #1B1A17;
}

#tp-input .dinput-settings-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 46px;
  margin-top: 16px;
  padding: 0 18px;
  background: #FAF8F4 !important;
  border: 1px solid #E2DDD3 !important;
  border-radius: 11px !important;
  color: #1B1A17 !important;
  font-size: 13.5px;
  font-weight: 700;
  font-family: 'DM Sans', system-ui, sans-serif;
  cursor: pointer;
  transition: all .14s;
  box-shadow: none !important;
}

#tp-input .dinput-settings-btn:hover {
  background: #F5F0E7 !important;
  border-color: #A89A82 !important;
  transform: translateY(-1px);
}

#tp-input .dinput-settings-btn svg { width: 16px; height: 16px; }

body.ap-vertical-shell .ap-sidebar-sub {
  font-size: 9.5px !important;
  letter-spacing: .18em !important;
  color: rgba(250, 248, 244, .42) !important;
}

/* ─── Collapsed mode: keep icons centered & remove any horizontal jitter ─ */
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .tab {
  padding: 0 !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .tab::before {
  display: none !important;
}

/* ─── Footer dot — more premium glow ──────────────────────────────────── */
body.ap-vertical-shell .ap-foot-dot {
  width: 8px !important;
  height: 8px !important;
  background: #8A9968 !important;
  box-shadow:
    0 0 0 4px rgba(138, 153, 104, .14),
    0 0 12px rgba(138, 153, 104, .60),
    0 0 24px rgba(138, 153, 104, .30) !important;
  animation: apFootPulse 2.4s ease-in-out infinite !important;
}

@keyframes apFootPulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(138, 153, 104, .14), 0 0 12px rgba(138, 153, 104, .60), 0 0 24px rgba(138, 153, 104, .30); }
  50%       { box-shadow: 0 0 0 7px rgba(138, 153, 104, .08), 0 0 18px rgba(138, 153, 104, .80), 0 0 32px rgba(138, 153, 104, .42); }
}

body.ap-vertical-shell .ap-sidebar-foot {
  border: 1px solid rgba(138, 153, 104, .14) !important;
  background:
    linear-gradient(180deg, rgba(138, 153, 104, .08), rgba(138, 153, 104, .02)) !important;
  color: rgba(250, 248, 244, .70) !important;
}

/* UPGRADE v3 - executive navigation rail */
body.ap-vertical-shell {
  --ap-side-open: 318px;
  --ap-side-closed: 104px;
}

body.ap-vertical-shell .tabs {
  inset: 16px auto 16px 16px !important;
  width: calc(var(--ap-side-width) - 32px) !important;
  padding: 18px 14px !important;
  border-radius: 28px !important;
  background:
    linear-gradient(180deg, rgba(30, 29, 24, .98), rgba(13, 13, 10, .995)),
    #11100D !important;
  border: 1px solid rgba(250, 248, 244, .12) !important;
  box-shadow:
    0 34px 84px rgba(27, 26, 23, .34),
    0 0 0 1px rgba(27, 26, 23, .18),
    inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

body.ap-vertical-shell .tabs::before {
  background:
    radial-gradient(circle at 25% 4%, rgba(36, 180, 126, .22), transparent 26%),
    radial-gradient(circle at 95% 80%, rgba(92, 107, 63, .20), transparent 36%),
    linear-gradient(180deg, rgba(250, 248, 244, .035), transparent 34%) !important;
}

body.ap-vertical-shell .ap-sidebar-brand {
  min-height: 64px !important;
  padding: 0 4px 18px !important;
  gap: 14px !important;
  border-bottom: 1px solid rgba(250, 248, 244, .08) !important;
}

body.ap-vertical-shell .ap-sidebar-mark {
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 16px !important;
  color: #151410 !important;
  font-size: 20px !important;
  background: linear-gradient(180deg, #FFFDF8 0%, #E7DFCF 100%) !important;
  box-shadow:
    0 18px 34px rgba(0, 0, 0, .38),
    inset 0 1px 0 rgba(255, 255, 255, .95),
    0 0 0 1px rgba(36, 180, 126, .22) !important;
}

body.ap-vertical-shell .ap-sidebar-name {
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
}

body.ap-vertical-shell .ap-sidebar-sub {
  margin-top: 4px !important;
  font-size: 9px !important;
  letter-spacing: .22em !important;
  color: rgba(250, 248, 244, .46) !important;
}

body.ap-vertical-shell .ap-cmd-trigger {
  height: 46px !important;
  min-height: 46px !important;
  margin: 2px 0 12px !important;
  padding: 0 13px !important;
  border-radius: 16px !important;
  background: rgba(250, 248, 244, .075) !important;
  border: 1px solid rgba(250, 248, 244, .11) !important;
  color: rgba(250, 248, 244, .78) !important;
}

body.ap-vertical-shell .ap-cmd-trigger:hover {
  background: rgba(250, 248, 244, .12) !important;
  border-color: rgba(36, 180, 126, .32) !important;
  color: #FAF8F4 !important;
}

body.ap-vertical-shell .ap-sidebar-section {
  margin: 16px 8px 7px !important;
}

body.ap-vertical-shell .ap-section-text {
  color: rgba(250, 248, 244, .34) !important;
}

body.ap-vertical-shell .tab {
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 12px !important;
  gap: 14px !important;
  border-radius: 18px !important;
  color: rgba(250, 248, 244, .62) !important;
}

body.ap-vertical-shell .tab:hover:not(.active) {
  background:
    linear-gradient(90deg, rgba(250, 248, 244, .095), rgba(250, 248, 244, .038)) !important;
  border-color: rgba(250, 248, 244, .12) !important;
  color: #FAF8F4 !important;
  transform: translateX(4px) !important;
}

body.ap-vertical-shell .tab.active {
  background:
    linear-gradient(90deg, rgba(250, 248, 244, .18), rgba(250, 248, 244, .075)) !important;
  border-color: rgba(250, 248, 244, .18) !important;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, .30),
    inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}

body.ap-vertical-shell .tab::before {
  left: 0 !important;
  width: 4px !important;
  inset-top: 10px !important;
  inset-bottom: 10px !important;
  border-radius: 999px !important;
}

body.ap-vertical-shell .ap-tab-icon {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 15px !important;
  background:
    linear-gradient(180deg, rgba(250, 248, 244, .11), rgba(250, 248, 244, .045)) !important;
  border: 1px solid rgba(250, 248, 244, .12) !important;
  color: rgba(250, 248, 244, .78) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .075),
    0 10px 18px rgba(0, 0, 0, .22) !important;
}

body.ap-vertical-shell .ap-tab-icon svg {
  width: 21px !important;
  height: 21px !important;
  stroke-width: 2.25 !important;
}

body.ap-vertical-shell .tab[data-group] .ap-tab-icon {
  background:
    linear-gradient(180deg, rgba(250, 248, 244, .11), rgba(250, 248, 244, .045)) !important;
  color: rgba(250, 248, 244, .78) !important;
}

body.ap-vertical-shell .tab:hover:not(.active) .ap-tab-icon {
  background: linear-gradient(180deg, rgba(250, 248, 244, .18), rgba(250, 248, 244, .075)) !important;
  color: #FAF8F4 !important;
  border-color: rgba(250, 248, 244, .20) !important;
  transform: scale(1.055) !important;
}

body.ap-vertical-shell .tab.active .ap-tab-icon {
  background: linear-gradient(180deg, #FAF8F4 0%, #EDE4D3 100%) !important;
  color: #1B1A17 !important;
  border-color: rgba(36, 180, 126, .30) !important;
  transform: scale(1.07) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    0 14px 28px rgba(0, 0, 0, .38),
    0 0 0 1px rgba(250, 248, 244, .16) !important;
}

body.ap-vertical-shell .ap-tab-label {
  color: rgba(250, 248, 244, .76) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: -.015em !important;
}

body.ap-vertical-shell .tab.active .ap-tab-label {
  color: #FAF8F4 !important;
}

body.ap-vertical-shell .ap-sidebar-toggle {
  top: 74px !important;
  right: -15px !important;
  width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  background: linear-gradient(180deg, #FAF8F4 0%, #EDE4D3 100%) !important;
  border: 1px solid rgba(36, 180, 126, .34) !important;
}

body.ap-vertical-shell .ap-sidebar-toggle::after {
  content: "‹" !important;
  font-size: 20px !important;
  color: #1B1A17 !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle::after {
  content: "›" !important;
}

body.ap-vertical-shell .ap-sidebar-toggle:hover {
  background: #24B47E !important;
  color: #1B1A17 !important;
}

body.ap-vertical-shell .ap-sidebar-foot {
  min-height: 50px !important;
  border-radius: 18px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) {
  width: calc(var(--ap-side-closed) - 28px) !important;
  padding: 16px 10px !important;
  border-radius: 30px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-brand {
  justify-content: center !important;
  padding-bottom: 18px !important;
  margin-bottom: 12px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-mark {
  flex-basis: 50px !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 17px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-section {
  height: 1px !important;
  margin: 13px 12px 9px !important;
  padding: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(250, 248, 244, .14), transparent) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .tab {
  width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 auto !important;
  border-radius: 19px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-tab-icon {
  flex-basis: 44px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 16px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .tab.active {
  background: rgba(250, 248, 244, .10) !important;
  border-color: rgba(36, 180, 126, .22) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .tab.active .ap-tab-icon {
  background: linear-gradient(180deg, #24B47E, #188D68) !important;
  color: #1B1A17 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .32),
    0 14px 28px rgba(36, 180, 126, .32),
    0 0 0 1px rgba(36, 180, 126, .30) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-foot {
  width: 56px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* UPGRADE v3.1 - collapsed command icon polish */
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger {
  width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 auto 12px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 19px !important;
  background: linear-gradient(180deg, rgba(250, 248, 244, .11), rgba(250, 248, 244, .045)) !important;
  border: 1px solid rgba(250, 248, 244, .12) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .08),
    0 10px 18px rgba(0, 0, 0, .22) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger-icon {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  color: rgba(250, 248, 244, .82) !important;
  opacity: 1 !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger:hover {
  background: linear-gradient(180deg, rgba(250, 248, 244, .18), rgba(250, 248, 244, .08)) !important;
  border-color: rgba(36, 180, 126, .32) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger:hover .ap-cmd-trigger-icon {
  color: #FAF8F4 !important;
}

/* UPGRADE v3.2 - top bar becomes a quiet action rail beside the vertical nav */
body.ap-vertical-shell .hdr {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  overflow: hidden !important;
}

body.ap-vertical-shell .hdr .logo {
  display: none !important;
}

body.ap-vertical-shell .hdr::before {
  content: "Project workspace" !important;
  margin-right: auto !important;
  min-width: 0 !important;
  color: rgba(27, 26, 23, .58) !important;
  font: 800 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.ap-vertical-shell .hdr > .ai-pill,
body.ap-vertical-shell .hdr > .api-st,
body.ap-vertical-shell .hdr > .hbtns {
  flex: 0 0 auto !important;
}

body.ap-vertical-shell .api-st {
  min-width: 184px !important;
  max-width: 230px !important;
}

body.ap-vertical-shell .hbtns {
  min-width: 0 !important;
}

body.ap-vertical-shell .hbtn {
  height: 40px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

body.ap-vertical-shell .hbtn.primary {
  min-width: 176px !important;
}

@media (max-width: 1460px) {
  body.ap-vertical-shell .hdr > .ai-pill {
    display: none !important;
  }

  body.ap-vertical-shell .api-st {
    min-width: 160px !important;
  }
}

@media (max-width: 1280px) {
  body.ap-vertical-shell .hdr::before,
  body.ap-vertical-shell .hdr > .api-st {
    display: none !important;
  }

  body.ap-vertical-shell .hbtn:not(.primary):not(#newBtn) {
    display: none !important;
  }
}

/* UPGRADE v3.3 - compact professional shell correction */
body.ap-vertical-shell {
  --ap-side-open: 246px !important;
  --ap-side-closed: 76px !important;
  --ap-side-width: var(--ap-side-open) !important;
  --ap-header-height: var(--app-header-height) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) {
  --ap-side-width: var(--ap-side-closed) !important;
}

body.ap-vertical-shell .hdr {
  left: 0 !important;
  width: 100% !important;
  margin-left: 0 !important;
  height: var(--ap-header-height) !important;
  min-height: var(--ap-header-height) !important;
  padding: 12px 28px 12px 24px !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 14px !important;
  background: rgba(250, 248, 244, .91) !important;
  border-bottom: 1px solid rgba(226, 221, 211, .78) !important;
  box-shadow: 0 10px 26px rgba(27, 26, 23, .035) !important;
}

body.ap-vertical-shell .hdr::before {
  display: none !important;
}

body.ap-vertical-shell .hdr .logo {
  display: flex !important;
  flex: 0 1 310px !important;
}

body.ap-vertical-shell .hdr .logo-ico {
  width: 38px !important;
  height: 38px !important;
  flex-basis: 38px !important;
  border-radius: 10px !important;
}

body.ap-vertical-shell .hdr .logo-name {
  font-size: 18px !important;
  line-height: 1.05 !important;
}

body.ap-vertical-shell .hdr .logo-sub {
  max-width: 280px !important;
  font-size: 9px !important;
  letter-spacing: .16em !important;
}

body.ap-vertical-shell .tabs {
  inset: calc(var(--ap-header-height) + 12px) auto 16px 14px !important;
  width: calc(var(--ap-side-width) - 28px) !important;
  padding: 10px !important;
  gap: 6px !important;
  border-radius: 22px !important;
  box-shadow:
    0 22px 46px rgba(27, 26, 23, .20),
    inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

body.ap-vertical-shell .ap-sidebar-brand {
  display: none !important;
}

body.ap-vertical-shell .body {
  margin-left: var(--ap-side-width) !important;
  padding: 22px 24px 72px !important;
}

body.ap-vertical-shell .ap-cmd-trigger {
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 0 8px !important;
  padding: 0 40px 0 11px !important;
  border-radius: 13px !important;
  background: rgba(250, 248, 244, .07) !important;
  color: rgba(250, 248, 244, .72) !important;
}

body.ap-vertical-shell .ap-cmd-trigger-icon {
  width: 16px !important;
  height: 16px !important;
}

body.ap-vertical-shell .ap-cmd-trigger-text {
  font-size: 12px !important;
}

body.ap-vertical-shell .ap-cmd-trigger-kbd {
  display: none !important;
}

body.ap-vertical-shell .ap-sidebar-section {
  margin: 10px 5px 5px !important;
}

body.ap-vertical-shell .ap-section-text {
  font-size: 8px !important;
  letter-spacing: .16em !important;
}

body.ap-vertical-shell .tab {
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 9px !important;
  gap: 10px !important;
  border-radius: 14px !important;
}

body.ap-vertical-shell .ap-tab-icon {
  flex-basis: 31px !important;
  width: 31px !important;
  height: 31px !important;
  border-radius: 11px !important;
}

body.ap-vertical-shell .ap-tab-icon svg {
  width: 17px !important;
  height: 17px !important;
}

body.ap-vertical-shell .ap-tab-label {
  font-size: 12.5px !important;
  letter-spacing: 0 !important;
}

body.ap-vertical-shell .ap-sidebar-toggle {
  top: 17px !important;
  right: 17px !important;
  width: 25px !important;
  height: 25px !important;
  min-height: 25px !important;
  border-radius: 999px !important;
  background: rgba(250, 248, 244, .12) !important;
  border: 1px solid rgba(250, 248, 244, .16) !important;
  box-shadow: none !important;
}

body.ap-vertical-shell .ap-sidebar-toggle::after {
  content: "<" !important;
  font-size: 14px !important;
  line-height: 1 !important;
  color: rgba(250, 248, 244, .78) !important;
  transform: translateY(-1px) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle::after {
  content: ">" !important;
}

body.ap-vertical-shell .ap-sidebar-toggle:hover {
  transform: translateY(-1px) scale(1.04) !important;
  background: rgba(36, 180, 126, .88) !important;
  border-color: rgba(36, 180, 126, .88) !important;
}

body.ap-vertical-shell .ap-sidebar-toggle:hover::after {
  color: #1B1A17 !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) {
  width: calc(var(--ap-side-closed) - 28px) !important;
  padding: 9px 6px !important;
  border-radius: 21px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .tab {
  width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  border-radius: 13px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger {
  margin: 28px auto 8px !important;
  padding: 0 !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger-icon {
  width: 18px !important;
  height: 18px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-tab-icon {
  flex-basis: 32px !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 11px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-section {
  margin: 10px 8px 6px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-foot {
  width: 38px !important;
  min-height: 38px !important;
  border-radius: 13px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle {
  top: 10px !important;
  right: 11px !important;
  width: 26px !important;
  height: 22px !important;
  min-height: 22px !important;
  border-radius: 10px !important;
}

body.ap-vertical-shell .hbtn,
body.ap-vertical-shell .ai-pill,
body.ap-vertical-shell .api-st,
body.ap-vertical-shell .v9-badge {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  font-size: 11.5px !important;
  box-shadow: none !important;
}

body.ap-vertical-shell .hbtn.primary {
  min-width: 158px !important;
  background: #1B1A17 !important;
  border-color: #1B1A17 !important;
  color: #FAF8F4 !important;
  box-shadow: 0 10px 22px rgba(27, 26, 23, .14) !important;
}

body.ap-vertical-shell .hbtn.primary:hover {
  background: #2B2924 !important;
  border-color: #2B2924 !important;
}

body.ap-vertical-shell .api-st {
  min-width: 190px !important;
}

@media (max-width: 1320px) {
  body.ap-vertical-shell .hdr .logo {
    flex-basis: 240px !important;
  }

  body.ap-vertical-shell .hdr .logo-sub,
  body.ap-vertical-shell .hdr > .ai-pill,
  body.ap-vertical-shell .hdr > .api-st {
    display: none !important;
  }
}

/* UPGRADE v3.4 - full-height solid rail and cleaner geometry */
body.ap-vertical-shell {
  --ap-side-open: 282px !important;
  --ap-side-closed: 86px !important;
  --ap-side-width: var(--ap-side-open) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) {
  --ap-side-width: var(--ap-side-closed) !important;
}

body.ap-vertical-shell .hdr {
  padding-left: calc(var(--ap-side-width) + 22px) !important;
  transition:
    padding-left .46s cubic-bezier(.19, 1, .22, 1),
    box-shadow .22s ease,
    background .22s ease !important;
}

body.ap-vertical-shell .hdr .logo {
  flex: 0 1 330px !important;
  transform: translateX(4px) !important;
}

body.ap-vertical-shell .hdr .logo-ico {
  box-shadow: 0 10px 22px rgba(27, 26, 23, .16) !important;
}

body.ap-vertical-shell .tabs {
  inset: 10px auto 10px 10px !important;
  width: calc(var(--ap-side-width) - 20px) !important;
  padding: 12px !important;
  border-radius: 24px !important;
  background: #171713 !important;
  border: 1px solid #2A2924 !important;
  box-shadow:
    0 24px 54px rgba(27, 26, 23, .22),
    inset 0 1px 0 #302F29 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.ap-vertical-shell .tabs::before,
body.ap-vertical-shell .tabs::after {
  display: none !important;
}

body.ap-vertical-shell .body {
  margin-left: var(--ap-side-width) !important;
  transition: margin-left .46s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .ap-cmd-trigger {
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 0 10px !important;
  padding: 0 42px 0 13px !important;
  border-radius: 15px !important;
  background: #24231F !important;
  border-color: #36342D !important;
}

body.ap-vertical-shell .tab {
  min-height: 45px !important;
  height: 45px !important;
  padding: 0 11px !important;
}

body.ap-vertical-shell .ap-tab-icon {
  flex-basis: 33px !important;
  width: 33px !important;
  height: 33px !important;
}

body.ap-vertical-shell .ap-tab-label {
  font-size: 13px !important;
}

body.ap-vertical-shell .ap-sidebar-toggle {
  top: 20px !important;
  right: 18px !important;
  width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  display: grid !important;
  place-items: center !important;
  background: #24231F !important;
  border-color: #3A382F !important;
}

body.ap-vertical-shell .ap-sidebar-toggle::after {
  content: "" !important;
  width: 13px !important;
  height: 2px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: currentColor !important;
  box-shadow:
    0 -4px 0 currentColor,
    0 4px 0 currentColor !important;
  color: rgba(250, 248, 244, .78) !important;
  opacity: .88 !important;
  transform: none !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle::after {
  transform: none !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) {
  width: calc(var(--ap-side-closed) - 20px) !important;
  padding: 12px 8px !important;
  border-radius: 24px !important;
  background: #171713 !important;
  border-color: #2A2924 !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle {
  top: 14px !important;
  right: 50% !important;
  transform: translateX(50%) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle:hover {
  transform: translateX(50%) translateY(-1px) scale(1.04) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger {
  margin: 36px auto 10px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .tab,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-foot {
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-tab-icon {
  flex-basis: 34px !important;
  width: 34px !important;
  height: 34px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-section {
  margin: 11px auto 7px !important;
  width: 38px !important;
}

/* UPGRADE v3.5 - button-only correction */
body.ap-vertical-shell .ap-sidebar-toggle {
  display: grid !important;
  place-items: center !important;
}

body.ap-vertical-shell .ap-sidebar-toggle::before {
  content: "" !important;
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  border: 1.7px solid currentColor !important;
  border-radius: 4px !important;
  opacity: .92 !important;
}

body.ap-vertical-shell .ap-sidebar-toggle::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 1.7px !important;
  height: 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: currentColor !important;
  box-shadow: none !important;
  opacity: .92 !important;
  transform: translate(-3px, -50%) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle::after {
  transform: translate(2px, -50%) !important;
}

/* UPGRADE v3.6 - collapsed rail alignment only */
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle {
  display: none !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) {
  width: 66px !important;
  padding: 14px 12px !important;
  align-items: center !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger {
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 auto 12px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .tab {
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-tab-icon {
  margin: 0 !important;
}

/* UPGRADE v3.7 - workspace label, account footer, exact collapsed centering */
body.ap-vertical-shell .ap-workspace-label {
  margin: 4px 4px 8px !important;
  padding: 0 2px !important;
  color: rgba(250, 248, 244, .40) !important;
  font: 850 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

body.ap-vertical-shell .ap-sidebar-foot {
  order: 9999 !important;
  position: static !important;
  bottom: auto !important;
  z-index: 3 !important;
  min-height: 56px !important;
  margin-top: 12px !important;
  padding: 8px !important;
  gap: 10px !important;
  border-radius: 16px !important;
  background: #24231F !important;
  border: 1px solid #36342D !important;
  box-shadow: none !important;
}

body.ap-vertical-shell .ap-account-avatar {
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #2DBE9F !important;
  color: #10231F !important;
  font: 850 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: 0 !important;
}

body.ap-vertical-shell .ap-account-copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  line-height: 1 !important;
}

body.ap-vertical-shell .ap-account-name {
  color: #FAF8F4 !important;
  font: 800 12px/1 'DM Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.ap-vertical-shell .ap-account-plan {
  color: rgba(250, 248, 244, .46) !important;
  font: 700 10px/1 'DM Sans', system-ui, sans-serif !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) {
  box-sizing: border-box !important;
  width: 66px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  align-items: center !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-workspace-label,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-account-copy,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger-text,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger-kbd {
  display: none !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .tab,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-foot {
  box-sizing: border-box !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  display: grid !important;
  place-items: center !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-foot {
  margin-top: 12px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger-icon,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-tab-icon {
  flex: none !important;
  margin: 0 !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger-icon {
  grid-area: 1 / 1 !important;
  justify-self: center !important;
  align-self: center !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .tab::before,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-tab-glow {
  display: none !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-account-avatar {
  width: 32px !important;
  height: 32px !important;
  flex-basis: 32px !important;
}

/* UPGRADE v3.8 - account pinned to the real bottom without covering nav items */
body.ap-vertical-shell .tabs {
  padding-bottom: 88px !important;
}

body.ap-vertical-shell .ap-sidebar-foot {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  z-index: 6 !important;
  margin: 0 !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) {
  padding-bottom: 74px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-foot {
  left: 50% !important;
  right: auto !important;
  bottom: 12px !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
}

/* UPGRADE v3.9 - nav scroll area above a true bottom account block */
body.ap-vertical-shell .tabs {
  overflow: hidden !important;
  padding-bottom: 12px !important;
}

body.ap-vertical-shell .ap-sidebar-nav {
  min-height: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 0 4px !important;
  scrollbar-width: none !important;
}

body.ap-vertical-shell .ap-sidebar-nav::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
}

body.ap-vertical-shell .ap-sidebar-foot {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  flex: 0 0 auto !important;
  margin-top: 12px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) {
  padding-bottom: 12px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-nav {
  align-items: center !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-foot {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 12px 0 0 !important;
}

/* UPGRADE v4.0 - smaller sidebar type and standalone settings button */
body.ap-vertical-shell .ap-cmd-trigger-text {
  font-size: 11.5px !important;
}

body.ap-vertical-shell .ap-workspace-label {
  font-size: 9px !important;
  letter-spacing: .17em !important;
}

body.ap-vertical-shell .ap-section-text {
  font-size: 7.5px !important;
  letter-spacing: .15em !important;
}

body.ap-vertical-shell .ap-tab-label {
  font-size: 11.75px !important;
  font-weight: 740 !important;
}

body.ap-vertical-shell .ap-account-name {
  font-size: 11.25px !important;
}

body.ap-vertical-shell .ap-account-plan {
  font-size: 9.5px !important;
}

body.ap-vertical-shell .ap-settings-shortcut {
  flex: 0 0 42px !important;
  min-height: 42px !important;
  height: 42px !important;
  margin: 0 0 12px !important;
  padding: 0 12px !important;
  border-radius: 14px !important;
  background: #24231F !important;
  border: 1px solid #3B392F !important;
  box-shadow: inset 0 1px 0 rgba(250, 248, 244, .055) !important;
}

body.ap-vertical-shell .ap-settings-shortcut:hover,
body.ap-vertical-shell .ap-settings-shortcut.active {
  background: #2B2924 !important;
  border-color: #4B4638 !important;
}

body.ap-vertical-shell .ap-settings-shortcut .ap-tab-icon {
  background: #FAF8F4 !important;
  color: #1B1A17 !important;
  box-shadow: none !important;
}

body.ap-vertical-shell .ap-settings-shortcut .ap-tab-label {
  color: #FAF8F4 !important;
  font-weight: 790 !important;
}

body.ap-vertical-shell .ap-settings-shortcut .ap-tab-glow,
body.ap-vertical-shell .ap-settings-shortcut::before {
  display: none !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-settings-shortcut {
  box-sizing: border-box !important;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-settings-shortcut .ap-tab-label {
  display: none !important;
}

/* UPGRADE v4.1 - corrected brand lockup to match reference board */
body.ap-vertical-shell .hdr .logo,
.hdr .logo {
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: 48px auto !important;
  align-items: center !important;
  column-gap: 12px !important;
  min-width: 286px !important;
  transform: none !important;
}

body.ap-vertical-shell .hdr .logo-ico,
.hdr .logo-ico {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: url('../logo.png') !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: none !important;
  border: 0 !important;
  overflow: visible !important;
  font-size: 0 !important;
}

body.ap-vertical-shell .hdr .logo-ico::before,
.hdr .logo-ico::before {
  display: none !important;
  content: "" !important;
}

body.ap-vertical-shell .hdr .logo-name,
.hdr .logo-name {
  font-family: 'Cairo', 'Tajawal', 'DM Sans', system-ui, sans-serif !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  line-height: .88 !important;
  letter-spacing: .012em !important;
  text-transform: uppercase !important;
  color: #0D1B2A !important;
  white-space: normal !important;
}

body.ap-vertical-shell .hdr .logo-sub,
.hdr .logo-sub {
  width: max-content !important;
  margin-top: 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  color: #5F676D !important;
  font-family: 'Cairo', 'Tajawal', 'DM Sans', system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .28em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.ap-vertical-shell .hdr .logo-sub::before,
body.ap-vertical-shell .hdr .logo-sub::after,
.hdr .logo-sub::before,
.hdr .logo-sub::after {
  content: "" !important;
  display: block !important;
  width: 34px !important;
  height: 1.5px !important;
  border-radius: 999px !important;
  background: #C79A4A !important;
  flex: 0 0 34px !important;
}

@media (max-width: 1320px) {
  body.ap-vertical-shell .hdr .logo,
  .hdr .logo {
    min-width: 236px !important;
    grid-template-columns: 44px auto !important;
    column-gap: 10px !important;
  }

  body.ap-vertical-shell .hdr .logo-ico,
  .hdr .logo-ico {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
  }

  body.ap-vertical-shell .hdr .logo-name,
  .hdr .logo-name {
    font-size: 20px !important;
  }
}

/* UPGRADE v4.2 - tighter centered brand mark */
body.ap-vertical-shell .hdr .logo,
.hdr .logo {
  grid-template-columns: 62px auto !important;
  column-gap: 10px !important;
  min-width: 292px !important;
  align-items: center !important;
}

body.ap-vertical-shell .hdr .logo-ico,
.hdr .logo-ico {
  width: 62px !important;
  height: 62px !important;
  flex-basis: 62px !important;
  align-self: center !important;
}

body.ap-vertical-shell .hdr .logo > div:last-child,
.hdr .logo > div:last-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
}

body.ap-vertical-shell .hdr .logo-name,
.hdr .logo-name {
  font-size: 19px !important;
  line-height: .92 !important;
  letter-spacing: .018em !important;
  text-align: center !important;
}

body.ap-vertical-shell .hdr .logo-sub,
.hdr .logo-sub {
  margin-top: 6px !important;
  gap: 7px !important;
  font-size: 8.5px !important;
  letter-spacing: .24em !important;
  justify-content: center !important;
  align-self: center !important;
}

body.ap-vertical-shell .hdr .logo-sub::before,
body.ap-vertical-shell .hdr .logo-sub::after,
.hdr .logo-sub::before,
.hdr .logo-sub::after {
  width: 28px !important;
  flex-basis: 28px !important;
}

@media (max-width: 1320px) {
  body.ap-vertical-shell .hdr .logo,
  .hdr .logo {
    min-width: 260px !important;
    grid-template-columns: 56px auto !important;
  }

  body.ap-vertical-shell .hdr .logo-ico,
  .hdr .logo-ico {
    width: 56px !important;
    height: 56px !important;
    flex-basis: 56px !important;
  }

  body.ap-vertical-shell .hdr .logo-name,
  .hdr .logo-name {
    font-size: 17.5px !important;
  }
}

/* UPGRADE v4.3 - compact wordmark: larger symbol, smaller centered type */
body.ap-vertical-shell .hdr .logo,
.hdr .logo {
  grid-template-columns: 72px auto !important;
  column-gap: 4px !important;
  min-width: 272px !important;
}

body.ap-vertical-shell .hdr .logo-ico,
.hdr .logo-ico {
  width: 72px !important;
  height: 72px !important;
  flex-basis: 72px !important;
  background-size: 78px 78px !important;
}

body.ap-vertical-shell .hdr .logo-name,
.hdr .logo-name {
  font-size: 17px !important;
  line-height: .9 !important;
  letter-spacing: .01em !important;
}

body.ap-vertical-shell .hdr .logo-sub,
.hdr .logo-sub {
  margin-top: 5px !important;
  gap: 6px !important;
  font-size: 7.5px !important;
  letter-spacing: .23em !important;
}

body.ap-vertical-shell .hdr .logo-sub::before,
body.ap-vertical-shell .hdr .logo-sub::after,
.hdr .logo-sub::before,
.hdr .logo-sub::after {
  width: 24px !important;
  flex-basis: 24px !important;
}

@media (max-width: 1320px) {
  body.ap-vertical-shell .hdr .logo,
  .hdr .logo {
    min-width: 238px !important;
    grid-template-columns: 64px auto !important;
  }

  body.ap-vertical-shell .hdr .logo-ico,
  .hdr .logo-ico {
    width: 64px !important;
    height: 64px !important;
    flex-basis: 64px !important;
    background-size: 70px 70px !important;
  }

  body.ap-vertical-shell .hdr .logo-name,
  .hdr .logo-name {
    font-size: 15.5px !important;
  }
}

/* UPGRADE v4.4 - smaller reference-matched header lockup */
body.ap-vertical-shell .hdr .logo,
.hdr .logo {
  grid-template-columns: 54px auto !important;
  column-gap: 7px !important;
  min-width: 252px !important;
  align-items: center !important;
}

body.ap-vertical-shell .hdr .logo-ico,
.hdr .logo-ico {
  width: 54px !important;
  height: 54px !important;
  flex-basis: 54px !important;
  background-size: 58px 58px !important;
}

body.ap-vertical-shell .hdr .logo > div:last-child,
.hdr .logo > div:last-child {
  align-items: flex-start !important;
  transform: translateY(1px) !important;
}

body.ap-vertical-shell .hdr .logo-name,
.hdr .logo-name {
  font-size: 15.5px !important;
  line-height: .86 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

body.ap-vertical-shell .hdr .logo-sub,
.hdr .logo-sub {
  margin-top: 4px !important;
  margin-left: 0 !important;
  gap: 4px !important;
  font-family: 'Cairo', 'Tajawal', 'Inter', system-ui, sans-serif !important;
  font-size: 6.4px !important;
  font-weight: 700 !important;
  letter-spacing: .105em !important;
  color: #B98632 !important;
  line-height: 1 !important;
  justify-content: flex-start !important;
  align-self: flex-start !important;
  transform: translateY(-1px) !important;
}

body.ap-vertical-shell .hdr .logo-sub::before,
body.ap-vertical-shell .hdr .logo-sub::after,
.hdr .logo-sub::before,
.hdr .logo-sub::after {
  width: 19px !important;
  flex-basis: 19px !important;
  height: 1px !important;
  background: #B98632 !important;
}

@media (max-width: 1320px) {
  body.ap-vertical-shell .hdr .logo,
  .hdr .logo {
    min-width: 226px !important;
    grid-template-columns: 50px auto !important;
  }

  body.ap-vertical-shell .hdr .logo-ico,
  .hdr .logo-ico {
    width: 50px !important;
    height: 50px !important;
    flex-basis: 50px !important;
    background-size: 54px 54px !important;
  }

  body.ap-vertical-shell .hdr .logo-name,
  .hdr .logo-name {
    font-size: 14.5px !important;
  }

  body.ap-vertical-shell .hdr .logo-sub,
  .hdr .logo-sub {
    font-size: 6px !important;
  }
}

/* UPGRADE v4.5 - smoother raster logo rendering */
body.ap-vertical-shell .hdr .logo-ico,
.hdr .logo-ico {
  background-size: contain !important;
  image-rendering: auto !important;
  -ms-interpolation-mode: bicubic !important;
}

/* UPGRADE v4.6 - compact sidebar brand mark */
body.ap-vertical-shell .ap-sidebar-brand {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 52px !important;
  padding: 3px 6px 12px !important;
  margin-bottom: 8px !important;
}

body.ap-vertical-shell .ap-sidebar-mark {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.ap-vertical-shell .ap-sidebar-logo {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

body.ap-vertical-shell .ap-sidebar-name {
  color: #FAF8F4 !important;
  font: 850 13px/.95 'Cairo', 'Tajawal', 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: 0 !important;
}

body.ap-vertical-shell .ap-sidebar-sub {
  margin-top: 4px !important;
  color: rgba(250, 248, 244, .42) !important;
  font: 750 7.5px/1 'Cairo', 'Tajawal', 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-brand {
  display: flex !important;
  justify-content: center !important;
  width: 42px !important;
  min-height: 42px !important;
  height: 42px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-mark,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-logo {
  width: 38px !important;
  height: 38px !important;
  flex-basis: 38px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-copy {
  display: none !important;
}

/* UPGRADE v4.7 - brand handoff between header and sidebar */
body.ap-vertical-shell .hdr .logo {
  opacity: 1 !important;
  transform: translateX(0) scale(1) !important;
  transform-origin: left center !important;
  filter: none !important;
  max-width: 280px !important;
  overflow: hidden !important;
  transition:
    opacity .24s ease,
    transform .42s cubic-bezier(.19, 1, .22, 1),
    filter .24s ease,
    max-width .42s cubic-bezier(.19, 1, .22, 1),
    min-width .42s cubic-bezier(.19, 1, .22, 1),
    width .42s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .hdr:not(.ap-nav-collapsed) .logo,
body.ap-vertical-shell .hdr.ap-nav-peek .logo {
  opacity: 0 !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  transform: translateX(-18px) scale(.94) !important;
  filter: blur(1.5px) !important;
  pointer-events: none !important;
}

body.ap-vertical-shell .hdr.ap-nav-collapsed:not(.ap-nav-peek) .logo {
  opacity: 1 !important;
  width: auto !important;
  max-width: 280px !important;
  transform: translateX(0) scale(1) !important;
  filter: none !important;
  pointer-events: auto !important;
}

body.ap-vertical-shell .ap-sidebar-brand {
  transform-origin: left center !important;
  transition:
    opacity .28s ease,
    transform .46s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .ap-sidebar-logo,
body.ap-vertical-shell .ap-sidebar-copy,
body.ap-vertical-shell .ap-sidebar-name,
body.ap-vertical-shell .ap-sidebar-sub {
  transition:
    opacity .28s ease,
    transform .46s cubic-bezier(.19, 1, .22, 1) !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-sidebar-brand,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-sidebar-brand {
  opacity: 1 !important;
  transform: translateX(0) scale(1) !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-sidebar-logo,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-sidebar-logo {
  opacity: 1 !important;
  transform: scale(1) rotate(0deg) !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-sidebar-copy,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-sidebar-copy {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-brand {
  opacity: 1 !important;
  transform: translateX(0) scale(1) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-logo {
  opacity: 1 !important;
  transform: scale(.94) !important;
}

/* UPGRADE v4.8 - avoid duplicated brand marks when the rail is collapsed */
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-brand {
  opacity: 0 !important;
  width: 44px !important;
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  transform: translateY(-8px) scale(.9) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle {
  order: -1 !important;
  margin: 2px auto 12px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-cmd-trigger {
  margin-top: 0 !important;
}

/* UPGRADE v4.9 - collapsed rail keeps the brand mark, header keeps only the wordmark */
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-brand {
  opacity: 1 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 44px !important;
  min-height: 44px !important;
  height: 44px !important;
  margin: 0 auto 14px !important;
  padding: 0 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-mark,
body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-logo {
  width: 40px !important;
  height: 40px !important;
  flex-basis: 40px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-toggle {
  display: none !important;
}

body.ap-vertical-shell .hdr.ap-nav-collapsed:not(.ap-nav-peek) .logo {
  grid-template-columns: auto !important;
  column-gap: 0 !important;
  min-width: 190px !important;
  max-width: 216px !important;
}

body.ap-vertical-shell .hdr.ap-nav-collapsed:not(.ap-nav-peek) .logo-ico {
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  flex-basis: 0 !important;
  transform: scale(.82) !important;
  pointer-events: none !important;
}

body.ap-vertical-shell .hdr.ap-nav-collapsed:not(.ap-nav-peek) .logo > div:last-child {
  transform: translateY(0) !important;
}

/* UPGRADE v4.10 - collapsed rail uses a dark app mark while the header keeps the full logo */
body.ap-vertical-shell .hdr.ap-nav-collapsed:not(.ap-nav-peek) .logo {
  grid-template-columns: 54px auto !important;
  column-gap: 7px !important;
  min-width: 252px !important;
  max-width: 280px !important;
}

body.ap-vertical-shell .hdr.ap-nav-collapsed:not(.ap-nav-peek) .logo-ico {
  opacity: 1 !important;
  width: 54px !important;
  height: 54px !important;
  flex-basis: 54px !important;
  transform: none !important;
  pointer-events: auto !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-brand {
  margin: 0 auto 16px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-mark {
  position: relative !important;
  width: 44px !important;
  height: 44px !important;
  flex-basis: 44px !important;
  border-radius: 14px !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02)),
    #12130F !important;
  border: 1px solid rgba(201, 151, 62, .42) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .12),
    0 10px 22px rgba(0, 0, 0, .32) !important;
  overflow: hidden !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-mark::after {
  content: "" !important;
  position: absolute !important;
  inset: 7px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(201, 151, 62, .36) !important;
  pointer-events: none !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-logo {
  content: url('../logo-dark-mark.png') !important;
  position: relative !important;
  z-index: 1 !important;
  width: 36px !important;
  height: 36px !important;
  margin: 4px !important;
  object-fit: contain !important;
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1) !important;
}

@media (max-width: 1320px) {
  body.ap-vertical-shell .hdr.ap-nav-collapsed:not(.ap-nav-peek) .logo {
    min-width: 226px !important;
    grid-template-columns: 50px auto !important;
  }

  body.ap-vertical-shell .hdr.ap-nav-collapsed:not(.ap-nav-peek) .logo-ico {
    width: 50px !important;
    height: 50px !important;
    flex-basis: 50px !important;
  }
}

/* UPGRADE v4.11 - settings as a compact top action beside the sidebar control */
body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut {
  position: absolute !important;
  top: 20px !important;
  right: 52px !important;
  z-index: 7 !important;
  box-sizing: border-box !important;
  width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  max-width: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 9px !important;
  background: #24231F !important;
  border: 1px solid #3A382F !important;
  color: rgba(250, 248, 244, .82) !important;
  box-shadow: inset 0 1px 0 rgba(250, 248, 244, .08) !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut:hover,
body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut.active,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut:hover,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut.active {
  background: #2D2B25 !important;
  border-color: rgba(201, 151, 62, .46) !important;
  color: #FAF8F4 !important;
  transform: translateY(-1px) !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut .ap-tab-icon,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut .ap-tab-icon {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: currentColor !important;
  box-shadow: none !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut .ap-tab-icon svg,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut .ap-tab-icon svg {
  width: 16px !important;
  height: 16px !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut .ap-tab-label,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut .ap-tab-label {
  display: none !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-settings-shortcut {
  position: static !important;
}

/* UPGRADE v4.12 - cleaner top settings action and no collapsed settings icon */
body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-sidebar-brand,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-sidebar-brand {
  padding-right: 74px !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-sidebar-sub,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-sidebar-sub {
  max-width: 112px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-sidebar-toggle,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-sidebar-toggle {
  top: 29px !important;
  right: 18px !important;
  width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  border-radius: 10px !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut {
  top: 29px !important;
  right: 52px !important;
  width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  max-width: 28px !important;
  border-radius: 10px !important;
  background: #23221E !important;
  border-color: #3A382F !important;
  box-shadow: inset 0 1px 0 rgba(250, 248, 244, .07) !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut.active {
  border-color: rgba(201, 151, 62, .36) !important;
  box-shadow:
    inset 0 1px 0 rgba(250, 248, 244, .08),
    0 0 0 1px rgba(201, 151, 62, .12) !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut .ap-tab-icon,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut .ap-tab-icon {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  flex-basis: 18px !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-settings-shortcut {
  display: none !important;
}

/* UPGRADE v4.13 - center header action icons and clarify the sidebar control */
body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut,
body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-sidebar-toggle,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-sidebar-toggle {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  max-width: 30px !important;
  max-height: 30px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 10px !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut {
  right: 54px !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-sidebar-toggle,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-sidebar-toggle {
  right: 18px !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut .ap-tab-icon,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut .ap-tab-icon {
  display: grid !important;
  place-items: center !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  flex: 0 0 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  line-height: 1 !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut .ap-tab-icon svg,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut .ap-tab-icon svg {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  transform: none !important;
  stroke-width: 2 !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-sidebar-toggle {
  color: rgba(250, 248, 244, .88) !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-sidebar-toggle::before,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-sidebar-toggle::before {
  content: "" !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  border: 2px solid currentColor !important;
  border-radius: 5px !important;
  opacity: .95 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-sidebar-toggle::after,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-sidebar-toggle::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 2px !important;
  height: 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: currentColor !important;
  box-shadow: none !important;
  opacity: .95 !important;
  transform: translate(-3px, -50%) !important;
}

/* ════════════════════════════════════════════════════════════════════════
   SETTINGS — Redesigned 3-Pane Layout (v3.0)
   ════════════════════════════════════════════════════════════════════════ */

#tp-settings.tp { padding: 0 !important; }

#tp-settings .dsett-shell {
  display: grid;
  grid-template-columns: 280px 1fr 290px;
  gap: 20px;
  align-items: start;
  direction: ltr;
}

@media (max-width: 1400px) {
  #tp-settings .dsett-shell { grid-template-columns: 260px 1fr; }
  #tp-settings .dsett-right { display: none; }
}
@media (max-width: 1080px) {
  #tp-settings .dsett-shell { grid-template-columns: 1fr; }
  #tp-settings .dsett-aside { position: static; }
}

/* ─── LEFT SIDEBAR ──────────────────────────────────────────────────── */
#tp-settings .dsett-aside {
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(232, 236, 239, .94);
  border-radius: 16px;
  padding: 16px 12px;
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: 0 4px 16px rgba(15, 27, 46, .06);
}

#tp-settings .dsett-aside-title {
  font-size: 12px;
  font-weight: 800;
  color: rgba(27, 26, 23, .85);
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 8px 12px 12px;
  border-bottom: 1px solid rgba(232, 236, 239, .94);
  margin-bottom: 6px;
}

#tp-settings .dsett-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

#tp-settings .dsett-nav-btn {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 10px 11px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-family: 'DM Sans', system-ui, sans-serif;
  color: #1B1A17;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
  width: 100%;
}

#tp-settings .dsett-nav-btn:hover { background: rgba(232, 236, 239, .70); }
#tp-settings .dsett-nav-btn.is-active {
  background: rgba(36, 180, 126, .10);
  border-color: rgba(36, 180, 126, .26);
}

#tp-settings .dsett-nav-ico {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, .65);
  border: 1px solid rgba(232, 236, 239, .94);
  color: rgba(36, 180, 126, .80);
  margin-top: 1px;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}

#tp-settings .dsett-nav-btn.is-active .dsett-nav-ico {
  background: #24B47E;
  border-color: #24B47E;
  color: rgba(255, 255, 255, .92);
}

#tp-settings .dsett-nav-ico svg { width: 16px; height: 16px; }

#tp-settings .dsett-nav-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  flex: 1;
}

#tp-settings .dsett-nav-title {
  font-size: 13px;
  font-weight: 750;
  color: #1B1A17;
  letter-spacing: -.005em;
}

#tp-settings .dsett-nav-sub {
  font-size: 11px;
  color: rgba(27, 26, 23, .68);
  line-height: 1.4;
}

#tp-settings .dsett-nav-btn.is-active .dsett-nav-title {
  color: #188D68;
  font-weight: 800;
}

#tp-settings .dsett-aside-foot {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 10px;
  padding: 12px;
  background: rgba(232, 236, 239, .70);
  border: 1px dashed rgba(232, 236, 239, .94);
  border-radius: 11px;
}

#tp-settings .dsett-aside-foot svg {
  width: 16px;
  height: 16px;
  color: rgba(36, 180, 126, .72);
  flex-shrink: 0;
  margin-top: 2px;
}

#tp-settings .dsett-aside-foot div { display: flex; flex-direction: column; gap: 2px; }
#tp-settings .dsett-aside-foot b { font-size: 12px; color: #1B1A17; }
#tp-settings .dsett-aside-foot span { font-size: 11px; color: rgba(27, 26, 23, .72); line-height: 1.4; }

/* ─── MAIN CONTENT ──────────────────────────────────────────────────── */
#tp-settings .dsett-main {
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(232, 236, 239, .94);
  border-radius: 16px;
  padding: 28px 30px;
  box-shadow: 0 18px 36px rgba(15, 27, 46, .08);
  min-height: 500px;
}

#tp-settings .dsett-sect { display: none; }
#tp-settings .dsett-sect.is-active {
  display: block;
  animation: dsettSectFade .35s cubic-bezier(.19, 1, .22, 1);
}

@keyframes dsettSectFade {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

#tp-settings .dsett-sect-hdr {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}

#tp-settings .dsett-sect-icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: rgba(36, 180, 126, .10);
  border: 1px solid rgba(36, 180, 126, .24);
  color: #188D68;
}

#tp-settings .dsett-sect-icon svg { width: 18px; height: 18px; }

#tp-settings .dsett-sect-title {
  font-size: 19px;
  font-weight: 800;
  color: #1B1A17;
  margin: 0;
  letter-spacing: -.01em;
}

#tp-settings .dsett-sect-desc {
  font-size: 13px;
  color: rgba(27, 26, 23, .85);
  margin: 4px 0 0;
  line-height: 1.5;
}

/* ─── Form fields ───────────────────────────────────────────────────── */
#tp-settings .dsett-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 22px;
  margin-bottom: 22px;
}

#tp-settings .dsett-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#tp-settings .dsett-field--full { grid-column: 1 / -1; }

#tp-settings .dsett-lbl {
  font-size: 12.5px;
  font-weight: 700;
  color: rgba(27, 26, 23, .85);
}

#tp-settings .dsett-optional {
  font-weight: 500;
  color: rgba(27, 26, 23, .60);
  font-size: 11.5px;
}

#tp-settings .dsett-inp,
#tp-settings .dsett-textarea {
  width: 100% !important;
  min-height: 44px !important;
  padding: 11px 14px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  background: rgba(245, 247, 250, .92) !important;
  border: 1px solid rgba(232, 236, 239, .94) !important;
  border-radius: 10px !important;
  color: #1B1A17 !important;
  box-shadow: none !important;
  transition: border-color .18s, box-shadow .18s, background .18s !important;
}

#tp-settings .dsett-inp:focus,
#tp-settings .dsett-textarea:focus {
  outline: none !important;
  background: rgba(255, 255, 255, .92) !important;
  border-color: rgba(36, 180, 126, .55) !important;
  box-shadow: 0 0 0 4px rgba(36, 180, 126, .10) !important;
}

#tp-settings .dsett-textarea {
  min-height: 96px !important;
  resize: vertical;
  line-height: 1.55;
}

#tp-settings .dsett-inp::placeholder,
#tp-settings .dsett-textarea::placeholder {
  color: rgba(27, 26, 23, .50) !important;
}

#tp-settings .dsett-inp:disabled {
  background: rgba(232, 236, 239, .70) !important;
  color: rgba(27, 26, 23, .60) !important;
  cursor: not-allowed;
}

#tp-settings .dsett-hint {
  font-size: 11.5px;
  color: rgba(27, 26, 23, .68);
  line-height: 1.4;
}

/* Password input with eye toggle */
#tp-settings .dsett-input-wrap { position: relative; }
#tp-settings .dsett-input-wrap .dsett-inp { padding-right: 44px !important; }

#tp-settings .dsett-eye-btn {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border: none;
  background: transparent;
  border-radius: 7px;
  color: rgba(27, 26, 23, .58);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background .14s, color .14s;
}

#tp-settings .dsett-eye-btn:hover {
  background: rgba(36, 180, 126, .08);
  color: #188D68;
}

#tp-settings .dsett-eye-btn.is-on { color: #24B47E; }
#tp-settings .dsett-eye-btn svg { width: 16px; height: 16px; }

/* Banner (Secure by design) */
#tp-settings .dsett-banner {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: rgba(36, 180, 126, .08);
  border: 1px solid rgba(36, 180, 126, .22);
  border-radius: 12px;
}

#tp-settings .dsett-banner-icon {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #24B47E;
  color: rgba(255, 255, 255, .92);
}

#tp-settings .dsett-banner-icon svg { width: 18px; height: 18px; }
#tp-settings .dsett-banner div:last-child { display: flex; flex-direction: column; gap: 3px; }
#tp-settings .dsett-banner b { font-size: 13.5px; font-weight: 800; color: #1B1A17; }
#tp-settings .dsett-banner span { font-size: 12px; color: rgba(27, 26, 23, .85); line-height: 1.5; }

/* Toggle switch (Validation Rules / Advanced) */
#tp-settings .dsett-toggle {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(232, 236, 239, .94);
  border-radius: 11px;
  background: rgba(255, 255, 255, .92);
  cursor: pointer;
  grid-column: 1 / -1;
  transition: border-color .15s, background .15s;
}

#tp-settings .dsett-toggle:hover {
  border-color: rgba(232, 236, 239, .94);
  background: rgba(232, 236, 239, .70);
}

#tp-settings .dsett-toggle input { display: none; }

#tp-settings .dsett-toggle-slider {
  flex: 0 0 38px;
  width: 38px;
  height: 22px;
  border-radius: 999px;
  background: rgba(200, 200, 200, .60);
  position: relative;
  margin-top: 2px;
  transition: background .18s;
}

#tp-settings .dsett-toggle-slider::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
  transition: transform .2s cubic-bezier(.19, 1, .22, 1);
}

#tp-settings .dsett-toggle input:checked + .dsett-toggle-slider { background: #24B47E; }
#tp-settings .dsett-toggle input:checked + .dsett-toggle-slider::after { transform: translateX(16px); }

#tp-settings .dsett-toggle b { font-size: 13px; color: #1B1A17; }
#tp-settings .dsett-toggle small { font-size: 11.5px; color: rgba(27, 26, 23, .72); line-height: 1.5; }

/* ── Sidebar performance: zero-cost toggle ────────────────────────────────
   ROOT CAUSE of lag: --ap-side-width was changed on <body> when toggling.
   Custom properties INHERIT, so that one change forced Chrome to re-resolve
   styles for every one of the ~46k descendants (the whole Gantt) → ~500ms.

   FIX:
   1. The --ap-side-width override now lives on .tabs only (see rules above),
      so only the ~50 sidebar elements recalc — the Gantt is untouched.
   2. .hdr and .body never read the changing variable. They use the STATIC
      --ap-side-open / --ap-side-closed and a class-driven transform, so the
      content position is decided by a 2-element class match, not a 46k
      custom-property cascade. margin-left/width stay static (no reflow);
      only a GPU transform moves them. ──────────────────────────────────── */

body.ap-vertical-shell .hdr {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  /* No transform — a permanent transform creates a compositing layer and can
     interfere with the Gantt's own layers/scroll. Plain margin-left only. */
  margin-left: var(--ap-side-open) !important;
  width: calc(100% - var(--ap-side-open)) !important;
  transform: none !important;
  transition: none !important;
}

body.ap-vertical-shell .body {
  /* IMPORTANT: .body holds the ~46k Gantt nodes. It must NOT carry a permanent
     `transform` — a transform turns it into one giant composited/rastered layer
     and makes scrolling + every interaction with the Gantt heavy. Position it
     with margin-left instead (plain layout, no layer). It only changes on a
     toggle (one reflow, snap) — never during scroll. */
  margin-left: var(--ap-side-open) !important;
  width: calc(100% - var(--ap-side-open)) !important;
  transform: none !important;
  transition: none !important;
}

/* Collapsed (not peeking): shift .hdr/.body back to the closed position.
   The collapse class lives on .hdr and .body THEMSELVES (not on <body>), so a
   toggle invalidates only those elements — never the ~46k Gantt via the big
   .ap-nav-collapsed selector set. .body uses a distinct class (ap-body-closed)
   for the same reason and shifts via margin-left (no layer). */
body.ap-vertical-shell .hdr.ap-nav-collapsed:not(.ap-nav-peek) {
  margin-left: var(--ap-side-closed) !important;
  width: calc(100% - var(--ap-side-closed)) !important;
  padding-left: calc(var(--ap-side-closed) + 22px) !important;
}

body.ap-vertical-shell .body.ap-body-closed {
  margin-left: var(--ap-side-closed) !important;
  width: calc(100% - var(--ap-side-closed)) !important;
}

/* Actions row */
#tp-settings .dsett-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 22px;
}

#tp-settings .dsett-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 10px !important;
  border: 1px solid rgba(232, 236, 239, .94) !important;
  background: rgba(255, 255, 255, .92) !important;
  color: #1B1A17 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  cursor: pointer;
  transition: all .14s ease !important;
  box-shadow: none !important;
  letter-spacing: 0 !important;
}

#tp-settings .dsett-btn:hover {
  background: rgba(232, 236, 239, .70) !important;
  border-color: rgba(180, 185, 190, .70) !important;
  transform: translateY(-1px);
}

#tp-settings .dsett-btn svg { width: 15px; height: 15px; }

#tp-settings .dsett-btn--primary {
  background: #1B1A17 !important;
  border-color: #1B1A17 !important;
  color: rgba(255, 255, 255, .92) !important;
}

#tp-settings .dsett-btn--primary:hover {
  background: #2B2A26 !important;
  border-color: #2B2A26 !important;
}

#tp-settings .dsett-btn--danger {
  background: rgba(184, 105, 62, .10) !important;
  border-color: rgba(184, 105, 62, .32) !important;
  color: #8B3A1F !important;
}

#tp-settings .dsett-btn--danger:hover {
  background: rgba(184, 105, 62, .18) !important;
  border-color: #8B3A1F !important;
}

#tp-settings .dsett-btn--ghost {
  background: transparent !important;
  border-color: rgba(232, 236, 239, .94) !important;
  color: rgba(27, 26, 23, .85) !important;
  font-size: 12px !important;
  min-height: 36px;
}

/* Empty state */
#tp-settings .dsett-empty-state {
  padding: 36px 32px;
  text-align: center;
  background: rgba(255, 255, 255, .92);
  border: 1px dashed rgba(232, 236, 239, .94);
  border-radius: 12px;
  color: rgba(27, 26, 23, .85);
  font-size: 13px;
  line-height: 1.65;
}

#tp-settings .dsett-empty-state .dsett-btn { margin-top: 14px; }

/* Connection Test History */
#tp-settings .dsett-history {
  margin-top: 8px;
  padding: 18px 20px;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(232, 236, 239, .94);
  border-radius: 12px;
}

#tp-settings .dsett-history-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

#tp-settings .dsett-history-hdr h3 {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 800;
  color: #1B1A17;
  margin: 0;
}

#tp-settings .dsett-history-hdr h3 svg {
  width: 16px;
  height: 16px;
  color: rgba(36, 180, 126, .72);
}

#tp-settings .dsett-history-sub {
  font-size: 12px;
  color: rgba(27, 26, 23, .68);
  margin: 0 0 12px;
}

#tp-settings .dsett-history-table {
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(232, 236, 239, .94);
  border-radius: 10px;
  overflow: hidden;
}

#tp-settings .dsett-history-thead {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.4fr 0.9fr;
  gap: 12px;
  padding: 9px 16px;
  background: rgba(232, 236, 239, .70);
  font-size: 10.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(27, 26, 23, .85);
}

#tp-settings .dsett-history-empty {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 30px 24px;
  justify-content: center;
}

#tp-settings .dsett-empty-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: rgba(36, 180, 126, .10);
  display: grid;
  place-items: center;
  color: rgba(36, 180, 126, .72);
}

#tp-settings .dsett-empty-icon svg { width: 22px; height: 22px; }

#tp-settings .dsett-history-empty b {
  font-size: 13px;
  color: #1B1A17;
  display: block;
  margin-bottom: 2px;
}

#tp-settings .dsett-history-empty span {
  font-size: 11.5px;
  color: rgba(27, 26, 23, .72);
}

/* ─── RIGHT SIDEBAR ─────────────────────────────────────────────────── */
#tp-settings .dsett-right {
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: sticky;
  top: 100px;
}

#tp-settings .dsett-right-card {
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(232, 236, 239, .94);
  border-radius: 14px;
  padding: 16px 18px;
  box-shadow: 0 8px 20px rgba(15, 27, 46, .06);
}

#tp-settings .dsett-right-card-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 800;
  color: #1B1A17;
}

#tp-settings .dsett-ekg {
  width: 40px;
  height: 16px;
  color: #8B3A1F;
  opacity: .85;
}

#tp-settings .dsett-right-status {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(232, 236, 239, .94);
  margin-bottom: 10px;
  font-size: 12.5px;
  font-weight: 700;
}

#tp-settings .dsett-status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #188D68;
  flex-shrink: 0;
}

#tp-settings .dsett-status-dot.is-off  { background: #8B3A1F; box-shadow: 0 0 0 3px rgba(139, 58, 31, .14); }
#tp-settings .dsett-status-dot.is-ok   { background: #24B47E; box-shadow: 0 0 0 3px rgba(36, 180, 126, .14); }
#tp-settings .dsett-status-dot.is-err  { background: #8B3A1F; box-shadow: 0 0 0 3px rgba(139, 58, 31, .14); }
#tp-settings .dsett-status-dot.is-pend { background: #24B47E; box-shadow: 0 0 0 3px rgba(36, 180, 126, .14); animation: dsettPulse 1.2s ease infinite; }
#tp-settings .dsett-status-dot.is-idle { background: #188D68; box-shadow: 0 0 0 3px rgba(36, 180, 126, .14); }

@keyframes dsettPulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .42; }
}

#tp-settings .dsett-right-card-body b {
  font-size: 13px;
  color: #1B1A17;
  display: block;
  margin-bottom: 4px;
}

#tp-settings .dsett-right-card-body span {
  font-size: 11.5px;
  color: rgba(107, 102, 92, .72);
  line-height: 1.5;
}

#tp-settings .dsett-right-card-title {
  font-size: 13px;
  font-weight: 800;
  color: #1B1A17;
  margin-bottom: 8px;
}

#tp-settings .dsett-right-card p {
  font-size: 12.5px;
  color: rgba(107, 102, 92, .82);
  line-height: 1.6;
  margin: 0;
}

#tp-settings .dsett-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 0;
  font-size: 12.5px;
  font-weight: 700;
  color: #5C6B3F;
  text-decoration: none;
  border-bottom: 1px solid #F0EAD8;
  transition: color .14s;
}

#tp-settings .dsett-link:last-child { border-bottom: none; }
#tp-settings .dsett-link:hover { color: #3E4A2A; }
#tp-settings .dsett-link svg { width: 13px; height: 13px; opacity: .60; }

#tp-settings .dsett-related {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 10px 12px;
  background: #FAF8F4;
  border: 1px solid #E8E2D4;
  border-radius: 10px;
  cursor: pointer;
  font-family: 'DM Sans', system-ui, sans-serif;
  text-align: left;
  transition: all .14s;
}

#tp-settings .dsett-related:hover {
  background: #F5F0E7;
  border-color: #D8CDBA;
}

#tp-settings .dsett-related b { font-size: 13px; color: #1B1A17; }
#tp-settings .dsett-related small { font-size: 11px; color: rgba(107, 102, 92, .68); }
#tp-settings .dsett-related-chev {
  font-size: 22px;
  color: rgba(107, 102, 92, .45);
  line-height: 1;
  font-weight: 300;
}

/* ─── Suppress legacy .panel decorations inside tp-settings ─────────── */
#tp-settings .panel,
#tp-settings .panel::before { display: revert; }
#tp-settings .dsett-main .panel { all: unset; }

/* ════════════════════════════════════════════════════════════════════════
   HIDDEN TABS — not relevant for end users
   • "Project Story"   (data-tab="story")
   • "فحص التطوير"    (data-tab="linkqa") — dynamically injected by 064-tmp-link-qa-tab-patch.js
   • "Settings"        (data-tab="settings") — accessible via the shortcut ⚙ button at top of sidebar
   Panels are also hidden so they can never be navigated to accidentally.
   ════════════════════════════════════════════════════════════════════════ */
.tab[data-tab="story"],
.tab[data-tab="linkqa"],
.tab[data-tab="settings"] {
  display: none !important;
}
#tp-story,
#tp-linkqa {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ════════════════════════════════════════════════════════════════════════
   HEADER CLEANUP — Hide deprecated header items (user request)
   Keep:  Logo + Connection-status (config) + Generate Schedule
   Hide:  OpenRouter-AI green pill, V9, New Project, Text mode, Validation Active
   ════════════════════════════════════════════════════════════════════════ */

.hdr .ai-pill,                  /* "OpenRouter AI" green-dot pill           */
.hdr #v9-ver-badge,             /* "✦ V9" badge from plugins/016-toast.js   */
.hdr .v9-badge,                 /* generic V9 badge class                   */
.hdr #vision-badge,             /* "Text mode" / "Vision ON" badge          */
.hdr #nr-prod-badge,            /* "Validation Active" pill                 */
.hdr .hbtn:not(.primary) {      /* "↩ New Project" button (keep .primary)   */
  display: none !important;
}

/* The Connection-status badge (#apiSt) shares .api-st with the
   "Validation Active" badge, so target it explicitly rather than the class. */
.hdr #nr-prod-badge { display: none !important; }
.hdr #apiSt          { display: inline-flex !important; }

/* Right-side group: status badge + Open Schedule + Generate (all inside .hbtns) */
.hdr .hbtns {
  justify-self: end !important;
  gap: 10px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap;
}

/* #apiSt when relocated inside .hbtns — compact separator line before button */
.hdr .hbtns #apiSt {
  margin-right: 4px;
  position: relative;
}
.hdr .hbtns #apiSt::after {
  content: '';
  display: block;
  position: absolute;
  right: -8px;
  top: 20%;
  height: 60%;
  width: 1px;
  background: rgba(107,102,92,.22);
}

/* ════════════════════════════════════════════════════════════════════════
   GENERATE-SCHEDULE BUTTON — 6 smart states (v1.0)
   ════════════════════════════════════════════════════════════════════════ */

#hGenBtn.gbtn,
.gbtn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 44px !important;
  padding: 0 22px !important;
  border-radius: 12px !important;
  border: 1px solid transparent !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  letter-spacing: -.005em !important;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease,
              box-shadow .18s ease, transform .18s ease !important;
  position: relative;
  white-space: nowrap;
  text-shadow: none;
}

#hGenBtn.gbtn:disabled,
.gbtn:disabled { cursor: not-allowed; transform: none !important; }

.gbtn-ico {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px;
  height: 18px;
}
.gbtn-ico svg {
  width: 17px !important;
  height: 17px !important;
}

/* spinner rotation for "generating" */
.gbtn-spin { animation: gbtnSpin 1s linear infinite; transform-origin: center; }
@keyframes gbtnSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ─── State 1: AI Not Configured ────────────────────────────────────────
   Brick / terracotta red — pulled from the project's danger palette
   (#8B3A1F) but lifted slightly for a button surface.
   ─────────────────────────────────────────────────────────────────────── */
#hGenBtn.gbtn--unconfigured,
.gbtn--unconfigured {
  background: linear-gradient(175deg, #C0513A 0%, #9E3A26 100%) !important;
  border-color: #8B3020 !important;
  color: #FFFFFF !important;
  box-shadow: 0 8px 22px rgba(158, 58, 38, .35),
              inset 0 1px 0 rgba(255,255,255,.15) !important;
}
.gbtn--unconfigured:hover:not(:disabled) {
  background: linear-gradient(175deg, #A84030 0%, #8B2E20 100%) !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(158, 58, 38, .46),
              inset 0 1px 0 rgba(255,255,255,.15) !important;
}

/* ─── State 2: Missing Inputs ────────────────────────────────────────────
   Warm greige — matches the cream surface palette, clearly disabled.
   ─────────────────────────────────────────────────────────────────────── */
#hGenBtn.gbtn--missing,
.gbtn--missing {
  background: #E2DDD3 !important;
  border-color: #CEC8BC !important;
  color: #8A8278 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55) !important;
}

/* ─── State 3: Ready — hero gold ─────────────────────────────────────────
   Honey / amber — the primary action accent of the whole UI.
   ─────────────────────────────────────────────────────────────────────── */
#hGenBtn.gbtn--ready,
.gbtn--ready {
  background: linear-gradient(175deg, #F0B840 0%, #D4A030 100%) !important;
  border-color: #188D68 !important;
  color: #1B1A17 !important;
  box-shadow: 0 10px 28px rgba(36, 180, 126, .44),
              inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.gbtn--ready:hover:not(:disabled) {
  background: linear-gradient(175deg, #FAC450 0%, #DBA838 100%) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(36, 180, 126, .56),
              inset 0 1px 0 rgba(255,255,255,.65) !important;
}

/* ─── State 4: Generating ────────────────────────────────────────────────
   Deep midnight navy — echoes the header background, premium feel.
   ─────────────────────────────────────────────────────────────────────── */
#hGenBtn.gbtn--generating,
.gbtn--generating {
  background: linear-gradient(175deg, #1E3050 0%, #142240 100%) !important;
  border-color: #0E1A30 !important;
  color: #E8DFC8 !important;
  box-shadow: 0 10px 26px rgba(14, 26, 48, .48),
              inset 0 1px 0 rgba(255,255,255,.08) !important;
  cursor: progress !important;
}

/* ─── State 5: Generated ─────────────────────────────────────────────────
   Deep forest green — rich, earthy, theme-consistent success colour.
   ─────────────────────────────────────────────────────────────────────── */
#hGenBtn.gbtn--generated,
.gbtn--generated {
  background: linear-gradient(175deg, #1E5838 0%, #144028 100%) !important;
  border-color: #0E3020 !important;
  color: #FFFFFF !important;
  box-shadow: 0 10px 26px rgba(20, 64, 40, .40),
              inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.gbtn--generated:hover:not(:disabled) {
  background: linear-gradient(175deg, #164830 0%, #0E3020 100%) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(20, 64, 40, .52),
              inset 0 1px 0 rgba(255,255,255,.10) !important;
}

/* Secondary "Open Schedule" button — ghost version of the forest green */
.gbtn--open-secondary {
  background: #FFFCF6 !important;
  border: 1px solid #1E5838 !important;
  color: #144028 !important;
  box-shadow: 0 2px 8px rgba(20, 64, 40, .14) !important;
  padding: 0 16px !important;
  font-weight: 700 !important;
}
.gbtn--open-secondary:hover:not(:disabled) {
  background: rgba(30, 88, 56, .07) !important;
  border-color: #144028 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(20, 64, 40, .22) !important;
}

/* ─── State 6: Failed ────────────────────────────────────────────────────
   Same brick red as "unconfigured" — both are error / action-needed states.
   ─────────────────────────────────────────────────────────────────────── */
#hGenBtn.gbtn--failed,
.gbtn--failed {
  background: linear-gradient(175deg, #C0513A 0%, #9E3A26 100%) !important;
  border-color: #8B3020 !important;
  color: #FFFFFF !important;
  box-shadow: 0 10px 24px rgba(158, 58, 38, .38),
              inset 0 1px 0 rgba(255,255,255,.15) !important;
}
.gbtn--failed:hover:not(:disabled) {
  background: linear-gradient(175deg, #A84030 0%, #8B2E20 100%) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(158, 58, 38, .50),
              inset 0 1px 0 rgba(255,255,255,.15) !important;
}

/* ─── Override legacy .hbtn.primary styling so our state colours win ─── */
.hdr .hbtn.primary.gbtn,
.hbtn.primary.gbtn {
  background: inherit !important;
  border-color: inherit !important;
  color: inherit !important;
}

/* ════════════════════════════════════════════════════════════════════════
   CONNECTION STATUS BADGE  (#apiSt)
   Inline styles from setStatus() are remapped to theme colours by
   996-generate-button-states.js.  These rules add what inline styles
   cannot: hover effect, cursor, and transition polish.
   ════════════════════════════════════════════════════════════════════════ */

/* When badge is still in original position (before JS moves it), keep it */
/* Once JS moves it inside .hbtns the .hdr > #apiSt selector no longer matches */
.hdr > #apiSt {
  /* Legacy centre position — JS will relocate this into .hbtns */
}

#apiSt {
  cursor: default;
  white-space: nowrap;
  transition: box-shadow .2s, transform .15s !important;
}
#apiSt:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0,0,0,.12) !important;
}

/* Dot pulse animation when testing */
#apiSt[data-status-kind="warn"] #apiDot {
  animation: statusPulse .9s ease-in-out infinite;
}
@keyframes statusPulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .4; }
}

/* ════════════════════════════════════════════════════════════════════════
   GENERATE BUTTON — Tab-aware visibility
   The Generate Schedule button (and secondary Open Schedule button) should
   ONLY appear when the active tab is "input".
   The JS in 996-generate-button-states.js writes
   body[data-active-tab="<tabId>"] on every navigation.
   ════════════════════════════════════════════════════════════════════════ */

/* Default: hide when tab attribute is absent or is any tab other than input */
body:not([data-active-tab="input"]) #hGenBtn,
body:not([data-active-tab="input"]) #hOpenBtn {
  display: none !important;
}

/* While the page is loading and no attribute has been set yet, also hide
   (prevents a flash of the button on non-input tabs after reload) */
body[data-active-tab]:not([data-active-tab="input"]) #hGenBtn,
body[data-active-tab]:not([data-active-tab="input"]) #hOpenBtn {
  display: none !important;
}

/* Ensure the .hbtns row itself doesn't take up space when empty */
body:not([data-active-tab="input"]) .hdr .hbtns {
  display: none !important;
}

/* ════════════════════════════════════════════════════════════════════════
   SETTINGS SHORTCUT BUTTON — clean <button> element (v4 — matches toggle)
   The JS now creates a plain <button> so no .tab styles interfere.
   ════════════════════════════════════════════════════════════════════════ */

body.ap-vertical-shell .ap-settings-shortcut {
  position: absolute !important;
  top: 22px !important;
  right: 54px !important;
  z-index: 12 !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  color: rgba(250,248,244,.80) !important;
  cursor: pointer !important;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease !important;
  box-shadow: none !important;
  outline: none !important;
  /* Reset any inherited .tab / .hbtn styles */
  flex: none !important;
  align-items: unset !important;
  justify-content: unset !important;
  gap: unset !important;
  text-align: unset !important;
  font-size: unset !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut:hover,
body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut:focus-visible,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut:hover,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut:focus-visible,
body.ap-vertical-shell .ap-settings-shortcut:hover {
  background: #24B47E !important;
  border-color: #24B47E !important;
  color: #1B1A17 !important;
  transform: translateY(-1px) scale(1.04) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.22), 0 0 0 3px rgba(36,180,126,.20) !important;
}

body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut:active,
body.ap-vertical-shell .tabs:not(.ap-nav-collapsed) .ap-settings-shortcut.active,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut:active,
body.ap-vertical-shell .tabs.ap-nav-peek .ap-settings-shortcut.active,
body.ap-vertical-shell .ap-settings-shortcut:active,
body.ap-vertical-shell .ap-settings-shortcut.active {
  background: #24B47E !important;
  border-color: #24B47E !important;
  color: #1B1A17 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 0 0 3px rgba(36,180,126,.18) !important;
}

/* SVG sits directly inside the button — no wrapper */
body.ap-vertical-shell .ap-settings-shortcut > svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}

/* Visibility handled by JS (syncSettingsBtn) via inline style */

/* Gantt header export dropdown needs to escape the app header bounds. */
body.ap-vertical-shell .hdr,
.hdr {
  overflow: visible !important;
}

/* Nexora AI brand lockup: use the transparent PNG wordmark without squeezing it into the old square mark. */
.hdr .logo {
  gap: 0 !important;
  min-width: var(--app-logo-w) !important;
}

.hdr .logo-ico,
body.ap-vertical-shell .hdr .logo-ico,
body.ap-vertical-shell .hdr.ap-nav-collapsed:not(.ap-nav-peek) .logo-ico {
  width: var(--app-logo-w) !important;
  height: var(--app-logo-h) !important;
  flex: 0 0 var(--app-logo-w) !important;
  flex-basis: var(--app-logo-w) !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: url('../nexora-ai-logo.png') !important;
  background-size: contain !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.hdr .logo > div:last-child,
body.ap-vertical-shell .hdr .logo > div:last-child {
  display: none !important;
}

body.ap-vertical-shell .hdr.ap-nav-collapsed:not(.ap-nav-peek) .logo {
  grid-template-columns: var(--app-logo-w) !important;
  min-width: var(--app-logo-w) !important;
  max-width: var(--app-logo-w) !important;
  column-gap: 0 !important;
}

body.ap-vertical-shell .ap-sidebar-brand {
  min-height: 66px !important;
  padding: 4px 2px 14px !important;
}

body.ap-vertical-shell .ap-sidebar-mark {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 58px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.ap-vertical-shell .ap-sidebar-logo {
  width: 100% !important;
  height: 58px !important;
  object-fit: contain !important;
  object-position: left center !important;
  border-radius: 0 !important;
}

body.ap-vertical-shell .ap-sidebar-copy {
  display: none !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-mark {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  border-radius: 14px !important;
  background: #12130F !important;
  border: 1px solid rgba(201, 151, 62, .42) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 10px 22px rgba(0, 0, 0, .32) !important;
  overflow: hidden !important;
}

body.ap-vertical-shell .tabs.ap-nav-collapsed:not(.ap-nav-peek) .ap-sidebar-logo {
  content: url('../nexora-ai-icon.png') !important;
  width: 36px !important;
  height: 36px !important;
  margin: 4px !important;
  object-fit: contain !important;
}

.forge-logo-mark {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.forge-logo-mark img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* V18 surgical anti-flash guard: before the vertical shell is installed, never show
   the legacy horizontal .tabs strip. The actual sidebar appears once body gets
   .ap-vertical-shell from core/999-ai-planner-vertical-shell.js. */
body:not(.ap-vertical-shell) #app-tabs.tabs {
  position: fixed !important;
  left: -10000px !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ── AI model policy (Settings → Model Selection) ──────────────────────────
   The model is assigned per feature in the admin centre and enforced by the
   server, so this panel reports one line rather than offering a picker.

   It used to render a four-column table of every feature. .dsett-form is a
   two-column grid, so that table lived inside a half-width column and the
   monospace model id collapsed to one character per line. The row is full
   width now and carries a single value. */
#tp-settings #orModelPolicyField { grid-column: 1 / -1; }
#tp-settings .dsett-policy-line {
  font-size: 13.5px;
  font-weight: 650;
  color: #0B6F64;
  padding: 9px 12px;
  border: 1px solid var(--nx-border, #E8ECEF);
  border-radius: 9px;
  background: var(--nx-surface-2, #F7F8F9);
}

/* `[hidden]` is only a UA display:none, and `.dsett-field { display:flex }`
   outranks it — which is why the retired model picker stayed on screen. These
   nodes exist solely so older scripts can still find them by id. */
#tp-settings .dsett-field[hidden],
#tp-settings .dsett-legacy-hidden {
  display: none !important;
}

/* styles/tabs/140-results-theme-polish.css */
/* Results tabs polish: shared graphite/gold UI layer */
#actsOut,
#linksOut,
#cpOut,
#msOut,
#wbsOut,
#labourOut,
#histOut {
  --rs-ink: #1B1A17;
  --rs-graphite: #2B2B25;
  --rs-graphite-2: #3A3B31;
  --rs-olive: #3E4A2A;
  --rs-olive-2: #5C6B3F;
  --rs-sage: #8A9968;
  --rs-gold: #24B47E;
  --rs-gold-2: #188D68;
  --rs-rust: #8B3A1F;
  --rs-clay: #B8693E;
  --rs-cream: #FFFDF8;
  --rs-ivory: #FAF8F4;
  --rs-parchment: #F4EFE6;
  --rs-line: #D8CDBA;
  color: var(--rs-ink);
}

.tp>.aipe-result-out {
  padding: 26px 32px 34px;
}

.aipe-result-out .aipe-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 68px;
  padding: 14px 18px;
  margin: 0 0 14px;
  border: 1px solid rgba(232, 236, 239, .94);
  border-radius: 14px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 36px rgba(15, 27, 46, .08);
}

.aipe-result-out .aipe-result-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.aipe-result-out .aipe-result-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 11px;
  color: #FFFDF8;
  background: linear-gradient(135deg, #188D68, #24B47E);
  border: 1px solid rgba(255, 253, 248, .28);
  box-shadow:
    inset 0 1px 0 rgba(255, 253, 248, .45),
    0 10px 22px rgba(36, 180, 126, .24);
}

.aipe-result-out .aipe-result-icon svg {
  width: 19px;
  height: 19px;
  stroke-width: 2.2;
}

.aipe-result-out .aipe-result-kicker {
  margin-bottom: 4px;
  color: rgba(250, 248, 244, .64);
  font: 900 9px/1 "DM Sans", system-ui, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.aipe-result-out .aipe-result-title {
  color: var(--nx-midnight, #1B1A17);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.1;
}

.aipe-result-out .aipe-result-sub {
  margin-top: 4px;
  color: rgba(27, 26, 23, .55);
  font-size: 12px;
  font-weight: 600;
}

.aipe-result-out .aipe-result-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(36, 180, 126, .36);
  border-radius: 999px;
  background: rgba(36, 180, 126, .10);
  color: #188D68;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.aipe-result-out .aipe-result-pill::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background: #24B47E;
  box-shadow: 0 0 0 3px rgba(36, 180, 126, .16);
}

.aipe-result-out .panel,
.aipe-result-out .tree-wrap,
.aipe-result-out .tbl-wrap,
.aipe-result-out .lk-tbl-wrap,
.aipe-result-out .lk-impact,
.aipe-result-out .h-table-wrap,
.aipe-result-out .h-matrix-wrap,
.aipe-result-out .lb-outer {
  overflow: scroll;
  border: 1px solid rgba(232, 236, 239, .94) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 18px 36px rgba(15, 27, 46, .08) !important;
}

.aipe-result-out .tree-wrap,
.aipe-result-out .tbl-wrap,
.aipe-result-out .lk-tbl-wrap,
.aipe-result-out .h-table-wrap,
.aipe-result-out .h-matrix-wrap,
.aipe-result-out .lb-wrap {
  scrollbar-color: rgba(92, 107, 63, .55) rgba(244, 239, 230, .78);
}

.aipe-result-out table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.aipe-result-out table thead th,
.aipe-result-out .tree-table thead th,
.aipe-result-out .acts-tbl thead th,
.aipe-result-out .lk-tbl thead th,
.aipe-result-out .lb-tbl thead th,
.aipe-result-out .h-tbl thead th,
.aipe-result-out .h-mtbl thead th {
  background: linear-gradient(180deg, #34352D, #24241F) !important;
  color: #F4EFE6 !important;
  border-bottom: 2px solid rgba(36, 180, 126, .42) !important;
  border-right: 1px solid rgba(255, 253, 248, .06) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.aipe-result-out table tbody td,
.aipe-result-out .tree-table td,
.aipe-result-out .acts-tbl td,
.aipe-result-out .lk-tbl td,
.aipe-result-out .lb-tbl tr.lb-act td,
.aipe-result-out .h-tbl tbody td,
.aipe-result-out .h-mtbl tbody td {
  background: rgba(255, 253, 248, .90) !important;
  color: var(--rs-ink) !important;
  border-bottom: 1px solid rgba(216, 205, 186, .68) !important;
}

.aipe-result-out table tbody tr:nth-child(even) td,
.aipe-result-out .lb-tbl tr.lb-act.lb-alt td {
  background: rgba(245, 247, 250, .72) !important;
}

.aipe-result-out table tbody tr:hover td,
.aipe-result-out .lk-tbl tbody tr:hover,
.aipe-result-out .lb-tbl tr.lb-act:hover td,
.aipe-result-out .h-tbl tbody tr:hover td,
.aipe-result-out .h-mtbl tbody tr:hover td {
  background: rgba(232, 236, 239, .90) !important;
}

.aipe-result-out .tree-code,
.aipe-result-out .aid,
.aipe-result-out .lb-id,
.aipe-result-out .lk-act-id,
.aipe-result-out .h-mtbl tbody td {
  color: var(--rs-olive) !important;
  font-weight: 900 !important;
}

.aipe-result-out .tree-name,
.aipe-result-out .ms-name,
.aipe-result-out .lk-act-name,
.aipe-result-out .lb-name {
  color: var(--rs-ink) !important;
  font-weight: 800 !important;
}

.aipe-result-out .tree-sub,
.aipe-result-out .ms-desc,
.aipe-result-out .lk-act-dates,
.aipe-result-out .lb-stat .ll,
.aipe-result-out .h-stat .hl,
.aipe-result-out .lk-stat .sl {
  color: #6B665C !important;
}

.aipe-result-out .kpi-strip,
.aipe-result-out .v6-toolbar,
.aipe-result-out .lk-stats,
.aipe-result-out .lr-toolbar,
.aipe-result-out .lb-stats,
.aipe-result-out .lb-toolbar,
.aipe-result-out .h-stats,
.aipe-result-out .h-toolbar,
.aipe-result-out .h-res-bar {
  border: 1px solid rgba(36, 180, 126, .28) !important;
  background:
    linear-gradient(135deg, rgba(43, 43, 37, .98), rgba(62, 74, 42, .94)),
    radial-gradient(circle at 100% 0%, rgba(36, 180, 126, .18), transparent 36%) !important;
  color: #F5EFE3 !important;
  box-shadow: inset 0 1px 0 rgba(255, 253, 248, .07) !important;
}

.aipe-result-out .kpi {
  background: rgba(255, 253, 248, .10) !important;
  border: 1px solid rgba(255, 253, 248, .14) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.aipe-result-out .kpi .k,
.aipe-result-out .kpi .s {
  color: rgba(245, 239, 227, .72) !important;
}

.aipe-result-out .kpi .v,
.aipe-result-out .lk-stat .sv,
.aipe-result-out .h-stat .hv,
.aipe-result-out .lb-stat .lv {
  color: #24B47E !important;
}

.aipe-result-out button,
.aipe-result-out .hbtn,
.aipe-result-out .lk-copy-btn,
.aipe-result-out .lr-btn,
.aipe-result-out .lb-fbtn,
.aipe-result-out .h-btn,
.aipe-result-out .h-chip {
  min-height: 30px;
  border: 1px solid rgba(216, 205, 186, .88) !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #FFFDF8, #F4EFE6) !important;
  color: var(--rs-ink) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .84), 0 2px 6px rgba(62, 74, 42, .08) !important;
}

.aipe-result-out button:hover,
.aipe-result-out .hbtn:hover,
.aipe-result-out .lk-copy-btn:hover,
.aipe-result-out .lr-btn:hover,
.aipe-result-out .lb-fbtn:hover,
.aipe-result-out .h-btn:hover,
.aipe-result-out .h-chip:hover {
  border-color: rgba(36, 180, 126, .66) !important;
  background: #FFF8EC !important;
  color: var(--rs-olive) !important;
  transform: translateY(-1px);
}

.aipe-result-out .hbtn.primary,
.aipe-result-out .lk-copy-btn.sec,
.aipe-result-out .lr-btn.primary,
.aipe-result-out .lb-fbtn.active,
.aipe-result-out .h-btn.active,
.aipe-result-out .h-chip-on {
  background: linear-gradient(160deg, var(--rs-olive-2), var(--rs-olive)) !important;
  border-color: rgba(92, 107, 63, .68) !important;
  color: #F5EFE3 !important;
}

.aipe-result-out input,
.aipe-result-out .lb-search,
.aipe-result-out .h-res-srch,
.aipe-result-out .lb-edit {
  border-color: rgba(216, 205, 186, .86) !important;
  background: rgba(255, 253, 248, .92) !important;
  color: var(--rs-ink) !important;
}

.aipe-result-out input:focus,
.aipe-result-out .lb-search:focus,
.aipe-result-out .h-res-srch:focus,
.aipe-result-out .lb-edit:focus {
  border-color: rgba(36, 180, 126, .72) !important;
  box-shadow: 0 0 0 3px rgba(36, 180, 126, .16) !important;
}

.aipe-result-out .chip,
.aipe-result-out .tree-chip,
.aipe-result-out .lt,
.aipe-result-out .v6-pill,
.aipe-result-out .lb-pill,
.aipe-result-out .lr-badge,
.aipe-result-out .lk-lag-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 9px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(216, 205, 186, .88) !important;
  background: rgba(255, 253, 248, .92) !important;
  color: var(--rs-olive) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

.aipe-result-out .chip.crit,
.aipe-result-out .tree-chip.crit,
.aipe-result-out .lb-pill.crit,
.aipe-result-out .h-peak td,
.aipe-result-out tr.lb-crit td {
  color: var(--rs-rust) !important;
  border-color: rgba(139, 58, 31, .32) !important;
  background: rgba(139, 58, 31, .08) !important;
}

.aipe-result-out .chip.near,
.aipe-result-out .lk-lag-badge,
.aipe-result-out .lb-pill.warn {
  color: var(--rs-gold-2) !important;
  border-color: rgba(36, 180, 126, .42) !important;
  background: rgba(36, 180, 126, .12) !important;
}

.aipe-result-out .chip.okch,
.aipe-result-out .lb-pill.ok {
  color: var(--rs-olive) !important;
  border-color: rgba(92, 107, 63, .34) !important;
  background: rgba(138, 153, 104, .13) !important;
}

.aipe-result-out .lt-FS,
.aipe-result-out .lr-badge-fs {
  color: var(--rs-olive) !important;
}

.aipe-result-out .lt-SS,
.aipe-result-out .lr-badge-ss {
  color: #4A6B3A !important;
}

.aipe-result-out .lt-FF,
.aipe-result-out .lr-badge-ff {
  color: var(--rs-gold-2) !important;
}

.aipe-result-out .lt-SF,
.aipe-result-out .lr-badge-sf {
  color: var(--rs-clay) !important;
}

.aipe-result-out .lk-impact-hdr {
  background: linear-gradient(135deg, #2B2B25, #3E4A2A) !important;
  color: #F5EFE3 !important;
  border-bottom: 1px solid rgba(36, 180, 126, .24) !important;
}

.aipe-result-out .lk-act-card,
.aipe-result-out .lr-card {
  background: rgba(255, 255, 255, .92) !important;
  border-color: rgba(232, 236, 239, .94) !important;
  color: var(--rs-ink) !important;
}

.aipe-result-out .lk-act-card.pred {
  border-color: rgba(92, 107, 63, .42) !important;
  background: rgba(229, 233, 216, .64) !important;
}

.aipe-result-out .lk-act-card.succ {
  border-color: rgba(36, 180, 126, .44) !important;
  background: rgba(255, 248, 236, .72) !important;
}

.aipe-result-out .ms-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 12px !important;
}

.aipe-result-out .ms-card {
  position: relative;
  overflow: hidden;
  min-height: 112px;
  padding: 16px 16px 16px 18px !important;
  border: 1px solid rgba(216, 205, 186, .94) !important;
  border-left: 4px solid var(--rs-gold) !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(255, 253, 248, .98), rgba(244, 239, 230, .94)) !important;
  box-shadow: 0 16px 32px rgba(62, 74, 42, .10) !important;
}

.aipe-result-out .ms-card::before {
  content: "";
  position: absolute;
  width: 42px;
  height: 42px;
  right: 14px;
  top: 14px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(36, 180, 126, .20), rgba(36, 180, 126, .06));
  border: 1px solid rgba(36, 180, 126, .24);
  transform: rotate(45deg) scale(.62);
}

.aipe-result-out .ms-card.crit {
  border-left-color: var(--rs-rust) !important;
}

.aipe-result-out .ms-date {
  color: var(--rs-gold-2) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
}

.aipe-result-out .h-chart-wrap {
  border: 1px solid rgba(216, 205, 186, .96) !important;
  border-radius: 0 0 14px 14px !important;
  background:
    linear-gradient(180deg, rgba(255, 253, 248, .96), rgba(244, 239, 230, .94)),
    linear-gradient(rgba(92, 107, 63, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(92, 107, 63, .04) 1px, transparent 1px) !important;
}

.aipe-result-out .h-bar-inner {
  background: linear-gradient(90deg, var(--rs-olive-2), var(--rs-gold)) !important;
  border-radius: 999px !important;
}

.aipe-result-out .h-cell-lo {
  color: var(--rs-olive) !important;
}

.aipe-result-out .h-cell-mid {
  color: var(--rs-gold-2) !important;
}

.aipe-result-out .h-cell-hi,
.aipe-result-out .h-cell-peak {
  color: var(--rs-rust) !important;
}

.aipe-result-out .lb-tbl tr.lb-wbs td {
  background: linear-gradient(90deg, rgba(62, 74, 42, .16), rgba(36, 180, 126, .12)) !important;
  color: var(--rs-ink) !important;
  border-bottom: 1px solid rgba(36, 180, 126, .22) !important;
}

.aipe-result-out .h-mtbl tbody td.act-col,
.aipe-result-out .h-mtbl tfoot td.act-col {
  background: #FFFDF8 !important;
  color: var(--rs-ink) !important;
  border-right-color: rgba(216, 205, 186, .84) !important;
}

.aipe-result-out .h-mtbl tfoot td {
  background: linear-gradient(180deg, #F4EFE6, #EDE5D3) !important;
  color: var(--rs-olive) !important;
  border-top: 2px solid rgba(36, 180, 126, .40) !important;
}

.aipe-result-out .empty,
.aipe-result-out .empty-v5 {
  min-height: 230px;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 10px !important;
  border: 1px dashed rgba(36, 180, 126, .46) !important;
  border-radius: 16px !important;
  background:
    linear-gradient(180deg, rgba(245, 245, 245, .90), rgba(235, 235, 235, .82)),
    radial-gradient(circle at 50% 15%, rgba(36, 180, 126, .16), transparent 34%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

.aipe-result-out .empty-icon {
  position: relative;
  width: 54px;
  height: 54px;
  font-size: 0 !important;
  border-radius: 16px;
  background: linear-gradient(160deg, #2B2B25, #3E4A2A);
  border: 1px solid rgba(36, 180, 126, .42);
  box-shadow: 0 14px 28px rgba(43, 43, 37, .18);
}

.aipe-result-out .empty-icon::before,
.aipe-result-out .empty-icon::after {
  content: "";
  position: absolute;
  left: 15px;
  right: 15px;
  height: 2px;
  border-radius: 99px;
  background: var(--rs-gold);
}

.aipe-result-out .empty-icon::before {
  top: 19px;
  box-shadow: 0 8px 0 rgba(36, 180, 126, .86), 0 16px 0 rgba(36, 180, 126, .58);
}

.aipe-result-out .empty-t,
.aipe-result-out .empty-v5 .t {
  color: var(--rs-ink) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}

.aipe-result-out .empty-s,
.aipe-result-out .empty-v5 div:not(.t) {
  color: #6B665C !important;
  font-size: 12px !important;
}

.aipe-result-out .ptitle {
  color: var(--rs-ink) !important;
  font-weight: 900 !important;
}

.aipe-result-out .ptitle .dot,
.aipe-result-out .dot {
  background: var(--rs-gold) !important;
  box-shadow: 0 0 0 3px rgba(36, 180, 126, .14) !important;
}

@media (max-width: 860px) {
  .tp>.aipe-result-out {
    padding: 18px 14px 24px;
  }

  .aipe-result-out .aipe-result-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Project Calendar — Light Theme */
#tp-calendar {
  padding: 0 !important;
  background: #F8F9FA !important;
}

#tp-calendar .pcal-wrap {
  gap: 16px !important;
  padding: 16px !important;
}

/* Calendar sidebar — stays dark navy */
#tp-calendar .pcal-list-col {
  border: 1px solid rgba(59, 130, 246, .18) !important;
  border-radius: 14px !important;
  background: linear-gradient(160deg, #0D1829 0%, #0A1525 100%) !important;
  color: #e2e8f0 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .2) !important;
}

/* Calendar editor panel — LIGHT */
#tp-calendar .pcal-editor {
  border: 1px solid #E5E7EB !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
  color: #1B1A17 !important;
  box-shadow: 0 1px 6px rgba(0, 0, 0, .06) !important;
}

#tp-calendar .pcal-section,
#tp-calendar .pcal-month-card {
  border-color: #E5E7EB !important;
  background: #FFFFFF !important;
  color: #1B1A17 !important;
  box-shadow: none !important;
}

/* Doc AI panels — keep beige */
#tp-docai .docai-workspace,
#tp-docai .docai-launch-panel,
#tp-docai .docai-output,
#tp-docai .docai-file-card {
  border: 1px solid rgba(216, 205, 186, .96) !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(255, 253, 248, .98), rgba(250, 248, 244, .94)) !important;
  color: var(--ap-ink, #1B1A17) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .86),
    0 18px 38px rgba(62, 74, 42, .10) !important;
}

/* Calendar list header — dark (inside dark sidebar) */
#tp-calendar .pcal-list-hdr {
  border: none !important;
  border-bottom: 1px solid rgba(59, 130, 246, .18) !important;
  background: rgba(4, 10, 28, .95) !important;
  color: #e2e8f0 !important;
  box-shadow: none !important;
}

/* Calendar editor header + month header — LIGHT */
#tp-calendar .pcal-editor-hdr,
#tp-calendar .pcal-month-card-hdr {
  border: none !important;
  border-bottom: 1px solid #E5E7EB !important;
  background: #FFFFFF !important;
  color: #1B1A17 !important;
  box-shadow: none !important;
}

/* Doc AI hero — keep olive */
#tp-docai .docai-control-hero {
  border: 1px solid rgba(36, 180, 126, .30) !important;
  background:
    linear-gradient(135deg, rgba(27, 26, 23, .98), rgba(43, 43, 37, .97) 46%, rgba(62, 74, 42, .95)) !important;
  color: #FFFDF8 !important;
  box-shadow: inset 0 1px 0 rgba(255, 253, 248, .08), 0 16px 34px rgba(43, 43, 37, .16) !important;
}

/* Calendar sidebar text — light (inside dark sidebar) */
#tp-calendar .pcal-list-hdr span,
#tp-calendar .pcal-item-name {
  color: #e2e8f0 !important;
  font-weight: 800 !important;
}

/* Calendar section titles — dark (inside light editor) */
#tp-calendar .pcal-section-title {
  color: #1B1A17 !important;
  font-weight: 800 !important;
}

/* Doc AI text — keep dark */
#tp-docai .docai-hero-title,
#tp-docai .docai-launch-title,
#tp-docai .docai-pres-empty-title,
#tp-docai .docai-card-label {
  color: var(--ap-ink, #1B1A17) !important;
  font-weight: 900 !important;
}

#tp-docai .docai-control-hero .docai-hero-title,
#tp-docai .docai-control-hero .docai-card-label {
  color: #FFFDF8 !important;
}

/* Calendar sidebar list items — dark (inside dark sidebar) */
#tp-calendar .pcal-item {
  border-color: rgba(59, 130, 246, .1) !important;
  background: rgba(255, 255, 255, .04) !important;
  color: #94afc8 !important;
}

/* Calendar editor internals — LIGHT */
#tp-calendar .pcal-days-wrap,
#tp-calendar .pcal-hours-wrap,
#tp-calendar .pcal-summary-box,
#tp-calendar .pcal-exc-list,
#tp-calendar details {
  border-color: #E5E7EB !important;
  background: transparent !important;
  color: #374151 !important;
}

/* Doc AI inner — keep beige */
#tp-docai .docai-pres-empty,
#tp-docai .docai-chat-result {
  border-color: rgba(216, 205, 186, .86) !important;
  background: rgba(255, 253, 248, .84) !important;
  color: var(--ap-ink, #1B1A17) !important;
}

#tp-calendar .pcal-item:hover {
  border-color: rgba(59, 130, 246, .3) !important;
  background: rgba(59, 130, 246, .08) !important;
}

#tp-calendar .pcal-item.active {
  border-color: rgba(59, 130, 246, .5) !important;
  background: rgba(15, 32, 72, .95) !important;
}

#tp-calendar .pcal-item-ico {
  border-radius: 8px !important;
  background: rgba(59, 130, 246, .12) !important;
  color: #60a5fa !important;
  border: 1px solid rgba(59, 130, 246, .22) !important;
  box-shadow: none !important;
}

#tp-docai .docai-pres-empty-icon,
#tp-docai .docai-tab-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #24B47E, #24B47E) !important;
  color: #2B2B25 !important;
  border: 1px solid rgba(255, 253, 248, .34) !important;
  box-shadow: 0 10px 22px rgba(36, 180, 126, .20) !important;
}

/* Calendar preset + nav buttons — LIGHT */
#tp-calendar .pcal-preset,
#tp-calendar .pcal-nav-sm {
  border: 1.5px solid #D1D5DB !important;
  border-radius: 999px !important;
  background: #FFFFFF !important;
  color: #374151 !important;
  box-shadow: none !important;
}

#tp-calendar .pcal-preset:hover,
#tp-calendar .pcal-nav-sm:hover {
  border-color: #9CA3AF !important;
  background: #F1F5F9 !important;
  color: #1F2937 !important;
}

#tp-calendar .pcal-preset.applied {
  border-color: #0D1829 !important;
  background: #0D1829 !important;
  color: #FFFFFF !important;
}

/* Doc AI buttons — keep beige */
#tp-docai .docai-btn,
#tp-docai .hbtn,
#tp-docai .docai-subtab {
  border: 1px solid rgba(216, 205, 186, .88) !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #FFFDF8, #F4EFE6) !important;
  color: var(--ap-ink, #1B1A17) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .84), 0 2px 6px rgba(62, 74, 42, .08) !important;
}

#tp-docai .docai-btn:hover,
#tp-docai .hbtn:hover,
#tp-docai .docai-subtab:hover {
  border-color: rgba(36, 180, 126, .66) !important;
  background: #FFF8EC !important;
  color: #3E4A2A !important;
}

#tp-calendar .hbtn.primary {
  background: #0D1829 !important;
  border-color: #0D1829 !important;
  color: #FFFFFF !important;
}

#tp-docai .docai-btn.primary,
#tp-docai .docai-btn.success,
#tp-docai .docai-subtab.active {
  background: linear-gradient(160deg, #5C6B3F, #3E4A2A) !important;
  border-color: rgba(92, 107, 63, .68) !important;
  color: #F5EFE3 !important;
}

/* Calendar day grid — LIGHT */
#tp-calendar .pcal-mday.work {
  background: rgba(37, 99, 235, .06) !important;
  color: #2563EB !important;
}

#tp-calendar .pcal-mday.off {
  background: rgba(220, 38, 38, .04) !important;
  color: #DC2626 !important;
}

#tp-calendar .pcal-mday.holiday {
  background: rgba(245, 158, 11, .1) !important;
  color: #D97706 !important;
}

#tp-docai {
  --docai-accent: #24B47E;
  --docai-olive: #5C6B3F;
  --docai-ink: #1B1A17;
}

#tp-docai .docai-pill,
#tp-docai .docai-launch-kicker,
#tp-docai .docai-pres-pill,
#tp-docai .docai-chat-kicker {
  color: #188D68 !important;
  border-color: rgba(36, 180, 126, .40) !important;
  background: rgba(36, 180, 126, .12) !important;
}

#tp-docai .docai-hero-sub,
#tp-docai .docai-launch-desc,
#tp-docai .docai-pres-empty-sub,
#tp-docai .docai-file-meta {
  color: #6B665C !important;
}

#tp-docai .docai-modebar,
#tp-docai .docai-modebar-inner {
  background: rgba(244, 239, 230, .78) !important;
  border-color: rgba(216, 205, 186, .86) !important;
}

#tp-docai .docai-premium-select,
#tp-docai .docai-chat-input,
#tp-docai input,
#tp-docai select {
  background: rgba(255, 253, 248, .94) !important;
  border-color: rgba(216, 205, 186, .86) !important;
  color: #1B1A17 !important;
}

#tp-calendar input,
#tp-calendar select {
  background: #FFFFFF !important;
  border-color: #D1D5DB !important;
  color: #1B1A17 !important;
}

@media (max-width: 860px) {
  #tp-calendar {
    padding: 18px 14px 24px;
  }
}

/* WBS tree: replace the old blue/slate tree with the project theme */
body #wbsOut.aipe-results-wbs {
  --wbs-l0: #0F2747 !important;
  --wbs-l1: #1E4E8C !important;
  --wbs-l2: #1187A8 !important;
  --wbs-l3: #19A974 !important;
  --wbs-l4: #5DAE3A !important;
  --wbs-l5: #A6B727 !important;
  --wbs-l6: #24B47E !important;
  --wbs-l7: #E38B2C !important;
  --wbs-l8: #D96C3A !important;
  --wbs-l9: #C9556B !important;
  --wbs-l10: #8B63D2 !important;
  --wbs-l11: #5F6FD9 !important;
  --wbs-l12: #64748B !important;
  --wbs-light-l0: #DCE6F5;
  --wbs-light-l1: #D9E7FA;
  --wbs-light-l2: #D8F1F7;
  --wbs-light-l3: #DCF6EC;
  --wbs-light-l4: #E8F5DD;
  --wbs-light-l5: #F4F7D9;
  --wbs-light-l6: #FBF0CC;
  --wbs-light-l7: #FDEAD7;
  --wbs-light-l8: #FBE3D9;
  --wbs-light-l9: #F8DCE4;
  --wbs-light-l10: #ECE5FB;
  --wbs-light-l11: #E3E8FD;
  --wbs-light-l12: #E9EEF4;
}

body #wbsOut.aipe-results-wbs>.panel {
  padding: 26px 30px 30px !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .92) !important;
  border-color: rgba(232, 236, 239, .94) !important;
  box-shadow: 0 18px 36px rgba(15, 27, 46, .08) !important;
}

body #wbsOut.aipe-results-wbs>.panel>.ptitle {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
  color: #1B1A17 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body #wbsOut.aipe-results-wbs>.panel>.ptitle .dot {
  width: 10px !important;
  height: 10px !important;
  background: #24B47E !important;
  box-shadow: 0 0 0 5px rgba(36, 180, 126, .14) !important;
}

body #wbsOut.aipe-results-wbs .wbs-toolbar {
  gap: 10px !important;
  padding: 12px !important;
  margin-bottom: 12px !important;
  border: 1px solid rgba(216, 205, 186, .94) !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(244, 239, 230, .88), rgba(236, 229, 216, .78)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 8px 20px rgba(62, 74, 42, .07) !important;
}

body #wbsOut.aipe-results-wbs .wbs-toolbar .wbs-btn,
body #wbsOut.aipe-results-wbs .wbs-btn {
  height: 34px !important;
  min-width: 88px !important;
  padding: 0 14px !important;
  border-radius: 11px !important;
  border: 1px solid rgba(216, 205, 186, .95) !important;
  background: linear-gradient(180deg, #FFFDF8, #F4EFE6) !important;
  color: #383530 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88), 0 2px 7px rgba(62, 74, 42, .08) !important;
}

body #wbsOut.aipe-results-wbs .wbs-toolbar .wbs-btn:hover,
body #wbsOut.aipe-results-wbs .wbs-btn:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(36, 180, 126, .62) !important;
  background: #FFF8EC !important;
  color: #3E4A2A !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 0 0 3px rgba(36, 180, 126, .14), 0 8px 18px rgba(36, 180, 126, .12) !important;
}

body #wbsOut.aipe-results-wbs .wbs-toolbar .wbs-btn.active,
body #wbsOut.aipe-results-wbs .wbs-btn.active {
  background: linear-gradient(160deg, #3E4A2A 0%, #2B2B25 100%) !important;
  border-color: rgba(36, 180, 126, .48) !important;
  color: #F5EFE3 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 10px 22px rgba(43, 43, 37, .18) !important;
}

body #wbsOut.aipe-results-wbs .wbs-note {
  color: #8E877A !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

body #wbsOut.aipe-results-wbs .wbs-level-legend {
  gap: 8px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg {
  height: 28px !important;
  padding: 0 11px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(216, 205, 186, .92) !important;
  background: rgba(255, 253, 248, .86) !important;
  color: #6B665C !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg i {
  width: 9px !important;
  height: 9px !important;
  border-radius: 99px !important;
  box-shadow: 0 0 0 3px rgba(36, 180, 126, .10) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg:nth-child(1) i {
  background: var(--wbs-l0) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg:nth-child(2) i {
  background: var(--wbs-l1) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg:nth-child(3) i {
  background: var(--wbs-l2) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg:nth-child(4) i {
  background: var(--wbs-l3) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg:nth-child(5) i {
  background: var(--wbs-l4) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg:nth-child(6) i {
  background: var(--wbs-l5) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg:nth-child(7) i {
  background: var(--wbs-l6) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg:nth-child(8) i {
  background: var(--wbs-l7) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg:nth-child(9) i {
  background: var(--wbs-l8) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg:nth-child(10) i {
  background: var(--wbs-l9) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg:nth-child(11) i {
  background: var(--wbs-l10) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg:nth-child(12) i {
  background: var(--wbs-l11) !important;
}

body #wbsOut.aipe-results-wbs .wbs-leg:nth-child(13) i {
  background: var(--wbs-l12) !important;
}

body #wbsOut.aipe-results-wbs .wbs-tree-v10 {
  gap: 8px !important;
  padding: 0 !important;
}

body #wbsOut.aipe-results-wbs .wbs-wrap {
  position: relative !important;
}

body #wbsOut.aipe-results-wbs .wbs-wrap::before {
  background: linear-gradient(180deg, rgba(216, 205, 186, .92), rgba(216, 205, 186, .34)) !important;
}

body #wbsOut.aipe-results-wbs .wnode,
body #wbsOut.aipe-results-wbs .wact {
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  border-radius: 14px !important;
  border: 1px solid rgba(216, 205, 186, .94) !important;
  background:
    linear-gradient(180deg, rgba(255, 253, 248, .98), rgba(244, 239, 230, .92)) !important;
  color: #1B1A17 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .86),
    0 8px 18px rgba(62, 74, 42, .08) !important;
}

body #wbsOut.aipe-results-wbs .wnode::after,
body #wbsOut.aipe-results-wbs .wact::after {
  width: 8px !important;
  border-radius: 14px 0 0 14px !important;
  background: var(--wbs-accent, #24B47E) !important;
}

body #wbsOut.aipe-results-wbs .wnode.lv0 {
  --wbs-accent: var(--wbs-l0) !important;
  --wbs-level-bg: #0F2747;
  --wbs-level-border: color-mix(in srgb, var(--wbs-l0) 36%, transparent);
}

body #wbsOut.aipe-results-wbs .wnode.lv1 {
  --wbs-accent: var(--wbs-l1) !important;
  --wbs-level-bg: color-mix(in srgb, var(--wbs-l1) 24%, #FFFDF8);
  --wbs-level-border: color-mix(in srgb, var(--wbs-l1) 36%, transparent);
}

body #wbsOut.aipe-results-wbs .wnode.lv2 {
  --wbs-accent: var(--wbs-l2) !important;
  --wbs-level-bg: color-mix(in srgb, var(--wbs-l2) 24%, #FFFDF8);
  --wbs-level-border: color-mix(in srgb, var(--wbs-l2) 36%, transparent);
}

body #wbsOut.aipe-results-wbs .wnode.lv3 {
  --wbs-accent: var(--wbs-l3) !important;
  --wbs-level-bg: color-mix(in srgb, var(--wbs-l3) 24%, #FFFDF8);
  --wbs-level-border: color-mix(in srgb, var(--wbs-l3) 36%, transparent);
}

body #wbsOut.aipe-results-wbs .wnode.lv4 {
  --wbs-accent: var(--wbs-l4) !important;
  --wbs-level-bg: color-mix(in srgb, var(--wbs-l4) 24%, #FFFDF8);
  --wbs-level-border: color-mix(in srgb, var(--wbs-l4) 36%, transparent);
}

body #wbsOut.aipe-results-wbs .wnode.lv5 {
  --wbs-accent: var(--wbs-l5) !important;
  --wbs-level-bg: color-mix(in srgb, var(--wbs-l5) 24%, #FFFDF8);
  --wbs-level-border: color-mix(in srgb, var(--wbs-l5) 36%, transparent);
}

body #wbsOut.aipe-results-wbs .wnode.lv6 {
  --wbs-accent: var(--wbs-l6) !important;
  --wbs-level-bg: color-mix(in srgb, var(--wbs-l6) 24%, #FFFDF8);
  --wbs-level-border: color-mix(in srgb, var(--wbs-l6) 36%, transparent);
}

body #wbsOut.aipe-results-wbs .wnode.lv7 {
  --wbs-accent: var(--wbs-l7) !important;
  --wbs-level-bg: color-mix(in srgb, var(--wbs-l7) 24%, #FFFDF8);
  --wbs-level-border: color-mix(in srgb, var(--wbs-l7) 36%, transparent);
}

body #wbsOut.aipe-results-wbs .wnode.lv8 {
  --wbs-accent: var(--wbs-l8) !important;
  --wbs-level-bg: color-mix(in srgb, var(--wbs-l8) 24%, #FFFDF8);
  --wbs-level-border: color-mix(in srgb, var(--wbs-l8) 36%, transparent);
}

body #wbsOut.aipe-results-wbs .wnode.lv9 {
  --wbs-accent: var(--wbs-l9) !important;
  --wbs-level-bg: color-mix(in srgb, var(--wbs-l9) 24%, #FFFDF8);
  --wbs-level-border: color-mix(in srgb, var(--wbs-l9) 36%, transparent);
}

body #wbsOut.aipe-results-wbs .wnode.lv10 {
  --wbs-accent: var(--wbs-l10) !important;
  --wbs-level-bg: color-mix(in srgb, var(--wbs-l10) 24%, #FFFDF8);
  --wbs-level-border: color-mix(in srgb, var(--wbs-l10) 36%, transparent);
}

body #wbsOut.aipe-results-wbs .wnode.lv11 {
  --wbs-accent: var(--wbs-l11) !important;
  --wbs-level-bg: color-mix(in srgb, var(--wbs-l11) 24%, #FFFDF8);
  --wbs-level-border: color-mix(in srgb, var(--wbs-l11) 36%, transparent);
}

body #wbsOut.aipe-results-wbs .wnode.lv12 {
  --wbs-accent: var(--wbs-l12) !important;
  --wbs-level-bg: color-mix(in srgb, var(--wbs-l12) 24%, #FFFDF8);
  --wbs-level-border: color-mix(in srgb, var(--wbs-l12) 36%, transparent);
}

body #wbsOut.aipe-results-wbs .wnode.lv0,
body #wbsOut.aipe-results-wbs .wnode.lv1,
body #wbsOut.aipe-results-wbs .wnode.lv2,
body #wbsOut.aipe-results-wbs .wnode.lv3,
body #wbsOut.aipe-results-wbs .wnode.lv4,
body #wbsOut.aipe-results-wbs .wnode.lv5,
body #wbsOut.aipe-results-wbs .wnode.lv6,
body #wbsOut.aipe-results-wbs .wnode.lv7,
body #wbsOut.aipe-results-wbs .wnode.lv8,
body #wbsOut.aipe-results-wbs .wnode.lv9,
body #wbsOut.aipe-results-wbs .wnode.lv10,
body #wbsOut.aipe-results-wbs .wnode.lv11,
body #wbsOut.aipe-results-wbs .wnode.lv12 {
  background:
    linear-gradient(90deg, var(--wbs-level-bg) 0%, color-mix(in srgb, var(--wbs-level-bg) 72%, #FFFDF8) 58%, color-mix(in srgb, var(--wbs-level-bg) 36%, #FFFDF8) 100%) !important;
  border-color: var(--wbs-level-border) !important;
}

body #wbsOut.aipe-results-wbs .wnode.lv0 {
  background:
    linear-gradient(90deg, #0F2747 0%, #173B66 62%, #DCE6F5 100%) !important;
  border-color: rgba(15, 39, 71, .62) !important;
}

body #wbsOut.aipe-results-wbs .wnode:hover,
body #wbsOut.aipe-results-wbs .wact:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(36, 180, 126, .54) !important;
  background: linear-gradient(180deg, #FFFDF8, #FFF8EC) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    0 0 0 3px rgba(36, 180, 126, .10),
    0 14px 28px rgba(62, 74, 42, .12) !important;
}

body #wbsOut.aipe-results-wbs .tw:not(.empty),
body #wbsOut.aipe-results-wbs .tw {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(216, 205, 186, .88) !important;
  background: linear-gradient(180deg, #FFFDF8, #F4EFE6) !important;
  color: #3E4A2A !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .84), 0 2px 6px rgba(62, 74, 42, .08) !important;
}

body #wbsOut.aipe-results-wbs .tw:not(.empty):hover {
  border-color: rgba(36, 180, 126, .62) !important;
  background: #FFF8EC !important;
  color: #8B3A1F !important;
}

body #wbsOut.aipe-results-wbs .grip {
  color: rgba(107, 102, 92, .62) !important;
}

body #wbsOut.aipe-results-wbs .wnode .wlevel,
body #wbsOut.aipe-results-wbs .wact .wlevel,
body #wbsOut.aipe-results-wbs .wnode .wcode,
body #wbsOut.aipe-results-wbs .wact .wcode {
  border: 1px solid color-mix(in srgb, var(--wbs-accent, #24B47E) 56%, rgba(216, 205, 186, .82)) !important;
  background: color-mix(in srgb, var(--wbs-accent, #24B47E) 14%, #FFFDF8) !important;
  color: color-mix(in srgb, var(--wbs-accent, #24B47E) 76%, #1B1A17) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .68) !important;
}

body #wbsOut.aipe-results-wbs .wnode .wlevel,
body #wbsOut.aipe-results-wbs .wact .wlevel {
  min-width: 46px !important;
  height: 24px !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

body #wbsOut.aipe-results-wbs .wnode .wcode,
body #wbsOut.aipe-results-wbs .wact .wcode {
  height: 24px !important;
  padding: 0 11px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

body #wbsOut.aipe-results-wbs .wnode .wname,
body #wbsOut.aipe-results-wbs .wact .wname,
body #wbsOut.aipe-results-wbs .wnode.lv0 .wname {
  color: #1B1A17 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body #wbsOut.aipe-results-wbs .wnode.lv0 .wname {
  color: #FFFFFF !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .18) !important;
}

body #wbsOut.aipe-results-wbs .wnode.lv0>.wname,
body #wbsOut.aipe-results-wbs .wnode.lv0 .wname,
body #wbsOut.aipe-results-wbs .wnode.lv0 .wname * {
  color: #FFFFFF !important;
}

body #wbsOut.aipe-results-wbs .wnode.lv0 .wlevel,
body #wbsOut.aipe-results-wbs .wnode.lv0 .wcode {
  background: rgba(255, 253, 248, .14) !important;
  border-color: rgba(255, 253, 248, .34) !important;
  color: #FFFDF8 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}

body #wbsOut.aipe-results-wbs .wnode.lv0 .wcnt,
body #wbsOut.aipe-results-wbs .wnode.lv0 .wdur,
body #wbsOut.aipe-results-wbs .wnode.lv0 .wdesc {
  background: rgba(255, 253, 248, .92) !important;
  border-color: rgba(255, 253, 248, .42) !important;
}

body #wbsOut.aipe-results-wbs .wmeta {
  gap: 8px !important;
}

body #wbsOut.aipe-results-wbs .wcnt,
body #wbsOut.aipe-results-wbs .wdur,
body #wbsOut.aipe-results-wbs .wdesc {
  min-height: 24px !important;
  padding: 3px 10px !important;
  border: 1px solid rgba(216, 205, 186, .80) !important;
  border-radius: 999px !important;
  background: rgba(255, 253, 248, .78) !important;
  color: #6B665C !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

body #wbsOut.aipe-results-wbs .wdur {
  color: #188D68 !important;
  background: rgba(36, 180, 126, .12) !important;
  border-color: rgba(36, 180, 126, .34) !important;
  font-weight: 900 !important;
}

body #wbsOut.aipe-results-wbs .wnode.drop-before {
  box-shadow: inset 0 3px 0 #24B47E, 0 14px 28px rgba(62, 74, 42, .12) !important;
}

body #wbsOut.aipe-results-wbs .wnode.drop-after {
  box-shadow: inset 0 -3px 0 #24B47E, 0 14px 28px rgba(62, 74, 42, .12) !important;
}

body #wbsOut.aipe-results-wbs .wbs-empty {
  border-color: rgba(36, 180, 126, .42) !important;
  background: rgba(255, 253, 248, .78) !important;
  color: #6B665C !important;
}

/* Final WBS row ergonomics: center content and make hovered row distinct */
body #wbsOut.aipe-results-wbs .wnode,
body #wbsOut.aipe-results-wbs .wact {
  min-height: 64px !important;
  height: 64px !important;
  display: grid !important;
  grid-template-columns: 30px 18px auto auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 10px !important;
  padding: 0 18px !important;
}

body #wbsOut.aipe-results-wbs .wnode>*,
body #wbsOut.aipe-results-wbs .wact>* {
  align-self: center !important;
  justify-self: start !important;
  margin-block: 0 !important;
}

body #wbsOut.aipe-results-wbs .wnode .wname,
body #wbsOut.aipe-results-wbs .wact .wname {
  display: flex !important;
  align-items: center !important;
  min-height: 24px !important;
  height: auto !important;
  line-height: 1.05 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(0) !important;
}

body #wbsOut.aipe-results-wbs .wmeta {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-self: end !important;
  margin-block: 0 !important;
}

body #wbsOut.aipe-results-wbs .wnode:hover,
body #wbsOut.aipe-results-wbs .wact:hover {
  background:
    linear-gradient(90deg, rgba(116, 124, 171, .26) 0%, rgba(238, 240, 255, .98) 58%, rgba(255, 253, 248, .98) 100%) !important;
  border-color: rgba(116, 124, 171, .72) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .92),
    0 0 0 3px rgba(116, 124, 171, .16),
    0 14px 30px rgba(77, 83, 126, .14) !important;
}

body #wbsOut.aipe-results-wbs .wnode.lv0:hover {
  background:
    linear-gradient(90deg, #0F2747 0%, #173B66 45%, rgba(238, 240, 255, .98) 100%) !important;
  border-color: rgba(116, 124, 171, .78) !important;
}

/* WBS hover/centering only: no row size, padding, or column width changes */
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wnode,
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wact {
  align-items: center !important;
}

body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wnode>*,
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wact>* {
  align-self: center !important;
  margin-block: 0 !important;
}

body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wnode .wname,
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wact .wname {
  align-items: center !important;
  padding-block: 0 !important;
}

/* WBS text alignment only: center label baselines inside existing card sizes */
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .tw,
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .grip,
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .act-bullet,
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wlevel,
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wcode {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wname {
  display: flex !important;
  align-items: center !important;
  align-self: stretch !important;
  line-height: 1.12 !important;
  padding: 0 !important;
  margin: 0 !important;
}

body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wmeta,
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wcnt,
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wdur,
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wdesc {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wnode:hover,
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wact:hover {
  background:
    linear-gradient(90deg, rgba(36, 180, 126, .30) 0%, rgba(251, 240, 204, .96) 52%, rgba(255, 253, 248, .98) 100%) !important;
  border-color: rgba(36, 180, 126, .82) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .94),
    0 0 0 3px rgba(36, 180, 126, .16),
    0 14px 30px rgba(36, 180, 126, .16) !important;
}

body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wnode:hover .wname,
body #wbsOut.aipe-results-wbs .wbs-tree-v10 .wbs-wrap .wact:hover .wname {
  color: #1B1A17 !important;
  text-shadow: none !important;
}

/* Histogram modern analytics layout */
body #histOut.aipe-results-histogram {
  --hist-navy: #0F2747;
  --hist-blue: #1E4E8C;
  --hist-cyan: #1187A8;
  --hist-green: #19A974;
  --hist-gold: #24B47E;
  --hist-amber: #188D68;
  --hist-ink: #101827;
  --hist-muted: #687385;
  --hist-line: #E5D8C2;
  --hist-panel: #FFFDF8;
  --hist-soft: #F7F3EC;
  padding: 28px 34px 38px !important;
  background: linear-gradient(180deg, #FFFDF8 0%, #F8F5EF 100%) !important;
}

body #histOut.aipe-results-histogram>.aipe-result-head {
  display: none !important;
}

body #histOut.aipe-results-histogram .h-modern {
  display: grid !important;
  gap: 16px !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body #histOut.aipe-results-histogram .h-hero,
body #histOut.aipe-results-histogram .h-stat-card,
body #histOut.aipe-results-histogram .h-filter-panel,
body #histOut.aipe-results-histogram .h-chart-card,
body #histOut.aipe-results-histogram .h-data-card,
body #histOut.aipe-results-histogram .h-matrix-card {
  border: 1px solid rgba(216, 205, 186, .84) !important;
  border-radius: 12px !important;
  background: rgba(255, 253, 248, .96) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    0 14px 30px rgba(15, 39, 71, .08) !important;
}

body #histOut.aipe-results-histogram .h-hero {
  position: relative !important;
  overflow: hidden !important;
  min-height: 78px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 16px 18px !important;
}

body #histOut.aipe-results-histogram .h-hero-main {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  min-width: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

body #histOut.aipe-results-histogram .h-hero-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  height: 54px !important;
  flex: 0 0 54px !important;
  border-radius: 8px !important;
  color: #F2C94C !important;
  background: linear-gradient(145deg, #071D38, #0F2747) !important;
  border: 1px solid rgba(36, 180, 126, .32) !important;
  box-shadow: 0 12px 26px rgba(15, 39, 71, .20) !important;
}

body #histOut.aipe-results-histogram svg {
  stroke-width: 2 !important;
}

body #histOut.aipe-results-histogram .h-hero-icon svg,
body #histOut.aipe-results-histogram .h-stat-ico svg,
body #histOut.aipe-results-histogram .h-filter-label svg,
body #histOut.aipe-results-histogram .h-chart-toggle svg {
  width: 20px !important;
  height: 20px !important;
}

body #histOut.aipe-results-histogram .h-hero h2 {
  margin: 0 !important;
  color: var(--hist-navy) !important;
  font-size: 18px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body #histOut.aipe-results-histogram .h-hero p {
  margin: 5px 0 0 !important;
  color: var(--hist-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body #histOut.aipe-results-histogram .h-hero-spark {
  width: min(430px, 48%) !important;
  height: 74px !important;
  flex: 0 1 430px !important;
  opacity: .95 !important;
}

body #histOut.aipe-results-histogram .h-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(130px, 1fr)) !important;
  gap: 12px !important;
}

body #histOut.aipe-results-histogram .h-stat-card {
  min-height: 72px !important;
  display: grid !important;
  grid-template-columns: 38px 1fr !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 12px !important;
  padding: 13px 15px !important;
}

body #histOut.aipe-results-histogram .h-stat-ico {
  grid-row: 1 / span 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  color: var(--hist-navy) !important;
  border: 1px solid rgba(216, 205, 186, .78) !important;
  background: #FFFDF8 !important;
}

body #histOut.aipe-results-histogram .h-stat-card .hl {
  color: #252D3A !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body #histOut.aipe-results-histogram .h-stat-card .hv {
  color: var(--hist-navy) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-tone-gold .hv,
body #histOut.aipe-results-histogram .h-tone-gold .h-stat-ico {
  color: var(--hist-amber) !important;
}

body #histOut.aipe-results-histogram .h-tone-blue .hv,
body #histOut.aipe-results-histogram .h-tone-blue .h-stat-ico {
  color: var(--hist-blue) !important;
}

body #histOut.aipe-results-histogram .h-tone-green .hv,
body #histOut.aipe-results-histogram .h-tone-green .h-stat-ico {
  color: var(--hist-green) !important;
}

body #histOut.aipe-results-histogram .h-filter-panel {
  display: grid !important;
  grid-template-columns: 1fr 1fr minmax(360px, 2.5fr) !important;
  gap: 0 !important;
  padding: 12px !important;
}

body #histOut.aipe-results-histogram .h-filter-section {
  min-width: 0 !important;
  padding: 0 14px !important;
  border-inline-end: 1px solid rgba(216, 205, 186, .70) !important;
}

body #histOut.aipe-results-histogram .h-filter-section:last-child {
  border-inline-end: 0 !important;
}

body #histOut.aipe-results-histogram .h-filter-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin-bottom: 9px !important;
  color: var(--hist-navy) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-segment,
body #histOut.aipe-results-histogram .h-chart-actions,
body #histOut.aipe-results-histogram .h-matrix-head div {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

body #histOut.aipe-results-histogram .h-btn,
body #histOut.aipe-results-histogram .h-chip {
  min-height: 34px !important;
  padding: 0 15px !important;
  border-radius: 7px !important;
  border: 1px solid rgba(216, 205, 186, .86) !important;
  background: #FFFDF8 !important;
  color: var(--hist-ink) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  box-shadow: 0 5px 12px rgba(15, 39, 71, .04) !important;
}

body #histOut.aipe-results-histogram .h-btn.active,
body #histOut.aipe-results-histogram .h-chip-on {
  background: linear-gradient(145deg, #061B34, #0F2747) !important;
  border-color: #0F2747 !important;
  color: #FFFDF8 !important;
}

body #histOut.aipe-results-histogram .h-res-bar {
  display: grid !important;
  grid-template-columns: minmax(160px, .8fr) minmax(0, 2.4fr) !important;
  gap: 8px !important;
  align-items: center !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

body #histOut.aipe-results-histogram .h-res-lbl {
  display: none !important;
}

body #histOut.aipe-results-histogram .h-res-srch {
  width: 100% !important;
  height: 34px !important;
  border: 1px solid rgba(216, 205, 186, .82) !important;
  border-radius: 7px !important;
  padding: 0 12px !important;
  background: #FFFDF8 !important;
  color: var(--hist-ink) !important;
}

body #histOut.aipe-results-histogram .h-res-chips {
  display: flex !important;
  gap: 7px !important;
  overflow-x: auto !important;
  padding: 0 2px 2px !important;
}

body #histOut.aipe-results-histogram .h-res-empty {
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 12px !important;
  color: var(--hist-muted) !important;
  border: 1px dashed rgba(216, 205, 186, .86) !important;
  border-radius: 7px !important;
}

body #histOut.aipe-results-histogram .h-chart-card {
  overflow: hidden !important;
}

body #histOut.aipe-results-histogram .h-chart-head,
body #histOut.aipe-results-histogram .h-matrix-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 16px 18px 8px !important;
}

body #histOut.aipe-results-histogram .h-chart-head h3,
body #histOut.aipe-results-histogram .h-matrix-head span {
  margin: 0 !important;
  color: var(--hist-navy) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-info-dot {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  margin-inline-start: 5px !important;
  border-radius: 99px !important;
  border: 1px solid rgba(104, 115, 133, .28) !important;
  color: var(--hist-muted) !important;
  font-size: 9px !important;
}

body #histOut.aipe-results-histogram .h-chart-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body #histOut.aipe-results-histogram .h-export-btn {
  color: var(--hist-green) !important;
  border-color: rgba(25, 169, 116, .26) !important;
}

body #histOut.aipe-results-histogram .h-excel-btn {
  color: #FFFDF8 !important;
  border-color: rgba(25, 169, 116, .58) !important;
  background: linear-gradient(145deg, #118A60, #19A974) !important;
}

.hdr .hist-header-export {
  margin-left: auto !important;
  border-color: rgba(25, 169, 116, .32) !important;
  background: linear-gradient(145deg, #118A60, #19A974) !important;
  color: #FFFDF8 !important;
}

body #histOut.aipe-results-histogram .h-modern .h-chart-wrap {
  margin: 0 !important;
  padding: 14px 18px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow-x: auto !important;
}

body #histOut.aipe-results-histogram .h-svg {
  max-width: none !important;
}

body #histOut.aipe-results-histogram .h-data-card {
  padding: 0 !important;
}

body #histOut.aipe-results-histogram .h-data-card .h-table-wrap,
body #histOut.aipe-results-histogram .h-matrix-card .h-matrix-wrap {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: none !important;
  background: transparent !important;
}

body #histOut.aipe-results-histogram .h-tbl tbody tr.h-above td {
  background: rgba(217, 108, 58, .09) !important;
}

body #histOut.aipe-results-histogram .h-tbl tbody tr.h-above .h-load-cell,
body #histOut.aipe-results-histogram .h-tbl tbody tr.h-above .h-avg-cell {
  color: #B42318 !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-tbl tbody tr.h-above .h-bar-inner {
  background: linear-gradient(90deg, #C9556B, #D96C3A) !important;
}

body #histOut.aipe-results-histogram .h-tbl tbody tr.h-below .h-load-cell,
body #histOut.aipe-results-histogram .h-tbl tbody tr.h-below .h-avg-cell {
  color: #1E4E8C !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-tbl tbody tr.h-below .h-bar-inner {
  background: linear-gradient(90deg, #1E4E8C, #1187A8) !important;
}

body #histOut.aipe-results-histogram .h-mtbl {
  min-width: 1180px !important;
}

body #histOut.aipe-results-histogram .h-mtbl .act-col {
  min-width: 330px !important;
  width: 330px !important;
  max-width: 420px !important;
}

body #histOut.aipe-results-histogram .h-mtbl .daily-col {
  min-width: 88px !important;
  text-align: center !important;
  color: #0F2747 !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-act-id {
  display: inline-block !important;
  margin-right: 8px !important;
  color: #1E4E8C !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-act-name {
  color: #101827 !important;
  font-weight: 800 !important;
  white-space: normal !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-section-row {
  color: #101827 !important;
  font-weight: 900 !important;
  text-align: center !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-labour-section {
  background: rgba(25, 169, 116, .10) !important;
  color: #118A60 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-equipment-section {
  background: rgba(227, 139, 44, .12) !important;
  color: #188D68 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .grp-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  margin-right: 8px !important;
  color: var(--res-color, #0F2747) !important;
  opacity: .85 !important;
  font-size: 0 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .grp-arrow::before {
  content: "⌄" !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row td {
  background: linear-gradient(90deg, rgba(var(--res-rgb), .18), rgba(var(--res-rgb), .08) 58%, rgba(255, 253, 248, .96)) !important;
  border-bottom-color: rgba(var(--res-rgb), .20) !important;
  color: #0F2747 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row td.act-col {
  background: linear-gradient(90deg, rgba(var(--res-rgb), .24), rgba(var(--res-rgb), .10) 72%, rgba(255, 253, 248, .98)) !important;
  border-left: 3px solid var(--res-color, #1E4E8C) !important;
  color: #0F2747 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row .daily-col {
  background: linear-gradient(180deg, rgba(var(--res-rgb), .22), rgba(var(--res-rgb), .10)) !important;
  color: #0F2747 !important;
  box-shadow: inset 0 0 0 1px rgba(var(--res-rgb), .20) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row td {
  background: linear-gradient(90deg, rgba(var(--res-rgb), .075), rgba(var(--res-rgb), .035) 56%, rgba(255, 253, 248, .98)) !important;
  border-bottom-color: rgba(var(--res-rgb), .13) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row td.act-col {
  background: linear-gradient(90deg, rgba(var(--res-rgb), .10), rgba(var(--res-rgb), .04) 75%, rgba(255, 253, 248, .98)) !important;
  border-left: 2px solid rgba(var(--res-rgb), .50) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row .daily-col {
  color: var(--res-color, #1E4E8C) !important;
  background: rgba(var(--res-rgb), .10) !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row .h-act-id,
body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row .h-act-id {
  color: var(--res-color, #1E4E8C) !important;
  border-color: rgba(var(--res-rgb), .42) !important;
  background: rgba(var(--res-rgb), .08) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row b {
  color: #0F2747 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-bar {
  display: inline-block !important;
  width: 3px !important;
  height: 16px !important;
  margin-right: 10px !important;
  border-radius: 2px !important;
  background: var(--res-color, #1E4E8C) !important;
  vertical-align: middle !important;
  box-shadow: 0 0 0 3px rgba(var(--res-rgb), .10) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .grp-arrow::before {
  content: "v" !important;
}

body #histOut.aipe-results-histogram .h-matrix-card {
  border: 1px solid rgba(216, 205, 186, .82) !important;
  border-radius: 13px !important;
  background: #FFFDF8 !important;
  box-shadow: 0 18px 38px rgba(15, 39, 71, .08) !important;
}

body #histOut.aipe-results-histogram .h-matrix-card .h-matrix-wrap {
  max-height: 520px !important;
  overflow: auto !important;
  border-top: 1px solid rgba(216, 205, 186, .70) !important;
  border-radius: 0 0 13px 13px !important;
  scrollbar-color: rgba(15, 39, 71, .35) rgba(216, 205, 186, .35) !important;
}

body #histOut.aipe-results-histogram .h-mtbl {
  min-width: 1320px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #FFFDF8 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .act-col {
  min-width: 390px !important;
  width: 390px !important;
  max-width: 460px !important;
}

body #histOut.aipe-results-histogram .h-mtbl thead th {
  height: 38px !important;
  padding: 0 12px !important;
  background: linear-gradient(180deg, #0F2747, #081C35) !important;
  border-right: 1px solid rgba(255, 253, 248, .16) !important;
  border-bottom: 2px solid #24B47E !important;
  color: rgba(255, 253, 248, .92) !important;
  font-size: 10px !important;
  letter-spacing: .7px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body #histOut.aipe-results-histogram .h-mtbl thead th.act-col {
  left: 0 !important;
  z-index: 12 !important;
  text-align: left !important;
  background: linear-gradient(180deg, #0B213D, #06172C) !important;
}

body #histOut.aipe-results-histogram .h-mtbl thead th.daily-col {
  position: sticky !important;
  left: 390px !important;
  z-index: 11 !important;
  color: #F7D46E !important;
  background: linear-gradient(180deg, #102A4E, #071A31) !important;
}

body #histOut.aipe-results-histogram .h-mtbl tbody td,
body #histOut.aipe-results-histogram .h-mtbl tfoot td {
  height: 34px !important;
  padding: 0 12px !important;
  border-right: 1px solid rgba(216, 205, 186, .42) !important;
  border-bottom: 1px solid rgba(216, 205, 186, .50) !important;
  color: #253049 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-align: center !important;
  background: #FFFDF8 !important;
}

body #histOut.aipe-results-histogram .h-mtbl tbody td.act-col,
body #histOut.aipe-results-histogram .h-mtbl tfoot td.act-col {
  left: 0 !important;
  z-index: 5 !important;
  text-align: left !important;
  background: #FFFDF8 !important;
  box-shadow: 8px 0 16px rgba(15, 39, 71, .04) !important;
}

body #histOut.aipe-results-histogram .h-mtbl tbody td.daily-col,
body #histOut.aipe-results-histogram .h-mtbl tfoot td.daily-col {
  position: sticky !important;
  left: 390px !important;
  z-index: 4 !important;
  width: 104px !important;
  min-width: 104px !important;
  background: #FAF4E8 !important;
  color: #0F2747 !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row td {
  height: 42px !important;
  background: linear-gradient(90deg, rgba(var(--res-rgb), .13), rgba(255, 253, 248, .98) 52%) !important;
  border-top: 1px solid rgba(var(--res-rgb), .28) !important;
  border-bottom: 1px solid rgba(var(--res-rgb), .30) !important;
  color: #0F2747 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row td.act-col {
  padding-left: 16px !important;
  background: linear-gradient(90deg, rgba(var(--res-rgb), .18), rgba(255, 253, 248, .98) 72%) !important;
  border-left: 4px solid var(--res-color, #1E4E8C) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row td.daily-col {
  background: linear-gradient(180deg, rgba(var(--res-rgb), .14), rgba(255, 253, 248, .92)) !important;
  color: var(--res-color, #1E4E8C) !important;
  box-shadow: inset 0 0 0 1px rgba(var(--res-rgb), .20) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row b {
  color: #0F2747 !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row .act-col>span:first-child {
  display: inline-block !important;
  width: 3px !important;
  height: 18px !important;
  margin-right: 10px !important;
  border-radius: 2px !important;
  vertical-align: middle !important;
  box-shadow: 0 0 0 3px rgba(var(--res-rgb), .10) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row td {
  height: 33px !important;
  background: #FFFDF8 !important;
  color: #253049 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row:hover td {
  background: rgba(var(--res-rgb), .045) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row td.act-col {
  padding-left: 48px !important;
  background: linear-gradient(90deg, rgba(var(--res-rgb), .055), #FFFDF8 46%) !important;
  border-left: 4px solid rgba(var(--res-rgb), .28) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row td.act-col::before {
  content: "" !important;
  position: absolute !important;
  left: 24px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  background: rgba(var(--res-rgb), .22) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row td.daily-col {
  background: rgba(var(--res-rgb), .07) !important;
  color: var(--res-color, #1E4E8C) !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-act-id {
  min-width: 64px !important;
  height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 10px !important;
  padding: 0 8px !important;
  border: 1px solid rgba(var(--res-rgb), .34) !important;
  border-radius: 999px !important;
  background: rgba(var(--res-rgb), .075) !important;
  color: var(--res-color, #1E4E8C) !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  letter-spacing: .2px !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-act-name {
  color: #172033 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-section-row {
  height: 34px !important;
  background: #FFF9EA !important;
  color: #0F2747 !important;
  border-top: 1px solid rgba(36, 180, 126, .26) !important;
  border-bottom: 1px solid rgba(36, 180, 126, .20) !important;
  font-size: 11px !important;
  letter-spacing: .4px !important;
  text-transform: uppercase !important;
}

body #histOut.aipe-results-histogram .h-mtbl tfoot td {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 9 !important;
  height: 38px !important;
  background: linear-gradient(180deg, #FFF6DF, #F7E8C2) !important;
  border-top: 2px solid rgba(36, 180, 126, .55) !important;
  color: #0F2747 !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-mtbl tfoot td.act-col {
  z-index: 10 !important;
  background: linear-gradient(180deg, #FFF6DF, #F7E8C2) !important;
}

body #histOut.aipe-results-histogram .h-matrix-card {
  overflow: hidden !important;
}

/* Final compact reset for the resource allocation matrix. */
body #histOut.aipe-results-histogram .h-matrix-card {
  border: 1px solid rgba(216, 205, 186, .76) !important;
  border-radius: 10px !important;
  background: #FFFDF8 !important;
  box-shadow: 0 14px 28px rgba(15, 39, 71, .055) !important;
}

body #histOut.aipe-results-histogram .h-matrix-card .h-matrix-wrap {
  max-height: 460px !important;
  overflow: auto !important;
  border-top: 1px solid rgba(216, 205, 186, .58) !important;
  border-radius: 0 0 10px 10px !important;
  background: #FFFDF8 !important;
}

body #histOut.aipe-results-histogram .h-mtbl {
  min-width: 1120px !important;
  width: max-content !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #FFFDF8 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .act-col {
  min-width: 342px !important;
  width: 342px !important;
  max-width: 380px !important;
}

body #histOut.aipe-results-histogram .h-mtbl thead th {
  height: 34px !important;
  padding: 0 10px !important;
  background: #0F2747 !important;
  border-right: 1px solid rgba(255, 253, 248, .12) !important;
  border-bottom: 1px solid rgba(36, 180, 126, .46) !important;
  color: #F6F0E5 !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  letter-spacing: .35px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body #histOut.aipe-results-histogram .h-mtbl thead th.act-col {
  left: 0 !important;
  z-index: 12 !important;
  text-align: left !important;
  background: #0B213D !important;
}

body #histOut.aipe-results-histogram .h-mtbl thead th.daily-col {
  position: static !important;
  left: auto !important;
  z-index: 5 !important;
  min-width: 82px !important;
  width: 82px !important;
  color: #F6F0E5 !important;
  background: #0F2747 !important;
}

body #histOut.aipe-results-histogram .h-mtbl tbody td,
body #histOut.aipe-results-histogram .h-mtbl tfoot td {
  height: 29px !important;
  padding: 0 9px !important;
  border-right: 1px solid rgba(216, 205, 186, .24) !important;
  border-bottom: 1px solid rgba(216, 205, 186, .32) !important;
  background: #FFFDF8 !important;
  color: #1F2937 !important;
  font-size: 11.5px !important;
  font-weight: 750 !important;
  text-align: center !important;
}

body #histOut.aipe-results-histogram .h-mtbl tbody td.act-col,
body #histOut.aipe-results-histogram .h-mtbl tfoot td.act-col {
  left: 0 !important;
  z-index: 5 !important;
  text-align: left !important;
  background: #FFFDF8 !important;
  box-shadow: 5px 0 10px rgba(15, 39, 71, .035) !important;
}

body #histOut.aipe-results-histogram .h-mtbl tbody td.daily-col,
body #histOut.aipe-results-histogram .h-mtbl tfoot td.daily-col {
  position: static !important;
  left: auto !important;
  z-index: 1 !important;
  min-width: 82px !important;
  width: 82px !important;
  background: #FBF7EF !important;
  color: #0F2747 !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row td {
  height: 34px !important;
  background: #FCFAF5 !important;
  border-top: 1px solid rgba(var(--res-rgb), .22) !important;
  border-bottom: 1px solid rgba(216, 205, 186, .44) !important;
  color: #0F2747 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row td.act-col {
  padding-left: 14px !important;
  background: linear-gradient(90deg, rgba(var(--res-rgb), .10), #FCFAF5 34%) !important;
  border-left: 3px solid var(--res-color, #1E4E8C) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row td.daily-col {
  background: #F7F1E5 !important;
  color: #0F2747 !important;
  box-shadow: inset 0 0 0 1px rgba(var(--res-rgb), .12) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row b {
  color: #0F2747 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-row .act-col>span:first-child {
  width: 3px !important;
  height: 16px !important;
  margin-right: 9px !important;
  box-shadow: none !important;
}

body #histOut.aipe-results-histogram .h-mtbl .grp-arrow {
  width: 12px !important;
  height: 12px !important;
  margin-right: 6px !important;
  color: rgba(15, 39, 71, .56) !important;
  opacity: 1 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .grp-arrow::before {
  content: "" !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row td {
  height: 29px !important;
  background: #FFFDF8 !important;
  color: #263247 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row:nth-child(even) td {
  background: #FFFCF6 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row:hover td {
  background: #F8FAFC !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row td.act-col {
  padding-left: 38px !important;
  background: #FFFDF8 !important;
  border-left: 3px solid rgba(var(--res-rgb), .26) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row:nth-child(even) td.act-col {
  background: #FFFCF6 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row td.act-col::before {
  left: 24px !important;
  background: rgba(var(--res-rgb), .16) !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-resource-child-row td.daily-col {
  background: #FBF7EF !important;
  color: #0F2747 !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-act-id {
  min-width: 56px !important;
  height: 19px !important;
  margin-right: 8px !important;
  padding: 0 7px !important;
  border: 1px solid rgba(var(--res-rgb), .30) !important;
  border-radius: 999px !important;
  background: #FFFDF8 !important;
  color: var(--res-color, #1E4E8C) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-act-name {
  color: #1F2937 !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
}

body #histOut.aipe-results-histogram .h-mtbl .h-section-row {
  height: 30px !important;
  background: #FFFBF2 !important;
  color: #0F2747 !important;
  border-top: 1px solid rgba(36, 180, 126, .18) !important;
  border-bottom: 1px solid rgba(216, 205, 186, .44) !important;
  font-size: 10px !important;
  letter-spacing: .28px !important;
  text-transform: uppercase !important;
}

body #histOut.aipe-results-histogram .h-mtbl tfoot td {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 8 !important;
  height: 32px !important;
  background: #FFF2D2 !important;
  border-top: 1px solid rgba(36, 180, 126, .45) !important;
  color: #0F2747 !important;
  font-weight: 900 !important;
}

body #histOut.aipe-results-histogram .h-mtbl tfoot td.act-col {
  z-index: 10 !important;
  background: #FFF2D2 !important;
}

@media (max-width: 1100px) {
  body #histOut.aipe-results-histogram .h-stat-grid {
    grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
  }

  body #histOut.aipe-results-histogram .h-filter-panel {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body #histOut.aipe-results-histogram .h-filter-section {
    border-inline-end: 0 !important;
    border-bottom: 1px solid rgba(216, 205, 186, .70) !important;
    padding: 0 0 12px !important;
  }

  body #histOut.aipe-results-histogram .h-filter-section:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}
/* styles/tabs/141-core-pages-theme-refresh.css */
/* Calendar page stabilization.
   Scoped to #tp-calendar only. This file only normalizes the current Calendar
   markup so it stays organized and readable. */

#tp-calendar {
  --cal-navy: #0f2747;
  --cal-navy-2: #17365d;
  --cal-gold: #24B47E;
  --cal-gold-2: #188D68;
  --cal-ink: #10213a;
  --cal-muted: #657287;
  --cal-line: #dfe3ea;
  --cal-soft: #fffaf0;
  --cal-white: #ffffff;
  padding: 28px 32px 42px !important;
  background: linear-gradient(180deg, #fbfaf7 0%, #f3f0e8 100%) !important;
  color: var(--cal-ink) !important;
}

#tp-calendar *,
#tp-calendar *::before,
#tp-calendar *::after {
  box-sizing: border-box;
}

#tp-calendar svg {
  display: block;
  flex: 0 0 auto;
}

#tp-calendar .pcal-wrap,
#tp-calendar .pcal-ref-shell {
  width: min(1580px, calc(100vw - 150px)) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: start !important;
}

#tp-calendar .pcal-list-col,
#tp-calendar .pcal-editor {
  border: 1px solid rgba(213,202,183,.82) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.94) !important;
  color: var(--cal-ink) !important;
  box-shadow: 0 20px 50px rgba(15,39,71,.08) !important;
  overflow: hidden !important;
}

#tp-calendar .pcal-list-col {
  min-height: 620px !important;
  padding: 20px !important;
}

#tp-calendar .pcal-list-hdr {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--cal-ink) !important;
  box-shadow: none !important;
}

#tp-calendar .pcal-list-hdr > span {
  color: var(--cal-ink) !important;
  font-size: 16px !important;
  font-weight: 850 !important;
}

#tp-calendar .hbtn,
#tp-calendar .pcal-preset,
#tp-calendar .pcal-nav-sm {
  min-width: 0 !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 8px !important;
  border: 1px solid var(--cal-line) !important;
  background: var(--cal-white) !important;
  color: var(--cal-ink) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

#tp-calendar .hbtn svg,
#tp-calendar .pcal-preset svg,
#tp-calendar .pcal-nav-sm svg {
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  max-width: 15px !important;
  color: currentColor !important;
}

#tp-calendar .hbtn.primary,
#tp-calendar .pcal-save-btn,
#tp-calendar .pcal-new-btn,
#tp-calendar .pcal-add-years-btn,
#tp-calendar .pcal-open-planner-btn {
  background: linear-gradient(145deg, #061f3e, var(--cal-navy)) !important;
  border-color: rgba(15,39,71,.22) !important;
  color: #fffdf8 !important;
}

#tp-calendar .pcal-add-manual-btn {
  background: linear-gradient(145deg, var(--cal-gold-2), var(--cal-gold)) !important;
  border-color: rgba(36,180,126,.34) !important;
  color: #fffdf8 !important;
}

#tp-calendar .pcal-item {
  width: 100% !important;
  min-height: 94px !important;
  padding: 14px !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: start !important;
  border-radius: 10px !important;
  border: 1px solid rgba(36,180,126,.55) !important;
  background: #e8f5e9 !important;
  color: var(--cal-ink) !important;
  cursor: pointer !important;
}

#tp-calendar .pcal-item.active {
  background: #e8f5e9 !important;
  border-color: rgba(36,180,126,.85) !important;
}

#tp-calendar .pcal-item-ico {
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 8px !important;
  background: #fff !important;
  border: 1px solid rgba(213,202,183,.82) !important;
  color: var(--cal-navy) !important;
}

#tp-calendar .pcal-item-ico svg {
  width: 19px !important;
  height: 19px !important;
}

#tp-calendar .pcal-item-name {
  color: var(--cal-ink) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#tp-calendar .pcal-item-meta {
  margin-top: 6px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  color: var(--cal-muted) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

#tp-calendar .pcal-item-badge {
  height: 22px !important;
  padding: 0 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  background: #e8f5e9 !important;
  color: #188D68 !important;
  font-size: 10px !important;
  font-weight: 850 !important;
}

#tp-calendar .pcal-editor-body {
  padding: 0 !important;
}

#tp-calendar .pcal-editor-hdr {
  min-height: 104px !important;
  padding: 24px 28px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 22px !important;
  border-bottom: 1px solid var(--cal-line) !important;
  background: var(--cal-white) !important;
}

#tp-calendar .pcal-title-wrap {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

#tp-calendar .pcal-title-line {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

#tp-calendar .pcal-name-inp {
  width: 100% !important;
  max-width: 620px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--cal-ink) !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  outline: 0 !important;
}

#tp-calendar .pcal-editor-meta {
  margin-top: 8px !important;
  color: #8a95a6 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

#tp-calendar .pcal-ghost-icon {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
  color: #64748b !important;
}

#tp-calendar .pcal-ghost-icon svg {
  width: 16px !important;
  height: 16px !important;
}

#tp-calendar .pcal-header-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
}

#tp-calendar .pcal-delete-btn,
#tp-calendar .pcal-save-btn {
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 16px !important;
}

#tp-calendar .pcal-delete-btn {
  background: #fff !important;
  color: #6b7280 !important;
}

#tp-calendar .pcal-stats-strip {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  border-bottom: 1px solid var(--cal-line) !important;
  background: var(--cal-white) !important;
}

#tp-calendar .pcal-stat-card {
  min-height: 118px !important;
  padding: 18px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-right: 1px solid var(--cal-line) !important;
  text-align: center !important;
}

#tp-calendar .pcal-stat-card:last-child {
  border-right: 0 !important;
}

#tp-calendar .pcal-stat-icon {
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #f3f6fb !important;
  border: 1px solid rgba(224,226,232,.95) !important;
  color: var(--cal-navy) !important;
}

#tp-calendar .pcal-stat-icon svg {
  width: 18px !important;
  height: 18px !important;
}

#tp-calendar .pcal-sum-val {
  color: var(--cal-ink) !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

#tp-calendar .pcal-sum-lbl {
  color: #8a95a6 !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
}

#tp-calendar .pcal-section {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cal-line) !important;
  background: var(--cal-white) !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#tp-calendar .pcal-section-title {
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 28px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, var(--cal-navy) 0%, var(--cal-navy-2) 68%, #2c3d31 100%) !important;
  border-bottom: 1px solid rgba(36,180,126,.42) !important;
  color: #fffdf8 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

#tp-calendar .pcal-section-title > span:not(.tbadge),
#tp-calendar .pcal-section-title .pcal-title-icon,
#tp-calendar .pcal-section-title svg {
  color: #fffdf8 !important;
}

#tp-calendar .pcal-section-title .tbadge {
  height: 24px !important;
  min-width: 28px !important;
  padding: 0 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(36,180,126,.18) !important;
  border: 1px solid rgba(36,180,126,.55) !important;
  color: #c8f0d0 !important;
  font-size: 11px !important;
}

#tp-calendar .pcal-section-title .hbtn,
#tp-calendar .pcal-section-title button {
  margin-left: auto !important;
  height: 32px !important;
  min-height: 32px !important;
  background: #fffdf8 !important;
  border-color: rgba(36,180,126,.52) !important;
  color: var(--cal-navy) !important;
}

#tp-calendar .pcal-workweek-row {
  padding: 22px 28px 18px !important;
  display: grid !important;
  grid-template-columns: minmax(320px, .95fr) minmax(480px, 1.15fr) !important;
  gap: 28px !important;
  align-items: start !important;
  background: var(--cal-white) !important;
  border-bottom: 1px solid var(--cal-line) !important;
}

#tp-calendar .pcal-days-label,
#tp-calendar .pcal-field-label,
#tp-calendar .lbl,
#tp-calendar label,
#tp-calendar .pcal-preset-label {
  margin: 0 0 10px !important;
  color: #26364f !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
}

#tp-calendar .pcal-days-row,
#tp-calendar .pcal-hours-row,
#tp-calendar .pcal-holiday-btns {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

#tp-calendar .pcal-day-btn {
  width: 46px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border-radius: 8px !important;
  border: 1px solid var(--cal-line) !important;
  background: #f6f7f8 !important;
  color: #6b7280 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

#tp-calendar .pcal-day-btn.on {
  background: linear-gradient(145deg, #061f3e, var(--cal-navy)) !important;
  border-color: rgba(15,39,71,.26) !important;
  color: #fffdf8 !important;
}

#tp-calendar .pcal-day-btn.weekend-day.on {
  background: linear-gradient(145deg, #a4580c, #c06b14) !important;
  color: #fffdf8 !important;
}

#tp-calendar .fg {
  min-width: 0 !important;
}

#tp-calendar .inp,
#tp-calendar input:not(.pcal-name-inp),
#tp-calendar select {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  border: 1px solid #cfd6e1 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--cal-ink) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  box-shadow: none !important;
}

#tp-calendar .pcal-input-affix {
  position: relative !important;
}

#tp-calendar .pcal-input-affix input {
  padding-right: 42px !important;
}

#tp-calendar .pcal-input-affix span {
  position: absolute !important;
  top: 50% !important;
  right: 12px !important;
  transform: translateY(-50%) !important;
  color: #6b7280 !important;
  font-size: 11px !important;
}

#tp-calendar .pcal-presets-row {
  padding: 14px 28px 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  background: var(--cal-white) !important;
}

#tp-calendar .pcal-holiday-manual {
  padding: 20px 28px 16px !important;
  display: grid !important;
  grid-template-columns: minmax(200px, 260px) minmax(260px, 1fr) minmax(210px, 260px) !important;
  gap: 12px !important;
  align-items: end !important;
  border-bottom: 1px solid var(--cal-line) !important;
  background: var(--cal-white) !important;
}

#tp-calendar .pcal-holiday-manual .pcal-field-label {
  grid-column: 1 / -1 !important;
  margin-bottom: -4px !important;
}

#tp-calendar .pcal-holiday-presets {
  padding: 18px 28px !important;
  border-bottom: 1px solid var(--cal-line) !important;
  background: var(--cal-white) !important;
}

#tp-calendar .pcal-region-row {
  display: grid !important;
  grid-template-columns: 230px minmax(320px, 1fr) 230px !important;
  gap: 14px !important;
  align-items: end !important;
}

#tp-calendar .pcal-country-note-row,
#tp-calendar .pcal-applied-years {
  margin-top: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

#tp-calendar #pcalProjectYearsTag,
#tp-calendar #pcalCountryNote,
#tp-calendar .pcal-applied-years span {
  min-height: 28px !important;
  padding: 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 7px !important;
  background: #e8f1fb !important;
  border: 1px solid #c7dcf7 !important;
  color: #1e4e8c !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

#tp-calendar .pcal-exc-list {
  max-height: 300px !important;
  overflow: auto !important;
  padding: 10px 28px 18px !important;
  background: var(--cal-white) !important;
}

#tp-calendar .pcal-exc-item {
  min-height: 48px !important;
  margin-bottom: 8px !important;
  padding: 10px 12px 10px 14px !important;
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) 32px !important;
  gap: 14px !important;
  align-items: center !important;
  border-radius: 8px !important;
  border: 1px solid rgba(36,180,126,.34) !important;
  background: #fff6df !important;
}

#tp-calendar .pcal-exc-date,
#tp-calendar .pcal-exc-desc {
  color: var(--cal-ink) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

#tp-calendar .pcal-exc-main {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

#tp-calendar .pcal-exc-meta {
  color: #188D68 !important;
  font-size: 11px !important;
  font-weight: 750 !important;
}

#tp-calendar .pcal-exc-del {
  width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  border-radius: 7px !important;
  border: 1px solid rgba(216,76,76,.25) !important;
  background: #fff5f5 !important;
  color: #be3b3b !important;
  font-weight: 850 !important;
}

#tp-calendar .pcal-annual-section,
#tp-calendar .pcal-overrides-section {
  display: block !important;
}

#tp-calendar .pcal-year-nav {
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

#tp-calendar .pcal-year-grid {
  padding: 20px 28px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  background: var(--cal-white) !important;
}

#tp-calendar .pcal-month-card {
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 9px !important;
  border: 1px solid var(--cal-line) !important;
  background: #fff !important;
}

#tp-calendar .pcal-month-card-hdr {
  min-height: 34px !important;
  padding: 0 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #f8fafc !important;
  border-bottom: 1px solid var(--cal-line) !important;
  color: var(--cal-ink) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}

#tp-calendar .pcal-month-card-hdr .mhdr-name {
  color: #10213a !important;
  font-weight: 900 !important;
}

#tp-calendar .pcal-month-card-hdr .mhdr-stats {
  color: #2563eb !important;
  font-weight: 850 !important;
}

#tp-calendar .pcal-month-card-hdr .mhdr-work {
  color: #2563eb !important;
}

#tp-calendar .pcal-month-card-hdr .mhdr-holidays {
  color: #b45309 !important;
}

#tp-calendar .pcal-month-dow,
#tp-calendar .pcal-month-days {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
}

#tp-calendar .pcal-month-dow {
  padding: 7px 8px 3px !important;
  gap: 4px !important;
  color: #d9e7f7 !important;
  font-size: 9px !important;
  font-weight: 850 !important;
}

#tp-calendar .pcal-month-dow span {
  color: #d9e7f7 !important;
}

#tp-calendar .pcal-month-dow span.dow-off {
  color: #10213a !important;
}

#tp-calendar .pcal-month-days {
  padding: 3px 8px 10px !important;
  gap: 4px !important;
}

#tp-calendar .pcal-mday {
  height: 22px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 5px !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
}

#tp-calendar .pcal-mday.work {
  background: #e4edf8 !important;
  color: #16406f !important;
}

#tp-calendar .pcal-mday.off {
  background: #eef0f3 !important;
  color: #6b7280 !important;
}

#tp-calendar .pcal-mday.holiday {
  background: #c8f0d0 !important;
  color: #0d5c3f !important;
  border: 1px solid rgba(196,139,22,.30) !important;
}

#tp-calendar .pcal-mday.today-d {
  background: var(--cal-navy) !important;
  color: #fffdf8 !important;
}

#tp-calendar .pcal-legend,
#tp-calendar .pcal-act-overrides {
  padding: 0 28px 18px !important;
  background: var(--cal-white) !important;
}

#tp-calendar .pcal-legend {
  align-items: center !important;
  gap: 12px !important;
}

#tp-calendar .pcal-leg-item {
  min-height: 28px !important;
  padding: 4px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  border-radius: 8px !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

#tp-calendar .pcal-leg-item.work {
  color: #1f6b4b !important;
  background: #d9eee4 !important;
}

#tp-calendar .pcal-leg-item.off {
  color: #24364d !important;
  background: #d6dce5 !important;
}

#tp-calendar .pcal-leg-item.hol {
  color: #188D68 !important;
  background: #e8f5e9 !important;
}

#tp-calendar .pcal-leg-item.today {
  color: #1d5fd1 !important;
  background: #dce7ff !important;
}

#tp-calendar .pcal-open-planner-btn {
  width: calc(100% - 56px) !important;
  margin: 18px 28px 12px !important;
}

#tp-calendar .pcal-override-details {
  margin: 0 28px 18px !important;
  border: 1px solid var(--cal-line) !important;
  border-radius: 9px !important;
  background: #fff !important;
  overflow: hidden !important;
}

#tp-calendar .pcal-override-details summary {
  min-height: 38px !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
  color: var(--cal-ink) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  background: #f8fafc !important;
}

#tp-calendar .pcal-override-form {
  padding: 16px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

#tp-calendar .pcal-quick-row,
#tp-calendar .pcal-override-actions {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

#tp-calendar .pcal-sync-bar {
  display: none !important;
}

@media (max-width: 1100px) {
  #tp-calendar {
    padding: 20px !important;
  }

  #tp-calendar .pcal-wrap,
  #tp-calendar .pcal-ref-shell {
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }

  #tp-calendar .pcal-list-col {
    min-height: auto !important;
  }

  #tp-calendar .pcal-workweek-row,
  #tp-calendar .pcal-holiday-manual,
  #tp-calendar .pcal-region-row,
  #tp-calendar .pcal-year-grid,
  #tp-calendar .pcal-override-form {
    grid-template-columns: 1fr !important;
  }
}

/* Relations page final polish.
   Loaded after the shared results theme so the Relations tab keeps its own
   navy/white professional look and does not show confidence UI. */
#tp-links {
  --rel-navy: #0f2747;
  --rel-navy-2: #17365d;
  --rel-ink: #10213a;
  --rel-muted: #657287;
  --rel-line: #dfe3ea;
  --rel-gold: #24B47E;
  background: linear-gradient(180deg, #fbfaf7 0%, #f3f0e8 100%) !important;
}

#tp-links #linksOut.aipe-result-out {
  --rel-navy: #0f2747;
  --rel-navy-2: #17365d;
  --rel-ink: #10213a;
  --rel-muted: #657287;
  --rel-line: #dfe3ea;
  --rel-gold: #24B47E;
  padding: 26px 32px 34px !important;
  background: transparent !important;
  color: var(--rel-ink) !important;
  font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

#tp-links > .lk-page-hdr {
  display: flex !important;
  min-height: 78px !important;
  margin: 0 0 14px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(232, 236, 239, .94) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 18px 36px rgba(15, 27, 46, .08) !important;
}

#tp-links #linksOut.aipe-result-out > .aipe-result-head {
  display: none !important;
}

#tp-links #linksOut .aipe-result-icon {
  width: 44px !important;
  height: 44px !important;
  flex-basis: 44px !important;
  border-radius: 10px !important;
  color: #24B47E !important;
  background: rgba(36, 180, 126, .10) !important;
  border: 1px solid rgba(36, 180, 126, .32) !important;
  box-shadow: none !important;
}

#tp-links #linksOut .aipe-result-title {
  color: #fffdf8 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}

#tp-links #linksOut .aipe-result-kicker {
  color: rgba(255, 253, 248, .58) !important;
}

#tp-links #linksOut .aipe-result-sub {
  color: rgba(255, 253, 248, .74) !important;
}

#tp-links #linksOut .aipe-result-pill {
  border-color: rgba(36, 180, 126, .46) !important;
  background: rgba(255, 253, 248, .08) !important;
  color: #c8f0d0 !important;
}

#tp-links #linksOut .lk-stats {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 1px solid var(--rel-line) !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: var(--rel-ink) !important;
  box-shadow: 0 12px 28px rgba(15, 39, 71, .06) !important;
  overflow: hidden !important;
}

#tp-links #linksOut .lk-stat {
  min-height: 70px !important;
  padding: 14px 18px !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 12px !important;
  align-items: center !important;
  border-right: 1px solid var(--rel-line) !important;
  background: #ffffff !important;
}

#tp-links #linksOut .lk-stat:nth-of-type(6),
#tp-links #linksOut .lk-stat:nth-of-type(7),
#tp-links #linksOut .lk-stats > span {
  display: none !important;
}

#tp-links #linksOut .lk-stat::before {
  content: "" !important;
  grid-row: 1 / 3 !important;
  width: 36px !important;
  height: 36px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 9px !important;
  border: 1px solid #dfe6ef !important;
  background: #f6f9fd !important;
  color: var(--rel-navy) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 18px 18px !important;
}

#tp-links #linksOut .lk-stat:nth-of-type(1)::before,
#tp-links #linksOut .lk-stat:nth-of-type(4)::before,
#tp-links #linksOut .lk-stat:nth-of-type(5)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23102747' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.07 0l2-2a5 5 0 0 0-7.07-7.07l-1.1 1.1'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.07 0l-2 2A5 5 0 0 0 12 20.07l1.1-1.1'/%3E%3C/svg%3E") !important;
}

#tp-links #linksOut .lk-stat:nth-of-type(2)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23102747' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='3' width='8' height='4' rx='1'/%3E%3Cpath d='M16 5h2a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2'/%3E%3Cpath d='M8 12h8M8 16h8'/%3E%3C/svg%3E") !important;
}

#tp-links #linksOut .lk-stat:nth-of-type(3)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23102747' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='3'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") !important;
}

#tp-links #linksOut .lk-stat .sv {
  grid-column: 2 !important;
  color: var(--rel-ink) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

#tp-links #linksOut .lk-stat .sl {
  grid-column: 2 !important;
  color: var(--rel-muted) !important;
  font-size: 0 !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#tp-links #linksOut .lk-stat .sl::after {
  font-size: 10px !important;
  line-height: 1.25 !important;
}

#tp-links #linksOut .lk-stat:nth-of-type(1) .sl::after { content: "Relationships"; }
#tp-links #linksOut .lk-stat:nth-of-type(2) .sl::after { content: "Activities"; }
#tp-links #linksOut .lk-stat:nth-of-type(3) .sl::after { content: "Project Days"; }
#tp-links #linksOut .lk-stat:nth-of-type(4) .sl::after { content: "Finish to Start"; }
#tp-links #linksOut .lk-stat:nth-of-type(5) .sl::after { content: "Start to Start"; }

#tp-links #linksOut .lk-health {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#tp-links #linksOut .lk-health .hc {
  min-height: 86px !important;
  padding: 16px 20px !important;
  border: 1px solid var(--rel-line) !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, #ffffff, #f8fbff) !important;
  box-shadow: 0 10px 24px rgba(15, 39, 71, .05) !important;
}

#tp-links #linksOut .lk-health .hc:nth-child(4) {
  display: none !important;
}

#tp-links #linksOut .lk-health .hv {
  color: #2563eb !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

#tp-links #linksOut .lk-health .hc:nth-child(2) .hv {
  color: #b45309 !important;
}

#tp-links #linksOut .lk-health .hc:nth-child(3) .hv {
  color: #be185d !important;
}

#tp-links #linksOut .lk-health .hl {
  margin-top: 7px !important;
  color: var(--rel-muted) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}

#tp-links #linksOut .lk-tbl-wrap {
  border: 1px solid var(--rel-line) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 14px 32px rgba(15, 39, 71, .06) !important;
  max-height: 56vh !important;
}

#tp-links #linksOut .lk-tbl thead th {
  background: linear-gradient(180deg, #122b4b, #0c213b) !important;
  color: #f5f8fc !important;
  border-bottom: 2px solid rgba(36, 180, 126, .45) !important;
  border-right: 1px solid rgba(255, 255, 255, .08) !important;
  padding: 12px 14px !important;
  font-size: 0 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

#tp-links #linksOut .lk-tbl thead th::after {
  color: #f5f8fc !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

#tp-links #linksOut .lk-tbl thead th:nth-child(1)::after { content: "#"; }
#tp-links #linksOut .lk-tbl thead th:nth-child(2)::after { content: "Predecessor ID"; }
#tp-links #linksOut .lk-tbl thead th:nth-child(3)::after { content: "Predecessor Name"; }
#tp-links #linksOut .lk-tbl thead th:nth-child(4)::after { content: "Type"; }
#tp-links #linksOut .lk-tbl thead th:nth-child(5)::after { content: "Lag"; }
#tp-links #linksOut .lk-tbl thead th:nth-child(6)::after { content: "Successor ID"; }
#tp-links #linksOut .lk-tbl thead th:nth-child(7)::after { content: "Successor Name"; }
#tp-links #linksOut .lk-tbl thead th:nth-child(9)::after { content: "Source Logic"; }
#tp-links #linksOut .lk-tbl thead th:nth-child(10)::after { content: "Reasoning"; }
#tp-links #linksOut .lk-tbl thead th:nth-child(11)::after { content: "Action"; }

#tp-links #linksOut .lk-tbl td {
  padding: 11px 14px !important;
  color: var(--rel-ink) !important;
  background: rgba(255, 255, 255, .92) !important;
  border-bottom: 1px solid rgba(232, 236, 239, .94) !important;
  font-size: 11.5px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

#tp-links #linksOut .lk-tbl th:nth-child(8),
#tp-links #linksOut .lk-tbl td:nth-child(8),
#tp-links #linksOut .smart-conf {
  display: none !important;
}

#tp-links #linksOut .lk-tbl tbody tr:nth-child(even) td {
  background: rgba(245, 247, 250, .72) !important;
}

#tp-links #linksOut .lk-tbl tbody tr:hover td {
  background: rgba(232, 236, 239, .90) !important;
}

#tp-links #linksOut .lk-tbl td:nth-child(1) {
  color: var(--rel-muted) !important;
  text-align: center !important;
  font-weight: 750 !important;
}

#tp-links #linksOut .lk-tbl td:nth-child(2) span,
#tp-links #linksOut .lk-tbl td:nth-child(6) span {
  font-family: "JetBrains Mono", monospace !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

#tp-links #linksOut .lk-tbl td:nth-child(2) span {
  color: #3b82f6 !important;
}

#tp-links #linksOut .lk-tbl td:nth-child(6) span {
  color: #10b981 !important;
}

#tp-links #linksOut .lt {
  min-width: 34px !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

#tp-links #linksOut .lk-tbl td:nth-child(5) {
  font-family: "JetBrains Mono", monospace !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  color: #10213a !important;
}

#tp-links #linksOut .lk-tbl td:nth-child(9),
#tp-links #linksOut .lk-tbl td:nth-child(10) {
  color: #657287 !important;
  font-size: 11px !important;
  font-weight: 650 !important;
}

#tp-links #linksOut .lk-tbl td button {
  width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  border: 1px solid rgba(220, 38, 38, .24) !important;
  background: #fff5f5 !important;
  color: #dc2626 !important;
  font-size: 0 !important;
  box-shadow: none !important;
}

#tp-links #linksOut .lk-tbl td button::before {
  content: "×";
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.tab[data-tab="story"],
.tab[data-tab="chat"],
.tab[data-tab="linkqa"],
#tp-story,
#tp-chat,
#tp-linkqa {
  display: none !important;
}

/* tabs/gantt/styles/070-gantt-premium-ui-v13.css */
/* ============================================================================
   070-gantt-premium-ui-v13.css  —  PREMIUM COHESIVE GANTT UI (V13)
   Visual-only redesign of the Gantt tab to match the project's warm/olive design
   system. NO markup/JS/function changes — every selector reuses existing class /
   id hooks. Reversible: remove the single <link> in index.html.

   Cascade strategy: selectors are prefixed with `body #ganttOut` (higher specificity
   than the existing `#ganttOut ...` rules, so they win regardless of source order,
   including JS-injected styles). Dark variant via `body[data-gantt-theme="dark"]`.

   PERF GUARD: no transitions/animations are added to per-row elements
   (.p6-row/.p6-left/.p6-right/bars) — only to interactive controls — so the scroll
   and drag performance fixes are preserved.
   ============================================================================ */

/* ---- 1. Gantt-scoped design tokens (mapped to the project palette) ---------- */
body #ganttOut {
  /* project cream / olive / gold system */
  --g-bg:        #F8FAFC;   /* slate-50  */
  --g-surface:   #FFFFFF;
  --g-surface-2: #F1F5F9;   /* slate-100 */
  --g-surface-3: #E2E8F0;   /* slate-200 */
  --g-line:      #E5E9EF;
  --g-line-2:    #CBD5E1;   /* slate-300 */
  --g-tx:        #334155;   /* slate-700 */
  --g-tx-strong: #0F172A;   /* slate-900 */
  --g-mu:        #64748B;   /* slate-500 */
  --g-so:        #475569;   /* slate-600 */
  --g-olive:     #1F4E79;   /* project olive primary */
  --g-olive-d:   #071A33;   /* deep toolbar green */
  --g-sage:      #5F89AE;   /* project gold accent */
  --g-amber:     #F59E0B;   /* amber-500 */
  --g-brick:     #DC2626;   /* red-600 */
  --g-terra:     #EF4444;   /* red-500 */
  --g-green:     #16A34A;   /* activity green */
  --g-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);
  --g-shadow-md: 0 4px 12px rgba(15, 23, 42, .08), 0 2px 5px rgba(15, 23, 42, .04);
  --g-shadow-lg: 0 16px 40px rgba(15, 23, 42, .12), 0 4px 10px rgba(15, 23, 42, .06);
  --g-r:  14px;
  --g-r2: 11px;
  --g-r3: 8px;
  --g-font: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --g-num:  ui-monospace, 'SF Mono', 'JetBrains Mono', 'SFMono-Regular', Consolas, monospace;
}

/* ---- 2. Typography unification (project font) ------------------------------- */
body #ganttOut,
body #ganttOut .p6-toolbar,
body #ganttOut .p6-legend,
body #ganttOut .p6-hdr-left,
body #ganttOut .p6-hdr-right,
body #ganttOut .p6-left,
body #ganttOut .p6-right,
body #ganttOut .p6-cell,
body #ganttOut .p6-hdr-cell,
body #ganttOut .v12-menu-trigger,
body #ganttOut .p6-tb-btn,
body #ganttOut .v12-switch-btn,
body #ganttOut .gt-block-label,
body #ganttOut .p6-side-lbl {
  font-family: var(--g-font) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ---- 3. Outer gantt surface ------------------------------------------------- */
body #ganttOut #v9-gantt-outer,
body #ganttOut .p6-outer {
  background: var(--g-surface) !important;
  border: 1px solid var(--g-line) !important;
  border-radius: var(--g-r) !important;
  box-shadow: var(--g-shadow-md) !important;
}

/* ============================================================================
   4. TOOLBAR — cohesive control bar
   ============================================================================ */
body #ganttOut .p6-toolbar {
  gap: 8px !important;
  padding: 9px 12px !important;
  border-radius: var(--g-r) !important;
  background: linear-gradient(180deg, var(--g-surface) 0%, var(--g-surface-2) 100%) !important;
  border: 1px solid var(--g-line) !important;
  box-shadow: var(--g-shadow-sm) !important;
  margin-bottom: 10px !important;
}

body #ganttOut .v12-toolgroup { gap: 6px !important; }

/* tool blocks → soft grouped segments */
body #ganttOut .aipe-tool-block {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 4px !important;
  padding: 6px 8px 7px !important;
  border-radius: var(--g-r2) !important;
  background: var(--g-surface) !important;
  border: 1px solid var(--g-line) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6) !important;
}

body #ganttOut .gt-block-label {
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--g-mu) !important;
  padding: 0 2px !important;
  line-height: 1 !important;
}

/* buttons / menu triggers / switches */
body #ganttOut .v12-menu-trigger,
body #ganttOut .p6-tb-btn.v12-direct,
body #ganttOut .p6-exp-btn,
body #ganttOut .v12-switch-btn {
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: -.005em !important;
  color: var(--g-tx) !important;
  background: var(--g-surface) !important;
  border: 1px solid var(--g-line) !important;
  box-shadow: var(--g-shadow-sm) !important;
  transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .12s ease !important;
}
body #ganttOut .v12-menu-trigger:hover,
body #ganttOut .p6-tb-btn.v12-direct:hover,
body #ganttOut .p6-exp-btn:hover,
body #ganttOut .v12-switch-btn:hover {
  border-color: var(--g-line-2) !important;
  background: var(--g-surface-2) !important;
  box-shadow: var(--g-shadow-md) !important;
}
body #ganttOut .v12-menu-trigger:active,
body #ganttOut .p6-tb-btn.v12-direct:active { transform: translateY(1px) !important; }

/* active / selected states use the olive accent */
body #ganttOut .v12-switch-btn.on,
body #ganttOut .v12-switch-btn[aria-pressed="true"],
body #ganttOut .p6-tb-btn.v12-direct.on,
body #ganttOut .p6-tb-btn.v12-direct.active,
body #ganttOut .p6-tb-btn.v12-direct[aria-pressed="true"] {
  color: #fff !important;
  background: linear-gradient(180deg, var(--g-sage) 0%, var(--g-olive) 100%) !important;
  border-color: var(--g-olive-d) !important;
  box-shadow: 0 2px 8px rgba(92, 107, 63, .30), inset 0 1px 0 rgba(255, 255, 255, .25) !important;
}

/* link-mode toggle accent (route icon) */
body #ganttOut #ganttLinkHandlesToggle.on {
  color: #fff !important;
  background: linear-gradient(180deg, var(--g-terra) 0%, var(--g-brick) 100%) !important;
  border-color: var(--g-brick) !important;
}

/* svg control icons inherit accent color */
body #ganttOut .gt-icon-svg svg { width: 15px !important; height: 15px !important; }

/* dropdown menu panels */
body #ganttOut .v12-menu-panel,
body #ganttOut #aipeGanttHeaderExport .aipe-header-export-menu,
body #ganttOut .v12-export-menu .v12-menu-panel {
  background: var(--g-surface) !important;
  border: 1px solid var(--g-line) !important;
  border-radius: var(--g-r2) !important;
  box-shadow: var(--g-shadow-lg) !important;
  padding: 6px !important;
}
body #ganttOut .v12-menu-item,
body #ganttOut .v12-export-item {
  border-radius: 9px !important;
  font-weight: 600 !important;
  color: var(--g-tx) !important;
}
body #ganttOut .v12-menu-item:hover,
body #ganttOut .v12-export-item:hover {
  background: var(--g-surface-2) !important;
}

/* header export trigger (top-right) */
body .aipe-header-export-trigger {
  border-radius: 11px !important;
  font-family: var(--g-font) !important;
  font-weight: 700 !important;
  border: 1px solid var(--g-line) !important;
  background: linear-gradient(180deg, var(--g-surface) 0%, var(--g-surface-2) 100%) !important;
  box-shadow: var(--g-shadow-sm) !important;
}

/* ============================================================================
   5. DEMO BAR — quiet, on-theme (kept as feature, less "dev")
   ============================================================================ */
body #perf-demo-bar.aipe-perf-demo-v2,
body #perf-demo-bar.aipe-perf-demo-v2 > div {
  background: linear-gradient(180deg, var(--g-surface) 0%, var(--g-surface-2) 100%) !important;
  border-radius: var(--g-r2) !important;
  color: var(--g-tx) !important;
  font-family: var(--g-font) !important;
}
body #perf-demo-bar.aipe-perf-demo-v2 {
  border: 1px solid var(--g-line) !important;
  box-shadow: var(--g-shadow-sm) !important;
}
body #perf-demo-bar.aipe-perf-demo-v2 b { color: var(--g-olive) !important; font-weight: 800 !important; }
body #perf-demo-bar.aipe-perf-demo-v2 button {
  border-radius: 9px !important;
  font-family: var(--g-font) !important;
  font-weight: 700 !important;
  border: 1px solid var(--g-line) !important;
}

/* ============================================================================
   6. LEGEND — refined semantic pills
   ============================================================================ */
body #ganttOut .p6-legend {
  gap: 8px !important;
  padding: 4px 2px 10px !important;
}
body #ganttOut .p6-legend .p6-leg {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 5px 12px 5px 10px !important;
  border-radius: 999px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: var(--g-tx) !important;
  background: var(--g-surface) !important;
  border: 1px solid var(--g-line) !important;
  box-shadow: var(--g-shadow-sm) !important;
}

/* ============================================================================
   7. TABLE HEADER — premium sticky header
   ============================================================================ */
body #ganttOut .p6-hdr-left,
body #ganttOut .p6-hdr-right {
  background: linear-gradient(180deg, var(--g-surface-2) 0%, var(--g-surface-3) 100%) !important;
  border-bottom: 1.5px solid var(--g-line-2) !important;
}
body #ganttOut .p6-hdr-cell {
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--g-olive-d) !important;
}
body #ganttOut .p6-hdr-left .p6-hdr-cell + .p6-hdr-cell { border-left: 1px solid var(--g-line) !important; }

/* timeline scale (years / months) */
body #ganttOut .p6-year-row {
  font-weight: 800 !important;
  color: var(--g-tx-strong) !important;
  letter-spacing: .02em !important;
}
body #ganttOut .p6-mo-row {
  font-weight: 600 !important;
  color: var(--g-mu) !important;
}
body #ganttOut .p6-mo-row > * { border-left: 1px solid var(--g-line) !important; }

/* ============================================================================
   8. ROWS — WBS hierarchy + activity + milestone (transition-free for perf)
   ============================================================================ */
/* base row separators */
body #ganttOut .p6-row .p6-left,
body #ganttOut .p6-row .p6-right {
  border-bottom: 1px solid var(--g-line) !important;
}

/* activity rows: clean warm surface + subtle zebra via odd index */
body #ganttOut .p6-row[data-rowkind="activity"] .p6-left { background: var(--g-surface) !important; }
body #ganttOut .p6-row[data-rowkind="activity"] .p6-right { background: var(--g-surface) !important; }

/* V16: old section-8 WBS colour rules removed.
   Final WBS colours are owned only by section 25 below. */
/* lightweight hover (NO transition → no scroll-recalc cost) */
body #ganttOut .p6-row[data-rowkind="activity"]:hover .p6-left,
body #ganttOut .p6-row[data-rowkind="activity"]:hover .p6-right {
  background: #EFF4FF !important;
}

/* ---- left-panel cells ------------------------------------------------------ */
body #ganttOut .p6-cell { font-size: 12.5px !important; color: var(--g-tx) !important; }
body #ganttOut .p6-cell.p6-c-id {
  font-family: var(--g-num) !important;
  font-weight: 700 !important;
  font-size: 11.5px !important;
  color: var(--g-mu) !important;
  letter-spacing: .01em !important;
}
body #ganttOut .p6-row[data-rowkind="activity"] .p6-cell.p6-c-name { font-weight: 600 !important; color: var(--g-tx-strong) !important; }
body #ganttOut .p6-cell.p6-c-dur,
body #ganttOut .p6-cell.p6-c-date {
  font-family: var(--g-num) !important;
  font-size: 11.5px !important;
  color: var(--g-so, #6B665C) !important;
  font-variant-numeric: tabular-nums !important;
}

/* WBS expand / collapse toggles */
body #ganttOut .p6-gutter-toggle,
body #ganttOut .p6-wbs-toggle {
  border-radius: 7px !important;
  border: 1px solid var(--g-line-2) !important;
  background: rgba(255, 255, 255, .55) !important;
  color: var(--g-olive-d) !important;
  font-weight: 800 !important;
  box-shadow: var(--g-shadow-sm) !important;
  transition: background .14s ease, transform .12s ease !important;
}
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="0"] .p6-gutter-toggle,
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="0"] .p6-wbs-toggle {
  border-color: rgba(255, 255, 255, .35) !important;
  background: rgba(255, 255, 255, .18) !important;
  color: #fff !important;
}
body #ganttOut .p6-gutter-toggle:hover,
body #ganttOut .p6-wbs-toggle:hover { background: rgba(255, 255, 255, .9) !important; }

/* ============================================================================
   9. BARS — activity / summary / milestone / critical
   ============================================================================ */
/* activity bar — GREEN (normal) */
body #ganttOut .p6-act-bar {
  border-radius: 2px !important;
  background: linear-gradient(180deg, #34C36B 0%, #1F9B50 100%) !important;
  border: 1px solid #167A3D !important;
  box-shadow: 0 1px 3px rgba(20, 90, 45, .28), inset 0 1px 0 rgba(255, 255, 255, .32) !important;
}

/* summary / WBS bar — BLACK bracket (high specificity to beat per-row --acc color) */
body #ganttOut .p6-row .p6-right .p6-sum-bar,
body #ganttOut .p6-row .p6-sum-bar {
  border-radius: 3px !important;
  background-color: #0E0E0E !important;
  background-image: linear-gradient(180deg, #2C2C2C 0%, #0E0E0E 100%) !important;
  --acc: #111 !important;
  --sum-line: #000 !important;
  border: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .4) !important;
}

/* milestone diamond — black (WBS-family marker) with amber core */
body #ganttOut .p6-ms {
  background: linear-gradient(135deg, #2C2C2C 0%, #0E0E0E 100%) !important;
  border: 1px solid #000 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .40) !important;
}

/* critical path — RED */
body #ganttOut .p6-act-bar.crit,
body #ganttOut .p6-act-bar.crit-bar {
  background: linear-gradient(180deg, #F0533B 0%, #CF3621 100%) !important;
  border-color: #A82A18 !important;
  box-shadow: 0 1px 4px rgba(180, 40, 24, .35), inset 0 1px 0 rgba(255, 255, 255, .28) !important;
}

/* WBS side label on bar */
body #ganttOut .p6-side-lbl.wbs {
  font-family: var(--g-font) !important;
  font-weight: 800 !important;
  font-size: 10.5px !important;
  letter-spacing: .04em !important;
  color: var(--g-olive-d) !important;
}

/* relationship arrows (only if not inline-styled by 030 — guarded, harmless if overridden) */
body #ganttOut #ga-svg .ga-link-path { stroke: rgba(69, 81, 47, .55); }

/* ============================================================================
   10. SCROLLBARS — thin, on-theme
   ============================================================================ */
body #ganttOut #v9-gantt-outer { scrollbar-width: thin; scrollbar-color: var(--g-sage) transparent; }
body #ganttOut #v9-gantt-outer::-webkit-scrollbar { width: 11px; height: 11px; }
body #ganttOut #v9-gantt-outer::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--g-sage), var(--g-olive));
  border: 3px solid var(--g-surface);
  border-radius: 999px;
}
body #ganttOut #v9-gantt-outer::-webkit-scrollbar-thumb:hover { background: var(--g-olive); }
body #ganttOut #v9-gantt-outer::-webkit-scrollbar-track { background: transparent; }

/* drag tooltip */
body .gdf-tip, body #gdf-tip {
  font-family: var(--g-font) !important;
  border-radius: 9px !important;
  box-shadow: var(--g-shadow-lg) !important;
}

/* ============================================================================
   11. DARK THEME VARIANT — warm charcoal, premium (matches sidebar)
   ============================================================================ */
body[data-gantt-theme="dark"] #ganttOut {
  --g-bg:        #0B1120;
  --g-surface:   #1E293B;   /* slate-800 */
  --g-surface-2: #172033;
  --g-surface-3: #0F172A;   /* slate-900 */
  --g-line:      rgba(148, 163, 184, .15);
  --g-line-2:    rgba(95, 137, 174, .40);
  --g-tx:        #CBD5E1;   /* slate-300 */
  --g-tx-strong: #F1F5F9;   /* slate-100 */
  --g-mu:        #94A3B8;   /* slate-400 */
  --g-so:        #94A3B8;
  --g-olive:     #5F89AE;   /* project gold on dark */
  --g-olive-d:   #1F4E79;   /* deep gold */
  --g-sage:      #E2C879;   /* light gold */
  --g-amber:     #FBBF24;
  --g-brick:     #EF4444;
  --g-terra:     #F87171;
  --g-green:     #22C55E;
  --g-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);
  --g-shadow-md: 0 6px 18px rgba(0, 0, 0, .5);
  --g-shadow-lg: 0 18px 48px rgba(0, 0, 0, .65);
}

body[data-gantt-theme="dark"] #ganttOut #v9-gantt-outer,
body[data-gantt-theme="dark"] #ganttOut .p6-outer {
  background: var(--g-surface) !important;
  border-color: var(--g-line) !important;
}
body[data-gantt-theme="dark"] #ganttOut .p6-toolbar {
  background: linear-gradient(180deg, #1E293B 0%, #172033 100%) !important;
  border-color: var(--g-line) !important;
}
body[data-gantt-theme="dark"] #ganttOut .aipe-tool-block {
  background: #172033 !important;
  border-color: var(--g-line) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}
body[data-gantt-theme="dark"] #ganttOut .v12-menu-trigger,
body[data-gantt-theme="dark"] #ganttOut .p6-tb-btn.v12-direct,
body[data-gantt-theme="dark"] #ganttOut .v12-switch-btn,
body[data-gantt-theme="dark"] #ganttOut .p6-exp-btn {
  background: #273449 !important;
  color: var(--g-tx) !important;
  border-color: var(--g-line) !important;
}
body[data-gantt-theme="dark"] #ganttOut .v12-menu-trigger:hover,
body[data-gantt-theme="dark"] #ganttOut .p6-tb-btn.v12-direct:hover,
body[data-gantt-theme="dark"] #ganttOut .v12-switch-btn:hover { background: #334155 !important; }

body[data-gantt-theme="dark"] #perf-demo-bar.aipe-perf-demo-v2 {
  background: linear-gradient(180deg, #1E293B 0%, #172033 100%) !important;
  border-color: var(--g-line) !important;
  color: var(--g-tx) !important;
}
body[data-gantt-theme="dark"] #perf-demo-bar.aipe-perf-demo-v2 b { color: var(--g-sage) !important; }

body[data-gantt-theme="dark"] #ganttOut .p6-legend .p6-leg {
  background: #172033 !important;
  border-color: var(--g-line) !important;
  color: var(--g-tx) !important;
}

body[data-gantt-theme="dark"] #ganttOut .p6-hdr-left,
body[data-gantt-theme="dark"] #ganttOut .p6-hdr-right {
  background: linear-gradient(180deg, #172033 0%, #0F172A 100%) !important;
  border-bottom-color: var(--g-line-2) !important;
}
body[data-gantt-theme="dark"] #ganttOut .p6-hdr-cell { color: var(--g-sage) !important; }
body[data-gantt-theme="dark"] #ganttOut .p6-year-row { color: var(--g-tx-strong) !important; }

/* dark rows */
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="activity"] .p6-left,
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="activity"] .p6-right { background: var(--g-surface) !important; }
body[data-gantt-theme="dark"] #ganttOut .p6-row .p6-left,
body[data-gantt-theme="dark"] #ganttOut .p6-row .p6-right { border-bottom-color: var(--g-line) !important; }
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="activity"]:hover .p6-left,
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="activity"]:hover .p6-right { background: #273449 !important; }

body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="0"] .p6-left,
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="0"] .p6-right {
  background: linear-gradient(180deg, #4A5530 0%, #353D23 100%) !important;
}
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="0"] .p6-cell { color: #F4F0E2 !important; }
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="1"] .p6-left,
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="1"] .p6-right {
  background: linear-gradient(180deg, #353B26 0%, #2C311F 100%) !important;
}
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="1"] .p6-cell { color: var(--g-sage) !important; }
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="wbs"]:not([data-rowlevel="0"]):not([data-rowlevel="1"]) .p6-left,
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="wbs"]:not([data-rowlevel="0"]):not([data-rowlevel="1"]) .p6-right {
  background: linear-gradient(180deg, #272318 0%, #211E15 100%) !important;
}
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="wbs"]:not([data-rowlevel="0"]):not([data-rowlevel="1"]) .p6-cell { color: var(--g-tx) !important; }

body[data-gantt-theme="dark"] #ganttOut .p6-cell { color: var(--g-tx) !important; }
body[data-gantt-theme="dark"] #ganttOut .p6-cell.p6-c-id { color: var(--g-mu) !important; }
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="activity"] .p6-cell.p6-c-name { color: var(--g-tx-strong) !important; }
body[data-gantt-theme="dark"] #ganttOut .p6-cell.p6-c-dur,
body[data-gantt-theme="dark"] #ganttOut .p6-cell.p6-c-date { color: #94A3B8 !important; }

/* dark bars (brighter on dark surface) */
body[data-gantt-theme="dark"] #ganttOut .p6-act-bar {
  background: linear-gradient(180deg, #A6B485 0%, #76854F 100%) !important;
  border-color: #1F4E79 !important;
}
body[data-gantt-theme="dark"] #ganttOut .p6-sum-bar {
  background: linear-gradient(180deg, #6E7C4E 0%, #4A5530 100%) !important;
}
body[data-gantt-theme="dark"] #ganttOut .p6-act-bar.crit,
body[data-gantt-theme="dark"] #ganttOut .p6-act-bar.crit-bar {
  background: linear-gradient(180deg, #D4754A 0%, #B14328 100%) !important;
  border-color: #7E2E18 !important;
}
body[data-gantt-theme="dark"] #ganttOut .p6-side-lbl.wbs { color: var(--g-sage) !important; }

body[data-gantt-theme="dark"] #ganttOut #v9-gantt-outer { scrollbar-color: var(--g-olive) transparent; }
body[data-gantt-theme="dark"] #ganttOut #v9-gantt-outer::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--g-olive), #4A5530);
  border-color: var(--g-surface);
}
body[data-gantt-theme="dark"] #ganttOut #ga-svg .ga-link-path { stroke: rgba(166, 180, 133, .5); }

/* ============================================================================
   12. NEW: STATISTICS / KPI BAR  (#gpx-stats)  — professional, dense
   ============================================================================ */
body #tp-gantt #gpx-stats {
  display: flex !important;
  align-items: stretch !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin: 0 0 10px !important;
  padding: 10px 14px !important;
  border-radius: var(--g-r) !important;
  font-family: var(--g-font) !important;
  background: linear-gradient(180deg, #FFFFFF 0%, var(--g-surface-2) 100%) !important;
  border: 1px solid var(--g-line) !important;
  box-shadow: var(--g-shadow-md) !important;
}
body #tp-gantt #gpx-stats .gpx-stats-title {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding-right: 14px !important;
  border-right: 1.5px solid var(--g-line) !important;
  min-width: 0 !important;
  flex: 1 1 280px !important;
}
body #tp-gantt #gpx-stats .gpx-stats-dot {
  width: 9px; height: 9px; border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #4FD37E, #1F9B50);
  box-shadow: 0 0 0 4px rgba(31, 155, 80, .15);
  flex: 0 0 auto;
}
body #tp-gantt #gpx-stats .gpx-stats-name {
  font-weight: 800 !important;
  font-size: 14.5px !important;
  color: var(--g-tx-strong) !important;
  letter-spacing: -.01em !important;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
body #tp-gantt #gpx-stats .gpx-stats-range {
  margin-left: auto !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: var(--g-mu) !important;
  white-space: nowrap;
  display: flex; align-items: center; gap: 10px;
}
body #tp-gantt #gpx-stats .gpx-stats-range b {
  font-weight: 800 !important; color: var(--g-olive-d) !important;
  background: #F4E8CA; padding: 2px 9px; border-radius: 999px;
}
body #tp-gantt #gpx-stats .gpx-kpis { display: flex !important; align-items: stretch !important; gap: 0 !important; flex: 0 0 auto !important; }
body #tp-gantt #gpx-stats .gpx-kpi {
  display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
  padding: 0 16px !important; min-width: 64px !important;
  border-left: 1px solid var(--g-line) !important;
}
body #tp-gantt #gpx-stats .gpx-kpi:first-child { border-left: none !important; }
body #tp-gantt #gpx-stats .gpx-kpi-val {
  font-size: 19px !important; font-weight: 800 !important; line-height: 1.05 !important;
  color: var(--g-tx-strong) !important; font-variant-numeric: tabular-nums !important; letter-spacing: -.02em !important;
}
body #tp-gantt #gpx-stats .gpx-kpi-val i { font-style: normal; font-size: 11px; font-weight: 700; color: var(--g-mu); }
body #tp-gantt #gpx-stats .gpx-kpi-lbl {
  font-size: 9.5px !important; font-weight: 800 !important; letter-spacing: .1em !important;
  text-transform: uppercase !important; color: var(--g-mu) !important; margin-top: 3px !important;
}
body #tp-gantt #gpx-stats .gpx-kpi--crit .gpx-kpi-val { color: #DC2626 !important; }
body #tp-gantt #gpx-stats .gpx-kpi--crit .gpx-kpi-val i { color: #F87171 !important; }
body #tp-gantt #gpx-stats .gpx-kpi--acts .gpx-kpi-val { color: #16A34A !important; }
body #tp-gantt #gpx-stats .gpx-kpi--wbs .gpx-kpi-val { color: var(--g-olive-d) !important; }
body #tp-gantt #gpx-stats .gpx-kpi--links .gpx-kpi-val { color: #1F4E79 !important; }
body #tp-gantt #gpx-stats .gpx-kpi--ms .gpx-kpi-val { color: #D97706 !important; }

/* ============================================================================
   13. NEW: TOOLSET  (#gpx-toolset)  — search + icon tools, dense
   ============================================================================ */
body #ganttOut #gpx-toolset {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-right: 4px !important;
}
body #ganttOut #gpx-toolset .gpx-search {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  height: 34px !important; padding: 0 10px !important;
  border-radius: 10px !important;
  background: var(--g-surface) !important;
  border: 1px solid var(--g-line) !important;
  box-shadow: var(--g-shadow-sm) !important;
}
body #ganttOut #gpx-toolset .gpx-search-ic { display: inline-flex; color: var(--g-mu); }
body #ganttOut #gpx-toolset .gpx-search-ic svg { width: 15px; height: 15px; }
body #ganttOut #gpx-toolset .gpx-search input {
  border: none !important; outline: none !important; background: transparent !important;
  font-family: var(--g-font) !important; font-size: 12.5px !important; font-weight: 600 !important;
  color: var(--g-tx) !important; width: 150px !important; padding: 0 !important;
}
body #ganttOut #gpx-toolset .gpx-search input::placeholder { color: var(--g-mu) !important; font-weight: 500 !important; }
body #ganttOut #gpx-toolset .gpx-tool-group { display: inline-flex !important; align-items: center !important; gap: 3px !important; padding: 3px !important; border-radius: 11px !important; background: var(--g-surface-2) !important; border: 1px solid var(--g-line) !important; }
body #ganttOut #gpx-toolset .gpx-tool {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: 30px !important; height: 30px !important; padding: 0 !important;
  border-radius: 8px !important; border: 1px solid transparent !important;
  background: transparent !important; color: var(--g-so, #6B665C) !important; cursor: pointer !important;
  transition: background .14s ease, color .14s ease, transform .12s ease !important;
}
body #ganttOut #gpx-toolset .gpx-tool svg { width: 16px !important; height: 16px !important; }
body #ganttOut #gpx-toolset .gpx-tool:hover { background: var(--g-surface) !important; color: var(--g-olive) !important; box-shadow: var(--g-shadow-sm) !important; }
body #ganttOut #gpx-toolset .gpx-tool:active { transform: translateY(1px) !important; }

/* search hit highlight on rows */
body #ganttOut .p6-row.gpx-hit .p6-left,
body #ganttOut .p6-row.gpx-hit .p6-right { background: #FFF6C8 !important; box-shadow: inset 3px 0 0 var(--g-amber) !important; }

/* ---- dark variants for new components -------------------------------------- */
body[data-gantt-theme="dark"] #tp-gantt #gpx-stats {
  background: linear-gradient(180deg, #1E293B 0%, #172033 100%) !important;
  border-color: var(--g-line) !important;
}
body[data-gantt-theme="dark"] #tp-gantt #gpx-stats .gpx-stats-name { color: var(--g-tx-strong) !important; }
body[data-gantt-theme="dark"] #tp-gantt #gpx-stats .gpx-kpi-val { color: var(--g-tx-strong) !important; }
body[data-gantt-theme="dark"] #tp-gantt #gpx-stats .gpx-stats-range b { color: var(--g-sage) !important; background: rgba(166, 180, 133, .15); }
body[data-gantt-theme="dark"] #tp-gantt #gpx-stats .gpx-kpi--acts .gpx-kpi-val { color: #4FD37E !important; }
body[data-gantt-theme="dark"] #tp-gantt #gpx-stats .gpx-kpi--crit .gpx-kpi-val { color: #F0795F !important; }

body[data-gantt-theme="dark"] #ganttOut #gpx-toolset .gpx-search { background: #273449 !important; border-color: var(--g-line) !important; }
body[data-gantt-theme="dark"] #ganttOut #gpx-toolset .gpx-search input { color: var(--g-tx) !important; }
body[data-gantt-theme="dark"] #ganttOut #gpx-toolset .gpx-tool-group { background: #172033 !important; border-color: var(--g-line) !important; }
body[data-gantt-theme="dark"] #ganttOut #gpx-toolset .gpx-tool { color: #94A3B8 !important; }
body[data-gantt-theme="dark"] #ganttOut #gpx-toolset .gpx-tool:hover { background: #334155 !important; color: var(--g-sage) !important; }
body[data-gantt-theme="dark"] #ganttOut .p6-row.gpx-hit .p6-left,
body[data-gantt-theme="dark"] #ganttOut .p6-row.gpx-hit .p6-right { background: #0D3156 !important; box-shadow: inset 3px 0 0 var(--g-amber) !important; }

/* dark bars: keep green/red/black identity (green slightly brighter on dark) */
body[data-gantt-theme="dark"] #ganttOut .p6-act-bar { background: linear-gradient(180deg, #3FD377 0%, #20A557 100%) !important; border-color: #178A44 !important; }
body[data-gantt-theme="dark"] #ganttOut .p6-sum-bar { background: linear-gradient(180deg, #3A3A3A 0%, #0A0A0A 100%) !important; border-color: #000 !important; }
body[data-gantt-theme="dark"] #ganttOut .p6-act-bar.crit,
body[data-gantt-theme="dark"] #ganttOut .p6-act-bar.crit-bar { background: linear-gradient(180deg, #FF5B40 0%, #D63A24 100%) !important; border-color: #B02C18 !important; }
body[data-gantt-theme="dark"] #ganttOut .p6-ms { background: linear-gradient(135deg, #3A3A3A 0%, #0A0A0A 100%) !important; border-color: #000 !important; }

/* ============================================================================
   14. PROFESSIONAL LAYOUT OVERHAUL — composition / structure (P6-style)
   ============================================================================ */

/* 14.1 Demo bar → clean slim utility strip (dev tool; declutter) */
body #perf-demo-bar.aipe-perf-demo-v2,
body #perf-demo-bar.aipe-perf-demo-v2 > div {
  padding: 5px 12px !important;
  margin-bottom: 8px !important;
  font-size: 10.5px !important;
  border-radius: 10px !important;
  display: flex !important; align-items: center !important; gap: 7px !important; flex-wrap: wrap !important;
}
/* hide the verbose descriptive + status text — keep only label + load buttons */
body #perf-demo-bar.aipe-perf-demo-v2 > div > span { display: none !important; }
body #perf-demo-bar.aipe-perf-demo-v2 b {
  font-size: 10px !important; font-weight: 800 !important; letter-spacing: .06em !important;
  text-transform: uppercase !important; color: var(--g-mu) !important; margin-right: 4px !important;
}
body #perf-demo-bar.aipe-perf-demo-v2 button {
  padding: 3px 10px !important; font-size: 10.5px !important; min-height: 0 !important; height: 24px !important;
  border-radius: 7px !important; font-weight: 700 !important;
}

/* 14.2 Toolbar → single professional RIBBON (flatten the scattered cards) */
body #ganttOut .p6-toolbar {
  gap: 0 !important;
  padding: 0 6px !important;
  min-height: 50px !important;
  border-radius: var(--g-r) !important;
  align-items: stretch !important;
  overflow: visible !important;
}
/* tool blocks become inline ribbon groups separated by thin dividers — no cards */
body #ganttOut .p6-toolbar .aipe-tool-block {
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  background: transparent !important;
  border: none !important;
  border-right: 1px solid var(--g-line) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 7px 12px !important;
  margin: 0 !important;
}
body #ganttOut .p6-toolbar .v12-toolgroup > .aipe-tool-block:last-of-type { border-right: none !important; }
/* group label becomes a small inline tag before the controls */
body #ganttOut .p6-toolbar .gt-block-label {
  order: -1 !important;
  margin: 0 4px 0 0 !important;
  font-size: 8.5px !important;
  letter-spacing: .14em !important;
  color: var(--g-mu) !important;
  align-self: center !important;
  writing-mode: initial !important;
}
/* the new toolset (search + tools) sits on the left with its own divider */
body #ganttOut #gpx-toolset {
  padding: 7px 12px 7px 6px !important;
  border-right: 1px solid var(--g-line) !important;
  margin-right: 0 !important;
  align-self: center !important;
}
/* compact the control buttons inside the ribbon */
body #ganttOut .p6-toolbar .v12-menu-trigger,
body #ganttOut .p6-toolbar .p6-tb-btn.v12-direct,
body #ganttOut .p6-toolbar .v12-switch-btn {
  min-height: 30px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}

/* 14.3 Frame the whole gantt as one cohesive professional panel */
body #ganttOut {
  background: linear-gradient(180deg, var(--g-surface) 0%, var(--g-surface-2) 140%) !important;
  border: 1px solid var(--g-line) !important;
  border-radius: var(--g-r) !important;
  padding: 12px !important;
  box-shadow: var(--g-shadow-lg) !important;
}
/* legend → compact inline strip under the ribbon */
body #ganttOut .p6-legend { padding: 8px 2px 8px !important; gap: 7px !important; }
body #ganttOut .p6-legend .p6-leg { padding: 4px 11px !important; font-size: 11px !important; box-shadow: none !important; }

/* 14.4 Denser, sharper table (P6-style) */
body #ganttOut .p6-row .p6-left .p6-cell {
  padding-top: 0 !important; padding-bottom: 0 !important;
  display: flex !important; align-items: center !important;
}
/* crisp column dividers across the left grid */
body #ganttOut .p6-left .p6-cell + .p6-cell,
body #ganttOut .p6-hdr-left .p6-hdr-cell + .p6-hdr-cell {
  border-left: 1px solid var(--g-line) !important;
}
/* WBS indent guides — left accent bar by level */
body #ganttOut .p6-row[data-rowkind="activity"] .p6-c-name { box-shadow: inset 2px 0 0 rgba(92,107,63,.12) !important; }
/* stronger, taller sticky header band */
body #ganttOut .p6-hdr-left,
body #ganttOut .p6-hdr-right {
  box-shadow: 0 2px 6px rgba(27,26,23,.06) !important;
}
/* Timeline grid is owned by 026-gantt-month-grid.css. */

/* 14.5 dark variants for the overhaul */
body[data-gantt-theme="dark"] #ganttOut {
  background: linear-gradient(180deg, #1E293B 0%, #0F172A 140%) !important;
  border-color: var(--g-line) !important;
}
body[data-gantt-theme="dark"] #ganttOut .p6-row[data-rowkind="activity"] .p6-c-name { box-shadow: inset 2px 0 0 rgba(166,180,133,.18) !important; }

/* ============================================================================
   15. V14 GANTT SNAPSHOT + RIBBON REFINEMENT
   Inspired by the compact P6-style reference: lower KPI height, white controls,
   and denser command buttons. Visual only.
   ============================================================================ */
body #tp-gantt #gpx-stats {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 10px 12px 12px !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
  border: 1px solid #E3E8F0 !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .07), 0 1px 3px rgba(15, 23, 42, .05) !important;
}

body #tp-gantt #gpx-stats .gpx-snapshot-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 8px !important;
}

body #tp-gantt #gpx-stats .gpx-snapshot-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  color: #071A33 !important;
  font: 900 13px/1.2 var(--g-font) !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}

body #tp-gantt #gpx-stats .gpx-spark {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  color: #1F4E79 !important;
  background: #F3F7FB !important;
  border-radius: 7px !important;
}

body #tp-gantt #gpx-stats .gpx-regenerate {
  height: 30px !important;
  padding: 0 13px !important;
  border-radius: 8px !important;
  border: 1px solid #D8E0EA !important;
  background: linear-gradient(180deg, #FFFFFF, #F8FAFC) !important;
  color: #334155 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .05) !important;
  font: 800 11px/1 var(--g-font) !important;
  cursor: pointer !important;
}

body #tp-gantt #gpx-stats .gpx-snapshot-grid {
  display: grid !important;
  grid-template-columns: minmax(178px, 1.35fr) repeat(6, minmax(86px, 1fr)) minmax(88px, .9fr) minmax(116px, 1fr) !important;
  min-height: 74px !important;
  border: 1px solid #E5EAF2 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #FFFFFF !important;
}

body #tp-gantt #gpx-stats .gpx-review,
body #tp-gantt #gpx-stats .gpx-kpi {
  min-height: 74px !important;
  padding: 9px 10px !important;
  border-left: 1px solid #E7ECF3 !important;
  background: #FFFFFF !important;
}

body #tp-gantt #gpx-stats .gpx-review {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 30px 1fr !important;
  grid-template-rows: auto 1fr auto !important;
  column-gap: 9px !important;
  align-items: center !important;
  border-left: none !important;
}

body #tp-gantt #gpx-stats .gpx-review-check {
  grid-row: 1 / 4 !important;
  width: 22px !important;
  height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #16A34A !important;
  color: #FFFFFF !important;
  font: 900 13px/1 var(--g-font) !important;
}

body #tp-gantt #gpx-stats .gpx-review strong {
  color: #16A34A !important;
  font: 900 16px/1.1 var(--g-font) !important;
  white-space: nowrap !important;
}

body #tp-gantt #gpx-stats .gpx-review small {
  color: #64748B !important;
  font: 700 10.5px/1.1 var(--g-font) !important;
}

body #tp-gantt #gpx-stats .gpx-kpi {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  text-align: center !important;
}

body #tp-gantt #gpx-stats .gpx-kpi-label {
  color: #334155 !important;
  font: 900 10px/1.1 var(--g-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

body #tp-gantt #gpx-stats .gpx-kpi-main {
  color: #0F172A !important;
  font: 900 22px/1 var(--g-font) !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums !important;
}

body #tp-gantt #gpx-stats .gpx-kpi-sub {
  color: #64748B !important;
  font: 700 10px/1.1 var(--g-font) !important;
  min-height: 11px !important;
}

body #tp-gantt #gpx-stats .gpx-kpi--acts .gpx-kpi-main { color: #0F172A !important; }
body #tp-gantt #gpx-stats .gpx-kpi--links .gpx-kpi-main { color: #071A33 !important; }
body #tp-gantt #gpx-stats .gpx-kpi--wbs .gpx-kpi-main { color: #0F172A !important; }
body #tp-gantt #gpx-stats .gpx-kpi--crit .gpx-kpi-main { color: #DC2626 !important; }
body #tp-gantt #gpx-stats .gpx-kpi--open .gpx-kpi-main,
body #tp-gantt #gpx-stats .gpx-kpi--warn .gpx-kpi-main { color: #F97316 !important; }

body #tp-gantt #gpx-stats .gpx-quality {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: conic-gradient(#16A34A calc(var(--q) * 1%), #E2E8F0 0) !important;
  position: relative !important;
}

body #tp-gantt #gpx-stats .gpx-quality::before {
  content: "" !important;
  position: absolute !important;
  inset: 6px !important;
  background: #FFFFFF !important;
  border-radius: 50% !important;
}

body #tp-gantt #gpx-stats .gpx-quality b {
  position: relative !important;
  color: #0F172A !important;
  font: 900 10px/1 var(--g-font) !important;
}

body #tp-gantt #gpx-stats .gpx-date,
body #tp-gantt #gpx-stats .gpx-time {
  color: #1E293B !important;
  font: 900 12px/1 var(--g-font) !important;
}

body #ganttOut .p6-toolbar {
  min-height: 48px !important;
  padding: 0 8px !important;
  gap: 0 !important;
  background: #FFFFFF !important;
  border-color: #E2E8F0 !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .06) !important;
}

body #ganttOut .p6-toolbar.aipe-gantt-tools-v2,
body[data-gantt-theme="light"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
  background: #FFFFFF !important;
  border-color: #E2E8F0 !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .06) !important;
}

body #perf-demo-bar.aipe-perf-demo-v2 {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 40px !important;
  margin: 0 0 8px !important;
  padding: 7px 12px !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .06) !important;
}

body #perf-demo-bar.aipe-perf-demo-v2::before {
  content: "Demo Projects" !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 24px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: #F3F7FB !important;
  color: #0B2A4A !important;
  font: 900 10px/1 var(--g-font) !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body #perf-demo-bar.aipe-perf-demo-v2 > div {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body #perf-demo-bar.aipe-perf-demo-v2 b {
  display: none !important;
}

body #perf-demo-bar.aipe-perf-demo-v2 button {
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 11px !important;
  border-radius: 8px !important;
  border: 1px solid #D8E0EA !important;
  background: #FFFFFF !important;
  color: #334155 !important;
  font: 800 10.5px/1 var(--g-font) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}

body #ganttOut .p6-toolbar > .v12-toolgroup,
body #ganttOut .p6-toolbar > .v12-spacer,
body #ganttOut .p6-toolbar .v12-spacer,
body #ganttOut .p6-toolbar #ganttLinkHandlesToggle {
  display: none !important;
}

body #ganttOut .aipe-gantt-tools-v2 .v12-spacer,
body #ganttOut #ganttLinkHandlesToggle,
body #ganttOut #ganttLinkHandlesToggle.gantt-link-mode-compact {
  display: none !important;
}

body #ganttOut #gpx-toolset {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-right: 1px solid #E2E8F0 !important;
}

body #ganttOut #gpx-toolset:only-child {
  border-right: 0 !important;
}

body #ganttOut #gpx-toolset .gpx-tool-cluster {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 10px !important;
}

body #ganttOut #gpx-toolset .gpx-tool-cluster--left {
  border-right: 1px solid #E2E8F0 !important;
}

body #ganttOut #gpx-toolset .gpx-tool,
body #ganttOut #gpx-toolset .gpx-zoom-stepper,
body #ganttOut #gpx-toolset .gpx-search {
  height: 30px !important;
  min-height: 30px !important;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  background: #FFFFFF !important;
  color: #0F172A !important;
  box-shadow: none !important;
}

body #ganttOut #gpx-toolset .gpx-tool {
  width: auto !important;
  min-width: 30px !important;
  padding: 0 9px !important;
  gap: 6px !important;
  font: 800 11px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset .gpx-tool.wide { min-width: max-content !important; }
body #ganttOut #gpx-toolset .gpx-tool.link {
  border-color: #B8CDE0 !important;
  color: #0B2A4A !important;
  background: #F3F7FB !important;
}
body #ganttOut #gpx-toolset .gpx-tool:hover,
body #ganttOut #gpx-toolset .gpx-search:focus-within {
  background: #F8FAFC !important;
  border-color: #CBD5E1 !important;
  color: #0B2A4A !important;
}

body #ganttOut #gpx-toolset .gpx-tool svg,
body #ganttOut #gpx-toolset .gpx-search svg {
  width: 15px !important;
  height: 15px !important;
}

body #ganttOut #gpx-toolset .gpx-zoom-stepper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  border-color: #E2E8F0 !important;
  overflow: hidden !important;
}

body #ganttOut #gpx-toolset .gpx-zoom-stepper button {
  width: 27px !important;
  height: 28px !important;
  border: 0 !important;
  background: #FFFFFF !important;
  color: #334155 !important;
  font: 900 13px/1 var(--g-font) !important;
  cursor: pointer !important;
}

body #ganttOut #gpx-toolset .gpx-zoom-stepper span {
  min-width: 42px !important;
  text-align: center !important;
  color: #0F172A !important;
  font: 900 11px/1 var(--g-font) !important;
  border-left: 1px solid #E2E8F0 !important;
  border-right: 1px solid #E2E8F0 !important;
}

body #ganttOut #gpx-toolset .gpx-search {
  width: 106px !important;
  padding: 0 9px !important;
  gap: 6px !important;
  border-left: 1px solid #E2E8F0 !important;
}

body #ganttOut #gpx-toolset .gpx-search input {
  width: 64px !important;
  font-size: 11px !important;
}

body #ganttOut .p6-toolbar .aipe-tool-block {
  padding: 7px 9px !important;
}

body #ganttOut .p6-toolbar .aipe-tool-block.theme {
  display: none !important;
}

body #ganttOut .p6-toolbar .gt-block-label {
  display: none !important;
}

body #ganttOut .p6-toolbar .v12-menu-trigger,
body #ganttOut .p6-toolbar .p6-tb-btn.v12-direct,
body #ganttOut .p6-toolbar .v12-switch-btn,
body #ganttOut .p6-toolbar #ganttLinkHandlesToggle {
  height: 30px !important;
  min-height: 30px !important;
  border-radius: 8px !important;
  padding: 0 9px !important;
  font-size: 11px !important;
  background: #FFFFFF !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

body #ganttOut .p6-toolbar .p6-tb-btn.v12-direct.on,
body #ganttOut .p6-toolbar #ganttLinkHandlesToggle.on {
  background: #EEF2FF !important;
  color: #0B2A4A !important;
  border-color: #C7D2FE !important;
}

body[data-gantt-theme="dark"] #tp-gantt #gpx-stats,
body[data-gantt-theme="dark"] #tp-gantt #gpx-stats .gpx-snapshot-grid,
body[data-gantt-theme="dark"] #tp-gantt #gpx-stats .gpx-review,
body[data-gantt-theme="dark"] #tp-gantt #gpx-stats .gpx-kpi,
body[data-gantt-theme="dark"] #ganttOut .p6-toolbar,
body[data-gantt-theme="dark"] #ganttOut #gpx-toolset .gpx-tool,
body[data-gantt-theme="dark"] #ganttOut #gpx-toolset .gpx-search,
body[data-gantt-theme="dark"] #ganttOut #gpx-toolset .gpx-zoom-stepper {
  background: #FFFFFF !important;
  color: #0F172A !important;
  border-color: #E2E8F0 !important;
}

/* ============================================================================
   16. USER FIX PASS - compact snapshot + restore real Gantt tools
   ============================================================================ */
body #ganttOut #gpx-toolset {
  display: none !important;
}

body #ganttOut .p6-toolbar > .v12-toolgroup,
body #ganttOut .p6-toolbar .v12-toolgroup {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
}

body #ganttOut .p6-toolbar > .v12-spacer,
body #ganttOut .p6-toolbar .v12-spacer {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin-left: auto !important;
  min-width: 0 !important;
  width: auto !important;
  padding: 7px 10px !important;
}

body #ganttOut .p6-toolbar.aipe-gantt-tools-v2 #ganttLinkHandlesToggle,
body #ganttOut #ganttLinkHandlesToggle,
body #ganttOut #ganttLinkHandlesToggle.gantt-link-mode-compact {
  display: inline-flex !important;
  align-items: center !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 11px !important;
  border-radius: 8px !important;
  border: 1px solid #B8CDE0 !important;
  background: #F3F7FB !important;
  color: #0B2A4A !important;
  font: 800 11px/1 var(--g-font) !important;
}

body #ganttOut .p6-toolbar {
  min-height: 48px !important;
  height: auto !important;
  padding: 0 10px !important;
  align-items: center !important;
}

body #ganttOut .p6-toolbar .aipe-tool-block {
  height: 48px !important;
  min-height: 48px !important;
  padding: 7px 10px !important;
  border-right: 1px solid #E2E8F0 !important;
}

body #ganttOut .p6-toolbar .aipe-tool-block.theme {
  display: none !important;
}

body #ganttOut .p6-toolbar .aipe-tool-block.zoom,
body #ganttOut .p6-toolbar .aipe-tool-block.focus,
body #ganttOut .p6-toolbar .aipe-tool-block.display,
body #ganttOut .p6-toolbar .aipe-tool-block.links {
  display: inline-flex !important;
}

body #ganttOut .p6-toolbar .v12-menu-trigger,
body #ganttOut .p6-toolbar .p6-tb-btn.v12-direct {
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  border: 1px solid transparent !important;
  color: #0F172A !important;
  box-shadow: none !important;
  font: 800 11px/1 var(--g-font) !important;
}

body #ganttOut .p6-toolbar .v12-menu-trigger:hover,
body #ganttOut .p6-toolbar .p6-tb-btn.v12-direct:hover {
  background: #F8FAFC !important;
  border-color: #CBD5E1 !important;
  color: #0B2A4A !important;
}

body #ganttOut .p6-toolbar .p6-tb-btn.v12-direct.on,
body #ganttOut .p6-toolbar .p6-tb-btn.v12-direct.active,
body #ganttOut .p6-toolbar .p6-tb-btn.v12-direct[aria-pressed="true"] {
  background: #EEF2FF !important;
  color: #0B2A4A !important;
  border-color: #C7D2FE !important;
}

body #tp-gantt #gpx-stats {
  padding: 7px 10px 8px !important;
  margin-bottom: 7px !important;
  border-radius: 12px !important;
}

body #tp-gantt #gpx-stats .gpx-snapshot-head {
  height: 26px !important;
  margin-bottom: 5px !important;
}

body #tp-gantt #gpx-stats .gpx-snapshot-title {
  font-size: 12px !important;
  gap: 7px !important;
}

body #tp-gantt #gpx-stats .gpx-spark {
  width: 20px !important;
  height: 20px !important;
}

body #tp-gantt #gpx-stats .gpx-regenerate {
  height: 27px !important;
  padding: 0 11px !important;
  font-size: 10.5px !important;
}

body #tp-gantt #gpx-stats .gpx-snapshot-grid {
  min-height: 62px !important;
  height: 62px !important;
}

body #tp-gantt #gpx-stats .gpx-review,
body #tp-gantt #gpx-stats .gpx-kpi {
  min-height: 62px !important;
  height: 62px !important;
  padding: 6px 8px !important;
  gap: 3px !important;
}

body #tp-gantt #gpx-stats .gpx-review {
  grid-template-columns: 25px 1fr !important;
  column-gap: 7px !important;
}

body #tp-gantt #gpx-stats .gpx-review-check {
  width: 20px !important;
  height: 20px !important;
  font-size: 12px !important;
}

body #tp-gantt #gpx-stats .gpx-review strong {
  font-size: 13px !important;
}

body #tp-gantt #gpx-stats .gpx-review small {
  display: block !important;
  max-width: 118px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 9.5px !important;
}

body #tp-gantt #gpx-stats .gpx-kpi-label {
  font-size: 9.5px !important;
}

body #tp-gantt #gpx-stats .gpx-kpi-main {
  font-size: 18px !important;
}

body #tp-gantt #gpx-stats .gpx-kpi-sub {
  font-size: 9.5px !important;
}

body #tp-gantt #gpx-stats .gpx-quality {
  width: 34px !important;
  height: 34px !important;
}

body #tp-gantt #gpx-stats .gpx-quality::before {
  inset: 5px !important;
}

body #tp-gantt #gpx-stats .gpx-quality b {
  font-size: 9px !important;
}

body #tp-gantt #gpx-stats .gpx-date,
body #tp-gantt #gpx-stats .gpx-time {
  font-size: 10.5px !important;
}

/* ============================================================================
   17. FINAL TOOLBAR SKIN - real old actions, new visual language
   ============================================================================ */
body #ganttOut .p6-toolbar,
body #ganttOut .p6-toolbar.aipe-gantt-tools-v2,
body[data-gantt-theme="light"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  min-height: 50px !important;
  padding: 0 12px !important;
  margin: 0 0 10px !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
  border: 1px solid #DDE5EF !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .07), 0 1px 3px rgba(15, 23, 42, .04) !important;
  overflow: visible !important;
}

body #ganttOut .p6-toolbar > .v12-toolgroup,
body #ganttOut .p6-toolbar .v12-toolgroup {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  gap: 0 !important;
  min-width: 0 !important;
}

body #ganttOut .p6-toolbar .aipe-tool-block,
body[data-gantt-theme="light"] #ganttOut .p6-toolbar .aipe-tool-block {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  gap: 7px !important;
  min-height: 50px !important;
  height: 50px !important;
  padding: 0 12px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid #E2E8F0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body #ganttOut .p6-toolbar .aipe-tool-block.theme {
  display: none !important;
}

body #ganttOut .p6-toolbar .gt-block-label,
body #ganttOut .p6-toolbar .aipe-tool-block::before,
body #ganttOut .p6-toolbar .v12-spacer::before {
  display: none !important;
  content: none !important;
}

body #ganttOut .p6-toolbar .v12-menu,
body #ganttOut .p6-toolbar .ga-mode-menu {
  position: relative !important;
}

body #ganttOut .p6-toolbar .v12-menu-trigger,
body #ganttOut .p6-toolbar .p6-tb-btn.v12-direct,
body #ganttOut .p6-toolbar .v12-switch-btn,
body #ganttOut .p6-toolbar #ganttLinkHandlesToggle,
body #ganttOut .p6-toolbar #ganttLinkHandlesToggle.gantt-link-mode-compact {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  height: 31px !important;
  min-height: 31px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 0 11px !important;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  background: #FFFFFF !important;
  color: #111827 !important;
  box-shadow: none !important;
  font: 800 11px/1 var(--g-font) !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  transform: none !important;
}

body #ganttOut .p6-toolbar .v12-menu-trigger:hover,
body #ganttOut .p6-toolbar .p6-tb-btn.v12-direct:hover,
body #ganttOut .p6-toolbar #ganttLinkHandlesToggle:hover {
  background: #F8FAFC !important;
  border-color: #CBD5E1 !important;
  color: #0B2A4A !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .05) !important;
}

body #ganttOut .p6-toolbar .p6-tb-btn.v12-direct.on,
body #ganttOut .p6-toolbar .p6-tb-btn.v12-direct.active,
body #ganttOut .p6-toolbar .p6-tb-btn.v12-direct[aria-pressed="true"],
body #ganttOut .p6-toolbar #ganttLinkHandlesToggle.on {
  background: #F3F7FB !important;
  border-color: #B8CDE0 !important;
  color: #0B2A4A !important;
  box-shadow: none !important;
}

body #ganttOut .p6-toolbar .gt-icon-svg {
  width: 15px !important;
  height: 15px !important;
  color: currentColor !important;
  opacity: 1 !important;
}

body #ganttOut .p6-toolbar .v12-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 22px !important;
  height: 20px !important;
  padding: 0 6px !important;
  border-radius: 999px !important;
  background: #EEF2FF !important;
  color: #071A33 !important;
  font: 900 10px/1 var(--g-font) !important;
}

body #ganttOut .p6-toolbar > .v12-spacer,
body #ganttOut .p6-toolbar .v12-spacer,
body[data-gantt-theme="light"] #ganttOut .aipe-gantt-tools-v2 .v12-spacer {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  align-self: stretch !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: auto !important;
  height: 50px !important;
  margin-left: auto !important;
  padding: 0 0 0 12px !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 1px solid #E2E8F0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body #ganttOut .p6-toolbar #ganttLinkHandlesToggle,
body #ganttOut .p6-toolbar #ganttLinkHandlesToggle.gantt-link-mode-compact,
body[data-gantt-theme="light"] #ganttOut .aipe-gantt-tools-v2 .v12-spacer #ganttLinkHandlesToggle {
  display: inline-flex !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 14px !important;
  border-radius: 9px !important;
  border-color: #B8CDE0 !important;
  background: #F3F7FB !important;
  color: #0B2A4A !important;
  font-size: 11px !important;
}

body #ganttOut .p6-toolbar .v12-menu-panel {
  border-radius: 10px !important;
  border: 1px solid #DDE5EF !important;
  background: #FFFFFF !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .14), 0 4px 10px rgba(15, 23, 42, .07) !important;
}

body #ganttOut .p6-toolbar .v12-menu-item {
  border-radius: 8px !important;
  font-size: 12px !important;
}

body #ganttOut .p6-toolbar .v12-menu-item.active {
  background: #F3F7FB !important;
  color: #0B2A4A !important;
}

body #ganttOut .p6-toolbar .v12-export-menu,
body #ganttOut .p6-toolbar .p6-exp-btn,
body #ganttOut .p6-toolbar .p6-rowcount {
  display: none !important;
}

/* ============================================================================
   18. REQUESTED NEW FUNCTIONAL TOOLBAR
   This is the visible toolbar. Native controls stay in the DOM for their runtime
   wiring, but the user sees the compact working buttons below.
   ============================================================================ */
body #ganttOut .p6-toolbar > .v12-toolgroup,
body #ganttOut .p6-toolbar .v12-toolgroup,
body #ganttOut .p6-toolbar > .v12-spacer,
body #ganttOut .p6-toolbar .v12-spacer,
body #ganttOut .p6-toolbar > .aipe-tool-block,
body #ganttOut .p6-toolbar .aipe-tool-block,
body #ganttOut .p6-toolbar #ganttLinkHandlesToggle {
  display: none !important;
}

body #ganttOut #gpx-toolset.gpx-live-tools,
body[data-gantt-theme="dark"] #ganttOut #gpx-toolset.gpx-live-tools {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 50px !important;
  padding: 0 16px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body #ganttOut #gpx-toolset .gpx-tool-left,
body #ganttOut #gpx-toolset .gpx-tool-right {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

body #ganttOut #gpx-toolset .gpx-tool-right {
  margin-left: auto !important;
  padding-left: 16px !important;
  border-left: 1px solid #E2E8F0 !important;
}

body #ganttOut #gpx-toolset .gpx-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: 40px !important;
  min-height: 40px !important;
  min-width: 0 !important;
  padding: 0 15px !important;
  border-radius: 10px !important;
  border: 1px solid #D8E0EA !important;
  background: #FFFFFF !important;
  color: #111827 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
  font: 900 13px/1 var(--g-font) !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

body #ganttOut #gpx-toolset .gpx-pill:hover {
  border-color: #B8CDE0 !important;
  background: #F8FBFF !important;
  color: #0B2A4A !important;
}

body #ganttOut #gpx-toolset .gpx-pill.on,
body #ganttOut #gpx-toolset .gpx-link-pill.on {
  border-color: #B8CDE0 !important;
  background: #F3F7FB !important;
  color: #0B2A4A !important;
}

body #ganttOut #gpx-toolset .gpx-link-pill {
  min-width: 132px !important;
  border-color: #B8CDE0 !important;
  background: #F3F7FB !important;
  color: #0B2A4A !important;
}

body #ganttOut #gpx-toolset .gpx-pill svg {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 auto !important;
}

body #ganttOut #gpx-toolset .gpx-pill b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 24px !important;
  min-width: 28px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  background: #EEF2FF !important;
  color: #0B2A4A !important;
  font: 900 11px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset .gpx-pill i {
  color: #94A3B8 !important;
  font-style: normal !important;
  font-size: 11px !important;
}

body #ganttOut #gpx-toolset .gpx-menu {
  position: relative !important;
}

body #ganttOut #gpx-toolset .gpx-dropdown {
  display: none !important;
  position: absolute !important;
  z-index: 90 !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  min-width: 190px !important;
  padding: 7px !important;
  border-radius: 12px !important;
  border: 1px solid #D8E0EA !important;
  background: #FFFFFF !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .14), 0 4px 10px rgba(15, 23, 42, .07) !important;
}

body #ganttOut #gpx-toolset .gpx-menu.open .gpx-dropdown {
  display: grid !important;
  gap: 4px !important;
}

body #ganttOut #gpx-toolset .gpx-dropdown button {
  height: 32px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #334155 !important;
  text-align: left !important;
  padding: 0 10px !important;
  font: 800 12px/1 var(--g-font) !important;
  cursor: pointer !important;
}

body #ganttOut #gpx-toolset .gpx-dropdown button:hover {
  background: #F3F7FB !important;
  color: #0B2A4A !important;
}

/* ============================================================================
   19. FINAL REQUEST FIX - new toolbar buttons, not old toolbar skin
   ============================================================================ */
body #ganttOut .p6-toolbar,
body #ganttOut .p6-toolbar.aipe-gantt-tools-v2,
body[data-gantt-theme="light"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 70px !important;
  padding: 12px 16px !important;
  margin: 0 0 10px !important;
  border-radius: 14px !important;
  border: 1px solid #DDE7F2 !important;
  background: #FFFFFF !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04) !important;
  overflow: visible !important;
}

body #ganttOut .p6-toolbar > .v12-toolgroup,
body #ganttOut .p6-toolbar .v12-toolgroup,
body #ganttOut .p6-toolbar > .v12-spacer,
body #ganttOut .p6-toolbar .v12-spacer,
body #ganttOut .p6-toolbar > .aipe-tool-block,
body #ganttOut .p6-toolbar .aipe-tool-block,
body #ganttOut .p6-toolbar > .p6-tb-lbl,
body #ganttOut .p6-toolbar > .p6-tb-sep,
body #ganttOut .p6-toolbar > .p6-tb-btn,
body #ganttOut .p6-toolbar #ganttLinkHandlesToggle,
body #ganttOut #ganttLinkHandlesToggle,
body #ganttOut .gantt-link-mode-compact,
body #ganttOut .p6-toolbar .v12-export-menu,
body #ganttOut .p6-toolbar .p6-exp-btn,
body #ganttOut .p6-toolbar .p6-rowcount {
  display: none !important;
}

body #ganttOut #gpx-toolset.gpx-live-tools {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body #ganttOut #gpx-toolset .gpx-tool-left,
body #ganttOut #gpx-toolset .gpx-tool-right {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  flex-wrap: nowrap !important;
}

body #ganttOut #gpx-toolset .gpx-tool-left {
  flex: 1 1 auto !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  padding-bottom: 1px !important;
  scrollbar-width: thin !important;
}

body #ganttOut #gpx-toolset .gpx-tool-right {
  flex: 0 0 auto !important;
  margin-left: 8px !important;
  padding-left: 16px !important;
  border-left: 1px solid #E2E8F0 !important;
}

body #ganttOut #gpx-toolset .gpx-btn,
body #ganttOut #gpx-toolset .gpx-toggle-btn,
body #ganttOut #gpx-toolset .gpx-link-btn,
body #ganttOut #gpx-toolset .gpx-icon-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border-radius: 9px !important;
  border: 1px solid #D8E0EA !important;
  background: #FFFFFF !important;
  color: #111827 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
  font: 900 12px/1 var(--g-font) !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

body #ganttOut #gpx-toolset .gpx-btn:hover,
body #ganttOut #gpx-toolset .gpx-toggle-btn:hover,
body #ganttOut #gpx-toolset .gpx-link-btn:hover,
body #ganttOut #gpx-toolset .gpx-icon-btn:hover {
  border-color: #BFD2EA !important;
  background: #F8FBFF !important;
  color: #0B2A4A !important;
  box-shadow: 0 8px 18px rgba(31, 78, 121, .09), 0 1px 2px rgba(15, 23, 42, .04) !important;
}

body #ganttOut #gpx-toolset .gpx-btn:active,
body #ganttOut #gpx-toolset .gpx-toggle-btn:active,
body #ganttOut #gpx-toolset .gpx-link-btn:active,
body #ganttOut #gpx-toolset .gpx-icon-btn:active {
  transform: translateY(1px) !important;
}

body #ganttOut #gpx-toolset .gpx-btn.on {
  border-color: #B8CDE0 !important;
  background: #F3F7FB !important;
  color: #0B2A4A !important;
}

body #ganttOut #gpx-toolset .gpx-btn svg,
body #ganttOut #gpx-toolset .gpx-toggle-btn svg,
body #ganttOut #gpx-toolset .gpx-link-btn svg {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 auto !important;
  color: currentColor !important;
}

body #ganttOut #gpx-toolset .gpx-icon-btn {
  width: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  font-size: 15px !important;
}

body #ganttOut #gpx-toolset .gpx-btn b,
body #ganttOut #gpx-toolset .gpx-link-btn b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 22px !important;
  min-width: 26px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  background: #EEF2FF !important;
  color: #0B2A4A !important;
  font: 900 10px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset .gpx-btn i {
  color: #94A3B8 !important;
  font-style: normal !important;
  font-size: 10px !important;
}

body #ganttOut #gpx-toolset .gpx-toggle-btn {
  padding-right: 12px !important;
}

body #ganttOut #gpx-toolset .gpx-toggle-btn em {
  position: relative !important;
  width: 30px !important;
  height: 16px !important;
  border-radius: 999px !important;
  background: #CBD5E1 !important;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .06) !important;
  flex: 0 0 auto !important;
}

body #ganttOut #gpx-toolset .gpx-toggle-btn em::after {
  content: "" !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: #FFFFFF !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .25) !important;
  transition: transform .16s ease !important;
}

body #ganttOut #gpx-toolset .gpx-toggle-btn.on {
  border-color: #B7D7C0 !important;
  background: #F0FDF4 !important;
  color: #166534 !important;
}

body #ganttOut #gpx-toolset .gpx-toggle-btn.on em {
  background: #22C55E !important;
}

body #ganttOut #gpx-toolset .gpx-toggle-btn.on em::after {
  transform: translateX(14px) !important;
}

body #ganttOut #gpx-toolset #gpx-critical.on {
  border-color: #FECACA !important;
  background: #FEF2F2 !important;
  color: #B91C1C !important;
}

body #ganttOut #gpx-toolset #gpx-open-ends.on {
  border-color: #FED7AA !important;
  background: #FFF7ED !important;
  color: #C2410C !important;
}

body #ganttOut #gpx-toolset #gpx-link-mode {
  min-width: 132px !important;
  border-color: #B8CDE0 !important;
  background: #F3F7FB !important;
  color: #0B2A4A !important;
}

body #ganttOut #gpx-toolset #gpx-link-mode.on {
  border-color: #8EACC9 !important;
  background: #E7EEF6 !important;
  color: #071A33 !important;
}

body #ganttOut #gpx-toolset .gpx-search {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: 38px !important;
  width: 160px !important;
  padding: 0 11px !important;
  border-radius: 9px !important;
  border: 1px solid #D8E0EA !important;
  background: #FFFFFF !important;
  color: #475569 !important;
}

body #ganttOut #gpx-toolset .gpx-search svg {
  width: 16px !important;
  height: 16px !important;
}

body #ganttOut #gpx-toolset .gpx-search input {
  width: 100% !important;
  min-width: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #334155 !important;
  font: 800 12px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset .gpx-search:focus-within {
  border-color: #8EACC9 !important;
  box-shadow: 0 0 0 3px rgba(31, 78, 121, .12) !important;
}

body #ganttOut #gpx-toolset .gpx-menu {
  position: relative !important;
  flex: 0 0 auto !important;
}

body #ganttOut #gpx-toolset .gpx-dropdown {
  z-index: 300 !important;
  top: calc(100% + 9px) !important;
  min-width: 196px !important;
  padding: 7px !important;
  border-radius: 11px !important;
}

body #ganttOut #gpx-toolset .gpx-dropdown button {
  width: 100% !important;
  text-align: left !important;
}

body #ganttOut .p6-row.gpx-hit .p6-left,
body #ganttOut .p6-row.gpx-hit .p6-right {
  background: rgba(219, 234, 254, .88) !important;
}

body #ganttOut .p6-row.gpx-open-end-hit .p6-left {
  box-shadow: inset 4px 0 0 #F97316 !important;
  background: #FFF7ED !important;
}

body #ganttOut .p6-row.gpx-open-end-hit .p6-right {
  background: rgba(255, 247, 237, .72) !important;
}

body #ganttOut .p6-row.gpx-open-end-hit .p6-left::after {
  content: attr(data-open-end-side) !important;
  float: right !important;
  margin-right: 8px !important;
  color: #C2410C !important;
  font: 900 10px/1.2 var(--g-font) !important;
}

body.__gpx-baseline-compare #ganttOut .p6-act-bar,
body.__gpx-baseline-compare #ganttOut .p6-sum-bar {
  box-shadow: 0 0 0 2px rgba(31, 78, 121, .20), 0 7px 12px rgba(15, 23, 42, .10) !important;
}

body.__gpx-baseline-compare #ganttOut .p6-act-bar::after,
body.__gpx-baseline-compare #ganttOut .p6-sum-bar::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -6px !important;
  height: 2px !important;
  background: #1F4E79 !important;
  border-radius: 999px !important;
  opacity: .75 !important;
}

body #ganttOut .gpx-tool-toast {
  position: sticky !important;
  z-index: 320 !important;
  bottom: 14px !important;
  left: 16px !important;
  width: max-content !important;
  max-width: min(520px, calc(100vw - 80px)) !important;
  margin: -44px 0 10px 16px !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  border: 1px solid #B8CDE0 !important;
  background: #F3F7FB !important;
  color: #071A33 !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .14) !important;
  font: 900 12px/1.2 var(--g-font) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(8px) !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

body #ganttOut .gpx-tool-toast.show {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

body #ganttOut .gpx-tool-toast.warn {
  border-color: #FED7AA !important;
  background: #FFF7ED !important;
  color: #C2410C !important;
}

body #ganttOut .gpx-tool-toast.ok {
  border-color: #BBF7D0 !important;
  background: #F0FDF4 !important;
  color: #166534 !important;
}

@media (max-width: 1300px) {
  body #ganttOut #gpx-toolset.gpx-live-tools {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body #ganttOut #gpx-toolset .gpx-tool-left {
    width: 100% !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
  }

  body #ganttOut #gpx-toolset .gpx-tool-right {
    width: 100% !important;
    flex-wrap: wrap !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-top: 10px !important;
    border-left: 0 !important;
    border-top: 1px solid #E2E8F0 !important;
    overflow-x: auto !important;
  }
}

/* ============================================================================
   20. CLEAN COMPACT TOOLBAR - requested new buttons only
   ============================================================================ */
body #ganttOut .p6-toolbar,
body #ganttOut .p6-toolbar.aipe-gantt-tools-v2,
body[data-gantt-theme="light"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
  min-height: 62px !important;
  padding: 10px 14px !important;
}

body #ganttOut #gpx-toolset.gpx-live-tools {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 40px !important;
}

body #ganttOut #gpx-toolset .gpx-tool-left {
  flex: 1 1 auto !important;
  width: auto !important;
  overflow: visible !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  padding-bottom: 0 !important;
  scrollbar-width: none !important;
}

body #ganttOut #gpx-toolset .gpx-tool-left::-webkit-scrollbar {
  display: none !important;
}

body #ganttOut #gpx-toolset .gpx-tool-right {
  flex: 0 0 auto !important;
  width: auto !important;
  margin-left: auto !important;
  padding-left: 16px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  border-left: 1px solid #E2E8F0 !important;
  overflow: visible !important;
}

body #ganttOut #gpx-toolset .gpx-btn,
body #ganttOut #gpx-toolset .gpx-link-btn {
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 10px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
}

body #ganttOut #gpx-toolset .gpx-btn.on {
  border-color: #FECACA !important;
  background: #FEF2F2 !important;
  color: #B91C1C !important;
}

body #ganttOut #gpx-toolset #gpx-link-mode {
  min-width: 148px !important;
  justify-content: center !important;
}

body #ganttOut #gpx-toolset #gpx-more-menu {
  min-width: 104px !important;
}

body #ganttOut #gpx-toolset .gpx-dropdown-wide {
  min-width: 220px !important;
}

body #ganttOut #gpx-toolset .gpx-dropdown .gpx-search {
  width: 100% !important;
  margin-top: 6px !important;
}

body #ganttOut #gpx-toolset .gpx-dropdown .gpx-search input {
  font-size: 12px !important;
}

@media (max-width: 980px) {
  body #ganttOut #gpx-toolset.gpx-live-tools {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body #ganttOut #gpx-toolset .gpx-tool-left {
    flex-wrap: wrap !important;
  }

  body #ganttOut #gpx-toolset .gpx-tool-right {
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-top: 10px !important;
    border-left: 0 !important;
    border-top: 1px solid #E2E8F0 !important;
  }
}

/* ============================================================================
   21. SMALL REFERENCE-LIKE TOOLBAR - no Tools menu
   ============================================================================ */
body #ganttOut .p6-toolbar,
body #ganttOut .p6-toolbar.aipe-gantt-tools-v2,
body[data-gantt-theme="light"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
  min-height: 48px !important;
  padding: 7px 10px !important;
  margin: 0 0 8px !important;
  border-radius: 11px !important;
  box-shadow: 0 7px 18px rgba(15, 23, 42, .055), 0 1px 2px rgba(15, 23, 42, .04) !important;
}

body #ganttOut #gpx-toolset.gpx-live-tools {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-height: 34px !important;
}

body #ganttOut #gpx-toolset .gpx-tool-left,
body #ganttOut #gpx-toolset .gpx-tool-right {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  min-width: 0 !important;
}

body #ganttOut #gpx-toolset .gpx-tool-left {
  flex: 1 1 auto !important;
  width: auto !important;
  overflow: visible !important;
}

body #ganttOut #gpx-toolset .gpx-tool-right {
  flex: 0 0 auto !important;
  width: auto !important;
  margin-left: auto !important;
  padding-left: 9px !important;
  padding-top: 0 !important;
  border-left: 1px solid #E2E8F0 !important;
  border-top: 0 !important;
  overflow: visible !important;
}

body #ganttOut #gpx-toolset .gpx-btn,
body #ganttOut #gpx-toolset .gpx-toggle-btn,
body #ganttOut #gpx-toolset .gpx-link-btn,
body #ganttOut #gpx-toolset .gpx-icon-btn {
  height: 30px !important;
  min-height: 30px !important;
  gap: 5px !important;
  padding: 0 8px !important;
  border-radius: 7px !important;
  border-color: #DCE4EF !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  font: 900 10px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset .gpx-btn svg,
body #ganttOut #gpx-toolset .gpx-toggle-btn svg,
body #ganttOut #gpx-toolset .gpx-link-btn svg {
  width: 14px !important;
  height: 14px !important;
}

body #ganttOut #gpx-toolset .gpx-btn b,
body #ganttOut #gpx-toolset .gpx-link-btn b {
  height: 18px !important;
  min-width: 22px !important;
  padding: 0 6px !important;
  font-size: 9px !important;
}

body #ganttOut #gpx-toolset .gpx-btn i {
  font-size: 9px !important;
}

body #ganttOut #gpx-toolset .gpx-toggle-btn {
  padding-right: 7px !important;
}

body #ganttOut #gpx-toolset .gpx-toggle-btn em {
  width: 24px !important;
  height: 13px !important;
}

body #ganttOut #gpx-toolset .gpx-toggle-btn em::after {
  top: 2px !important;
  left: 2px !important;
  width: 9px !important;
  height: 9px !important;
}

body #ganttOut #gpx-toolset .gpx-toggle-btn.on em::after {
  transform: translateX(11px) !important;
}

body #ganttOut #gpx-toolset #gpx-link-mode {
  min-width: 96px !important;
  padding: 0 8px !important;
  border-color: #B8CDE0 !important;
  background: #F3F7FB !important;
}

body #ganttOut #gpx-toolset .gpx-search {
  width: 118px !important;
  height: 30px !important;
  padding: 0 8px !important;
  gap: 6px !important;
  border-radius: 7px !important;
}

body #ganttOut #gpx-toolset .gpx-search svg {
  width: 13px !important;
  height: 13px !important;
}

body #ganttOut #gpx-toolset .gpx-search input {
  font-size: 10.5px !important;
}

body #ganttOut #gpx-toolset .gpx-dropdown {
  top: calc(100% + 7px) !important;
  min-width: 170px !important;
  border-radius: 9px !important;
}

body #ganttOut #gpx-toolset .gpx-dropdown button {
  height: 28px !important;
  font-size: 11px !important;
}

@media (max-width: 1450px) {
  body #ganttOut #gpx-toolset .gpx-iconic span,
  body #ganttOut #gpx-toolset .gpx-mini-action span,
  body #ganttOut #gpx-toolset #gpx-filter span {
    display: none !important;
  }

  body #ganttOut #gpx-toolset .gpx-iconic,
  body #ganttOut #gpx-toolset .gpx-mini-action,
  body #ganttOut #gpx-toolset #gpx-filter {
    width: 30px !important;
    min-width: 30px !important;
    padding: 0 !important;
  }

  body #ganttOut #gpx-toolset .gpx-toggle-btn {
    padding-left: 7px !important;
  }

  body #ganttOut #gpx-toolset #gpx-show-logic span,
  body #ganttOut #gpx-toolset #gpx-open-ends span {
    display: none !important;
  }

  body #ganttOut #gpx-toolset #gpx-critical span {
    max-width: 54px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body #ganttOut #gpx-toolset .gpx-toggle-btn {
    gap: 5px !important;
    padding-right: 6px !important;
  }
}

@media (max-width: 1180px) {
  body #ganttOut #gpx-toolset #gpx-timescale-menu span,
  body #ganttOut #gpx-toolset #gpx-show-logic span,
  body #ganttOut #gpx-toolset #gpx-open-ends span {
    display: none !important;
  }

  body #ganttOut #gpx-toolset .gpx-search {
    width: 96px !important;
  }

  body #ganttOut #gpx-toolset #gpx-link-mode {
    min-width: 86px !important;
  }
}

/* ============================================================================
   22. SELECTED COMPACT TOOLBAR - only the requested controls
   ============================================================================ */
body #ganttOut #gpx-view-menu,
body #ganttOut #gpx-expand,
body #ganttOut #gpx-collapse,
body #ganttOut #gpx-open-ends,
body #ganttOut #gpx-group,
body #ganttOut #gpx-validate,
body #ganttOut #gpx-baseline {
  display: none !important;
}

body #ganttOut .p6-toolbar,
body #ganttOut .p6-toolbar.aipe-gantt-tools-v2,
body[data-gantt-theme="light"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
  min-height: 46px !important;
  padding: 7px 10px !important;
  border-radius: 12px !important;
  border-color: #DDE7F2 !important;
  background: linear-gradient(180deg, #FFFFFF 0%, #FCFDFE 100%) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04) !important;
}

body #ganttOut #gpx-toolset.gpx-live-tools[data-gpx-version="compact-selected-v1"] {
  min-height: 32px !important;
  gap: 10px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-tool-left {
  gap: 7px !important;
  flex: 1 1 auto !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-tool-right {
  gap: 7px !important;
  padding-left: 10px !important;
  margin-left: auto !important;
  border-left: 1px solid #E5EAF1 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-btn,
body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-toggle-btn,
body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-link-btn {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  border: 1px solid #D9E2EE !important;
  background: #FFFFFF !important;
  color: #142033 !important;
  box-shadow: 0 1px 1px rgba(15, 23, 42, .035) !important;
  font: 900 11px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-btn:hover,
body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-toggle-btn:hover,
body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-link-btn:hover {
  border-color: #B9CBE2 !important;
  background: #F8FBFF !important;
  color: #1455D9 !important;
  box-shadow: 0 8px 18px rgba(31, 78, 121, .08) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-btn svg,
body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-toggle-btn svg,
body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-link-btn svg {
  width: 15px !important;
  height: 15px !important;
  stroke-width: 2.15 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-btn span,
body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-toggle-btn span,
body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-link-btn span {
  display: inline !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-btn b,
body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-link-btn b {
  height: 18px !important;
  min-width: 22px !important;
  padding: 0 6px !important;
  background: #EEF3FF !important;
  color: #0B2A4A !important;
  font-size: 9px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-toggle-btn.on {
  border-color: #F3C4C4 !important;
  background: #FFF7F7 !important;
  color: #B42318 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-toggle-btn em {
  width: 24px !important;
  height: 13px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-toggle-btn em::after {
  width: 9px !important;
  height: 9px !important;
  top: 2px !important;
  left: 2px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-toggle-btn.on em::after {
  transform: translateX(11px) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-search {
  width: 132px !important;
  height: 32px !important;
  border-radius: 8px !important;
  border-color: #D9E2EE !important;
  background: #FFFFFF !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-search input {
  font-size: 11px !important;
  font-weight: 800 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] #gpx-link-mode {
  min-width: 104px !important;
  border-color: #BED5FF !important;
  background: #F1F6FF !important;
  color: #155EEF !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] #gpx-link-mode.on {
  border-color: #8CB8FF !important;
  background: #E7F0FF !important;
  color: #1248B5 !important;
}

@media (max-width: 1120px) {
  body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-btn span,
  body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] #gpx-critical span {
    display: none !important;
  }

  body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] .gpx-btn,
  body #ganttOut #gpx-toolset[data-gpx-version="compact-selected-v1"] #gpx-critical {
    width: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
  }
}

/* ============================================================================
   23. ULTRA COMPACT PROFESSIONAL TOOLBAR
   ============================================================================ */
body #ganttOut .p6-toolbar,
body #ganttOut .p6-toolbar.aipe-gantt-tools-v2,
body[data-gantt-theme="light"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
  min-height: 40px !important;
  padding: 5px 9px !important;
  margin: 0 0 7px !important;
  border-radius: 9px !important;
  border: 1px solid #E1E8F1 !important;
  background: #FFFFFF !important;
  box-shadow: 0 7px 16px rgba(15, 23, 42, .045), 0 1px 2px rgba(15, 23, 42, .035) !important;
}

body #ganttOut #gpx-toolset.gpx-live-tools[data-gpx-version="ultra-compact-v2"] {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-height: 29px !important;
  width: 100% !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-tool-left,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-tool-right {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  min-width: 0 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-tool-left {
  flex: 1 1 auto !important;
  overflow: visible !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-tool-right {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  padding-left: 10px !important;
  border-left: 1px solid #E6ECF3 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-menu,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-iconic,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-critical {
  position: relative !important;
  flex: 0 0 auto !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-menu:not(:last-child)::after,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-iconic::after {
  content: none !important;
  display: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-sep {
  display: inline-flex !important;
  width: 1px !important;
  height: 22px !important;
  margin: 0 7px !important;
  background: #E2E8F0 !important;
  border-radius: 999px !important;
  flex: 0 0 1px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-btn,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-toggle-btn,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-link-btn {
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 7px !important;
  gap: 5px !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: #172033 !important;
  box-shadow: none !important;
  font: 900 10px/1 var(--g-font) !important;
  letter-spacing: 0 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-btn:hover,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-toggle-btn:hover {
  border-color: #D7E2F0 !important;
  background: #F8FBFF !important;
  color: #155EEF !important;
  box-shadow: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-btn svg,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-toggle-btn svg,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-link-btn svg {
  width: 14px !important;
  height: 14px !important;
  stroke-width: 2.2 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-btn b,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-link-btn b {
  height: 17px !important;
  min-width: 21px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  background: #EEF3FF !important;
  color: #0B2A4A !important;
  font: 900 8.5px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-btn i {
  color: #9AA7B8 !important;
  font-size: 8px !important;
  margin-left: 1px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-fit {
  width: 28px !important;
  min-width: 28px !important;
  padding: 0 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-fit span {
  display: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-critical {
  padding: 0 6px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-critical.on {
  border-color: #F4C6C8 !important;
  background: #FFF7F7 !important;
  color: #B42318 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-show-logic {
  padding: 0 6px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-show-logic.on {
  border-color: #BBF7D0 !important;
  background: #F0FDF4 !important;
  color: #15803D !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-critical em,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-show-logic em {
  width: 22px !important;
  height: 12px !important;
  background: #D2DAE6 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-critical em::after,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-show-logic em::after {
  width: 8px !important;
  height: 8px !important;
  top: 2px !important;
  left: 2px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-critical.on em {
  background: #D94855 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-show-logic.on em {
  background: #22C55E !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-critical.on em::after,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-show-logic.on em::after {
  transform: translateX(10px) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-search {
  width: 98px !important;
  height: 28px !important;
  padding: 0 6px !important;
  gap: 5px !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-search:hover,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-search:focus-within {
  border-color: #D7E2F0 !important;
  background: #F8FBFF !important;
  box-shadow: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-search svg {
  width: 13px !important;
  height: 13px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-search input {
  font: 800 10px/1 var(--g-font) !important;
  color: #334155 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-link-mode {
  height: 30px !important;
  min-height: 30px !important;
  min-width: 96px !important;
  padding: 0 8px !important;
  border: 1px solid #BBD3FF !important;
  border-radius: 8px !important;
  background: #F4F8FF !important;
  color: #155EEF !important;
  box-shadow: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-link-mode:hover,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-link-mode.on {
  border-color: #8CB8FF !important;
  background: #EAF2FF !important;
  color: #1248B5 !important;
}

@media (max-width: 1180px) {
  body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-btn span,
  body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-critical span,
  body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-show-logic span {
    display: none !important;
  }

  body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-wbs-menu,
  body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-timescale-menu,
  body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-zoom-menu,
  body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-critical,
  body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] #gpx-show-logic {
    width: 30px !important;
    min-width: 30px !important;
    padding: 0 !important;
  }

  body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-btn b,
  body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v2"] .gpx-btn i {
    display: none !important;
  }
}

/* v3: same compact skin, with the old arrow-mode dropdown restored */
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-height: 29px !important;
  width: 100% !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-tool-left,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-tool-right {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  min-width: 0 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-tool-left {
  flex: 1 1 auto !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-tool-right {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  padding-left: 10px !important;
  border-left: 1px solid #E6ECF3 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-sep {
  display: inline-flex !important;
  width: 1px !important;
  height: 22px !important;
  margin: 0 7px !important;
  background: #E2E8F0 !important;
  border-radius: 999px !important;
  flex: 0 0 1px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-btn,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-toggle-btn,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-link-btn {
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 7px !important;
  gap: 5px !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: #172033 !important;
  box-shadow: none !important;
  font: 900 10px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-btn:hover,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-toggle-btn:hover {
  border-color: #D7E2F0 !important;
  background: #F8FBFF !important;
  color: #155EEF !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-btn svg,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-toggle-btn svg,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-link-btn svg {
  width: 14px !important;
  height: 14px !important;
  stroke-width: 2.2 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] #gpx-filter {
  height: 30px !important;
  min-height: 30px !important;
  min-width: 82px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 10px !important;
  border: 1px solid #D7E2F0 !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  color: #172033 !important;
  box-shadow: none !important;
  font: 900 10.5px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] #gpx-filter:hover {
  border-color: #8EACC9 !important;
  background: #F3F7FB !important;
  color: #0B2A4A !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] #gpx-filter.on {
  border-color: #4F7FA8 !important;
  background: #E7EEF6 !important;
  color: #0B2A4A !important;
  box-shadow: inset 0 0 0 1px rgba(31, 78, 121, .12) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] #gpx-filter svg {
  width: 14px !important;
  height: 14px !important;
  stroke-width: 2.35 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-btn b,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-link-btn b {
  height: 17px !important;
  min-width: 21px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  background: #EEF3FF !important;
  color: #0B2A4A !important;
  font: 900 8.5px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-btn i {
  color: #9AA7B8 !important;
  font-size: 8px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] #gpx-fit {
  width: 28px !important;
  min-width: 28px !important;
  padding: 0 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] #gpx-fit span {
  display: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] #gpx-critical.on {
  border-color: #F4C6C8 !important;
  background: #FFF7F7 !important;
  color: #B42318 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] #gpx-show-logic {
  border-color: #D7E2F0 !important;
  background: #FFFFFF !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] #gpx-show-logic.on {
  border-color: #BBF7D0 !important;
  background: #F0FDF4 !important;
  color: #15803D !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-search {
  width: 98px !important;
  height: 28px !important;
  padding: 0 6px !important;
  gap: 5px !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-search:hover,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-search:focus-within {
  border-color: #D7E2F0 !important;
  background: #F8FBFF !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] #gpx-link-mode {
  height: 30px !important;
  min-height: 30px !important;
  min-width: 96px !important;
  padding: 0 8px !important;
  border: 1px solid #BBD3FF !important;
  border-radius: 8px !important;
  background: #F4F8FF !important;
  color: #155EEF !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] #gpx-link-mode:hover,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] #gpx-link-mode.on {
  border-color: #8CB8FF !important;
  background: #EAF2FF !important;
  color: #1248B5 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-dropdown button.active {
  background: #F3F7FB !important;
  color: #155EEF !important;
}

/* ============================================================================
   24. V16 REMOVED DUPLICATE WBS PALETTE BLOCK
   Final WBS colours are owned only by section 25 below.
   ============================================================================ */
/* ============================================================================
   25. PROFESSIONAL WBS LEVEL PALETTE - CSS source of truth
   --------------------------------------------------------------------------
   V16: default colours match core/994-appearance-engine.js PROJECT_NAVY_LEVELS.
   142 only writes CSS custom properties when a user-selected AppearancePalette
   differs; it never repaints backgrounds directly.
   ============================================================================ */
body #ganttOut .p6-row[data-rowkind="wbs"],
body #ganttOut .p6-left.p6-wbs-row {
  --wbs-left-a: #071A33;
  --wbs-left-b: #071A33;
  --wbs-right-a: rgba(7, 26, 51, .105);
  --wbs-border: rgba(79, 127, 168, .32);
  --wbs-fg: #FFFFFF;
  --wbs-subtle: #E7EEF6;
  --wbs-summary: #111827;
}

body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="0"],
body #ganttOut .p6-left.p6-wbs-row.lvl0 { --wbs-left-a:#071A33; --wbs-left-b:#071A33; --wbs-right-a:rgba(7,26,51,.105); --wbs-border:rgba(79,127,168,.32); --wbs-fg:#FFFFFF; --wbs-subtle:#E7EEF6; --wbs-summary:#111827; }
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="1"],
body #ganttOut .p6-left.p6-wbs-row.lvl1 { --wbs-left-a:#102A4C; --wbs-left-b:#102A4C; --wbs-right-a:rgba(16,42,76,.105); --wbs-border:rgba(95,137,174,.32); --wbs-fg:#FFFFFF; --wbs-subtle:#E7EEF6; --wbs-summary:#111827; }
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="2"],
body #ganttOut .p6-left.p6-wbs-row.lvl2 { --wbs-left-a:#1F4E79; --wbs-left-b:#1F4E79; --wbs-right-a:rgba(31,78,121,.105); --wbs-border:rgba(142,172,201,.32); --wbs-fg:#FFFFFF; --wbs-subtle:#E7EEF6; --wbs-summary:#111827; }
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="3"],
body #ganttOut .p6-left.p6-wbs-row.lvl3 { --wbs-left-a:#355F8C; --wbs-left-b:#355F8C; --wbs-right-a:rgba(53,95,140,.105); --wbs-border:rgba(184,205,224,.30); --wbs-fg:#FFFFFF; --wbs-subtle:#E7EEF6; --wbs-summary:#111827; }
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="4"],
body #ganttOut .p6-left.p6-wbs-row.lvl4 { --wbs-left-a:#5F89AE; --wbs-left-b:#5F89AE; --wbs-right-a:rgba(95,137,174,.105); --wbs-border:rgba(201,216,232,.30); --wbs-fg:#FFFFFF; --wbs-subtle:#F8FAFC; --wbs-summary:#111827; }
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="5"],
body #ganttOut .p6-left.p6-wbs-row.lvl5 { --wbs-left-a:#8EACC9; --wbs-left-b:#8EACC9; --wbs-right-a:rgba(142,172,201,.105); --wbs-border:rgba(231,238,246,.34); --wbs-fg:#0F172A; --wbs-subtle:#244C73; --wbs-summary:#111827; }
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="6"],
body #ganttOut .p6-left.p6-wbs-row.lvl6 { --wbs-left-a:#B8CDE0; --wbs-left-b:#B8CDE0; --wbs-right-a:rgba(184,205,224,.105); --wbs-border:rgba(231,238,246,.38); --wbs-fg:#0F172A; --wbs-subtle:#244C73; --wbs-summary:#111827; }
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="7"],
body #ganttOut .p6-left.p6-wbs-row.lvl7 { --wbs-left-a:#E7EEF6; --wbs-left-b:#E7EEF6; --wbs-right-a:rgba(231,238,246,.105); --wbs-border:rgba(184,205,224,.42); --wbs-fg:#0F172A; --wbs-subtle:#244C73; --wbs-summary:#111827; }
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="8"],
body #ganttOut .p6-left.p6-wbs-row.lvl8 { --wbs-left-a:#0B2A4A; --wbs-left-b:#0B2A4A; --wbs-right-a:rgba(11,42,74,.105); --wbs-border:rgba(71,122,163,.32); --wbs-fg:#FFFFFF; --wbs-subtle:#E7EEF6; --wbs-summary:#111827; }
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="9"],
body #ganttOut .p6-left.p6-wbs-row.lvl9 { --wbs-left-a:#244C73; --wbs-left-b:#244C73; --wbs-right-a:rgba(36,76,115,.105); --wbs-border:rgba(126,163,197,.32); --wbs-fg:#FFFFFF; --wbs-subtle:#E7EEF6; --wbs-summary:#111827; }
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="10"],
body #ganttOut .p6-left.p6-wbs-row.lvl10 { --wbs-left-a:#477AA3; --wbs-left-b:#477AA3; --wbs-right-a:rgba(71,122,163,.105); --wbs-border:rgba(191,210,228,.32); --wbs-fg:#FFFFFF; --wbs-subtle:#F8FAFC; --wbs-summary:#111827; }
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="11"],
body #ganttOut .p6-left.p6-wbs-row.lvl11 { --wbs-left-a:#7EA3C5; --wbs-left-b:#7EA3C5; --wbs-right-a:rgba(126,163,197,.105); --wbs-border:rgba(231,238,246,.34); --wbs-fg:#0F172A; --wbs-subtle:#244C73; --wbs-summary:#111827; }
body #ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="12"],
body #ganttOut .p6-left.p6-wbs-row.lvl12 { --wbs-left-a:#BFD2E4; --wbs-left-b:#BFD2E4; --wbs-right-a:rgba(191,210,228,.105); --wbs-border:rgba(231,238,246,.40); --wbs-fg:#0F172A; --wbs-subtle:#244C73; --wbs-summary:#111827; }

body #ganttOut .p6-row[data-rowkind="wbs"] .p6-left,
body #ganttOut .p6-left.p6-wbs-row {
  background: linear-gradient(90deg, var(--wbs-left-a), var(--wbs-left-b)) !important;
  border-bottom: 1px solid var(--wbs-border) !important;
  color: var(--wbs-fg) !important;
}

body #ganttOut .p6-left.p6-wbs-row + .p6-right,
body #ganttOut .p6-row[data-rowkind="wbs"] .p6-right {
  background: linear-gradient(90deg, var(--wbs-right-a), rgba(255,255,255,.018)) !important;
  border-bottom: 1px solid var(--wbs-border) !important;
}

body #ganttOut .p6-row[data-rowkind="wbs"] .p6-left .p6-cell,
body #ganttOut .p6-left.p6-wbs-row .p6-cell {
  color: var(--wbs-fg) !important;
  background: transparent !important;
  border-left-color: rgba(255,255,255,.18) !important;
}

body #ganttOut .p6-row[data-rowkind="wbs"] .p6-name-main,
body #ganttOut .p6-row[data-rowkind="wbs"] .p6-name-text,
body #ganttOut .p6-left.p6-wbs-row .p6-name-main,
body #ganttOut .p6-left.p6-wbs-row .p6-name-text,
body #ganttOut .p6-left.p6-wbs-row .p6-c-id,
body #ganttOut .p6-left.p6-wbs-row .p6-c-dur,
body #ganttOut .p6-left.p6-wbs-row .p6-c-date { color: var(--wbs-fg) !important; text-shadow: none !important; }

body #ganttOut .p6-left.p6-wbs-row .p6-toggle-mark,
body #ganttOut .p6-row[data-rowkind="wbs"] .p6-toggle-mark { color: var(--wbs-fg) !important; background: rgba(255,255,255,.20) !important; border-color: rgba(255,255,255,.30) !important; }

body #ganttOut .p6-left.p6-wbs-row + .p6-right .p6-sum-bar,
body #ganttOut .p6-row[data-rowkind="wbs"] .p6-sum-bar { --sum-line: var(--wbs-summary) !important; background: var(--wbs-summary) !important; }



/* ============================================================================
   26. V17 WBS TOGGLE GRID-SHIFT FIX
   --------------------------------------------------------------------------
   Root cause: after removing legacy visual CSS layers, .p6-gutter-toggle lost
   its absolute positioning and became the first CSS-grid child inside .p6-left.
   That pushed ID/Name/Dur/Start/Finish one column to the right for WBS rows.
   This is a source-style fix in the final Gantt CSS owner, not a repaint layer.
   ============================================================================ */
body #ganttOut .p6-left .p6-gutter-toggle {
  position: absolute !important;
  inset-inline-start: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  padding: 0 !important;
  margin: 0 !important;
  z-index: 6 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}

body #ganttOut .p6-left .p6-gutter-toggle:hover {
  transform: translateY(-50%) scale(1.06) !important;
}

body #ganttOut .p6-row.is-toggleable[data-rowkind="wbs"] .p6-c-id,
body #ganttOut .p6-row[data-can-toggle="1"][data-rowkind="wbs"] .p6-c-id {
  padding-inline-start: 28px !important;
}

body #ganttOut .p6-row.is-toggleable[data-rowkind="wbs"] .p6-name-main.with-toggle,
body #ganttOut .p6-row[data-can-toggle="1"][data-rowkind="wbs"] .p6-name-main.with-toggle {
  min-width: 0 !important;
  overflow: hidden !important;
}

/* Tighten the toolbar container to match the compact controls */
body #ganttOut .p6-toolbar,
body #ganttOut .p6-toolbar.aipe-gantt-tools-v2,
body[data-gantt-theme="light"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
  min-height: 34px !important;
  height: 42px !important;
  padding: 4px 8px !important;
  margin: 0 0 6px !important;
  border-radius: 10px !important;
}

body #ganttOut #gpx-toolset.gpx-live-tools[data-gpx-version="ultra-compact-v3"] {
  min-height: 30px !important;
  height: 30px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-tool-left,
body #ganttOut #gpx-toolset[data-gpx-version="ultra-compact-v3"] .gpx-tool-right {
  height: 30px !important;
}


/* ============================================================================
   26. V16 SINGLE-OWNER WBS PALETTE GUARD
   --------------------------------------------------------------------------
   Keep WBS colours CSS-owned and stable. 019 emits the same first-paint palette,
   142 only tags rows and never repaints colours. These rules intentionally avoid
   transitions on WBS bands to prevent flashback while scrolling/opening Gantt.
   ============================================================================ */
body.__gpx-wbs-css-palette #ganttOut .p6-row[data-rowkind="wbs"] .p6-left,
body.__gpx-wbs-css-palette #ganttOut .p6-row[data-rowkind="wbs"] .p6-right,
body.__gpx-wbs-css-palette #ganttOut .p6-left.p6-wbs-row,
body.__gpx-wbs-css-palette #ganttOut .p6-left.p6-wbs-row + .p6-right {
  transition: none !important;
  animation: none !important;
  will-change: auto !important;
}
body.__gpx-wbs-css-palette #ganttOut .p6-row[data-rowkind="wbs"] {
  contain: paint !important;
}

/* ============================================================================
   27. V19 WBS INPLACE TOGGLE CLEANUP
   --------------------------------------------------------------------------
   Keep one WBS toggle only: the inline mark inside the WBS name cell. The old
   gutter button beside ID is legacy and is hidden defensively in case cached or
   archived renderer fragments inject it. Also remove the V17 ID-padding reserve
   that existed only to make room for that gutter button.
   ============================================================================ */
body #ganttOut .p6-left .p6-gutter-toggle {
  display: none !important;
  pointer-events: none !important;
}
body #ganttOut .p6-row.is-toggleable[data-rowkind="wbs"] .p6-c-id,
body #ganttOut .p6-row[data-can-toggle="1"][data-rowkind="wbs"] .p6-c-id {
  padding-inline-start: 8px !important;
}
body #ganttOut .p6-left.p6-wbs-row .p6-toggle-mark,
body #ganttOut .p6-row[data-rowkind="wbs"] .p6-toggle-mark {
  display: inline-grid !important;
  place-items: center !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  border-radius: 999px !important;
  margin-inline-end: 7px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  user-select: none !important;
  background: rgba(255,255,255,.20) !important;
  border: 1px solid rgba(255,255,255,.30) !important;
  color: var(--wbs-fg) !important;
  box-shadow: none !important;
}
body #ganttOut .p6-left.p6-wbs-row .p6-toggle-mark:hover,
body #ganttOut .p6-row[data-rowkind="wbs"] .p6-toggle-mark:hover {
  background: rgba(255,255,255,.30) !important;
}

/* V20 — surgical bar-drag interaction guard.
   While an activity bar is being dragged, disable all visual transitions on
   row bars/labels and keep the tiny live-arrow overlay cheap. This prevents
   old theme transitions from making the bar feel heavy or delayed. */
body.__gantt-drag-active #ganttOut .p6-act-bar,
body.__gantt-drag-active #ganttOut .p6-side-lbl,
body.__gantt-drag-active #ganttOut .p6-row,
body.__gantt-drag-active #ganttOut .p6-left,
body.__gantt-drag-active #ganttOut .p6-right {
  transition: none !important;
  animation: none !important;
}
body.__gantt-drag-active #ganttOut .p6-act-bar.gdf-drag,
body.__gantt-drag-active #ganttOut .p6-act-bar.gdf-live-affected {
  will-change: transform;
  cursor: grabbing !important;
}
#ganttOut #ga-live-drag-svg .ga-live-drag-path {
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 1px 2px rgba(15, 23, 42, .22));
}

/* V21 — smooth bar-drag: transformed previews should stay compositor-only.
   Avoid expensive live shadows/filters on many affected downstream bars/links. */
body.__gantt-drag-active #ganttOut .p6-act-bar.gdf-live-affected {
  box-shadow: none !important;
}
body.__gantt-drag-active #ganttOut #ga-live-drag-svg .ga-live-drag-path {
  filter: none !important;
}


/* V22 — activity drag isolation.
   Keep live drag movement compositor-only and prevent hidden interaction layers
   from receiving pointer events while an activity bar is being dragged. */
body.__gantt-drag-active #ganttOut .ga-link-node,
body.__gantt-drag-active #ganttOut .ga-edge-link-handle,
body.__gantt-drag-active #ganttOut #ga-smart-link-overlay,
body.__gantt-drag-active #ganttOut #ga-link-drag-overlay {
  pointer-events: none !important;
}
body.__gantt-drag-active #ganttOut .p6-act-bar.gdf-drag,
body.__gantt-drag-active #ganttOut .p6-act-bar.gdf-live-affected,
body.__gantt-drag-active #ganttOut .p6-side-lbl.act {
  transform-style: flat !important;
  contain: paint !important;
  filter: none !important;
  text-shadow: none !important;
}
body.__gantt-drag-active #ganttOut .p6-row.gdf-live-affected,
body.__gantt-drag-active #ganttOut .p6-row.gdf-live-critical,
body.__gantt-drag-active #ganttOut .p6-row.gdf-live-normal {
  contain: layout paint !important;
}


/* V31: base renderer outputs a neutral toolbar shell only; grouped toolbar is the owner. */
#ganttOut .p6-toolbar.aipe-gantt-toolbar-pending:not(:has(#gpx-toolset)){
  min-height:56px;
  display:flex;
  align-items:center;
}
#ganttOut .p6-toolbar #gpx-toolset + .ga-mode-menu,
#ganttOut .p6-toolbar #gpx-toolset + .v12-menu[data-v12-menu="links"],
#ganttOut .p6-toolbar > .ga-mode-menu,
#ganttOut .p6-toolbar > .v12-menu[data-v12-menu="links"]{
  display:none!important;
}

/* ============================================================================
   ACTIVITY TYPES P6 HAS AND THIS GANTT USED TO DRAW AS ORDINARY TASKS

   The renderer knew three shapes: a diamond for a milestone, a black bracket
   for a WBS summary, and one green bar for everything else. A P6 programme
   also carries Level of Effort activities — supervision, site facilities,
   anything whose duration is whatever it is hung off — and Resource Dependent
   ones. Imported, they were indistinguishable from ordinary tasks, so a
   planner reading the Gantt could not tell what kind of work a bar was.
   ========================================================================= */

/* LEVEL OF EFFORT — a thin rail with a flare at each end, never a solid bar.
   It reads as "this spans the work" rather than "this occupies the site". */
body #ganttOut .p6-loe-bar {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  height: 4px !important;
  border-radius: 1px !important;
  background: linear-gradient(180deg, #8E7CC3 0%, #6B5B9A 100%) !important;
  border: 1px solid #574A80 !important;
  box-shadow: 0 1px 2px rgba(60, 48, 100, .30) !important;
  z-index: 3;
}
body #ganttOut .p6-loe-bar.crit {
  background: linear-gradient(180deg, #F0533B 0%, #CF3621 100%) !important;
  border-color: #A82A18 !important;
}
body #ganttOut .p6-loe-bar .loe-cap-l,
body #ganttOut .p6-loe-bar .loe-cap-r {
  position: absolute;
  top: 50%;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  transform: translateY(-50%);
}
body #ganttOut .p6-loe-bar .loe-cap-l {
  left: -1px;
  border-left: 6px solid #574A80;
}
body #ganttOut .p6-loe-bar .loe-cap-r {
  right: -1px;
  border-right: 6px solid #574A80;
}
body #ganttOut .p6-loe-bar.crit .loe-cap-l { border-left-color: #A82A18; }
body #ganttOut .p6-loe-bar.crit .loe-cap-r { border-right-color: #A82A18; }

/* RESOURCE DEPENDENT — a task-shaped bar, because it occupies days like one,
   in the blue that says its duration is driven by its resource, not by itself */
body #ganttOut .p6-act-bar.p6-rsrc-bar {
  background: linear-gradient(180deg, #4E9BD6 0%, #2E72A8 100%) !important;
  border: 1px solid #245B87 !important;
  box-shadow: 0 1px 3px rgba(30, 75, 115, .28), inset 0 1px 0 rgba(255, 255, 255, .32) !important;
}
body #ganttOut .p6-act-bar.p6-rsrc-bar.crit {
  background: linear-gradient(180deg, #F0533B 0%, #CF3621 100%) !important;
  border-color: #A82A18 !important;
}

/* A TT_WBS ACTIVITY is a summary in P6 and reads as one here, set apart from a
   real WBS row by being hollow rather than solid */
body #ganttOut .p6-sum-bar.p6-wbs-act {
  background-image: none !important;
  background-color: transparent !important;
  border: 2px solid #0E0E0E !important;
  box-shadow: none !important;
}

/* dark theme */
body[data-gantt-theme="dark"] #ganttOut .p6-loe-bar {
  background: linear-gradient(180deg, #A594D6 0%, #7E6DB0 100%) !important;
  border-color: #6A5B99 !important;
}
body[data-gantt-theme="dark"] #ganttOut .p6-loe-bar .loe-cap-l { border-left-color: #6A5B99; }
body[data-gantt-theme="dark"] #ganttOut .p6-loe-bar .loe-cap-r { border-right-color: #6A5B99; }
body[data-gantt-theme="dark"] #ganttOut .p6-act-bar.p6-rsrc-bar {
  background: linear-gradient(180deg, #5FADE8 0%, #3A85BF 100%) !important;
  border-color: #2E6E9E !important;
}
body[data-gantt-theme="dark"] #ganttOut .p6-sum-bar.p6-wbs-act {
  border-color: #E8E8E8 !important;
}

/* tabs/gantt/styles/144-gantt-focus.css */
/* ══════════════════════════════════════════════════════════════════════
   GANTT FOCUS MODE — declutter on scroll
   ----------------------------------------------------------------------
   When the user scrolls down into the Gantt, body.aipe-gantt-focus is set
   (by 143-gantt-focus-scroll.js). The "Generated Schedule Snapshot" KPI
   bar collapses completely and the Gantt toolbar pins under the global
   header, so the chart reads like a clean, separate page.
   Reversible: scrolling back up removes the class and restores everything.
   ══════════════════════════════════════════════════════════════════════ */

/* Smooth collapse/expand of the snapshot bar */
#tp-gantt #gpx-stats {
  transition: max-height .30s ease, opacity .20s ease,
              margin .30s ease, padding .30s ease, border-width .25s ease;
  overflow: hidden;
}

/* FOCUS: snapshot disappears completely */
body.aipe-gantt-focus #tp-gantt #gpx-stats {
  max-height: 0 !important;
  opacity: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-width: 0 !important;
  pointer-events: none !important;
}

/* NOTE: the toolbar is pinned to the viewport with position:fixed by
   143-gantt-focus-scroll.js (a sticky toolbar is trapped by the #app
   overflow scroll container), so there is no sticky rule here. */

/* Subtle "you are focused" cue on the gantt panel */
body.aipe-gantt-focus #tp-gantt {
  scroll-margin-top: var(--aipe-gantt-focus-top, var(--app-header-band));
}

/* tabs/gantt/styles/145-gantt-compact.css */
/* ══════════════════════════════════════════════════════════════════════
   GANTT COMPACT VIEW — "zoom-out" density
   ----------------------------------------------------------------------
   The Gantt table + chart felt zoomed-in / oversized. This trims the
   typography and header heights so the whole grid reads smaller and more
   rows / more timeline fit on screen.

   IMPORTANT: density is driven mainly by the row-height values in the
   renderer (tabs/gantt/plugins/019-v9-gantt-collapse-js.js → `rh`). We do
   NOT use CSS `zoom`/`transform` on the chart, because the relationship
   arrows (#ga-svg) are a sibling layer drawn in unscaled coordinates and
   would drift out of alignment. Reducing sizes at the source keeps bars,
   arrows and the virtual layout perfectly consistent.
   ══════════════════════════════════════════════════════════════════════ */

/* ── Hide the color legend row (WBS / Activity / Critical / Milestone) ── */
#ganttOut .p6-legend { display: none !important; }

/* ── Use the empty space below the Gantt: grow the chart + trim bottom
      padding so the scroll area fills the card instead of leaving a gap.
      Offset reduced (legend removed → more room for the chart). ── */
#ganttOut #v9-gantt-outer { max-height: calc(100vh - 60px) !important; }
#ganttOut { padding-bottom: 0 !important; }
#tab-panels-root:has(#tp-gantt.active) { padding-bottom: 16px !important; }

/* ── Left table typography (smaller, tighter) ───────────────────────────
   Note: the v12/v17/v18 polish plugins set .p6-name-main size inline, so we
   do NOT override it here (that is tuned in 024/025/026). We only trim the
   pieces the plugins don't size aggressively. */
/* Tight vertical + right padding, but DON'T clobber the name cell's LEFT
   padding — the renderer sets `padding-left:<indent>px` inline on .p6-c-name
   for the WBS/activity hierarchy (L0=0, L1=18, L2=36 … activities +1 level).
   A blanket `padding:… !important` here was overriding that and flattening
   the tree, so we leave .p6-c-name's left padding to the inline indent. */
#ganttOut .p6-cell { padding-top: 0 !important; padding-bottom: 0 !important; padding-right: 6px !important; }
#ganttOut .p6-cell:not(.p6-c-name) { padding-left: 6px !important; }
#ganttOut .p6-name-sub { font-size: 8px !important; }
#ganttOut .p6-c-date { font-size: 8.5px !important; }

/* Name sizes — override the 015 premium-tuning !important rules. These match
   015's exact selectors (equal specificity) and load later, so they win. */
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="0"] .p6-name-main { font-size: 11px !important; }
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="1"] .p6-name-main { font-size: 10.6px !important; }
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="2"] .p6-name-main { font-size: 10.2px !important; }
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="3"] .p6-name-main,
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="4"] .p6-name-main,
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="5"] .p6-name-main,
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="6"] .p6-name-main { font-size: 9.8px !important; }
#ganttOut .p6-row[data-rowkind="activity"] .p6-name-main { font-size: 9.8px !important; }

/* ── Uniform activity/milestone text colour (NO red for critical) ───────
   Critical rows (.p6-act-row.crit) are forced red by 008/010/017/018 css
   (#7b1621 name, #d73743 id/dur/date) and milestones inherit it too. The
   user wants one consistent colour + weight in the TABLE regardless of
   criticality. We match those selectors' specificity, add !important and
   load later (145 > 018) so we win. The chart bars stay red — this only
   normalises the left-table typography. */
#ganttOut .p6-act-row .p6-name-main,
body[data-gantt-theme="light"] #ganttOut .p6-act-row.crit .p6-name-main {
  color: #1b2b3d !important;
  font-weight: 650 !important;
}
body[data-gantt-theme="light"] #ganttOut .p6-act-row .p6-c-id,
body[data-gantt-theme="light"] #ganttOut .p6-act-row .p6-c-dur,
body[data-gantt-theme="light"] #ganttOut .p6-act-row .p6-c-date,
body[data-gantt-theme="light"] #ganttOut .p6-act-row.crit .p6-c-id,
body[data-gantt-theme="light"] #ganttOut .p6-act-row.crit .p6-c-dur,
body[data-gantt-theme="light"] #ganttOut .p6-act-row.crit .p6-c-date {
  color: #5b6e83 !important;
  font-weight: 600 !important;
}

/* ── Tighten the two-line name/meta block so shorter rows actually apply ─ */
#ganttOut .p6-name-wrap { gap: 0 !important; line-height: 1.05 !important; }
#ganttOut .p6-name-main { line-height: 1.15 !important; }
#ganttOut .p6-name-sub { line-height: 1.05 !important; }

/* ── Chart bar labels ───────────────────────────────────────────────── */
#ganttOut .p6-bar-lbl { font-size: 8px !important; }
#ganttOut .p6-side-lbl { font-size: 9px !important; }

/* ── Slimmer activity bars + tighter timeline header to match shorter rows ─ */
#ganttOut .p6-act-bar { height: 9px !important; }
#ganttOut .p6-hdr-left,
#ganttOut .p6-hdr-right { height: 32px !important; }

/* ── Header: split the height EQUALLY between the year strip and the month
   strip. By default .p6-year-row is a fixed 22px and .p6-mo-row takes the
   leftover (≈8px), which looks lopsided. Make both flex 1 → 50% each. */
#ganttOut .p6-hdr-right .p6-year-row,
#ganttOut .p6-hdr-right .p6-mo-row {
  height: 50% !important;
  flex: 1 1 0 !important;
  min-height: 0 !important;
}

/* ── Shorter rows ("zoom-out" density) ──────────────────────────────────
   Row heights are NOT set by the renderer's `rh`; the post-render polish
   plugins (024/025/026) overwrite them with inline `el.style.height`
   (WBS lvl0≈26, activity≈23). Those inline styles carry NO !important, so
   we win here with !important — same pattern as the font rules above. The
   relationship arrows (030) measure each row's real rect height, so they
   follow these sizes automatically and stay aligned.
   We must pin .p6-row AND its .p6-left / .p6-right children (the plugins
   set height + min-height on all three). */
#ganttOut .p6-row[data-rowkind="activity"],
#ganttOut .p6-row[data-rowkind="activity"] .p6-left,
#ganttOut .p6-row[data-rowkind="activity"] .p6-right {
  height: 20px !important; min-height: 20px !important;
}
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="0"],
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="0"] .p6-left,
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="0"] .p6-right {
  height: 26px !important; min-height: 26px !important;
}
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="1"],
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="1"] .p6-left,
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="1"] .p6-right {
  height: 24px !important; min-height: 24px !important;
}
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="2"],
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="2"] .p6-left,
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="2"] .p6-right {
  height: 22px !important; min-height: 22px !important;
}
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="3"],
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="3"] .p6-left,
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="3"] .p6-right {
  height: 21px !important; min-height: 21px !important;
}
#ganttOut .p6-row[data-rowkind="wbs"]:not([data-rowlevel="0"]):not([data-rowlevel="1"]):not([data-rowlevel="2"]):not([data-rowlevel="3"]),
#ganttOut .p6-row[data-rowkind="wbs"]:not([data-rowlevel="0"]):not([data-rowlevel="1"]):not([data-rowlevel="2"]):not([data-rowlevel="3"]) .p6-left,
#ganttOut .p6-row[data-rowkind="wbs"]:not([data-rowlevel="0"]):not([data-rowlevel="1"]):not([data-rowlevel="2"]):not([data-rowlevel="3"]) .p6-right {
  height: 20px !important; min-height: 20px !important;
}

/* Professional WBS hierarchy: summary bars taper with the row level too. */
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="0"] .p6-sum-bar {
  height: 5px !important;
  border-radius: 3px !important;
}
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="1"] .p6-sum-bar {
  height: 4px !important;
  border-radius: 3px !important;
}
#ganttOut .p6-row[data-rowkind="wbs"][data-rowlevel="2"] .p6-sum-bar {
  height: 3px !important;
  border-radius: 2px !important;
}
#ganttOut .p6-row[data-rowkind="wbs"]:not([data-rowlevel="0"]):not([data-rowlevel="1"]):not([data-rowlevel="2"]) .p6-sum-bar {
  height: 2px !important;
  border-radius: 2px !important;
}

/* The row owns the ancestor gutter; ID only reserves its text inset.
   Cell overflow and hover effects must not clip or move the ancestor colors. */
body #ganttOut .p6-row .p6-left .p6-cell.p6-tree-id {
  --p6-tree-step: 10px;
  position: relative !important;
  padding-left: calc(8px + var(--p6-tree-depth, 0) * var(--p6-tree-step)) !important;
  padding-inline-start: calc(8px + var(--p6-tree-depth, 0) * var(--p6-tree-step)) !important;
  min-width: 0 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
body #ganttOut .p6-tree-gutter {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  pointer-events: none;
  user-select: none;
}
body #ganttOut .p6-tree-rail {
  display: block;
  flex: 0 0 var(--p6-tree-step, 10px);
  width: var(--p6-tree-step, 10px);
  height: 100%;
  background: var(--p6-tree-fill) !important;
  box-shadow: none;
  pointer-events: none;
}
body #ganttOut .p6-tree-code { position: relative; }
body #ganttOut .p6-tree-folder {
  display: inline-block;
  position: relative;
  flex: 0 0 11px;
  width: 11px;
  height: 8px;
  margin-inline-end: 6px;
  border: 1px solid currentColor;
  border-radius: 1px;
  opacity: .85;
}
body #ganttOut .p6-tree-folder::before {
  content: '';
  position: absolute;
  left: 0;
  top: -4px;
  width: 5px;
  height: 3px;
  border: 1px solid currentColor;
  border-bottom: 0;
  border-radius: 1px 1px 0 0;
}
@media (max-width: 720px) {
  body #ganttOut .p6-row .p6-left .p6-cell.p6-tree-id { --p6-tree-step: 8px; }
}

/* The compact phone layout hides ID. Reserve the same row-owned gutter in
   Name there; Details mode retains the normal ID text inset. */
@media (max-width: 640px) {
  body #tp-gantt #ganttOut:not(.gvx-details) .p6-row[data-tree-depth] .p6-left .p6-c-name {
    --p6-tree-step: 6px;
    position: relative !important;
    padding-left: calc(8px + var(--p6-tree-depth, 0) * 6px) !important;
  }
}

/* Reserve the same control/icon space on leaves. The activity label must
   start one step after its parent label, rather than before its toggle. */
body #ganttOut .p6-tree-leaf-slot {
  display: inline-block;
  flex: 0 0 40px;
  width: 40px;
}
body #ganttOut .p6-tree-toggle-slot {
  display: inline-block;
  flex: 0 0 23px;
  width: 23px;
}

/* WBS/activity legacy borders were 4px/3px wide and moved the first grid
   column by a different amount on each row. A bottom border also sat outside
   the ID cell's overflow clip, cutting all ancestor rails one pixel short.
   Keep one shared origin and draw the divider only beyond the ancestor gutter. */
body #ganttOut .p6-row[data-tree-depth] > .p6-left {
  --p6-tree-step: 10px;
  border-left: 0 !important;
  border-bottom: 0 !important;
  /* Unlike hidden, clip cannot acquire a private scrollLeft on focus/fold. */
  overflow: clip !important;
}
body #ganttOut .p6-tree-row-divider {
  position: absolute;
  left: calc(var(--p6-tree-depth, 0) * var(--p6-tree-step));
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--wbs-border, var(--g-line, #e2e8f0));
  pointer-events: none;
  user-select: none;
}
@media (max-width: 720px) {
  body #ganttOut .p6-row[data-tree-depth] > .p6-left { --p6-tree-step: 8px; }
}
@media (max-width: 640px) {
  body #tp-gantt #ganttOut:not(.gvx-details) .p6-row[data-tree-depth] > .p6-left { --p6-tree-step: 6px; }
  body #tp-gantt #ganttOut:not(.gvx-details) .p6-row[data-tree-depth] .p6-left .p6-c-name {
    border-left: 0 !important;
  }
}

/* A group's own color becomes the next ancestor rail for its children.
   Preserve that first step of the band at the lower edge as well. */
body #ganttOut .p6-row[data-tree-depth][data-rowkind="wbs"] .p6-tree-row-divider {
  left: calc((var(--p6-tree-depth, 0) + 1) * var(--p6-tree-step));
}

/* Remove the old external row shadow and 3px WBS accent gloss. The ancestor
   gutter now supplies the hierarchy accent. Keep the open-end inset marker. */
body #ganttOut .p6-row[data-tree-depth]:not(.gpx-open-end-hit) > .p6-left {
  box-shadow: none !important;
}
body #ganttOut .p6-row[data-tree-depth][data-can-toggle="1"] > .p6-left::before {
  content: none !important;
}

/* tabs/gantt/styles/147-gantt-inline-table-edit.css */
#ganttOut .p6-left.p6-act-row .p6-c-name,
#ganttOut .p6-left.p6-act-row .p6-c-dur {
  cursor: text;
}

#ganttOut .p6-left.p6-act-row .p6-c-name:hover,
#ganttOut .p6-left.p6-act-row .p6-c-dur:hover {
  background: rgba(249, 238, 205, 0.34) !important;
  box-shadow: inset 0 0 0 1px rgba(184, 145, 63, 0.55);
}

#ganttOut .p6-cell.is-inline-editing {
  align-items: center;
  display: flex;
  overflow: visible !important;
  padding: 2px 5px !important;
  position: relative;
  z-index: 40;
}

#ganttOut .gantt-inline-edit-input {
  background: #fffaf0;
  border: 1px solid #b8913f;
  border-radius: 6px;
  box-shadow: 0 0 0 2px rgba(184, 145, 63, 0.16);
  color: #1f1c15;
  font: 700 12px/1.15 inherit;
  height: 24px;
  min-width: 48px;
  outline: none;
  padding: 0 8px;
  width: 100%;
}

#ganttOut .p6-c-dur .gantt-inline-edit-input {
  text-align: center;
}

#ganttInlineEditToast {
  background: #202419;
  border: 1px solid rgba(212, 165, 58, 0.55);
  border-radius: 8px;
  bottom: 22px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
  color: #fff8e8;
  font: 800 12px/1.2 var(--font-body, system-ui, sans-serif);
  letter-spacing: 0.02em;
  opacity: 0;
  padding: 10px 13px;
  pointer-events: none;
  position: fixed;
  right: 22px;
  transform: translateY(8px);
  transition: opacity 0.16s ease, transform 0.16s ease;
  z-index: 9999;
}

#ganttInlineEditToast.is-on {
  opacity: 1;
  transform: translateY(0);
}

#ganttInlineEditToast.is-bad {
  background: #361818;
  border-color: rgba(196, 88, 88, 0.72);
}

/* tabs/gantt/styles/169-gantt-grid-edit.css */
/* 169-gantt-grid-edit.css
   Spreadsheet affordances for the Gantt left table (169-gantt-grid-edit.js).
   Selection outline, editable-cell hint, in-cell input, and the shared toast the
   edit engine (168) raises. Visual only — no layout metric is changed, so row
   heights and column widths stay exactly where the renderer put them. */

#ganttOut .p6-left.p6-act-row .p6-cell.gge-editable {
  cursor: cell;
}

#ganttOut .p6-left.p6-act-row .p6-cell.gge-editable:hover {
  background: rgba(249, 238, 205, 0.34) !important;
  box-shadow: inset 0 0 0 1px rgba(184, 145, 63, 0.55);
}

/* The selected cell reads like an Excel active cell: solid ring, no fill shift,
   so the row's WBS/critical colouring underneath stays readable. */
#ganttOut .p6-cell.gge-selected {
  box-shadow: inset 0 0 0 2px #1d4ed8, 0 0 0 1px rgba(29, 78, 216, 0.35) !important;
  position: relative;
  z-index: 30;
}

/* Editing must not change the cell's box at all — rows are only 16px tall, so
   any extra padding or height visibly shoves the table. The cell keeps its own
   geometry; only the caret tells the user it is live. */
#ganttOut .p6-cell.gge-editing {
  position: relative;
  z-index: 40;
}

/* Seamless in-place input: it inherits the font the cell was already painting
   (9.8px/600 inside .p6-name-main for a name, 11.5px tabular numerals for Dur),
   so the text does not grow or reflow when the editor opens. The blinking caret
   is the only edit affordance, and the cell's selection ring stays visible
   underneath. */
#ganttOut .gge-input {
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
  caret-color: #1d4ed8;
  color: inherit;
  display: block;
  font: inherit !important;
  height: 100%;
  letter-spacing: inherit;
  line-height: inherit;
  margin: 0;
  min-width: 0;
  outline: none;
  padding: 0;
  text-align: inherit;
  width: 100%;
}

#ganttOut .p6-c-dur .gge-input {
  text-align: center;
}

/* The name input sits inside the real .p6-name-main wrapper, which is a flex
   row; let it take the remaining width next to any toggle chevron. */
#ganttOut .p6-c-name .p6-name-main .gge-input {
  flex: 1 1 auto;
}

/* A cell being edited drops the hover tint so the caret reads cleanly. */
#ganttOut .p6-cell.gge-editing.gge-editable:hover {
  background: transparent !important;
}

/* Shared toast for the edit engine (168). Mirrors #ganttInlineEditToast so both
   editors look identical while 147 is still on the page. */
#aipeScheduleEditToast {
  background: #202419;
  border: 1px solid rgba(212, 165, 58, 0.55);
  border-radius: 8px;
  bottom: 22px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
  color: #fff8e8;
  font: 800 12px/1.2 var(--font-body, system-ui, sans-serif);
  letter-spacing: 0.02em;
  opacity: 0;
  padding: 10px 13px;
  pointer-events: none;
  position: fixed;
  right: 22px;
  transform: translateY(8px);
  transition: opacity 0.16s ease, transform 0.16s ease;
  z-index: 9999;
}

#aipeScheduleEditToast.is-on {
  opacity: 1;
  transform: translateY(0);
}

#aipeScheduleEditToast.is-bad {
  background: #361818;
  border-color: rgba(196, 88, 88, 0.72);
}

/* While a commit is running the busy cursor (body[data-aipe-dt-busy]) owns the
   pointer; keep the text caret inside the open editor so typing still reads as
   typing. */
body[data-aipe-dt-busy="1"] #ganttOut .gge-input {
  cursor: text !important;
}

/* styles/tabs/145-deep-wbs-grid-edit.css */
/* 145-deep-wbs-grid-edit.css
   Spreadsheet affordances for the Mapping ▸ HTML Deep WBS activity table
   (tabs/mapping/deep-html-engine/deep-wbs-grid-edit.js).
   Visual only: no cell padding, width, or font metric is changed, so the table
   keeps the exact layout the Deep WBS renderer produces. */

#mapping-v2-view td[data-deep-col].dwg-editable {
  cursor: cell;
  position: relative;
}

#mapping-v2-view td[data-deep-col].dwg-editable:hover {
  background: rgba(96, 165, 250, 0.10);
  box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.35);
}

/* Active-cell ring, matching the Gantt grid so the two tables read as one tool. */
#mapping-v2-view td[data-deep-col].dwg-selected {
  box-shadow: inset 0 0 0 2px #1d4ed8, 0 0 0 1px rgba(29, 78, 216, 0.30);
  z-index: 5;
}

/* Editing keeps the cell's own box: no extra padding, no height change, so the
   row cannot grow or shift while the editor is open. */
#mapping-v2-view td[data-deep-col].dwg-editing {
  position: relative;
}

/* Seamless in-place input — inherits whatever the cell (or .m2-summary-title for
   the name) was already painting, so the text never changes size on edit. The
   caret is the only affordance; the cell's selection ring stays visible. */
#mapping-v2-view .dwg-input {
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
  caret-color: #1d4ed8;
  color: inherit;
  display: block;
  font: inherit !important;
  height: 100%;
  letter-spacing: inherit;
  line-height: inherit;
  margin: 0;
  min-width: 0;
  outline: none;
  padding: 0;
  text-align: inherit;
  width: 100%;
}

#mapping-v2-view td[data-deep-col="dur"] .dwg-input,
#mapping-v2-view td[data-deep-col="planned"] .dwg-input {
  text-align: right;
}

#mapping-v2-view td[data-deep-col].dwg-editing.dwg-editable:hover {
  background: transparent;
  box-shadow: none;
}

body[data-aipe-dt-busy="1"] #mapping-v2-view .dwg-input {
  cursor: text !important;
}

/* tabs/gantt/styles/149-deadline-compression-loader.css */
#aipe-deadline-compression-loader {
  --aipe-dlc-progress: 0%;
  position: fixed;
  inset: 0;
  z-index: 2147482400;
  display: grid;
  place-items: center;
  padding: 24px;
  /* Cheap dim scrim instead of a full-viewport backdrop-filter blur. The blur was
     re-computed over the ENTIRE page (a huge Gantt) on every repaint — ~350ms per
     paint even on a light page, minutes of overhead on a real schedule. A plain
     semi-opaque scrim composites almost for free, so progress paints cost nothing.
     The card itself is an opaque panel, so the look is nearly unchanged. */
  background:
    linear-gradient(135deg, rgba(246, 241, 231, .55), rgba(12, 28, 51, .5)),
    rgba(8, 18, 33, .55);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .22s ease, transform .22s ease;
}

#aipe-deadline-compression-loader.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

#aipe-deadline-compression-loader .aipe-dlc-glass {
  position: relative;
  width: min(560px, calc(100vw - 40px));
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: 18px;
  color: #0d2038;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(248, 244, 236, .78)),
    rgba(255, 255, 255, .7);
  box-shadow:
    0 26px 80px rgba(4, 19, 36, .28),
    0 1px 0 rgba(255, 255, 255, .7) inset;
}

#aipe-deadline-compression-loader .aipe-dlc-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border: 1px solid rgba(13, 32, 56, .16);
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  color: #0d2038;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, transform .12s ease;
}

#aipe-deadline-compression-loader .aipe-dlc-close:hover {
  background: #ffffff;
  border-color: rgba(13, 32, 56, .38);
}

#aipe-deadline-compression-loader .aipe-dlc-close:active {
  transform: scale(.96);
}

#aipe-deadline-compression-loader .aipe-dlc-cancel-hint {
  margin-top: 8px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  color: #607087;
}

#aipe-deadline-compression-loader .aipe-dlc-orbit {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 112px;
  min-height: 112px;
}

#aipe-deadline-compression-loader .aipe-dlc-orbit::before,
#aipe-deadline-compression-loader .aipe-dlc-orbit::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

#aipe-deadline-compression-loader .aipe-dlc-orbit::before {
  width: 126px;
  height: 126px;
  border: 1px solid rgba(13, 32, 56, .1);
  background: radial-gradient(circle, rgba(202, 162, 81, .18), transparent 58%);
}

#aipe-deadline-compression-loader .aipe-dlc-orbit::after {
  width: 132px;
  height: 132px;
  border-top: 2px solid rgba(202, 162, 81, .9);
  border-right: 2px solid transparent;
  animation: aipeDlcSpin 1.05s linear infinite;
}

#aipe-deadline-compression-loader .aipe-dlc-ring {
  position: relative;
  width: 102px;
  height: 102px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background:
    conic-gradient(#c99336 var(--aipe-dlc-progress), rgba(13, 32, 56, .1) 0),
    linear-gradient(145deg, #ffffff, #efe7d8);
  box-shadow: 0 14px 34px rgba(13, 32, 56, .16);
}

#aipe-deadline-compression-loader .aipe-dlc-ring::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: inherit;
  background: linear-gradient(145deg, #fffdf9, #f4efe4);
  box-shadow: inset 0 0 0 1px rgba(13, 32, 56, .08);
}

#aipe-deadline-compression-loader .aipe-dlc-percent {
  position: relative;
  z-index: 1;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  color: #0d2038;
  font-variant-numeric: tabular-nums;
}

#aipe-deadline-compression-loader .aipe-dlc-copy {
  min-width: 0;
}

#aipe-deadline-compression-loader .aipe-dlc-eyebrow {
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #9b6b1f;
}

#aipe-deadline-compression-loader .aipe-dlc-title {
  font-size: 22px;
  font-weight: 900;
  line-height: 1.12;
  color: #0b1d34;
}

#aipe-deadline-compression-loader .aipe-dlc-phase {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  color: #183451;
}

#aipe-deadline-compression-loader .aipe-dlc-message {
  margin-top: 5px;
  min-height: 20px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  color: #607087;
}

#aipe-deadline-compression-loader .aipe-dlc-bar {
  position: relative;
  height: 8px;
  margin-top: 16px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(13, 32, 56, .1);
}

#aipe-deadline-compression-loader .aipe-dlc-bar span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #c99336, #38a878);
  box-shadow: 0 0 18px rgba(56, 168, 120, .36);
  transition: width .24s ease;
}

#aipe-deadline-compression-loader .aipe-dlc-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

#aipe-deadline-compression-loader .aipe-dlc-stats span {
  min-width: 0;
  padding: 6px 9px;
  border: 1px solid rgba(13, 32, 56, .1);
  border-radius: 999px;
  background: rgba(255, 255, 255, .62);
  color: #28415d;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

#aipe-deadline-compression-loader.is-finishing .aipe-dlc-bar span {
  background: linear-gradient(90deg, #38a878, #2d8f68);
}

/* v54: the APPLY phase has its own amber look — Cancel hidden, orbit
   de-emphasized, a taller shimmering bar that dominates the panel. */
#aipe-deadline-compression-loader.is-applying .aipe-dlc-close,
#aipe-deadline-compression-loader.is-applying .aipe-dlc-cancel-hint {
  display: none;
}

#aipe-deadline-compression-loader.is-applying .aipe-dlc-glass {
  border-color: rgba(224, 123, 31, .55);
  box-shadow:
    0 26px 80px rgba(4, 19, 36, .3),
    0 0 0 1px rgba(240, 140, 40, .28),
    0 1px 0 rgba(255, 255, 255, .7) inset;
}

#aipe-deadline-compression-loader.is-applying .aipe-dlc-orbit::before {
  background: radial-gradient(circle, rgba(240, 140, 40, .22), transparent 58%);
}

#aipe-deadline-compression-loader.is-applying .aipe-dlc-orbit::after {
  border-top-color: rgba(224, 123, 31, .95);
  border-right-color: transparent;
}

#aipe-deadline-compression-loader.is-applying .aipe-dlc-ring {
  background:
    conic-gradient(#e07b1f var(--aipe-dlc-progress), rgba(13, 32, 56, .1) 0),
    linear-gradient(145deg, #fffaf2, #f6e9d7);
}

#aipe-deadline-compression-loader.is-applying .aipe-dlc-eyebrow {
  color: #c05a12;
}

#aipe-deadline-compression-loader.is-applying .aipe-dlc-title {
  color: #7a3b08;
}

#aipe-deadline-compression-loader.is-applying .aipe-dlc-bar {
  height: 12px;
  box-shadow: inset 0 0 0 1px rgba(224, 123, 31, .25);
}

#aipe-deadline-compression-loader.is-applying .aipe-dlc-bar span {
  background:
    repeating-linear-gradient(45deg, rgba(255, 255, 255, .22) 0 8px, transparent 8px 16px),
    linear-gradient(90deg, #f08c28, #e05f1f);
  box-shadow: 0 0 22px rgba(240, 140, 40, .5);
  background-size: 200% 100%, 100% 100%;
  animation: aipeDlcStripes .7s linear infinite;
}

@keyframes aipeDlcStripes {
  to { background-position: 24px 0, 0 0; }
}

#aipe-deadline-compression-loader.has-error .aipe-dlc-eyebrow,
#aipe-deadline-compression-loader.has-error .aipe-dlc-phase {
  color: #b33333;
}

#aipe-deadline-compression-loader.has-error .aipe-dlc-bar span {
  background: linear-gradient(90deg, #d75b5b, #b33333);
}

@keyframes aipeDlcSpin {
  to { transform: rotate(360deg); }
}

@media (max-width: 620px) {
  #aipe-deadline-compression-loader {
    padding: 16px;
  }

  #aipe-deadline-compression-loader .aipe-dlc-glass {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    padding: 20px;
  }

  #aipe-deadline-compression-loader .aipe-dlc-copy {
    width: 100%;
  }

  #aipe-deadline-compression-loader .aipe-dlc-stats {
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  #aipe-deadline-compression-loader,
  #aipe-deadline-compression-loader *,
  #aipe-deadline-compression-loader *::before,
  #aipe-deadline-compression-loader *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* tabs/gantt/styles/162-deadline-toolbar-tool.css */
#ganttOut .aipe-deadline-tool {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 32px;
  min-height: 32px;
  padding: 0 13px;
  border: 1px solid rgba(212, 165, 58, .55);
  border-radius: 10px;
  background: linear-gradient(160deg, #2f3b22 0%, #1f2a17 100%);
  color: #fff4d0;
  font: 900 11px/1 "DM Sans", system-ui, sans-serif;
  letter-spacing: .01em;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .12) inset,
    0 8px 18px rgba(33, 42, 22, .18);
  cursor: pointer;
  white-space: nowrap;
  transition: transform .15s, border-color .15s, box-shadow .15s, filter .15s;
}

#ganttOut .aipe-deadline-tool:hover {
  transform: translateY(-1px);
  border-color: rgba(238, 198, 92, .78);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .14) inset,
    0 0 0 3px rgba(212, 165, 58, .14),
    0 10px 22px rgba(33, 42, 22, .22);
  filter: brightness(1.03);
}

#ganttOut .aipe-deadline-tool svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.aipe-dt-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 26px;
  background: rgba(20, 18, 12, .52);
  font-family: "DM Sans", Inter, system-ui, sans-serif;
}

.aipe-dt-card {
  width: min(1120px, 96vw);
  max-height: 90vh;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr auto;
  background: #fbfaf6;
  color: #24221b;
  border: 1px solid #d8c99c;
  border-radius: 16px;
  box-shadow: 0 28px 90px rgba(22, 18, 10, .28);
}

.aipe-dt-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 20px;
  background: linear-gradient(135deg, #20251a, #3d482d);
  color: #fff;
}

.aipe-dt-title {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.aipe-dt-mark {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffe39a;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(231, 200, 107, .34);
  flex: 0 0 auto;
}

.aipe-dt-mark svg {
  width: 20px;
  height: 20px;
}

.aipe-dt-eyebrow {
  color: #e7c86b;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 950;
}

.aipe-dt-h {
  margin-top: 3px;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 950;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aipe-dt-close {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(231, 200, 107, .34);
  border-radius: 10px;
  background: rgba(255, 255, 255, .08);
  color: #fff3c4;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
}

.aipe-dt-body {
  overflow: auto;
  padding: 14px 18px;
}

.aipe-dt-grid {
  display: grid;
  grid-template-columns: 410px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.aipe-dt-panel {
  border: 1px solid #dfd3ad;
  background: #fffdf8;
  border-radius: 12px;
  padding: 14px;
}

.aipe-dt-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.aipe-dt-panel h3 {
  margin: 0;
  color: #4b3a13;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 950;
}

.aipe-dt-panel-head p {
  margin: 3px 0 0;
  color: #776b54;
  font-size: 11px;
  line-height: 1.25;
  font-weight: 750;
}

.aipe-dt-panel-head>span {
  flex: 0 0 auto;
  border: 1px solid #d8c99c;
  border-radius: 999px;
  background: #fbf6ea;
  color: #4f431f;
  padding: 6px 8px;
  font-size: 9px;
  line-height: 1;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
  white-space: nowrap;
}

.aipe-dt-target-panel {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(255, 255, 255, .58)),
    #fbfaf4;
  box-shadow: 0 10px 28px rgba(57, 44, 18, .07);
}

.aipe-dt-target-deck {
  display: grid;
  gap: 10px;
}

.aipe-dt-section,
.aipe-dt-action-section {
  min-width: 0;
  border: 1px solid #e4d8ba;
  border-radius: 10px;
  background: #fff;
  padding: 10px;
}

.aipe-dt-section-label {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
  color: #817969;
  font-size: 9.5px;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 950;
}

.aipe-dt-section-label:before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #d4a53a;
  box-shadow: 0 0 0 3px rgba(212, 165, 58, .15);
}

.aipe-dt-action-section {
  display: flex;
  align-items: center;
  padding: 0;
  background: #f7f9f0;
  border-color: #d7e0c1;
  overflow: hidden;
}

.aipe-dt-field {
  display: grid;
  gap: 6px;
  margin: 0;
}

.aipe-dt-field span {
  color: #71664d;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.aipe-dt-field input {
  width: 100%;
  box-sizing: border-box;
  min-height: 42px;
  border: 1px solid #d8c99c;
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
  color: #201e17;
  font: 900 15px/1.2 "DM Sans", system-ui, sans-serif;
}

.aipe-dt-target-row {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 9px;
}

.aipe-dt-current,
.aipe-dt-target-metrics {
  display: grid;
  grid-template-columns: .72fr .72fr 1.42fr;
  gap: 8px;
}

.aipe-dt-current div,
.aipe-dt-target-metrics div {
  min-width: 0;
  border: 0;
  border-radius: 8px;
  background: #f7f4ec;
  padding: 8px 9px;
}

.aipe-dt-current span,
.aipe-dt-target-metrics span {
  display: block;
  color: #817969;
  font-size: 8.5px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 950;
  white-space: nowrap;
}

.aipe-dt-current b,
.aipe-dt-target-metrics b {
  display: block;
  margin-top: 2px;
  color: #202218;
  font-size: 14px;
  line-height: 1.15;
  font-weight: 950;
  overflow-wrap: anywhere;
  white-space: nowrap;
}

.aipe-dt-target-metrics div {
  background: #eef5e8;
}

.aipe-dt-field input:focus {
  outline: 3px solid rgba(212, 165, 58, .18);
  border-color: #c99a26;
}

.aipe-dt-mini {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
}

.aipe-dt-mini div,
.aipe-dt-kpi {
  border: 1px solid #e7dcc0;
  border-radius: 10px;
  background: #fff;
  padding: 10px;
}

.aipe-dt-k {
  color: #817969;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 950;
}

.aipe-dt-v {
  margin-top: 3px;
  color: #1f2119;
  font-size: 18px;
  font-weight: 950;
}

.aipe-dt-analyze,
.aipe-dt-apply {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d3ad37;
  border-radius: 9px;
  background: linear-gradient(160deg, #26371f, #40552c);
  color: #fff;
  font-weight: 950;
  cursor: pointer;
}

.aipe-dt-analyze {
  border: 0;
  border-radius: 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
}

.aipe-dt-analyze:disabled,
.aipe-dt-apply:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.aipe-dt-result {
  display: grid;
  gap: 12px;
  min-height: 0;
}

.aipe-dt-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.aipe-dt-kpi {
  border-radius: 8px;
  padding: 8px 9px;
  min-height: 54px;
}

.aipe-dt-note {
  border: 1px solid #cfe1bb;
  background: #f3faee;
  color: #435b31;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 800;
}

.aipe-dt-warn {
  border-color: #ead19a;
  background: #fff7df;
  color: #6b4b12;
}

.aipe-dt-tablewrap {
  max-height: 300px;
  overflow: auto;
  border: 1px solid #e0d4b4;
  border-radius: 10px;
  background: white;
}

.aipe-dt-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.aipe-dt-table th {
  position: sticky;
  top: 0;
  background: #292720;
  color: #fff;
  text-align: left;
  padding: 9px;
  z-index: 1;
}

.aipe-dt-table td {
  border-top: 1px solid #eadfca;
  padding: 9px;
  vertical-align: top;
}

.aipe-dt-empty {
  border: 1px dashed #d7c79b;
  border-radius: 10px;
  padding: 14px 16px;
  color: #796b53;
  background: #fffdf7;
  font-weight: 800;
  min-height: 170px;
  display: flex;
  align-items: flex-start;
}

.aipe-dt-foot {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 12px 20px 16px;
  border-top: 1px solid #e5dac1;
  background: #fbfaf6;
}

.aipe-dt-secondary {
  min-height: 38px;
  border: 1px solid #cdbb83;
  border-radius: 10px;
  padding: 0 14px;
  background: #fffaf0;
  color: #2a281f;
  font-weight: 950;
  cursor: pointer;
}

@media (max-width: 820px) {

  .aipe-dt-grid,
  .aipe-dt-target-deck,
  .aipe-dt-kpis {
    grid-template-columns: 1fr;
  }

  .aipe-dt-target-row,
  .aipe-dt-current,
  .aipe-dt-target-metrics {
    grid-template-columns: 1fr;
  }

  .aipe-dt-card {
    max-height: 94vh;
  }

  .aipe-dt-h {
    white-space: normal;
  }
}

/* Compact Gantt toolbar stabilization.
   Keep the existing ultra-compact scale; only remove the unstable mixed styles. */
body #ganttOut .p6-toolbar,
body #ganttOut .p6-toolbar.aipe-gantt-tools-v2,
body[data-gantt-theme="light"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2,
body[data-gantt-theme="dark"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  min-height: 34px !important;
  height: 42px !important;
  min-width: max-content !important;
  padding: 4px 8px !important;
  margin: 0 0 6px !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, var(--aipe-toolbar-2, #0A0D0D), var(--aipe-toolbar, #020303)) !important;
  border: 1px solid var(--aipe-toolbar-border, rgba(246, 248, 249, .14)) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .28) !important;
  overflow: visible !important;
}

body #ganttOut #gpx-toolset.gpx-live-tools[data-gpx-version],
body #ganttOut #gpx-toolset.gpx-live-tools[data-gpx-version="ultra-compact-v3"] {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 30px !important;
  min-height: 30px !important;
  gap: 8px !important;
  padding: 0 108px 0 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-tool-left,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-tool-right {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  height: 30px !important;
  min-height: 30px !important;
  gap: 4px !important;
  min-width: 0 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-tool-left {
  flex: 0 0 auto !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-tool-right {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  padding-left: 10px !important;
  border-left: 1px solid rgba(246, 248, 249, .14) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-menu {
  position: relative !important;
  flex: 0 0 auto !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-sep {
  display: inline-flex !important;
  flex: 0 0 1px !important;
  width: 1px !important;
  height: 22px !important;
  margin: 0 7px !important;
  background: rgba(246, 248, 249, .14) !important;
  border: 0 !important;
  border-radius: 999px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-btn,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-menu-trigger,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-toggle-btn,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-link-btn,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-filter,
body #ganttOut .p6-toolbar .aipe-deadline-tool {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 7px !important;
  gap: 5px !important;
  border-radius: 7px !important;
  border: 1px solid rgba(246, 248, 249, .20) !important;
  background: transparent !important;
  color: #F6F8F9 !important;
  box-shadow: none !important;
  font: 900 10px/1 var(--g-font) !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  transform: none !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-wbs-menu {
  width: 126px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-timescale-menu {
  width: 142px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-zoom-menu {
  width: 104px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-fit {
  width: 28px !important;
  min-width: 28px !important;
  padding: 0 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-critical {
  width: 120px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-show-logic {
  width: 106px !important;
  background: transparent !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-link-mode {
  width: 124px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 8px !important;
  border-radius: 8px !important;
  background: transparent !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-filter {
  width: 88px !important;
  height: 30px !important;
  min-height: 30px !important;
  font-size: 10.5px !important;
  background: transparent !important;
}

body #ganttOut .p6-toolbar #aipe-deadline-tool-btn.aipe-deadline-tool {
  position: absolute !important;
  right: 8px !important;
  top: 6px !important;
  width: 98px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 8px !important;
  border-radius: 8px !important;
  margin: 0 !important;
  z-index: 3 !important;
  background: transparent !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-btn:hover,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-menu-trigger:hover,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-toggle-btn:hover,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-link-btn:hover,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-filter:hover,
body #ganttOut .p6-toolbar .aipe-deadline-tool:hover,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-btn:active,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-menu-trigger:active,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-toggle-btn:active,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-link-btn:active,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-filter:active,
body #ganttOut .p6-toolbar .aipe-deadline-tool:active {
  background: transparent !important;
  border-color: rgba(246, 248, 249, .30) !important;
  color: #F6F8F9 !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-btn.on,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-toggle-btn.on,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-link-btn.on,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-show-logic.on,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-filter.on,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-menu.open .gpx-menu-trigger {
  background: transparent !important;
  border-color: rgba(246, 248, 249, .38) !important;
  color: #F6F8F9 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-show-logic.on,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-link-mode.on,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-filter.on {
  background: transparent !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-critical.on {
  background: rgba(220, 38, 38, .20) !important;
  border-color: rgba(248, 180, 180, .46) !important;
  color: #FFE4E4 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-btn svg,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-toggle-btn svg,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-link-btn svg,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-filter svg,
body #ganttOut .p6-toolbar .aipe-deadline-tool svg {
  display: block !important;
  flex: 0 0 14px !important;
  width: 14px !important;
  height: 14px !important;
  color: currentColor !important;
  stroke: currentColor !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-btn svg *,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-toggle-btn svg *,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-link-btn svg *,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-filter svg *,
body #ganttOut .p6-toolbar .aipe-deadline-tool svg * {
  stroke: currentColor !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-btn b,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-link-btn b,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-toggle-btn b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  height: 17px !important;
  min-width: 24px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(246, 248, 249, .12) !important;
  background: #FFFFFF !important;
  color: #0F1B2E !important;
  font: 900 8.5px/1 var(--g-font) !important;
  letter-spacing: 0 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-btn i {
  flex: 0 0 auto !important;
  color: rgba(246, 248, 249, .76) !important;
  font-size: 8px !important;
  font-style: normal !important;
  line-height: 1 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-toggle-btn em {
  flex: 0 0 auto !important;
  width: 26px !important;
  height: 16px !important;
  margin-left: 0 !important;
  border-radius: 999px !important;
  background: rgba(246, 248, 249, .82) !important;
  border: 1px solid rgba(246, 248, 249, .12) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-toggle-btn em::after {
  width: 10px !important;
  height: 10px !important;
  top: 2px !important;
  left: 2px !important;
  background: #6B7280 !important;
  box-shadow: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-toggle-btn.on em::after {
  transform: translateX(10px) !important;
  background: #0F1B2E !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-search {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 98px !important;
  width: 98px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 6px !important;
  gap: 5px !important;
  border-radius: 7px !important;
  border: 1px solid rgba(246, 248, 249, .16) !important;
  background: transparent !important;
  color: #F6F8F9 !important;
  box-shadow: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-search:hover,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-search:focus-within {
  background: transparent !important;
  border-color: rgba(246, 248, 249, .30) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-search-ic {
  display: inline-flex !important;
  flex: 0 0 14px !important;
  color: rgba(246, 248, 249, .72) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-search-inp {
  box-sizing: border-box !important;
  display: block !important;
  flex: 1 1 auto !important;
  width: 64px !important;
  min-width: 0 !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #F6F8F9 !important;
  box-shadow: none !important;
  outline: none !important;
  font: 800 11px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-search-inp::placeholder {
  color: rgba(246, 248, 249, .55) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dropdown {
  top: calc(100% + 7px) !important;
}

body #ganttOut .p6-toolbar #aipe-demo-menu-btn,
body #ganttOut .p6-toolbar .aipe-demo-menu {
  display: none !important;
}

@media (max-width: 1024px) {

  body #ganttOut .p6-toolbar,
  body #ganttOut .p6-toolbar.aipe-gantt-tools-v2,
  body[data-gantt-theme="light"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
    flex-wrap: nowrap !important;
    height: 42px !important;
    min-height: 34px !important;
    gap: 0 !important;
    padding: 4px 8px !important;
    row-gap: 0 !important;
  }
}

/* Final grouped Gantt toolbar: Undo, Redo, View, Logic, Tools, Search. */
body #tp-gantt #ganttOut {
  box-sizing: border-box !important;
  background: #F6F8F9 !important;
  border: 1px solid rgba(216, 205, 186, .86) !important;
  border-radius: 14px !important;
  padding: 10px 14px 14px !important;
  box-shadow: 0 16px 40px rgba(27, 22, 10, .13) !important;
}

body #ganttOut .p6-toolbar,
body #ganttOut .p6-toolbar.aipe-gantt-tools-v2,
body[data-gantt-theme="light"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2,
body[data-gantt-theme="dark"] #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 34px !important;
  margin: 0 0 6px !important;
  padding: 4px 8px !important;
}

body #ganttOut #gpx-toolset.gpx-live-tools[data-gpx-version],
body #ganttOut #gpx-toolset.gpx-live-tools[data-gpx-version="ultra-compact-v3"] {
  width: 100% !important;
  height: 30px !important;
  gap: 6px !important;
  padding: 0 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-tool-left {
  gap: 4px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-tool-right {
  margin-left: auto !important;
  padding-left: 8px !important;
  border-left: 1px solid rgba(246, 248, 249, .14) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-top-menu {
  width: 74px !important;
  min-width: 74px !important;
  max-width: 74px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-icon-btn.gpx-history-btn {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-icon-btn.gpx-history-btn:disabled {
  opacity: .42 !important;
  cursor: default !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-icon-btn.gpx-history-btn:disabled:hover,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-icon-btn.gpx-history-btn:disabled:active {
  background: transparent !important;
  border-color: rgba(246, 248, 249, .20) !important;
  transform: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dropdown-panel {
  box-sizing: border-box !important;
  width: 238px !important;
  min-width: 238px !important;
  padding: 8px !important;
  gap: 7px !important;
  border-radius: 9px !important;
  background: #FFF9EF !important;
  border: 1px solid rgba(216, 205, 186, .95) !important;
  box-shadow: 0 18px 36px rgba(27, 22, 10, .18) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-menu.open .gpx-dropdown-panel {
  display: grid !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-logic-dropdown,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-tools-dropdown {
  width: 206px !important;
  min-width: 206px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-section {
  display: grid !important;
  gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-label {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  height: 22px !important;
  color: #23362D !important;
  font: 900 10px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-label svg,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-action svg {
  flex: 0 0 14px !important;
  width: 14px !important;
  height: 14px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-label b,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-action b {
  margin-left: auto !important;
  height: 16px !important;
  min-width: 28px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(246, 248, 249, .14) !important;
  color: #0F1B2E !important;
  font: 900 8.5px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-options {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-options button,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-action {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 7px !important;
  border-radius: 7px !important;
  border: 1px solid rgba(246, 248, 249, .16) !important;
  background: transparent !important;
  color: #0F1B2E !important;
  box-shadow: none !important;
  font: 850 10px/1 var(--g-font) !important;
  white-space: nowrap !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-options button:hover,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-action:hover,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-options button.active {
  background: transparent !important;
  border-color: rgba(246, 248, 249, .34) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-action {
  width: 100% !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-show-logic {
  width: 100% !important;
  background: transparent !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-critical,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-link-mode,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-filter,
body #ganttOut #gpx-toolset[data-gpx-version] #aipe-deadline-tool-btn.aipe-deadline-tool,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-fit {
  position: static !important;
  top: auto !important;
  right: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 26px !important;
  min-height: 26px !important;
  margin: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: #0F1B2E !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-critical.on {
  background: transparent !important;
  border-color: rgba(139, 58, 31, .42) !important;
  color: #7A2E19 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-toggle-btn em {
  margin-left: auto !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-search {
  flex: 0 0 118px !important;
  width: 118px !important;
  min-width: 118px !important;
  max-width: 118px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-search-inp {
  width: 84px !important;
}

body #ganttOut .p6-outer,
body #ganttOut #v9-gantt-outer {
  margin: 0 !important;
}

/* Compact accordion popovers for grouped View/Logic/Tools dropdowns. */
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dropdown-panel {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 7px) !important;
  left: 0 !important;
  z-index: 80 !important;
  width: 236px !important;
  min-width: 236px !important;
  max-width: 236px !important;
  padding: 6px !important;
  gap: 4px !important;
  background: linear-gradient(180deg, #FFF9EF, #F4ECDD) !important;
  border: 1px solid rgba(191, 174, 147, .92) !important;
  border-radius: 9px !important;
  box-shadow: 0 18px 36px rgba(27, 22, 10, .20), 0 1px 0 rgba(255, 255, 255, .74) inset !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-menu.open .gpx-dropdown-panel {
  display: grid !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-logic-dropdown,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-tools-dropdown {
  width: 204px !important;
  min-width: 204px !important;
  max-width: 204px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-section {
  display: grid !important;
  gap: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-label,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-action {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 27px !important;
  min-height: 27px !important;
  gap: 7px !important;
  padding: 0 8px !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: #0F1B2E !important;
  box-shadow: none !important;
  font: 900 10px/1 var(--g-font) !important;
  text-align: left !important;
  white-space: nowrap !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-label:hover,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-action:hover {
  background: rgba(246, 248, 249, .06) !important;
  border-color: rgba(246, 248, 249, .18) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-label>span,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-action>span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-label>b,
body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-action>b {
  margin-left: auto !important;
  height: 16px !important;
  min-width: 28px !important;
  padding: 0 6px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #EFE3CC !important;
  border: 1px solid rgba(246, 248, 249, .16) !important;
  color: #0F1B2E !important;
  font: 900 8px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-label>i {
  margin-left: 3px !important;
  color: rgba(246, 248, 249, .58) !important;
  font: 900 8px/1 var(--g-font) !important;
  transition: transform .14s ease !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-section.is-open>.gpx-dd-label {
  background: rgba(246, 248, 249, .08) !important;
  border-color: rgba(201, 163, 74, .48) !important;
  color: #0F1B2E !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-section.is-open>.gpx-dd-label>i {
  transform: rotate(180deg) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-section .gpx-dd-options {
  display: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-section.is-open .gpx-dd-options {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 3px !important;
  padding: 3px 0 5px 23px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-options button {
  position: relative !important;
  box-sizing: border-box !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 26px 0 8px !important;
  border-radius: 6px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #2C3B33 !important;
  font: 850 9.5px/1 var(--g-font) !important;
  text-align: left !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-options button:hover {
  background: rgba(246, 248, 249, .06) !important;
  border-color: rgba(246, 248, 249, .16) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-options button.active {
  background: rgba(201, 163, 74, .18) !important;
  border-color: rgba(201, 163, 74, .52) !important;
  color: #0F1B2E !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] .gpx-dd-options button.active::after {
  content: "✓" !important;
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #8A6417 !important;
  font: 900 11px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-tools-dropdown {
  gap: 3px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-tools-dropdown .gpx-dd-action {
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 9px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  text-align: left !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-tools-dropdown .gpx-dd-action:hover,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-tools-dropdown .gpx-dd-action.on {
  background: rgba(246, 248, 249, .07) !important;
  border-color: rgba(201, 163, 74, .40) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-critical.on,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-link-mode.on {
  background: rgba(201, 163, 74, .18) !important;
  border-color: rgba(201, 163, 74, .52) !important;
  color: #0F1B2E !important;
}

body #ganttOut #gpx-toolset[data-gpx-version] #gpx-critical.on::after,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-link-mode.on::after,
body #ganttOut #gpx-toolset[data-gpx-version] #gpx-filter.on::after {
  content: "✓" !important;
  margin-left: auto !important;
  color: #8A6417 !important;
  font: 900 11px/1 var(--g-font) !important;
}

/* Dark compact menu skin for grouped toolbar dropdowns. */
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dropdown-panel {
  z-index: 85 !important;
  width: 238px !important;
  min-width: 220px !important;
  max-width: 260px !important;
  padding: 6px !important;
  gap: 3px !important;
  background: rgb(98 118 130) !important;
  border: 1px solid rgba(246, 248, 249, .14) !important;
  border-radius: 9px !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .40), 0 1px 0 rgba(255, 255, 255, .06) inset !important;
  color: #F6F8F9 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-logic-dropdown,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-tools-dropdown {
  width: 224px !important;
  min-width: 220px !important;
  max-width: 246px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-section {
  background: transparent !important;
  border-color: transparent !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-label,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-action {
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 9px !important;
  gap: 8px !important;
  border-radius: 7px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: rgba(246, 248, 249, .92) !important;
  font: 850 10.5px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-label:hover,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-action:hover {
  background: rgba(246, 248, 249, .08) !important;
  border-color: rgba(246, 248, 249, .18) !important;
  color: #FFFFFF !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-section.is-open>.gpx-dd-label,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-critical.on,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-link-mode.on,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-show-logic.on>.gpx-dd-label {
  background: rgba(201, 163, 74, .17) !important;
  border-color: rgba(218, 178, 87, .50) !important;
  color: #FFF7D8 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-label svg,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-action svg {
  color: currentColor !important;
  opacity: .95 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-label>span,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-action>span {
  color: inherit !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-critical,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-link-mode,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-show-logic .gpx-dd-label {
  background: transparent !important;
  border-color: transparent !important;
  color: rgba(246, 248, 249, .92) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-critical:hover,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-link-mode:hover,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-show-logic .gpx-dd-label:hover {
  background: rgba(246, 248, 249, .08) !important;
  border-color: rgba(246, 248, 249, .18) !important;
  color: #FFFFFF !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-label>b,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-action>b {
  margin-left: auto !important;
  height: 17px !important;
  min-width: 30px !important;
  padding: 0 7px !important;
  background: rgba(246, 248, 249, .13) !important;
  border: 1px solid rgba(246, 248, 249, .18) !important;
  color: #F9E8B7 !important;
  font: 900 8px/1 var(--g-font) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-label>i {
  color: rgba(246, 248, 249, .62) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-toggle-btn em {
  margin-left: auto !important;
  width: 28px !important;
  height: 16px !important;
  background: rgba(246, 248, 249, .18) !important;
  border: 1px solid rgba(246, 248, 249, .22) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-toggle-btn em::after {
  background: rgba(246, 248, 249, .72) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-toggle-btn.on em {
  background: rgba(201, 163, 74, .36) !important;
  border-color: rgba(218, 178, 87, .58) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-toggle-btn.on em::after {
  background: #F9E8B7 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-options button {
  height: 24px !important;
  min-height: 24px !important;
  background: transparent !important;
  border-color: transparent !important;
  color: rgba(246, 248, 249, .82) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-options button:hover {
  background: rgba(246, 248, 249, .08) !important;
  border-color: rgba(246, 248, 249, .16) !important;
  color: #FFFFFF !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-options button.active {
  background: rgba(201, 163, 74, .18) !important;
  border-color: rgba(218, 178, 87, .48) !important;
  color: #FFF7D8 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-options button.active::after,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-critical.on::after,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-link-mode.on::after,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-filter.on::after {
  color: #F9E8B7 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-icon-btn.gpx-history-btn:disabled {
  opacity: .68 !important;
  color: rgba(246, 248, 249, .66) !important;
}

/* Readability refinement for the grouped Gantt toolbar menus. */
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-top-menu {
  width: 92px !important;
  min-width: 92px !important;
  max-width: 92px !important;
  padding: 0 10px !important;
  gap: 7px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dropdown-panel {
  width: 252px !important;
  min-width: 236px !important;
  max-width: 260px !important;
  background: rgb(98 118 130) !important;
  border-color: rgba(246, 248, 249, .26) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .35), 0 1px 0 rgba(255, 255, 255, .10) inset !important;
  color: #FFF9ED !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-logic-dropdown,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-tools-dropdown {
  width: 236px !important;
  min-width: 228px !important;
  max-width: 248px !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-label,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-action {
  color: #FFF9ED !important;
  font-weight: 900 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-label svg,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-action svg {
  color: #F6E7BA !important;
  opacity: 1 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-label>b,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-action>b {
  background: #F6E7BA !important;
  border-color: rgba(246, 231, 186, .78) !important;
  color: #0F1B2E !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-critical,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-link-mode,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-filter,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-fit,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #aipe-deadline-tool-btn.aipe-deadline-tool {
  background: transparent !important;
  border-color: transparent !important;
  color: #FFF9ED !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-label:hover,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-action:hover,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-options button:hover {
  background: rgba(246, 248, 249, .12) !important;
  border-color: rgba(246, 248, 249, .24) !important;
  color: #FFFFFF !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dd-section.is-open>.gpx-dd-label,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-critical.on,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-link-mode.on,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-filter.on {
  background: rgba(246, 211, 128, .20) !important;
  border-color: rgba(246, 211, 128, .62) !important;
  color: #FFF6D8 !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-toggle-btn em {
  background: rgba(246, 248, 249, .24) !important;
  border-color: rgba(246, 248, 249, .32) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-toggle-btn em::after {
  background: #E6DDCC !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-toggle-btn.on em {
  background: rgba(246, 211, 128, .42) !important;
  border-color: rgba(246, 211, 128, .70) !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-toggle-btn.on em::after {
  background: #FFF6D8 !important;
}

/* Surgical alignment fixes for grouped toolbar dropdown/search polish. */
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-view-dropdown>#gpx-fit.gpx-dd-action {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 9px !important;
  gap: 8px !important;
  border-radius: 7px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #FFF9ED !important;
  text-align: left !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-view-dropdown>#gpx-fit.gpx-dd-action svg {
  flex: 0 0 14px !important;
  width: 14px !important;
  height: 14px !important;
  color: #F6E7BA !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-view-dropdown>#gpx-fit.gpx-dd-action span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-tool-right {
  border-left: 0 !important;
  padding-left: 8px !important;
  padding-right: 1px !important;
  overflow: visible !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-search {
  position: relative !important;
  overflow: visible !important;
  border: 1px solid rgba(246, 248, 249, .20) !important;
  outline: 0 !important;
  clip-path: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-search::before,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-search::after,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-tool-right::before,
body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-tool-right::after {
  content: none !important;
  display: none !important;
}

body #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-search-inp {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Single-layer toolbar containment: scoped to the active grouped Gantt toolbar. */
body #tp-gantt #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
  position: relative !important;
  z-index: 120 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 4px 8px !important;
  overflow: visible !important;
  isolation: isolate !important;
  background: linear-gradient(180deg, var(--aipe-toolbar-2, #0A0D0D), var(--aipe-toolbar, #020303)) !important;
  border-color: var(--aipe-toolbar-border, rgba(246, 248, 249, .14)) !important;
}

body #tp-gantt #ganttOut .p6-toolbar.aipe-gantt-tools-v2> :not(#gpx-toolset) {
  display: none !important;
}

body #tp-gantt #ganttOut .p6-toolbar.aipe-gantt-tools-v2 #gpx-toolset[data-gpx-version="grouped-compact-v1"] {
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body #tp-gantt #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-tool-left {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

body #tp-gantt #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-tool-right {
  flex: 0 1 150px !important;
  min-width: 76px !important;
  max-width: 168px !important;
  margin-left: auto !important;
}

body #tp-gantt #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-search {
  box-sizing: border-box !important;
  flex: 1 1 118px !important;
  width: 100% !important;
  min-width: 76px !important;
  max-width: 150px !important;
  overflow: hidden !important;
}

body #tp-gantt #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] #gpx-search-inp {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

body #tp-gantt #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-menu {
  position: relative !important;
  z-index: 130 !important;
}

body #tp-gantt #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-dropdown-panel {
  z-index: 1000 !important;
}

body #tp-gantt #ganttOut .p6-outer,
body #tp-gantt #ganttOut #v9-gantt-outer {
  position: relative !important;
  z-index: 1 !important;
}

/* Keep grouped toolbar menus interactive after Gantt rerenders. */
body #tp-gantt #ganttOut {
  overflow: visible !important;
}

body #tp-gantt #ganttOut .p6-toolbar.aipe-gantt-tools-v2 {
  isolation: auto !important;
  z-index: 2147482000 !important;
}

body #tp-gantt #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-menu {
  isolation: auto !important;
  z-index: 2147482100 !important;
}

body #tp-gantt #ganttOut #gpx-toolset[data-gpx-version="grouped-compact-v1"] .gpx-menu.open .gpx-dropdown-panel {
  display: grid !important;
  pointer-events: auto !important;
  z-index: 2147482200 !important;
}
/* v46: server-mode busy cursor � the deadline tool computes on the backend,
   so while the round trip is in flight the page shows a running cursor with a
   small schedule-ring icon on the pointer. */
body[data-aipe-dt-busy="1"] {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cstyle%3E%40keyframes a%7Bto%7Btransform:rotate(360deg)%7D%7D%3C/style%3E%3C/defs%3E%3Cg%3E%3Cpath d='M4 4h5v5H4z' fill='%231D4ED8'/%3E%3Cpath d='M15 4h5v5h-5z' fill='%231D4ED8'/%3E%3Cpath d='M4 15h5v5H4z' fill='%231D4ED8'/%3E%3Cpath d='M15 15h5v5h-5z' fill='%231D4ED8'/%3E%3Cg transform='translate(12 12)'%3E%3Cg style='transform-origin:0 0;animation:a 1.1s linear infinite'%3E%3Cpath d='M0 -8 a8 8 0 0 1 8 -8 l0 3.2 a4.8 4.8 0 0 0 -4.8 4.8 z' fill='%23f59e0b'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 12 12, progress !important;
}
body[data-aipe-dt-busy="1"] * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cstyle%3E%40keyframes a%7Bto%7Btransform:rotate(360deg)%7D%7D%3C/style%3E%3C/defs%3E%3Cg%3E%3Cpath d='M4 4h5v5H4z' fill='%231D4ED8'/%3E%3Cpath d='M15 4h5v5h-5z' fill='%231D4ED8'/%3E%3Cpath d='M4 15h5v5H4z' fill='%231D4ED8'/%3E%3Cpath d='M15 15h5v5h-5z' fill='%231D4ED8'/%3E%3Cg transform='translate(12 12)'%3E%3Cg style='transform-origin:0 0;animation:a 1.1s linear infinite'%3E%3Cpath d='M0 -8 a8 8 0 0 1 8 -8 l0 3.2 a4.8 4.8 0 0 0 -4.8 4.8 z' fill='%23f59e0b'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 12 12, progress !important;
}

/* styles/tabs/143-appearance-settings.css */
/* ══════════════════════════════════════════════════════════════════════
   APPEARANCE SETTINGS — Gantt WBS level palettes
   Light theme, consistent with the #tp-settings (.dsett-*) panel.
   ══════════════════════════════════════════════════════════════════════ */

#tp-settings .appr-shell {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

#tp-settings .appr-block {
  background: #FAF8F4;
  border: 1px solid #E8E2D4;
  border-radius: 12px;
  padding: 16px 18px;
}
#tp-settings .appr-block-hdr {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
#tp-settings .appr-block-title {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  color: #1B1A17;
}
#tp-settings .appr-block-sub {
  font-size: 11.5px;
  color: rgba(107, 102, 92, .72);
}

/* ─── Preview: swatch strip ──────────────────────────────────────────── */
#tp-settings .appr-swatches {
  display: grid;
  grid-template-columns: repeat(13, 1fr);
  gap: 6px;
  margin-bottom: 16px;
}
@media (max-width: 760px) {
  #tp-settings .appr-swatches { grid-template-columns: repeat(7, 1fr); }
}
#tp-settings .appr-sw { display: flex; flex-direction: column; align-items: center; gap: 4px; }
#tp-settings .appr-sw-chip {
  width: 100%;
  height: 46px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .3px;
  border: 1px solid rgba(0, 0, 0, .08);
}
#tp-settings .appr-sw-hex {
  font-size: 9.5px;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  color: rgba(107, 102, 92, .85);
}

/* ─── Preview: mock gantt ────────────────────────────────────────────── */
#tp-settings .appr-mock {
  border: 1px solid #E8E2D4;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
#tp-settings .appr-mock-row {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 30px;
  font-size: 12px;
  font-weight: 600;
  border-bottom: 1px solid rgba(0, 0, 0, .04);
}
#tp-settings .appr-mock-row:last-child { border-bottom: none; }
#tp-settings .appr-mock-act {
  background: #fff;
  color: #1B1A17;
  font-weight: 500;
}
#tp-settings .appr-mock-name {
  flex: 0 0 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#tp-settings .appr-mock-chart {
  flex: 1;
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  background: rgba(2, 8, 18, .02);
  padding: 0 8px;
}
#tp-settings .appr-mock-bar {
  height: 12px;
  border-radius: 4px;
  min-width: 14px;
}
#tp-settings .appr-mock-sum { background: #0F172A; height: 8px; border-radius: 2px; }
#tp-settings .appr-mock-green { background: linear-gradient(90deg, #22c55eee, #22c55e88); }
#tp-settings .appr-mock-crit { background: linear-gradient(90deg, #ef4444ee, #ef444488); }

/* ─── Preset gallery ─────────────────────────────────────────────────── */
#tp-settings .appr-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 12px;
}
#tp-settings .appr-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  border: 1px solid #E2DDD3;
  border-radius: 10px;
  background: #FFFCF6;
  cursor: pointer;
  text-align: left;
  transition: border-color .15s, box-shadow .15s, transform .12s;
}
#tp-settings .appr-card:hover {
  border-color: #C9BFA8;
  box-shadow: 0 6px 16px rgba(27, 26, 23, .08);
  transform: translateY(-1px);
}
#tp-settings .appr-card.is-active {
  border-color: #1B1A17;
  box-shadow: 0 0 0 2px rgba(27, 26, 23, .14);
}
#tp-settings .appr-card-bands {
  display: flex;
  height: 34px;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, .06);
}
#tp-settings .appr-card-band { flex: 1; }
#tp-settings .appr-card-name {
  font-size: 12px;
  font-weight: 700;
  color: #1B1A17;
}

/* ─── Custom per-level grid ──────────────────────────────────────────── */
#tp-settings .appr-custom-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 10px;
}
#tp-settings .appr-custom-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid #E2DDD3;
  border-radius: 9px;
  background: #FFFCF6;
}
#tp-settings .appr-custom-lbl {
  flex: 0 0 30px;
  font-size: 11.5px;
  font-weight: 800;
  color: rgba(27, 26, 23, .80);
}
#tp-settings .appr-custom-color {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid #E2DDD3;
  border-radius: 7px;
  background: none;
  cursor: pointer;
}
#tp-settings .appr-custom-color::-webkit-color-swatch-wrapper { padding: 2px; }
#tp-settings .appr-custom-color::-webkit-color-swatch { border: none; border-radius: 5px; }
#tp-settings .appr-custom-hex {
  flex: 1;
  min-width: 0;
  height: 32px;
  padding: 0 8px;
  border: 1px solid #E2DDD3;
  border-radius: 7px;
  background: #fff;
  color: #1B1A17;
  font-size: 12px;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  text-transform: uppercase;
}
#tp-settings .appr-custom-hex:focus {
  outline: none;
  border-color: #1B1A17;
}

/* styles/tabs/147-weekly-usage-settings.css */
#tp-settings .usage-shell {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

#tp-settings .usage-audience-switch {
  display: inline-flex;
  align-self: flex-start;
  gap: 6px;
  padding: 5px;
  border: 1px solid #c8e6d0;
  border-radius: 999px;
  background: #e8f5e9;
}

#tp-settings .usage-audience-switch button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: #5F594C;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

#tp-settings .usage-audience-switch button svg {
  width: 15px;
  height: 15px;
}

#tp-settings .usage-audience-switch button.is-active {
  border-color: #24B47E;
  background: #FFFCF6;
  color: #1B1A17;
  box-shadow: 0 8px 18px rgba(27, 26, 23, .06);
}

#tp-settings .usage-hero {
  display: grid;
  grid-template-columns: 130px 130px 1fr;
  gap: 12px;
  align-items: stretch;
}

#tp-settings .usage-mode-user .usage-hero {
  display: none;
}

#tp-settings .usage-mode-user .usage-plan-card,
#tp-settings .usage-mode-user .usage-panel--developer,
#tp-settings .usage-mode-user .usage-dev-only {
  display: none;
}

#tp-settings .usage-mode-user .usage-grid {
  grid-template-columns: minmax(0, 1fr);
}

#tp-settings .usage-plan-card {
  border: 1px solid #c8e6d0;
  border-radius: 12px;
  background: #FFFCF6;
  color: #1B1A17;
  padding: 14px;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(27, 26, 23, .05);
}

#tp-settings .usage-plan-card.is-active {
  border-color: #188D68;
  background: linear-gradient(180deg, #e8f5e9, #FFFCF6);
  box-shadow: 0 0 0 2px rgba(36, 180, 126, .14);
}

#tp-settings .usage-plan-kicker,
#tp-settings .usage-tag {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: #e8f5e9;
  color: #188D68;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .08em;
}

#tp-settings .usage-plan-card strong {
  display: block;
  margin-top: 12px;
  font-size: 28px;
  line-height: 1;
  color: #1B1A17;
}

#tp-settings .usage-plan-card small,
#tp-settings .usage-row small,
#tp-settings .usage-kpis small {
  display: block;
  color: rgba(107, 102, 92, .76);
  font-size: 11px;
  line-height: 1.35;
}

#tp-settings .usage-hero-meter,
#tp-settings .usage-panel {
  border: 1px solid #c8e6d0;
  border-radius: 12px;
  background: #FAF8F4;
  padding: 16px;
}

#tp-settings .usage-meter-head,
#tp-settings .usage-meter-foot,
#tp-settings .usage-panel-hdr {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
}

#tp-settings .usage-meter-head span,
#tp-settings .usage-form-grid label > span,
#tp-settings .usage-kpis span {
  color: rgba(107, 102, 92, .82);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
}

#tp-settings .usage-meter-head b {
  color: #1B1A17;
  font-size: 20px;
}

#tp-settings .usage-meter-track {
  height: 10px;
  margin: 18px 0 10px;
  border-radius: 999px;
  background: #c8e6d0;
  overflow: hidden;
}

#tp-settings .usage-meter-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #5C6B3F, #24B47E);
  transition: width .18s ease;
}

#tp-settings .usage-meter-foot {
  color: rgba(107, 102, 92, .85);
  font-size: 12px;
}

#tp-settings .usage-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 14px;
}

#tp-settings .usage-panel-hdr {
  margin-bottom: 14px;
}

#tp-settings .usage-panel-hdr h3 {
  margin: 0;
  color: #1B1A17;
  font-size: 14px;
  font-weight: 850;
}

#tp-settings .usage-panel-hdr p {
  margin: 4px 0 0;
  color: rgba(107, 102, 92, .76);
  font-size: 12px;
}

#tp-settings .usage-tag--user {
  background: #E7EEDC;
  color: #3E4A2A;
}

#tp-settings .usage-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#tp-settings .usage-form-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#tp-settings .usage-actions {
  margin-top: 14px;
}

#tp-settings .usage-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#tp-settings .usage-user-picker {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) minmax(260px, 1.1fr);
  gap: 12px;
  margin-bottom: 14px;
}

#tp-settings .usage-user-picker label {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

#tp-settings .usage-user-picker label > span {
  color: rgba(107, 102, 92, .82);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .07em;
}

#tp-settings .usage-current-model {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 62px;
  border: 1px solid #c8e6d0;
  border-radius: 10px;
  background: linear-gradient(180deg, #FFFDF8, #F4EFE5);
  padding: 10px 12px;
}

#tp-settings .usage-current-model b {
  color: #1B1A17;
  font-size: 17px;
  line-height: 1.15;
}

#tp-settings .usage-current-model span {
  margin-top: 5px;
  color: #59663D;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .08em;
}

#tp-settings .usage-user-quota {
  border: 1px solid #c8e6d0;
  border-radius: 10px;
  background: linear-gradient(180deg, #FFFCF6, #F6F0E3);
  padding: 12px 14px;
  margin-bottom: 14px;
}

#tp-settings .usage-user-quota-head,
#tp-settings .usage-user-quota-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#tp-settings .usage-user-quota-head span {
  color: rgba(107, 102, 92, .82);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

#tp-settings .usage-user-quota-head b {
  color: #1B1A17;
  font-size: 22px;
  line-height: 1;
}

#tp-settings .usage-user-quota-track {
  height: 10px;
  margin: 12px 0 9px;
  border-radius: 999px;
  background: #E6DFD0;
  overflow: hidden;
}

#tp-settings .usage-user-quota-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #5C6B3F, #24B47E);
  transition: width .18s ease;
}

#tp-settings .usage-user-quota-foot span {
  color: rgba(107, 102, 92, .82);
  font-size: 12px;
}

#tp-settings .usage-suggestion-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

#tp-settings .usage-suggestion {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 82px;
  border: 1px solid #c8e6d0;
  border-radius: 10px;
  background: #FFFCF6;
  color: #1B1A17;
  padding: 11px;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 20px rgba(27, 26, 23, .04);
}

#tp-settings .usage-suggestion:hover,
#tp-settings .usage-suggestion.is-active {
  border-color: #24B47E;
  background: linear-gradient(180deg, #e8f5e9, #FFFCF6);
}

#tp-settings .usage-suggestion.is-active {
  box-shadow: 0 0 0 2px rgba(36, 180, 126, .15);
}

#tp-settings .usage-suggestion-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #E7EEDC;
  color: #3E4A2A;
  font-size: 13px;
  font-weight: 900;
}

#tp-settings .usage-suggestion-main {
  min-width: 0;
}

#tp-settings .usage-suggestion-main b,
#tp-settings .usage-suggestion-meta small {
  display: block;
  color: #188D68;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

#tp-settings .usage-suggestion-main strong {
  display: block;
  margin: 4px 0;
  color: #1B1A17;
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#tp-settings .usage-suggestion-main small {
  display: block;
  color: rgba(107, 102, 92, .72);
  font-size: 11px;
  line-height: 1.3;
}

#tp-settings .usage-suggestion-meta {
  text-align: right;
}

#tp-settings .usage-suggestion-meta b {
  display: block;
  color: #1B1A17;
  font-size: 19px;
  line-height: 1.1;
}

#tp-settings .usage-kpis--simple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#tp-settings .usage-user-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

#tp-settings .usage-user-strip div {
  display: grid;
  grid-template-columns: 38px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
  border: 1px solid #c8e6d0;
  border-radius: 12px;
  background: linear-gradient(180deg, #FFFDF8, #F5F0E6);
  padding: 10px;
}

#tp-settings .usage-ico {
  grid-row: 1 / 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #E7EEDC;
  color: #3F4D2C;
}

#tp-settings .usage-ico svg {
  width: 17px;
  height: 17px;
}

#tp-settings .usage-user-strip b {
  color: #1B1A17;
  font-size: 15px;
  line-height: 1.1;
}

#tp-settings .usage-user-strip small {
  color: rgba(107, 102, 92, .76);
  font-size: 11px;
}

#tp-settings .usage-kpis div {
  border: 1px solid #c8e6d0;
  border-radius: 10px;
  background: #FFFCF6;
  padding: 12px;
}

#tp-settings .usage-kpis b {
  display: block;
  margin: 6px 0 2px;
  color: #1B1A17;
  font-size: 22px;
  line-height: 1.1;
}

#tp-settings .usage-reco {
  margin-top: 12px;
  border: 1px solid #D6E3C5;
  border-radius: 10px;
  background: #F3F8EC;
  padding: 12px;
}

#tp-settings .usage-reco b {
  display: block;
  color: #3E4A2A;
  font-size: 13px;
  margin-bottom: 4px;
}

#tp-settings .usage-reco span {
  color: rgba(62, 74, 42, .82);
  font-size: 12px;
  line-height: 1.5;
}

#tp-settings .usage-model-table {
  border: 1px solid #c8e6d0;
  border-radius: 10px;
  overflow: hidden;
  background: #FFFCF6;
}

#tp-settings .usage-row {
  display: grid;
  grid-template-columns: minmax(210px, 1.35fr) 90px 110px 110px 105px 90px minmax(180px, 1fr);
  gap: 0;
  align-items: stretch;
  border-bottom: 1px solid #c8e6d0;
}

#tp-settings .usage-row:last-child {
  border-bottom: none;
}

#tp-settings .usage-row > span {
  padding: 10px;
  border-right: 1px solid #c8e6d0;
  font-size: 12px;
  color: #1B1A17;
  min-width: 0;
}

#tp-settings .usage-row > span:last-child {
  border-right: none;
}

#tp-settings .usage-row--head {
  background: #2F2B24;
}

#tp-settings .usage-row--head span {
  color: #FFF8E8;
  font-weight: 850;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

#tp-settings .usage-tier {
  display: inline-flex;
  border-radius: 999px;
  padding: 3px 7px;
  background: #e8f5e9;
  color: #188D68;
  font-style: normal;
  font-size: 10px;
  font-weight: 850;
}

#tp-settings .usage-price {
  width: 100%;
  height: 30px;
  border: 1px solid #E2DDD3;
  border-radius: 7px;
  background: #fff;
  color: #1B1A17;
  padding: 0 8px;
  font: 12px ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}

@media (max-width: 980px) {
  #tp-settings .usage-hero,
  #tp-settings .usage-grid {
    grid-template-columns: 1fr;
  }

  #tp-settings .usage-user-strip {
    grid-template-columns: 1fr;
  }

  #tp-settings .usage-user-picker,
  #tp-settings .usage-suggestion-grid,
  #tp-settings .usage-kpis--simple {
    grid-template-columns: 1fr;
  }

  #tp-settings .usage-row {
    grid-template-columns: minmax(180px, 1.2fr) 90px 90px 90px 96px 80px minmax(160px, 1fr);
    overflow-x: auto;
  }
}

/* styles/plugins/008-forge-theme-fix.css */
/* Forge Engine theme alignment.
   Keep the overlay in the app's new cream/olive/gold palette, while restoring
   enough contrast and structure for the live generation console. */

.forge-ov {
  background:
    radial-gradient(circle at 18% 18%, rgba(36, 180, 126, .18), transparent 28%),
    radial-gradient(circle at 78% 72%, rgba(92, 107, 63, .16), transparent 30%),
    linear-gradient(135deg, #F7F1E6 0%, #FAF8F4 48%, #EEE6D8 100%) !important;
  color: #1B1A17 !important;
}

.forge-app {
  background: transparent !important;
  border: 0 !important;
  color: #1B1A17 !important;
  box-shadow: none !important;
  font-family: "DM Sans", "JetBrains Mono", system-ui, sans-serif !important;
}

.forge-top,
.forge-footer {
  background: rgba(255, 252, 246, .96) !important;
  border-color: rgba(36, 180, 126, .38) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .88) inset, 0 12px 30px rgba(62, 74, 42, .08) !important;
}

.forge-logo {
  border-right-color: rgba(36, 180, 126, .30) !important;
}

.forge-logo-mark {
  background: transparent !important;
  border: 0 !important;
  color: #1B1A17 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.forge-logo-mark img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.forge-app-name {
  color: #1B1A17 !important;
}

.forge-app-sub,
.forge-pipe-hdr-lbl,
.forge-board-ttl,
.forge-phdr,
.forge-slbl,
.forge-fstep span {
  color: #7C7568 !important;
}

.forge-chip {
  background: linear-gradient(180deg, rgba(255, 253, 248, .94), rgba(238, 241, 230, .86)) !important;
  border-color: rgba(92, 107, 63, .24) !important;
  color: #5F5A50 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .76), 0 4px 12px rgba(62, 74, 42, .06) !important;
}

.forge-chip b,
.forge-board-meta.active,
.forge-es-label b,
.forge-fmsg,
.forge-fstep {
  color: #9A6D13 !important;
}

.forge-chip .dot {
  background: #5C6B3F !important;
  box-shadow: 0 0 0 4px rgba(92, 107, 63, .12), 0 0 10px rgba(92, 107, 63, .28) !important;
}

.forge-badge {
  color: #8B6416 !important;
}

.forge-badge-dot,
.forge-es-dot {
  background: #24B47E !important;
  box-shadow: 0 0 0 5px rgba(36, 180, 126, .14), 0 0 12px rgba(36, 180, 126, .38) !important;
}

.forge-main {
  background: rgba(250, 248, 244, .72) !important;
}

.forge-pipeline,
.forge-right {
  background: rgba(255, 252, 246, .70) !important;
  border-color: rgba(36, 180, 126, .26) !important;
}

.forge-pipe-hdr {
  border-bottom-color: rgba(36, 180, 126, .22) !important;
}

.forge-pipe-track,
.forge-seg {
  background: rgba(204, 195, 181, .50) !important;
}

.forge-pipe-fill,
.forge-seg.done,
.forge-seg.active {
  background: linear-gradient(90deg, #5C6B3F, #8A9968, #24B47E) !important;
}

.forge-pipe-pct {
  color: #5C6B3F !important;
}

.forge-step {
  border-bottom-color: rgba(226, 221, 211, .72) !important;
}

.forge-step.active {
  background: linear-gradient(90deg, rgba(36, 180, 126, .20), rgba(255, 252, 246, .28), transparent) !important;
}

.forge-step-node {
  background: #F5F0E7 !important;
  border-color: rgba(92, 107, 63, .24) !important;
  color: #6B665C !important;
}

.forge-step.done .forge-step-node {
  background: #5C6B3F !important;
  border-color: #5C6B3F !important;
  color: #FFFCF6 !important;
}

.forge-step.active .forge-step-node {
  background: #24B47E !important;
  border-color: #188D68 !important;
  color: #1B1A17 !important;
  box-shadow: 0 0 0 5px rgba(36, 180, 126, .18), 0 8px 20px rgba(36, 180, 126, .24) !important;
}

.forge-step-line {
  background: rgba(204, 195, 181, .72) !important;
}

.forge-step-line.done {
  background: #8A9968 !important;
}

.forge-step-tag {
  background: rgba(238, 241, 230, .86) !important;
  border-color: rgba(92, 107, 63, .22) !important;
  color: #5C6B3F !important;
}

.forge-step.active .forge-step-tag,
.forge-step.done .forge-step-tag {
  background: rgba(36, 180, 126, .18) !important;
  border-color: rgba(36, 180, 126, .46) !important;
  color: #7C5510 !important;
}

.forge-step-title {
  color: #2E2B26 !important;
}

.forge-step.active .forge-step-title,
.forge-step.done .forge-step-title {
  color: #1B1A17 !important;
}

.forge-step-detail,
.forge-board-meta,
.forge-cpm-sub,
.forge-es-label,
.forge-cline.dim {
  color: #6B665C !important;
}

.forge-board {
  background:
    linear-gradient(180deg, rgba(255, 253, 248, .98), rgba(250, 248, 244, .96)),
    radial-gradient(circle at 80% 22%, rgba(36, 180, 126, .10), transparent 32%) !important;
  border-color: rgba(36, 180, 126, .38) !important;
  box-shadow: 0 22px 54px rgba(62, 74, 42, .12), inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

.forge-mnths {
  background: linear-gradient(180deg, #F5F0E7, #EEE6D8) !important;
  border-bottom-color: rgba(36, 180, 126, .30) !important;
}

.forge-mlabel,
.forge-mcell {
  color: #6F6A60 !important;
  border-color: rgba(36, 180, 126, .20) !important;
}

.forge-bgrid {
  background-image: linear-gradient(90deg, rgba(92, 107, 63, .12) 1px, transparent 1px) !important;
}

.forge-machine-canvas {
  opacity: .56 !important;
  mix-blend-mode: multiply !important;
  filter: sepia(.18) saturate(.92) brightness(1.08) !important;
}

.forge-ghost-row,
.forge-row {
  border-bottom-color: rgba(226, 221, 211, .68) !important;
}

.forge-ghost-id {
  background: rgba(36, 180, 126, .24) !important;
}

.forge-ghost-row.forge-ghost-wbs .forge-ghost-id,
.forge-ghost-row.forge-ghost-wbs .forge-ghost-txt {
  background: rgba(92, 107, 63, .18) !important;
}

.forge-ghost-txt {
  background: rgba(107, 102, 92, .12) !important;
}

.forge-ghost-bar {
  background: rgba(138, 153, 104, .18) !important;
  border-color: rgba(92, 107, 63, .30) !important;
}

.forge-ghost-bar.forge-ghost-crit {
  background: rgba(184, 105, 62, .16) !important;
  border-color: rgba(184, 105, 62, .30) !important;
}

.forge-ghost-bar.forge-ghost-wbs-bar {
  background: rgba(36, 180, 126, .28) !important;
  border-color: rgba(36, 180, 126, .42) !important;
}

.forge-engine-status-strip {
  background: linear-gradient(180deg, transparent, rgba(255, 252, 246, .90)) !important;
  border-top-color: rgba(36, 180, 126, .26) !important;
}

.forge-rname {
  border-right-color: rgba(36, 180, 126, .20) !important;
}

.forge-row.forge-wbs-r,
.forge-row.forge-wbs-r .forge-rname {
  background: linear-gradient(90deg, rgba(238, 241, 230, .78), rgba(255, 252, 246, .38) 68%, transparent) !important;
}

.forge-rid {
  color: #9E3A26 !important;
}

.forge-row.forge-wbs-r .forge-rid,
.forge-row.forge-wbs-r .forge-rtxt {
  color: #4E5C35 !important;
}

.forge-rtxt {
  color: #26231F !important;
}

.forge-bar {
  background: linear-gradient(90deg, #5C6B3F 0%, #8A9968 58%, #24B47E 100%) !important;
  box-shadow: 0 0 0 1px rgba(92, 107, 63, .16), 0 8px 20px rgba(92, 107, 63, .14) !important;
}

.forge-bar.forge-cr {
  background: linear-gradient(90deg, #8B3A1F, #B8693E, #D39159) !important;
  box-shadow: 0 0 0 1px rgba(184, 105, 62, .20), 0 8px 20px rgba(184, 105, 62, .16) !important;
}

.forge-bar.forge-go {
  background: linear-gradient(90deg, #3E4A2A, #5C6B3F, #9FA96D) !important;
}

.forge-bar.forge-wb {
  background: linear-gradient(90deg, #8A6A22, #24B47E, #E6C56D) !important;
  box-shadow: 0 0 0 1px rgba(36, 180, 126, .22), 0 6px 16px rgba(36, 180, 126, .16) !important;
}

.forge-links .forge-lnk,
.forge-lnk {
  stroke: #8A9968 !important;
}

.forge-sbox,
.forge-cbox {
  background: rgba(255, 252, 246, .92) !important;
  border-color: rgba(36, 180, 126, .30) !important;
  color: #1B1A17 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .76), 0 8px 18px rgba(62, 74, 42, .06) !important;
}

.forge-sbox.hi {
  background: linear-gradient(180deg, rgba(255, 248, 226, .96), rgba(250, 238, 198, .78)) !important;
  border-color: rgba(36, 180, 126, .58) !important;
}

.forge-sval {
  color: #1B1A17 !important;
}

.forge-sbox.hi .forge-sval {
  color: #9A6D13 !important;
}

.forge-cpm-card {
  background: linear-gradient(180deg, rgba(238, 241, 230, .86), rgba(255, 252, 246, .88)) !important;
  border-color: rgba(92, 107, 63, .28) !important;
  color: #1B1A17 !important;
}

.forge-cpm-icon {
  background: rgba(92, 107, 63, .12) !important;
  color: #5C6B3F !important;
}

.forge-cpm-top {
  color: #4E5C35 !important;
}

.forge-cdots {
  border-bottom-color: rgba(36, 180, 126, .24) !important;
}

.forge-cline.cmd {
  color: #4E5C35 !important;
}

.forge-cline.ok {
  color: #5C6B3F !important;
}

.forge-cline.warn {
  color: #9A6D13 !important;
}

.forge-cline.sys {
  color: #8B6416 !important;
}

#forgeCancelBtn {
  background: rgba(184, 105, 62, .10) !important;
  border-color: rgba(184, 105, 62, .42) !important;
  color: #9E3A26 !important;
  box-shadow: none !important;
}

#forgeCancelBtn:hover {
  background: rgba(184, 105, 62, .18) !important;
  border-color: rgba(158, 58, 38, .62) !important;
  color: #7B2F1F !important;
}

