
    /* ==========================================================================
    1. PAGE LAYOUT & TABS
    ========================================================================== */
    .outreach-page {
      max-width: 1280px;
      margin: 20px auto;
      background: #fff;
      padding: 40px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.05);
      border-radius: 12px;
      min-height: 80vh;
    }
    html.public-outreach-document [data-include="/Header.html"],
    html.public-outreach-document [data-include="/Footer.html"],
    html.public-outreach-document [data-include="/FAB.html"],
    body.public-outreach-page [data-include="/Header.html"],
    body.public-outreach-page [data-include="/Footer.html"],
    body.public-outreach-page [data-include="/FAB.html"],
    body.public-outreach-page .utility-actions,
    body.public-outreach-page .notification-tray,
    body.public-outreach-page .notification-tray-backdrop,
    body.public-outreach-page .fab-wrapper {
      display: none !important;
    }
    body.public-outreach-page .account-brand {
      pointer-events: none;
    }
    body.public-outreach-page .account-brand:after,
    body.public-outreach-page .account-brand:before {
      content: none !important;
      display: none !important;
    }
    .public-rise-header,
    .public-rise-footer {
      display: none;
    }
    body.public-outreach-page .public-rise-header {
      align-items: center;
      background: linear-gradient(90deg, var(--primary-color) 0%, var(--primary-color) 62%, #eceefd 100%);
      border-bottom: 8px solid var(--rise-yellow);
      box-sizing: border-box;
      display: flex;
      justify-content: space-between;
      min-height: 92px;
      padding: 12px 34px;
      width: 100%;
    }
    body.public-outreach-page .public-rise-brand {
      align-items: flex-end;
      color: #fff;
      display: inline-flex;
      min-width: 0;
      pointer-events: none;
      text-decoration: none;
    }
    body.public-outreach-page .public-rise-logo {
      background: var(--asset-rise-header-logo) left bottom / contain no-repeat;
      display: block;
      flex: 0 0 70px;
      height: 70px;
      overflow: hidden;
      text-indent: -999px;
      width: 70px;
    }
    body.public-outreach-page .public-rise-wordmark {
      display: none;
    }
    body.public-outreach-page .public-rise-wordmark strong {
      color: #fff;
      font-size: 1.08rem;
      font-weight: 900;
      letter-spacing: .12em;
      line-height: 1;

    }
    body.public-outreach-page .public-rise-wordmark span {
      color: rgba(255,255,255,.86);
      font-size: .72rem;
      font-weight: 800;
      letter-spacing: .03em;
      line-height: 1.2;
    }
    body.public-outreach-page .public-rise-footer {
      align-items: end;
      background: #f4f6f8;
      border-top: 5px solid var(--rise-yellow);
      color: #6c757d;
      display: grid;
      gap: 28px;
      grid-template-columns: minmax(0, 1fr) auto;
      font-size: .74rem;
      font-weight: 700;
      line-height: 1.35;
      margin: 44px 0 0;
      padding: 24px 22px 32px;
      text-align: left;
    }
    body.public-outreach-page .public-rise-footer::before {
      content: none;
      display: none;
    }
    body.public-outreach-page .public-rise-footer .page-footer-brand {
      max-width: 620px;
    }
    body.public-outreach-page .public-rise-footer .page-footer-logo {
      display: block;
      height: 54px;
      margin: 0 0 8px;
      object-fit: contain;
      width: 54px;
    }
    body.public-outreach-page .public-rise-footer strong {
      color: #495057;
      font-size: .9rem;
      font-weight: 900;

    }
    body.public-outreach-page .public-rise-footer span {
      max-width: 58rem;
    }
    body.public-outreach-page .public-rise-footer .page-footer-site span,
    body.public-outreach-page .public-rise-footer .page-footer-legal-links span {
      display: inline;
      margin: 0;
      max-width: none;
    }
    body.public-outreach-page .public-rise-footer .page-footer-brand span {
      display: block;
      margin-top: 10px;
    }
    body.public-outreach-page .public-rise-footer .page-footer-links {
      display: grid;
      justify-items: end;
      min-width: 260px;
      text-align: right;
    }
    body.public-outreach-page .public-rise-footer .page-footer-site {
      color: var(--primary-color);
      font-size: .84rem;
      font-weight: 900;
    }
    body.public-outreach-page .public-outreach-unavailable {
      margin: 0 auto;
      max-width: 680px;
      padding: 80px 24px;
      text-align: center;
    }
    body.public-outreach-page .public-outreach-unavailable h1 {
      color: var(--primary-color);
      font-size: 2.35rem;
      font-weight: 900;
      margin: 0 0 12px;
    }
    body.public-outreach-page .public-outreach-unavailable p {
      color: #6c757d;
      font-size: 1.05rem;
      font-weight: 800;
      margin: 0;
    }
    .page-title {
      color: var(--primary-color);
      font-size: 2.5rem;
      font-weight: 900;
      letter-spacing: -.02em;
      margin: 0 0 28px;
    }
    .outreach-tabs {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }
    .outreach-tabs-row {
      align-items: center;
      border-bottom: 2px solid #e9ecef;
      display: flex;
      gap: 18px;
      justify-content: space-between;
      margin-bottom: 28px;
      padding-bottom: 14px;
    }
    .send-receive-email {
      align-items: center;
      color: #495057;
      display: inline-flex;
      font-size: .95rem;
      gap: 8px;
      font-weight: 900;
      margin-left: auto;
      text-align: right;
      white-space: nowrap;
    }
    .send-receive-email-label {
      color: var(--primary-color);
    }
    .send-receive-email-link {
      background: transparent;
      border: 0;
      color: var(--primary-color);
      cursor: pointer;
      font: inherit;
      font-weight: 900;
      padding: 0;
      text-decoration: none;
    }
    .send-receive-email-link:hover,
    .send-receive-email-link:focus {
      text-decoration: underline;
    }
    .campaign-email-info-link {
      align-items: center;
      background: #fff;
      border: 2px solid #212529;
      border-radius: 999px;
      color: #212529;
      cursor: pointer;
      display: inline-flex;
      font-size: .82rem;
      font-style: italic;
      font-weight: 900;
      height: 20px;
      justify-content: center;
      line-height: 1;
      padding: 0;
      width: 20px;
    }
    .campaign-email-info-link:hover,
    .campaign-email-info-link:focus {
      border-color: var(--primary-color);
      color: var(--primary-color);
    }
    .tab-btn {
      border: 0;
      border-radius: 6px;
      background: #fff;
      color: #6c757d;
      font-weight: 900;
      padding: 12px 22px;
      cursor: pointer;
      font-size: 1rem;
    }
    .tab-btn.active {
      background: var(--primary-color);
      color: #fff;
    }
    .tab-btn:hover:not(.active) {
      background: #f1f3f5;
      color: var(--primary-color);
    }
    .tab-btn.disabled {
      opacity: .45;
      cursor: not-allowed;
    }
    .tab-pane {
      display: none;
    }
    .tab-pane.active {
      display: block;
    }
    .architect-only-rap {
      display: none !important;
    }
    body[data-rap-builder="enabled"] #rap-tab-btn.architect-only-rap {
      display: inline-flex !important;
    }
    body[data-rap-builder="enabled"] #tab-rap-sheets.architect-only-rap.active,
    body[data-rap-builder="enabled"] div.architect-only-rap {
      display: block !important;
    }
    .rap-builder-intro {
      background: #f8f9fa;
      border: 1px solid #dee2e6;
      border-left: 6px solid var(--rise-yellow);
      border-radius: 6px;
      color: #495057;
      font-weight: 800;
      line-height: 1.45;
      margin: 0 0 18px;
      padding: 14px 16px;
    }
    .rap-builder-layout {
      display: block;
      gap: 18px;
    }
    .rap-builder-main,
    .rap-builder-side {
      display: grid;
      gap: 16px;
    }
    .rap-view-panel {
      display: none;
    }
    .rap-view-panel.active {
      display: grid;
    }
    .rap-section-card {
      border: 1px solid #dee2e6;
      border-radius: 12px;
      padding: 16px;
    }
    .rap-help {
      background: #f8f9fa;
      border: 1px solid #e9ecef;
      border-radius: 6px;
      color: #495057;
      font-size: .86rem;
      font-weight: 800;
      line-height: 1.45;
      margin: 0 0 10px;
      padding: 10px 12px;
    }
    .rap-guidance {
      background: #f8f9fa;
      border: 1px solid #e9ecef;
      border-radius: 6px;
      color: #495057;
      font-size: .9rem;
      font-weight: 700;
      line-height: 1.48;
      margin: 18px 0 12px;
      padding: 14px 16px;
    }
    .rap-guidance:first-of-type {
      margin-top: 0;
    }
    .rap-guidance h3 {
      color: var(--primary-color);
      font-size: 1.24rem;
      font-weight: 900;
      line-height: 1.16;
      margin: 0 0 10px;
    }
    .rap-guidance p {
      margin: 0 0 10px;
    }
    .rap-guidance p:last-child,
    .rap-guidance ul:last-child {
      margin-bottom: 0;
    }
    .rap-guidance ul {
      margin: 6px 0 12px 22px;
      padding: 0;
    }
    .rap-guidance li {
      margin: 0 0 6px;
    }
    .rap-guidance .rap-emphasis {
      font-weight: 900;
      text-decoration: underline;
    }
    .rap-secondary-label {
      border-top: 1px solid #e9ecef;
      margin-top: 16px;
      padding-top: 16px;
    }
    #rapSheetModal .rap-target-layout {
      display: block;
    }
    #rapSheetModal .rap-active-target-list {
      align-items: stretch;
      display: grid;
      gap: 18px;
      grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
      margin: 16px 0 0;
      min-height: 0;
      padding: 16px;
    }
    #rapSheetModal .rap-active-target-list .target-title {
      grid-column: 1 / -1;
      margin-bottom: 0;
    }
    #rapSheetModal .rap-active-target-list .active-target-list-body {
      flex: none;
      font-size: .96rem;
      min-width: 0;
    }
    #rapSheetModal .rap-active-target-list .quick-actions {
      border-left: 2px solid #dee2e6;
      border-top: 0;
      padding-left: 18px;
      padding-top: 0;
    }
    #rapSheetModal .rap-active-target-list .quick-actions .target-list-link {
      justify-self: start;
    }
    .rap-rubric-wrap {
      overflow-x: auto;
    }
    .rap-rubric-table {
      border-collapse: collapse;
      min-width: 620px;
      width: 100%;
    }
    .rap-rubric-table th,
    .rap-rubric-table td {
      border: 1px solid #dee2e6;
      padding: 10px;
      vertical-align: top;
    }
    .rap-rubric-table th {
      background: #f8f9fa;
      color: var(--primary-color);
      font-weight: 900;
      text-align: left;
    }
    .rap-rubric-label {
      align-items: center;
      display: inline-flex;
      gap: 8px;
      line-height: 1.2;
      min-width: 0;
      white-space: normal;
    }
    .rap-rubric-label .cfs-assessment-swatch {
      flex: 0 0 auto;
      height: 14px;
      width: 14px;
    }
    .rap-preview .rap-rubric-table th {
      color: #495057;
    }
    .rap-preview {
      background: #fff;
      border: 1px solid #dee2e6;
      border-radius: 12px;
      padding: 18px;
    }
    .rap-print-root {
      color: #212529;
      font-size: .95rem;
      line-height: 1.45;
    }
    .rap-print-header {
      border-bottom: 3px solid var(--primary-color);
      margin-bottom: 18px;
      padding-bottom: 14px;
    }
    .rap-print-root .rap-print-title {
      color: var(--primary-color);
      font-size: 1.8rem;
      font-weight: 900;
      line-height: 1.08;
      margin: 0 0 12px;
    }
    .rap-print-meta-grid {
      display: grid;
      gap: 10px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .rap-print-meta-item {
      background: #f8f9fa;
      border: 1px solid #e9ecef;
      border-radius: 6px;
      padding: 10px 12px;
    }
    .rap-print-meta-item strong {
      color: #6c757d;
      display: block;
      font-size: .72rem;
      letter-spacing: .08em;
      margin-bottom: 4px;

    }
    .rap-print-root .rap-output-section {
      border-bottom: 1px solid #e9ecef;
      margin: 0 0 18px;
      padding-bottom: 16px;
    }
    .rap-print-root .rap-output-section:last-child {
      border-bottom: 0;
    }
    .rap-output-heading {
      align-items: baseline;
      display: flex;
      gap: 8px;
      margin-bottom: 8px;
    }
    .rap-print-root .rap-output-heading h3 {
      color: var(--primary-color);
      font-size: 1.05rem;
      font-weight: 900;
      margin: 0;
    }
    .rap-print-root p {
      margin: 0 0 10px;
    }
    .rap-print-root ul {
      margin: 6px 0 10px 20px;
      padding: 0;
    }
    .rap-preview h1,
    .rap-preview h2,
    .rap-preview h3 {
      color: var(--primary-color);
      margin-top: 0;
    }
    .rap-preview section {
      margin: 0 0 18px;
    }
    .rap-preview h4 {
      color: #6c757d;
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .08em;
      margin: 14px 0 6px;

    }
    .rap-preview ul {
      margin-top: 6px;
      padding-left: 20px;
    }
    .rap-launch-preview {
      margin-bottom: 18px;
    }
    .rap-log-response-section h3 {
      color: var(--primary-color);
      font-size: 1.45rem;
      font-weight: 900;
      margin: 0 0 12px;
    }
    .rap-log-member-field {
      margin-top: 10px;
      position: relative;
    }
    #rapLogMemberResults {
      background: #fff;
      border: 2px solid var(--primary-color);
      border-radius: 12px;
      box-shadow: 0 14px 30px rgba(0,0,0,.18);
      display: block;
      left: 0;
      max-height: 260px;
      overflow: auto;
      position: absolute;
      right: 0;
      top: calc(100% + 4px);
      z-index: 5;
    }
    #rapLogMemberResults[hidden] {
      display: none;
    }
    #rapLogMemberResults button {
      background: #fff;
      border: 0;
      border-bottom: 1px solid #edf0f3;
      color: #212529;
      cursor: pointer;
      display: block;
      font: inherit;
      font-weight: 900;
      padding: 12px 14px;
      text-align: left;
      width: 100%;
    }
    #rapLogMemberResults button:hover,
    #rapLogMemberResults button:focus {
      background: #f4f5ff;
      outline: none;
    }
    #rapLogMemberResults small {
      color: #68717c;
      display: block;
      font-size: .78rem;
      font-weight: 800;
      margin-top: 3px;
    }
    .rap-log-actions-list .rise-quick-log-action-btn:first-child {
      background: var(--primary-color);
      color: #fff;
    }
    .rap-log-form-wrap {
      margin-top: 18px;
    }
    .rap-log-form-wrap .modal-grid {
      display: grid;
      gap: 14px 18px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .rap-log-form-wrap .modal-grid.cols-1 {
      grid-template-columns: 1fr;
    }
    .rap-log-form-wrap .modal-field label,
    .rap-log-form-wrap .modal-log-type,
    .rap-log-form-wrap .rise-quick-log-custom-title {
      color: #6c757d;
      display: block;
      font-size: .72rem;
      font-weight: 900;
      letter-spacing: .04em;
      margin-bottom: 4px;

    }
    .rap-log-form-wrap .modal-log-name {
      color: #212529;
      font-size: 1.2rem;
      font-weight: 900;
    }
    .rap-log-form-wrap .modal-log-id {
      color: #6c757d;
      font-size: .78rem;
      font-weight: 900;
      margin-top: 3px;
    }
    .rap-log-form-wrap .modal-field.wide,
    .rap-log-form-wrap .follow-panel,
    .rap-log-form-wrap .rise-quick-log-custom-section,
    .rap-log-form-actions {
      grid-column: 1 / -1;
    }
    .rap-log-form-wrap input,
    .rap-log-form-wrap select,
    .rap-log-form-wrap textarea {
      background: #fff;
      border: 1px solid #ced4da;
      border-radius: 6px;
      box-sizing: border-box;
      color: #212529;
      font: inherit;
      font-weight: 700;
      min-height: 40px;
      padding: 9px 10px;
      width: 100%;
    }
    .rap-log-form-wrap textarea {
      min-height: 86px;
      resize: vertical;
    }
    .rap-log-form-wrap .issue-grid,
    .rap-log-form-wrap .rise-quick-log-custom-multi {
      display: grid;
      gap: 6px 18px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .rap-log-form-wrap .issue-grid label,
    .rap-log-form-wrap .rise-quick-log-custom-multi label,
    .rap-log-form-wrap .rise-quick-log-custom-checkbox-row {
      color: #374151;
      font-size: .9rem;
      font-weight: 700;
      letter-spacing: 0;
      text-transform: none;
    }
    .rap-log-form-wrap .issue-grid input,
    .rap-log-form-wrap .rise-quick-log-custom-multi input,
    .rap-log-form-wrap .rise-quick-log-custom-checkbox-row input {
      min-height: 0;
      width: auto;
    }
    .rap-log-form-wrap .follow-panel {
      background: #fff9e6;
      border: 1px solid #f4d47a;
      border-radius: 12px;
      padding: 14px;
    }
    .rap-log-form-actions {
      display: flex;
      justify-content: flex-end;
      margin-top: 4px;
    }
    @media(max-width: 700px) {
      .rap-print-meta-grid {
        grid-template-columns: 1fr;
      }
      .rap-log-form-wrap .modal-grid,
      .rap-log-form-wrap .issue-grid,
      .rap-log-form-wrap .rise-quick-log-custom-multi,
      .rap-log-form-wrap .rise-quick-log-custom-section {
        grid-template-columns: 1fr;
      }
    }
    .rap-ask-grid {
      display: grid;
      gap: 10px;
    }
    @media(max-width: 900px) {
      #rapSheetModal .rap-active-target-list {
        grid-template-columns: 1fr;
      }
      #rapSheetModal .rap-active-target-list .quick-actions {
        border-left: 0;
        border-top: 2px solid #dee2e6;
        padding-left: 0;
        padding-top: 14px;
      }
    }
    /* ==========================================================================
    2. LISTS,
    CARDS & BADGES
    ========================================================================== */
    .pane-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 18px;
      margin-bottom: 24px;
    }
    .pane-head h2 {
      font-size: 1.35rem;
      font-weight: 900;
      color: #212529;
      margin: 0 0 4px;
    }
    .muted {
      color: #6c757d;
    }
    .tab-description {
      color: #6c757d;
      display: grid;
      gap: 10px;
      max-width: 920px;
    }
    .tab-description p {
      margin: 0;
    }
    .tab-description a {
      color: var(--primary-color);
      font-weight: 900;
    }
    .section-label {
      display: block;
      color: #6c757d;
      font-size: .75rem;
      font-weight: 900;

      letter-spacing: .08em;
      border-bottom: 2px solid #e9ecef;
      padding-bottom: 8px;
      margin: 28px 0 12px;
    }
    .empty-state {
      padding: 40px 20px;
      text-align: center;
      background: #f8f9fa;
      border: 2px dashed #dee2e6;
      border-radius: 10px;
      color: #6c757d;
      font-weight: 800;
    }
    .card-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }
    .campaign-card {
      border: 1px solid #dee2e6;
      border-radius: 12px;
      background: #fff;
      padding: 18px;
      box-shadow: 0 2px 8px rgba(0,0,0,.03);
    }
    .campaign-card h3 {
      margin: 0;
      color: var(--primary-color);
      font-size: 1.25rem;
      font-weight: 900;
    }
    .campaign-card .meta {
      font-weight: 800;
      color: #6c757d;
      font-size: .86rem;
      margin: 8px 0 14px;
    }
    .badge {
      display: inline-flex;
      align-items: center;
      border-radius: 999px;
      padding: 5px 10px;
      font-size: .74rem;
      font-weight: 900;
      background: #eef1f5;
      color: #495057;
    }
    .badge.success {
      background: #d1e7dd;
      color: #0f5132;
    }
    .badge.info {
      background: #eef0ff;
      color: var(--primary-color);
    }
    .badge.warn {
      background: #fff3cd;
      color: #6b5300;
    }
    .badge.danger {
      background: #f8d7da;
      color: #842029;
    }
    .campaign-source-row {
      align-items: center;
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin: -2px 0 8px;
    }
    .actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .card-actions-row {
      align-items: center;
      display: flex;
      gap: 8px;
      margin-top: 14px;
    }
    .card-actions-row .card-primary-actions {
      align-items: center;
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      min-width: 0;
    }
    .card-icon-actions {
      align-items: center;
      display: inline-flex;
      gap: 6px;
      margin-left: auto;
    }
    .card-icon-link {
      align-items: center;
      background: #fff;
      border: 1px solid #ced4da;
      border-radius: 999px;
      color: var(--primary-color);
      cursor: pointer;
      display: inline-flex;
      font-size: .88rem;
      font-weight: 900;
      height: 30px;
      justify-content: center;
      line-height: 1;
      padding: 0;
      text-decoration: none;
      width: 30px;
    }
    .card-action-icon {
      display: block;
      fill: none;
      height: 15px;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 1.8;
      width: 15px;
    }
    .card-icon-link:hover,
    .card-icon-link:focus {
      border-color: var(--primary-color);

      outline: 0;
    }
    .card-icon-link.delete {
      color: #dc3545;
    }
    .card-icon-link.delete:hover,
    .card-icon-link.delete:focus {
      border-color: #dc3545;
      box-shadow: 0 0 0 3px rgba(220,53,69,.12);
    }
    .card-icon-link.share {
      color: #198754;
    }
    .card-icon-link.share:hover,
    .card-icon-link.share:focus {
      border-color: #198754;
      box-shadow: 0 0 0 3px rgba(25,135,84,.12);
    }
    .btn.small {
      font-size: .86rem;
      padding: 8px 12px;
    }
    .btn.danger {
      border-color: #dc3545;
      color: #dc3545;
    }
    .btn.success {
      border-color: #198754;
      color: #198754;
    }
    .btn.warn {
      background: var(--rise-yellow);
      border-color: var(--rise-yellow);
      color: #212529;
    }
    .outreach-modal .btn:not(.primary):not(.danger):not(.warn),
    .outreach-page .btn:not(.primary):not(.danger):not(.warn) {
      background: #fff !important;
      border: 1px solid var(--primary-color) !important;
      color: var(--primary-color) !important;
    }
    .outreach-modal .btn.primary,
    .outreach-page .btn.primary {
      background: var(--primary-color) !important;
      border-color: var(--primary-color) !important;
      color: #fff !important;
    }
    /* ==========================================================================
    3. MODALS & DIALOGS
    ========================================================================== */
    .outreach-modal {
      position: fixed;
      inset: 0;
      z-index: 1160;
      display: none;
      place-items: center;
      background: rgba(0,0,0,.56);
      padding: 20px;
    }
    .outreach-modal.open {
      display: grid;
    }
    .outreach-modal.modal-top {
      z-index: 1180;
    }
    .dialog {
      background: #fff;
      border-radius: 10px;
      box-shadow: 0 18px 70px rgba(0,0,0,.38);
      width: min(1240px, 96vw);
      max-height: 94vh;
      overflow: hidden;
    }
    .dialog.full {
      width: min(1500px, 98vw);
    }
    .dialog.narrow {
      width: min(720px, 94vw);
    }
    .dialog.document-dialog {
      width: min(1080px, 96vw);
      height: min(860px, 94vh);
      display: flex;
      flex-direction: column;
    }
    .dialog header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      background: #f8f9fa;
      border-bottom: 1px solid #dee2e6;
      padding: 18px 24px;
    }
    .dialog h2 {
      margin: 0;
      color: var(--primary-color);
      font-size: 1.95rem;
      font-weight: 900;
    }
    .modal-close-x {
      border: 0;
      background: transparent;
      color: #6c757d;
      font-size: 1.8rem;
      line-height: 1;
      cursor: pointer;
    }
    .dialog .modal-body {
      max-height: calc(94vh - 145px);
      overflow: auto;
      padding: 24px;
    }
    .dialog.document-dialog .modal-body {
      flex: 1;
      max-height: none;
      overflow: auto;
      padding: 28px 34px;
    }
    .email-info-document {
      color: #212529;
      font-size: 1rem;
      line-height: 1.58;
      max-width: 820px;
      margin: 0 auto;
    }
    .email-info-document h3 {
      color: var(--primary-color);
      font-size: 1.6rem;
      font-weight: 900;
      margin: 0 0 18px;
    }
    .email-info-document h4 {
      color: #212529;
      font-size: 1.15rem;
      font-weight: 900;
      margin: 26px 0 10px;
    }
    .email-info-document p {
      margin: 0 0 14px;
    }
    .email-info-document ul {
      margin: 0 0 18px 22px;
      padding: 0;
    }
    .email-info-document li {
      margin: 0 0 10px;
    }
    .email-info-document a {
      color: var(--primary-color);
      font-weight: 900;
      overflow-wrap: anywhere;
    }
    .email-info-table {
      border-collapse: collapse;
      margin: 16px 0 22px;
      width: 100%;
    }
    .email-info-table th,
    .email-info-table td {
      border: 1px solid #dee2e6;
      padding: 10px 12px;
      text-align: left;
      vertical-align: top;
    }
    .email-info-table th {
      background: #f1f3f5;
      color: #495057;
      font-weight: 900;
    }
    .dialog footer {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      background: #f8f9fa;
      border-top: 1px solid #dee2e6;
      padding: 14px 24px;
    }
    .modal-footer-left,
    .modal-footer-right {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    @media(max-width:767px) {
      #petitionModal footer,
      #surveyModal footer {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      }
      #petitionModal .modal-footer-left,
      #petitionModal .modal-footer-right,
      #surveyModal .modal-footer-left,
      #surveyModal .modal-footer-right {
        display: contents;
      }
      #petitionModal footer .btn,
      #surveyModal footer .btn {
        width: 100%;
      }
      #petitionNextBtn,
      #surveyNextBtn {
        grid-column: 1 / -1;
      }
    }
    /* ==========================================================================
    4. FORMS & INPUTS
    ========================================================================== */
    .field-label {
      display: block;
      color: #6c757d;
      font-size: .72rem;
      font-weight: 900;

      letter-spacing: .04em;
      margin-bottom: 5px;
      background: transparent !important;
      padding: 0 !important;
    }
    .outreach-page label,
    .outreach-modal label,
    .dialog label,
    .dialog .wide,
    .dialog .wizard-grid>div,
    .dialog .target-card,
    .dialog .email-header-card {
      background: transparent !important;
    }
    .dialog .field-label,
    .dialog .data-label,
    .dialog .form-label {
      background: transparent !important;
      color: #6c757d !important;
      padding: 0 !important;
    }
    .dialog input,
    .dialog select,
    .dialog textarea,
    .dialog .rich-editor,
    .dialog .preview-input {
      background: #fff !important;
      color: #212529;
    }
    .input,
    .select,
    .textarea {
      width: 100%;
      box-sizing: border-box;
      border: 1px solid #ced4da;
      border-radius: 6px;
      background: #fff;
      color: #212529;
      font: inherit;
      font-weight: 700;
      min-height: 42px;
      padding: 9px 11px;
    }
    .textarea {
      min-height: 110px;
      resize: vertical;
    }
    .input:focus,
    .select:focus,
    .textarea:focus {
      outline: 0;
      border-color: var(--primary-color);
      box-shadow: 0 0 0 3px rgba(75,83,185,.15);
    }
    .wizard-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }
    .wizard-grid.three {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .wide {
      grid-column: 1 / -1;
    }
    /* ==========================================================================
    5. PETITION BUILDER
    ========================================================================== */
    .builder-layout {
      display: grid;
      grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
      gap: 0;
    }
    .builder-pane {
      padding: 24px;
      border-right: 2px solid #e9ecef;
      max-height: calc(94vh - 145px);
      overflow: auto;
    }
    .preview-pane {
      padding: 24px;
      background: #f8f9fa;
      max-height: calc(94vh - 145px);
      overflow: auto;
    }
    .rich-toolbar {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      background: #f8f9fa;
      border: 1px solid #ced4da;
      border-bottom: 0;
      border-radius: 6px 6px 0 0;
      padding: 8px;
    }
    .rich-toolbar button,
    .rich-toolbar select {
      border: 1px solid #ced4da;
      border-radius: 6px;
      background: #fff;
      color: #495057;
      font-weight: 800;
      padding: 4px 8px;
    }
    .rich-editor {
      min-height: 170px;
      border: 1px solid #ced4da;
      border-radius: 0 0 6px 6px;
      padding: 14px;
      background: #fff;
      line-height: 1.55;
      outline: none;
    }
    .rich-editor:empty:before {
      content: attr(data-placeholder);
      color: #adb5bd;
    }
    .letterhead-box {
      border: 1px solid #ced4da;
      border-radius: 12px;
      background: #fff;
      padding: 18px 18px 20px;
      box-shadow: 0 2px 8px rgba(0,0,0,.03);
    }
    .letterhead-header {
      font-size: 1rem;
      line-height: 1.45;
      margin-bottom: 14px;
    }
    .letterhead-header span {
      color: #495057;
      font-style: italic;
    }
    .preview-card {
      background: #fff;
      border: 1px solid #dee2e6;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.05);
      border-radius: 0;
      padding: 34px 28px 28px;
      max-width: 480px;
      margin: 0 auto 18px;
    }
    #finalEmailPreview {
      max-width: 820px;
      overflow: visible;
      padding: 18px;
    }
    .compiled-email-body {
      background: #fff;
      margin: 0 auto;
      max-width: 720px;
      overflow: visible;
      width: 100%;
    }
    .compiled-email-body * {
      box-sizing: border-box;
    }
    .compiled-email-body p {
      overflow-wrap: anywhere;
    }
    .compiled-email-body a {
      pointer-events: none;
    }
    .compiled-email-body table {
      max-width: 100% !important;
      table-layout: fixed;
      width: 100% !important;
    }
    .compiled-email-body td {
      border: 0 !important;
      max-width: 100%;
    }
    .compiled-email-body img {
      height: auto !important;
      max-width: 100% !important;
    }
    .preview-header {
      text-align: center;
      color: var(--primary-color);
      font-size: 1.35rem;
      font-weight: 900;

      border-bottom: 3px solid var(--rise-yellow);
      padding-bottom: 10px;
      margin: 24px 0 18px;
    }
    .preview-input {
      background: #f8f9fa;
      border: 1px solid #ced4da;
      border-radius: 6px;
      padding: 10px 12px;
      margin-bottom: 12px;
      color: #495057;
      font-weight: 800;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .preview-input.long {
      min-height: 104px;
      align-items: flex-start;
      margin-top: 24px;
    }
    .preview-btn {
      width: 100%;
      border: 0;
      background: var(--primary-color);
      color: #fff;
      font-weight: 900;

      letter-spacing: .08em;
      border-radius: 5px;
      padding: 12px;
      margin-top: 18px;
    }
    .survey-public-form {
      background: #fff;
      border: 1px solid #dee2e6;
      box-shadow: 0 2px 12px rgba(0,0,0,.08);
      margin: 0 auto;
      max-width: 840px;
      padding: 34px 38px;
    }
    .survey-public-header-image {
      display: block;
      margin: 0 0 22px;
      max-height: 190px;
      object-fit: cover;
      width: 100%;
    }
    .survey-public-section {
      margin-top: 26px;
    }
    .survey-public-section-title {
      background: var(--primary-color);
      color: #fff;
      font-size: 1rem;
      font-weight: 900;
      margin: 0 0 14px;
      padding: 12px 16px;
    }
    .survey-public-question {
      border: 1px solid #d6dce2;
      border-radius: 6px;
      margin: 12px 0;
      padding: 14px 16px;
    }
    .survey-public-question-head {
      align-items: baseline;
      display: flex;
      gap: 8px;
      justify-content: space-between;
      margin-bottom: 10px;
    }
    .survey-public-question-title {
      color: #212529;
      font-weight: 900;
      min-width: 0;
    }
    .survey-public-question-type {
      color: #6c757d;
      font-size: .76rem;
      font-weight: 900;
      white-space: nowrap;
    }
    .survey-public-help {
      color: #6c757d;
      font-size: .92rem;
      font-weight: 700;
      margin: 0 0 12px;
    }
    .survey-public-question-image {
      display: block;
      margin: 10px 0 14px;
      max-height: 180px;
      object-fit: cover;
      width: 100%;
    }
    .survey-public-answer {
      display: grid;
      gap: 9px;
    }
    .survey-public-answer input,
    .survey-public-answer select,
    .survey-public-answer textarea {
      background: #fff;
      border: 1px solid #ced4da;
      border-radius: 6px;
      box-sizing: border-box;
      color: #212529;
      font: inherit;
      min-height: 40px;
      padding: 8px 10px;
      width: 100%;
    }
    .survey-public-answer textarea {
      min-height: 112px;
    }
    .survey-public-form .preview-header {
      border-bottom-color: var(--survey-accent, var(--primary-color));
    }
    .survey-public-option {
      align-items: center;
      display: flex;
      gap: 8px;
      font-weight: 700;
      justify-content: flex-start;
      line-height: 1.25;
      min-height: 32px;
      width: fit-content;
    }
    .dialog .survey-public-option input[type="checkbox"],
    .dialog .survey-public-option input[type="radio"],
    .survey-public-option input[type="checkbox"],
    .survey-public-option input[type="radio"],
    .survey-public-grid input[type="checkbox"],
    .survey-public-grid input[type="radio"] {
      flex: 0 0 auto;
      height: 18px;
      margin: 0;
      min-height: 0;
      padding: 0;
      width: 18px;
    }
    .survey-public-option input[type="text"] {
      margin-left: 4px;
      min-height: 32px;
      width: min(260px, 40vw);
    }
    .survey-public-scale {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }
    .survey-public-scale label {
      align-items: center;
      cursor: pointer;
      display: inline-flex;
      font-weight: 900;
    }
    .survey-public-scale input[type="radio"] {
      opacity: 0;
      pointer-events: none;
      position: absolute;
    }
    .survey-public-scale span {
      border: 1px solid #ced4da;
      border-radius: 999px;
      display: grid;
      font-weight: 900;
      height: 38px;
      place-items: center;
      width: 38px;
    }
    .survey-public-scale input[type="radio"]:checked + span {
      background: var(--primary-color);
      border-color: var(--primary-color);
      color: #fff;
    }
    .survey-public-rating {
      display: inline-flex;
      gap: 4px;
    }
    .survey-public-rating label {
      cursor: pointer;
      display: block;
      font-size: 1.7rem;
      line-height: 1;
    }
    .survey-public-rating span {
      color: #adb5bd;
    }
    .survey-public-rating input[type="radio"] {
      opacity: 0;
      pointer-events: none;
      position: absolute;
    }
    .survey-public-rating label.is-selected span {
      color: #f5c542;
    }
    .survey-public-grid {
      border-collapse: collapse;
      min-width: 620px;
      table-layout: fixed;
      width: 100%;
    }
    .survey-public-grid-wrap {
      max-width: 100%;
      overflow-x: auto;
      padding-bottom: 4px;
    }
    .survey-public-grid th:first-child,
    .survey-public-grid td:first-child {
      width: 150px;
    }
    .survey-public-grid th,
    .survey-public-grid td {
      border: 1px solid #dee2e6;
      padding: 8px;
      text-align: center;
      vertical-align: middle;
    }
    .survey-public-grid th:first-child,
    .survey-public-grid td:first-child {
      text-align: left;
    }
    .step-panel {
      display: none;
    }
    .step-panel.active {
      display: block;
    }
    /* Audience Selection */
    .target-card {
      background: #fff;
      border: 1px solid #dee2e6;
      border-radius: 12px;
      padding: 18px;
      box-shadow: 0 2px 8px rgba(0,0,0,.03);
      margin-bottom: 16px;
    }
    .target-title {
      color: var(--primary-color);
      font-size: 1rem;

      letter-spacing: .04em;
      font-weight: 900;
      border-bottom: 2px solid #e9ecef;
      padding-bottom: 8px;
      margin-bottom: 14px;
    }
    .sender-status-card {
      display: grid;
      gap: 8px;
      min-width: 0;
    }
    .sender-status-card strong,
    .sender-status-card span {
      min-width: 0;
      overflow-wrap: anywhere;
    }
    .sender-status-card .badge {
      width: fit-content;
      max-width: 100%;
      white-space: normal;
      line-height: 1.15;
    }
    .sender-status-card .btn {
      width: fit-content;
      max-width: 100%;
      margin-top: 2px;
    }
    .target-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 340px;
      gap: 22px;
    }
    .target-main {
      display: grid;
      gap: 18px;
    }
    .active-target-list {
      border: 2px solid var(--primary-color);
      border-radius: 12px;
      min-height: 640px;
      padding: 22px;
      display: flex;
      flex-direction: column;
    }
    .active-target-list .target-title {
      margin-bottom: 18px;
    }
    .active-target-list-body {
      flex: 1 1 auto;
      color: #495057;
      font-style: italic;
      font-weight: 500;
      line-height: 1.35;
    }
    .quick-actions {
      border-top: 2px solid #dee2e6;
      display: grid;
      gap: 10px;
      padding-top: 18px;
    }
    .quick-actions .target-list-link {
      color: var(--primary-color);
      display: inline-block;
      font-weight: 900;
      justify-self: center;
      margin-top: 8px;
      text-decoration: underline;
    }
    .custom-upload-card {
      border: 1px solid #dee2e6;
      border-radius: 7px;
      padding: 14px;
      background: #f8f9fa;
    }
    .survey-finalize-layout {
      display: grid;
      grid-template-columns: minmax(0, 2fr) 420px;
      gap: 28px;
      min-height: 720px;
      padding: 24px;
    }
    .survey-final-preview-shell {
      border: 1px solid #d8dee5;
      border-radius: 12px;
      background: #fff;
      box-shadow: 0 10px 28px rgba(0,0,0,.08);
      max-height: calc(94vh - 260px);
      min-height: 620px;
      overflow: auto;
      padding: 24px;
    }
    .survey-final-preview-shell .preview-card {
      margin: 0 auto;
      max-width: 760px;
    }
    .survey-publish-settings {
      display: grid;
      gap: 18px;
    }
    .survey-publish-settings h2 {
      color: var(--primary-color);
      font-size: 1.6rem;
      font-weight: 900;
      margin: 0;
    }
    .survey-url-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 82px;
    }
    .survey-url-row .input {
      border-radius: 6px 0 0 6px;
      min-width: 0;
    }
    .survey-url-row .btn {
      border-radius: 0 6px 6px 0;
    }
    .target-card.green {
      border-color: #198754;
    }
    .target-card.green .target-title {
      color: #198754;
    }
    .filter-box {
      border: 1px solid #ced4da;
      background: #f8f9fa;
      border-radius: 6px;
      max-height: 190px;
      overflow: auto;
      padding: 12px;
    }
    .cfs-assessment-chip {
      align-items: center;
      border: 1px solid #d9dee7;
      border-radius: 999px;
      display: inline-flex;
      font-size: .78rem;
      font-weight: 900;
      gap: 6px;
      padding: 3px 9px;
    }
    .cfs-assessment-swatch {
      border: 1px solid rgba(0,0,0,.12);
      border-radius: 999px;
      display: inline-block;
      height: 12px;
      width: 12px;
    }
    .check-row {
      display: block;
      color: #495057;
      font-weight: 700;
      margin: 6px 0;
    }
    .chip {
      display: inline-flex;
      align-items: center;
      border: 1px solid #b6d4fe;
      background: #e7f1ff;
      color: #084298;
      border-radius: 999px;
      padding: 6px 10px;
      margin: 0 6px 6px 0;
      font-size: .83rem;
      font-weight: 900;
    }
    .chip.remove-chip {
      cursor: pointer;
      gap: 8px;
    }
    .chip.remove-chip:after {
      content: "×";
      font-size: 1rem;
      line-height: 1;
    }
    .field-manager-item {
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: 14px;
      border: 1px solid #dee2e6;
      border-radius: 6px;
      background: #fff;
      padding: 12px 16px;
      margin-bottom: 8px;
      box-shadow: 0 2px 5px rgba(0,0,0,.03);
      cursor: grab;
    }
    .field-manager-item.dragging {
      opacity: .45;
    }
    .drag-handle {
      color: #adb5bd;
      font-weight: 900;
    }
    .field-label-text {
      font-weight: 900;
      color: #212529;
    }
    .field-label-text.locked {
      color: #8a8f98;
    }
    /* Toggle Switches */
    .switch {
      position: relative;
      display: inline-block;
      width: 36px;
      height: 18px;
    }
    .switch input {
      opacity: 0;
      width: 0;
      height: 0;
    }
    .slider {
      position: absolute;
      cursor: pointer;
      inset: 0;
      background: #e9ecef;
      border: 1px solid #ced4da;
      border-radius: 999px;
      transition: .18s;
    }
    .slider:before {
      content: "";
      position: absolute;
      width: 12px;
      height: 12px;
      left: 3px;
      top: 2px;
      background: #adb5bd;
      border-radius: 50%;
      transition: .18s;
    }
    .switch input:checked + .slider {
      background: #8bb8ff;
      border-color: #8bb8ff;
    }
    .switch input:checked + .slider:before {
      transform: translateX(17px);
      background: #fff;
    }
    .required-check {
      display: flex;
      align-items: center;
      gap: 8px;
      color: #6c757d;
      font-weight: 800;
    }
    .required-check input {
      width: 18px;
      height: 18px;
      accent-color: #8bb8ff;
    }
    /* ==========================================================================
    6. EMAIL BUILDER
    ========================================================================== */
    .email-builder {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 330px;
      gap: 0;
      height: max(880px, calc(94vh - 145px));
    }
    .email-work {
      padding: 24px;
      overflow: auto;
      min-height: 0;
    }
    .email-side {
      border-left: 1px solid #dee2e6;
      background: #fff;
      overflow: auto;
      position: relative;
    }
    .email-header-card {
      background: #fff;
      border: 1px solid #ced4da;
      border-radius: 12px;
      padding: 18px;
      margin-bottom: 16px;
    }
    .email-body-card {
      background: #fff;
      border: 1px solid #ced4da;
      border-radius: 12px;
      min-height: 720px;
      overflow: visible;
    }
    .email-body-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      background: #f8f9fa;
      border-bottom: 1px solid #dee2e6;
      padding: 14px 18px;
      position: sticky;
      top: 0;
      z-index: 12;
    }
    .email-body-head .section-label {
      margin: 0;
      border-bottom: 0;
      padding-bottom: 0;
    }
    .email-toolbar-wrap {
      background: #fff;
      border-bottom: 1px solid #dee2e6;
      position: sticky;
      top: 52px;
      z-index: 30;
      box-shadow: 0 7px 16px rgba(0,0,0,.08);
    }
    .email-toolbar-wrap.is-hidden {
      display: none;
    }
    .email-toolbar-wrap .rich-toolbar {
      border: 0;
      border-radius: 0;
      background: #fff;
      padding: 9px 12px;
    }
    .email-toolbar-wrap.is-stuck {
      border-top: 1px solid #dee2e6;
    }
    .toolbar-group {
      align-items: center;
      background: #f8f9fa;
      border: 1px solid #ced4da;
      border-radius: 5px;
      display: inline-flex;
      gap: 4px;
      padding: 3px;
    }
    .toolbar-group.segmented {
      display: grid;
      grid-template-columns: repeat(4, minmax(34px, 1fr));
      gap: 0;
      padding: 0;
      overflow: hidden;
    }
    .toolbar-group.segmented.three {
      grid-template-columns: repeat(3, minmax(34px, 1fr));
    }
    .toolbar-group label {
      color: #6c757d !important;
      font-size: .72rem;
      font-weight: 900;
      line-height: 1;
      padding: 0 2px !important;
    }
    .toolbar-color {
      border: 0;
      height: 24px;
      padding: 0;
      width: 26px;
    }
    .toolbar-select {
      border: 1px solid #ced4da;
      border-radius: 6px;
      color: #495057;
      font-weight: 900;
      min-height: 30px;
      padding: 4px 7px;
    }
    .rich-toolbar button.active,
    .toolbar-group.segmented button.active {
      background: var(--rise-yellow);
      border-color: var(--rise-yellow);
      color: #212529;
    }
    .toolbar-group.segmented button {
      border: 0;
      border-right: 1px solid #ced4da;
      border-radius: 0;
      min-height: 34px;
    }
    .toolbar-group.segmented button:last-child {
      border-right: 0;
    }
    .email-canvas {
      background: #f8f9fa;
      border: 0;
      border-radius: 0;
      min-height: 640px;
      overflow: auto;
      padding: 82px 28px 40vh;
    }
    .email-canvas.drag-over {
      background: #eef0fb;
    }
    .email-empty-state {
      align-items: center;
      background: #fff;
      border: 2px dashed #adb5bd;
      border-radius: 10px;
      color: #6c757d;
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-height: 520px;
      padding: 54px 20px;
      text-align: center;
      width: 100%;
    }
    .email-empty-state h3 {
      color: #6c757d;
      font-size: 1.7rem;
      font-weight: 900;
      margin: 8px 0 6px;
    }
    .email-empty-state p {
      font-size: 1.02rem;
      font-weight: 800;
      margin: 0;
    }
    .empty-state-icon-large {
      font-size: 2rem;
      line-height: 1;
    }
    .email-empty-state.drag-over,
    .column-cell.drag-over {
      border-color: var(--primary-color);
      background: #eef0fb;
    }
    .builder-block.drop-before,
    .content-module-wrapper.drop-before {
      box-shadow: 0 -5px 0 var(--primary-color), 0 1px 3px rgba(0,0,0,.04);
    }
    .builder-block.drop-after,
    .content-module-wrapper.drop-after {
      box-shadow: 0 5px 0 var(--primary-color), 0 1px 3px rgba(0,0,0,.04);
    }
    .builder-block.is-dragging,
    .content-module-wrapper.is-dragging {
      opacity: .45;
    }
    .module-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 9px;
    }
    .module-card {
      border: 1px solid #dee2e6;
      border-radius: 5px;
      background: #fff;
      min-height: 86px;
      padding: 12px 8px;
      text-align: center;
      font-weight: 900;
      cursor: grab;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
    }
    .module-card.primary {
      grid-column: 1 / -1;
      border-color: var(--primary-color);
      color: var(--primary-color);
      min-height: 96px;
    }
    .module-icon {
      font-size: 1.45rem;
      line-height: 1;
    }
    .module-card span:last-child {
      font-size: .82rem;
      line-height: 1.15;
    }
    .module-card:hover {
      border-color: var(--primary-color);
      color: var(--primary-color);
    }
    .layout-stack {
      display: grid;
      gap: 8px;
    }
    .layout-btn {
      background: #fff;
      border: 1px solid #dee2e6;
      border-radius: 6px;
      cursor: grab;
      display: flex;
      gap: 5px;
      min-height: 48px;
      padding: 9px;
    }
    .layout-btn:hover {
      border-color: var(--primary-color);
    }
    .layout-col {
      background: #e9ecef;
      border-radius: 2px;
      flex: 1 1 auto;
      min-height: 28px;
    }
    .layout-col.sm {
      flex: 1 1 25%;
    }
    .layout-col.lg {
      flex: 3 1 75%;
    }
    .builder-block {
      position: relative;
      background: #fff;
      border: 2px solid transparent;
      border-radius: 6px;
      margin: 0 0 18px;
      padding: 14px;
      box-shadow: 0 1px 3px rgba(0,0,0,.04);
      cursor: grab;
    }
    .builder-block:hover,
    .builder-block.active,
    .content-module-wrapper:hover,
    .content-module-wrapper.active {
      border-color: var(--primary-color);
    }
    .builder-block .drag-handle,
    .module-drag-handle {
      align-items: center;
      background: var(--primary-color);
      border-radius: 6px 0 0 4px;
      color: #fff;
      cursor: grab;
      display: none;
      font-weight: 900;
      left: -28px;
      min-height: 30px;
      padding: 4px 7px;
      position: absolute;
      top: -2px;
      z-index: 3;
    }
    .builder-block.active .drag-handle,
    .builder-block:hover .drag-handle,
    .content-module-wrapper.active .module-drag-handle,
    .content-module-wrapper:hover .module-drag-handle {
      display: flex;
    }
    .block-controls {
      display: none;
      position: absolute;
      right: -2px;
      top: -34px;
      background: #fff;
      border: 2px solid var(--primary-color);
      border-bottom: 0;
      border-radius: 6px 6px 0 0;
      padding: 4px 6px;
      gap: 4px;
      z-index: 4;
    }
    .module-controls {
      display: none;
      position: absolute;
      right: -2px;
      top: -30px;
      background: #fff;
      border: 2px solid var(--primary-color);
      border-bottom: 0;
      border-radius: 6px 6px 0 0;
      padding: 3px 5px;
      gap: 4px;
      z-index: 4;
    }
    .builder-block.active .block-controls,
    .content-module-wrapper.active .module-controls {
      display: flex;
    }
    .control-btn {
      border: 0;
      background: #fff;
      font-weight: 900;
      color: #495057;
      cursor: pointer;
    }
    .control-btn:hover {
      color: var(--primary-color);
    }
    .control-btn.delete:hover {
      color: #dc3545;
    }
    .email-row {
      width: 100%;
      border-collapse: collapse;
      table-layout: fixed;
    }
    .email-row td,
    .column-cell {
      border: 1px dashed #ced4da;
      padding: 12px;
      vertical-align: top;
    }
    .row-placeholder,
    .placeholder-text,
    .img-placeholder-prompt {
      align-items: center;
      background: rgba(75,83,185,.04);
      border: 2px dashed rgba(75,83,185,.3);
      border-radius: 6px;
      color: var(--primary-color);
      display: flex;
      flex-direction: column;
      font-weight: 800;
      justify-content: center;
      min-height: 120px;
      padding: 20px;
      text-align: center;
      width: 100%;
    }
    .content-module-wrapper {
      border: 2px solid transparent;
      border-radius: 6px;
      cursor: grab;
      margin: 0 0 10px;
      padding: 8px;
      position: relative;
    }
    .text-module,
    .text-module *,
    .button-module a {
      cursor: text;
      user-select: text;
      -webkit-user-select: text;
    }
    .content-module-wrapper:last-child {
      margin-bottom: 0;
    }
    .email-module.text-module[contenteditable]:empty:before {
      content: attr(data-placeholder);
      color: #adb5bd;
    }
    .email-module.text-module {
      min-height: 38px;
      outline: none;
      line-height: 1.5;
    }
    .image-module {
      align-items: center;
      display: flex;
      justify-content: center;
      overflow: hidden;
      outline: none;
      width: 100%;
    }
    .email-side-copy {
      color: #6c757d;
      font-size: .88rem;
      font-weight: 700;
      line-height: 1.35;
      margin: 0 0 14px;
    }
    .side-section {
      border-bottom: 1px solid #dee2e6;
      background: #fff;
    }
    .side-section h4 {
      margin: 0;
      background: var(--primary-color);
      color: #fff;
      padding: 13px 15px;
      font-size: .9rem;
      font-weight: 900;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      position: relative;
      z-index: 2;
    }
    .side-section h4:after {
      content: "⌃";
      font-size: 1rem;
      font-weight: 900;
      line-height: 1;
    }
    .side-section.is-collapsed h4:after {
      content: "⌄";
    }
    .side-section.is-collapsed > :not(h4) {
      display: none;
    }
    #settings-modules {
      position: sticky;
      top: 0;
      z-index: 20;
      border-bottom: 2px solid var(--primary-color);
      box-shadow: 0 8px 18px rgba(0,0,0,.12);
    }
    #settings-modules h4,
    #survey-settings-modules h4 {
      cursor: default;
    }
    #settings-modules h4:after,
    #survey-settings-modules h4:after {
      content: "";
      display: none;
    }
    .settings-stack {
      display: flex;
      flex-direction: column;
      min-height: 100%;
      background: #fff;
    }
    .side-section .inner {
      padding: 14px;
    }
    .side-accordion {
      border-top: 1px solid #dee2e6;
      background: #f8f9fa;
    }
    .side-accordion:first-child {
      border-top: 0;
    }
    .side-accordion summary {
      align-items: center;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      list-style: none;
      color: var(--primary-color);
      font-weight: 900;
      padding: 14px 15px;
    }
    .side-accordion summary::-webkit-details-marker {
      display: none;
    }
    .side-accordion summary:after {
      content: "⌄";
      color: #212529;
      font-size: 1.1rem;
      transform: rotate(0deg);
      transition: transform .16s ease;
    }
    .side-accordion[open] summary:after {
      transform: rotate(180deg);
    }
    .side-accordion-body {
      padding: 0 15px 15px;
    }
    .prop-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }
    .prop-grid small {
      color: #6c757d;
      display: block;
      font-weight: 800;
      margin-bottom: 4px;
      text-align: center;
    }
    .column-tabs {
      display: flex;
      gap: 4px;
      list-style: none;
      margin: 0 0 14px;
      padding: 0;
    }
    .column-tabs button {
      background: #fff;
      border: 1px solid #ced4da;
      border-radius: 6px;
      color: #495057;
      cursor: pointer;
      font-weight: 900;
      padding: 7px 10px;
    }
    .column-tabs button.active {
      background: var(--primary-color);
      border-color: var(--primary-color);
      color: #fff;
    }
    .setting-row {
      align-items: center;
      border-bottom: 1px solid #e9ecef;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 12px;
      padding: 12px 0;
    }
    .setting-row:first-child {
      padding-top: 0;
    }
    .setting-row label,
    .setting-row .setting-name {
      color: #495057 !important;
      font-size: .86rem;
      font-weight: 900;
      margin: 0;
      text-transform: none;
      letter-spacing: 0;
    }
    .setting-row .input,
    .setting-row .select {
      min-width: 154px;
      width: 154px;
    }
    .setting-numeric {
      display: grid;
      grid-template-columns: 64px 40px 42px 42px;
      gap: 0;
    }
    .setting-numeric input,
    .setting-numeric span,
    .setting-numeric button {
      border: 1px solid #ced4da;
      border-radius: 0;
      min-height: 38px;
    }
    .setting-numeric input {
      border-radius: 6px 0 0 4px;
      padding: 6px 8px;
      width: 64px;
    }
    .setting-numeric input::-webkit-outer-spin-button,
    .setting-numeric input::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }
    .setting-numeric input[type=number] {
      -moz-appearance: textfield;
    }
    .setting-numeric span {
      align-items: center;
      background: #f8f9fa;
      color: #6c757d;
      display: flex;
      font-weight: 800;
      justify-content: center;
      margin-left: -1px;
    }
    .setting-numeric button {
      background: #fff;
      color: #6c757d;
      cursor: pointer;
      font-size: 1.1rem;
      font-weight: 800;
      margin-left: 8px;
    }
    .setting-numeric button + button {
      margin-left: -1px;
      border-radius: 0 4px 4px 0;
    }
    .align-control {
      display: inline-grid;
      grid-template-columns: repeat(4, 42px);
      border: 1px solid #ced4da;
      border-radius: 6px;
      overflow: hidden;
    }
    #btn-align-control {
      grid-template-columns: repeat(3, 42px);
    }
    .align-control button {
      background: #fff;
      border: 0;
      border-right: 1px solid #ced4da;
      color: #6c757d;
      cursor: pointer;
      font-size: 1.1rem;
      min-height: 38px;
    }
    .align-control button:last-child {
      border-right: 0;
    }
    .align-control button.active {
      background: #212529;
      color: #fff;
    }
    .layout-save-row {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 8px;
    }
    /* ==========================================================================
    7. PETITION DASHBOARDS & CHARTS
    ========================================================================== */
    .report-table-wrap {
      overflow: auto;
      border: 1px solid #dee2e6;
      border-radius: 12px;
    }
    .source-table {
      width: 100%;
      border-collapse: collapse;
    }
    .source-table th {
      background: #f8f9fa;
      color: #495057;
      font-size: .76rem;

      letter-spacing: .04em;
    }
    .source-table th,
    .source-table td {
      border-bottom: 1px solid #dee2e6;
      padding: 10px;
      text-align: left;
    }
    .source-table tbody tr:nth-child(even) {
      background: #f8f9fa;
    }
    .source-table tbody tr:nth-child(odd) {
      background: #fff;
    }
    .linklike {
      border: 0;
      background: transparent;
      color: inherit;
      padding: 0;
      font: inherit;
      font-weight: 900;
      text-transform: inherit;
      letter-spacing: inherit;
      cursor: pointer;
    }
    .linklike:hover {
      color: var(--primary-color);
    }
    .petition-dash-top {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 28px;
      margin-bottom: 24px;
    }
    .petition-dash-title h1 {
      color: var(--primary-color);
      font-weight: 900;
      font-size: 2.45rem;
      line-height: 1.08;
      margin: 0 0 12px;
      max-width: 720px;
    }
    .petition-dash-title p {
      font-size: 1.02rem;
      margin: 0;
    }
    .petition-dash-progress {
      width: 360px;
      max-width: 38vw;
      padding-top: 5px;
    }
    .petition-progress-track {
      height: 12px;
      background: #e9ecef;
      border-radius: 999px;
      overflow: hidden;
    }
    .petition-progress-fill {
      display: block;
      height: 100%;
      background: #198754;
    }
    .petition-progress-meta {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      margin: 8px 0 16px;
      font-weight: 900;
    }
    .petition-progress-meta span:first-child {
      color: var(--primary-color);
    }
    .petition-dash-actions {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
    }
    .petition-dash-actions .btn {
      min-height: 54px;
      font-weight: 900;
    }
    .petition-doc-frame {
      background: #fff;
      border: 1px solid #ced4da;
      border-radius: 12px;
      box-shadow: 0 2px 8px rgba(0,0,0,.05);
      padding: 30px;
      margin-bottom: 24px;
    }
    .petition-live-doc {
      display: grid;
      grid-template-columns: minmax(0, 7fr) minmax(280px, 5fr);
      border: 1px solid #dee2e6;
      border-radius: 6px;
      overflow: hidden;
      box-shadow: 0 2px 7px rgba(0,0,0,.08);
    }
    .petition-live-body {
      padding: 44px 46px;
      background: #fff;
    }
    .petition-live-title {
      text-align: center;
      color: var(--primary-color);
      font-size: 1.55rem;
      font-weight: 900;
      line-height: 1.25;
      margin-bottom: 26px;
    }
    .petition-live-meta {
      border-bottom: 2px solid #e9ecef;
      padding-bottom: 14px;
      margin-bottom: 22px;
      font-weight: 900;
      color: #495057;
    }
    .petition-live-copy {
      font-size: 1.01rem;
      line-height: 1.35;
      color: #212529;
    }
    .petition-live-copy p {
      margin: 0 0 18px;
    }
    .petition-live-copy ul,
    .petition-live-copy ol {
      margin-top: -8px;
      margin-bottom: 20px;
    }
    .petition-live-form {
      background: #f8f9fa;
      border-left: 1px solid #dee2e6;
      padding: 38px 28px;
    }
    .petition-live-form h3 {
      text-align: center;
      color: var(--primary-color);
      font-size: 1.15rem;

      font-weight: 900;
      border-bottom: 2px solid var(--rise-yellow);
      padding-bottom: 14px;
      margin: 0 0 24px;
    }
    .petition-live-form .preview-input {
      background: #fff !important;
      border-color: #adb5bd;
      box-shadow: 0 1px 3px rgba(0,0,0,.12);
      border-radius: 6px;
      font-weight: 700;
      color: #6c757d;
    }
    .petition-live-form .preview-btn {
      opacity: .55;
      margin-top: 18px;
    }
    .petition-dashboard-widgets {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr;
      gap: 18px;
      margin: 0 0 26px;
    }
    .dash-widget {
      border: 1px solid #dee2e6;
      border-radius: 12px;
      background: #fff;
      padding: 18px 20px;
      min-height: 210px;
      box-shadow: 0 2px 6px rgba(0,0,0,.03);
    }
    .dash-widget.clickable {
      cursor: pointer;
    }
    .dash-widget.clickable:hover {
      border-color: var(--primary-color);

    }
    .dash-widget .widget-header {
      display: block;
      color: #6c757d;
      font-size: .85rem;
      font-weight: 900;

      letter-spacing: .08em;
      border-bottom: 2px solid #e9ecef;
      padding-bottom: 9px;
      margin-bottom: 14px;
    }
    .signature-chart {
      width: 100%;
      height: 160px;
    }
    .email-dashboard-layout {
      display: grid;
      grid-template-columns: minmax(720px, 1fr) minmax(560px, .9fr);
      gap: 24px;
      align-items: start;
    }
    .email-dashboard-preview {
      box-sizing: border-box;
      max-width: 780px;
      margin: 0 auto;
      border: 1px solid #dee2e6;
      box-shadow: 0 2px 10px rgba(0,0,0,.06);
      overflow: hidden;
      width: 100%;
      padding: 30px;
    }
    .email-dashboard-iframe {
      border: 0;
      display: block;
      margin: 0 auto;
      max-width: 720px;
      min-height: 720px;
      width: 100%;
    }
    .email-dashboard-preview-inner {
      margin: 0 auto;
      max-width: 720px;
      width: 100%;
    }
    .email-dashboard-preview-inner * {
      box-sizing: border-box;
    }
    .email-dashboard-preview-inner table {
      max-width: 100% !important;
      table-layout: fixed;
      width: 100% !important;
    }
    .email-dashboard-preview-inner td,
    .email-dashboard-preview-inner th,
    .email-dashboard-preview-inner div,
    .email-dashboard-preview-inner p {
      max-width: 100% !important;
      overflow-wrap: anywhere;
    }
    .email-dashboard-preview-inner img {
      height: auto !important;
      max-width: 100% !important;
      width: auto;
    }
    .email-status-line {
      margin: 8px 0 0;
      font-weight: 900;
    }
    .email-status-line.unsent {
      color: #dc3545;
    }
    .email-status-line.sent {
      color: #198754;
    }
    .email-status-line.scheduled {
      color: var(--primary-color);
    }
    .email-dashboard-side {
      display: grid;
      gap: 16px;
    }
    .email-metric-grid {
      display: grid;
      grid-template-columns: repeat(2,minmax(0,1fr));
      gap: 12px;
    }
    .email-metric-card {
      text-align: left;
      cursor: pointer;
      min-height: 126px;
    }
    .email-metric-card:hover {
      border-color: var(--primary-color);

    }
    .email-metric-card h3 {
      color: var(--primary-color);
      margin: 0 0 8px;
    }
    .email-funnel {
      display: grid;
      gap: 10px;
      margin-top: 12px;
    }
    .email-funnel-row {
      display: grid;
      grid-template-columns: 82px minmax(0,1fr) 52px;
      gap: 10px;
      align-items: center;
      color: #6c757d;
      font-size: .78rem;
      font-weight: 900;

      letter-spacing: .06em;
    }
    .email-funnel-track {
      height: 12px;
      border-radius: 999px;
      background: #e9ecef;
      overflow: hidden;
    }
    .email-funnel-fill {
      display: block;
      height: 100%;
      border-radius: inherit;
      background: var(--primary-color);
    }
    .email-funnel-fill.open {
      background: #198754;
    }
    .email-funnel-fill.click {
      background: #f8cd38;
    }
    .survey-dashboard-layout {
      display: grid;
      grid-template-columns: minmax(660px, 1fr) minmax(520px, .85fr);
      gap: 24px;
      align-items: start;
    }
    .survey-dashboard-action-row {
      display: grid;
      grid-template-columns: minmax(660px, 1fr) minmax(520px, .85fr);
      gap: 24px;
      align-items: end;
      margin: 0 0 18px;
    }
    .survey-dashboard-preview {
      border: 1px solid #dee2e6;
      border-radius: 12px;
      background: #f8f9fa;
      box-shadow: 0 2px 10px rgba(0,0,0,.05);
      max-height: 78vh;
      overflow: auto;
      padding: 24px;
    }
    .survey-dashboard-preview .survey-public-form {
      margin: 0 auto;
      max-width: 760px;
    }
    .survey-dashboard-side {
      display: grid;
      gap: 16px;
    }
    .survey-dashboard-top-actions {
      display: grid;
      gap: 10px;
      justify-self: stretch;
      width: 100%;
    }
    .survey-dashboard-header {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 18px;
    }
    .survey-dashboard-actions {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      margin-top: 14px;
    }
    .survey-dashboard-actions .btn {
      min-height: 46px;
      font-weight: 900;
    }
    .survey-dashboard-reminder-link {
      color: var(--primary-color);
      font-weight: 900;
      text-align: left;
      text-decoration: underline;
      text-underline-offset: 3px;
    }
    .survey-completion-track,
    .survey-answer-track {
      height: 12px;
      border-radius: 999px;
      background: #e9ecef;
      overflow: hidden;
    }
    .survey-completion-fill,
    .survey-answer-fill {
      display: block;
      height: 100%;
      border-radius: inherit;
      background: var(--primary-color);
    }
    .survey-answer-fill.alt {
      background: #198754;
    }
    .survey-dashboard-list {
      display: grid;
      gap: 10px;
      margin-top: 12px;
    }
    .survey-question-stat {
      border: 1px solid #dee2e6;
      border-radius: 12px;
      background: #fff;
      padding: 14px;
    }
    .survey-question-stat.clickable {
      cursor: pointer;
      text-align: left;
      width: 100%;
    }
    .survey-question-stat.clickable:hover,
    .survey-question-stat.clickable:focus {
      border-color: var(--primary-color);

      outline: 0;
    }
    .survey-question-stat h4 {
      color: var(--primary-color);
      font-size: .98rem;
      font-weight: 900;
      line-height: 1.25;
      margin: 0 0 6px;
    }
    .survey-answer-row {
      display: grid;
      grid-template-columns: minmax(120px, 1fr) minmax(160px, 1.2fr) 48px;
      gap: 10px;
      align-items: center;
      margin-top: 8px;
      font-size: .86rem;
      font-weight: 800;
    }
    .survey-answer-row span:first-child {
      overflow-wrap: anywhere;
    }
    .survey-recent-response {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      border-top: 1px solid #e9ecef;
      padding-top: 9px;
      font-size: .88rem;
      font-weight: 800;
    }
    .survey-responder-card {
      border: 1px solid #dee2e6;
      border-radius: 12px;
      background: #fff;
      padding: 16px;
    }
    .survey-responder-card + .survey-responder-card {
      margin-top: 12px;
    }
    .survey-responder-answer {
      display: grid;
      grid-template-columns: minmax(160px, .8fr) minmax(0, 1fr);
      gap: 14px;
      border-top: 1px solid #e9ecef;
      padding-top: 10px;
      margin-top: 10px;
    }
    .survey-responder-answer span {
      color: #6c757d;
      font-size: .78rem;
      font-weight: 900;

      letter-spacing: .06em;
    }
    .survey-responder-answer strong {
      overflow-wrap: anywhere;
    }
    .signature-chart-wrap {
      position: relative;
    }
    .petition-chart-tooltip {
      position: absolute;
      display: none;
      min-width: 190px;
      padding: 8px 10px;
      border-radius: 5px;
      background: rgba(33,37,41,.95);
      color: #fff;
      font-size: .78rem;
      font-weight: 900;
      line-height: 1.25;
      pointer-events: none;
      z-index: 4;
      box-shadow: 0 8px 22px rgba(0,0,0,.25);
    }
    .petition-tooltip-row {
      display: grid;
      grid-template-columns: 14px 1fr;
      align-items: center;
      gap: 6px;
      margin-top: 4px;
      white-space: nowrap;
    }
    .petition-tooltip-swatch {
      width: 10px;
      height: 10px;
      border: 2px solid #2b8a3e;
      background: #fff;
    }
    .petition-tooltip-swatch.internal {
      border-color: var(--primary-color);
      background: var(--primary-color);
    }
    .petition-tooltip-swatch.external {
      border-color: #adb5bd;
      background: #adb5bd;
    }
    .signature-compare-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 18px;
      margin-bottom: 18px;
      padding: 16px 18px;
      border: 1px solid #ffc107;
      border-left-width: 6px;
      border-radius: 6px;
      background: #fff8dc;
      color: #5f4700;
      font-weight: 900;
    }
    .signature-compare-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }
    .signature-compare-panel {
      border: 1px solid #dee2e6;
      border-radius: 12px;
      overflow: hidden;
      background: #fff;
    }
    .signature-compare-panel h3 {
      margin: 0;
      padding: 12px 16px;
      background: #f8f9fa;
      color: var(--primary-color);
      border-bottom: 1px solid #dee2e6;
      font-size: 1rem;
      font-weight: 900;

      letter-spacing: .06em;
    }
    .signature-compare-row {
      display: grid;
      grid-template-columns: 190px 1fr;
      gap: 12px;
      padding: 12px 16px;
      border-bottom: 1px solid #eef1f5;
      font-weight: 800;
    }
    .signature-compare-row:last-child {
      border-bottom: 0;
    }
    .signature-compare-row span:first-child {
      color: #6c757d;

      letter-spacing: .04em;
      font-size: .74rem;
    }
    .signature-compare-row.is-mismatch {
      background: #fff8dc;
    }
    .recent-signature {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      border-bottom: 1px solid #e9ecef;
      padding: 8px 0;
      font-weight: 900;
    }
    .external-badge {
      display: inline-block;
      background: #e9ecef;
      color: #495057;
      border-radius: 2px;
      padding: 3px 6px;
      margin-left: 6px;
      font-size: .8rem;
    }
    .member-alert-flag {
      position: relative;
      width: 34px;
      height: 42px;
      margin: 22px auto 8px;
      border-left: 3px solid #6c757d;
    }
    .member-alert-flag:before {
      content: "";
      position: absolute;
      left: 0;
      top: 4px;
      width: 30px;
      height: 20px;
      background: #dc3545;
      clip-path: polygon(0 0, 100% 18%, 0 100%);
    }
    .member-alert-count {
      font-size: 3.4rem;
      font-weight: 900;
      color: #dc3545;
      line-height: 1;
    }
    .petition-actions-panel {
      border-top: 1px solid #dee2e6;
      padding-top: 24px;
    }
    .petition-actions-panel .select {
      font-size: 1.05rem;
      box-shadow: 0 2px 5px rgba(0,0,0,.08);
    }
    /* ==========================================================================
    8. PUBLIC PETITION PAGE
    ========================================================================== */
    .public-petition-page {
      max-width: 1180px;
      margin: 0 auto;
    }
    .public-petition-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 360px;
      gap: 44px;
    }
    .public-doc-title {
      color: var(--primary-color);
      font-size: 3rem;
      font-weight: 900;
      line-height: 1.08;
      margin: 0 0 24px;
    }
    .public-doc-meta {
      border-top: 4px solid var(--rise-yellow);
      border-bottom: 1px solid #dee2e6;
      padding: 18px 0;
      margin-bottom: 30px;
      font-size: 1.15rem;
    }
    .public-sign-card {
      position: sticky;
      top: 20px;
      background: #fff;
      border: 1px solid #e9ecef;
      border-radius: 12px;
      box-shadow: 0 10px 30px rgba(0,0,0,.08);
      padding: 32px;
    }
    .public-sign-card form {
      display: grid;
      gap: 12px;
    }
    .public-sign-card .input,
    .public-sign-card .textarea {
      margin: 0 !important;
      min-height: 48px;
      box-sizing: border-box;
    }
    .public-sign-card .textarea {
      min-height: 132px;
    }
    .public-sign-progress {
      text-align: center;
      margin: 0 0 24px;
    }
    .public-sign-progress h4 {
      font-size: 1.25rem;
      margin: 0 0 10px;
    }
    .public-sign-progress .petition-progress-meta {
      justify-content: center;
      gap: 14px;
      flex-wrap: wrap;
    }
    .public-sign-progress .petition-progress-meta span {
      color: var(--primary-color);
    }
    .public-sign-progress .petition-progress-meta b {
      color: #212529;
    }
    .public-sign-card h3 {
      text-align: center;
      color: var(--primary-color);
      font-weight: 900;

      border-bottom: 3px solid var(--rise-yellow);
      padding-bottom: 12px;
      margin: 0 0 22px;
    }
    /* ==========================================================================
    9. SURVEY BUILDER
    ========================================================================== */
    #surveyModal .modal-body {
      overflow: hidden;
      padding: 0;
    }
    #surveyModal .step-panel.active:not(#survey-step-builder) {
      max-height: calc(94vh - 145px);
      overflow: auto;
    }
    .survey-builder {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 390px;
      height: calc(94vh - 145px);
      min-height: 0;
    }
    .survey-work {
      background: #f8f9fa;
      overflow: auto;
      padding: 24px;
      min-height: 0;
    }
    .survey-side {
      background: #fff;
      border-left: 1px solid #dee2e6;
      overflow: auto;
      min-height: 0;
    }
    #survey-settings-modules {
      border-bottom: 2px solid var(--primary-color);
      box-shadow: 0 8px 18px rgba(0,0,0,.12);
      position: sticky;
      top: 0;
      z-index: 20;
    }
    .survey-header-card,
    .survey-body-card {
      background: #fff;
      border: 1px solid #ced4da;
      border-radius: 12px;
      box-shadow: 0 2px 8px rgba(0,0,0,.03);
      margin: 0 auto 18px;
      max-width: 920px;
      padding: 18px;
    }
    .survey-body-card {
      padding: 0;
      overflow: visible;
    }
    .survey-body-head {
      align-items: center;
      background: #f8f9fa;
      border-bottom: 1px solid #dee2e6;
      display: flex;
      gap: 12px;
      justify-content: space-between;
      padding: 14px 18px;
    }
    .survey-canvas {
      background: #ebebeb;
      min-height: 620px;
      overflow: visible;
      padding: 28px 24px 48px;
      position: relative;
    }
    .survey-canvas.drag-over {
      background: #ece9ff;
    }
    .survey-canvas-header-preview {
      background: #fff;
      border: 1px solid #ced4da;
      border-radius: 12px;
      box-shadow: 0 2px 8px rgba(0,0,0,.06);
      margin: 0 auto 18px;
      max-width: 760px;
      padding: 14px;
    }
    .survey-canvas-header-preview img {
      display: block;
      max-height: 220px;
      object-fit: cover;
      width: 100%;
    }
    .survey-empty-state {
      align-items: center;
      background: #fff;
      border: 2px dashed #adb5bd;
      border-radius: 10px;
      color: #6c757d;
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-height: 420px;
      padding: 54px 20px;
      text-align: center;
    }
    .survey-empty-state.full {
      min-height: 540px;
    }
    .survey-empty-state h3 {
      color: #6c757d;
      font-size: 1.6rem;
      font-weight: 900;
      margin: 8px 0 6px;
    }
    .survey-empty-state p {
      font-size: 1rem;
      font-weight: 800;
      margin: 0;
    }
    .survey-section {
      margin: 0 auto 22px;
      max-width: 780px;
    }
    .survey-section-title {
      align-items: center;
      background: var(--primary-color);
      border-radius: 7px 7px 0 0;
      color: #fff;
      display: flex;
      gap: 10px;
      justify-content: space-between;
      padding: 12px 16px;
    }
    .survey-section-title input {
      background: transparent;
      border: 0;
      color: #fff;
      flex: 1;
      font: inherit;
      font-weight: 900;
      min-width: 0;
      outline: 0;
    }
    .survey-canvas-fab {
      align-items: center;
      bottom: -30px;
      display: block;
      height: 60px;
      margin: 0;
      pointer-events: none;
      position: absolute;
      right: -30px;
      width: 60px;
      z-index: 40;
    }
    .survey-canvas-fab button {
      align-items: center;
      background: #4A50BA;
      border: 0;
      border-radius: 999px;
      box-shadow: 0 10px 24px rgba(0,0,0,.18);
      color: #fff;
      cursor: pointer;
      display: grid;
      font-weight: 900;
      justify-content: center;
      line-height: 1;
      pointer-events: auto;
      position: absolute;
    }
    .survey-canvas-fab .survey-fab-main {
      height: 60px;
      inset: 0;
      width: 60px;
    }
    .survey-fab-plus {
      display: block;
      height: 30px;
      position: relative;
      width: 30px;
    }
    .survey-fab-plus::before,
    .survey-fab-plus::after {
      background: #fff;
      border-radius: 2px;
      content: "";
      left: 50%;
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%);
    }
    .survey-fab-plus::before {
      height: 8px;
      width: 30px;
    }
    .survey-fab-plus::after {
      height: 30px;
      width: 8px;
    }
    .survey-canvas-fab .survey-fab-mini {
      font-size: 1.6rem;
      height: 44px;
      left: 8px;
      opacity: 0;
      top: 8px;
      transform: scale(.72);
      transition: opacity .16s ease, transform .16s ease;
      width: 44px;
    }
    .survey-canvas-fab .survey-fab-question {
      transform: translate(0, 0) scale(.72);
    }
    .survey-canvas-fab.open .survey-fab-question {
      opacity: 1;
      transform: translate(0, -64px) scale(1);
    }
    .survey-canvas-fab.open .survey-fab-section {
      opacity: 1;
      transform: translate(-64px, 0) scale(1);
    }
    .dialog .survey-section-title input {
      background: transparent !important;
      color: #fff !important;
    }
    .survey-question-card {
      background: #fff;
      border: 1px solid #d7d7dc;
      border-left: 8px solid transparent;
      border-radius: 12px;
      box-shadow: 0 2px 7px rgba(0,0,0,.16);
      margin: 16px 0;
      padding: 0;
      position: relative;
      cursor: grab;
    }
    .survey-question-card button,
    .survey-question-card input,
    .survey-question-card label,
    .survey-question-card textarea,
    .survey-question-card select,
    .survey-question-card [contenteditable="true"] {
      cursor: auto;
    }
    .survey-question-card.is-dragging {
      opacity: .45;
    }
    .survey-question-card.drop-before {
      box-shadow: 0 -5px 0 var(--primary-color), 0 2px 7px rgba(0,0,0,.16);
    }
    .survey-question-card.drop-after {
      box-shadow: 0 5px 0 var(--primary-color), 0 2px 7px rgba(0,0,0,.16);
    }
    .survey-question-card.active {
      border-left-color: #4285f4;
    }
    .survey-question-actions-top {
      align-items: flex-end;
      display: flex;
      flex-direction: column;
      gap: 8px;
      position: absolute;
      right: 20px;
      top: 16px;
      z-index: 4;
    }
    .survey-card-buttons {
      display: flex;
      gap: 8px;
    }
    .survey-change-type {
      background: transparent;
      border: 0;
      color: var(--primary-color);
      cursor: pointer;
      font-size: .8rem;
      font-weight: 900;
      padding: 0;
      text-decoration: underline;
    }
    .survey-question-type-head {
      align-items: baseline;
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 0 190px 20px 0;
    }
    .survey-question-type-head .module-icon {
      font-size: 1.4rem;
      line-height: 1;
    }
    .survey-question-type-head strong {
      color: #212529;
      font-size: 1.22rem;
      font-weight: 900;
    }
    .survey-question-type-head .survey-change-type {
      display: block;
      flex-basis: 100%;
      font-size: .95rem;
      text-align: left;
      width: fit-content;
    }
    .survey-question-inner {
      padding: 28px 28px 0;
    }
    .survey-question-main {
      align-items: flex-start;
      display: grid;
      gap: 18px;
      grid-template-columns: minmax(0, 1fr) 88px;
      padding-right: 220px;
    }
    .survey-question-title {
      background: #f8f9fa;
      border: 0;
      border-bottom: 1px solid #6c757d;
      color: #212529;
      font: inherit;
      font-size: 1.05rem;
      font-weight: 800;
      min-height: 54px;
      outline: 0;
      padding: 14px 18px;
    }
    .survey-question-title:empty:before,
    .survey-question-help:empty:before {
      color: #adb5bd;
      content: attr(data-placeholder);
    }
    .survey-photo-button {
      align-items: center;
      background: #fff;
      border: 1px solid #ced4da;
      border-radius: 5px;
      color: #5f6368;
      cursor: pointer;
      display: inline-flex;
      font-size: 1.45rem;
      height: 54px;
      justify-content: center;
      width: 60px;
    }
    .survey-photo-button.large {
      font-size: 1.2rem;
      height: 74px;
      width: 74px;
    }
    .survey-question-help {
      border: 0;
      border-bottom: 1px solid #dee2e6;
      color: #495057;
      margin: 10px 0 0;
      min-height: 34px;
      outline: 0;
      padding: 8px 0;
    }
    .survey-question-image {
      border-radius: 6px;
      display: none;
      margin: 12px 0 0;
      max-height: 180px;
      max-width: 100%;
      object-fit: cover;
    }
    .survey-question-image[src] {
      display: block;
    }
    .survey-answer-preview {
      color: #6c757d;
      display: grid;
      gap: 12px;
      margin: 18px 0 24px;
    }
    .survey-answer-preview.plain {
      color: #adb5bd;
      font-weight: 500;
    }
    .survey-answer-line {
      align-items: center;
      display: flex;
      gap: 12px;
      font-weight: 800;
    }
    .survey-answer-icon {
      border: 2px solid #c4c7c5;
      display: inline-block;
      flex: 0 0 auto;
      height: 22px;
      width: 22px;
    }
    .survey-answer-icon.radio {
      border-radius: 50%;
    }
    .survey-answer-icon.checkbox {
      border-radius: 3px;
    }
    .survey-short-line {
      border-bottom: 1px solid #c4c7c5;
      height: 34px;
      width: min(360px, 80%);
    }
    .survey-paragraph-line {
      border-bottom: 1px solid #c4c7c5;
      height: 34px;
      width: 100%;
    }
    .survey-question-footer {
      align-items: center;
      border-top: 1px solid #dee2e6;
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      justify-content: flex-end;
      padding: 14px 0 16px;
    }
    .survey-branch-toggle-row {
      align-items: center;
      display: flex;
      justify-content: flex-end;
      margin: 8px 0 14px;
    }
    .survey-required-toggle {
      align-items: center;
      display: inline-flex;
      gap: 10px;
      font-weight: 900;
    }
    .survey-required-toggle input {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }
    .survey-required-toggle span {
      background: #adb5bd;
      border-radius: 999px;
      display: inline-block;
      height: 30px;
      position: relative;
      width: 58px;
    }
    .survey-required-toggle span:before {
      background: #fff;
      border-radius: 50%;
      box-shadow: 0 2px 5px rgba(0,0,0,.24);
      content: "";
      height: 26px;
      left: 2px;
      position: absolute;
      top: 2px;
      transition: transform .14s ease;
      width: 26px;
    }
    .survey-required-toggle input:checked + span {
      background: var(--primary-color);
    }
    .survey-required-toggle input:checked + span:before {
      transform: translateX(28px);
    }
    .survey-branching {
      border-top: 1px dashed #dee2e6;
      display: none;
      margin: 0 28px 18px;
      padding-top: 14px;
    }
    .survey-branching.open {
      display: grid;
      gap: 10px;
    }
    .survey-branch-row {
      align-items: center;
      display: grid;
      gap: 10px;
      grid-template-columns: minmax(0, 1fr) minmax(210px, 260px);
    }
    .survey-grid-wrap {
      max-width: 100%;
      overflow-x: auto;
      padding-bottom: 4px;
    }
    .survey-grid-wrap .source-table {
      min-width: 620px;
      table-layout: fixed;
    }
    .survey-grid-wrap .source-table th:first-child,
    .survey-grid-wrap .source-table td:first-child {
      width: 150px;
    }
    .survey-grid-label-input {
      background: transparent !important;
      border: 1px solid transparent;
      border-radius: 6px;
      box-sizing: border-box;
      color: inherit;
      font: inherit;
      font-weight: 800;
      min-height: 34px;
      padding: 5px 7px;
      text-align: inherit;
      width: 100%;
    }
    .survey-grid-label-input:focus {
      background: #fff !important;
      border-color: var(--primary-color);
      outline: 0;

    }
    .survey-toolbar {
      display: flex;
      gap: 6px;
      margin-right: auto;
    }
    .survey-toolbar button {
      background: #fff;
      border: 1px solid #ced4da;
      border-radius: 6px;
      color: #495057;
      cursor: pointer;
      font-weight: 900;
      min-height: 34px;
      min-width: 34px;
    }
    .survey-toolbar button.active {
      background: var(--rise-yellow);
      border-color: var(--rise-yellow);
      color: #212529;
    }
    .survey-side .module-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .survey-side .module-card {
      min-height: 78px;
    }
    .survey-customize-grid {
      display: grid;
      gap: 12px;
    }
    .survey-style-row {
      align-items: end;
      display: grid;
      gap: 8px;
      grid-template-columns: minmax(0, 1fr) 82px;
    }
    .survey-swatch-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 14px;
    }
    .survey-color-picker-row {
      align-items: center;
      display: grid;
      gap: 8px;
      grid-template-columns: 1fr 48px;
      margin-bottom: 14px;
    }
    .survey-color-picker-row input[type="color"] {
      border: 1px solid #ced4da;
      border-radius: 999px;
      height: 38px;
      padding: 0;
      width: 44px;
    }
    .survey-color-picker-row input[type="color"]::-webkit-color-swatch-wrapper {
      padding: 0;
    }
    .survey-color-picker-row input[type="color"]::-webkit-color-swatch {
      border: 0;
      border-radius: 999px;
    }
    .survey-swatch {
      border: 0;
      border-radius: 999px;
      cursor: pointer;
      height: 34px;
      width: 34px;
    }
    .survey-swatch.active {
      box-shadow: 0 0 0 4px #fff, 0 0 0 7px var(--primary-color);
    }
    .survey-section-list {
      display: grid;
      gap: 8px;
    }
    .survey-section-pill {
      align-items: center;
      background: #f8f9fa;
      border: 1px solid #dee2e6;
      border-radius: 6px;
      cursor: grab;
      display: flex;
      gap: 8px;
      justify-content: space-between;
      padding: 9px 10px;
    }
    .survey-section-pill.dragging {
      opacity: .45;
    }
    .survey-add-section-primary {
      margin-bottom: 14px;
      width: 100%;
    }
    .survey-type-grid {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .survey-type-choice {
      align-items: center;
      background: #fff;
      border: 1px solid #dee2e6;
      border-radius: 7px;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      font-weight: 900;
      gap: 8px;
      justify-content: center;
      min-height: 96px;
      padding: 12px;
      text-align: center;
    }
    .survey-type-choice:hover {
      border-color: var(--primary-color);
      color: var(--primary-color);
    }
    /* ==========================================================================
    10. NOTIFICATIONS & MEDIA QUERIES
    ========================================================================== */
    .safe-note {
      background: #fff8db;
      border: 1px solid #f5c542;
      border-left: 6px solid var(--rise-yellow);
      border-radius: 7px;
      padding: 14px 16px;
      color: #6b5300;
      font-weight: 800;
      margin: 14px 0;
    }
    .safe-toast {
      position: fixed;
      left: 50%;
      bottom: 28px;
      transform: translateX(-50%);
      z-index: 1400;
      background: #212529;
      color: #fff;
      border-radius: 999px;
      padding: 10px 18px;
      font-weight: 900;
      box-shadow: 0 8px 26px rgba(0,0,0,.24);
      display: none;
    }
    .safe-toast.show {
      display: block;
    }
    @media(max-width:950px) {
      .outreach-page {
        box-sizing: border-box;
        margin: 10px auto;
        max-width: none;
        padding: 18px 12px;
        width: calc(100% - 24px);
      }
      .outreach-tabs-row {
        align-items: stretch;
        display: block;
      }
      .outreach-tabs {
        gap: 8px;
      }
      .send-receive-email {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        justify-content: flex-start;
        margin: 12px 0 0;
        max-width: 100%;
        text-align: left;
        white-space: normal;
      }
      .send-receive-email-link {
        min-width: 0;
        overflow-wrap: anywhere;
      }
      .campaign-email-info-link {
        flex: 0 0 20px;
      }
      .pane-head,
      .builder-layout,
      .email-builder,
      .survey-builder,
      .wizard-grid,
      .wizard-grid.three,
      .card-grid,
      .petition-dash-top,
      .petition-dashboard-widgets,
      .petition-live-doc,
      .public-petition-layout {
        display: block;
      }
      .petition-dash-progress {
        width: auto;
        max-width: none;
        margin-top: 18px;
      }
      .tab-pane > .pane-head > .actions,
      .tab-pane > .pane-head > .btn.primary {
        margin-top: 18px;
      }
      .petition-live-form {
        border-left: 0;
        border-top: 1px solid #dee2e6;
      }
      .builder-pane,
      .preview-pane {
        max-height: none;
        border-right: 0;
      }
      .email-builder {
        height: auto;
      }
      .email-side,
      .survey-side {
        border-left: 0;
      }
      .survey-question-main,
      .survey-branch-row {
        display: block;
      }
      .survey-type-chip,
      .survey-photo-button {
        margin-top: 10px;
      }
      .dialog footer {
        display: block;
      }
      .dialog footer .btn {
        width: 100%;
        margin: 5px 0;
      }
    }
    @media(max-width:767px) {
      body.public-outreach-page .public-rise-header {
        min-height: 76px;
        padding: 8px 14px 8px 10px;
      }
      body.public-outreach-page .public-rise-brand {
        gap: 0;
      }
      body.public-outreach-page .public-rise-logo {
        flex-basis: 52px;
        height: 56px;
        width: 52px;
      }
      body.public-outreach-page .public-rise-wordmark {
        gap: 2px;
        padding-bottom: 7px;
      }
      body.public-outreach-page .public-rise-wordmark strong {
        font-size: .72rem;
        letter-spacing: .1em;
      }
      body.public-outreach-page .public-rise-wordmark span {
        font-size: .58rem;
        max-width: 17rem;
      }
      body.public-outreach-page .public-rise-footer {
        font-size: .7rem;
        grid-template-columns: 1fr;
        justify-items: start;
        margin-top: 28px;
        padding: 18px 14px 28px;
      }
      body.public-outreach-page .public-rise-footer .page-footer-logo {
        height: 42px;
        width: 42px;
      }
      body.public-outreach-page .public-rise-footer .page-footer-links {
        justify-items: center;
        min-width: 0;
        text-align: center;
        width: 100%;
      }
      body.public-outreach-page .public-rise-footer .page-footer-site {
        font-size: .82rem;
      }
      .outreach-page {
        margin: 10px auto;
        max-width: none;
        width: calc(100% - 32px);
      }
      @supports (padding: max(0px)) {
        .outreach-page {
          width: calc(100% - max(32px, env(safe-area-inset-left) + env(safe-area-inset-right) + 32px));
        }
      }
      .dialog.full,
      .dialog,
      .dialog.narrow {
        width: min(100%, calc(100vw - 16px));
      }
      .outreach-modal {
        padding: 8px;
      }
      .dialog header {
        gap: 10px;
        padding: 12px 14px;
      }
      .dialog h2 {
        font-size: 1.2rem;
        line-height: 1.15;
      }
      .dialog .modal-body {
        max-height: calc(100vh - 132px);
        padding: 14px;
      }
      .dialog footer {
        padding: 10px 14px;
      }
      .outreach-modal .pane-head {
        margin-bottom: 14px;
      }
      .outreach-modal .pane-head h1,
      .outreach-modal .petition-dash-title h1,
      .outreach-modal .riseTop h1 {
        font-size: 1.35rem !important;
        line-height: 1.12 !important;
        overflow-wrap: anywhere;
      }
      .outreach-modal .actions {
        display: grid;
        gap: 8px;
        width: 100%;
      }
      .outreach-modal .actions .btn {
        width: 100%;
      }
      .outreach-modal .petition-dash-actions,
      .outreach-modal .riseBtns {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 8px;
      }
      .outreach-modal .petition-dash-actions .btn,
      .outreach-modal .riseBtns .btn {
        min-height: 42px;
        width: 100%;
      }
      .outreach-modal .petition-doc-frame,
      .outreach-modal .liveText,
      .outreach-modal .liveForm {
        padding: 16px !important;
      }
      .outreach-modal .petition-live-body {
        padding: 18px 16px;
      }
      .outreach-modal .petition-live-form {
        padding: 18px 16px;
      }
      .outreach-modal .petition-live-title,
      .outreach-modal .liveText h2 {
        font-size: 1.15rem !important;
        line-height: 1.2;
      }
      .outreach-modal .petition-dashboard-widgets,
      .outreach-modal .widgets {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 12px;
      }
      .outreach-modal .dash-widget,
      .outreach-modal .widget {
        min-height: 0 !important;
        padding: 14px !important;
      }
      .outreach-modal .signature-chart,
      .outreach-modal .chart svg {
        display: block;
        height: auto !important;
        max-width: 100%;
      }
      .outreach-modal .email-dashboard-layout {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
      }
      .mobile-dashboard-tabs {
        display: grid;
        gap: 14px;
      }
      .mobile-dashboard-tab-controls {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
      }
      .mobile-dashboard-tab {
        border: 1px solid var(--primary-color);
        border-radius: 6px;
        background: #fff;
        color: var(--primary-color);
        cursor: pointer;
        font-weight: 900;
        min-height: 42px;
        padding: 9px 10px;
      }
      .mobile-dashboard-tab.active {
        background: var(--primary-color);
        color: #fff;
      }
      .mobile-dashboard-panel[hidden] {
        display: none !important;
      }
      .outreach-modal .email-dashboard-preview {
        max-width: 100%;
        padding: 10px;
      }
      .outreach-modal .email-dashboard-iframe {
        min-height: 420px;
      }
      .outreach-modal .survey-dashboard-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px;
      }
      .outreach-modal .survey-dashboard-actions .btn {
        font-size: .78rem;
        min-height: 40px;
        min-width: 0;
        padding: 7px 4px;
        width: 100%;
      }
      #surveyDashboardModal .survey-dashboard-actions {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
      }
      #surveyDashboardModal .survey-dashboard-actions .btn {
        font-size: .72rem !important;
        min-height: 38px !important;
        min-width: 0 !important;
        padding: 7px 3px !important;
        width: auto !important;
      }
      .outreach-modal .email-metric-grid {
        grid-template-columns: 1fr;
      }
      .outreach-modal .email-metric-card {
        min-height: 0;
      }
      .outreach-modal .email-funnel-row {
        grid-template-columns: 72px minmax(0, 1fr) 42px;
        gap: 7px;
        letter-spacing: 0;
      }
      .outreach-modal .report-table-wrap {
        border: 0;
        overflow: visible;
      }
      .outreach-modal .report-table-wrap .source-table,
      .outreach-modal .report-table-wrap .source-table thead,
      .outreach-modal .report-table-wrap .source-table tbody,
      .outreach-modal .report-table-wrap .source-table tr,
      .outreach-modal .report-table-wrap .source-table th,
      .outreach-modal .report-table-wrap .source-table td {
        display: block;
        width: 100%;
      }
      .outreach-modal .report-table-wrap .source-table thead {
        display: none;
      }
      .outreach-modal .report-table-wrap .source-table tr {
        background: #fff !important;
        border: 1px solid #dee2e6;
        border-radius: 12px;
        margin-bottom: 10px;
        overflow: hidden;
      }
      .outreach-modal .report-table-wrap .source-table td {
        border-bottom: 1px solid #eef1f5;
        box-sizing: border-box;
        display: grid;
        gap: 8px;
        grid-template-columns: minmax(86px, .42fr) minmax(0, 1fr);
        padding: 9px 10px;
        overflow-wrap: anywhere;
      }
      .outreach-modal .report-table-wrap .source-table td:last-child {
        border-bottom: 0;
      }
      .outreach-modal .report-table-wrap .source-table td::before {
        color: #6c757d;
        content: "Field";
        font-size: .7rem;
        font-weight: 900;
        letter-spacing: .04em;
  
      }
      .outreach-modal .report-table-wrap .source-table td:nth-child(1)::before { content: "Date"; }
      .outreach-modal .report-table-wrap .source-table td:nth-child(2)::before { content: "Name"; }
      .outreach-modal .report-table-wrap .source-table td:nth-child(3)::before { content: "Email"; }
      .outreach-modal .report-table-wrap .source-table td:nth-child(4)::before { content: "Phone"; }
      .outreach-modal .report-table-wrap .source-table td:nth-child(5)::before { content: "Department"; }
      .outreach-modal .report-table-wrap .source-table td:nth-child(6)::before { content: "Details"; }
      .outreach-modal .report-table-wrap .source-table td:nth-child(7)::before { content: "Status"; }
      .outreach-modal .report-table-wrap .source-table td:nth-child(8)::before { content: "Status"; }
      .outreach-modal .signature-compare-grid,
      .outreach-modal .signature-compare-head {
        display: block;
      }
      .outreach-modal .signature-compare-panel + .signature-compare-panel {
        margin-top: 12px;
      }
      .outreach-modal .signature-compare-row {
        grid-template-columns: 1fr;
        gap: 5px;
      }
    }
  

/* ==========================================================================
   WORKSPACE UI SKIN OVERRIDES
   ========================================================================== */

/* 1. Pill-Shaped Buttons & Tabs */
.btn, .tab-btn {
    white-space: nowrap !important;
    border-radius: 50px !important;
}

/* 2. Pill-Shaped Inputs (excluding textareas) */
.input:not(textarea),
.preview-input:not(textarea),
.rise-select,
select.input {
    border-radius: 50px !important;
}

/* Ensure Textareas maintain standard radius */
textarea.input,
textarea.preview-input {
    border-radius: 12px !important;
}

/* 3. Primary Hover States (Removed legacy blue) */
.btn.primary:hover,
.outreach-modal .btn.primary:hover,
.outreach-page .btn.primary:hover,
.tab-btn.active:hover {
}

/* Sub-btn hover */
.btn:not(.primary):not(.danger):not(.warn):hover {
}

/* Fix for Modal Footer Pill Buttons Squishing */
.btn {
    width: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    min-height: 36px !important;
}
/* Ensure icon-only buttons remain circular/square */
.card-icon-link {
    width: 30px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Fix Card on a Card */
.outreach-page {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    min-height: auto !important;
}
