.pcal-top-actions {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      padding: 12px 14px;
      margin: 0 16px 12px;
      border: 1px solid rgba(96, 165, 250, .14);
      border-radius: 14px;
      background: linear-gradient(180deg, rgba(8, 18, 40, .92), rgba(5, 11, 25, .85));
      box-shadow: 0 12px 40px rgba(2, 6, 23, .18)
    }

    .pcal-top-actions-left {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap
    }

    .pcal-top-badge {
      padding: 5px 10px;
      border-radius: 999px;
      border: 1px solid rgba(139, 92, 246, .26);
      background: rgba(76, 29, 149, .18);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .7px;
      text-transform: uppercase;
      color: #d8b4fe
    }

    .pcal-top-note {
      font-size: 11.5px;
      color: var(--mu)
    }

    .pcal-top-actions-right {
      display: flex;
      gap: 8px;
      flex-wrap: wrap
    }

    .pcal-planner-modal {
      position: fixed;
      inset: 0;
      display: none;
      flex-direction: column;
      background: #01060f;
      z-index: 9999;
      overflow: hidden
    }

    .pcal-planner-modal.open {
      display: flex
    }

    .pcal-planner-box {
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      border: none;
      border-radius: 0;
      overflow: hidden;
      background: linear-gradient(180deg, #071327, #040c1b)
    }

    .pcal-planner-hdr {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      padding: 16px 18px;
      border-bottom: 1px solid rgba(96, 165, 250, .12);
      background: linear-gradient(180deg, rgba(9, 22, 46, .96), rgba(6, 15, 31, .92))
    }

    .pcal-planner-title {
      font-size: 19px;
      font-weight: 800;
      color: var(--st)
    }

    .pcal-planner-sub {
      font-size: 11.5px;
      color: var(--mu);
      margin-top: 4px
    }

    .pcal-planner-hdr-actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap
    }

    .pcal-planner-toolbar {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      padding: 12px 18px;
      border-bottom: 1px solid rgba(96, 165, 250, .08);
      background: rgba(3, 9, 21, .78)
    }

    .pcal-planner-search {
      flex: 1;
      min-width: 260px;
      background: rgba(2, 8, 20, .94);
      border: 1px solid rgba(148, 163, 184, .16);
      border-radius: 10px;
      padding: 10px 12px;
      color: var(--tx);
      font-size: 12px;
      font-family: inherit;
      outline: none
    }

    .pcal-planner-search:focus {
      border-color: rgba(139, 92, 246, .42);
      box-shadow: 0 0 0 3px rgba(139, 92, 246, .08)
    }

    .pcal-planner-cal {
      min-width: 220px;
      max-width: 320px
    }

    .pcal-planner-body {
      flex: 1;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 300px;
      overflow: hidden;
      min-height: 0
    }

    .pcal-planner-main {
      display: flex;
      flex-direction: column;
      min-width: 0;
      border-inline-end: 1px solid rgba(96, 165, 250, .08);
      overflow: hidden
    }

    .pcal-planner-headgrid,
    .pcal-plan-row {
      display: grid;
      grid-template-columns: 48px minmax(300px, 2fr) 200px 80px 160px;
      gap: 10px;
      align-items: center
    }

    .pcal-planner-headgrid {
      padding: 11px 18px;
      border-bottom: 1px solid rgba(148, 163, 184, .08);
      background: rgba(8, 18, 40, .94);
      font-size: 10px;
      font-weight: 800;
      color: #b7c9e8;
      text-transform: uppercase;
      letter-spacing: .8px;
      flex-shrink: 0
    }

    .pcal-planner-rows {
      flex: 1;
      overflow-y: auto;
      overflow-x: hidden;
      padding: 10px 12px 14px;
      display: flex;
      flex-direction: column;
      gap: 6px;
      scrollbar-width: thin;
      scrollbar-color: rgba(59, 130, 246, .18) transparent;
      min-height: 0
    }

    .pcal-planner-empty {
      padding: 38px 16px;
      text-align: center;
      color: var(--mu);
      font-size: 13px
    }

    .pcal-plan-row {
      padding: 9px 12px;
      border: 1px solid rgba(148, 163, 184, .08);
      border-radius: 12px;
      background: rgba(6, 14, 32, .82);
      cursor: pointer;
      transition: all .14s
    }

    .pcal-plan-row:hover {
      border-color: rgba(139, 92, 246, .24);
      background: rgba(10, 20, 44, .92)
    }

    .pcal-plan-row.act.selected {
      border-color: rgba(139, 92, 246, .42);
      background: rgba(54, 29, 104, .22);
      box-shadow: 0 0 0 1px rgba(139, 92, 246, .12) inset
    }

    .pcal-plan-row.wbs {
      background: linear-gradient(90deg, rgba(10, 23, 48, .95), rgba(8, 14, 29, .92));
      border-color: rgba(96, 165, 250, .12)
    }

    .pcal-plan-row.lv1 .pcal-plan-cell.name {
      padding-inline-start: 8px
    }

    .pcal-plan-row.lv2 .pcal-plan-cell.name {
      padding-inline-start: 26px
    }

    .pcal-plan-row.lv3 .pcal-plan-cell.name {
      padding-inline-start: 44px
    }

    .pcal-plan-row.lv4 .pcal-plan-cell.name {
      padding-inline-start: 62px
    }

    .pcal-plan-row.lv5 .pcal-plan-cell.name {
      padding-inline-start: 80px
    }

    .pcal-plan-row.lv6 .pcal-plan-cell.name {
      padding-inline-start: 98px
    }

    .pcal-plan-row.lv7 .pcal-plan-cell.name {
      padding-inline-start: 116px
    }

    .pcal-plan-row.lv8 .pcal-plan-cell.name {
      padding-inline-start: 134px
    }

    .pcal-plan-cell {
      min-width: 0
    }

    .pcal-plan-cell.check {
      display: flex;
      align-items: center;
      justify-content: center
    }

    .pcal-plan-cell.check input {
      accent-color: #8b5cf6;
      transform: translateY(1px);
      cursor: pointer
    }

    .pcal-subtree-btn {
      width: 28px;
      height: 28px;
      border-radius: 9px;
      border: 1px solid rgba(96, 165, 250, .14);
      background: rgba(4, 10, 22, .9);
      color: #c7d2fe;
      font-size: 13px;
      cursor: pointer
    }

    .pcal-subtree-btn:hover {
      border-color: rgba(139, 92, 246, .34);
      color: #e9ddff
    }

    .pcal-plan-tw {
      width: 24px;
      height: 24px;
      border: none;
      background: transparent;
      color: #c4b5fd;
      font-size: 14px;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center
    }

    .pcal-plan-tw.ghost {
      opacity: .35;
      cursor: default
    }

    .pcal-plan-cell.name {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 0
    }

    .pcal-plan-code {
      font-family: 'JetBrains Mono', monospace;
      font-size: 10px;
      font-weight: 800;
      color: #93c5fd;
      white-space: nowrap
    }

    .pcal-plan-name {
      font-size: 12px;
      font-weight: 700;
      color: var(--tx);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis
    }

    .pcal-plan-sub,
    .pcal-plan-count {
      font-size: 10px;
      color: var(--mu);
      white-space: nowrap
    }

    .pcal-plan-cell.cal {
      display: flex;
      align-items: center
    }

    .pcal-plan-chip {
      display: inline-flex;
      align-items: center;
      max-width: 100%;
      padding: 5px 10px;
      border-radius: 999px;
      border: 1px solid rgba(139, 92, 246, .24);
      background: rgba(76, 29, 149, .17);
      color: #e9d5ff;
      font-size: 10.5px;
      font-weight: 800;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis
    }

    .pcal-plan-chip.muted {
      border-color: rgba(148, 163, 184, .18);
      background: rgba(71, 85, 105, .18);
      color: #cbd5e1
    }

    .pcal-plan-cell.dur,
    .pcal-plan-cell.dates {
      font-family: 'JetBrains Mono', monospace;
      font-size: 10.5px;
      color: #c8d7ef
    }

    .pcal-plan-barwrap {
      position: relative;
      height: 30px;
      border-radius: 10px;
      overflow: hidden;
      background: rgba(2, 8, 20, .9);
      border: 1px solid rgba(96, 165, 250, .10)
    }

    .pcal-plan-bar {
      position: absolute;
      top: 7px;
      height: 14px;
      border-radius: 999px;
      background: linear-gradient(90deg, rgba(139, 92, 246, .98), rgba(59, 130, 246, .82));
      box-shadow: 0 2px 14px rgba(59, 130, 246, .28);
      min-width: 10px
    }

    .pcal-plan-bar.crit {
      background: linear-gradient(90deg, rgba(239, 68, 68, .96), rgba(245, 158, 11, .86));
      box-shadow: 0 2px 14px rgba(239, 68, 68, .24)
    }

    .pcal-plan-bar.wbs {
      background: linear-gradient(90deg, rgba(148, 163, 184, .42), rgba(96, 165, 250, .32));
      box-shadow: none
    }

    .pcal-plan-barlabel {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 9px;
      font-weight: 800;
      color: #cfe0ff;
      pointer-events: none
    }

    .pcal-planner-side {
      padding: 12px;
      overflow: auto;
      display: flex;
      flex-direction: column;
      gap: 10px;
      background: rgba(4, 9, 20, .92);
      scrollbar-width: thin;
      scrollbar-color: rgba(59, 130, 246, .18) transparent
    }

    .pcal-side-card {
      border: 1px solid rgba(96, 165, 250, .12);
      border-radius: 14px;
      background: rgba(8, 15, 32, .88);
      padding: 14px
    }

    .pcal-side-title {
      font-size: 11px;
      font-weight: 800;
      color: #d8b4fe;
      letter-spacing: .7px;
      text-transform: uppercase;
      margin-bottom: 10px
    }

    .pcal-side-text {
      font-size: 11.5px;
      color: var(--mu);
      line-height: 1.7
    }

    .pcal-side-metrics {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      margin-bottom: 12px
    }

    .pcal-side-metric {
      border: 1px solid rgba(148, 163, 184, .10);
      border-radius: 12px;
      background: rgba(2, 6, 18, .66);
      padding: 12px 8px;
      text-align: center
    }

    .pcal-side-metric span {
      display: block;
      font-size: 24px;
      font-weight: 800;
      color: #dbeafe;
      margin-bottom: 4px
    }

    .pcal-side-metric small {
      font-size: 10px;
      color: var(--mu);
      text-transform: uppercase;
      letter-spacing: .5px
    }

    .pcal-register {
      display: flex;
      flex-direction: column;
      gap: 8px
    }

    .pcal-reg-item {
      border: 1px solid rgba(148, 163, 184, .10);
      border-radius: 12px;
      background: rgba(2, 6, 18, .6);
      padding: 10px
    }

    .pcal-reg-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 5px
    }

    .pcal-reg-top b {
      font-family: 'JetBrains Mono', monospace;
      font-size: 12px;
      color: #f8fafc
    }

    .pcal-reg-sub {
      font-size: 10.5px;
      color: var(--mu);
      line-height: 1.5
    }

    .pcal-register-empty {
      font-size: 11px;
      color: var(--mu)
    }

    @media(max-width:1320px) {
      .pcal-planner-body {
        grid-template-columns: minmax(0, 1fr)
      }

      .pcal-planner-side {
        border-top: 1px solid rgba(96, 165, 250, .08)
      }
    }

    @media(max-width:980px) {
      .pcal-top-actions {
        margin: 0 10px 10px;
        padding: 10px
      }

      .pcal-planner-box {
        width: 100vw;
        height: 100vh;
        border-radius: 0
      }

      .pcal-planner-headgrid,
      .pcal-plan-row {
        grid-template-columns: 42px minmax(200px, 1.4fr) 150px 70px;
      }

      .pcal-plan-cell.dates {
        display: none
      }
    }
