    :root {
      --orange: #1F6FB2;
      --orange2: #E0A100;
      --accent: #1F6FB2;
      --navy: #161B24;
      --navy2: #1B2433;
      --green: #1E8A4C;
      --red: #D0402B;
      --purple: #6F2DA8;
      --blue: #1F6FB2;
      --bg: #F2F3F5;
      --line: #D8DCE2;
      --muted: #67707C;
      --card: #FFFFFF;
      --shadow: 0 4px 14px rgba(22,27,36, .10);
    }

    * {
      box-sizing: border-box;
    }

    html,
    body {
      margin: 0;
      width: 100%;
      min-height: 100%;
      background: var(--bg);
      color: #111827;
      font-family: "Inter", "Segoe UI", Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: geometricPrecision;
    }

    body {
      overflow: auto;
    }

    button,
    input,
    select,
    textarea {
      font: inherit;
    }

    button {
      cursor: pointer;
      border: 0;
    }

    .dashboard {
      width: 100%;
      min-width: 1440px;
      
      padding: 8px;
      display: grid;
      
      grid-template-rows: 44px 88px auto 188px;
      gap: 8px;
    }

    .titlebar {
      background: var(--navy);
      color: #fff;
      border-radius: 14px;
      box-shadow: var(--shadow);
      border: 1px solid rgba(255, 255, 255, .08);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 0 14px;
      font-size: 18px;
      font-weight: 950;
      letter-spacing: .04em;
      text-transform: uppercase;
      overflow: hidden;
    }

    .titlebar .title-text {
      flex: 1;
      text-align: center;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .logo-marca {
      width: 190px;
      min-width: 190px;
      height: 31px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 2px;
      text-transform: none;
      letter-spacing: 0;
      line-height: 1;
      background: #fff;
      color: var(--navy);
      border-radius: 11px;
      padding: 3px 8px;
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45), 0 2px 8px rgba(0, 0, 0, .16);
    }

    .logo-marca .ap {
      font-size: 25px;
      font-weight: 950;
      letter-spacing: -.06em;
    }

    .logo-marca .plus {
      color: var(--orange);
      font-size: 31px;
      font-weight: 950;
      margin-left: 1px;
    }

    .title-date {
      text-align: right;
      font-size: 11px;
      font-weight: 900;
      opacity: .9;
      white-space: nowrap;
      min-width: 200px;
    }

    .titlebar .btn-back {
      flex-shrink: 0;
      margin-left: 12px;
      padding: 7px 14px;
      font-size: 11px;
      box-shadow: none;
    }

    .titlebar-left {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 200px;
    }

    .pp-menu-btn {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 5px;
      width: 36px;
      height: 36px;
      background: rgba(255, 255, 255, .12);
      border: 1.5px solid rgba(255, 255, 255, .22);
      border-radius: 10px;
      cursor: pointer;
      padding: 0;
      flex-shrink: 0;
    }

    .pp-menu-btn span {
      display: block;
      width: 18px;
      height: 2px;
      background: #fff;
      border-radius: 2px;
    }

    body.app-locked .pp-menu-btn {
      display: none;
    }

    #ppMenuPanel,
    #execMenuPanel {
      position: fixed;
      z-index: 1000;
      width: 240px;
      background: #151B26;
      border-radius: 0 14px 14px 14px;
      box-shadow: 0 10px 32px rgba(0, 0, 0, .42);
      border: 1px solid rgba(255, 255, 255, .1);
      overflow-y: auto;
      max-height: calc(100vh - 80px);
      padding-bottom: 8px;
    }

    .exec-shell-left {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      flex: 1;
    }

    .pp-menu-section {
      padding: 10px 16px 4px;
      font-size: 9px;
      font-weight: 950;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .35);
    }

    .pp-menu-item {
      display: flex;
      align-items: center;
      width: 100%;
      padding: 11px 16px;
      background: none;
      border: none;
      border-bottom: 1px solid rgba(255, 255, 255, .06);
      color: #C8D6E5;
      font-size: 12px;
      font-weight: 950;
      letter-spacing: 0;
      text-transform: none;
      cursor: pointer;
      text-align: left;
      transition: background .1s, color .1s;
      font-family: inherit;
    }

    .pp-menu-item:hover {
      background: rgba(255, 255, 255, .09);
      color: #fff;
    }

    .pp-menu-item:last-child {
      border-bottom: none;
    }

    .pp-menu-item.menu-accent {
      color: #E0A100;
    }

    .pp-menu-item.menu-accent:hover {
      color: #FF8C00;
      background: rgba(31,111,178, .08);
    }

    .tc-page-header {
      grid-column: 1 / -1;
      display: flex;
      align-items: center;
      gap: 10px;
      background: var(--navy);
      border-radius: 12px;
      padding: 0 14px;
      height: 48px;
      color: #fff;
      font-weight: 950;
      font-size: 14px;
      flex-shrink: 0;
    }

    .tc-page-header .logo-marca {
      font-size: 15px;
    }

    .tc-page-header-title {
      flex: 1;
      font-size: 12px;
      opacity: .7;
      font-weight: 900;
    }

    .tc-head-actions {
      display: flex;
      gap: 8px;
      align-items: center;
      flex-shrink: 0;
    }

    .tc-head-actions .btn {
      padding: 6px 12px;
      font-size: 11px;
      box-shadow: none;
    }

    @media (max-width: 640px) {
      .tc-page-header {
        flex-wrap: wrap;
        height: auto;
        padding: 8px 12px;
      }

      .tc-head-actions {
        flex: 1 1 100%;
        justify-content: flex-end;
      }
    }

    .pfin-field label {
      display: block;
      font-size: 9px;
      font-weight: 950;
      text-transform: uppercase;
      color: #67707C;
      margin-bottom: 4px;
      letter-spacing: .04em;
    }

    .pfin-group-title {
      grid-column: 1 / -1;
      font-size: 10px;
      font-weight: 950;
      text-transform: uppercase;
      letter-spacing: .06em;
      color: #1B2433;
      background: #EDF3FB;
      border-left: 4px solid #185A92;
      border-radius: 6px;
      padding: 7px 10px;
      margin: 6px 0 2px;
    }

    .pfin-editor-sections {
      display: grid;
      gap: 12px;
      margin-bottom: 12px;
    }

    .pfin-table-section {
      min-width: 0;
      overflow: hidden;
      border: 1px solid #D8DCE2;
      border-radius: 12px;
      background: #fff;
      box-shadow: 0 3px 12px rgba(15, 45, 75, .06);
    }

    .pfin-table-section-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      padding: 10px 12px;
      border-left: 4px solid #185A92;
      background: linear-gradient(90deg, #EAF2FC 0%, #F6F9FD 100%);
    }

    .pfin-table-section-head h3 {
      margin: 0;
      color: #1B2433;
      font-size: 11px;
      font-weight: 950;
      line-height: 1.2;
      letter-spacing: .045em;
      text-transform: uppercase;
    }

    .pfin-table-section-head p {
      margin: 3px 0 0;
      color: #5B6F86;
      font-size: 9.5px;
      font-weight: 750;
      line-height: 1.35;
    }

    .pfin-table-section-tag {
      flex: 0 0 auto;
      border: 1px solid #BFD3EA;
      border-radius: 99px;
      padding: 4px 8px;
      background: #fff;
      color: #1F6FB2;
      font-size: 8px;
      font-weight: 950;
      letter-spacing: .04em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .pfin-column-preview {
      display: flex;
      gap: 1px;
      overflow-x: auto;
      padding: 1px;
      background: #CDD8E5;
      scrollbar-width: thin;
    }

    .pfin-column-preview-cell {
      position: relative;
      flex: 1 0 118px;
      min-height: 48px;
      padding: 8px 7px 7px;
      background: #F2F3F5;
      color: #536477;
      font-size: 8px;
      font-weight: 950;
      line-height: 1.15;
      text-align: center;
      text-transform: uppercase;
    }

    .pfin-column-preview-cell small {
      display: block;
      margin-top: 5px;
      color: #7A899A;
      font-size: 7px;
      font-weight: 900;
      letter-spacing: .02em;
    }

    .pfin-column-preview-cell.is-input {
      box-shadow: inset 0 -3px 0 #185A92;
      background: #E7F0F9;
      color: #185A92;
    }

    .pfin-column-preview-cell.is-linked {
      box-shadow: inset 0 -3px 0 #1F6FB2;
      background: #E7F0F9;
      color: #0B4F82;
    }

    .pfin-column-preview-cell.is-source {
      box-shadow: inset 0 -3px 0 #67707C;
    }

    .pfin-column-preview-cell.is-calc {
      box-shadow: inset 0 -3px 0 #1E8A4C;
      background: #E2F3E8;
      color: #166534;
    }

    .pfin-fields-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 11px;
      padding: 12px;
    }

    .pfin-field {
      min-width: 0;
    }

    .pfin-field-target {
      display: block;
      min-height: 24px;
      margin-top: 5px;
      color: #67707C;
      font-size: 8.5px;
      font-weight: 750;
      line-height: 1.3;
    }

    .pfin-field-target b {
      color: #1F6FB2;
      font-weight: 950;
    }

    .pfin-derived-note {
      margin: 10px 12px 12px;
      border: 1px dashed #9FBAD8;
      border-radius: 9px;
      padding: 9px 10px;
      background: #F8FBFF;
      color: #465C73;
      font-size: 9.5px;
      font-weight: 750;
      line-height: 1.4;
    }

    .pfin-derived-note b {
      color: #1B2433;
      font-weight: 950;
    }
