@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');@font-face {
    font-family: 'primeicons';
    font-display: block;
    src: url('./primeicons-DMOk5skT.eot');
    src: url('./primeicons-DMOk5skT.eot?#iefix') format('embedded-opentype'), url('./primeicons-C6QP2o4f.woff2') format('woff2'), url('./primeicons-WjwUDZjB.woff') format('woff'), url('./primeicons-MpK4pl85.ttf') format('truetype'), url('./primeicons-Dr5RGzOO.svg?#primeicons') format('svg');
    font-weight: normal;
    font-style: normal;
}

.pi {
    font-family: 'primeicons';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.pi:before {
    --webkit-backface-visibility:hidden;
    backface-visibility: hidden;
}

.pi-fw {
    width: 1.28571429em;
    text-align: center;
}

.pi-spin {
    -webkit-animation: fa-spin 2s infinite linear;
    animation: fa-spin 2s infinite linear;
}

@media (prefers-reduced-motion: reduce) {
  .pi-spin {
    -webkit-animation-delay: -1ms;
    animation-delay: -1ms;
    -webkit-animation-duration: 1ms;
    animation-duration: 1ms;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
  }
}

@-webkit-keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

@keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

.pi-folder-plus:before {
    content: "\ea05";
}

.pi-receipt:before {
    content: "\ea06";
}

.pi-asterisk:before {
    content: "\ea07";
}

.pi-face-smile:before {
    content: "\ea08";
}

.pi-pinterest:before {
    content: "\ea09";
}

.pi-expand:before {
    content: "\ea0a";
}

.pi-pen-to-square:before {
    content: "\ea0b";
}

.pi-wave-pulse:before {
    content: "\ea0c";
}

.pi-turkish-lira:before {
    content: "\ea0d";
}

.pi-spinner-dotted:before {
    content: "\ea0e";
}

.pi-crown:before {
    content: "\ea0f";
}

.pi-pause-circle:before {
    content: "\ea10";
}

.pi-warehouse:before {
    content: "\ea11";
}

.pi-objects-column:before {
    content: "\ea12";
}

.pi-clipboard:before {
    content: "\ea13";
}

.pi-play-circle:before {
    content: "\ea14";
}

.pi-venus:before {
    content: "\ea15";
}

.pi-cart-minus:before {
    content: "\ea16";
}

.pi-file-plus:before {
    content: "\ea17";
}

.pi-microchip:before {
    content: "\ea18";
}

.pi-twitch:before {
    content: "\ea19";
}

.pi-building-columns:before {
    content: "\ea1a";
}

.pi-file-check:before {
    content: "\ea1b";
}

.pi-microchip-ai:before {
    content: "\ea1c";
}

.pi-trophy:before {
    content: "\ea1d";
}

.pi-barcode:before {
    content: "\ea1e";
}

.pi-file-arrow-up:before {
    content: "\ea1f";
}

.pi-mars:before {
    content: "\ea20";
}

.pi-tiktok:before {
    content: "\ea21";
}

.pi-arrow-up-right-and-arrow-down-left-from-center:before {
    content: "\ea22";
}

.pi-ethereum:before {
    content: "\ea23";
}

.pi-list-check:before {
    content: "\ea24";
}

.pi-thumbtack:before {
    content: "\ea25";
}

.pi-arrow-down-left-and-arrow-up-right-to-center:before {
    content: "\ea26";
}

.pi-equals:before {
    content: "\ea27";
}

.pi-lightbulb:before {
    content: "\ea28";
}

.pi-star-half:before {
    content: "\ea29";
}

.pi-address-book:before {
    content: "\ea2a";
}

.pi-chart-scatter:before {
    content: "\ea2b";
}

.pi-indian-rupee:before {
    content: "\ea2c";
}

.pi-star-half-fill:before {
    content: "\ea2d";
}

.pi-cart-arrow-down:before {
    content: "\ea2e";
}

.pi-calendar-clock:before {
    content: "\ea2f";
}

.pi-sort-up-fill:before {
    content: "\ea30";
}

.pi-sparkles:before {
    content: "\ea31";
}

.pi-bullseye:before {
    content: "\ea32";
}

.pi-sort-down-fill:before {
    content: "\ea33";
}

.pi-graduation-cap:before {
    content: "\ea34";
}

.pi-hammer:before {
    content: "\ea35";
}

.pi-bell-slash:before {
    content: "\ea36";
}

.pi-gauge:before {
    content: "\ea37";
}

.pi-shop:before {
    content: "\ea38";
}

.pi-headphones:before {
    content: "\ea39";
}

.pi-eraser:before {
    content: "\ea04";
}

.pi-stopwatch:before {
    content: "\ea01";
}

.pi-verified:before {
    content: "\ea02";
}

.pi-delete-left:before {
    content: "\ea03";
}

.pi-hourglass:before {
    content: "\e9fe";
}

.pi-truck:before {
    content: "\ea00";
}

.pi-wrench:before {
    content: "\e9ff";
}

.pi-microphone:before {
    content: "\e9fa";
}

.pi-megaphone:before {
    content: "\e9fb";
}

.pi-arrow-right-arrow-left:before {
    content: "\e9fc";
}

.pi-bitcoin:before {
    content: "\e9fd";
}

.pi-file-edit:before {
    content: "\e9f6";
}

.pi-language:before {
    content: "\e9f7";
}

.pi-file-export:before {
    content: "\e9f8";
}

.pi-file-import:before {
    content: "\e9f9";
}

.pi-file-word:before {
    content: "\e9f1";
}

.pi-gift:before {
    content: "\e9f2";
}

.pi-cart-plus:before {
    content: "\e9f3";
}

.pi-thumbs-down-fill:before {
    content: "\e9f4";
}

.pi-thumbs-up-fill:before {
    content: "\e9f5";
}

.pi-arrows-alt:before {
    content: "\e9f0";
}

.pi-calculator:before {
    content: "\e9ef";
}

.pi-sort-alt-slash:before {
    content: "\e9ee";
}

.pi-arrows-h:before {
    content: "\e9ec";
}

.pi-arrows-v:before {
    content: "\e9ed";
}

.pi-pound:before {
    content: "\e9eb";
}

.pi-prime:before {
    content: "\e9ea";
}

.pi-chart-pie:before {
    content: "\e9e9";
}

.pi-reddit:before {
    content: "\e9e8";
}

.pi-code:before {
    content: "\e9e7";
}

.pi-sync:before {
    content: "\e9e6";
}

.pi-shopping-bag:before {
    content: "\e9e5";
}

.pi-server:before {
    content: "\e9e4";
}

.pi-database:before {
    content: "\e9e3";
}

.pi-hashtag:before {
    content: "\e9e2";
}

.pi-bookmark-fill:before {
    content: "\e9df";
}

.pi-filter-fill:before {
    content: "\e9e0";
}

.pi-heart-fill:before {
    content: "\e9e1";
}

.pi-flag-fill:before {
    content: "\e9de";
}

.pi-circle:before {
    content: "\e9dc";
}

.pi-circle-fill:before {
    content: "\e9dd";
}

.pi-bolt:before {
    content: "\e9db";
}

.pi-history:before {
    content: "\e9da";
}

.pi-box:before {
    content: "\e9d9";
}

.pi-at:before {
    content: "\e9d8";
}

.pi-arrow-up-right:before {
    content: "\e9d4";
}

.pi-arrow-up-left:before {
    content: "\e9d5";
}

.pi-arrow-down-left:before {
    content: "\e9d6";
}

.pi-arrow-down-right:before {
    content: "\e9d7";
}

.pi-telegram:before {
    content: "\e9d3";
}

.pi-stop-circle:before {
    content: "\e9d2";
}

.pi-stop:before {
    content: "\e9d1";
}

.pi-whatsapp:before {
    content: "\e9d0";
}

.pi-building:before {
    content: "\e9cf";
}

.pi-qrcode:before {
    content: "\e9ce";
}

.pi-car:before {
    content: "\e9cd";
}

.pi-instagram:before {
    content: "\e9cc";
}

.pi-linkedin:before {
    content: "\e9cb";
}

.pi-send:before {
    content: "\e9ca";
}

.pi-slack:before {
    content: "\e9c9";
}

.pi-sun:before {
    content: "\e9c8";
}

.pi-moon:before {
    content: "\e9c7";
}

.pi-vimeo:before {
    content: "\e9c6";
}

.pi-youtube:before {
    content: "\e9c5";
}

.pi-flag:before {
    content: "\e9c4";
}

.pi-wallet:before {
    content: "\e9c3";
}

.pi-map:before {
    content: "\e9c2";
}

.pi-link:before {
    content: "\e9c1";
}

.pi-credit-card:before {
    content: "\e9bf";
}

.pi-discord:before {
    content: "\e9c0";
}

.pi-percentage:before {
    content: "\e9be";
}

.pi-euro:before {
    content: "\e9bd";
}

.pi-book:before {
    content: "\e9ba";
}

.pi-shield:before {
    content: "\e9b9";
}

.pi-paypal:before {
    content: "\e9bb";
}

.pi-amazon:before {
    content: "\e9bc";
}

.pi-phone:before {
    content: "\e9b8";
}

.pi-filter-slash:before {
    content: "\e9b7";
}

.pi-facebook:before {
    content: "\e9b4";
}

.pi-github:before {
    content: "\e9b5";
}

.pi-twitter:before {
    content: "\e9b6";
}

.pi-step-backward-alt:before {
    content: "\e9ac";
}

.pi-step-forward-alt:before {
    content: "\e9ad";
}

.pi-forward:before {
    content: "\e9ae";
}

.pi-backward:before {
    content: "\e9af";
}

.pi-fast-backward:before {
    content: "\e9b0";
}

.pi-fast-forward:before {
    content: "\e9b1";
}

.pi-pause:before {
    content: "\e9b2";
}

.pi-play:before {
    content: "\e9b3";
}

.pi-compass:before {
    content: "\e9ab";
}

.pi-id-card:before {
    content: "\e9aa";
}

.pi-ticket:before {
    content: "\e9a9";
}

.pi-file-o:before {
    content: "\e9a8";
}

.pi-reply:before {
    content: "\e9a7";
}

.pi-directions-alt:before {
    content: "\e9a5";
}

.pi-directions:before {
    content: "\e9a6";
}

.pi-thumbs-up:before {
    content: "\e9a3";
}

.pi-thumbs-down:before {
    content: "\e9a4";
}

.pi-sort-numeric-down-alt:before {
    content: "\e996";
}

.pi-sort-numeric-up-alt:before {
    content: "\e997";
}

.pi-sort-alpha-down-alt:before {
    content: "\e998";
}

.pi-sort-alpha-up-alt:before {
    content: "\e999";
}

.pi-sort-numeric-down:before {
    content: "\e99a";
}

.pi-sort-numeric-up:before {
    content: "\e99b";
}

.pi-sort-alpha-down:before {
    content: "\e99c";
}

.pi-sort-alpha-up:before {
    content: "\e99d";
}

.pi-sort-alt:before {
    content: "\e99e";
}

.pi-sort-amount-up:before {
    content: "\e99f";
}

.pi-sort-amount-down:before {
    content: "\e9a0";
}

.pi-sort-amount-down-alt:before {
    content: "\e9a1";
}

.pi-sort-amount-up-alt:before {
    content: "\e9a2";
}

.pi-palette:before {
    content: "\e995";
}

.pi-undo:before {
    content: "\e994";
}

.pi-desktop:before {
    content: "\e993";
}

.pi-sliders-v:before {
    content: "\e991";
}

.pi-sliders-h:before {
    content: "\e992";
}

.pi-search-plus:before {
    content: "\e98f";
}

.pi-search-minus:before {
    content: "\e990";
}

.pi-file-excel:before {
    content: "\e98e";
}

.pi-file-pdf:before {
    content: "\e98d";
}

.pi-check-square:before {
    content: "\e98c";
}

.pi-chart-line:before {
    content: "\e98b";
}

.pi-user-edit:before {
    content: "\e98a";
}

.pi-exclamation-circle:before {
    content: "\e989";
}

.pi-android:before {
    content: "\e985";
}

.pi-google:before {
    content: "\e986";
}

.pi-apple:before {
    content: "\e987";
}

.pi-microsoft:before {
    content: "\e988";
}

.pi-heart:before {
    content: "\e984";
}

.pi-mobile:before {
    content: "\e982";
}

.pi-tablet:before {
    content: "\e983";
}

.pi-key:before {
    content: "\e981";
}

.pi-shopping-cart:before {
    content: "\e980";
}

.pi-comments:before {
    content: "\e97e";
}

.pi-comment:before {
    content: "\e97f";
}

.pi-briefcase:before {
    content: "\e97d";
}

.pi-bell:before {
    content: "\e97c";
}

.pi-paperclip:before {
    content: "\e97b";
}

.pi-share-alt:before {
    content: "\e97a";
}

.pi-envelope:before {
    content: "\e979";
}

.pi-volume-down:before {
    content: "\e976";
}

.pi-volume-up:before {
    content: "\e977";
}

.pi-volume-off:before {
    content: "\e978";
}

.pi-eject:before {
    content: "\e975";
}

.pi-money-bill:before {
    content: "\e974";
}

.pi-images:before {
    content: "\e973";
}

.pi-image:before {
    content: "\e972";
}

.pi-sign-in:before {
    content: "\e970";
}

.pi-sign-out:before {
    content: "\e971";
}

.pi-wifi:before {
    content: "\e96f";
}

.pi-sitemap:before {
    content: "\e96e";
}

.pi-chart-bar:before {
    content: "\e96d";
}

.pi-camera:before {
    content: "\e96c";
}

.pi-dollar:before {
    content: "\e96b";
}

.pi-lock-open:before {
    content: "\e96a";
}

.pi-table:before {
    content: "\e969";
}

.pi-map-marker:before {
    content: "\e968";
}

.pi-list:before {
    content: "\e967";
}

.pi-eye-slash:before {
    content: "\e965";
}

.pi-eye:before {
    content: "\e966";
}

.pi-folder-open:before {
    content: "\e964";
}

.pi-folder:before {
    content: "\e963";
}

.pi-video:before {
    content: "\e962";
}

.pi-inbox:before {
    content: "\e961";
}

.pi-lock:before {
    content: "\e95f";
}

.pi-unlock:before {
    content: "\e960";
}

.pi-tags:before {
    content: "\e95d";
}

.pi-tag:before {
    content: "\e95e";
}

.pi-power-off:before {
    content: "\e95c";
}

.pi-save:before {
    content: "\e95b";
}

.pi-question-circle:before {
    content: "\e959";
}

.pi-question:before {
    content: "\e95a";
}

.pi-copy:before {
    content: "\e957";
}

.pi-file:before {
    content: "\e958";
}

.pi-clone:before {
    content: "\e955";
}

.pi-calendar-times:before {
    content: "\e952";
}

.pi-calendar-minus:before {
    content: "\e953";
}

.pi-calendar-plus:before {
    content: "\e954";
}

.pi-ellipsis-v:before {
    content: "\e950";
}

.pi-ellipsis-h:before {
    content: "\e951";
}

.pi-bookmark:before {
    content: "\e94e";
}

.pi-globe:before {
    content: "\e94f";
}

.pi-replay:before {
    content: "\e94d";
}

.pi-filter:before {
    content: "\e94c";
}

.pi-print:before {
    content: "\e94b";
}

.pi-align-right:before {
    content: "\e946";
}

.pi-align-left:before {
    content: "\e947";
}

.pi-align-center:before {
    content: "\e948";
}

.pi-align-justify:before {
    content: "\e949";
}

.pi-cog:before {
    content: "\e94a";
}

.pi-cloud-download:before {
    content: "\e943";
}

.pi-cloud-upload:before {
    content: "\e944";
}

.pi-cloud:before {
    content: "\e945";
}

.pi-pencil:before {
    content: "\e942";
}

.pi-users:before {
    content: "\e941";
}

.pi-clock:before {
    content: "\e940";
}

.pi-user-minus:before {
    content: "\e93e";
}

.pi-user-plus:before {
    content: "\e93f";
}

.pi-trash:before {
    content: "\e93d";
}

.pi-external-link:before {
    content: "\e93c";
}

.pi-window-maximize:before {
    content: "\e93b";
}

.pi-window-minimize:before {
    content: "\e93a";
}

.pi-refresh:before {
    content: "\e938";
}
  
.pi-user:before {
    content: "\e939";
}

.pi-exclamation-triangle:before {
    content: "\e922";
}

.pi-calendar:before {
    content: "\e927";
}

.pi-chevron-circle-left:before {
    content: "\e928";
}

.pi-chevron-circle-down:before {
    content: "\e929";
}

.pi-chevron-circle-right:before {
    content: "\e92a";
}

.pi-chevron-circle-up:before {
    content: "\e92b";
}

.pi-angle-double-down:before {
    content: "\e92c";
}

.pi-angle-double-left:before {
    content: "\e92d";
}

.pi-angle-double-right:before {
    content: "\e92e";
}

.pi-angle-double-up:before {
    content: "\e92f";
}

.pi-angle-down:before {
    content: "\e930";
}

.pi-angle-left:before {
    content: "\e931";
}

.pi-angle-right:before {
    content: "\e932";
}

.pi-angle-up:before {
    content: "\e933";
}

.pi-upload:before {
    content: "\e934";
}

.pi-download:before {
    content: "\e956";
}

.pi-ban:before {
    content: "\e935";
}

.pi-star-fill:before {
    content: "\e936";
}

.pi-star:before {
    content: "\e937";
}

.pi-chevron-left:before {
    content: "\e900";
}

.pi-chevron-right:before {
    content: "\e901";
}

.pi-chevron-down:before {
    content: "\e902";
}

.pi-chevron-up:before {
    content: "\e903";
}

.pi-caret-left:before {
    content: "\e904";
}

.pi-caret-right:before {
    content: "\e905";
}

.pi-caret-down:before {
    content: "\e906";
}

.pi-caret-up:before {
    content: "\e907";
}

.pi-search:before {
    content: "\e908";
}

.pi-check:before {
    content: "\e909";
}

.pi-check-circle:before {
    content: "\e90a";
}

.pi-times:before {
    content: "\e90b";
}

.pi-times-circle:before {
    content: "\e90c";
}

.pi-plus:before {
    content: "\e90d";
}

.pi-plus-circle:before {
    content: "\e90e";
}

.pi-minus:before {
    content: "\e90f";
}

.pi-minus-circle:before {
    content: "\e910";
}

.pi-circle-on:before {
    content: "\e911";
}

.pi-circle-off:before {
    content: "\e912";
}

.pi-sort-down:before {
    content: "\e913";
}

.pi-sort-up:before {
    content: "\e914";
}

.pi-sort:before {
    content: "\e915";
}

.pi-step-backward:before {
    content: "\e916";
}

.pi-step-forward:before {
    content: "\e917";
}

.pi-th-large:before {
    content: "\e918";
}

.pi-arrow-down:before {
    content: "\e919";
}

.pi-arrow-left:before {
    content: "\e91a";
}

.pi-arrow-right:before {
    content: "\e91b";
}

.pi-arrow-up:before {
    content: "\e91c";
}

.pi-bars:before {
    content: "\e91d";
}

.pi-arrow-circle-down:before {
    content: "\e91e";
}

.pi-arrow-circle-left:before {
    content: "\e91f";
}

.pi-arrow-circle-right:before {
    content: "\e920";
}

.pi-arrow-circle-up:before {
    content: "\e921";
}

.pi-info:before {
    content: "\e923";
}

.pi-info-circle:before {
    content: "\e924";
}

.pi-home:before {
    content: "\e925";
}

.pi-spinner:before {
    content: "\e926";
}
/**
 * Shared responsive-table card pattern for narrow viewports.
 *
 * Usage on a native <table>:
 *   <table class="responsive-table-cards">
 *     <thead>
 *       <tr>
 *         <th>Date</th>
 *         <th>Title</th>
 *         <th>Action</th>
 *       </tr>
 *     </thead>
 *     <tbody>
 *       <tr>
 *         <td data-label="Date">Jan 1, 2026</td>
 *         <td data-label="Title" class="is-mobile-primary">My title</td>
 *         <td data-label="Action" class="is-mobile-meta">
 *           <button>View</button>
 *         </td>
 *       </tr>
 *     </tbody>
 *   </table>
 *
 * Cell modifier classes:
 *   .is-mobile-primary  Render as a full-width title row at the top of the
 *                       card; the label is hidden. Uses CSS `order: -1` so
 *                       the DOM column ordering for desktop stays untouched.
 *   .is-mobile-meta     Label above value (full width). Useful for action
 *                       buttons that need the full card width on mobile.
 *   .is-mobile-hidden   Hide the cell on mobile entirely.
 *
 * Desktop (>640px) behavior is fully preserved: the rules below live inside a
 * @media query and reset back to native <table> rendering above 640px.
 *
 * Breakpoint matches the "md" token in
 * shared/src/design-system/tokens/breakpoints.ts.
 *
 * Note: rules use !important so that page-level scoped styles (which add a
 * data-v-* attribute and therefore have higher specificity than these unscoped
 * global rules) cannot accidentally undo the mobile layout.
 */

@media (max-width: 640px) {
  .responsive-table-cards {
    display: block !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
  }

  .responsive-table-cards > thead {
    display: none !important;
  }

  .responsive-table-cards > tbody,
  .responsive-table-cards > tfoot {
    display: block !important;
  }

  .responsive-table-cards > tbody > tr {
    display: flex !important;
    flex-direction: column !important;
    padding: 14px 16px !important;
    border-radius: 12px !important;
    border: 1px solid #DBDCDD !important;
    margin-bottom: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  }

  .responsive-table-cards > tbody > tr:last-child {
    margin-bottom: 0 !important;
  }

  /* Default cell: label/value pair via two-column grid */
  .responsive-table-cards > tbody > tr > td {
    display: grid !important;
    grid-template-columns: max-content 1fr !important;
    align-items: start !important;
    gap: 0 12px !important;
    padding: 4px 0 !important;
    border: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
    white-space: normal !important;
    /* Allow long unbreakable strings (URLs, IDs) to wrap */
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* Visual label (sourced from data-label). Pseudo-elements are not in the
     accessibility tree, so this remains decorative; screen readers still read
     the original column headers via <th> + <td> association. */
  .responsive-table-cards > tbody > tr > td::before {
    content: attr(data-label);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6E7277;
    line-height: 1.3;
    padding-top: 2px;
  }

  /* Cells with no data-label fall back gracefully (no empty pseudo box) */
  .responsive-table-cards > tbody > tr > td:not([data-label])::before,
  .responsive-table-cards > tbody > tr > td[data-label='']::before {
    content: none;
  }

  /* Primary: card title row; full-width, no visible label, rendered on top of
     the card regardless of DOM order so desktop column ordering is preserved. */
  .responsive-table-cards > tbody > tr > td.is-mobile-primary {
    display: block !important;
    order: -1 !important;
    padding: 0 0 8px 0 !important;
    margin-bottom: 8px !important;
    border-bottom: 1px solid #f1f3f5 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
  }

  .responsive-table-cards > tbody > tr > td.is-mobile-primary::before {
    content: none;
  }

  /* Meta: keep label, but let value span the full row underneath the label.
     Useful for action buttons or long content. */
  .responsive-table-cards > tbody > tr > td.is-mobile-meta {
    display: block !important;
    padding-top: 8px !important;
  }

  .responsive-table-cards > tbody > tr > td.is-mobile-meta::before {
    display: block;
    margin-bottom: 6px;
  }

  /* Hidden: omit from mobile layout (still in DOM for accessibility tools that
     need it; aria-hidden should be added on the cell if completely redundant). */
  .responsive-table-cards > tbody > tr > td.is-mobile-hidden {
    display: none !important;
  }

  /* Wrapper helper: any container with .responsive-table-cards-wrap shrinks to
     content height instead of capping with max-height/overflow. Apply this on
     the <div> that wraps a .responsive-table-cards <table> when the wrapper
     itself sets height limits or overflow on desktop. */
  .responsive-table-cards-wrap {
    max-height: none !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
  }
}

/*
 * Fallback: in the rare case display: grid on <td> is not supported (very old
 * browsers), the cell renders as block with the label inline-prefix.
 */
@supports not (display: grid) {
  @media (max-width: 640px) {
    .responsive-table-cards > tbody > tr > td {
      display: block !important;
    }

    .responsive-table-cards > tbody > tr > td::before {
      display: inline-block;
      margin-right: 8px;
    }
  }
}

/* ==========================================================================
 * Global, NON-scoped overrides for the Grant Opportunities eligibility CTA.
 *
 * The eligibility button is rendered as a native <button class="grant-eligibility-btn">
 * (NOT through PrimeVue / BaseButton) so it bypasses every PrimeVue button
 * default rule. These global rules give it the teal-CTA look on every viewport
 * and an mobile tap-friendly size on narrow screens.
 *
 * Rules live in this globally-imported stylesheet so they don't carry any
 * Vue scoped data-v-* attribute and they always win the cascade with
 * !important against any later page-level scoped override.
 * ========================================================================== */
button.grant-eligibility-btn {
  appearance: none;
  -webkit-appearance: none;
  background: #3ec9b5;
  border: 1px solid #3ec9b5;
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
  border-radius: 12px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  width: 100%;
  max-width: 100%;
  min-height: 3.75rem;
  padding: 0.85rem 1rem;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  justify-content: center;
  white-space: normal;
  text-align: center;
  overflow: visible;
  cursor: pointer;
  box-sizing: border-box;
}

button.grant-eligibility-btn:not(:disabled):hover {
  background: #34b0a0;
  border-color: #34b0a0;
}

button.grant-eligibility-btn .grant-eligibility-btn-text {
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
  display: inline-block;
  visibility: visible;
  opacity: 1;
  width: auto;
  height: auto;
  white-space: normal;
  text-align: center;
  overflow: visible;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

@media (max-width: 640px) {
  button.grant-eligibility-btn {
    /* Natural content width, not full card width. The cell is left-aligned in
       cards mode so the button sits next to the rest of the card content
       instead of stretching edge-to-edge. */
    width: auto !important;
    min-width: 180px !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 44px !important;
    padding: 0.65rem 1.25rem !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    border-radius: 10px !important;
    background: #3ec9b5 !important;
    border: 1px solid #3ec9b5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  button.grant-eligibility-btn .grant-eligibility-btn-text {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    white-space: normal !important;
    text-align: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
    overflow: visible !important;
  }
}

.loader[data-v-d6d3240f] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
  min-height: 200px;
}
.loading-spinner[data-v-d6d3240f] {
  width: auto;
  height: auto;
  max-width: 80px;
  max-height: 80px;
  margin-bottom: 1rem;
  object-fit: contain;
  display: block;
}
.loading-message[data-v-d6d3240f] {
  margin: 0;
  margin-top: 0.5rem;
  color: #4A4F55;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

.app-footer-bar[data-v-5ec04aae] {
  width: 100%;
  flex-shrink: 0;
  border-top: 1px solid #e2e8f0;
  background: #f8fafc;
  box-shadow: none;
}
.app-footer-bar__inner[data-v-5ec04aae] {
  box-sizing: border-box;
  max-width: 1200px;
  margin: 0 auto;
  /* Align vertical band with AppSidebar profile strip (padding + ~40px row + bottom pad) */
  padding: var(--app-shell-footer-pad-top, 12px) 24px var(--app-shell-footer-pad-bottom, 20px);
  min-height: calc(
    var(--app-shell-footer-content-min-height, 40px) + var(--app-shell-footer-pad-top, 12px) +
      var(--app-shell-footer-pad-bottom, 20px)
  );
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
  text-align: center;
}
.app-footer-bar__copyright[data-v-5ec04aae] {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
  color: #64748b;
}
.app-footer-bar__links[data-v-5ec04aae] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 4px;
  font-size: 13px;
  font-weight: 600;
}
.app-footer-bar__links a[data-v-5ec04aae] {
  color: #1a2332;
  text-decoration: none;
  padding: 2px 4px;
  border-radius: 4px;
  transition:
    color 0.15s ease,
    background 0.15s ease;
}
@media (hover: hover) {
.app-footer-bar__links a[data-v-5ec04aae]:hover {
    color: #0e7490;
    text-decoration: underline;
    text-underline-offset: 3px;
}
}
.app-footer-bar__links a[data-v-5ec04aae]:focus-visible {
  outline: 2px solid #22d3ee;
  outline-offset: 2px;
}
.app-footer-bar__sep[data-v-5ec04aae] {
  color: #cbd5e1;
  font-weight: 400;
  user-select: none;
}
@media (max-width: 768px) {
.app-footer-bar__inner[data-v-5ec04aae] {
    flex-direction: column;
    padding: var(--app-shell-footer-pad-top, 12px) 16px var(--app-shell-footer-pad-bottom, 20px);
    min-height: 0;
    gap: 10px;
}
.app-footer-bar__copyright[data-v-5ec04aae],
  .app-footer-bar__links[data-v-5ec04aae] {
    font-size: 12px;
}
}
@media (max-width: 480px) {
.app-footer-bar__inner[data-v-5ec04aae] {
    padding: var(--app-shell-footer-pad-top, 12px) 12px var(--app-shell-footer-pad-bottom, 20px);
    gap: 12px;
}
.app-footer-bar__copyright[data-v-5ec04aae] {
    font-size: 11px;
}
.app-footer-bar__links[data-v-5ec04aae] {
    font-size: 11px;
    flex-direction: column;
    gap: 8px;
}
.app-footer-bar__sep[data-v-5ec04aae] {
    display: none;
}
}
@media (prefers-contrast: high) {
.app-footer-bar[data-v-5ec04aae] {
    border-top-width: 2px;
    border-top-color: #0f172a;
    background: #fff;
}
.app-footer-bar__copyright[data-v-5ec04aae] {
    color: #0f172a;
}
.app-footer-bar__links a[data-v-5ec04aae] {
    text-decoration: underline;
    text-decoration-thickness: 2px;
}
}
@media print {
.app-footer-bar[data-v-5ec04aae] {
    background: #fff !important;
    border-top: 1px solid #000 !important;
    box-shadow: none !important;
}
.app-footer-bar__copyright[data-v-5ec04aae],
  .app-footer-bar__links a[data-v-5ec04aae] {
    color: #000 !important;
}
}
@media (prefers-reduced-motion: reduce) {
.app-footer-bar__links a[data-v-5ec04aae] {
    transition: none;
}
}
@media (pointer: coarse) {
.app-footer-bar__links a[data-v-5ec04aae] {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 0.75rem;
    box-sizing: border-box;
}
}

.app-sidebar[data-v-2b1114c6] {
  --sb-bg: #1a2332;
  --sb-bg-elevated: #243047;
  --sb-text: #f8fafc;
  --sb-muted: #94a3b8;
  --sb-accent: #2CD5C4;
  --sb-border-subtle: rgba(148, 163, 184, 0.2);

  display: flex;
  flex-direction: column;
  width: 280px;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 22px 18px var(--app-shell-footer-pad-bottom, 20px);
  box-sizing: border-box;
  background: var(--sb-bg);
  color: var(--sb-text);
  font-family: 'Nunito Sans', system-ui, sans-serif;
  border-right: 1px solid rgba(15, 23, 42, 0.5);
}
.app-sidebar__brand[data-v-2b1114c6] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 28px;
  padding-left: 2px;
}
.app-sidebar__logo-crop[data-v-2b1114c6] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.app-sidebar__product-logo[data-v-2b1114c6] {
  display: block;
  height: 44px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
  /* Opaque black in the PNG blends to the sidebar background (--sb-bg). */
  mix-blend-mode: lighten;
}
.app-sidebar__beta[data-v-2b1114c6] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--sb-accent);
  border: 1px solid rgba(34, 211, 238, 0.55);
  background: rgba(15, 23, 42, 0.45);
}
.app-sidebar__nav-list[data-v-2b1114c6] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.app-sidebar__nav-link[data-v-2b1114c6] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  text-decoration: none;
  color: var(--sb-muted);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  transition:
    background 0.15s ease,
    color 0.15s ease;
  cursor: pointer;
  border: none;
  background: transparent;
  width: 100%;
  text-align: left;
  box-sizing: border-box;
}
.app-sidebar__nav-link[data-v-2b1114c6]:hover:not(.is-disabled) {
  color: var(--sb-text);
  background: rgba(255, 255, 255, 0.04);
}
.app-sidebar__nav-link.is-active[data-v-2b1114c6] {
  background: var(--sb-bg-elevated);
  color: var(--sb-accent);
}
.app-sidebar__nav-link.is-disabled[data-v-2b1114c6] {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}
.app-sidebar__nav-link--static[data-v-2b1114c6] {
  display: flex;
}
.app-sidebar__nav-icon[data-v-2b1114c6] {
  font-size: 1.05rem;
  width: 1.25rem;
  text-align: center;
  flex-shrink: 0;
}
.app-sidebar__recent[data-v-2b1114c6] {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--sb-border-subtle);
}
.app-sidebar__recent-loading[data-v-2b1114c6] {
  margin: 0 4px;
  font-size: 12px;
  color: var(--sb-muted);
}
.app-sidebar__recent-heading[data-v-2b1114c6] {
  margin: 0 0 12px 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sb-muted);
}
.app-sidebar__recent-list[data-v-2b1114c6] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.app-sidebar__recent-row[data-v-2b1114c6] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.03);
  cursor: pointer;
  text-align: left;
  color: inherit;
  font: inherit;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}
.app-sidebar__recent-row[data-v-2b1114c6]:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: var(--sb-border-subtle);
}
.app-sidebar__recent-icon-wrap[data-v-2b1114c6] {
  flex-shrink: 0;
  width: 1.25rem;
  padding-top: 2px;
  display: flex;
  justify-content: center;
}
.app-sidebar__recent-icon[data-v-2b1114c6] {
  font-size: 0.95rem;
}
.app-sidebar__recent-icon--success[data-v-2b1114c6] {
  color: var(--sb-accent);
}
.app-sidebar__recent-icon--muted[data-v-2b1114c6] {
  color: var(--sb-muted);
}
.app-sidebar__recent-icon--pending[data-v-2b1114c6] {
  color: var(--sb-muted);
}
.app-sidebar__recent-text[data-v-2b1114c6] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.app-sidebar__recent-title[data-v-2b1114c6] {
  font-size: 13px;
  font-weight: 600;
  color: var(--sb-text);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.app-sidebar__recent-meta[data-v-2b1114c6] {
  font-size: 11px;
  font-weight: 500;
  color: var(--sb-muted);
}
.app-sidebar__spacer[data-v-2b1114c6] {
  flex: 1;
  min-height: 16px;
}
.app-sidebar__footer[data-v-2b1114c6] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: var(--app-shell-footer-pad-top, 12px);
  border-top: 1px solid var(--sb-border-subtle);
}
.app-sidebar__profile[data-v-2b1114c6] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.app-sidebar__profile-link[data-v-2b1114c6] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
  text-decoration: none;
  color: inherit;
  border-radius: 8px;
  outline: none;
  transition: background 0.15s ease;
}
.app-sidebar__profile-link[data-v-2b1114c6]:hover {
  background: rgba(255, 255, 255, 0.04);
}
.app-sidebar__profile-link[data-v-2b1114c6]:focus-visible {
  outline: 2px solid var(--sb-accent);
  outline-offset: 2px;
}
.app-sidebar__profile-link.router-link-active[data-v-2b1114c6] {
  background: rgba(255, 255, 255, 0.06);
}
.app-sidebar__avatar[data-v-2b1114c6] {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(145deg, #2CD5C4, var(--sb-accent));
  color: #0f172a;
  font-size: 13px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
.app-sidebar__profile-text[data-v-2b1114c6] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 0;
  text-align: left;
  font: inherit;
  color: inherit;
}
.app-sidebar__profile-name[data-v-2b1114c6] {
  font-size: 14px;
  font-weight: 700;
  color: var(--sb-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}
.app-sidebar__profile-role[data-v-2b1114c6] {
  font-size: 12px;
  font-weight: 500;
  color: var(--sb-muted);
}
.app-sidebar__logout[data-v-2b1114c6] {
  flex-shrink: 0;
  min-height: 36px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--sb-muted);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
.app-sidebar__logout[data-v-2b1114c6]:hover {
  background: rgba(255, 255, 255, 0.06);
  color: var(--sb-text);
}
.app-sidebar__logout .pi[data-v-2b1114c6] {
  font-size: 1.1rem;
}
@media (max-width: 900px) {
.app-sidebar[data-v-2b1114c6] {
    width: 252px;
    padding: 18px 14px var(--app-shell-footer-pad-bottom, 20px);
}
}
@media (max-width: 768px) {
.app-sidebar[data-v-2b1114c6] {
    width: 72px;
    padding: 16px 10px var(--app-shell-footer-pad-bottom, 20px);
    align-items: center;
}
.app-sidebar__brand[data-v-2b1114c6] {
    align-items: center;
    padding-left: 0;
}
.app-sidebar__logo-crop[data-v-2b1114c6] {
    width: 44px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.app-sidebar__product-logo[data-v-2b1114c6] {
    height: 40px;
    max-width: none;
}
.app-sidebar__beta[data-v-2b1114c6] {
    display: none;
}
.app-sidebar__nav-label[data-v-2b1114c6] {
    display: none;
}
.app-sidebar__nav-link[data-v-2b1114c6] {
    justify-content: center;
    padding: 10px;
}
.app-sidebar__recent[data-v-2b1114c6],
  .app-sidebar__recent-heading[data-v-2b1114c6],
  .app-sidebar__recent-list[data-v-2b1114c6] {
    display: none;
}
.app-sidebar__profile-text[data-v-2b1114c6] {
    display: none;
}
.app-sidebar__profile[data-v-2b1114c6] {
    flex-direction: column;
    gap: 8px;
}
.app-sidebar__profile-link[data-v-2b1114c6] {
    flex: 0 0 auto;
    justify-content: center;
    width: 100%;
}
.app-sidebar__logout[data-v-2b1114c6] {
    width: 100%;
    min-width: 0;
    padding: 0 8px;
}
.app-sidebar__logout-label[data-v-2b1114c6] {
    display: none;
}
}
@media (pointer: coarse) {
.app-sidebar__nav-link[data-v-2b1114c6] {
    min-height: 44px;
    min-width: 44px;
    box-sizing: border-box;
}
.app-sidebar__recent-row[data-v-2b1114c6] {
    min-height: 44px;
    padding: 10px 12px;
    box-sizing: border-box;
}
.app-sidebar__logout[data-v-2b1114c6] {
    min-height: 44px;
    min-width: 44px;
    box-sizing: border-box;
}
.app-sidebar__profile-link[data-v-2b1114c6] {
    min-height: 44px;
    padding: 6px 8px;
    box-sizing: border-box;
}
}


/* Reset page margin; allow page to grow with content so footer doesn't overlap */
html,body {
  margin: 0;
  padding: 0;
  min-height: 100%;
}
#app {
  min-height: 100vh;
  /* Do not set height or flex here - let #app grow with content so long pages
     (e.g. Researcher Profile) don't get the footer overlapping the content */
}

/* this is globally setting font family even inside prime vue components */
[data-v-89657be5],.p-component,.p-inputtext,.p-select,.p-select-filter,.p-select-overlay,.p-select-list,.p-select-option,.p-multiselect,.p-multiselect-filter,.p-multiselect-overlay,.p-multiselect-list,.p-datepicker,.p-datepicker-calendar-container,.p-calendar,.p-dialog,.p-dialog-content,.p-dialog-header,.p-dialog-footer,.p-multiselect-empty-message,.p-toast,.p-toast .p-toast-message,.p-toast .p-toast-message-content,.p-toast .p-toast-summary,.p-toast .p-toast-detail {
  font-family: 'Nunito Sans', system-ui, sans-serif !important;
}
.p-dialog-close-button:focus-visible{
  outline: none !important;
}

/* Dialogs/modals: z-index is set by PrimeVue config (main.ts) so they sit above header and stack correctly. */

/* Ensure toast messages appear above dialogs */
.p-toast {
  z-index: 100060 !important;
}
.p-toast .p-toast-message {
  z-index: 100060 !important;
}

/*
 * Toast — mobile optimizations (narrow viewports + notched devices).
 * PrimeVue defaults use fixed 20px offsets and theme width; these rules improve
 * safe-area insets, readable type, full-width band layout for top/bottom center,
 * and 44px minimum close targets without changing desktop toast behavior.
 */
@media (max-width: 768px) {
  /* Top-center: stretch between horizontal safe areas (no translateX clipping). */
.p-toast.p-toast-top-center {
    left: max(12px, env(safe-area-inset-left, 0px)) !important;
    right: max(12px, env(safe-area-inset-right, 0px)) !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    margin: 0 !important;
    top: calc(10px + env(safe-area-inset-top, 0px)) !important;
    box-sizing: border-box !important;
}
.p-toast.p-toast-bottom-center {
    left: max(12px, env(safe-area-inset-left, 0px)) !important;
    right: max(12px, env(safe-area-inset-right, 0px)) !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    margin: 0 !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
}

  /* Corner toasts: keep inset from edges + safe area */
.p-toast.p-toast-top-right,.p-toast.p-toast-top-left {
    top: calc(10px + env(safe-area-inset-top, 0px)) !important;
    width: min(100%, calc(100vw - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.p-toast.p-toast-top-right {
    right: max(12px, env(safe-area-inset-right, 0px)) !important;
}
.p-toast.p-toast-top-left {
    left: max(12px, env(safe-area-inset-left, 0px)) !important;
}
.p-toast .p-toast-message {
    margin: 0 0 0.625rem 0 !important;
}
.p-toast .p-toast-summary {
    font-size: 0.9375rem !important;
    line-height: 1.35 !important;
}
.p-toast .p-toast-detail {
    font-size: 0.9375rem !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

  /* WCAG-friendly dismiss control on touch devices */
.p-toast-close-button {
    min-width: 44px !important;
    min-height: 44px !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    right: auto !important;
    left: auto !important;
    flex-shrink: 0;
}
.p-toast-close-icon {
    font-size: 1.125rem !important;
    width: 1.125rem !important;
    height: 1.125rem !important;
}
.p-toast-message-content {
    align-items: flex-start !important;
    gap: 0.625rem !important;
}
}

/* Ensure overlays (dropdowns, datepickers) appear above dialogs when a dialog is open */
body:has(.p-dialog-mask) .p-select-overlay,body:has(.p-dialog-mask) .p-multiselect-overlay,body:has(.p-dialog-mask) .p-autocomplete-panel,body:has(.p-dialog-mask) .p-datepicker-panel,body:has(.p-dialog-mask) .p-calendar-panel {
  z-index: 100051 !important;
}

/* Container for consistent alignment across all sections */
.container[data-v-89657be5] {
  margin: 0 auto;
  padding: 0 24px;
}

/* Responsive container adjustments */
@media (max-width: 1440px) {
.container[data-v-89657be5] {
    padding: 0 16px;
}
}
@media (max-width: 768px) {
.container[data-v-89657be5] {
    padding: 0 12px;
}
}
.header[data-v-89657be5] {
  display: flex;
  align-items: center;
  padding: 1rem 2rem;
}
.logo-group[data-v-89657be5] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.logo[data-v-89657be5] {
  height: 36px;
  width: auto;
  display: block;
}
.altum-logo[data-v-89657be5] {
  max-width: 90px;
}
.debug-info[data-v-89657be5] {
  margin-top: 20px;
  padding: 10px;
  border: 1px solid #ccc;
  background-color: #f8f8f8;
}
.main-menu[data-v-89657be5] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 24px 10px 24px;
  background: #fff;
  border-bottom: 1px solid #e0e0e0;
}
.menu-btn[data-v-89657be5] {
  background: #fff;
  border: 1.5px solid #2d3a5a;
  color: #2d3a5a;
  border-radius: 14px;
  padding: 10px 24px;
  font-size: 1.1rem;
  font-weight: 500;
  cursor: pointer;
  margin: 0 2px;
  transition: background 0.2s, color 0.2s, border 0.2s;
  outline: none;
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}
.menu-btn span[data-v-89657be5] {
  margin-left: 8px;
  font-size: 0.95em;
  display: inline-flex;
  align-items: center;
}
.menu-btn[data-v-89657be5]:hover,
.menu-btn[data-v-89657be5]:focus {
  background: #f7f8fa;
  color: #1a237e;
  border-color: #1a237e;
}
.menu-dropdown[data-v-89657be5] {
  position: relative;
  display: inline-block;
}
.menu-dropdown .dropdown-content[data-v-89657be5] {
  display: none;
  position: absolute;
  left: 0;
  top: 110%;
  min-width: 170px;
  background: #fff;
  border: 1.5px solid #2d3a5a;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(44, 62, 80, 0.08);
  z-index: 100;
  flex-direction: column;
  padding: 6px 0;
}
.menu-dropdown:hover .dropdown-content[data-v-89657be5],
.menu-dropdown:focus-within .dropdown-content[data-v-89657be5] {
  display: flex;
}
.dropdown-content a[data-v-89657be5] {
  color: #2d3a5a;
  padding: 10px 18px;
  text-decoration: none;
  display: block;
  border-radius: 8px;
  font-size: 1rem;
  transition: background 0.2s, color 0.2s;
}
.dropdown-content a[data-v-89657be5]:hover {
  background: #f7f8fa;
  color: #1a237e;
}

/* Submenu Styles */
.submenu[data-v-89657be5] {
  position: relative;
}
.submenu-label[data-v-89657be5] {
  color: #2d3a5a;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.submenu-label .arrow[data-v-89657be5] {
  font-size: 0.8rem;
  margin-left: 8px;
  transition: transform 0.2s;
}
.submenu-label[data-v-89657be5]:hover {
  background: #f7f8fa;
  color: #1a237e;
}
.submenu:hover .submenu-label .arrow[data-v-89657be5] {
  transform: rotate(90deg);
}
.submenu-content[data-v-89657be5] {
  display: none;
  position: absolute;
  left: 100%;
  top: 0;
  min-width: 170px;
  background: #fff;
  border: 1.5px solid #2d3a5a;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(44, 62, 80, 0.08);
  z-index: 101;
  flex-direction: column;
  padding: 6px 0;
}
.submenu:hover .submenu-content[data-v-89657be5] {
  display: flex;
}
.submenu-content a[data-v-89657be5] {
  color: #2d3a5a;
  padding: 10px 18px;
  text-decoration: none;
  display: block;
  border-radius: 8px;
  font-size: 1rem;
  transition: background 0.2s, color 0.2s;
}
.submenu-content a[data-v-89657be5]:hover {
  background: #f7f8fa;
  color: #1a237e;
}

/* Figma Header Styles */
.figma-header[data-v-89657be5] {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 24px 24px;
  background: #fff;
  box-shadow: 0px 1px 0px 0px rgba(219, 220, 221, 0.7);
  width: 100%;
  min-width: 320px;
}
.figma-logo-group[data-v-89657be5] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 249.71px;
}
.proposal-central-logo[data-v-89657be5] {
  height: 38px;
  width: auto;
  display: block;
}
.figma-header-right[data-v-89657be5] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 47px;
  width: 431px;
}
.figma-help-btn[data-v-89657be5] {
  font-weight: 500;
  font-size: 16px;
  color: #001e62;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0 16px;
  height: 38px;
  border-radius: 100px;
  transition: background 0.2s;
}
.figma-help-btn[data-v-89657be5]:hover {
  background: rgba(74, 79, 85, 0.1);
}
.figma-user-profile[data-v-89657be5] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 18px;
}
.figma-user-name[data-v-89657be5] {
  font-weight: 400;
  font-size: 16px;
  color: #4a4f55;
}
.figma-user-avatar[data-v-89657be5] {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
}
.figma-logout-btn[data-v-89657be5] {
  background: transparent;
  border: 1px solid #ddd;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-size: 16px;
}
.figma-logout-btn[data-v-89657be5]:hover {
  background: #f5f5f5;
  border-color: #ccc;
  transform: scale(1.05);
}
.figma-logout-btn[data-v-89657be5]:active {
  transform: scale(0.95);
}

/* Landing Header Styles (Figma Landing) */

/* Figma Landing Header refined styles */
.landing-header[data-v-89657be5] {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 227px;
  padding: 15px 0;
  background: #fff;
  width: 100%;
  min-width: 320px;
  box-shadow: 0px 1px 0px 0px rgba(219, 220, 221, 0.7);
}
.landing-header-logo-part[data-v-89657be5] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  padding-left: 40px;
  width: 392px;
}
.altum-logo-stack[data-v-89657be5] {
  display: flex;
  flex-direction: column;
  width: 54.31px;
  height: 60.82px;
  justify-content: flex-start;
}
.logo-container[data-v-89657be5] {
  display: flex;
  align-items: center;
  height: 38px;
}
.landing-header-menu-part[data-v-89657be5] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 31px;
  padding-right: 40px;
}
.landing-header-menu-list[data-v-89657be5] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0px;
}
.landing-header-menu-item[data-v-89657be5] {
    font-weight: 500;
  font-size: 16px;
  color: #001e62;
  cursor: pointer;
  padding: 10px 20px;
  border-radius: 10px;
  transition: background 0.2s, color 0.2s;
  border-right: 1px solid #e6e7e8;
}
.landing-header-menu-item[data-v-89657be5]:last-child {
  border-right: none;
}
.landing-header-menu-item[data-v-89657be5]:hover {
  background: #f7f8fa;
  color: #2cd5c4;
}
.landing-header-contact[data-v-89657be5] {

  font-weight: 700;
  font-size: 16px;
  color: #001e62;
  background: #2cd5c4;
  border: none;
  border-radius: 10px;
  padding: 15px 20px;
  cursor: pointer;
  text-transform: uppercase;
  transition: background 0.2s, color 0.2s;
  margin-left: 31px;
}
.landing-header-contact[data-v-89657be5]:hover {
  background: #001e62;
  color: #fff;
}
.landing-header-logo-part-horizontal[data-v-89657be5] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding-left: 40px;
}
.altum-logo-horizontal[data-v-89657be5] {
  height: 48px;
  width: auto;
  display: block;
}

/* Additional custom styles can be added here if needed */

/* Exclude grid action buttons from global button styles */
[data-v-89657be5] .p-button:not(.exclude-base-report-table-styles) {
  display: flex;
  height: 42px;
  padding: 12px 16px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 8px;
}
[data-v-89657be5] .p-button:not(.exclude-base-report-table-styles) .p-button-label {
  font-size: 14px;
  font-style: normal;
  font-weight: 700 !important;
  line-height: 14px;
}
[data-v-89657be5] .p-button:not(.exclude-base-report-table-styles):disabled {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
  transform: none !important;
  background-color:#51565C !important;
}

/* App Layout Structure - sticky footer: at bottom of viewport when short, after content when long */
.app-layout[data-v-89657be5] {
  /* Remove min-height: 100vh when in iframe to prevent infinite height growth */
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* When content is short, footer sits at bottom of viewport */
  width: 100%;
  /* No flex:1 - layout grows with content so footer never overlaps (e.g. Researcher Profile) */
  /* Default page background (same as eligibility) – used by .app-main and inherited by new pages */
  --app-page-background: var(--p-surface-50, #f0f2f5);
}

/* Reset default margins and padding for layout elements */
.app-layout nav[data-v-89657be5],
.app-layout main[data-v-89657be5],
.app-layout header[data-v-89657be5],
.app-layout footer[data-v-89657be5] {
  margin: 0;
  padding: 0;
}
.app-shell[data-v-89657be5] {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  width: 100%;
}
.app-shell--with-sidebar[data-v-89657be5] {
  flex-direction: row;
  align-items: stretch;
  /* Match main footer band to sidebar profile strip (border → bottom): see AppSidebar .app-sidebar__footer */
  --app-shell-footer-pad-top: 12px;
  --app-shell-footer-pad-bottom: 20px;
  --app-shell-footer-content-min-height: 40px; /* ~ avatar row in .app-sidebar__profile */
}
.app-main-footer-wrap[data-v-89657be5] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* Main Content Section – default page background applied here for all pages and new pages */
.app-main[data-v-89657be5] {
  flex: 1;
  padding: 24px 0 80px 0; /* Extra bottom padding so content (e.g. form buttons) isn't flush under footer */
  min-height: 0; /* Allow flex item to shrink below content size */
  position: relative; /* Ensure stable positioning */
  background-color: var(--app-page-background);
}

/* Keep a stable content area only when not inside an iframe */
.app-main--standalone[data-v-89657be5] {
  min-height: 420px;
}

/* Grant Opportunities: same tone as modules/opportunities page (--go-bg) so flex area isn’t a contrasting band */
.app-main--grant-opportunities[data-v-89657be5] {
  background-color: #f5f5f7;
}

/* Footer sits in main column; visual treatment lives in AppFooter.vue */
.app-footer[data-v-89657be5] {
  margin-top: auto;
  flex-shrink: 0;
  position: relative;
}

/* Route Loading Overlay */
.route-loading-overlay[data-v-89657be5] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  justify-content: center;
  z-index: 9999;
}

/* Default: center position */
.route-loading-overlay.loader-position-center[data-v-89657be5] {
  align-items: center;
}

/* Top position */
.route-loading-overlay.loader-position-top[data-v-89657be5] {
  align-items: flex-start;
  padding-top: 2rem;
}

/* Bottom position */
.route-loading-overlay.loader-position-bottom[data-v-89657be5] {
  align-items: flex-end;
  padding-bottom: 2rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
.app-main[data-v-89657be5] {
    padding: 16px 12px 60px 12px;
}
}
@media (max-width: 480px) {
.app-main[data-v-89657be5] {
    padding: 16px 10px 60px 10px;
}
}
.p-toast-message-content[data-v-89657be5]{
  display: flex;
  flex-direction: column;
}

.base-input-text[data-v-cd50c098] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.base-input-text__label[data-v-cd50c098] {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.143;
  color: #4A4F55;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 2px 0px;
}
.base-input-text__required[data-v-cd50c098] {
  color: var(--danger-500, #ef4444);
  font-weight: 600;
}
.base-input-text__input-container[data-v-cd50c098] {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  background-color: #FFFFFF;
  border: 1px solid #DBDCDD;
  border-radius: 8px;
  padding: 8px 10px;
  gap: 10px;
  height: 42px;
  box-sizing: border-box;
}
.base-input-text__input-container--with-icon[data-v-cd50c098] {
  position: relative;
}
.base-input-text__input-container--icon-left .base-input-text__input[data-v-cd50c098] {
  padding-left: 2.5rem;
}
.base-input-text__input-container--icon-right .base-input-text__input[data-v-cd50c098] {
  padding-right: 2.5rem;
}
.base-input-text__input[data-v-cd50c098] {
  width: 100%;  
  font-size: 14px;
  font-weight: 400;
  line-height: 1.143;
  /* Figma: value #090909 vs placeholder #99a5c0 — keep entered text clearly darker */
  color: #090909;
  background: transparent;
  border: none;
  outline: none;
  transition: all 0.2s ease-in-out;
  padding: 0;
  margin: 0;
  height: 100%;
  display: flex;
  align-items: center;
}
.base-input-text__input[data-v-cd50c098]::placeholder {
  color: #99a5c0;
  opacity: 1;
}
.base-input-text__input--error[data-v-cd50c098] {
  border-color: var(--danger-500, #ef4444) !important;
}
.base-input-text__input--error[data-v-cd50c098]:focus {
  box-shadow: 0 0 0 0.125rem rgba(239, 68, 68, 0.25) !important;
}
.base-input-text__icon[data-v-cd50c098] {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--text-color-secondary, #6b7280);
  z-index: 1;
}
.base-input-text__icon--left[data-v-cd50c098] {
  left: 0.75rem;
}
.base-input-text__icon--right[data-v-cd50c098] {
  right: 0.75rem;
}
.base-input-text__error[data-v-cd50c098] {
  font-size: 0.75rem;
  color: var(--danger-500, #ef4444);
  margin-top: 0.25rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.base-input-text__helper[data-v-cd50c098] {
  font-size: 0.75rem;
  color: var(--text-color-secondary, #6b7280);
  margin-top: 0.25rem;
}

/* Disabled state */
.base-input-text--disabled .base-input-text__label[data-v-cd50c098] {
  color: var(--text-color-disabled, #9ca3af);
}
.base-input-text--disabled .base-input-text__input-container[data-v-cd50c098] {
  background-color: var(--surface-ground, #f9fafb);
  color: var(--text-color-disabled, #9ca3af);
}
.base-input-text--disabled .base-input-text__input[data-v-cd50c098] {
  background-color: transparent;
  color: var(--text-color-disabled, #9ca3af);
}

/* Readonly state */
.base-input-text--readonly .base-input-text__input-container[data-v-cd50c098] {
  background-color: var(--surface-ground, #f9fafb);
}

/* Focus states */
.base-input-text__input-container[data-v-cd50c098]:focus-within {
  outline: none;
  border-color: var(--primary-500, #3b82f6);
  box-shadow: 0 0 0 0.125rem rgba(59, 130, 246, 0.25);
}

/* Hover states */
.base-input-text__input-container[data-v-cd50c098]:hover:not(.base-input-text--disabled) {
  border-color: var(--primary-400, #60a5fa);
}

/* Icon hover effect */
.base-input-text__icon[data-v-cd50c098]:hover {
  color: var(--primary-500, #3b82f6);
}

/* Responsive adjustments */
@media (max-width: 768px) {
.base-input-text[data-v-cd50c098] {
    max-width: 100%;
}
.base-input-text__label[data-v-cd50c098] {
    font-size: 0.875rem;
}

  /* 16px+ on inputs avoids iOS focus zoom and improves readability */
.base-input-text__input[data-v-cd50c098] {
    font-size: 1rem;
}
.base-input-text__error[data-v-cd50c098],
  .base-input-text__helper[data-v-cd50c098] {
    font-size: 0.75rem;
}
}

.base-textarea[data-v-3d5e03cd] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.base-textarea__label[data-v-3d5e03cd] {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.143;
  color: #4A4F55;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 2px 0px;
}
.base-textarea__required[data-v-3d5e03cd] {
  color: var(--danger-500, #ef4444);
  font-weight: 600;
}
.base-textarea__textarea-container[data-v-3d5e03cd] {
  position: relative;
  display: flex;
  align-items: flex-start;
  width: 100%;
  background-color: #FFFFFF;
  border: 1px solid #DBDCDD;
  border-radius: 8px;
  padding: 8px 10px;
  gap: 10px;
  min-height: 42px;
  box-sizing: border-box;
}
.base-textarea__textarea-container--with-icon[data-v-3d5e03cd] {
  position: relative;
}
.base-textarea__textarea-container--icon-left .base-textarea__textarea[data-v-3d5e03cd] {
  padding-left: 2.5rem;
}
.base-textarea__textarea-container--icon-right .base-textarea__textarea[data-v-3d5e03cd] {
  padding-right: 2.5rem;
}
.base-textarea__textarea[data-v-3d5e03cd] {
  width: 100%;  
  font-size: 14px;
  font-weight: 400;
  line-height: 1.143;
  color: #6E7277;
  background: transparent;
  border: none;
  outline: none;
  transition: all 0.2s ease-in-out;
  padding: 0;
  margin: 0;
  resize: none;
  font-family: inherit;
}
.base-textarea__textarea--error[data-v-3d5e03cd] {
  border-color: var(--danger-500, #ef4444) !important;
}
.base-textarea__textarea--error[data-v-3d5e03cd]:focus {
  box-shadow: 0 0 0 0.125rem rgba(239, 68, 68, 0.25) !important;
}
.base-textarea__icon[data-v-3d5e03cd] {
  position: absolute;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--text-color-secondary, #6b7280);
  z-index: 1;
  padding-top: 0.5rem;
}
.base-textarea__icon--left[data-v-3d5e03cd] {
  left: 0.75rem;
}
.base-textarea__icon--right[data-v-3d5e03cd] {
  right: 0.75rem;
}
.base-textarea__error[data-v-3d5e03cd] {
  font-size: 0.75rem;
  color: var(--danger-500, #ef4444);
  margin-top: 0.25rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.base-textarea__helper[data-v-3d5e03cd] {
  font-size: 0.75rem;
  color: var(--text-color-secondary, #6b7280);
  margin-top: 0.25rem;
}

/* Disabled state */
.base-textarea--disabled .base-textarea__label[data-v-3d5e03cd] {
  color: var(--text-color-disabled, #9ca3af);
}
.base-textarea--disabled .base-textarea__textarea-container[data-v-3d5e03cd] {
  background-color: var(--surface-ground, #f9fafb);
  color: var(--text-color-disabled, #9ca3af);
}
.base-textarea--disabled .base-textarea__textarea[data-v-3d5e03cd] {
  background-color: transparent;
  color: var(--text-color-disabled, #9ca3af);
  cursor: not-allowed;
}

/* Readonly state */
.base-textarea--readonly .base-textarea__textarea-container[data-v-3d5e03cd] {
  background-color: var(--surface-ground, #f9fafb);
}

/* Focus states */
.base-textarea__textarea-container[data-v-3d5e03cd]:focus-within {
  outline: none;
  border-color: var(--primary-500, #3b82f6);
  box-shadow: 0 0 0 0.125rem rgba(59, 130, 246, 0.25);
}

/* Hover states */
.base-textarea__textarea-container[data-v-3d5e03cd]:hover:not(.base-textarea--disabled) {
  border-color: var(--primary-400, #60a5fa);
}

/* Icon hover effect */
.base-textarea__icon[data-v-3d5e03cd]:hover {
  color: var(--primary-500, #3b82f6);
}

/* Responsive adjustments */
@media (max-width: 768px) {
.base-textarea[data-v-3d5e03cd] {
    max-width: 100%;
}
.base-textarea__label[data-v-3d5e03cd] {
    font-size: 12px;
}
.base-textarea__textarea[data-v-3d5e03cd] {
    font-size: 12px;
}
.base-textarea__error[data-v-3d5e03cd],
  .base-textarea__helper[data-v-3d5e03cd] {
    font-size: 0.7rem;
}
}

.base-select-wrapper[data-v-ed0e3632] {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-right: 5px;
}
.base-select-label[data-v-ed0e3632] {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--text-color);
  margin-bottom: 0.25rem;
}
.p-select-list[data-v-ed0e3632]{
  margin: unset !important;
}
.base-select-label[data-v-ed0e3632]:empty {
  display: none;
}

/* Custom styling can be added here */
.base-select-wrapper[data-v-ed0e3632] .p-select {
  width: 100%;
  background-color: #FFFFFF;
  border: 1px solid #DBDCDD;
  border-radius: 8px;
  padding: 8px 10px;  
  font-size: 14px;
  font-weight: 400;
  line-height: 1.143;
  color: #6E7277;
  height: 42px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
.base-select-wrapper[data-v-ed0e3632] .p-select.p-invalid {
  border-color: var(--red-500);
}
.base-select-wrapper[data-v-ed0e3632] .p-select:focus {
  box-shadow: 0 0 0 0.2rem var(--primary-200);
  border-color: var(--primary-500, #3b82f6);
}
.base-select-wrapper[data-v-ed0e3632] .p-select:hover:not(.p-disabled) {
  border-color: var(--primary-400, #60a5fa);
}

/* Multi-select specific styling */
.base-select-wrapper[data-v-ed0e3632] .p-select.p-select-multiple .p-select-label {
  padding: 0.375rem 0.75rem;
}

/* Loading state styling */
.base-select-wrapper[data-v-ed0e3632] .p-select.p-disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background-color: var(--surface-ground, #f9fafb);
  color: var(--text-color-disabled, #9ca3af);
}

/* Fix for long option labels */
.base-select-wrapper[data-v-ed0e3632] .p-select-option {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  line-height: 1.4 !important;
  padding: 0.75rem 1rem !important;
  min-height: auto !important;
}
.base-select-wrapper[data-v-ed0e3632] .p-select-list {
  max-width: none !important;
  min-width: 300px !important;
}
.base-select-wrapper[data-v-ed0e3632] .p-select-overlay {
  max-width: 500px !important;
  width: auto !important;
  padding: 0 !important;
}

/* Fix for selected value display */
.base-select-wrapper[data-v-ed0e3632] .p-select-label {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  line-height: 1.4 !important;
  color: #6E7277;  
  font-size: 14px;
  font-weight: 400;
}
[data-v-ed0e3632] .p-select-dropdown {
  background: rgba(145, 145, 145, 0.10) !important;
  border-radius: 50% !important;
  width: 24px;
  height: 24px;
  align-self: center;
  margin-right: 5px;
  color: #001E62;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  padding: 2px;
}
[data-v-ed0e3632] .p-select-dropdown:hover {
  background: rgba(145, 145, 145, 0.15) !important;
}
[data-v-ed0e3632] .p-select-dropdown:focus {
  box-shadow: none;
}

.base-checkbox-wrapper[data-v-4cf87b6a] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.base-checkbox-wrapper.base-checkbox--label-left[data-v-4cf87b6a] {
  flex-direction: row;
}
.base-checkbox-wrapper.base-checkbox--label-right[data-v-4cf87b6a] {
  flex-direction: row;
}
.base-checkbox-label[data-v-4cf87b6a] {
  cursor: pointer;
  user-select: none;
  font-size: 0.875rem;
  line-height: 1.25;
}
.base-checkbox--disabled .base-checkbox-label[data-v-4cf87b6a] {
  cursor: not-allowed;
  opacity: 0.6;
}
.base-checkbox--readonly .base-checkbox-label[data-v-4cf87b6a] {
  cursor: default;
}

/* Ensure proper spacing */
.base-checkbox-label--left[data-v-4cf87b6a] {
  margin-right: 0.25rem;
}
.base-checkbox-label--right[data-v-4cf87b6a] {
  margin-left: 0.25rem;
}

/* Ensure icon-only buttons properly center the icon */
[data-v-9bedbe54] .p-button.p-button-icon-only,[data-v-9bedbe54] .p-button.icon-only-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Ensure icon is centered within icon-only buttons */
[data-v-9bedbe54] .p-button.p-button-icon-only .p-button-icon,[data-v-9bedbe54] .p-button.icon-only-button .p-button-icon {
  margin: 0 !important;
}

/* Grid action button - circular design from Figma */
/* UNSCOPED to override global App.css button styles */
/* Using .grid-action-button class for specificity */
.grid-action-button.p-button,
.grid-action-button.p-button.p-button-icon-only,
.grid-action-button.p-button.icon-only-button,
.exclude-base-report-table-styles.p-button {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  max-width: 30px !important;
  max-height: 30px !important;
  padding: 2px !important;
  border-radius: 100px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  gap: 0 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  background-color: rgba(74, 79, 85, 0.1) !important;
  border: 1px solid transparent !important;
}

/* Outlined buttons (edit, view, remove) - light gray background */
.grid-action-button.p-button.p-button-outlined,
.grid-action-button.p-button.p-button-text,
.grid-action-button.p-button.p-button-outlined.icon-only-button,
.grid-action-button.p-button.p-button-text.icon-only-button {
  background-color: rgba(74, 79, 85, 0.1) !important;
  border-color: rgba(74, 79, 85, 0.1) !important;
  color: #001E62 !important;
}
.grid-action-button.p-button.p-button-outlined:hover,
.grid-action-button.p-button.p-button-text:hover,
.grid-action-button.p-button.p-button-outlined.icon-only-button:hover,
.grid-action-button.p-button.p-button-text.icon-only-button:hover {
  background-color: #001E62 !important;
  border-color: #001E62 !important;
  color: #FFFFFF !important;
  transform: scale(1.05) !important;
  box-shadow: 0 2px 4px rgba(0, 30, 98, 0.2) !important;
  transition: all 0.2s ease !important;
}

/* Icon color when outlined buttons are hovered */
.grid-action-button.p-button.p-button-outlined:hover .p-button-icon,
.grid-action-button.p-button.p-button-text:hover .p-button-icon,
.grid-action-button.p-button.p-button-outlined.icon-only-button:hover .p-button-icon,
.grid-action-button.p-button.p-button-text.icon-only-button:hover .p-button-icon {
  color: #FFFFFF !important;
}


/* Icon styling - 16px size with smooth appearance */
.grid-action-button.p-button .p-button-icon,
.grid-action-button.p-button.p-button-icon-only .p-button-icon,
.grid-action-button.p-button.icon-only-button .p-button-icon {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: normal !important;
  line-height: 1 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  color: #001E62 !important;
}

/* Custom icon styling using img tags */
.grid-action-button-wrapper {
  position: relative;
  display: flex;
}
.grid-action-button.has-custom-icon .p-button-icon {
  display: none !important;
}
.custom-icon {
  width: 26px;
  height: 26px;
  pointer-events: none;
  z-index: 1;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

/* Delete button icon - white color */
.grid-action-button-delete.p-button .p-button-icon,
.grid-action-button-delete.p-button.p-button-icon-only .p-button-icon,
.grid-action-button-delete.p-button.p-button-danger .p-button-icon {
  color: #FFFFFF !important;
}

/* Override any default PrimeVue button styles that might interfere */
.grid-action-button.p-button:not(.p-button-outlined):not(.p-button-text) {
  background-color: rgba(74, 79, 85, 0.1) !important;
}
.grid-action-button.p-button.p-button-outlined .p-button-icon,
.grid-action-button.p-button.p-button-text .p-button-icon {
  color: #001E62 !important;
}
.reset-icon{
  height: 15px !important;
  width: 15px !important;
}
.cross-icon{
  height: 20px !important;
  width: 20px !important;
}


/* Delete button - filled red background */
.grid-action-button-delete.p-button.p-button-danger,
.grid-action-button-delete.p-button.p-button-danger.p-button-icon-only,
.grid-action-button-delete.p-button.p-button-danger.icon-only-button,
.grid-action-button-delete.p-button.p-button-danger.exclude-base-report-table-styles {
  background-color: #E74444 !important;
  border-color: #E74444 !important;
  color: #FFFFFF !important;
}
.grid-action-button-delete.p-button.p-button-danger:hover,
.grid-action-button-delete.p-button.p-button-danger.p-button-icon-only:hover,
.grid-action-button-delete.p-button.p-button-danger.icon-only-button:hover {
  background-color: #E74444 !important;
  border-color: #E74444 !important;
  color: #FFFFFF !important;
  transform: scale(1.05) !important;
  box-shadow: 0 2px 4px rgba(220, 53, 69, 0.3) !important;
  transition: all 0.2s ease !important;
}

/* Ensure delete button stays filled red even if outlined/text classes are applied */
.grid-action-button-delete.p-button.p-button-danger.p-button-outlined,
.grid-action-button-delete.p-button.p-button-danger.p-button-text,
.grid-action-button-delete.p-button.p-button-danger.p-button-outlined.icon-only-button,
.grid-action-button-delete.p-button.p-button-danger.p-button-text.icon-only-button {
  background-color: #E74444 !important;
  border-color: #E74444 !important;
  color: #FFFFFF !important;
}
@media (pointer: coarse) {
.grid-action-button.p-button,
  .grid-action-button.p-button.p-button-icon-only,
  .grid-action-button.p-button.icon-only-button,
  .exclude-base-report-table-styles.p-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    padding: 6px !important;
}
}

/* Reset button specific styles */
.p-button[data-v-f7f7bb7a] {
  background-color: transparent !important;
  color: #001e62 !important;
  outline-color: transparent !important;
}
.p-button[data-v-f7f7bb7a]:hover {
  background-color: #001e62 !important;
  color: white !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
}
.p-button[data-v-f7f7bb7a]:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(0, 30, 98, 0.2) !important;
}
.p-button.p-button-secondary[data-v-f7f7bb7a] {
  background-color: transparent !important;
  color: #001e62 !important;
  border: 2px solid #001e62 !important;
}
.p-button.p-button-secondary[data-v-f7f7bb7a]:hover {
  background-color: #001e62 !important;
  color: white !important;
}
.p-button.p-button-outlined[data-v-f7f7bb7a] {
  background-color: transparent !important;
  border: 2px solid #001e62 !important;
}
.p-button.p-button-outlined[data-v-f7f7bb7a]:hover {
  background-color: #001e62 !important;
  color: white !important;
}

.tooltip-container[data-v-3bc73238] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  position: relative;
}
.tooltip-content-trigger[data-v-3bc73238] {
  display: inline-flex;
  cursor: help;
  outline: none;
}
.tooltip-content-trigger[data-v-3bc73238]:focus-visible {
  outline: 2px solid #001e62;
  outline-offset: 2px;
  border-radius: 4px;
}
.tooltip-trigger[data-v-3bc73238] {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #001e62;
  color: #ffffff;
  border-radius: 50%;
  font-size: 12px;
  cursor: help;
  transition: all 0.2s ease;
  border: none;
  padding: 0;
  margin: 0;
  flex-shrink: 0;
  box-sizing: border-box;
  font-family: inherit;
}
@media (pointer: coarse) {
.tooltip-trigger[data-v-3bc73238] {
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
}
}
.tooltip-trigger[data-v-3bc73238]:hover {
  background-color: #003285;
  transform: scale(1.1);
}
.tooltip-trigger i[data-v-3bc73238] {
  font-size: 10px !important;
  font-weight: 700;
}
.tooltip-trigger--outline[data-v-3bc73238] {
  background-color: transparent;
  border: 1px solid var(--efw-continue-bg, #1e3a8a);
  color: var(--efw-continue-bg, #1e3a8a);
  box-sizing: border-box;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
}
.tooltip-trigger--outline[data-v-3bc73238]:hover {
  background-color: rgba(30, 58, 138, 0.08);
  transform: none;
}
.tooltip-trigger--outline i.pi[data-v-3bc73238] {
  color: var(--efw-continue-bg, #1e3a8a) !important;
  opacity: 1 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
.tooltip-trigger--outline i.pi[data-v-3bc73238]::before {
  color: inherit;
  opacity: 1;
}

/* Custom tooltip styles matching Figma design */
.custom-tooltip[data-v-3bc73238] {
  position: fixed;
  background: #ffffff;
  border-radius: 0px 8px 8px 8px;
  box-shadow: 0px 4px 12px 0px rgba(109, 109, 109, 0.25);
  padding: 16px;
  max-width: 90vw;
  display: flex;
  flex-direction: column;
  gap: 16px;
  z-index: 9999;
  pointer-events: auto;
}

/* When tooltip is positioned to the left, flip border-radius */
.custom-tooltip.tooltip-left[data-v-3bc73238] {
  border-radius: 8px 0px 8px 8px;
}
.tooltip-header[data-v-3bc73238] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.tooltip-icon-container[data-v-3bc73238] {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #001e62;
  border-radius: 50%;
  padding: 2px;
}
.tooltip-header-icon[data-v-3bc73238] {
  color: #ffffff !important;
  font-size: 12px;
  font-weight: bold;
}
.tooltip-header-custom-icon[data-v-3bc73238] {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.tooltip-header-text[data-v-3bc73238] {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #001e62;
}
.custom-tooltip--trigger-outline .tooltip-icon-container[data-v-3bc73238] {
  width: 20px;
  height: 20px;
  padding: 0;
  background-color: transparent;
  border: 1px solid var(--efw-continue-bg, #1e3a8a);
  box-sizing: border-box;
}
.custom-tooltip--trigger-outline .tooltip-header-icon.pi[data-v-3bc73238] {
  color: var(--efw-continue-bg, #1e3a8a) !important;
  opacity: 1 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
.custom-tooltip--trigger-outline .tooltip-header-icon.pi[data-v-3bc73238]::before {
  color: inherit;
  opacity: 1;
}
.custom-tooltip--trigger-outline .tooltip-header-text[data-v-3bc73238] {
  color: var(--efw-continue-bg, #1e3a8a);
}
.tooltip-content[data-v-3bc73238] {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 500;
  font-size: 12px;
  color: #51565c;
}

/* Custom scrollbar for tooltip */
.custom-tooltip[data-v-3bc73238]::-webkit-scrollbar {
  width: 6px;
}
.custom-tooltip[data-v-3bc73238]::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}
.custom-tooltip[data-v-3bc73238]::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 3px;
}
.custom-tooltip[data-v-3bc73238]::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.branding-panel[data-v-32bc0b14] {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 60px;
  position: relative;
  overflow: hidden;
}
.branding-panel[data-v-32bc0b14]::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 50%, rgba(44, 213, 196, 0.08) 0%, transparent 60%);
  pointer-events: none;
}
.brand-logo[data-v-32bc0b14] {
  display: flex;
  align-items: center;
  margin-bottom: auto;
}
.branding-panel--compact .brand-logo[data-v-32bc0b14] {
  margin-bottom: 0;
}
.brand-logo__image[data-v-32bc0b14] {
  display: block;
  height: 54px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  /* Matte black in the PNG reads as the page background behind this panel (#001e62 on .login-page). */
  mix-blend-mode: lighten;
}
.hero[data-v-32bc0b14] {
  margin-bottom: 48px;
}
.hero__title[data-v-32bc0b14] {
  font-size: 48px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.15;
  margin: 0 0 24px;
  max-width: 740px;
}
.hero__highlight[data-v-32bc0b14] {
  color: #2cd5c4;
}
.hero__description[data-v-32bc0b14] {
  font-size: 18px;
  font-weight: 400;
  color: #ffffff;
  line-height: 1.6;
  max-width: 740px;
  margin: 0;
  opacity: 0.85;
}
.features[data-v-32bc0b14] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 48px;
  max-width: 740px;
}
.feature-card[data-v-32bc0b14] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  transition: background 0.2s ease;
}
.feature-card[data-v-32bc0b14]:hover {
  background: rgba(255, 255, 255, 0.08);
}
.feature-card__icon[data-v-32bc0b14] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  background-color: #2cd5c4;
  border-radius: 8px;
}
.feature-card__icon i[data-v-32bc0b14] {
  font-size: 18px;
  color: #001e62;
}
.feature-card__title[data-v-32bc0b14] {
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 2px;
}
.feature-card__description[data-v-32bc0b14] {
  font-size: 16px;
  font-weight: 400;
  color: #ffffff;
  opacity: 0.7;
  margin: 0;
}
.stats[data-v-32bc0b14] {
  display: flex;
  gap: 32px;
  max-width: 740px;
}
.stat-item[data-v-32bc0b14] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.stat-item__value[data-v-32bc0b14] {
  font-size: 30px;
  font-weight: 700;
  color: #2cd5c4;
  line-height: 1.2;
}
.stat-item__label[data-v-32bc0b14] {
  font-size: 14px;
  font-weight: 400;
  color: #ffffff;
  opacity: 0.7;
}
@media (max-width: 1200px) {
.branding-panel[data-v-32bc0b14] {
    padding: 40px;
}
.hero__title[data-v-32bc0b14] {
    font-size: 40px;
}
.features[data-v-32bc0b14] {
    grid-template-columns: 1fr;
}
}
@media (max-width: 960px) {
.branding-panel[data-v-32bc0b14] {
    padding: 40px 24px;
}
.hero__title[data-v-32bc0b14] {
    font-size: 36px;
}
.stats[data-v-32bc0b14] {
    flex-wrap: wrap;
}
}
@media (max-width: 600px) {
.branding-panel[data-v-32bc0b14] {
    padding: 24px 16px;
}
.hero__title[data-v-32bc0b14] {
    font-size: 28px;
}
.hero__description[data-v-32bc0b14] {
    font-size: 16px;
}
}

.login-page[data-v-9705d67d] {
  display: flex;
  min-height: 100vh;
  background-color: #001e62;
  font-family: 'Nunito Sans', sans-serif;
}
.login-panel[data-v-9705d67d] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 480px;
  min-width: 480px;
  padding: 60px 40px;
}
.login-card[data-v-9705d67d] {
  width: 100%;
  max-width: 448px;
  background: #ffffff;
  border-radius: 20px;
  padding: 40px;
}
.login-panel__footer[data-v-9705d67d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  width: 100%;
  max-width: 448px;
}
.contact-support[data-v-9705d67d] {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
}
.pc-account-hint[data-v-9705d67d] {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
}
.pc-account-hint__link[data-v-9705d67d] {
  font-weight: 600;
  color: #2cd5c4;
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
.pc-account-hint__link[data-v-9705d67d]:hover {
  opacity: 0.85;
}
.contact-support__link[data-v-9705d67d] {
  font-weight: 600;
  color: #2cd5c4;
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
.contact-support__link[data-v-9705d67d]:hover {
  opacity: 0.85;
}
.login-card__header[data-v-9705d67d] {
  margin-bottom: 32px;
}
.login-card__title[data-v-9705d67d] {
  font-size: 28px;
  font-weight: 700;
  color: #090909;
  margin: 0 0 8px;
}
.login-card__subtitle[data-v-9705d67d] {
  font-size: 16px;
  font-weight: 400;
  color: #51565c;
  margin: 0;
}
.login-form[data-v-9705d67d] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.password-field[data-v-9705d67d] {
  position: relative;
}
.password-toggle[data-v-9705d67d] {
  position: absolute;
  right: 12px;
  bottom: 10px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #99a5c0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.password-toggle[data-v-9705d67d]:hover {
  color: #001e62;
}
.session-reset__account[data-v-9705d67d] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}
.session-reset__account-label[data-v-9705d67d] {
  font-size: 12px;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.session-reset__account-value[data-v-9705d67d] {
  font-size: 16px;
  font-weight: 500;
  color: #090909;
  word-break: break-word;
}
.error-message[data-v-9705d67d] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 12px 16px;
  background-color: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  color: #dc2626;
  font-size: 14px;
  font-weight: 500;
}
.status-block[data-v-9705d67d] {
  padding: 16px;
  text-align: center;
  color: #51565c;
}
.status-block__text[data-v-9705d67d] {
  font-size: 16px;
}
[data-v-9705d67d] .sign-in-button {
  width: 100%;
  background-color: #001e62 !important;
  border-color: #001e62 !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  justify-content: center;
}
.back-link[data-v-9705d67d] {
  margin: 24px 0 0;
  font-size: 16px;
}
.back-link--top[data-v-9705d67d] {
  margin: 0 0 8px;
}
.back-link__a[data-v-9705d67d] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #001e62;
  font-weight: 600;
  text-decoration: none;
}
.back-link__a[data-v-9705d67d]:hover {
  text-decoration: underline;
}
@media (max-width: 960px) {
.login-page[data-v-9705d67d] {
    flex-direction: column;
}
.login-panel[data-v-9705d67d] {
    width: 100%;
    min-width: unset;
    padding: 40px 24px;
}
}

.login-page[data-v-3201540d] {
  min-height: 100vh;
  display: flex;
  background: #001e62;
  font-family: 'Nunito Sans', sans-serif;
}
.login-panel[data-v-3201540d] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 480px;
  min-width: 480px;
  padding: 60px 40px;
}
.confirm-account-card[data-v-3201540d] {
  width: 100%;
  max-width: 448px;
  background: #ffffff;
  border-radius: 20px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.auth-sub-panel__back[data-v-3201540d] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  padding: 0;
  background: none;
  font-size: 15px;
  font-weight: 600;
  color: #001e62;
  font-family: inherit;
  text-decoration: none;
}
.auth-sub-panel__back[data-v-3201540d]:hover {
  opacity: 0.85;
}
.confirm-account-card__title[data-v-3201540d] {
  margin: 0;
  font-size: 30px;
  color: #090909;
}
.confirm-account-card__status[data-v-3201540d] {
  margin: 0;
  color: #4b5563;
}
.confirm-account-card__message[data-v-3201540d] {
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 14px;
}
.confirm-account-card__message--success[data-v-3201540d] {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #065f46;
}
.confirm-account-card__message--error[data-v-3201540d] {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
}
@media (max-width: 960px) {
.login-page[data-v-3201540d] {
    flex-direction: column;
}
.login-panel[data-v-3201540d] {
    width: 100%;
    min-width: unset;
    padding: 40px 24px;
}
}
@media (max-width: 600px) {
.login-panel[data-v-3201540d] {
    padding: 24px 16px;
}
.confirm-account-card[data-v-3201540d] {
    padding: 24px;
    border-radius: 16px;
}
}

.auth-sub-panel[data-v-51561d98] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.auth-sub-panel__back[data-v-51561d98] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  color: #001e62;
  font-family: inherit;
}
.auth-sub-panel__back[data-v-51561d98]:hover {
  opacity: 0.85;
}
.login-card__header[data-v-51561d98] {
  margin-bottom: 0;
}
.login-card__title[data-v-51561d98] {
  font-size: 32px;
  font-weight: 700;
  color: #090909;
  margin: 0 0 8px;
}
.login-card__subtitle[data-v-51561d98] {
  font-size: 18px;
  font-weight: 400;
  color: #51565c;
  margin: 0;
}
.account-flow__panel[data-v-51561d98] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.account-flow__message[data-v-51561d98] {
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
}
.account-flow__message--success[data-v-51561d98] {
  background-color: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #065f46;
}
.account-flow__message--error[data-v-51561d98] {
  background-color: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
}
.readonly-field[data-v-51561d98] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border: 1px solid #d6dbe6;
  border-radius: 8px;
  background-color: #f8fafc;
  padding: 10px 12px;
}
.readonly-field__label[data-v-51561d98] {
  font-size: 12px;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.readonly-field__value[data-v-51561d98] {
  font-size: 15px;
  color: #111827;
  word-break: break-word;
}
.account-flow__hint[data-v-51561d98] {
  margin: 0;
  font-size: 12px;
  color: #6b7280;
}
[data-v-51561d98] .account-flow__button {
  width: 100%;
  justify-content: center;
}
.confirm-success-footer[data-v-51561d98] {
  margin: 8px 0 0;
  text-align: center;
}
.confirm-success-footer__back[data-v-51561d98] {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  color: #001e62;
  font-family: inherit;
  text-decoration: underline;
}
.confirm-success-footer__back[data-v-51561d98]:hover {
  opacity: 0.85;
}
@media (max-width: 600px) {
.login-card__title[data-v-51561d98] {
    font-size: 24px;
}
}

.auth-sub-panel[data-v-5b868984] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.auth-sub-panel__back[data-v-5b868984] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  color: #001e62;
  font-family: inherit;
}
.auth-sub-panel__back[data-v-5b868984]:hover {
  opacity: 0.85;
}
.login-card__header[data-v-5b868984] {
  margin-bottom: 0;
}
.login-card__title[data-v-5b868984] {
  font-size: 32px;
  font-weight: 700;
  color: #090909;
  margin: 0 0 8px;
}
.login-card__subtitle[data-v-5b868984] {
  font-size: 18px;
  font-weight: 400;
  color: #51565c;
  margin: 0;
  line-height: 24px;
}
.forgot-lock[data-v-5b868984] {
  display: flex;
  justify-content: center;
  padding: 8px 0 4px;
}
.forgot-lock__circle[data-v-5b868984] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #e8f4f3;
}
.forgot-lock__svg[data-v-5b868984] {
  display: block;
}
.account-flow__panel[data-v-5b868984] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.account-flow__message[data-v-5b868984] {
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
}
.account-flow__message--success[data-v-5b868984] {
  background-color: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #065f46;
}
.account-flow__message--warning[data-v-5b868984] {
  background-color: #fffbeb;
  border: 1px solid #fde68a;
  color: #92400e;
}
.account-flow__message--error[data-v-5b868984] {
  background-color: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
}
.readonly-field[data-v-5b868984] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border: 1px solid #d6dbe6;
  border-radius: 8px;
  background-color: #f8fafc;
  padding: 10px 12px;
}
.readonly-field__label[data-v-5b868984] {
  font-size: 12px;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.readonly-field__value[data-v-5b868984] {
  font-size: 15px;
  color: #111827;
  word-break: break-word;
}
[data-v-5b868984] .forgot-password__submit {
  width: 100%;
  background-color: #001e62 !important;
  border-color: #001e62 !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  justify-content: center;
  margin-top: 4px;
  box-shadow: 0 4px 12px 0 rgba(109, 109, 109, 0.25);
}
[data-v-5b868984] .forgot-password__submit:hover {
  background-color: #001a55 !important;
  border-color: #001a55 !important;
}
[data-v-5b868984] .forgot-password__submit:focus-visible {
  box-shadow: 0 0 0 3px rgba(0, 30, 98, 0.3) !important;
}
@media (max-width: 600px) {
.login-card__title[data-v-5b868984] {
    font-size: 24px;
}
}

.auth-sub-panel[data-v-e50dd765] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.auth-sub-panel__back[data-v-e50dd765] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  color: #001e62;
  font-family: inherit;
}
.auth-sub-panel__back[data-v-e50dd765]:hover {
  opacity: 0.85;
}
.login-card__header[data-v-e50dd765] {
  margin-bottom: 0;
}
.login-card__title[data-v-e50dd765] {
  font-size: 32px;
  font-weight: 700;
  color: #090909;
  margin: 0 0 8px;
}
.login-card__subtitle[data-v-e50dd765] {
  font-size: 18px;
  font-weight: 400;
  color: #51565c;
  margin: 0;
}
.account-flow__panel[data-v-e50dd765] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.account-flow__grid[data-v-e50dd765] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.account-flow__message[data-v-e50dd765] {
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
}
.account-flow__message--success[data-v-e50dd765] {
  background-color: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #065f46;
}
.account-flow__message--error[data-v-e50dd765] {
  background-color: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
}
.registration-terms-well[data-v-e50dd765] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid #d6dbe6;
  border-radius: 10px;
  background-color: #f8fafc;
}
.registration-terms-well__text[data-v-e50dd765] {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: #445168;
}
[data-v-e50dd765] .account-flow__button {
  width: 100%;
  justify-content: center;
}
@media (max-width: 600px) {
.login-card__title[data-v-e50dd765] {
    font-size: 24px;
}
.account-flow__grid[data-v-e50dd765] {
    grid-template-columns: 1fr;
}
}

.login-sign-in[data-v-03fd3be4] {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.login-card__header[data-v-03fd3be4] {
  margin-bottom: 32px;
}
.login-card__title[data-v-03fd3be4] {
  font-size: 32px;
  font-weight: 700;
  color: #090909;
  margin: 0 0 8px;
}
.login-card__subtitle[data-v-03fd3be4] {
  font-size: 18px;
  font-weight: 400;
  color: #51565c;
  margin: 0;
}
.login-form[data-v-03fd3be4] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.password-field[data-v-03fd3be4] {
  position: relative;
}
.password-toggle[data-v-03fd3be4] {
  position: absolute;
  right: 12px;
  bottom: 10px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #99a5c0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: color 0.2s ease;
}
.password-toggle[data-v-03fd3be4]:hover {
  color: #001e62;
}
.password-toggle i[data-v-03fd3be4] {
  font-size: 16px;
}
.error-message[data-v-03fd3be4] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background-color: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  color: #dc2626;
  font-size: 14px;
  font-weight: 500;
}
.error-message i[data-v-03fd3be4] {
  font-size: 16px;
  flex-shrink: 0;
}
[data-v-03fd3be4] .sign-in-button {
  width: 100%;
  background-color: #001e62 !important;
  border-color: #001e62 !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  justify-content: center;
}
[data-v-03fd3be4] .sign-in-button:hover {
  background-color: #001845 !important;
  border-color: #001845 !important;
}
[data-v-03fd3be4] .sign-in-button:focus-visible {
  box-shadow: 0 0 0 3px rgba(0, 30, 98, 0.3) !important;
}
.login-help-links[data-v-03fd3be4] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 16px;
}
.login-help-links__item + .login-help-links__item[data-v-03fd3be4]::before {
  content: '|';
  margin: 0 10px;
  color: #99a5c0;
}
.login-help-links__link[data-v-03fd3be4] {
  font-weight: 600;
  color: #001e62;
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
.login-help-links__link[data-v-03fd3be4]:hover {
  opacity: 0.7;
}
@media (max-width: 600px) {
.login-card__title[data-v-03fd3be4] {
    font-size: 24px;
}
.login-card__subtitle[data-v-03fd3be4] {
    font-size: 16px;
}
.login-help-links[data-v-03fd3be4] {
    font-size: 15px;
}
}

.login-page[data-v-ccdf4f92] {
  display: flex;
  min-height: 100vh;
  background-color: #001e62;
  font-family: 'Nunito Sans', sans-serif;
}
.login-panel[data-v-ccdf4f92] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 480px;
  min-width: 480px;
  padding: 60px 40px;
}
.login-card[data-v-ccdf4f92] {
  width: 100%;
  max-width: 448px;
  background: #ffffff;
  border-radius: 20px;
  padding: 40px;
}
.login-panel__footer[data-v-ccdf4f92] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  width: 100%;
  max-width: 448px;
}
.contact-support[data-v-ccdf4f92] {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
}
.pc-account-hint[data-v-ccdf4f92] {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
}
.pc-account-hint__link[data-v-ccdf4f92] {
  font-weight: 600;
  color: #2cd5c4;
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
.pc-account-hint__link[data-v-ccdf4f92]:hover {
  opacity: 0.85;
}
.contact-support__link[data-v-ccdf4f92] {
  font-weight: 600;
  color: #2cd5c4;
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
.contact-support__link[data-v-ccdf4f92]:hover {
  opacity: 0.85;
}
@media (max-width: 960px) {
.login-page[data-v-ccdf4f92] {
    flex-direction: column;
}
.login-panel[data-v-ccdf4f92] {
    width: 100%;
    min-width: unset;
    padding: 40px 24px;
}
}
@media (max-width: 600px) {
.login-panel[data-v-ccdf4f92] {
    padding: 24px 16px;
}
.login-card[data-v-ccdf4f92] {
    padding: 24px;
    border-radius: 16px;
}
}

.mfa-page[data-v-d0c7df6d] {
  display: flex;
  min-height: 100vh;
  justify-content: center;
  align-items: center;
  padding: 24px;
  background-color: #001e62;
  font-family: 'Nunito Sans', sans-serif;
}
.mfa-panel[data-v-d0c7df6d] {
  width: 100%;
  max-width: 520px;
}
.mfa-card[data-v-d0c7df6d] {
  background: #ffffff;
  border-radius: 20px;
  padding: 36px;
}
.mfa-card__header[data-v-d0c7df6d] {
  margin-bottom: 24px;
}
.mfa-card__title[data-v-d0c7df6d] {
  margin: 0 0 10px;
  font-size: 30px;
  font-weight: 700;
  color: #090909;
}
.mfa-card__subtitle[data-v-d0c7df6d] {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #51565c;
}
.mfa-form[data-v-d0c7df6d] {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.mfa-expiration[data-v-d0c7df6d] {
  margin: 0;
  color: #334155;
  font-size: 14px;
}
.mfa-error[data-v-d0c7df6d] {
  padding: 12px 14px;
  border-radius: 8px;
  background-color: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
  font-size: 14px;
}
.mfa-actions[data-v-d0c7df6d] {
  display: grid;
  gap: 10px;
}
@media (max-width: 600px) {
.mfa-card[data-v-d0c7df6d] {
    padding: 24px;
    border-radius: 16px;
}
.mfa-card__title[data-v-d0c7df6d] {
    font-size: 24px;
}
}

.profile-mfa-page[data-v-2ac32240] {
  max-width: 900px;
  margin: 0 auto;
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.profile-mfa-header[data-v-2ac32240] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.profile-mfa-title[data-v-2ac32240] {
  margin: 0;
  font-size: 28px;
  color: #111827;
}
.profile-mfa-subtitle[data-v-2ac32240] {
  margin: 0;
  color: #6b7280;
}
.profile-mfa-loader[data-v-2ac32240],
.profile-mfa-error[data-v-2ac32240],
.profile-mfa-card[data-v-2ac32240] {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
}
.profile-mfa-status-row[data-v-2ac32240] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.profile-mfa-status-label[data-v-2ac32240] {
  color: #374151;
  font-weight: 600;
}
.profile-mfa-status-value[data-v-2ac32240] {
  font-weight: 700;
}
.profile-mfa-status-value.is-enabled[data-v-2ac32240] {
  color: #059669;
}
.profile-mfa-status-value.is-disabled[data-v-2ac32240] {
  color: #dc2626;
}
.profile-mfa-actions[data-v-2ac32240] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.profile-mfa-button-wrap[data-v-2ac32240] {
  max-width: 300px;
}
.profile-mfa-enrollment-box[data-v-2ac32240] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #f9fafb;
}
.profile-mfa-uri-box[data-v-2ac32240] {
  overflow-x: auto;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px;
  background: #fff;
}
.profile-mfa-uri-box code[data-v-2ac32240] {
  font-size: 12px;
  color: #111827;
  white-space: nowrap;
}
.profile-mfa-secret[data-v-2ac32240] {
  margin: 0;
  color: #374151;
}
.profile-mfa-secret strong[data-v-2ac32240] {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.profile-mfa-qr-wrap[data-v-2ac32240] {
  max-width: 220px;
}
.profile-mfa-qr-image[data-v-2ac32240] {
  width: 220px;
  height: 220px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
}
.profile-mfa-enabled-note[data-v-2ac32240],
.profile-mfa-instructions[data-v-2ac32240] {
  margin: 0;
  color: #4b5563;
}
.profile-mfa-input-wrap[data-v-2ac32240] {
  max-width: 300px;
}

.ai-feedback-widget--card[data-v-5d2ef0ec] {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--p-surface-200);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.ai-feedback-widget--compact[data-v-5d2ef0ec] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  margin-top: 0.35rem;
  width: 100%;
}
.ai-feedback-widget__row[data-v-5d2ef0ec] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}
.ai-feedback-widget__label[data-v-5d2ef0ec] {
  font-size: 0.8125rem;
  color: var(--p-surface-600);
}
.ai-feedback-widget__thumbs[data-v-5d2ef0ec] {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

/* Icon tints aligned with eligibility wizard accents (e.g. next-steps info #2563eb) */
.ai-feedback-widget__thumb--up[data-v-5d2ef0ec] .p-button-icon {
  color: #16a34a;
}
.ai-feedback-widget__thumb--down[data-v-5d2ef0ec] .p-button-icon {
  color: #dc2626;
}
.ai-feedback-widget__thumb--up.ai-feedback-widget__thumb--selected[data-v-5d2ef0ec]:not(:disabled) {
  border-color: #16a34a;
  color: #15803d;
  background: rgba(22, 163, 74, 0.12);
}
.ai-feedback-widget__thumb--down.ai-feedback-widget__thumb--selected[data-v-5d2ef0ec]:not(:disabled) {
  border-color: #dc2626;
  color: #b91c1c;
  background: rgba(220, 38, 38, 0.12);
}
.ai-feedback-widget__thumb--up.ai-feedback-widget__thumb--selected[data-v-5d2ef0ec]:not(:disabled) .p-button-icon {
  color: #15803d;
}
.ai-feedback-widget__thumb--down.ai-feedback-widget__thumb--selected[data-v-5d2ef0ec]:not(:disabled) .p-button-icon {
  color: #b91c1c;
}
.ai-feedback-widget__hint[data-v-5d2ef0ec] {
  margin: 0.35rem 0 0;
  font-size: 0.75rem;
  color: var(--p-orange-600, #c2410c);
}
.ai-feedback-widget__add-note[data-v-5d2ef0ec] {
  margin-left: 0.25rem;
}
.ai-feedback-widget__textarea-wrap[data-v-5d2ef0ec] {
  width: 100%;
}
.ai-feedback-widget__textarea[data-v-5d2ef0ec] {
  width: 100%;
}
.ai-feedback-widget__submit-row[data-v-5d2ef0ec] {
  display: flex;
  justify-content: flex-start;
}
.ai-feedback-widget__thanks[data-v-5d2ef0ec] {
  width: 100%;
}

.efw-guide-dialog-content[data-v-2e23475a] {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.efw-guide-section[data-v-2e23475a] {
  display: flex;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 0.5rem;
  background: linear-gradient(135deg, #eff6ff, #fefce8);
  border: 1px solid #bfdbfe;
  margin-bottom: 0.75rem;
}
.efw-guide-section-icon[data-v-2e23475a] {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.efw-guide-section-title[data-v-2e23475a] {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--p-primary-700);
  margin: 0 0 0.25rem;
}
.efw-guide-section p[data-v-2e23475a] {
  font-size: 0.8125rem;
  color: var(--p-surface-600);
  line-height: 1.5;
  margin: 0;
}
.efw-guide-heading[data-v-2e23475a] {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--p-surface-700);
  margin: 1rem 0 0.5rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid var(--p-surface-200);
}
.efw-guide-steps[data-v-2e23475a] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.efw-guide-step[data-v-2e23475a] {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}
.efw-guide-step-number[data-v-2e23475a] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background-color: #eff6ff;
  color: var(--p-primary-700);
  font-size: 0.75rem;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 0.125rem;
}
.efw-guide-step strong[data-v-2e23475a] {
  font-size: 0.8125rem;
  color: var(--p-surface-700);
}
.efw-guide-step p[data-v-2e23475a] {
  font-size: 0.8125rem;
  color: var(--p-surface-500);
  line-height: 1.4;
  margin: 0.125rem 0 0;
}
.efw-guide-results[data-v-2e23475a] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.efw-guide-result-item[data-v-2e23475a] {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  font-size: 0.8125rem;
  color: var(--p-surface-600);
  line-height: 1.4;
}
.efw-guide-result-item i[data-v-2e23475a] {
  flex-shrink: 0;
  margin-top: 0.125rem;
  font-size: 0.875rem;
}
.efw-guide-tips[data-v-2e23475a] {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.efw-guide-tips li[data-v-2e23475a] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--p-surface-600);
}

.survey-card[data-v-efed05b6] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border: 1px solid var(--p-surface-200);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

/* Select uses appendTo="self" in the survey dialog; avoid clipping the options panel */
.survey-card[data-v-efed05b6] .p-card-body,
.survey-card[data-v-efed05b6] .p-card-content {
  overflow: visible;
}
.survey-body .form-field[data-v-efed05b6],
.survey-body .form-group-fields[data-v-efed05b6],
.survey-body .form-group[data-v-efed05b6] {
  overflow: visible;
}
.survey-header[data-v-efed05b6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid var(--p-surface-200);
  background: linear-gradient(to right, #eff6ff, #f0f9ff);
}
.survey-header-left[data-v-efed05b6] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.survey-header-icon[data-v-efed05b6] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  background-color: var(--p-primary-500);
  display: flex;
  align-items: center;
  justify-content: center;
}
.survey-header-icon i[data-v-efed05b6] {
  color: white;
  font-size: 1.125rem;
}
.survey-title[data-v-efed05b6] {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--p-surface-900);
  margin: 0;
}
.survey-subtitle[data-v-efed05b6] {
  font-size: 0.875rem;
  color: var(--p-surface-600);
  margin: 0;
}
.survey-autofill-bar[data-v-efed05b6] {
  padding: 0.75rem 1rem;
  background-color: #eef2ff;
  border-bottom: 1px solid #c7d2fe;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
}
.survey-autofill-info[data-v-efed05b6] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #4338ca;
}
.survey-body[data-v-efed05b6] {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 0.5rem;
  min-width: 0;
}
.form-field[data-v-efed05b6] {
  padding: 0.75rem;
  border-radius: 0.5rem;
  background-color: var(--p-surface-50);
  border: 1px solid var(--p-surface-200);
  min-width: 0;
  max-width: 100%;
}
.form-label[data-v-efed05b6] {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--p-surface-700);
  margin-bottom: 0.5rem;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.form-required[data-v-efed05b6] {
  color: #ef4444;
}
.form-checkbox-row[data-v-efed05b6] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.form-checkbox-label[data-v-efed05b6] {
  font-size: 0.875rem;
  color: var(--p-surface-600);
  overflow-wrap: break-word;
  word-wrap: break-word;
  min-width: 0;
}
.form-help-text[data-v-efed05b6] {
  font-size: 0.75rem;
  color: var(--p-surface-500);
  margin-top: 0.25rem;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.form-group[data-v-efed05b6] {
  padding: 1rem;
  border-radius: 0.5rem;
  border: 1px solid var(--p-surface-200);
  background-color: var(--p-surface-50);
  min-width: 0;
  max-width: 100%;
}
.form-group-title[data-v-efed05b6] {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--p-surface-800);
  margin: 0 0 1rem;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.form-group-fields[data-v-efed05b6] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}

/* No visible questions: avoid a large gap under the section title (e.g. section 4 when rules hide all fields). */
.form-group--no-visible-fields .form-group-title[data-v-efed05b6] {
  margin-bottom: 0;
}
.form-group--no-visible-fields[data-v-efed05b6] {
  padding-bottom: 0.75rem;
}

/* Prevent long labels/values from expanding the survey past the modal width */
.survey-field-control[data-v-efed05b6] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.form-field[data-v-efed05b6] .p-select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.form-field[data-v-efed05b6] .p-select-label {
  flex: 1 1 0%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* appendTo="self": overlay width follows content; constrain and wrap long enum labels on mobile */
.form-field[data-v-efed05b6] .p-select-overlay {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow-x: hidden;
}
.form-field[data-v-efed05b6] .p-select-list-container {
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
}
.form-field[data-v-efed05b6] .p-select-list {
  min-width: 0;
}
.form-field[data-v-efed05b6] .p-select-option {
  white-space: normal;
  align-items: flex-start;
}
.form-field[data-v-efed05b6] .p-select-option-label {
  white-space: normal;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
  line-height: 1.35;
}
.form-field[data-v-efed05b6] .p-inputtext,
.form-field[data-v-efed05b6] .p-inputnumber-input {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.form-field[data-v-efed05b6] .p-datepicker {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.survey-status-panel[data-v-efed05b6] {
  margin-top: 1.5rem;
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: var(--p-surface-50);
  border: 1px solid var(--p-surface-200);
}
.survey-status-header[data-v-efed05b6] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}
.survey-status-label[data-v-efed05b6] {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--p-surface-700);
}
.survey-status-reasons[data-v-efed05b6] {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.survey-status-reasons-title[data-v-efed05b6] {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--p-surface-500);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.survey-status-reasons-list[data-v-efed05b6] {
  list-style: disc;
  padding-left: 1rem;
  margin: 0;
}
.survey-status-reasons-list li[data-v-efed05b6] {
  font-size: 0.875rem;
  color: var(--p-surface-600);
}

/* Fallback when the schema has no Group nodes: keep a single outer card. */
.observations-standalone.form-group[data-v-efed05b6] {
  margin-top: 0.5rem;
  padding: 0;
  overflow: hidden;
}
.observations-form-fields[data-v-efed05b6] {
  padding: 0 1rem 1rem;
  min-width: 0;
}
.observations-toggle[data-v-efed05b6] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1rem;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.15s;
}
.observations-toggle[data-v-efed05b6]:hover {
  background-color: var(--p-surface-100);
}
.observations-toggle i[data-v-efed05b6] {
  font-size: 0.75rem;
  color: var(--p-surface-500);
  flex-shrink: 0;
}
.observations-toggle-text[data-v-efed05b6] {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--p-surface-700);
}
.observations-badge[data-v-efed05b6] {
  margin-left: auto;
}
.observations-hint[data-v-efed05b6] {
  margin-bottom: 0.5rem;
}

/* w-full is not guaranteed globally; textarea defaults to a narrow intrinsic width without this. */
.observations-textarea[data-v-efed05b6] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  display: block;
  font-size: 0.875rem;
  min-height: 120px;
}
.survey-actions[data-v-efed05b6] {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--p-surface-200);
}
/**
 * Production eligibility wizard — Figma: Eligibility-flow-1 & Eligibility-flow-2
 * Navy #1E3A8A, teal complete #2CD5C4, page bg #F5F5F7, Source Sans 3 equivalents via system stack.
 */

/* AI markdown rendered via simpleAiMarkdownToHtml + v-html */
.narrative-text--markdown {
  white-space: normal;
}
.efw-dialog-root .narrative-text.narrative-text--markdown {
  white-space: normal;
}
.ai-md-root {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.ai-md-h2 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--p-surface-900);
  margin: 1.25rem 0 0.5rem;
}
.ai-md-h2:first-child {
  margin-top: 0;
}
.ai-md-h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--p-surface-900);
  margin: 1rem 0 0.4rem;
}
.ai-md-h3:first-child {
  margin-top: 0;
}
.ai-md-h4 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--p-surface-900);
  margin: 0.85rem 0 0.35rem;
}
.ai-md-h4:first-child {
  margin-top: 0;
}
.ai-md-strong {
  font-weight: 600;
  color: var(--p-primary-700);
}
.ai-md-li {
  display: flex;
  gap: 0.35rem;
  margin: 0.2rem 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.ai-md-li-marker {
  flex-shrink: 0;
  color: var(--p-surface-400);
  font-weight: 600;
}
.ai-md-li-text {
  flex: 1;
  min-width: 0;
}
.ai-md-block-spacer {
  display: block;
  height: 0.65rem;
}
.eligibility-flow-wizard {
  --efw-continue-bg: #1e3a8a;
  width: 100%;
  max-width: 936px;
  min-width: 0;
  margin: 0 auto;
  padding-bottom: 2rem;
  box-sizing: border-box;
}

/* —— Toolbar: How It Works (Figma: top-right above card) —— */
.eligibility-flow-wizard .efw-toolbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 1rem;
  min-height: 39px;
}
.eligibility-flow-wizard .efw-how-it-works-btn.p-button {
  border-radius: 10px;
  border: 1px solid #1e3a8a;
  background: #fff;
  color: #1e3a8a;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-weight: 500;
  font-size: 14px;
  padding: 0.5rem 1rem;
  gap: 0.5rem;
}
.eligibility-flow-wizard .efw-how-it-works-btn.p-button:hover {
  background: rgba(30, 58, 138, 0.06);
}
.eligibility-flow-wizard .efw-how-it-works-inner {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

/* —— Stepper: horizontal, centered (Figma ~600px track) —— */
.eligibility-flow-wizard .efw-stepper-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 1.75rem;
}
.eligibility-flow-wizard .efw-stepper {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  max-width: 640px;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}
.eligibility-flow-wizard .efw-stepper-cluster {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 108px;
  flex-shrink: 0;
}
.eligibility-flow-wizard .efw-stepper-line {
  width: 107px;
  height: 2px;
  margin-top: 16px;
  flex-shrink: 0;
  border: none;
  border-radius: 1px;
  background: #d1d5db;
}
.eligibility-flow-wizard .efw-stepper-line--complete {
  background: #2cd5c4;
}
.eligibility-flow-wizard .efw-stepper-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
}
.eligibility-flow-wizard .efw-stepper-circle--upcoming {
  background: #fff;
  border: 2px solid #e5e7eb;
  color: #6b7280;
}
.eligibility-flow-wizard .efw-stepper-circle--current {
  background: #1e3a8a;
  border: 2px solid #1e3a8a;
  color: #fff;
}
.eligibility-flow-wizard .efw-stepper-circle--complete {
  background: #2cd5c4;
  border: 2px solid #2cd5c4;
  color: #fff;
  font-size: 16px;
}
.eligibility-flow-wizard .efw-stepper-label {
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  color: #6b7280;
  max-width: 108px;
}
.eligibility-flow-wizard .efw-stepper-label--current {
  color: #1e3a8a;
  font-weight: 500;
}
.eligibility-flow-wizard .efw-stepper-label--complete {
  color: #2cd5c4;
  font-weight: 500;
}

/* —— Card chrome (Figma: 10px radius, shadow) —— */
.eligibility-flow-wizard .efw-step-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 33px;
  margin-bottom: 0;
  box-sizing: border-box;
  box-shadow:
    0 1px 2px -1px rgba(0, 0, 0, 0.1),
    0 1px 3px 0 rgba(0, 0, 0, 0.1);
}
.eligibility-flow-wizard .efw-card-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 0;
}
.eligibility-flow-wizard .efw-card-title-group {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}
.eligibility-flow-wizard .efw-card-header-actions {
  flex-shrink: 0;
}
.eligibility-flow-wizard .efw-section-collapse-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #e5e7eb;
  color: #374151;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.eligibility-flow-wizard .efw-section-collapse-btn:hover {
  background: #d1d5db;
}
.eligibility-flow-wizard .efw-section-collapse-btn .pi {
  font-size: 0.75rem;
}
.eligibility-flow-wizard .efw-card-step-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e8f0fc;
  color: var(--efw-continue-bg);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}
.eligibility-flow-wizard .efw-card-heading-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex: 1;
  min-width: 0;
}
.eligibility-flow-wizard .efw-card-heading {
  margin: 0;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  color: #1e3a8a;
}
.eligibility-flow-wizard .efw-priority-tag.p-tag {
  font-size: 10px;
  padding: 2px 8px;
  margin-left: 4px;
}
.eligibility-flow-wizard .efw-card-description {
  margin: 12px 0 0;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #6b7280;
}
.eligibility-flow-wizard .efw-card-body {
  margin-top: 1rem;
}
.eligibility-flow-wizard .efw-card-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid #e5e7eb;
}
.eligibility-flow-wizard .efw-card-footer--end {
  justify-content: flex-end;
}
.eligibility-flow-wizard .efw-card-footer-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

/* Step chrome wraps #footer in .efw-card-footer; steps repeat it — keep a single divider and full-width row */
.eligibility-flow-wizard .efw-card-footer > .efw-card-footer {
  flex: 1 1 100%;
  min-width: 0;
  width: 100%;
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

/* Figma primary / secondary buttons */
.eligibility-flow-wizard .efw-btn-cancel.p-button {
  border-radius: 10px;
  border: 1px solid #d2d2d7;
  background: #fff;
  color: #1d1d1f;
  font-weight: 500;
  font-size: 15px;
  padding: 12px 24px;
}
.eligibility-flow-wizard .efw-btn-back.p-button {
  border-radius: 10px;
  border: 1px solid #d2d2d7;
  background: #fff;
  color: #1d1d1f;
  font-weight: 500;
  font-size: 15px;
  padding: 12px 24px;
}
.eligibility-flow-wizard .efw-btn-continue.p-button {
  border-radius: 10px;
  border: 1px solid var(--efw-continue-bg);
  background: var(--efw-continue-bg);
  color: #fff;
  font-weight: 500;
  font-size: 15px;
  padding: 12px 24px;
}
.eligibility-flow-wizard .efw-btn-continue.p-button:disabled {
  background: #9ca3af;
  border-color: #9ca3af;
  color: #fff;
  opacity: 1;
}

/* Step 1 ORCID: Figma — field first (~8px radius), helper line under field, then spaced profile block */
.eligibility-flow-wizard .efw-orcid-field {
  margin-top: 0;
}

/* One bordered field: icon + input share the same box (Figma) */
.eligibility-flow-wizard .efw-orcid-input-shell {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 2.75rem;
  padding: 0 0.75rem;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}
.eligibility-flow-wizard .efw-orcid-input-shell:focus-within {
  border-color: #1e3a8a;
  box-shadow: 0 0 0 1px #1e3a8a;
}
.eligibility-flow-wizard .efw-orcid-search-icon {
  flex-shrink: 0;
  color: #64748b;
  font-size: 0.95rem;
  line-height: 1;
  pointer-events: none;
}
.eligibility-flow-wizard .efw-orcid-input-shell .efw-orcid-input,
.eligibility-flow-wizard .efw-orcid-input-shell input.p-inputtext,
.eligibility-flow-wizard .efw-orcid-input-shell input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100% !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0.5rem 0 !important;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  box-sizing: border-box;
}
.eligibility-flow-wizard .efw-orcid-input-shell .efw-orcid-input:focus,
.eligibility-flow-wizard .efw-orcid-input-shell input:focus {
  outline: none !important;
  box-shadow: none !important;
}
.eligibility-flow-wizard .efw-orcid-input-shell input::placeholder {
  color: #9ca3af;
}
.eligibility-flow-wizard .efw-orcid-input-shell:has(input:disabled) {
  opacity: 0.65;
}
.eligibility-flow-wizard .efw-orcid-field:has(.orcid-spinner) .efw-orcid-input-shell {
  padding-right: 2.5rem;
}
.eligibility-flow-wizard .efw-orcid-register-hint {
  margin: 0.75rem 0 0;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #6b7280;
}
.eligibility-flow-wizard .efw-orcid-register-hint .efw-orcid-register-link {
  margin-left: 0.25rem;
  font-weight: 600;
  color: #1e3a8a;
  text-decoration: none;
}
.eligibility-flow-wizard .efw-orcid-register-hint .efw-orcid-register-link:hover {
  text-decoration: underline;
}
.eligibility-flow-wizard .efw-orcid-warning {
  margin-top: 1rem;
}
.eligibility-flow-wizard .researcher-result.efw-orcid-profile-result {
  margin-top: 1.5rem;
}
.eligibility-flow-wizard .efw-format-hint {
  margin: 0.5rem 0 0;
  font-size: 13px;
  color: #9ca3af;
  line-height: 1.5;
}
.eligibility-flow-wizard .efw-subsection-heading {
  margin: 0 0 0.25rem;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  color: #1e3a8a;
}
.eligibility-flow-wizard .efw-subsection-desc {
  margin: 0 0 0.75rem;
  font-size: 14px;
  line-height: 1.5;
  color: #6b7280;
}
.eligibility-flow-wizard .efw-subsection-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 0.25rem;
}
.eligibility-flow-wizard .efw-funding-step-block {
  margin-top: 0;
  padding-top: 1.25rem;
  border-top: 1px solid #e5e7eb;
}

/* Step 2: biosketch follows funding + extracted (Figma vertical order) */
.eligibility-flow-wizard .efw-step2-biosketch-section {
  margin-top: 1.75rem;
  padding-top: 1.75rem;
  border-top: 1px solid #e5e7eb;
}

/* Step 1: biosketch is first in card — no chrome description, no top divider */
.eligibility-flow-wizard .efw-step2-biosketch-section.efw-biosketch-section--step1 {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.eligibility-flow-wizard .efw-biosketch-header-row {
  align-items: center;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap;
  row-gap: 8px;
}
.eligibility-flow-wizard .efw-biosketch-heading-inline {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex: 1;
  min-width: 0;
}
.eligibility-flow-wizard .efw-biosketch-uploaded-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  padding: 4px 12px;
  border-radius: 9999px;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  color: #fff;
  background: #16a34a;
}
.eligibility-flow-wizard .efw-biosketch-uploaded-pill .pi {
  font-size: 0.65rem;
}
.eligibility-flow-wizard .efw-biosketch-lead-desc {
  margin-bottom: 0.75rem;
}
.eligibility-flow-wizard .efw-biosketch-files-panel {
  margin-top: 0.25rem;
  padding: 14px 16px 16px;
  border-radius: 10px;
  border: 1px solid #bfdbfe;
  background: #eff6ff;
}
.eligibility-flow-wizard .efw-biosketch-panel-hint {
  margin: 0 0 12px;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: #6b7280;
}
.eligibility-flow-wizard .efw-biosketch-file-rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.eligibility-flow-wizard .efw-step2-biosketch-section .efw-biosketch-files-panel .source-option.efw-biosketch-file-row {
  align-items: flex-start;
  padding: 14px 16px;
  border-radius: 10px;
  border: 1px solid #dbeafe;
  background: #fff;
  box-shadow: none;
}
.eligibility-flow-wizard .efw-step2-biosketch-section .efw-biosketch-files-panel .source-option.efw-biosketch-file-row:hover {
  border-color: #93c5fd;
}
.eligibility-flow-wizard .efw-step2-biosketch-section .efw-biosketch-files-panel .source-option.efw-biosketch-file-row.source-option--selected {
  border-color: #2563eb;
  background: #fff;
  box-shadow: 0 0 0 1px #2563eb;
}
.eligibility-flow-wizard .efw-biosketch-pdf-icon {
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 1.5rem;
  line-height: 1;
  color: #dc2626;
}
.eligibility-flow-wizard .efw-step2-biosketch-section .source-option-label {
  font-size: 15px;
  font-weight: 600;
  color: #374151;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.eligibility-flow-wizard .efw-step2-biosketch-section .source-option-label--selected {
  color: var(--efw-continue-bg, #1e3a8a);
}
.eligibility-flow-wizard .efw-step2-biosketch-section .source-option-desc {
  font-size: 13px;
  color: #6b7280;
}
.eligibility-flow-wizard .efw-biosketch-summary-btn-wrap {
  display: flex;
  align-items: flex-start;
  padding-top: 2px;
}
.eligibility-flow-wizard .efw-step2-biosketch-section .efw-biosketch-summary-btn.p-button-outlined {
  border-color: var(--efw-continue-bg, #1e3a8a);
  color: var(--efw-continue-bg, #1e3a8a);
  background: #fff;
  font-weight: 500;
  border-radius: 8px;
}
.eligibility-flow-wizard .efw-step2-biosketch-section .efw-biosketch-summary-btn.p-button-outlined:not(:disabled):hover {
  background: rgba(30, 58, 138, 0.06);
  border-color: var(--efw-continue-bg, #1e3a8a);
  color: var(--efw-continue-bg, #1e3a8a);
}

/* Extracted criteria panel */
.eligibility-flow-wizard .efw-extracted-panel {
  margin-top: 1.5rem;
  padding: 25px 25px 1px;
  background: #fafbfc;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
}
.eligibility-flow-wizard .efw-extracted-panel.funding-extracted-section {
  border-color: #e5e7eb;
}
.eligibility-flow-wizard .efw-extracted-panel--criteria {
  padding: 20px 20px 4px;
  background: #f9fafb;
}
.eligibility-flow-wizard .efw-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.eligibility-flow-wizard .efw-extract-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.eligibility-flow-wizard .efw-extract-panel-title {
  margin: 0;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  color: #111827;
}
.eligibility-flow-wizard .efw-extract-replace-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #1e3a8a;
  background: #fff;
  border: 1px solid #1e3a8a;
  border-radius: 8px;
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease;
}
.eligibility-flow-wizard .efw-extract-replace-btn:hover:not(:disabled) {
  background: rgba(30, 58, 138, 0.06);
}
.eligibility-flow-wizard .efw-extract-replace-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.eligibility-flow-wizard .efw-extract-replace-btn .pi {
  font-size: 0.875rem;
}
.eligibility-flow-wizard .efw-extract-card {
  border-radius: 8px;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
  margin-bottom: 1rem;
}
.eligibility-flow-wizard .efw-extract-card--eligibility {
  background: #eff6ff;
  border-color: #bfdbfe;
}
.eligibility-flow-wizard .efw-extract-card--ineligibility {
  background: #fef2f2;
  border-color: #fecaca;
}
.eligibility-flow-wizard .efw-extract-card__banner {
  padding: 10px 16px;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}
.eligibility-flow-wizard .efw-extract-card--eligibility .efw-extract-card__banner {
  background: #dbeafe;
  color: #1e40af;
}
.eligibility-flow-wizard .efw-extract-card--ineligibility .efw-extract-card__banner {
  background: #fecaca;
  color: #b91c1c;
}
.eligibility-flow-wizard .efw-extract-card__body {
  padding: 18px 16px 20px;
}
.eligibility-flow-wizard .efw-extract-grant-title {
  margin: 0 0 12px;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
  color: #111827;
}
.eligibility-flow-wizard .efw-extract-card__body > .efw-extract-grant-title:not(:first-of-type) {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(29, 78, 216, 0.18);
}
.eligibility-flow-wizard .efw-extract-card--ineligibility .efw-extract-card__body > .efw-extract-grant-title:not(:first-of-type) {
  border-top-color: rgba(220, 38, 38, 0.22);
}
.eligibility-flow-wizard .efw-extract-criteria-block {
  margin-bottom: 1rem;
}
.eligibility-flow-wizard .efw-extract-criteria-block:last-child {
  margin-bottom: 0;
}
.eligibility-flow-wizard .efw-extract-criteria-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.eligibility-flow-wizard .efw-extract-criteria-main {
  flex: 1;
  min-width: min(100%, 14rem);
}
.eligibility-flow-wizard .efw-extract-criteria-text {
  margin: 0;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  color: #374151;
  overflow-wrap: anywhere;
}
.eligibility-flow-wizard .efw-extract-sub-list {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
  font-size: 14px;
  line-height: 1.5;
  color: #4b5563;
  overflow-wrap: anywhere;
}
.eligibility-flow-wizard .efw-extract-conditional {
  margin-top: 0.75rem;
}
.eligibility-flow-wizard .efw-extract-conditional-track {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 0.25rem;
}
.eligibility-flow-wizard .efw-extract-source {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  padding: 6px 10px;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  border-radius: 6px;
  white-space: normal;
  flex-shrink: 0;
  align-self: flex-start;
}
.eligibility-flow-wizard .efw-extract-source .pi {
  font-size: 0.7rem;
  flex-shrink: 0;
}
.eligibility-flow-wizard .efw-extract-source--eligibility {
  color: #1d4ed8;
  background: #fff;
  border: 1px solid #93c5fd;
}
.eligibility-flow-wizard .efw-extract-source--ineligibility {
  color: #dc2626;
  background: #fff;
  border: 1px solid #f87171;
}
.eligibility-flow-wizard .efw-extracted-panel--criteria .efw-extracted-note {
  margin-top: 0.5rem;
}
.eligibility-flow-wizard .efw-extracted-note {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: 13px;
  background: #eff6ff;
  border: 1px solid #93c5fd;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #1e3a8a;
}
.eligibility-flow-wizard .efw-extracted-note strong {
  font-weight: 700;
}
.eligibility-flow-wizard .efw-extracted-panel .efw-extracted-funding-inner.funding-result {
  background: transparent;
  border: none;
  padding: 0;
  box-shadow: none;
  margin: 0;
}
.eligibility-flow-wizard .efw-extracted-panel .funding-item {
  border-top-color: rgba(30, 58, 138, 0.12);
}
.eligibility-flow-wizard .efw-step-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  width: 100%;
}
.eligibility-flow-wizard .efw-step-nav--solo {
  justify-content: flex-end;
}
.eligibility-flow-wizard .input-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: start;
}
@media (min-width: 1024px) {
.eligibility-flow-wizard .input-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
}
.eligibility-flow-wizard .input-column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
  overflow-wrap: anywhere;
}
.eligibility-flow-wizard .funding-extracted-section {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.eligibility-flow-wizard .step-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  color: #1e3a8a;
}
.eligibility-flow-wizard .step-number {
  display: none;
}
.eligibility-flow-wizard .step-section {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--p-surface-200);
}
.eligibility-flow-wizard .orcid-input-wrapper {
  position: relative;
}
.eligibility-flow-wizard .orcid-spinner {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
}
.eligibility-flow-wizard .researcher-result {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background-color: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(34, 197, 94, 0.3);
  border-radius: 8px;
  overflow: hidden;
}
.eligibility-flow-wizard .researcher-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: rgba(34, 197, 94, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.eligibility-flow-wizard .researcher-icon i {
  color: rgb(34, 197, 94);
  font-size: 0.875rem;
}
.eligibility-flow-wizard .researcher-info {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.eligibility-flow-wizard .researcher-name {
  font-weight: 600;
  color: rgb(22, 101, 52);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.eligibility-flow-wizard .researcher-status {
  font-size: 0.75rem;
  color: rgb(34, 197, 94);
}
.eligibility-flow-wizard .warning-banner {
  padding: 0.75rem;
  background-color: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
  color: #92400e;
  min-width: 0;
}
.eligibility-flow-wizard .warning-banner > span {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
.eligibility-flow-wizard .error-banner {
  padding: 1rem;
  border-radius: 8px;
  background-color: #fef2f2;
  border: 1px solid #fecaca;
  font-size: 0.875rem;
  color: #b91c1c;
}
.eligibility-flow-wizard .error-banner--inline {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  width: 100%;
  max-width: 32rem;
}
.eligibility-flow-wizard .loading-text {
  font-size: 0.875rem;
  color: var(--p-surface-500);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.eligibility-flow-wizard .loading-state-centered {
  padding: 1rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.eligibility-flow-wizard .loading-state-text {
  color: var(--p-surface-500);
  font-size: 0.75rem;
  font-weight: 500;
}
.eligibility-flow-wizard .file-upload-zone {
  min-height: 140px;
  padding: 1rem;
  border: none;
  border-radius: 10px;
  background-color: #f9fafb;
  transition: all 0.2s;
}

/* Figma step 2: grey dropzone — centered browse (not used when PDF already selected) */
.eligibility-flow-wizard .file-upload-zone.file-upload-zone--empty,
.eligibility-flow-wizard .file-upload-zone:not(.file-upload-zone--empty):not(.file-upload-zone--has-file) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 168px;
  padding: 1.5rem 1.25rem;
  gap: 0.75rem;
}
.eligibility-flow-wizard .file-upload-zone.file-upload-zone--empty .efw-funding-fileupload,
.eligibility-flow-wizard .file-upload-zone:not(.file-upload-zone--empty):not(.file-upload-zone--has-file) .efw-funding-fileupload {
  width: auto;
  max-width: 100%;
  display: flex;
  justify-content: center;
}
.eligibility-flow-wizard .file-upload-zone.file-upload-zone--empty .funding-fileupload .p-fileupload-basic-content,
.eligibility-flow-wizard .file-upload-zone:not(.file-upload-zone--empty):not(.file-upload-zone--has-file) .funding-fileupload .p-fileupload-basic-content {
  justify-content: center;
  width: 100%;
}

/* Only show filename below the button — hide Prime inline label (avoids left gray line + duplicate) */
.eligibility-flow-wizard .file-upload-zone.file-upload-zone--empty .funding-fileupload-filelabel,
.eligibility-flow-wizard .file-upload-zone:not(.file-upload-zone--empty):not(.file-upload-zone--has-file) .funding-fileupload-filelabel {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  flex: 0 0 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.eligibility-flow-wizard .file-upload-zone.file-upload-zone--empty .file-upload-hint {
  margin-top: 0;
  width: 100%;
}
.eligibility-flow-wizard .file-upload-zone:not(.file-upload-zone--has-file):hover {
  background-color: #f3f4f6;
}
.eligibility-flow-wizard .file-upload-zone--active {
  border-color: var(--p-primary-400);
  background-color: #eff6ff;
}

/* Step 2: selected PDF — mint bar, navy doc tile, full-width row (design ref) */
.eligibility-flow-wizard .file-upload-zone.file-upload-zone--has-file {
  flex-direction: row;
  align-items: center;
  justify-content: stretch;
  min-height: 0;
  padding: 12px 14px;
  gap: 0;
  border: 1px solid rgba(44, 213, 196, 0.45);
  background: rgba(44, 213, 196, 0.12);
}
.eligibility-flow-wizard .file-upload-zone.file-upload-zone--has-file:hover {
  background: rgba(44, 213, 196, 0.14);
}
.eligibility-flow-wizard .efw-funding-file-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
}
.eligibility-flow-wizard .efw-funding-file-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 8px;
  background: var(--efw-continue-bg, #1e3a8a);
  color: #fff;
}
.eligibility-flow-wizard .efw-funding-file-icon .pi {
  font-size: 1.125rem;
}
.eligibility-flow-wizard .efw-funding-file-name {
  flex: 1;
  min-width: 0;
  font-family: 'Source Sans 3', 'Nunito Sans', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--efw-continue-bg, #1e3a8a);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.eligibility-flow-wizard .efw-funding-file-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--efw-continue-bg, #1e3a8a);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.eligibility-flow-wizard .efw-funding-file-remove:hover {
  background: rgba(30, 58, 138, 0.08);
}
.eligibility-flow-wizard .efw-funding-file-remove .pi {
  font-size: 1rem;
  font-weight: 700;
}
.eligibility-flow-wizard .file-upload-hint {
  text-align: center;
  margin-top: 0.75rem;
}
.eligibility-flow-wizard .file-upload-hint p {
  font-size: 0.875rem;
  color: #6a7282;
}
.eligibility-flow-wizard .file-upload-selected {
  margin-top: 0;
  width: 100%;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  color: #1e3a8a;
  font-weight: 500;
}
.eligibility-flow-wizard .file-upload-selected i {
  font-size: 1.125rem;
  flex-shrink: 0;
  color: #1e3a8a;
}
.eligibility-flow-wizard .file-upload-name {
  flex: 0 1 auto;
  min-width: 0;
  max-width: min(100%, 28rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
}
.eligibility-flow-wizard .file-upload-zone .funding-fileupload .p-fileupload-basic-content {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  flex-wrap: nowrap;
}
.eligibility-flow-wizard .file-upload-zone .funding-fileupload-filelabel {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--p-surface-600);
  font-size: 0.875rem;
}
.eligibility-flow-wizard .file-upload-zone .efw-funding-fileupload .p-button,
.eligibility-flow-wizard .efw-funding-fileupload .p-button {
  border-radius: 10px;
  background: #1e3a8a;
  border-color: #1e3a8a;
  color: #fff;
  font-weight: 500;
}
.eligibility-flow-wizard .file-upload-zone .efw-funding-fileupload .p-button:not(:disabled):hover,
.eligibility-flow-wizard .efw-funding-fileupload .p-button:not(:disabled):hover {
  background: #172a6e;
  border-color: #172a6e;
  color: #fff;
}
.eligibility-flow-wizard .funding-result {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  max-width: 100%;
  overflow: hidden;
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid #86efac;
  background: #f0fdf4;
}
.eligibility-flow-wizard .funding-result-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #001e62;
}
.eligibility-flow-wizard .funding-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}
.eligibility-flow-wizard .funding-item {
  padding-top: 0.5rem;
  border-top: 1px dashed rgba(34, 197, 94, 0.3);
}
.eligibility-flow-wizard .funding-item:first-child {
  padding-top: 0;
  border-top: none;
}
.eligibility-flow-wizard .funding-grant-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--p-surface-800);
}
.eligibility-flow-wizard .funding-eligibility-list {
  font-size: 0.75rem;
  color: var(--p-surface-600);
  margin-top: 0.25rem;
}
.eligibility-flow-wizard .funding-eligibility-item {
  margin-bottom: 0.5rem;
}
.eligibility-flow-wizard .funding-criteria-row {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  min-width: 0;
}
.eligibility-flow-wizard .funding-criteria-row > span:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}
.eligibility-flow-wizard .funding-sub-list {
  list-style: disc;
  padding-left: 1.25rem;
  margin-top: 0.25rem;
  overflow-wrap: anywhere;
}
.eligibility-flow-wizard .funding-ineligibility {
  font-size: 0.75rem;
  color: #be123c;
  margin-top: 0.25rem;
}
.eligibility-flow-wizard .doc-reference {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.375rem;
  font-size: 0.65rem;
  font-weight: 500;
  color: rgb(59, 130, 246);
  background-color: rgba(59, 130, 246, 0.1);
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: 0.25rem;
  white-space: nowrap;
  flex-shrink: 0;
}
.eligibility-flow-wizard .doc-reference--ineligibility {
  color: rgb(244, 63, 94);
  background-color: rgba(244, 63, 94, 0.1);
  border-color: rgba(244, 63, 94, 0.2);
}
.eligibility-flow-wizard .biosketch-file-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid #c7d2fe;
  background-color: #eef2ff;
}
.eligibility-flow-wizard .biosketch-file-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.eligibility-flow-wizard .biosketch-file-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: #3730a3;
}
.eligibility-flow-wizard .biosketch-file-meta {
  font-size: 0.75rem;
  color: var(--p-surface-500);
}
.eligibility-flow-wizard .biosketch-upload-zone {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 1.5rem;
  border-radius: 10px;
  border: 2px dashed var(--p-surface-300);
  background-color: #f6f6f6;
  transition: border-color 0.15s;
}
.eligibility-flow-wizard .biosketch-upload-zone--below-file-list {
  margin-top: 1rem;
}
.eligibility-flow-wizard .biosketch-upload-zone:hover {
  border-color: var(--p-primary-300);
}
.eligibility-flow-wizard .source-selection {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.eligibility-flow-wizard .source-description {
  font-size: 0.875rem;
  color: #6a7282;
}
.eligibility-flow-wizard .source-options {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.eligibility-flow-wizard .source-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid #dbdcdd;
  cursor: pointer;
  transition: all 0.15s;
}
.eligibility-flow-wizard .source-option:hover {
  border-color: var(--p-primary-300);
}
.eligibility-flow-wizard .source-option--selected {
  border-color: var(--p-primary-500);
  background-color: #eff6ff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.eligibility-flow-wizard .source-option-radio {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  border: 2px solid var(--p-surface-300);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.eligibility-flow-wizard .source-option-radio--selected {
  border-color: var(--p-primary-500);
  background-color: var(--p-primary-500);
}
.eligibility-flow-wizard .source-option-content {
  flex: 1;
  min-width: 0;
}
.eligibility-flow-wizard .source-option-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--p-surface-700);
}
.eligibility-flow-wizard .source-option-label--selected {
  color: var(--p-primary-700);
}
.eligibility-flow-wizard .source-option-desc {
  font-size: 0.75rem;
  color: var(--p-surface-500);
  margin-top: 0.125rem;
}
.eligibility-flow-wizard .source-option-trailing {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  margin-left: auto;
}
.eligibility-flow-wizard .source-option-summary-btn {
  flex-shrink: 0;
}
.eligibility-flow-wizard .preliminary-results {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* Step 3 — preliminary analysis (header meta, alert, match card, accordions) */
.eligibility-flow-wizard .efw-eval-header-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.eligibility-flow-wizard .efw-priority-header-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  padding: 0.2rem 0.6rem;
  border-radius: 9999px;
  border: 1px solid transparent;
}
.eligibility-flow-wizard .efw-priority-header-pill__icon {
  font-size: 9px;
  line-height: 1;
}
.eligibility-flow-wizard .efw-priority-header-pill--high {
  background: #dcfce7;
  border-color: #86efac;
  color: #166534;
}
.eligibility-flow-wizard .efw-priority-header-pill--explore {
  background: #fef3c7;
  border-color: #fcd34d;
  color: #92400e;
}
.eligibility-flow-wizard .efw-priority-header-pill--low {
  background: #4b5563;
  border-color: #4b5563;
  color: #fff;
}
.eligibility-flow-wizard .efw-priority-alert {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem 1.1rem;
  border-radius: 10px;
  border: 1px solid;
}
.eligibility-flow-wizard .efw-priority-alert--high-priority {
  background: #f0fdf4;
  border-color: #86efac;
}
.eligibility-flow-wizard .efw-priority-alert--worth-exploring {
  background: #fffbeb;
  border-color: #fcd34d;
}
.eligibility-flow-wizard .efw-priority-alert--low-priority {
  background: #fff1f2;
  border-color: #fca5a5;
}
.eligibility-flow-wizard .efw-priority-alert__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  flex-shrink: 0;
  font-size: 1rem;
}
.eligibility-flow-wizard .efw-priority-alert__icon--high-priority {
  background: #bbf7d0;
  color: #16a34a;
}
.eligibility-flow-wizard .efw-priority-alert__icon--worth-exploring {
  background: #fde68a;
  color: #d97706;
}
.eligibility-flow-wizard .efw-priority-alert__icon--low-priority {
  background: #fecaca;
  color: #dc2626;
}
.eligibility-flow-wizard .efw-priority-alert__body {
  flex: 1;
  min-width: 0;
}
.eligibility-flow-wizard .efw-priority-alert__label {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--p-surface-900);
}
.eligibility-flow-wizard .efw-priority-alert__desc {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--p-surface-600);
}
.eligibility-flow-wizard .efw-match-status-card {
  border-radius: 10px;
  border: 1px solid #dbdcdd;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}
.eligibility-flow-wizard .efw-match-status-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.1rem;
}
.eligibility-flow-wizard .efw-match-status-card__head-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  min-width: 0;
}
.eligibility-flow-wizard .efw-match-fit-tag.p-tag {
  font-size: 12px;
  padding: 0.35rem 0.65rem;
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
}
.eligibility-flow-wizard .efw-match-fit-tag__icon {
  font-size: 9px;
  margin-right: 4px;
}
.eligibility-flow-wizard .efw-match-status-card__body {
  padding: 0 1.1rem 1.1rem;
}
.eligibility-flow-wizard .efw-match-status-card__text {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #4a4f55;
}
.eligibility-flow-wizard .efw-accordion-chevron-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--p-surface-500);
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.eligibility-flow-wizard .efw-accordion-chevron-btn:hover {
  background: var(--p-surface-100);
  color: var(--p-surface-700);
}
.eligibility-flow-wizard .efw-accordion-chevron-btn .pi {
  font-size: 0.875rem;
}
.eligibility-flow-wizard .efw-preliminary-accordions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.eligibility-flow-wizard .efw-accordion-panel {
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
  overflow: hidden;
}
.eligibility-flow-wizard .efw-accordion-panel--flush {
  border-color: #e5e7eb;
}

/* Alignment Areas: cool grey tray, white sub-cards (design ref) */
.eligibility-flow-wizard .efw-accordion-panel--alignment {
  background: #f8fafc;
  border-color: #e2e8f0;
}
.eligibility-flow-wizard .efw-accordion-panel--alignment .efw-accordion-panel__trigger {
  background: #f8fafc;
}
.eligibility-flow-wizard .efw-accordion-panel--alignment .efw-accordion-panel__trigger:hover {
  background: #f1f5f9;
}
.eligibility-flow-wizard .efw-accordion-panel__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  padding: 0.85rem 1rem;
  margin: 0;
  border: none;
  background: #fff;
  font: inherit;
  text-align: left;
  cursor: pointer;
  color: var(--p-surface-700);
  transition: background-color 0.15s ease;
}
.eligibility-flow-wizard .efw-accordion-panel__trigger:hover {
  background: #f9fafb;
}
.eligibility-flow-wizard .efw-accordion-panel__title {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--p-surface-600);
}
.eligibility-flow-wizard .efw-accordion-panel__title--with-icon {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--p-surface-800);
}
.eligibility-flow-wizard .efw-accordion-panel__title-icon {
  font-size: 1rem;
}
.eligibility-flow-wizard .efw-accordion-panel__title-icon--success {
  color: #16a34a;
}
.eligibility-flow-wizard .efw-accordion-panel__title-icon--warn {
  color: #ea580c;
}

/* Considerations: lightbulb + sparkle accent (matches design ref) */
.eligibility-flow-wizard .efw-considerations-heading-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
  color: #f59e0b;
}
.eligibility-flow-wizard .efw-considerations-heading-icon__bulb {
  font-size: 1rem;
  line-height: 1;
}
.eligibility-flow-wizard .efw-considerations-heading-icon__sparkle {
  position: absolute;
  top: -3px;
  right: -5px;
  font-size: 0.5rem;
  line-height: 1;
  color: #fbbf24;
  pointer-events: none;
}
.eligibility-flow-wizard .efw-accordion-panel__title-icon--info {
  color: #2563eb;
}
.eligibility-flow-wizard .efw-accordion-panel__trigger .pi.pi-chevron-up,
.eligibility-flow-wizard .efw-accordion-panel__trigger .pi.pi-chevron-down {
  font-size: 0.875rem;
  color: var(--p-surface-500);
  flex-shrink: 0;
}
.eligibility-flow-wizard .efw-accordion-panel__content {
  padding: 0 1rem 1rem;
}
.eligibility-flow-wizard .efw-accordion-panel__content--inset {
  padding-top: 0.25rem;
}
.eligibility-flow-wizard .efw-alignment-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.eligibility-flow-wizard .efw-alignment-subcard {
  padding: 1rem;
}
.eligibility-flow-wizard .efw-accordion-panel--alignment .alignment-area-card.efw-alignment-subcard {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  box-shadow:
    0 1px 2px -1px rgba(0, 0, 0, 0.06),
    0 1px 3px 0 rgba(0, 0, 0, 0.04);
  padding: 1.25rem;
}
.eligibility-flow-wizard .efw-alignment-subcard__title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--efw-continue-bg, #1e3a8a);
  margin-bottom: 0.75rem;
}
.eligibility-flow-wizard .efw-alignment-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px) {
.eligibility-flow-wizard .efw-alignment-columns {
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}
}
.eligibility-flow-wizard .efw-alignment-col__text {
  margin: 0.35rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--p-surface-600);
}
.eligibility-flow-wizard .efw-alignment-columns .alignment-label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.eligibility-flow-wizard .efw-alignment-columns .alignment-label--researcher,
.eligibility-flow-wizard .efw-alignment-columns .alignment-label--grant {
  color: var(--efw-continue-bg, #1e3a8a);
}
.eligibility-flow-wizard .efw-strengths-list,
.eligibility-flow-wizard .efw-considerations-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.eligibility-flow-wizard .efw-strengths-list li,
.eligibility-flow-wizard .efw-considerations-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #4a4f55;
}
.eligibility-flow-wizard .efw-strengths-list__check {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0.1rem;
  background: #dcfce7;
  color: #16a34a;
}
.eligibility-flow-wizard .efw-strengths-list__check .pi {
  font-size: 0.5rem;
  line-height: 1;
}
.eligibility-flow-wizard .efw-considerations-list__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0.1rem;
  background: #ffedd5;
  color: #ea580c;
}
.eligibility-flow-wizard .efw-considerations-list__mark .pi {
  font-size: 0.5rem;
  line-height: 1;
}
.eligibility-flow-wizard .efw-next-steps-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.eligibility-flow-wizard .efw-next-steps-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #4a4f55;
}

/* Hollow numbered circles: white interior, thin periwinkle ring, digit matches ring */
.eligibility-flow-wizard .efw-next-steps-list li .efw-next-steps-list__num {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 1px;
  /* Explicit white fill (no theme tint / gradient bleed-through) */
  background-color: #dfe3f0;
  background-image: none;
  border: 1px solid #5578e0;
  color: #5578e0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  box-shadow: none;
}
.eligibility-flow-wizard .action-centered {
  display: flex;
  justify-content: center;
  padding: 1rem 0;
}
.eligibility-flow-wizard .action-centered-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 0;
}
.eligibility-flow-wizard .priority-banner {
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.eligibility-flow-wizard .priority-banner--high-priority {
  background-color: #f0fdf4;
  border-color: #86efac;
}
.eligibility-flow-wizard .priority-banner--worth-exploring {
  background-color: #fffbeb;
  border-color: #fcd34d;
}
.eligibility-flow-wizard .priority-banner--low-priority {
  background-color: var(--p-surface-100);
  border-color: var(--p-surface-300);
}
.eligibility-flow-wizard .priority-banner-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  flex-shrink: 0;
}
.eligibility-flow-wizard .priority-icon--high-priority {
  background-color: #bbf7d0;
  color: #16a34a;
}
.eligibility-flow-wizard .priority-icon--worth-exploring {
  background-color: #fde68a;
  color: #d97706;
}
.eligibility-flow-wizard .priority-icon--low-priority {
  background-color: var(--p-surface-200);
  color: #94a3b8;
}
.eligibility-flow-wizard .priority-banner-content {
  flex: 1;
}
.eligibility-flow-wizard .priority-banner-label {
  font-size: 0.875rem;
  font-weight: 700;
}
.eligibility-flow-wizard .priority-banner-desc {
  font-size: 0.75rem;
  color: var(--p-surface-600);
}
.eligibility-flow-wizard .recommendation-card {
  padding: 1.25rem;
  border-radius: 10px;
  border: 1px solid #dbdcdd;
  background-color: white;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.eligibility-flow-wizard .recommendation-content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.75rem;
}

/* Tag on its own row so label stays one line; body copy full width below */
.eligibility-flow-wizard .recommendation-content .efw-recommendation-fit-tag {
  align-self: flex-start;
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
  font-size: 12px;
  padding: 0.35rem 0.65rem;
}
.eligibility-flow-wizard .recommendation-text {
  margin: 0;
  font-size: 0.875rem;
  color: #4a4f55;
  line-height: 1.5;
}
.eligibility-flow-wizard .recommendation-toggle {
  margin-top: 0.75rem;
  display: flex;
  justify-content: flex-end;
}
.eligibility-flow-wizard .preliminary-details {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.eligibility-flow-wizard .detail-panel {
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid var(--p-surface-200);
  background-color: var(--p-surface-50);
  min-width: 0;
  box-sizing: border-box;
}
.eligibility-flow-wizard .detail-panel--success {
  background-color: #f0fdf4;
  border-color: #bbf7d0;
}
.eligibility-flow-wizard .detail-panel--warning {
  background-color: #fffbeb;
  border-color: #fde68a;
}
.eligibility-flow-wizard .detail-panel--danger {
  background-color: #fef2f2;
  border-color: #fecaca;
}
.eligibility-flow-wizard .detail-panel--info {
  background-color: #eff6ff;
  border-color: #bfdbfe;
}
.eligibility-flow-wizard .detail-panel-title {
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--p-surface-500);
  margin: 0 0 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.eligibility-flow-wizard .detail-title--success {
  color: #15803d;
}
.eligibility-flow-wizard .detail-title--warning {
  color: #b45309;
}
.eligibility-flow-wizard .detail-title--danger {
  color: #b91c1c;
}
.eligibility-flow-wizard .detail-title--info {
  color: #1d4ed8;
}
.eligibility-flow-wizard .detail-panel-items {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.eligibility-flow-wizard .detail-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
@media (min-width: 640px) {
.eligibility-flow-wizard .detail-two-col {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
}
.eligibility-flow-wizard .detail-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.eligibility-flow-wizard .detail-list li {
  font-size: 0.875rem;
  color: #4a4f55;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  min-width: 0;
}
.eligibility-flow-wizard .detail-list li > span:last-of-type {
  min-width: 0;
  flex: 1 1 auto;
  overflow-wrap: anywhere;
  line-height: 1.55;
}
.eligibility-flow-wizard .alignment-area-card {
  padding: 0.75rem;
  border-radius: 10px;
  background-color: white;
  border: 1px solid #dbdcdd;
}
.eligibility-flow-wizard .alignment-area-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--p-surface-800);
  margin-bottom: 0.375rem;
}
.eligibility-flow-wizard .alignment-area-details {
  font-size: 0.75rem;
  color: var(--p-surface-600);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.eligibility-flow-wizard .alignment-label {
  font-weight: 600;
}
.eligibility-flow-wizard .alignment-label--researcher {
  color: var(--p-primary-600);
}
.eligibility-flow-wizard .alignment-label--grant {
  color: #7c3aed;
}
.eligibility-flow-wizard .full-check-results {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.eligibility-flow-wizard .eligibility-summary-card {
  padding: 1.5rem;
  border-radius: 10px;
  border: 1px solid #dbdcdd;
  background-color: white;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.eligibility-flow-wizard .eligibility-text-section {
  text-align: left;
}
.eligibility-flow-wizard .eligibility-status-header {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--p-surface-400);
  margin-bottom: 0.25rem;
}
.eligibility-flow-wizard .eligibility-status-value {
  font-size: 2.5rem;
  font-weight: 800;
  letter-spacing: -0.025em;
}
@media (min-width: 640px) {
.eligibility-flow-wizard .eligibility-status-value {
    font-size: 3rem;
}
}
.eligibility-flow-wizard .eligibility-yes {
  color: #16a34a;
}
.eligibility-flow-wizard .eligibility-no {
  color: #dc2626;
}
.eligibility-flow-wizard .eligibility-unknown {
  color: #d97706;
}
.eligibility-flow-wizard .eligibility-reason {
  color: #4a4f55;
  line-height: 1.5;
  font-size: 1rem;
  border-left: 4px solid;
  padding-left: 1rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.eligibility-flow-wizard .reason-border-success {
  border-color: rgba(34, 197, 94, 0.3);
}
.eligibility-flow-wizard .reason-border-danger {
  border-color: rgba(239, 68, 68, 0.3);
}
.eligibility-flow-wizard .reason-border-warning {
  border-color: rgba(245, 158, 11, 0.3);
}
.eligibility-flow-wizard .eligibility-detail-actions {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.eligibility-flow-wizard .detailed-analysis-inline {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.25rem;
  border-radius: 10px;
  border: 1px solid #dbdcdd;
  background-color: var(--p-surface-50);
  min-width: 0;
  box-sizing: border-box;
}
.eligibility-flow-wizard .criteria-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.eligibility-flow-wizard .criteria-item {
  padding: 0.75rem;
  border-radius: 8px;
  border: 1px solid;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 0;
  box-sizing: border-box;
}
.eligibility-flow-wizard .criteria-item--met {
  background-color: #f0fdf4;
  border-color: #bbf7d0;
}
.eligibility-flow-wizard .criteria-item--not-met {
  background-color: #fef2f2;
  border-color: #fecaca;
}
.eligibility-flow-wizard .criteria-item--partially-met {
  background-color: #fffbeb;
  border-color: #fde68a;
}
.eligibility-flow-wizard .criteria-item--unknown {
  background-color: var(--p-surface-50);
  border-color: var(--p-surface-200);
}
.eligibility-flow-wizard .criteria-item--not-applicable {
  background-color: var(--p-surface-50);
  border-color: var(--p-surface-200);
  opacity: 0.6;
}
.eligibility-flow-wizard .criteria-item-header {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  flex-wrap: wrap;
  min-width: 0;
}
.eligibility-flow-wizard .criteria-status-icon {
  font-size: 0.875rem;
  margin-top: 0.125rem;
  flex-shrink: 0;
}
.eligibility-flow-wizard .criteria-item-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--p-surface-800);
  flex: 1 1 0;
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.45;
}
.eligibility-flow-wizard .criteria-item-header-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  margin-left: auto;
}
.eligibility-flow-wizard .criteria-evidence {
  font-size: 0.75rem;
  color: var(--p-surface-600);
  padding-left: 1.5rem;
  margin: 0;
  overflow-wrap: anywhere;
}
.eligibility-flow-wizard .criteria-notes {
  font-size: 0.75rem;
  color: var(--p-surface-500);
  font-style: italic;
  padding-left: 1.5rem;
  border-left: 2px solid var(--p-surface-300);
  margin-left: 1.5rem;
}
@media (max-width: 640px) {
.eligibility-flow-wizard .criteria-item-header-badges {
    flex: 1 1 100%;
    margin-left: 0;
    justify-content: flex-start;
    padding-left: calc(0.875rem + 0.5rem);
}
.eligibility-flow-wizard .criteria-item-name {
    flex: 1 1 calc(100% - 1.5rem);
}
.eligibility-flow-wizard .criteria-notes {
    margin-left: 0;
}
}
.eligibility-flow-wizard .survey-prompt {
  padding: 1.25rem;
  border-radius: 10px;
  background-color: #eef2ff;
  border: 1px solid #c7d2fe;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 640px) {
.eligibility-flow-wizard .survey-prompt {
    flex-direction: row;
    align-items: flex-start;
}
}
.eligibility-flow-wizard .survey-prompt-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: #e0e7ff;
  flex-shrink: 0;
}
.eligibility-flow-wizard .survey-prompt-content {
  flex: 1;
}
.eligibility-flow-wizard .survey-prompt-title {
  font-weight: 600;
  color: #312e81;
  margin: 0 0 0.25rem;
}
.eligibility-flow-wizard .survey-prompt-desc {
  font-size: 0.875rem;
  color: #4338ca;
  margin: 0 0 0.75rem;
}
.eligibility-flow-wizard .survey-prompt-actions {
  display: flex;
  gap: 0.5rem;
}
.eligibility-flow-wizard .step-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: #dbeafe;
  color: #2563eb;
  font-size: 0.625rem;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 0.125rem;
}
.eligibility-flow-wizard .step-circle--blue {
  background-color: #dbeafe;
  color: #2563eb;
}
.eligibility-flow-wizard .color-success {
  color: #16a34a;
}
.eligibility-flow-wizard .color-warning {
  color: #d97706;
}
.eligibility-flow-wizard .color-danger {
  color: #dc2626;
}
.eligibility-flow-wizard .color-muted {
  color: var(--p-surface-400);
}
.eligibility-flow-wizard .color-na {
  color: var(--p-surface-400);
}
.eligibility-flow-wizard .step-description {
  font-size: 14px;
  color: #6b7280;
  line-height: 1.5;
  margin: 0.25rem 0 0.75rem;
}
.eligibility-flow-wizard .status-legend-wrapper {
  margin-bottom: 0.75rem;
}
.eligibility-flow-wizard .status-legend-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--p-primary-600);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.25rem 0;
}
.eligibility-flow-wizard .status-legend-toggle:hover {
  text-decoration: underline;
}
.eligibility-flow-wizard .status-legend {
  margin-top: 0.5rem;
  padding: 0.875rem;
  border-radius: 8px;
  background-color: var(--p-surface-50);
  border: 1px solid var(--p-surface-200);
}
.eligibility-flow-wizard .status-legend-section {
  margin-bottom: 0.75rem;
}
.eligibility-flow-wizard .status-legend-section:last-child {
  margin-bottom: 0;
}
.eligibility-flow-wizard .status-legend-title {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--p-surface-600);
  margin-bottom: 0.375rem;
}
.eligibility-flow-wizard .status-legend-items {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.eligibility-flow-wizard .status-legend-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: var(--p-surface-600);
  flex-wrap: wrap;
}
.eligibility-flow-wizard .status-legend-item strong {
  color: var(--p-surface-700);
  white-space: nowrap;
}
.eligibility-flow-wizard .status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.eligibility-flow-wizard .status-dot--success {
  background-color: #22c55e;
}
.eligibility-flow-wizard .status-dot--warning {
  background-color: #f59e0b;
}
.eligibility-flow-wizard .status-dot--muted {
  background-color: var(--p-surface-400);
}
.eligibility-flow-wizard .status-dot--danger {
  background-color: #ef4444;
}
.eligibility-flow-wizard .status-dot--na {
  background-color: var(--p-surface-300);
}

/* Teleported dialogs: global names scoped by efw-dialog-root wrapper inside dialog body */
.efw-dialog-root .dialog-analysis-content {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
  box-sizing: border-box;
}
.efw-dialog-root .detail-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
@media (min-width: 640px) {
.efw-dialog-root .detail-two-col {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
}
.efw-dialog-root .detail-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.efw-dialog-root .detail-list li {
  font-size: 0.875rem;
  color: var(--p-surface-700);
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  min-width: 0;
}
.efw-dialog-root .detail-list li > span:last-of-type {
  min-width: 0;
  flex: 1 1 auto;
  overflow-wrap: anywhere;
  line-height: 1.55;
}

/* Criteria assessments (dialog is outside .eligibility-flow-wizard when teleported) */
.efw-dialog-root .criteria-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.efw-dialog-root .criteria-item {
  padding: 0.75rem;
  border-radius: 8px;
  border: 1px solid;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 0;
  box-sizing: border-box;
}
.efw-dialog-root .criteria-item--met {
  background-color: #f0fdf4;
  border-color: #bbf7d0;
}
.efw-dialog-root .criteria-item--not-met {
  background-color: #fef2f2;
  border-color: #fecaca;
}
.efw-dialog-root .criteria-item--partially-met {
  background-color: #fffbeb;
  border-color: #fde68a;
}
.efw-dialog-root .criteria-item--unknown {
  background-color: var(--p-surface-50);
  border-color: var(--p-surface-200);
}
.efw-dialog-root .criteria-item--not-applicable {
  background-color: var(--p-surface-50);
  border-color: var(--p-surface-200);
  opacity: 0.6;
}
.efw-dialog-root .criteria-item-header {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  flex-wrap: wrap;
  min-width: 0;
}
.efw-dialog-root .criteria-status-icon {
  font-size: 0.875rem;
  margin-top: 0.125rem;
  flex-shrink: 0;
}
.efw-dialog-root .criteria-item-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--p-surface-800);
  flex: 1 1 0;
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.45;
}
.efw-dialog-root .criteria-item-header-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  margin-left: auto;
}
.efw-dialog-root .criteria-evidence {
  font-size: 0.75rem;
  color: var(--p-surface-600);
  padding-left: 1.5rem;
  margin: 0;
  overflow-wrap: anywhere;
}
.efw-dialog-root .criteria-notes {
  font-size: 0.75rem;
  color: var(--p-surface-500);
  font-style: italic;
  padding-left: 1.5rem;
  border-left: 2px solid var(--p-surface-300);
  margin-left: 1.5rem;
}
@media (max-width: 640px) {
.efw-dialog-root .criteria-item-header-badges {
    flex: 1 1 100%;
    margin-left: 0;
    justify-content: flex-start;
    padding-left: calc(0.875rem + 0.5rem);
}
.efw-dialog-root .criteria-item-name {
    flex: 1 1 calc(100% - 1.5rem);
}
.efw-dialog-root .criteria-notes {
    margin-left: 0;
}
}
.efw-dialog-root .accordion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-right: 1rem;
}
.efw-dialog-root .section-entries {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.efw-dialog-root .section-entry {
  padding: 0.5rem;
  border-radius: 0.25rem;
  border: 1px solid var(--p-surface-100);
  background-color: white;
  font-size: 0.75rem;
}
.efw-dialog-root .entry-field {
  display: flex;
  gap: 0.5rem;
}
.efw-dialog-root .entry-field-key {
  font-weight: 500;
  color: var(--p-surface-500);
  text-transform: capitalize;
  white-space: nowrap;
}
.efw-dialog-root .section-text-blocks {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.efw-dialog-root .section-text-blocks p {
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--p-surface-700);
}
.efw-dialog-root .section-empty {
  font-size: 0.875rem;
  color: var(--p-surface-500);
  font-style: italic;
}
.efw-dialog-root .empty-state-centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--p-surface-500);
  padding: 2rem 0;
  text-align: center;
}
.efw-dialog-root .biosketch-person-header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
  background-color: var(--p-surface-50);
  border-radius: 0.5rem;
  border: 1px solid var(--p-surface-200);
}
.efw-dialog-root .biosketch-person-avatar {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: #eff6ff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.efw-dialog-root .biosketch-person-name {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--p-surface-900);
  margin: 0;
}
.efw-dialog-root .biosketch-person-title {
  font-size: 0.875rem;
  color: var(--p-surface-500);
}
.efw-dialog-root .narrative-panel {
  padding: 1rem;
  border-radius: 0.5rem;
  background: linear-gradient(135deg, #eff6ff, #eef2ff);
  border: 1px solid #bfdbfe;
  margin-bottom: 1rem;
}
.efw-dialog-root .narrative-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1d4ed8;
  margin-bottom: 0.5rem;
}
.efw-dialog-root .narrative-text {
  font-size: 0.875rem;
  line-height: 1.625;
  color: var(--p-surface-700);
  white-space: pre-line;
}
.eligibility-flow-wizard .criteria-evidence-label {
  font-weight: 600;
  color: var(--p-surface-500);
}
.eligibility-flow-wizard .p-inputtext {
  border-radius: 8px;
  background-color: #f6f6f6;
}

/* —— Responsive: phones & narrow tablets —— */
@media (max-width: 768px) {
.eligibility-flow-wizard .efw-step-card {
    padding: 20px 16px;
}
.eligibility-flow-wizard .efw-extracted-panel {
    padding: 18px 16px 1px;
}
.eligibility-flow-wizard .efw-extracted-panel--criteria {
    padding: 16px 14px 4px;
}
.eligibility-flow-wizard .efw-how-it-works-btn.p-button {
    font-size: 13px;
    padding: 0.45rem 0.75rem;
}
}
@media (max-width: 640px) {
.eligibility-flow-wizard .efw-stepper-wrap {
    margin-bottom: 1.25rem;
    padding: 0;
    min-width: 0;
    width: 100%;
}
.eligibility-flow-wizard .efw-stepper {
    max-width: 100%;
    min-width: 0;
    width: 100%;
    justify-content: space-between;
    gap: 0;
}
.eligibility-flow-wizard .efw-stepper-cluster {
    width: auto;
    flex: 1 1 0;
    min-width: 0;
}
.eligibility-flow-wizard .efw-stepper-line {
    flex: 0 1 32px;
    width: auto;
    min-width: 6px;
    max-width: 48px;
    margin-top: 13px;
}
.eligibility-flow-wizard .efw-stepper-circle {
    width: 28px;
    height: 28px;
    font-size: 14px;
}
.eligibility-flow-wizard .efw-stepper-circle--complete {
    font-size: 13px;
}
.eligibility-flow-wizard .efw-stepper-label {
    font-size: 12px;
    max-width: 100%;
    line-height: 1.3;
    padding: 0 2px;
}
.eligibility-flow-wizard .efw-biosketch-files-panel {
    min-width: 0;
    max-width: 100%;
    padding: 12px 12px 14px;
}
.eligibility-flow-wizard .efw-step2-biosketch-section .efw-biosketch-files-panel .source-option.efw-biosketch-file-row {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 0.65rem;
    row-gap: 0.65rem;
    align-items: start;
    padding: 12px 12px;
}
.eligibility-flow-wizard
    .efw-step2-biosketch-section
    .efw-biosketch-files-panel
    .source-option.efw-biosketch-file-row
    > .source-option-radio {
    grid-column: 1;
    grid-row: 1;
    margin-top: 2px;
}
.eligibility-flow-wizard
    .efw-step2-biosketch-section
    .efw-biosketch-files-panel
    .source-option.efw-biosketch-file-row
    > .efw-biosketch-pdf-icon {
    grid-column: 2;
    grid-row: 1;
}
.eligibility-flow-wizard
    .efw-step2-biosketch-section
    .efw-biosketch-files-panel
    .source-option.efw-biosketch-file-row
    > .source-option-content {
    grid-column: 3;
    grid-row: 1;
    min-width: 0;
}
.eligibility-flow-wizard
    .efw-step2-biosketch-section
    .efw-biosketch-files-panel
    .source-option.efw-biosketch-file-row
    > .source-option-trailing {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-left: 0;
    width: 100%;
    justify-content: flex-end;
    padding-top: 0;
}
.eligibility-flow-wizard .efw-step2-biosketch-section .source-option-desc {
    overflow-wrap: anywhere;
}
.eligibility-flow-wizard .efw-biosketch-summary-btn-wrap {
    padding-top: 0;
    width: auto;
    max-width: 100%;
}
.eligibility-flow-wizard .efw-step2-biosketch-section .efw-biosketch-summary-btn.p-button-outlined {
    max-width: 100%;
}
.eligibility-flow-wizard .efw-step2-biosketch-section .efw-biosketch-summary-btn.p-button-outlined .p-button-label {
    white-space: normal;
    text-align: center;
    line-height: 1.25;
}

  /*
   * Step chrome wraps slot footer in an outer .efw-card-footer; each step adds an inner
   * .efw-card-footer (Back + actions). Stack Back full-width, then Cancel + Continue sharing one row.
   */
.eligibility-flow-wizard .efw-step-card > .efw-card-footer > .efw-card-footer {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 10px;
}
.eligibility-flow-wizard .efw-step-card > .efw-card-footer > .efw-card-footer--end {
    flex-direction: column;
    align-items: stretch;
}
.eligibility-flow-wizard .efw-step-card > .efw-card-footer > .efw-card-footer > .efw-btn-back.p-button {
    width: 100%;
    justify-content: center;
}
.eligibility-flow-wizard .efw-step-card > .efw-card-footer > .efw-card-footer > .efw-card-footer-actions {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
    justify-content: flex-start;
}
.eligibility-flow-wizard
    .efw-step-card
    > .efw-card-footer
    > .efw-card-footer
    > .efw-card-footer-actions
    > .p-button {
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
}
}
@media (max-width: 640px) and (pointer: coarse) {
.eligibility-flow-wizard .efw-stepper-circle {
    width: 32px;
    height: 32px;
}
.eligibility-flow-wizard .efw-stepper-circle--complete {
    font-size: 14px;
}
}

.chat-card[data-v-b69766bf] {
  height: 100%;
  border: 1px solid var(--p-surface-200);
  overflow: hidden;
}
.chat-wrapper[data-v-b69766bf] {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 400px;
  max-height: calc(100vh - 400px);
  margin: -1rem;
}
.chat-header[data-v-b69766bf] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid var(--p-surface-200);
  background-color: var(--p-surface-50);
}
.chat-header-left[data-v-b69766bf] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.chat-icon[data-v-b69766bf] {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  background: linear-gradient(135deg, #3b82f6, #4f46e5);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.chat-icon i[data-v-b69766bf] {
  color: white;
}
.chat-title[data-v-b69766bf] {
  font-weight: 700;
  color: var(--p-surface-900);
  margin: 0;
  font-size: 1rem;
}
.chat-subtitle[data-v-b69766bf] {
  font-size: 0.75rem;
  color: var(--p-surface-500);
  margin: 0;
}
.chat-typing-badge[data-v-b69766bf] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.chat-messages[data-v-b69766bf] {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 0;
  background: linear-gradient(to bottom, var(--p-surface-50), transparent);
}
.chat-empty-state[data-v-b69766bf] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  padding: 1.5rem 0;
}
.chat-empty-icon[data-v-b69766bf] {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  background-color: #eff6ff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.75rem;
}
.chat-empty-icon i[data-v-b69766bf] {
  font-size: 1.5rem;
  color: #3b82f6;
}
.chat-empty-text[data-v-b69766bf] {
  font-size: 0.875rem;
  color: var(--p-surface-600);
  margin-bottom: 1rem;
}
.chat-suggestions[data-v-b69766bf] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  max-width: 20rem;
}
.chat-suggestion-btn[data-v-b69766bf] {
  padding: 0.5rem 1rem;
  min-height: 40px;
  font-size: 0.8125rem;
  border-radius: 9999px;
  background-color: var(--p-surface-100);
  color: var(--p-surface-600);
  border: 1px solid var(--p-surface-200);
  cursor: pointer;
  transition: all 0.15s;
  box-sizing: border-box;
}
@media (hover: hover) {
.chat-suggestion-btn[data-v-b69766bf]:hover {
    background-color: #eff6ff;
    color: var(--p-primary-700);
    border-color: var(--p-primary-200);
}
}
.chat-suggestion-btn[data-v-b69766bf]:focus-visible {
  outline: 2px solid var(--p-primary-500);
  outline-offset: 2px;
}
.chat-message-row[data-v-b69766bf] {
  display: flex;
  gap: 0.5rem;
}
.chat-message-user[data-v-b69766bf] {
  justify-content: flex-end;
}
.chat-message-bot[data-v-b69766bf] {
  justify-content: flex-start;
}
.chat-avatar-bot[data-v-b69766bf] {
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--p-primary-500), var(--p-primary-600)) !important;
  color: white !important;
}
.chat-avatar-user[data-v-b69766bf] {
  flex-shrink: 0;
  background-color: var(--p-surface-200) !important;
  color: var(--p-surface-600) !important;
}
.chat-bubble[data-v-b69766bf] {
  padding: 0.625rem 1rem;
  border-radius: 1rem;
  max-width: 85%;
  font-size: 0.875rem;
  line-height: 1.5;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.chat-bubble-user[data-v-b69766bf] {
  background-color: var(--p-primary-500);
  color: white;
  border-bottom-right-radius: 0.25rem;
}
.chat-bubble-bot[data-v-b69766bf] {
  background-color: var(--p-surface-100);
  color: var(--p-surface-800);
  border-bottom-left-radius: 0.25rem;
  border: 1px solid var(--p-surface-200);
}
.chat-bubble-text[data-v-b69766bf] {
  white-space: pre-wrap;
}
.chat-typing-dots[data-v-b69766bf] {
  display: flex;
  gap: 0.375rem;
}
.typing-dot[data-v-b69766bf] {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--p-surface-400);
  animation: bounce-b69766bf 1.4s infinite ease-in-out;
}
.chat-input-area[data-v-b69766bf] {
  padding: 1rem;
  border-top: 1px solid var(--p-surface-200);
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.chat-input-wrapper[data-v-b69766bf] {
  flex: 1;
}
.chat-input[data-v-b69766bf] {
  width: 100%;
  border-radius: 0.75rem !important;
  padding-right: 3rem !important;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}
.chat-send-btn[data-v-b69766bf] {
  width: 2.75rem !important;
  height: 2.75rem !important;
  border-radius: 0.75rem !important;
}
@media (pointer: coarse) {
.chat-send-btn[data-v-b69766bf] {
    width: 3rem !important;
    height: 3rem !important;
    min-width: 44px !important;
    min-height: 44px !important;
}
}
@keyframes bounce-b69766bf {
0%, 60%, 100% {
    transform: translateY(0);
}
30% {
    transform: translateY(-4px);
}
}

.layout-wrapper[data-v-1620dffa] {
  width: 100%;
  min-height: calc(100vh - 200px);
  background-color: var(--p-surface-50);
}
.layout-content[data-v-1620dffa] {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 1.5rem 1rem;
}
@media (min-width: 640px) {
.layout-content[data-v-1620dffa] {
    padding: 1.5rem 1.5rem;
}
}
@media (min-width: 1024px) {
.layout-content[data-v-1620dffa] {
    padding: 1.5rem 2rem;
}
}
.layout-input-section[data-v-1620dffa] {
  margin-bottom: 1.5rem;
}
.layout-results-section[data-v-1620dffa] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  animation: fadeIn-1620dffa 0.4s ease-out forwards;
}
@media (min-width: 1024px) {
.layout-results-section[data-v-1620dffa] {
    grid-template-columns: 7fr 5fr;
}
}
.results-panel[data-v-1620dffa],
.chat-panel[data-v-1620dffa] {
  min-width: 0;
}
@keyframes fadeIn-1620dffa {
from {
    opacity: 0;
    transform: translateY(12px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

.results-card[data-v-5b974363] {
  height: 100%;
  border: 1px solid var(--p-surface-200);
  overflow: hidden;
}
.results-wrapper[data-v-5b974363] {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: -1rem;
}
.results-header[data-v-5b974363] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid var(--p-surface-200);
  background-color: var(--p-surface-50);
}
.results-header-left[data-v-5b974363] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.results-icon[data-v-5b974363] {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  background: linear-gradient(135deg, #10b981, #059669);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.results-icon i[data-v-5b974363] {
  color: white;
}
.results-title[data-v-5b974363] {
  font-weight: 700;
  color: var(--p-surface-900);
  margin: 0;
  font-size: 1rem;
}
.results-subtitle[data-v-5b974363] {
  font-size: 0.75rem;
  color: var(--p-surface-500);
  margin: 0;
}
.results-loading-indicator[data-v-5b974363] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--p-primary-600);
  font-size: 0.875rem;
  font-weight: 500;
}
.results-content[data-v-5b974363] {
  flex: 1;
  overflow: auto;
  padding: 1rem;
  min-height: 0;
}
.results-loading-state[data-v-5b974363] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 3rem 0;
}
.results-loading-text[data-v-5b974363] {
  margin-top: 1rem;
  color: var(--p-surface-700);
  font-weight: 500;
}
.results-loading-subtext[data-v-5b974363] {
  font-size: 0.875rem;
  color: var(--p-surface-500);
  margin-top: 0.25rem;
}
.analysis-content[data-v-5b974363] {
  min-height: 300px;
  max-height: calc(100vh - 400px);
  overflow-y: auto;
}
.analysis-content[data-v-5b974363]::-webkit-scrollbar {
  width: 6px;
}
.analysis-content[data-v-5b974363]::-webkit-scrollbar-track {
  background: transparent;
}
.analysis-content[data-v-5b974363]::-webkit-scrollbar-thumb {
  background-color: var(--p-surface-300);
  border-radius: 3px;
}
.analysis-content[data-v-5b974363]::-webkit-scrollbar-thumb:hover {
  background-color: var(--p-primary-400);
}
.results-empty-state[data-v-5b974363] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 3rem 0;
  text-align: center;
}
.results-empty-icon[data-v-5b974363] {
  width: 4rem;
  height: 4rem;
  border-radius: 1rem;
  background-color: var(--p-surface-100);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.results-empty-icon i[data-v-5b974363] {
  font-size: 1.5rem;
  color: var(--p-surface-400);
}
.results-empty-title[data-v-5b974363] {
  font-weight: 600;
  color: var(--p-surface-700);
  margin: 0 0 0.25rem;
}
.results-empty-text[data-v-5b974363] {
  font-size: 0.875rem;
  color: var(--p-surface-500);
  max-width: 20rem;
}
.results-footer[data-v-5b974363] {
  padding: 1rem;
  border-top: 1px solid var(--p-surface-200);
  background-color: var(--p-surface-50);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.results-footer-info[data-v-5b974363] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--p-surface-500);
}
.results-footer-actions[data-v-5b974363] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.prose[data-v-5b974363] .ai-md-h2 {
  font-size: 1.25rem;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}
.prose[data-v-5b974363] .ai-md-h3 {
  font-size: 1.125rem;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
}
.prose[data-v-5b974363] .ai-md-h4 {
  font-size: 1rem;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
/* AI markdown rendered via simpleAiMarkdownToHtml + v-html */
.narrative-text--markdown {
  white-space: normal;
}
.efw-dialog-root .narrative-text.narrative-text--markdown {
  white-space: normal;
}
.ai-md-root {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.ai-md-h2 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--p-surface-900);
  margin: 1.25rem 0 0.5rem;
}
.ai-md-h2:first-child {
  margin-top: 0;
}
.ai-md-h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--p-surface-900);
  margin: 1rem 0 0.4rem;
}
.ai-md-h3:first-child {
  margin-top: 0;
}
.ai-md-h4 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--p-surface-900);
  margin: 0.85rem 0 0.35rem;
}
.ai-md-h4:first-child {
  margin-top: 0;
}
.ai-md-strong {
  font-weight: 600;
  color: var(--p-primary-700);
}
.ai-md-li {
  display: flex;
  gap: 0.35rem;
  margin: 0.2rem 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.ai-md-li-marker {
  flex-shrink: 0;
  color: var(--p-surface-400);
  font-weight: 600;
}
.ai-md-li-text {
  flex: 1;
  min-width: 0;
}
.ai-md-block-spacer {
  display: block;
  height: 0.65rem;
}

.esa-body[data-v-d9209ec1] {
  max-height: min(70vh, 640px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0.25rem 0.5rem 0.75rem;
  min-width: 0;
  box-sizing: border-box;
}
.esa-summary[data-v-d9209ec1] {
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
  border: 1px solid var(--p-surface-200);
  background: #fff;
  margin-bottom: 1rem;
}
.esa-summary-row[data-v-d9209ec1] {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 0.35rem;
}
.esa-summary-label[data-v-d9209ec1] {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--p-surface-400);
}
.esa-summary-value[data-v-d9209ec1] {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.esa-summary-value--yes[data-v-d9209ec1] {
  color: #16a34a;
}
.esa-summary-value--no[data-v-d9209ec1] {
  color: #dc2626;
}
.esa-summary-value--unknown[data-v-d9209ec1] {
  color: #d97706;
}
.esa-reason[data-v-d9209ec1] {
  margin: 0.75rem 0 0;
  padding: 0.75rem 0 0.25rem 1rem;
  border-left: 4px solid var(--p-surface-200);
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--p-surface-700);
  overflow-wrap: anywhere;
  min-width: 0;
}
.esa-reason--yes[data-v-d9209ec1] {
  border-color: rgba(34, 197, 94, 0.35);
}
.esa-reason--no[data-v-d9209ec1] {
  border-color: rgba(239, 68, 68, 0.35);
}
.esa-reason--unknown[data-v-d9209ec1] {
  border-color: rgba(245, 158, 11, 0.35);
}
.esa-note[data-v-d9209ec1],
.esa-empty[data-v-d9209ec1] {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 1rem;
  border-radius: 0.5rem;
  background: var(--p-surface-50);
  color: var(--p-surface-600);
  font-size: 0.875rem;
}
.esa-raw-label[data-v-d9209ec1] {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--p-surface-500);
}
.esa-pre[data-v-d9209ec1] {
  margin: 0;
  padding: 0.75rem;
  border-radius: 0.5rem;
  background: var(--p-surface-900);
  color: var(--p-surface-0);
  font-size: 0.75rem;
  line-height: 1.45;
  overflow-x: auto;
  max-height: 50vh;
}
.detail-panel-title[data-v-d9209ec1] {
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--p-surface-500);
  margin: 0 0 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.detail-two-col[data-v-d9209ec1] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
@media (min-width: 640px) {
.detail-two-col[data-v-d9209ec1] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
}
.detail-list[data-v-d9209ec1] {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.detail-list li[data-v-d9209ec1] {
  font-size: 0.875rem;
  color: var(--p-surface-700);
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  min-width: 0;
}
.detail-list li > span[data-v-d9209ec1]:last-of-type {
  min-width: 0;
  flex: 1 1 auto;
  overflow-wrap: anywhere;
  line-height: 1.55;
}
.criteria-list[data-v-d9209ec1] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.criteria-item[data-v-d9209ec1] {
  padding: 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.criteria-item--met[data-v-d9209ec1] {
  background-color: #f0fdf4;
  border-color: #bbf7d0;
}
.criteria-item--not-met[data-v-d9209ec1] {
  background-color: #fef2f2;
  border-color: #fecaca;
}
.criteria-item--partially-met[data-v-d9209ec1] {
  background-color: #fffbeb;
  border-color: #fde68a;
}
.criteria-item--unknown[data-v-d9209ec1] {
  background-color: var(--p-surface-50);
  border-color: var(--p-surface-200);
}
.criteria-item--not-applicable[data-v-d9209ec1] {
  background-color: var(--p-surface-50);
  border-color: var(--p-surface-200);
  opacity: 0.6;
}
.criteria-item-header[data-v-d9209ec1] {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  flex-wrap: wrap;
  min-width: 0;
}
.criteria-status-icon[data-v-d9209ec1] {
  font-size: 0.875rem;
  margin-top: 0.125rem;
  flex-shrink: 0;
}
.criteria-item-name[data-v-d9209ec1] {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--p-surface-800);
  flex: 1 1 0;
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.45;
}
.criteria-item-header-badges[data-v-d9209ec1] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  margin-left: auto;
}
.criteria-evidence[data-v-d9209ec1] {
  font-size: 0.75rem;
  color: var(--p-surface-600);
  padding-left: 1.5rem;
  margin: 0;
  overflow-wrap: anywhere;
}
.criteria-notes[data-v-d9209ec1] {
  font-size: 0.75rem;
  color: var(--p-surface-500);
  font-style: italic;
  padding-left: 1.5rem;
  border-left: 2px solid var(--p-surface-300);
  margin: 0 0 0 1.5rem;
}
.status-legend-wrapper[data-v-d9209ec1] {
  margin-bottom: 0.75rem;
}
.status-legend-toggle[data-v-d9209ec1] {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--p-primary-600);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.25rem 0;
  font-family: inherit;
}
.status-legend-toggle[data-v-d9209ec1]:hover {
  text-decoration: underline;
}
.status-legend[data-v-d9209ec1] {
  margin-top: 0.5rem;
  padding: 0.875rem;
  border-radius: 0.5rem;
  background-color: var(--p-surface-50);
  border: 1px solid var(--p-surface-200);
}
.status-legend-section[data-v-d9209ec1] {
  margin-bottom: 0.75rem;
}
.status-legend-section[data-v-d9209ec1]:last-child {
  margin-bottom: 0;
}
.status-legend-title[data-v-d9209ec1] {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--p-surface-600);
  margin-bottom: 0.375rem;
}
.status-legend-items[data-v-d9209ec1] {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.status-legend-item[data-v-d9209ec1] {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: var(--p-surface-600);
  flex-wrap: wrap;
}
.status-legend-item strong[data-v-d9209ec1] {
  color: var(--p-surface-700);
  white-space: nowrap;
}
.status-dot[data-v-d9209ec1] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.status-dot--success[data-v-d9209ec1] {
  background-color: #22c55e;
}
.status-dot--warning[data-v-d9209ec1] {
  background-color: #f59e0b;
}
.status-dot--muted[data-v-d9209ec1] {
  background-color: var(--p-surface-400);
}
.status-dot--danger[data-v-d9209ec1] {
  background-color: #ef4444;
}
.status-dot--na[data-v-d9209ec1] {
  background-color: var(--p-surface-300);
}
.color-success[data-v-d9209ec1] {
  color: #16a34a;
}
.color-warning[data-v-d9209ec1] {
  color: #d97706;
}
.color-danger[data-v-d9209ec1] {
  color: #dc2626;
}
.color-muted[data-v-d9209ec1] {
  color: var(--p-surface-400);
}
.color-na[data-v-d9209ec1] {
  color: var(--p-surface-400);
}
.dialog-analysis-content[data-v-d9209ec1] {
  padding: 0.5rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
  box-sizing: border-box;
}
.esa-summary--fit[data-v-d9209ec1] {
  margin-bottom: 1rem;
}
.esa-fit-metrics[data-v-d9209ec1] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem 1.25rem;
  margin-bottom: 0.75rem;
}
@media (min-width: 560px) {
.esa-fit-metrics[data-v-d9209ec1] {
    grid-template-columns: 1fr 1fr;
}
}
.esa-fit-metric[data-v-d9209ec1] {
  min-width: 0;
}
.esa-fit-value[data-v-d9209ec1] {
  margin: 0.35rem 0 0;
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.02em;
}
.esa-fit-value--strong[data-v-d9209ec1] {
  color: #047857;
}
.esa-fit-value--good[data-v-d9209ec1] {
  color: #059669;
}
.esa-fit-value--moderate[data-v-d9209ec1] {
  color: #d97706;
}
.esa-fit-value--weak[data-v-d9209ec1] {
  color: #dc2626;
}
.esa-fit-value--unknown[data-v-d9209ec1] {
  color: #6b7280;
}
.esa-fit-value--priority[data-v-d9209ec1] {
  font-weight: 700;
  color: var(--p-surface-800);
}
.esa-alignment-cards[data-v-d9209ec1] {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.esa-alignment-card[data-v-d9209ec1] {
  padding: 1rem 1.1rem;
  border-radius: 0.5rem;
  border: 1px solid var(--p-surface-200);
  background: var(--p-surface-50);
  min-width: 0;
  box-sizing: border-box;
}
.esa-alignment-card-title[data-v-d9209ec1] {
  margin: 0 0 0.75rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--p-surface-800);
  line-height: 1.4;
}
.esa-alignment-block[data-v-d9209ec1] {
  margin-bottom: 0.75rem;
}
.esa-alignment-block[data-v-d9209ec1]:last-child {
  margin-bottom: 0;
}
.esa-alignment-k[data-v-d9209ec1] {
  display: block;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--p-surface-500);
  margin-bottom: 0.3rem;
}
.esa-alignment-p[data-v-d9209ec1] {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--p-surface-700);
  overflow-wrap: anywhere;
}
.esa-fit-detail[data-v-d9209ec1] {
  padding-top: 0.25rem;
}
@media (max-width: 640px) {
.criteria-item-header-badges[data-v-d9209ec1] {
    flex: 1 1 100%;
    margin-left: 0;
    justify-content: flex-start;
    padding-left: calc(0.875rem + 0.5rem);
}
.criteria-item-name[data-v-d9209ec1] {
    flex: 1 1 calc(100% - 1.5rem);
}
.criteria-notes[data-v-d9209ec1] {
    margin-left: 0;
}
}


/* Dialog is teleported to body; long eligibility program names */
.p-dialog.esa-analysis-dialog .p-dialog-title {
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.35;
  max-width: 100%;
}

.eh-page[data-v-0050da92] {
  --eh-navy: #1e3a8a;
  --eh-green: #10b981;
  --eh-orange: #f59e0b;
  --eh-bg: #f8f9fa;
  --eh-muted: #6b7280;
  --eh-title: #0f172a;

  min-height: 100%;
  padding: 0;
  background: var(--eh-bg);
  box-sizing: border-box;
}
.eh-inner[data-v-0050da92] {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem 1rem 2.5rem;
  box-sizing: border-box;
}
@media (min-width: 640px) {
.eh-inner[data-v-0050da92] {
    padding: 1.5rem 1.5rem 2.5rem;
}
}
@media (min-width: 1024px) {
.eh-inner[data-v-0050da92] {
    padding: 1.5rem 2rem 2.5rem;
}
}
.eh-header[data-v-0050da92] {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.75rem;
}
.eh-header-icon[data-v-0050da92] {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 0.2rem;
  color: var(--eh-navy);
}
.eh-header-icon-svg[data-v-0050da92] {
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
}
.eh-title[data-v-0050da92] {
  margin: 0 0 0.5rem;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--eh-navy);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.eh-subtitle[data-v-0050da92] {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--eh-muted);
  max-width: 42rem;
}
.eh-callout[data-v-0050da92] {
  padding: 1rem 1.25rem;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e5e7eb;
  color: var(--eh-muted);
  font-size: 0.9375rem;
}
.eh-error[data-v-0050da92] {
  padding: 1rem 1.25rem;
  border-radius: 12px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  font-size: 0.9375rem;
}
.eh-stats[data-v-0050da92] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin-bottom: 1.75rem;
}
@media (max-width: 640px) {
.eh-stats[data-v-0050da92] {
    grid-template-columns: 1fr;
}
}
.eh-stat-card[data-v-0050da92] {
  background: #fff;
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}
.eh-stat-label[data-v-0050da92] {
  margin: 0 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #9ca3af;
}
.eh-stat-value[data-v-0050da92] {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
}
.eh-stat-value--neutral[data-v-0050da92] {
  color: #111827;
}
.eh-stat-value--success[data-v-0050da92] {
  color: var(--eh-green);
}
.eh-table-card[data-v-0050da92] {
  background: #fff;
  border-radius: 12px;
  padding: 1.5rem 1.5rem 1.25rem;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}
.eh-table-card-head[data-v-0050da92] {
  margin-bottom: 1.25rem;
}
.eh-table-card-title[data-v-0050da92] {
  margin: 0 0 0.35rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--eh-title);
}
.eh-table-card-subtitle[data-v-0050da92] {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--eh-muted);
  line-height: 1.45;
}
.eh-loader-wrap[data-v-0050da92] {
  padding: 2rem 0;
  display: flex;
  justify-content: center;
}
.eh-loader-wrap--page[data-v-0050da92] {
  min-height: 12rem;
  align-items: center;
}
.eh-empty[data-v-0050da92] {
  padding: 2rem 1rem;
  text-align: center;
  color: var(--eh-muted);
  font-size: 0.9375rem;
}
.eh-table-wrap[data-v-0050da92] {
  --eh-table-visible-rows: 10;
  --eh-table-head-block: 2.75rem;
  --eh-table-row-block: 3.65rem;
  max-height: calc(var(--eh-table-head-block) + var(--eh-table-visible-rows) * var(--eh-table-row-block));
  overflow-x: auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-radius: 0 0 8px 8px;
}
.eh-table[data-v-0050da92] {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.875rem;
}
.eh-table thead th[data-v-0050da92] {
  position: sticky;
  top: 0;
  z-index: 1;
  text-align: left;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6b7280;
  padding: 0.75rem 0.75rem 0.75rem 0;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}
.eh-table tbody td[data-v-0050da92] {
  padding: 1.1rem 0.75rem 1.1rem 0;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: middle;
}
.eh-table tbody tr:last-child td[data-v-0050da92] {
  border-bottom: none;
}
.eh-td-date[data-v-0050da92] {
  color: #374151;
  white-space: nowrap;
  width: 5%;
  padding-right: 1.25rem;
}
.eh-td-title[data-v-0050da92] {
  color: var(--eh-navy);
  font-weight: 600;
  line-height: 1.45;
  width: 40%;
}
.eh-td-outcome[data-v-0050da92] {
  width: 5%;
  white-space: nowrap;
  padding-right: 1rem;
}
.eh-badge[data-v-0050da92] {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.75rem 0.35rem 0.5rem;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 600;
}
.eh-badge--highly[data-v-0050da92] {
  background: #d1fae5;
  color: var(--eh-green);
}
.eh-badge--strong[data-v-0050da92] {
  background: #a7f3d0;
  color: #047857;
}
.eh-badge--good[data-v-0050da92] {
  background: #d1fae5;
  color: #059669;
}
.eh-badge--moderate[data-v-0050da92] {
  background: #fef3c7;
  color: var(--eh-orange);
}
.eh-badge--weak[data-v-0050da92] {
  background: #ffedd5;
  color: #c2410c;
}
.eh-badge--ineligible[data-v-0050da92] {
  background: #fee2e2;
  color: #dc2626;
}
.eh-badge--unknown[data-v-0050da92] {
  background: #f3f4f6;
  color: #6b7280;
}
.eh-badge-icon[data-v-0050da92] {
  font-size: 1rem;
  line-height: 1;
}
.eh-td-action[data-v-0050da92] {
  width: 8%;
  text-align: right;
  padding-left: 1rem;
}
.eh-view-btn-wrap[data-v-0050da92] {
  display: inline-block;
}
.eh-view-btn[data-v-0050da92] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  font-weight: 600;
  font-family: inherit;
  color: #fff;
  background: var(--eh-navy);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition:
    background 0.15s ease,
    box-shadow 0.15s ease;
  box-shadow: 0 1px 2px rgba(30, 58, 138, 0.25);
}
@media (max-width: 640px) {
  /* Cards mode: label above value (shared .is-mobile-meta + responsive-table.css).
     Allow date/outcome text to wrap instead of the desktop nowrap + narrow columns. */
.eh-table.responsive-table-cards .eh-td-date[data-v-0050da92],
  .eh-table.responsive-table-cards .eh-td-outcome[data-v-0050da92] {
    white-space: normal;
    width: 100%;
    max-width: 100%;
    padding-right: 0;
}
.eh-table.responsive-table-cards .eh-td-outcome .eh-badge[data-v-0050da92] {
    margin-top: 0;
}

  /* Meet WCAG 2.5.5 (44x44) for the primary action when rendered as a card */
.eh-view-btn[data-v-0050da92] {
    width: 100%;
    justify-content: center;
    min-height: 44px;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
}
}
.eh-view-btn[data-v-0050da92]:hover {
  background: #172554;
}
.eh-view-btn[data-v-0050da92]:focus-visible {
  outline: 2px solid #3b82f6;
  outline-offset: 2px;
}
.eh-view-btn .pi[data-v-0050da92] {
  font-size: 0.75rem;
}

.molecule-form-field[data-v-f22345ee] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.form-field-label[data-v-f22345ee] {
  font-weight: 600;
  color: #333;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.required-indicator[data-v-f22345ee] {
  color: #d32f2f;
  font-weight: bold;
}
.form-field-input[data-v-f22345ee] {
  width: 100%;
}
.form-field-message[data-v-f22345ee] {
  min-height: 20px;
  font-size: 12px;
}
.error-message[data-v-f22345ee] {
  color: #d32f2f;
}
.hint-message[data-v-f22345ee] {
  color: #666;
}

.upload-progress[data-v-48382e05] {
  width: 100%;
}
.file-card[data-v-48382e05] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  position: relative;
}
.file-icon[data-v-48382e05] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  background: #DBEAFE;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  flex-shrink: 0;
}
.file-icon i[data-v-48382e05] {
  font-size: 24px;
  color: #3B82F6;
}
.file-info[data-v-48382e05] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.file-header[data-v-48382e05] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.file-name[data-v-48382e05] {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1em;
  color: #374151;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
.progress-percentage[data-v-48382e05] {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1em;
  color: #3B82F6;
  flex-shrink: 0;
}
.progress-bar-container[data-v-48382e05] {
  width: 100%;
}
.progress-bar-bg[data-v-48382e05] {
  width: 100%;
  height: 6px;
  background: #E5E7EB;
  border-radius: 9999px;
  overflow: hidden;
}
.progress-bar-fill[data-v-48382e05] {
  height: 100%;
  background: #3B82F6;
  border-radius: 9999px;
  transition: width 0.3s ease;
}
.file-size-info[data-v-48382e05] {
  display: flex;
  justify-content: flex-start;
}
.size-remaining[data-v-48382e05] {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1em;
  color: #6B7280;
}
.cancel-button[data-v-48382e05] {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #6B7280;
  transition: color 0.2s ease;
}
.cancel-button[data-v-48382e05]:hover {
  color: #374151;
}
.cancel-button i[data-v-48382e05] {
  font-size: 16px;
}

/* Responsive Design */
@media (max-width: 768px) {
.file-card[data-v-48382e05] {
    flex-direction: column;
    align-items: flex-start;
}
.file-icon[data-v-48382e05] {
    width: 48px;
    height: 48px;
}
.file-name[data-v-48382e05] {
    font-size: 14px;
}
.progress-percentage[data-v-48382e05] {
    font-size: 14px;
}
}

.file-upload-container[data-v-a69c8156] {
  width: 100%;
}

/* Label */
.upload-label[data-v-a69c8156] {
  display: block;
  font-family: 'Nunito Sans', sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1em;
  color: #4a4f55;
  margin-bottom: 15px;
}

/* File Upload Area - Matching Figma Design */
.file-upload-area[data-v-a69c8156] {
  position: relative;
  width: 100%;
  min-height: 150px;
  padding: 10px 10px 10px 16px;
  border: 1px dashed #dbdcdd;
  border-radius: 10px;
  background-color: #ffffff;
  cursor: pointer;
  transition: all 0.3s ease;
  overflow: hidden;
}
.file-upload-area[data-v-a69c8156]:hover:not(.is-disabled) {
  border-color: #001e62;
  background-color: #f5f5f5;
}
.file-upload-area.is-dragover[data-v-a69c8156] {
  border-color: #001e62;
  background-color: #e8f0fe;
}
.file-upload-area.has-error[data-v-a69c8156] {
  border-color: #dc3545;
}
.file-upload-area.is-disabled[data-v-a69c8156] {
  cursor: not-allowed;
  opacity: 0.6;
  background-color: #f9f9f9;
}
.file-upload-area.has-file[data-v-a69c8156] {
  cursor: default;
}

/* Hidden File Input */
.file-input[data-v-a69c8156] {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  overflow: hidden;
  z-index: -1;
}

/* Upload Content */
.upload-content[data-v-a69c8156] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px;
  pointer-events: none;
}
.upload-icon-container[data-v-a69c8156] {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(74, 79, 85, 0.1);
  border-radius: 100px;
  padding: 15px;
}
.upload-icon[data-v-a69c8156] {
  font-size: 16px;
  color: #001e62;
}
.upload-text-container[data-v-a69c8156] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 2px;
}
.upload-instructions[data-v-a69c8156] {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7142857142857142em;
  color: #001e62;
  text-align: center;
  margin: 0;
  white-space: pre-line;
  text-decoration: underline;
}
.upload-subtext[data-v-a69c8156] {
  color: #6e7277;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 14px;
}

/* File Info Box - Matching Figma Design */
.file-info-box[data-v-a69c8156] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  width: calc(100% - 32px);
  max-width: 708px;
  pointer-events: none;
  z-index: 10;
}
.file-icon[data-v-a69c8156] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 58px;
  height: 58px;
  background: #dbeafe;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  flex-shrink: 0;
}
.file-icon i[data-v-a69c8156] {
  font-size: 20px;
  color: #3b82f6;
}
.file-type-text[data-v-a69c8156] {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1em;
  color: #3b82f6;
  margin-top: 2px;
}
.file-info[data-v-a69c8156] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding: 0 8px;
}
.file-header[data-v-a69c8156] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: 100%;
}
.file-name[data-v-a69c8156] {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1em;
  color: #374151;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
.progress-percentage[data-v-a69c8156] {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1em;
  color: #3b82f6;
  flex-shrink: 0;
}
.progress-bar-container[data-v-a69c8156] {
  width: 100%;
}
.progress-bar-bg[data-v-a69c8156] {
  width: 100%;
  height: 6px;
  background: #e5e7eb;
  border-radius: 9999px;
  overflow: hidden;
}
.progress-bar-fill[data-v-a69c8156] {
  height: 100%;
  background: #3b82f6;
  border-radius: 9999px;
  transition: width 0.3s ease;
}
.file-size-info[data-v-a69c8156] {
  display: flex;
  justify-content: flex-start;
}
.size-remaining[data-v-a69c8156] {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1em;
  color: #6b7280;
}
.cancel-button[data-v-a69c8156] {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #6b7280;
  transition: color 0.2s ease;
  width: 24px;
  height: 24px;
  pointer-events: auto;
}
.file-info-box[data-v-a69c8156] {
  cursor: default;
}
.cancel-button[data-v-a69c8156]:hover:not(:disabled) {
  color: #374151;
}
.cancel-button[data-v-a69c8156]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.cancel-button i[data-v-a69c8156] {
  font-size: 16px;
}

/* Help Text */
.help-text[data-v-a69c8156] {
  display: block;
  margin-top: 8px;
  font-family: 'Nunito Sans', sans-serif;
  font-size: 14px;
  color: #6e7277;
}

/* Error Message */
.error-message[data-v-a69c8156] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 8px 12px;
  background-color: #fff5f5;
  border: 1px solid #f5c6cb;
  border-radius: 6px;
  color: #721c24;
  font-family: 'Nunito Sans', sans-serif;
  font-size: 14px;
}
.error-message i[data-v-a69c8156] {
  font-size: 16px;
}

/* Action Buttons */
.action-buttons[data-v-a69c8156] {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  margin-top: 15px;
}

/* Responsive Design */
@media (max-width: 768px) {
.action-buttons[data-v-a69c8156] {
    flex-direction: column;
}
.upload-icon-container[data-v-a69c8156] {
    width: 38px;
    height: 38px;
}
.upload-icon[data-v-a69c8156] {
    font-size: 14px;
}
.upload-instructions[data-v-a69c8156] {
    font-size: 12px;
}
.upload-subtext[data-v-a69c8156] {
    font-size: 11px;
}
.file-upload-area[data-v-a69c8156] {
    min-height: 120px;
}
}
[data-v-a69c8156] .cancel-button-blue-border.p-button {
  border: 2px solid #001e62 !important;
}

.researcher-profile-page[data-v-29586efd] {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 48px 24px 32px 24px;
  max-width: 1152px;
  margin: 0 auto;
  min-height: 100%;
  background: transparent;
  font-family: 'Nunito Sans', sans-serif;
}
.page-loader-wrap[data-v-29586efd] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 240px;
}
.page-message[data-v-29586efd] {
  padding: 24px;
  border-radius: 10px;
  border: 1px solid #dbdcdd;
  background: #fff;
}
.page-message--error[data-v-29586efd] {
  color: #e7000b;
}
.page-message .p-button[data-v-29586efd] {
  margin-top: 12px;
}
.page-header-card[data-v-29586efd] {
  padding: 24px 28px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
}
.page-header-top[data-v-29586efd] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.page-header-copy[data-v-29586efd] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.page-title[data-v-29586efd] {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.3333333333333333em;
  color: #111827;
  margin: 0;
}
.page-title-accent[data-v-29586efd] {
  flex-shrink: 0;
  width: 4px;
  height: 32px;
  background: #26c6da;
  border-radius: 2px;
}
.page-description[data-v-29586efd] {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5em;
  color: #6b7280;
  margin: 0;
}
.form-card[data-v-29586efd] {
  position: relative;
  padding: 32px 24px 0;
  background: #ffffff;
  border: 1px solid #dbdcdd;
  border-radius: 14px;
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.15);
}
.form-saving-overlay[data-v-29586efd] {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 14px;
}
.researcher-profile-form[data-v-29586efd] {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 1054px;
}
.form-fields[data-v-29586efd] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.biosketch-upload-wrap[data-v-29586efd] {
  max-width: 100%;
}
.uploaded-files-section[data-v-29586efd] {
  margin-top: 8px;
  padding: 16px;
  background: #f6f6f6;
  border-radius: 10px;
  border: 1px solid #dbdcdd;
}
.uploaded-files-section--empty[data-v-29586efd] {
  background: #fafafa;
}
.uploaded-files-heading[data-v-29586efd] {
  margin: 0 0 12px 0;
  font-size: 14px;
  font-weight: 600;
  color: #001e62;
}
.uploaded-files-list[data-v-29586efd] {
  list-style: none;
  margin: 0;
  padding: 0;
}
.uploaded-files-row[data-v-29586efd] {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 16px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #dbdcdd;
  font-size: 14px;
  color: #4a4f55;
}
.uploaded-files-row[data-v-29586efd]:last-child {
  border-bottom: none;
}
.uploaded-files-name[data-v-29586efd] {
  word-break: break-word;
}
.uploaded-files-date[data-v-29586efd] {
  color: #6a7282;
  font-size: 13px;
  white-space: nowrap;
}
.uploaded-files-actions[data-v-29586efd] {
  justify-self: end;
}
.uploaded-files-empty[data-v-29586efd] {
  margin: 0;
  font-size: 14px;
  color: #6a7282;
}
.form-actions[data-v-29586efd] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 24px;
  padding-bottom: 24px;
  border-top: 1px solid #dbdcdd;
}
.researcher-profile-page[data-v-29586efd] .form-field-label {
  color: #001e62;
  font-weight: 600;
  font-size: 14px;
}
.researcher-profile-page[data-v-29586efd] .required-indicator {
  color: #fb2c36;
}
.researcher-profile-page[data-v-29586efd] .hint-message {
  color: #6a7282;
  font-size: 12px;
}
@media (max-width: 640px) {
.uploaded-files-row[data-v-29586efd] {
    grid-template-columns: 1fr;
    gap: 4px;
}
}
.base-report-table[data-v-cf46e357] {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

/* Header Controls Styling */
.table-header[data-v-cf46e357] {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin: 0 !important;
  padding: 0;
  background: transparent;
  border: none;
  gap: 20px;
}
.header-left[data-v-cf46e357],
.header-right[data-v-cf46e357] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.page-size-control[data-v-cf46e357] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.page-size-label[data-v-cf46e357] {

  font-size: 14px;
  font-weight: 700;
  line-height: 1.1428571428571428;
  color: #000000;
  padding: 10px 4px 10px 0;
}
.page-info[data-v-cf46e357] {
  display: flex;
  align-items: center;
  padding: 10px 10px 10px 4px;
}
.page-info-text[data-v-cf46e357] {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.1428571428571428;
  color: #000000;
}
.global-filter .p-input-icon-left[data-v-cf46e357] {
  position: relative;
}
.global-filter .p-input-icon-left i[data-v-cf46e357] {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #001E62;
  width: 16px;
  height: 16px;
}
.global-filter .p-input-icon-left input[data-v-cf46e357] {
  min-width: 218px;
  height: auto;
  border: 1px solid #DBDCDD;
  border-radius: 6px;
  background: #FFFFFF;
  padding: 4px 6px 4px 32px;

  font-size: 14px;
  font-weight: 400;
  line-height: 1.1428571428571428;
  color: #000000;
}
.global-filter .p-input-icon-left input[data-v-cf46e357]:focus,
.global-filter .p-input-icon-left input[data-v-cf46e357]:active,
.global-filter .p-input-icon-left input[data-v-cf46e357]:focus-visible {
  border: 1px solid #DBDCDD !important;
  outline: none !important;
  box-shadow: none !important;
}
.global-filter .p-input-icon-left[data-v-cf46e357]::before {
  content: "Search";
  position: absolute;
  left: -50px;
  top: 50%;
  transform: translateY(-50%);

  font-size: 14px;
  font-weight: 700;
  line-height: 1.1428571428571428;
  color: #000000;
  padding: 10px 4px 10px 0;
}

/* DataTable Styling */
.base-report-table[data-v-cf46e357] .p-datatable {
  border: none;
  border-radius: 0;
  background: transparent;
}
.base-report-table[data-v-cf46e357] .p-datatable-wrapper {
  border-radius: 0;
  overflow-x: auto !important;
  width: 100% !important;
}
.base-report-table[data-v-cf46e357] .p-datatable table {
  width: 100%;
  table-layout: auto;
}

/* Table Header Styling */
.base-report-table[data-v-cf46e357] .p-datatable-thead > tr > th {
  background: #D7D7D7 !important;
  border: none !important;
  padding: 16px !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  line-height: 1.2 !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3846153846153846 !important;
  color: #4A4F55 !important;
  text-align: left !important;
  vertical-align: middle !important;
  border-radius: 0 !important;
  min-width: auto !important;
  max-width: none !important;
}
.base-report-table[data-v-cf46e357] .p-datatable-column-title{
  font-weight: 700 !important;
}
.base-report-table[data-v-cf46e357] .p-datatable-thead > tr > th:first-child {
  border-top-left-radius: 12px !important;
  /* border-bottom-left-radius: 12px !important; */
}
.base-report-table[data-v-cf46e357] .p-datatable-thead > tr > th:last-child {
  border-top-right-radius: 12px !important;
  border-bottom-right-radius: 12px !important;
}
.base-report-table[data-v-cf46e357] .p-datatable-thead > tr {
  gap: 17px;
}

/* Table Body Styling */
.base-report-table[data-v-cf46e357] .p-datatable-tbody > tr {
  border: 1px solid #DBDCDD !important;
  border-radius: 16px !important;
  margin-bottom: 6px !important;
  background: #FFFFFF;
}
.base-report-table[data-v-cf46e357] .p-datatable-tbody > tr > td {
  border: none !important;
  padding: 16px !important;

  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.3846153846153846 !important;
  color: #4A4F55 !important;
  word-wrap: break-word;
  white-space: pre-wrap;
  min-width: auto !important;
  max-width: none !important;
  vertical-align: middle !important;
}
.base-report-table[data-v-cf46e357] .p-datatable-tbody > tr > td:first-child {
  border-top-left-radius: 16px !important;
  border-bottom-left-radius: 16px !important;
}
.base-report-table[data-v-cf46e357] .p-datatable-tbody > tr > td:last-child {
  border-top-right-radius: 16px !important;
  border-bottom-right-radius: 16px !important;
}

/* Sort Icons Styling */
.base-report-table[data-v-cf46e357] .p-sortable-column-icon {
  color: #6E7277 !important;
  margin-left: 8px !important;
  font-size: 14px !important;
}
.base-report-table[data-v-cf46e357] .p-sortable-column .p-icon {
  width: 14px !important;
  height: 14px !important;
}

/* Custom sort icons vertical arrangement */
.sort-icons[data-v-cf46e357] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sort-both[data-v-cf46e357] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sort-single[data-v-cf46e357] {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Remove default borders and spacing */
.base-report-table[data-v-cf46e357] .p-datatable-tbody > tr > td,
.base-report-table[data-v-cf46e357] .p-datatable-thead > tr > th {
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
}
.base-report-table[data-v-cf46e357] .p-datatable-tbody {
  gap: 6px;
}
[data-v-cf46e357] .p-datatable-header {
  border: none !important;
  background: transparent !important;
}

/* Pagination Styling */
.base-report-table[data-v-cf46e357] .p-paginator {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 10px !important;
}
.base-report-table[data-v-cf46e357] .p-paginator-left-content {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex: 1 !important;
}
.base-report-table[data-v-cf46e357] .p-paginator-left-content .p-paginator-current {

  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.1428571428571428 !important;
  color: #000000 !important;
  background: none !important;
  border: none !important;
  padding: 10px 10px 10px 4px !important;
}
.base-report-table[data-v-cf46e357] .p-paginator-right-content {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.base-report-table[data-v-cf46e357] .p-paginator-page {
  width: 28px !important;
  height: 28px !important;
  border: 1px solid #001E62 !important;
  border-radius: 7px !important;
  /* background: transparent !important;
  color: #001E62 !important; */

  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 10px !important;
}
.base-report-table[data-v-cf46e357] .pi{
  color: #6E7277;
  font-size: .75rem;
  font-weight: 600;
}
.base-report-table[data-v-cf46e357] .p-paginator-page.p-highlight {
  background: #001E62 !important;
  color: #FFFFFF !important;
}
.base-report-table[data-v-cf46e357] .p-paginator-first,
.base-report-table[data-v-cf46e357] .p-paginator-prev,
.base-report-table[data-v-cf46e357] .p-paginator-next,
.base-report-table[data-v-cf46e357] .p-paginator-last {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: rgba(145, 145, 145, 0.1) !important;
  border: none !important;
  color: #001E62 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 2px !important;
}
.base-report-table[data-v-cf46e357] .p-paginator-first:hover,
.base-report-table[data-v-cf46e357] .p-paginator-prev:hover,
.base-report-table[data-v-cf46e357] .p-paginator-next:hover,
.base-report-table[data-v-cf46e357] .p-paginator-last:hover,
.base-report-table[data-v-cf46e357] .p-paginator-page:hover {
  background: #001E62 !important;
  color: #FFFFFF !important;
}

/* Override PrimeVue focus styles */

/* Note: Removing box-shadow from inputs to prevent double border appearance */
.base-report-table[data-v-cf46e357] .p-focus,
.base-report-table[data-v-cf46e357] .p-component:focus {
  outline: none !important;
}

/* Remove focus box-shadow and outline from all input text fields */
.base-report-table[data-v-cf46e357] .p-inputtext:focus,
.base-report-table[data-v-cf46e357] .p-inputtext:active,
.base-report-table[data-v-cf46e357] input:focus,
.base-report-table[data-v-cf46e357] input:active {
  box-shadow: none !important;
  outline: none !important;
}

/* Specifically target global filter input */
.global-filter[data-v-cf46e357] .p-inputtext,
.global-filter[data-v-cf46e357] .p-inputtext:focus,
.global-filter[data-v-cf46e357] .p-inputtext:active,
.global-filter[data-v-cf46e357] input,
.global-filter[data-v-cf46e357] input:focus,
.global-filter[data-v-cf46e357] input:active {
  box-shadow: none !important;
  outline: none !important;
}

/* Remove focus styles from IconField wrapper */
.global-filter[data-v-cf46e357] .p-iconfield,
.global-filter[data-v-cf46e357] .p-iconfield:focus-within,
.global-filter[data-v-cf46e357] .p-icon-field,
.global-filter[data-v-cf46e357] .p-icon-field:focus-within {
  box-shadow: none !important;
  outline: none !important;
  border: none !important;
}

/* Action buttons and links */
.link[data-v-cf46e357] {
  cursor: pointer;
  color: #001E62;
  text-decoration: none;
  font-weight:800 ;
}
.link[data-v-cf46e357]:hover {
  text-decoration: underline;
}
.pointer-link[data-v-cf46e357] {
  cursor: pointer;
  color: #001E62;
  text-decoration: none;
  background-color: transparent;
  border: 0;
}
.pointer-link[data-v-cf46e357]:hover {
  text-decoration: underline;
}
.action-buttons[data-v-cf46e357] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.empty-state[data-v-cf46e357] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 200px;

  color: #4A4F55;
}

/* Screen reader only class */
.sr-only[data-v-cf46e357] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Export button styling */
.export-actions .p-button[data-v-cf46e357] {

  font-size: 14px !important;
  font-weight: 400 !important;
  border: 1px solid #DBDCDD !important;
  border-radius: 6px !important;
  background: #FFFFFF !important;
  color: #000000 !important;
  padding: 4px 12px !important;
}
.export-actions .p-button[data-v-cf46e357]:hover {
  background: #F5F5F5 !important;
}

/* Dropdown styling for controls */
.base-report-table[data-v-cf46e357] .p-dropdown {
  border: 1px solid #DBDCDD !important;
  border-radius: 6px !important;
  background: #FFFFFF !important;

  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.1428571428571428 !important;
  color: #000000 !important;
}
.base-report-table[data-v-cf46e357] .p-dropdown-trigger {
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: rgba(145, 145, 145, 0.1) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* BaseSelect dropdown icon styling */
.base-report-table[data-v-cf46e357] .p-select-trigger .p-icon {
  color: #001E62 !important;
  width: 8.83px !important;
  height: 8.83px !important;
}
.page-size-dropdown[data-v-cf46e357] {
  width: 93px;
}

/* Page size dropdown visual alignment per Figma - scoped to this table only */
.base-report-table .page-size-dropdown[data-v-cf46e357] .p-select {
  border-radius: 6px !important;
  padding: 4px 6px !important;
  height: auto !important;
  min-height: 28px;  
  border: 1px solid #DBDCDD;
  border-radius: 6px;
  border: 1px solid #DBDCDD !important;
  background: #FFF !important;
  color: #000 !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
.table-header[data-v-cf46e357] {
    flex-direction: column;
    gap: 1rem;
    padding: 0 0 1rem 0;
}
.header-left[data-v-cf46e357],
  .header-right[data-v-cf46e357] {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    width: 100%;
}
.page-size-control[data-v-cf46e357] {
    justify-content: flex-start;
}
.page-info-text[data-v-cf46e357] {
    font-size: 12px;
}
.action-buttons[data-v-cf46e357] {
    flex-direction: column;
    align-items: flex-start;
}
.base-report-table[data-v-cf46e357] .p-datatable-thead > tr > th,
  .base-report-table[data-v-cf46e357] .p-datatable-tbody > tr > td {
    padding: 12px !important;
}
}
@media (max-width: 480px) {
.header-left[data-v-cf46e357],
  .header-right[data-v-cf46e357] {
    gap: 0.5rem;
}
.page-size-label[data-v-cf46e357],
  .page-info-text[data-v-cf46e357] {
    font-size: 12px;
}
.page-size-dropdown[data-v-cf46e357],
  .global-filter .p-input-icon-left input[data-v-cf46e357] {
    min-width: 150px;
}
.base-report-table[data-v-cf46e357] .p-datatable-thead > tr > th,
  .base-report-table[data-v-cf46e357] .p-datatable-tbody > tr > td {
    padding: 10px !important;
    font-size: 12px !important;
}
}
.base-report-table[data-v-cf46e357] .p-datatable-tbody tr td:nth-child(1) {
  border-left: 1px solid #DBDCDD !important;
  /* border-left: 0px solid #DBDCDD !important; */
}
.base-report-table[data-v-cf46e357] .p-datatable-tbody tr td.p-datatable-frozen-column {
  border-left: 0px solid #DBDCDD !important;
  border-top-left-radius: 0px !important ;
}
.base-report-table[data-v-cf46e357] .p-datatable-tbody tr td:last-child {
  border-right: 1px solid #DBDCDD !important;
}
.base-report-table[data-v-cf46e357] .p-datatable-tbody tr td {
  border-top: 1px solid #DBDCDD !important;
  border-bottom: 1px solid #DBDCDD !important;
}
.base-report-table[data-v-cf46e357] .p-datatable-table {
  border-spacing: 0 6px !important;
  table-layout: auto !important;
  width: 100% !important;
}

/* Ensure scrollable tables respect column widths */
.base-report-table[data-v-cf46e357] .p-datatable-scrollable-table {
  table-layout: fixed !important;
  width: 100% !important;
}

/* Ensure scrollable table headers respect column widths */
.base-report-table[data-v-cf46e357] .p-datatable-scrollable-header-table {
  table-layout: fixed !important;
  width: 100% !important;
}

/* Ensure scrollable table body respects column widths */
.base-report-table[data-v-cf46e357] .p-datatable-scrollable-body-table {
  table-layout: fixed !important;
  width: 100% !important;
}

/* Ensure column widths are respected in scrollable mode */
.base-report-table[data-v-cf46e357] .p-datatable-scrollable-body {
  overflow-x: auto !important;
}
[data-v-cf46e357] .p-paginator-content {
  width: 100%;
  flex-wrap: nowrap !important;
  margin: 31px 0 31px 0;
  display: flex;
  flex-direction: row;
}
[data-v-cf46e357] .p-paginator-current {
  color: #000 !important;

  font-size: 14px !important;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
}
[data-v-cf46e357] .p-paginator-first {
  overflow: hidden;
  position: relative;
  margin-left: auto;
}
[data-v-cf46e357] .p-paginator-current {
  color: var(--p-paginator-current-page-report-color);
  width: 100%;
}

/* Removed restrictive max-width rule to allow column width property to work properly */
.base-report-table[data-v-cf46e357] .p-datatable-paginator-bottom {
  border: none !important;
}
[data-v-cf46e357] .p-paginator-current {
  font-size: 14px;
}
.global-filter[data-v-cf46e357] {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.global-filter label[data-v-cf46e357] {
  color: #000;

  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 16px;
}
[data-v-cf46e357] .p-datatable-column-sorted .p-datatable-sort-icon {
    color: #001E62 !important;
}

/* Radio button selection styling */
.radio-selection[data-v-cf46e357] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
}
.radio-selection input[type="radio"][data-v-cf46e357] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #001E62;
}

/* Make rows clickable when using selection mode - only add pointer cursor when row is selectable */
.base-report-table.has-selection[data-v-cf46e357] .p-datatable-tbody > tr[data-pc-section="bodyrow"] {
  cursor: pointer;
}

/* Ensure hover effect doesn't conflict with existing striped rows */
.base-report-table.has-selection[data-v-cf46e357] .p-datatable-tbody > tr[data-pc-section="bodyrow"]:not(.p-highlight):hover {
  background-color: #f5f5f5 !important;
}

/* Top horizontal scroll bar styling */
.top-scroll-container[data-v-cf46e357] {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid #DBDCDD;
  border-bottom: none;
  border-radius: 12px 12px 0 0;
  background: #FAFAFA;
  margin-bottom: -1px; /* Merge with table border */
  position: relative;
  z-index: 1;
}
.top-scroll-content[data-v-cf46e357] {
  height: 1px;
  /* Width will be set dynamically via JavaScript */
  min-width: 100%;
  background: transparent;
}

/* Adjust table styling when top scroll is enabled */
.base-report-table.has-top-scroll[data-v-cf46e357] .p-datatable {
  border-top: none;
  border-radius: 0 0 12px 12px;
}
.base-report-table.has-top-scroll[data-v-cf46e357] .p-datatable-wrapper {
  border-radius: 0 0 12px 12px;
}

/* Preserve header corner radii even with top scroll */
.base-report-table.has-top-scroll[data-v-cf46e357] .p-datatable-thead > tr > th:first-child {
  border-top-left-radius: 12px !important;
}
.base-report-table.has-top-scroll[data-v-cf46e357] .p-datatable-thead > tr > th:last-child {
  border-top-right-radius: 12px !important;
}

/* Ensure top scroll bar does not visually cover header corners */
.top-scroll-container[data-v-cf46e357] {
  z-index: 0;
}

/* Ensure smooth scrolling */
.top-scroll-container[data-v-cf46e357]::-webkit-scrollbar {
  height: 12px;
}
.top-scroll-container[data-v-cf46e357]::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 6px;
}
.top-scroll-container[data-v-cf46e357]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 6px;
}
.top-scroll-container[data-v-cf46e357]::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* .base-report-table :deep(.p-datatable-tbody > tr > td),
.base-report-table :deep(.p-datatable-thead > tr > th {
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
  white-space: nowrap;
} */

/* Column Header with Tooltip Styling */
.column-header-with-tooltip[data-v-cf46e357] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  white-space: normal;
  word-wrap: break-word;
  line-height: 1.2;
}
.column-header-with-tooltip span[data-v-cf46e357] {
  flex: 1;
  white-space: normal;
  word-wrap: break-word;
}

/* Datatable tooltip styles - optimized */
[data-v-cf46e357] .tooltip-trigger {
  width: 16px !important;
  height: 16px !important;
  background: rgba(74, 79, 85, 0.10) !important;
  color: #001E62 !important;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}
[data-v-cf46e357] .tooltip-trigger i {
  font-size: 7px !important;
  font-weight: 700 !important;
}
[data-v-cf46e357] .tooltip-trigger:hover {
  background: rgba(74, 79, 85, 0.10) !important;
  transform: none;
}

/* ==========================================================
   Datatable-scoped styles for base atoms (per Figma)
   These apply ONLY within BaseReportTable cells/headers.
   ========================================================== */

/* BaseInputText inside table cells */
.base-report-table[data-v-cf46e357] .base-input-text__input-container {
  height: 36px !important;
  border: 1.5px solid #DBDCDD !important;
  border-radius: 4px !important;
  padding: 2px 6px !important;
}
.base-report-table[data-v-cf46e357] .base-input-text__input {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.17 !important;
  color: #4A4F55 !important;
}

/* BaseSelect inside table cells (PrimeVue Select) */

/* Allow select to grow vertically for long text */
.base-report-table[data-v-cf46e357] .base-select-wrapper {
  width: 75% !important;
  max-width: 100% !important;
}
.base-report-table[data-v-cf46e357] .p-select {
  min-height: 24px !important;
  height: auto !important;
  border: 1.5px solid #001E62 !important;
  border-radius: 4px !important;
  display: flex !important;
  align-items: flex-start !important;
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}
.base-report-table[data-v-cf46e357] .p-select .p-select-label-container {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
}
.base-report-table[data-v-cf46e357] .p-select .p-select-label {
  padding: 2px 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #001E62 !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  width: 100% !important;
}
.base-report-table[data-v-cf46e357] .p-select .p-select-dropdown {
  width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  border-radius: 100px !important;
  background-color: transparent !important;
  border: none !important;
  align-self: flex-start !important;
  margin-top: 0 !important;
  flex-shrink: 0 !important;
}
.base-report-table[data-v-cf46e357] .p-select .p-select-dropdown .p-select-dropdown-icon {
  width: 8.83px !important;
  height: 8.83px !important;
}

/* BaseButton inside table cells - exclude grid action buttons */
.base-report-table[data-v-cf46e357] .p-button:not(.exclude-base-report-table-styles) {
  height: 24px !important;
  min-height: 24px !important;
  padding: 2px 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.17 !important;
  border: 1.5px solid #001E62 !important;
  color: #001E62 !important;
  background-color: transparent !important;
}
.base-report-table[data-v-cf46e357] .p-button:not(.exclude-base-report-table-styles):hover {
  background-color: #001E62 !important;
  color: #FFFFFF !important;
}

/* Links in table */
.base-report-table[data-v-cf46e357] td a,
.base-report-table[data-v-cf46e357] a.clickablelink,
.base-report-table[data-v-cf46e357] .pointer-link {
  cursor: pointer !important;
  color: #001E62 !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  background: transparent !important;
  border: 0 !important;
}
.base-report-table[data-v-cf46e357] td a:hover,
.base-report-table[data-v-cf46e357] a.clickablelink:hover,
.base-report-table[data-v-cf46e357] .pointer-link:hover {
  text-decoration: underline !important;
}

/* Icon-only button - clean icon with no border or background - exclude grid action buttons */
.base-report-table[data-v-cf46e357] .p-button.icon-only-button:not(.exclude-base-report-table-styles) {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #001E62 !important;
  min-width: auto !important;
  height: auto !important;
  box-shadow: none !important;
}
.base-report-table[data-v-cf46e357] .p-button.icon-only-button:not(.exclude-base-report-table-styles):hover {
  background: none !important;
  opacity: 0.7 !important;
  box-shadow: none !important;
}
.base-report-table[data-v-cf46e357] .p-button.icon-only-button:not(.exclude-base-report-table-styles) .p-button-icon {
  font-size: 16px !important;
  color: #001E62 !important;
  margin: 0 !important;
}

/* Delete icon button - matching Figma specifications */
.base-report-table[data-v-cf46e357] .action-buttons .delete-icon-button {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 2px !important;
  border-radius: 100px !important;
  background-color: rgba(74, 79, 85, 0.1) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}
.base-report-table[data-v-cf46e357] .action-buttons .delete-icon-button:hover {
  background-color: rgba(74, 79, 85, 0.2) !important;
}
.base-report-table[data-v-cf46e357] .action-buttons .delete-icon {
  width: 16px !important;
  height: 16px !important;
  display: block !important;
}

/* Legacy PrimeVue button support (if any still exist) - exclude grid action buttons */
.base-report-table[data-v-cf46e357] .action-buttons .p-button.p-button-icon-only:not(.exclude-base-report-table-styles) {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 2px !important;
  border-radius: 100px !important;
  background-color: rgba(74, 79, 85, 0.1) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.base-report-table[data-v-cf46e357] .action-buttons .p-button.p-button-icon-only:not(.exclude-base-report-table-styles):hover {
  background-color: rgba(74, 79, 85, 0.2) !important;
}

/* Target icon elements but exclude those inside grid action buttons */
.base-report-table[data-v-cf46e357] .action-buttons .p-button:not(.exclude-base-report-table-styles) .p-button-icon {
  width: 16px !important;
  height: 16px !important;
  font-size: 16px !important;
  color: #001E62 !important;
  margin: 0 !important;
}

/* Delete icon color inside action buttons */
.base-report-table[data-v-cf46e357] .action-buttons .fa-trash {
  color: #E74444 !important;
}

/* Danger ghost buttons (e.g., Remove) - exclude grid action buttons */
.base-report-table[data-v-cf46e357] .p-button.p-button-danger:not(.exclude-base-report-table-styles),
.base-report-table[data-v-cf46e357] .p-button.p-button-danger.p-button-outlined:not(.exclude-base-report-table-styles) {
  border: 1.5px solid #E74444 !important;
  color: #E74444 !important;
  background: transparent !important;
}
.base-report-table[data-v-cf46e357] .p-button.p-button-danger:not(.exclude-base-report-table-styles):hover,
.base-report-table[data-v-cf46e357] .p-button.p-button-danger.p-button-outlined:not(.exclude-base-report-table-styles):hover {
  background: #E74444 !important;
  color: #FFFFFF !important;
}

/* ==========================================================
   Column Visibility Toggle Styling
   ========================================================== */
.column-toggle-control[data-v-cf46e357] {
  display: flex;
  align-items: center;
}

/* Column toggle button - match export button styling */
.column-toggle-button[data-v-cf46e357] {
  font-size: 21px !important;
  font-weight: 400 !important;
  border: 1px solid #4A4F55 !important;
  border-radius: 6px !important;
  background: #FFFFFF !important;
  color: #000000 !important;
  padding: 4px 12px !important;
  height: 40px !important;
  min-height: 40px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap : 0 !important;
}
.column-toggle-button[data-v-cf46e357]:hover {
  background: #001E62 !important;
  color: #FFFFFF !important;
}
.column-toggle-button[data-v-cf46e357]:hover .p-button-icon {
  color: #FFFFFF !important;
}
.column-toggle-panel[data-v-cf46e357] {
  padding: 0;
}
.column-toggle-header[data-v-cf46e357] {
  margin: 0 0 12px 0;
  padding: 0 0 8px 0;
  font-size: 14px;
  font-weight: 700;
  color: #4A4F55;
  border-bottom: 1px solid #DBDCDD;
}
.column-toggle-list[data-v-cf46e357] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 400px;
  overflow-y: auto;
}
.column-toggle-item[data-v-cf46e357] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
}
.column-toggle-label[data-v-cf46e357] {
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: #4A4F55;
  margin: 0;
  user-select: none;
  flex: 1;
}
.column-toggle-item:hover .column-toggle-label[data-v-cf46e357] {
  color: #001E62;
}

/* Checkbox styling in column toggle */
.column-toggle-panel[data-v-cf46e357] .p-checkbox {
  margin-right: 0;
}
.column-toggle-panel[data-v-cf46e357] .p-checkbox-box {
  border: 1.5px solid #DBDCDD;
  border-radius: 4px;
  width: 18px;
  height: 18px;
}
.column-toggle-panel[data-v-cf46e357] .p-checkbox-box.p-highlight {
  background: #001E62;
  border-color: #001E62;
}
.column-toggle-panel[data-v-cf46e357] .p-checkbox-icon {
  width: 12px;
  height: 12px;
}

/* Frozen column shadow styling */
.base-report-table[data-v-cf46e357] .p-datatable-thead > tr > th.p-frozen-column {
  box-shadow: 4px 0px 12px rgba(0, 0, 0, 0.15) !important;
}
.base-report-table[data-v-cf46e357] .p-datatable-tbody > tr > td.p-frozen-column {
  box-shadow: 4px 0px 12px rgba(0, 0, 0, 0.15) !important;
}
[data-v-cf46e357] .p-datatable-frozen-column{
  z-index: 50 !important;
}
[data-v-cf46e357] .p-datatable-thead{
  z-index: 999 !important;
}
[data-v-cf46e357] .column-toggle-button{ 
  height: 39px !important;
}

/* Left frozen column - shadow on right side only */
[data-v-cf46e357] .p-datatable-frozen-column:nth-child(1){
  /* box-shadow: 4px 0px 12px 0px rgba(0,0,0,0.15);
  -webkit-box-shadow: 4px 0px 12px 0px rgba(0,0,0,0.15);
  -moz-box-shadow: 4px 0px 12px 0px rgba(0,0,0,0.15); */
}
.base-report-table[data-v-cf46e357] .column-toggle-control .p-button {
  height: 40px !important;
}
.base-report-table[data-v-cf46e357] .column-toggle-button .p-button-icon {
  font-size: 16px !important;
}

/* Row Group Header Styling - Reusable across all tables with row grouping */
[data-v-cf46e357] .p-datatable .p-rowgroup-header {
  background: var(--p-surface-50, #f8f9fa);
  border-left: 3px solid var(--p-primary-color, #3b82f6);
  transition: background-color 0.2s ease;
  position: relative;
  z-index: 60 !important; /* Higher than frozen columns (50) but lower than thead (999) */
}
[data-v-cf46e357] .p-datatable .p-rowgroup-header:hover {
  background: var(--p-surface-100, #e9ecef);
}

/* Ensure row group header cell takes full width */
[data-v-cf46e357] .p-datatable .p-rowgroup-header td {
  padding: 0 !important;
  position: relative;
  z-index: 60 !important; /* Higher than frozen columns (50) but lower than thead (999) */
}

/* Ensure the first cell in row group header displays properly */
[data-v-cf46e357] .p-datatable .p-rowgroup-header td:first-child {
  box-sizing: border-box;
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
}

/* Hide other cells in row group header if they exist (PrimeVue should only create one cell) */
[data-v-cf46e357] .p-datatable .p-rowgroup-header td:not(:first-child) {
  display: none !important;
}

/* Position toggle button inline with content */
[data-v-cf46e357] .p-datatable .p-rowgroup-header .p-row-toggler {
  margin-right: 0.5rem;
  color: var(--p-primary-color, #3b82f6);
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  flex-shrink: 0;
}

/* Make the toggle button smaller and inline */
[data-v-cf46e357] .p-datatable .p-rowgroup-header .p-row-toggler .p-datatable-row-toggle-button {
  width: auto !important;
  height: auto !important;
  padding: 0.25rem !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
}
[data-v-cf46e357] .p-datatable .p-rowgroup-header .p-row-toggler .p-datatable-row-toggle-icon {
  width: 14px !important;
  height: 14px !important;
}

/* Hide row group footer rows - typically not needed */
[data-v-cf46e357] .p-datatable .p-rowgroup-footer {
  display: none !important;
}
[data-v-cf46e357] .p-datatable-row-group-footer {
  display: none;
}

/* Prevent internal scrolling within expanded row groups */
[data-v-cf46e357] .p-datatable .p-rowgroup-header + tr,[data-v-cf46e357] .p-datatable .p-rowgroup-header ~ tr:not(.p-rowgroup-header) {
  overflow: visible !important;
}

/* Ensure expanded row group content doesn't create scroll containers */
[data-v-cf46e357] .p-datatable .p-datatable-tbody .p-rowgroup-header ~ tr {
  overflow: visible !important;
  position: relative !important;
}

/* Prevent scrollable body from creating nested scroll in row groups */
[data-v-cf46e357] .p-datatable-scrollable-body .p-rowgroup-header,[data-v-cf46e357] .p-datatable-scrollable-body .p-rowgroup-header ~ tr {
  overflow: visible !important;
}
[data-v-cf46e357] .p-datatable-row-group-header{
  z-index: 102 !important;
  position: relative;
  background: #D7D7D775 !important;
}
[data-v-cf46e357] td.p-datatable-frozen-column::before {
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 100%;
  background: #fff;
  content: "";
  height: 20px;
  z-index: 100;
}
[data-v-cf46e357] td.p-datatable-frozen-column {
  position: sticky;
  z-index: 1;
  box-shadow: 4px 12px 12px 0px rgba(0,0,0,0.15);
  border-left: 0px;
  border-top-left-radius: 0px !important;
  border-top: 0px solid transparent !important;
}
[data-v-cf46e357] td.p-datatable-selectable-row:nth-child(1) .p-datatable-frozen-column {
  position: relative;
  z-index: 1;
  box-shadow: 4px 12px 12px 0px rgba(0,0,0,0.15);
  border-left: 0px;
  border-top-left-radius: 0px !important;
  border-top: 0px solid transparent !important;
}
[data-v-cf46e357] .p-datatable-hoverable .p-datatable-tbody > tr:not(.p-datatable-row-selected):hover {
  background:#EFEFF4 !important;
  color:var(--p-datatable-row-hover-color);
}
[data-v-cf46e357] .p-datatable-column-header-content{
  justify-content: space-between !important;
}
[data-v-cf46e357] .rowgroupheadercell{
  width: 100% !important;
}
[data-v-cf46e357] .admin-header-container{
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

/* ==========================================================
   Mobile-cards layout (≤640px) - opt-in via prop mobileLayout="cards".
   Each row becomes a stacked card with label/value pairs derived from
   the column header (data-label is injected by BaseReportTable.vue via
   the per-column pt.bodyCell binding).

   Cells can be tagged with .is-mobile-primary (full-width title row),
   .is-mobile-meta (label above value, useful for action buttons), or
   .is-mobile-hidden (omit from card view). Defaults to a two-column
   label/value pair.
   ========================================================== */

/* Header chrome: full-width controls and stacked paginator at narrow widths */
@media (max-width: 640px) {
.base-report-table .global-filter[data-v-cf46e357] {
    width: 100%;
}
.base-report-table .global-filter .p-input-icon-left input[data-v-cf46e357],
  .base-report-table .global-filter[data-v-cf46e357] .p-iconfield,
  .base-report-table .global-filter[data-v-cf46e357] .p-iconfield .p-inputtext {
    width: 100% !important;
    min-width: 0 !important;
}
.base-report-table .page-size-control[data-v-cf46e357],
  .base-report-table .page-info[data-v-cf46e357] {
    width: 100%;
    justify-content: flex-start;
}
.base-report-table .page-size-dropdown[data-v-cf46e357] {
    width: auto;
    flex: 1 1 auto;
}
.base-report-table[data-v-cf46e357] .p-paginator {
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: center !important;
}
.base-report-table[data-v-cf46e357] .p-paginator-content {
    flex-wrap: wrap !important;
    justify-content: center !important;
}
.base-report-table[data-v-cf46e357] .p-paginator-current {
    width: 100% !important;
    text-align: center !important;
    order: -1;
}
.base-report-table[data-v-cf46e357] .p-paginator-first,
  .base-report-table[data-v-cf46e357] .p-paginator-prev,
  .base-report-table[data-v-cf46e357] .p-paginator-next,
  .base-report-table[data-v-cf46e357] .p-paginator-last,
  .base-report-table[data-v-cf46e357] .p-paginator-page {
    /* Larger tap targets on mobile. Slightly under WCAG 2.5.5 (44x44) to fit
       multiple page numbers on a 360px viewport; first/prev/next/last reach
       44x44 effective via the 8px gap between buttons. */
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
}
}
@media (max-width: 640px) {
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable,
  .base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-wrapper,
  .base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-table-container,
  .base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-scrollable-body,
  .base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-scrollable-table {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
}
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-table {
    display: block !important;
    width: 100% !important;
    table-layout: auto !important;
    border-spacing: 0 !important;
}

  /* Hide the column headers - the data-label pseudo on each cell replaces them */
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-thead,
  .base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-scrollable-header,
  .base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-scrollable-header-table {
    display: none !important;
}
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody {
    display: block !important;
    width: 100% !important;
}

  /* Each row becomes a card. Use flex column so .is-mobile-primary cells can
     reorder to the top via CSS order without changing the DOM column order
     (preserves desktop column layout untouched). */
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr {
    display: flex !important;
    flex-direction: column;
    width: 100% !important;
    padding: 14px 16px !important;
    margin: 0 0 10px 0 !important;
    border: 1px solid #DBDCDD !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

  /* Cells: default to label/value grid */
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td {
    display: grid !important;
    grid-template-columns: max-content 1fr;
    align-items: start;
    gap: 0 12px;
    width: 100% !important;
    padding: 4px 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

  /* Visible label sourced from data-label injected by buildColumnBodyCellPT */
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td::before {
    content: attr(data-label);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6E7277;
    line-height: 1.3;
    padding-top: 2px;
}

  /* Cells without a data-label fall back gracefully */
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td:not([data-label])::before,
  .base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td[data-label='']::before {
    content: none;
}

  /* Primary cell: full-width title row at top of card, no label. Uses CSS
     `order` so the title floats to the top of the card while DOM column order
     stays unchanged for desktop. */
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td.is-mobile-primary {
    display: block !important;
    order: -1;
    padding: 0 0 8px 0 !important;
    margin-bottom: 8px;
    border-bottom: 1px solid #f1f3f5 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #001E62 !important;
}
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td.is-mobile-primary::before {
    content: none;
}

  /* Meta cell: label above full-width value (good for action buttons) */
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td.is-mobile-meta {
    display: block !important;
    padding-top: 8px !important;
}
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td.is-mobile-meta::before {
    display: block;
    margin-bottom: 6px;
}

  /* Hidden cell: omit from card layout */
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td.is-mobile-hidden {
    display: none !important;
}

  /* Override the existing frozen-column rules: stickiness has no meaning in
     a stacked card and would create a second scroll container */
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td.p-datatable-frozen-column,
  .base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td.p-frozen-column {
    position: static !important;
    box-shadow: none !important;
    border-left: none !important;
}

  /* Top horizontal scrollbar is meaningless in cards mode */
.base-report-table.is-mobile-cards .top-scroll-container[data-v-cf46e357] {
    display: none !important;
}

  /* Restore card border on first/last cells (the per-cell border-radius
     overrides from desktop styles need to be neutralized) */
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td:first-child,
  .base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td:last-child {
    border-radius: 0 !important;
}
}

/* Fallback for ancient browsers without grid support */
@supports not (display: grid) {
@media (max-width: 640px) {
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td {
      display: block !important;
}
.base-report-table.is-mobile-cards[data-v-cf46e357] .p-datatable-tbody > tr > td::before {
      display: inline-block;
      margin-right: 8px;
}
}
}
/* Shared Search Panel Styles */
.organism-search-panel {
  background: #ffffff;
  margin: 0;
  position: relative;
}
.search-panel__title {
  color: #000;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 16px; /* 72.727% */
}
.search-panel__content {
  background: linear-gradient(180deg, #ffffff 0%, #eeeef4 100%);
  box-shadow: 0px 1px 1px 0px rgba(224, 224, 224, 1);
  margin: 0;
  display: block;
  flex-direction: column;
  gap: 13px;
  max-height: none;
  min-height: unset;
  position: relative;
  justify-content: center;
}
.filter-container {
  width: 100%;
}
.search-panel__filters {
  margin-bottom: 15px;
}
/* Filters */
.search-panel__filters .filter-label {
  color: #4a4f55;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 16px; /* 114.286% */
}
/* Filter Form Styles */
.search-panel__filters .filter-row {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: center;
  margin-bottom: 10px;
}
.search-panel__filters .filter-field {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  width: 50%;
}
/* Actions */
.search-panel__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
}
.search-panel__actions-default {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  flex-shrink: 0;
}
.search-panel__actions-custom {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}
/* Remove bottom border from last section */
.search-panel__filters:last-child,
.search-panel__actions:last-child,
.search-panel__results:last-child {
  border-bottom: none;
}
.search-panel__header{
  margin-top: 1rem;
}
/* Responsive adjustments */
@media (max-width: 768px) {
.search-panel__header,
  .search-panel__filters,
  .search-panel__results {
    padding: 1rem;
}
.search-panel__actions {
    padding: 0.75rem 1rem;
    flex-direction: column;
    align-items: stretch;
}
.search-panel__title {
    font-size: 1.125rem;
}
}
/* Container for consistent alignment across all sections */
.container {
  margin: 0 auto;
  padding: 0 24px;
}
/* Responsive container adjustments */
@media (max-width: 1440px) {
.container {
    padding: 0 16px;
}
}
@media (max-width: 768px) {
.container {
    padding: 0 12px;
}
}
.search-panel__actions_multi {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
}
.search-panel__accordion {
  margin-bottom: 15px;
}
.search-panel__accordion .accordion-header-text {
  font-weight: 600;
  font-size: 14px;
  color: #4a4f55;
}
.search-panel__description {
  margin-bottom: 30px;
}
.search-panel__description-text {
  color: #51565C;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px; /* 150% */
  align-self: stretch;
  margin: 0;
}
.search-panel__content-slot {
  margin-bottom: 30px;
}
/* Shared Search Panel Styles */
.organism-search-panel {
  background: #ffffff;
  margin: 0;
  position: relative;
}
.search-panel__title {
  color: #000;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 16px; /* 72.727% */
}
.search-panel__content {
  background: linear-gradient(180deg, #ffffff 0%, #eeeef4 100%);
  box-shadow: 0px 1px 1px 0px rgba(224, 224, 224, 1);
  margin: 0;
  display: block;
  flex-direction: column;
  gap: 13px;
  max-height: none;
  min-height: unset;
  position: relative;
  justify-content: center;
}
.filter-container {
  width: 100%;
}
.search-panel__filters {
  margin-bottom: 15px;
}
/* Filters */
.search-panel__filters .filter-label {
  color: #4a4f55;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 16px; /* 114.286% */
}
/* Filter Form Styles */
.search-panel__filters .filter-row {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: center;
  margin-bottom: 10px;
}
.search-panel__filters .filter-field {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  width: 50%;
}
/* Actions */
.search-panel__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
}
.search-panel__actions-default {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  flex-shrink: 0;
}
.search-panel__actions-custom {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}
/* Remove bottom border from last section */
.search-panel__filters:last-child,
.search-panel__actions:last-child,
.search-panel__results:last-child {
  border-bottom: none;
}
.search-panel__header{
  margin-top: 1rem;
}
/* Responsive adjustments */
@media (max-width: 768px) {
.search-panel__header,
  .search-panel__filters,
  .search-panel__results {
    padding: 1rem;
}
.search-panel__actions {
    padding: 0.75rem 1rem;
    flex-direction: column;
    align-items: stretch;
}
.search-panel__title {
    font-size: 1.125rem;
}
}
/* Container for consistent alignment across all sections */
.container {
  margin: 0 auto;
  padding: 0 24px;
}
/* Responsive container adjustments */
@media (max-width: 1440px) {
.container {
    padding: 0 16px;
}
}
@media (max-width: 768px) {
.container {
    padding: 0 12px;
}
}
:root {
  --filter-row-gap: 1rem;
  --filter-row-margin-top: 10px;
  --filter-min-width: 200px;
  --filter-min-width-tablet: 180px;
  --filter-min-width-desktop: 220px;
}
.single_filter-container .filter-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--filter-min-width), 1fr));
  gap: var(--filter-row-gap);
  align-items: center;
  margin-top: var(--filter-row-margin-top);
}
/* Responsive grid adjustments */
@media (max-width: 768px) {
.single_filter-container .filter-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
}
}
@media (min-width: 769px) and (max-width: 1024px) {
.single_filter-container .filter-row {
    grid-template-columns: repeat(auto-fit, minmax(var(--filter-min-width-tablet), 1fr));
}
}
@media (min-width: 1025px) {
.single_filter-container .filter-row {
    grid-template-columns: repeat(auto-fit, minmax(var(--filter-min-width-desktop), 1fr));
}
}
.single_filter-container .filter-field {
  width: 100%;
}
.single_filter-container .search-panel__export {
  display: flex;
  justify-content: flex-end;
}
.search-panel__actions_single {
  margin-bottom: 0;
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
}
/* Shared Form Panel Styles - Consistent with SearchPanel */
.organism-form-panel {
  background: #ffffff;
  margin: 0;
  position: relative;
}
.form-panel__title {
  color: #000;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 16px; /* 72.727% */
}
.form-panel__content {
  background: linear-gradient(180deg, #ffffff 0%, #eeeef4 100%);
  box-shadow: 0px 1px 1px 0px rgba(224, 224, 224, 1);
  margin: 0;
  display: block;
  flex-direction: column;
  gap: 13px;
  max-height: none;
  min-height: unset;
  position: relative;
  justify-content: center;
}
.form-panel__header {
  margin-top: 1rem;
}
/* Description Section */
.form-panel__description {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-bottom: 15px;
  width: 100%;
}
.form-panel__description-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 33px;
  flex-shrink: 0;
}
.form-panel__description-icon img {
  display: block;
  width: 20px;
  height: 28px;
}
.form-panel__description-text {
  flex: 1;
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #51565C;
}
/* Sample Data Section */
.form-panel__sample-data {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #90caf9;
}
.form-panel__sample-data-label {
  font-weight: 600;
  font-size: 14px;
  color: #51565C;
  margin-bottom: 8px;
}
.form-panel__sample-data-content {
  font-size: 13px;
  line-height: 1.6;
  color: #51565C;
  background-color: rgba(255, 255, 255, 0.5);
  padding: 8px;
  border-radius: 4px;
}
/* Content Section */
.form-panel__content-section {
  margin-bottom: 15px;
}
/* Filter Form Styles - Same as SearchPanel */
.form-panel__content-section .filter-row {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: center;
  margin-bottom: 10px;
}
.form-panel__content-section .filter-field {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
}
.form-panel__content-section .filter-label {
  color: #51565C;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 16px; /* 114.286% */
}
.form-panel__content-section .form-help-text {
  font-size: 12px;
  color: #6e7277;
  margin-top: -4px;
}
/* Actions */
.form-panel__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
}
.form-panel__actions-custom {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
/* Results Section */
.form-panel__results {
  margin-top: 20px;
}
/* Container for consistent alignment across all sections */
.container {
  margin: 0 auto;
  padding: 0 24px;
}
/* Responsive container adjustments */
@media (max-width: 1440px) {
.container {
    padding: 0 16px;
}
}
@media (max-width: 768px) {
.container {
    padding: 0 12px;
}
.form-panel__description,
  .form-panel__selection,
  .form-panel__results {
    padding: 1rem;
}
.form-panel__description {
    flex-direction: column;
    gap: 12px;
}
.form-panel__description-icon {
    align-self: flex-start;
}
.form-panel__description-text {
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
}
.form-panel__actions {
    padding: 0.75rem 1rem;
    flex-direction: column;
    align-items: stretch;
}
.form-panel__title {
    font-size: 1.125rem;
}
.form-panel__form-content {
    gap: 20px;
}
.form-panel__form-label {
    font-size: 13px;
}
}

.ff-settings-list[data-v-f8778c85] {
  max-width: 20rem;
  font-size: 13px;
  line-height: 1.45;
  color: var(--go-text-primary, #1d1d1f);
}
.ff-settings-list__parse-error[data-v-f8778c85] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ff-settings-list__raw[data-v-f8778c85] {
  display: block;
  font-family: ui-monospace, monospace;
  font-size: 11px;
  word-break: break-all;
  color: #374151;
}
.ff-settings-list__parsed[data-v-f8778c85] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ff-settings-list__block[data-v-f8778c85] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ff-settings-list__block--inline[data-v-f8778c85] {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
}
.ff-settings-list__label[data-v-f8778c85] {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--go-text-muted, #86868b);
}
.ff-settings-list__tags[data-v-f8778c85] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

/* Compact chips (PrimeVue Tag default padding is large for table cells) */
.ff-settings-list__tag-chip[data-v-f8778c85] .p-tag {
  padding: 0.1rem 0.35rem !important;
  min-height: 1.2rem !important;
  font-size: 10px !important;
  font-weight: 600 !important;
}
.ff-settings-list__tag-chip[data-v-f8778c85] .p-tag .p-tag-label {
  font-size: 10px !important;
  line-height: 1.15 !important;
  padding: 0 !important;
}
.ff-settings-list__admin-chip-wrap[data-v-f8778c85] {
  display: inline-flex;
  vertical-align: middle;
}
.ff-settings-list__meta[data-v-f8778c85] {
  font-size: 12px;
  color: var(--go-text-primary, #1d1d1f);
  word-break: break-word;
}
.ff-settings-list__muted[data-v-f8778c85] {
  font-size: 12px;
  color: var(--go-text-muted, #86868b);
}

.ff-admin[data-v-19456914] {
  /* Match Grant Opportunities table tokens (modules/opportunities GrantOpportunitiesView.vue) */
  --go-bg: #f5f5f7;
  --go-card-bg: #ffffff;
  --go-card-border: #e5e5e7;
  --go-input-border: #d2d2d7;
  --go-text-primary: #1d1d1f;
  --go-text-muted: #86868b;

  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem 1rem 2rem;
}
.ff-admin__header[data-v-19456914] {
  margin-bottom: 1rem;
}
.ff-admin__title[data-v-19456914] {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0 0 0.25rem;
}
.ff-admin__subtitle[data-v-19456914] {
  margin: 0 0 1rem;
  color: var(--p-text-muted-color, #6b7280);
  font-size: 0.95rem;
}
.ff-admin__toolbar[data-v-19456914] {
  margin-bottom: 0.5rem;
}
.ff-admin__loader[data-v-19456914] {
  padding: 2rem 0;
}
.table-container[data-v-19456914] {
  margin-top: 0.5rem;
  width: fit-content;
  max-width: 100%;
}

/* BaseReportTable defaults to width:100%; shrink-wrap so columns don’t leave a dead zone */
.grant-table.base-report-table[data-v-19456914] {
  width: fit-content !important;
  max-width: 100%;
}
.ff-admin__results[data-v-19456914] {
  width: fit-content;
  max-width: 100%;
}

/* Grant Opportunities–style table (BaseReportTable + grant-table) */
.grant-table[data-v-19456914] .table-header {
  padding: 0;
}
.grant-table[data-v-19456914] .p-datatable-header {
  background: var(--go-bg) !important;
  border: none !important;
}
.grant-table.base-report-table[data-v-19456914] .p-datatable-table {
  border-spacing: 0 !important;
  table-layout: auto !important;
  width: auto !important;
  max-width: 100%;
}

/* Shrink PrimeVue datatable roots (shared BaseReportTable.css uses width:100% on several layers) */
.grant-table.base-report-table[data-v-19456914] .p-datatable {
  width: fit-content !important;
  max-width: 100% !important;
}
.grant-table.base-report-table[data-v-19456914] [data-pc-section='tablecontainer'] {
  width: fit-content !important;
  max-width: 100% !important;
}
.grant-table.base-report-table[data-v-19456914] .p-datatable-wrapper {
  width: fit-content !important;
  max-width: 100%;
}
.grant-table.base-report-table[data-v-19456914] .p-datatable-table-container {
  width: fit-content !important;
  max-width: 100%;
}

/* Keep ISO timestamps on one line so `ch` width matches content */
.grant-table.base-report-table[data-v-19456914] .p-datatable-thead > tr > th:nth-child(6),
.grant-table.base-report-table[data-v-19456914] .p-datatable-tbody > tr > td:nth-child(6) {
  white-space: nowrap;
}
.grant-table[data-v-19456914] .page-size-label,
.grant-table[data-v-19456914] .page-info-text,
.grant-table[data-v-19456914] .global-filter label {
  color: var(--go-text-muted);
  font-size: 14px;
  line-height: 1.5;
}
.grant-table[data-v-19456914] .global-filter .p-inputtext {
  border-radius: 8px;
  border-color: var(--go-input-border);
  min-height: 36px;
}
.grant-table.base-report-table[data-v-19456914] .p-datatable-thead > tr > th {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #1d1d1f !important;
  background: #f8f9fa !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: 1px solid #e5e5e7 !important;
  padding: 14px 20px !important;
  white-space: normal !important;
  vertical-align: middle !important;
  border-radius: 0 !important;
}
.grant-table.base-report-table[data-v-19456914] .p-datatable-thead > tr > th:first-child,
.grant-table.base-report-table[data-v-19456914] .p-datatable-thead > tr > th:last-child {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.grant-table.base-report-table[data-v-19456914] .p-datatable-thead > tr > th .p-datatable-column-title {
  font-weight: 700 !important;
  color: #1d1d1f !important;
}
.grant-table.base-report-table[data-v-19456914] .p-datatable-thead > tr > th .sort-icons .pi,
.grant-table.base-report-table[data-v-19456914] .p-datatable-thead > tr > th .p-sortable-column-icon {
  color: #6e7277 !important;
}
.grant-table.base-report-table[data-v-19456914] .p-datatable-thead > tr > th.p-sortable-column.p-highlight .sort-icons .pi,
.grant-table.base-report-table[data-v-19456914] .p-datatable-thead > tr > th.p-datatable-column-sorted .sort-icons .pi {
  color: #1d1d1f !important;
}
.grant-table[data-v-19456914] .p-datatable-tbody > tr > td {
  font-size: 14px;
  line-height: 1.5;
  color: var(--go-text-primary);
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: 1px solid var(--go-card-border) !important;
  padding: 9px 14px !important;
  min-height: 56px;
  border-radius: 0 !important;
}
.grant-table.base-report-table[data-v-19456914] .p-datatable-tbody > tr > td:first-child,
.grant-table.base-report-table[data-v-19456914] .p-datatable-tbody > tr > td:last-child {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.grant-table[data-v-19456914] .p-datatable-table-container {
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--go-card-border) !important;
  border-bottom: none !important;
  box-shadow: none !important;
  padding: 0;
}
.grant-table.base-report-table[data-v-19456914] .p-datatable-tbody > tr {
  background: #fff;
  border-radius: 0 !important;
}
.grant-table.base-report-table[data-v-19456914] .p-datatable-tbody > tr:last-child {
  border-bottom: none !important;
}
.grant-table.base-report-table[data-v-19456914] .p-datatable-tbody > tr:last-child > td {
  border-bottom: none !important;
}
.grant-table[data-v-19456914] .p-datatable-paginator-bottom {
  border: none !important;
  margin-top: 4px;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  background: var(--go-bg);
}
.grant-table[data-v-19456914] .p-paginator {
  min-height: 34px;
  padding: 2px 0 !important;
  border: none !important;
  box-shadow: none !important;
}
.grant-table[data-v-19456914] .p-paginator .p-paginator-page,
.grant-table[data-v-19456914] .p-paginator .p-paginator-first,
.grant-table[data-v-19456914] .p-paginator .p-paginator-prev,
.grant-table[data-v-19456914] .p-paginator .p-paginator-next,
.grant-table[data-v-19456914] .p-paginator .p-paginator-last {
  min-width: 2rem;
  height: 2rem;
}
.grant-table[data-v-19456914] .p-paginator-current {
  font-size: 14px;
}
.grant-table[data-v-19456914] .p-paginator-content {
  margin: 0 !important;
}
.grant-table[data-v-19456914] .page-info,
.grant-table[data-v-19456914] .page-size-label,
.grant-table[data-v-19456914] .page-info-text,
.grant-table[data-v-19456914] .global-filter label {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.grant-table[data-v-19456914] .page-size-control .p-select {
  min-height: 36px;
  border-radius: 8px;
  border-color: var(--go-input-border);
  box-shadow: none;
}
.grant-table[data-v-19456914] .base-report-table,
.grant-table[data-v-19456914] .p-datatable,
.grant-table[data-v-19456914] .p-datatable-wrapper {
  border-radius: 10px;
  overflow: hidden;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
.ff-admin__status-tag[data-v-19456914] {
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
}
.ff-admin__actions[data-v-19456914] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.ff-admin__dialog-body[data-v-19456914] {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* Dialog fields — same pattern as eligibility: label + Tooltip + control */
.ff-admin__dialog-field[data-v-19456914] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ff-admin__dialog-field-label-row[data-v-19456914] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.ff-admin__dialog-field-label[data-v-19456914] {
  font-weight: 600;
  color: #333;
  font-size: 14px;
}
.ff-admin__dialog-field-control[data-v-19456914] {
  width: 100%;
}
.ff-admin__quick-values[data-v-19456914] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
}
.ff-admin__quick-values-label[data-v-19456914] {
  font-size: 12px;
  font-weight: 600;
  color: #555;
}
.ff-admin__quick-values-buttons[data-v-19456914] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ff-admin__checks[data-v-19456914] {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.ff-admin__check[data-v-19456914] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.ff-admin__hint[data-v-19456914] {
  margin: 0;
  font-size: 0.85rem;
  color: var(--p-text-muted-color, #6b7280);
}
.ff-admin__hint--error[data-v-19456914] {
  color: var(--p-red-500, #ef4444);
  font-weight: 600;
}
.ff-admin__denied[data-v-19456914] {
  padding: 2rem 1rem;
}

.datetime-stack[data-v-9580845f] {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1.25;
}
.datetime-stack--align-end[data-v-9580845f] {
  align-items: flex-end;
  text-align: right;
}
.datetime-stack__line[data-v-9580845f] {
  display: block;
}
.datetime-stack--empty[data-v-9580845f] {
  color: var(--go-text-muted, #6b7280);
}

.gpas-dialog-content[data-v-e32506d9] {
  padding: 0.25rem 0.5rem 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 120px;
}
.gpas-loading[data-v-e32506d9] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 2rem;
  color: var(--p-surface-600);
}
.gpas-loading-text[data-v-e32506d9] {
  margin: 0;
  font-size: 0.875rem;
}
.gpas-error[data-v-e32506d9] {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 0.5rem;
  background: var(--p-red-50);
  color: var(--p-red-800);
  font-size: 0.875rem;
}
.gpas-error .pi[data-v-e32506d9] {
  margin-top: 0.125rem;
  flex-shrink: 0;
}
.gpas-narrative-panel[data-v-e32506d9] {
  padding: 1rem;
  border-radius: 0.5rem;
  background: linear-gradient(135deg, #eff6ff, #eef2ff);
  border: 1px solid #bfdbfe;
  margin-bottom: 0.5rem;
}
.gpas-narrative-label[data-v-e32506d9] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1d4ed8;
  margin-bottom: 0.5rem;
}
.gpas-narrative-text[data-v-e32506d9] {
  font-size: 0.875rem;
  line-height: 1.625;
  color: var(--p-surface-700);
  white-space: pre-line;
}
.gpas-scroll[data-v-e32506d9] .p-scrollpanel-content {
  padding-bottom: 0.5rem;
}
.gpas-accordion-header[data-v-e32506d9] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-right: 0.5rem;
  gap: 0.5rem;
}
.gpas-grant-title[data-v-e32506d9] {
  font-weight: 600;
  text-align: left;
}
.gpas-grant-body[data-v-e32506d9] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.gpas-section-title[data-v-e32506d9] {
  margin: 0 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--p-surface-800);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.gpas-criteria-block[data-v-e32506d9] {
  padding: 0.5rem 0.75rem;
  border-radius: 0.25rem;
  border: 1px solid var(--p-surface-100);
  background-color: var(--p-surface-0);
  font-size: 0.8125rem;
  margin-bottom: 0.5rem;
}
.gpas-criteria-text[data-v-e32506d9] {
  margin: 0 0 0.375rem;
  line-height: 1.5;
  color: var(--p-surface-800);
}
.gpas-ref-row[data-v-e32506d9] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.375rem;
}
.gpas-subtracks[data-v-e32506d9] {
  margin: 0.25rem 0 0;
  padding-left: 1.25rem;
  color: var(--p-surface-600);
  line-height: 1.45;
}
.gpas-subtracks--nested[data-v-e32506d9] {
  margin-top: 0.25rem;
}
.gpas-conditional-wrap[data-v-e32506d9] {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px dashed var(--p-surface-200);
}
.gpas-conditional-track[data-v-e32506d9] {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--p-primary-700);
}
.gpas-empty[data-v-e32506d9] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 2rem;
  text-align: center;
  color: var(--p-surface-500);
  font-size: 0.875rem;
}
.gpas-empty .pi[data-v-e32506d9] {
  font-size: 1.5rem;
}

.grant-opportunities-page[data-v-5e719d2f] {
  --go-bg: #f5f5f7;
  --go-card-bg: #ffffff;
  --go-card-border: #e5e5e7;
  --go-input-border: #d2d2d7;
  --go-text-primary: #1d1d1f;
  --go-text-muted: #86868b;
  --go-link: #0066cc;
  --go-search-btn: #2c3e50;
  --go-doc-bg: #e8f4fd;
  /* Eligibility CTA — Figma-style aquamarine (chunky rounded rect, not footer strip) */
  --go-eligibility-btn: #3ec9b5;
  --go-eligibility-btn-hover: #34b0a0;

  padding: 32px;
  background: var(--go-bg);
  min-height: 100%;
  font-family: 'Source Sans 3', sans-serif;
}
.grant-opportunities-page[data-v-5e719d2f] > * {
  max-width: 1336px;
  margin-left: auto;
  margin-right: auto;
}
.page-heading[data-v-5e719d2f] {
  margin-bottom: 6px;
}
.page-title[data-v-5e719d2f] {
  margin: 0;
  font-size: 28px;
  line-height: 1.5;
  font-weight: 600;
  color: var(--go-text-primary);
}
.filter-row[data-v-5e719d2f] {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.filter-field[data-v-5e719d2f] {
  flex: 1;
  min-width: 280px;
}
.filter-label[data-v-5e719d2f] {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  color: var(--go-text-muted);
}
.table-container[data-v-5e719d2f] {
  margin-top: 1rem;
}
.grant-search-panel[data-v-5e719d2f] .search-panel__content {
  border: 1px solid var(--go-card-border);
  border-radius: 10px;
  background: var(--go-card-bg);
}
.grant-search-panel[data-v-5e719d2f],
.grant-search-panel[data-v-5e719d2f] .organism-search-panel {
  background: transparent !important;
  border-radius: 10px;
  overflow: hidden;
}
.grant-search-panel[data-v-5e719d2f] .search-panel__content {
  padding: 25px 25px 1px;
}

/* Results: page bg; no top/left/right outline (Figma-style flush with page) */
.grant-search-panel[data-v-5e719d2f] .search-panel__results {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: none;
  border-radius: 0 0 10px 10px;
  background: var(--go-bg);
  margin-top: 14px;
  padding: 0;
  overflow: hidden;
}
.grant-search-panel--no-filter-bar[data-v-5e719d2f] .search-panel__content {
  display: none !important;
}
.grant-search-panel--no-filter-bar[data-v-5e719d2f] .search-panel__results {
  margin-top: 0 !important;
  border-radius: 0 0 10px 10px;
}
.grant-search-panel[data-v-5e719d2f] .search-panel__actions_multi {
  gap: 12px;
}
.grant-search-panel[data-v-5e719d2f] .search-panel__actions .base-button.p-button {
  border-radius: 8px;
}
.grant-search-panel[data-v-5e719d2f] .search-panel__actions .search-button.p-button {
  background: var(--go-search-btn);
  border-color: var(--go-search-btn);
}
.grant-search-panel[data-v-5e719d2f] .filter-field .p-select {
  border-color: var(--go-input-border);
  border-radius: 8px;
  min-height: 44px;
  box-shadow: none;
}
.grant-search-panel[data-v-5e719d2f] .search-panel__actions .p-button {
  height: 44px;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 500;
}
.grant-search-panel[data-v-5e719d2f] .search-panel__actions .reset-button.p-button {
  border-color: var(--go-input-border);
  color: var(--go-text-primary);
  background: #fff;
}
.grant-table[data-v-5e719d2f] .table-header {
  padding: 0;
}

/* Toolbar (Show / Entries / Search): same background as page — overrides shared transparent header */
.grant-table[data-v-5e719d2f] .p-datatable-header {
  background: var(--go-bg) !important;
  border: none !important;
}

/* Flush thead to card top: BaseReportTable’s vertical border-spacing otherwise leaves a gap above the header row. */
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-table {
  border-spacing: 0 !important;
}
.grant-table[data-v-5e719d2f] .page-size-label,
.grant-table[data-v-5e719d2f] .page-info-text,
.grant-table[data-v-5e719d2f] .global-filter label {
  color: var(--go-text-muted);
  font-size: 14px;
  line-height: 1.5;
}
.grant-table[data-v-5e719d2f] .global-filter .p-inputtext {
  border-radius: 8px;
  border-color: var(--go-input-border);
  min-height: 36px;
}

/* Figma header row: very light gray, bold labels, no vertical rules, one hairline under header */
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-thead > tr > th {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #1d1d1f !important;
  background: #f8f9fa !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: 1px solid #e5e5e7 !important;
  padding: 14px 20px !important;
  white-space: normal !important;
  vertical-align: middle !important;
  border-radius: 0 !important;
}
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-thead > tr > th:first-child,
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-thead > tr > th:last-child {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-thead > tr > th .p-datatable-column-title {
  font-weight: 700 !important;
  color: #1d1d1f !important;
}
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-thead > tr > th .sort-icons .pi,
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-thead > tr > th .p-sortable-column-icon {
  color: #6e7277 !important;
}
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-thead > tr > th.p-sortable-column.p-highlight .sort-icons .pi,
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-thead > tr > th.p-datatable-column-sorted .sort-icons .pi {
  color: #1d1d1f !important;
}
.grant-table[data-v-5e719d2f] .p-datatable-tbody > tr > td {
  font-size: 14px;
  line-height: 1.5;
  color: var(--go-text-primary);
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: 1px solid var(--go-card-border) !important;
  padding: 9px 14px !important;
  min-height: 56px;
  border-radius: 0 !important;
}
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-tbody > tr > td:first-child,
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-tbody > tr > td:last-child {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.grant-table[data-v-5e719d2f] .p-datatable-table-container {
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--go-card-border) !important;
  border-bottom: none !important;
  box-shadow: none !important;
  padding: 0;
}
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-tbody > tr {
  background: #fff;
  border-radius: 0 !important;
}
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-tbody > tr:last-child {
  border-bottom: none !important;
}
.grant-table.base-report-table[data-v-5e719d2f] .p-datatable-tbody > tr:last-child > td {
  border-bottom: none !important;
}
.grant-table[data-v-5e719d2f] .p-datatable-paginator-bottom {
  border: none !important;
  margin-top: 4px;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  background: var(--go-bg);
}
.grant-table[data-v-5e719d2f] .p-paginator {
  min-height: 34px;
  padding: 2px 0 !important;
  border: none !important;
  box-shadow: none !important;
}
.grant-table[data-v-5e719d2f] .p-paginator .p-paginator-page,
.grant-table[data-v-5e719d2f] .p-paginator .p-paginator-first,
.grant-table[data-v-5e719d2f] .p-paginator .p-paginator-prev,
.grant-table[data-v-5e719d2f] .p-paginator .p-paginator-next,
.grant-table[data-v-5e719d2f] .p-paginator .p-paginator-last {
  min-width: 28px !important;
  height: 28px !important;
}
.grant-table[data-v-5e719d2f] .p-paginator-current {
  font-size: 13px !important;
  line-height: 1.45 !important;
  padding: 2px 0 !important;
}
.grant-table[data-v-5e719d2f] .p-paginator-content {
  margin: 0 !important;
}
.grant-table[data-v-5e719d2f] .page-info,
.grant-table[data-v-5e719d2f] .page-size-label,
.grant-table[data-v-5e719d2f] .page-info-text,
.grant-table[data-v-5e719d2f] .global-filter label {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.grant-table[data-v-5e719d2f] .page-size-control .p-select {
  min-height: 36px;
  border-radius: 8px;
  border-color: var(--go-input-border);
  box-shadow: none;
}
.grant-table[data-v-5e719d2f] .base-report-table,
.grant-table[data-v-5e719d2f] .p-datatable,
.grant-table[data-v-5e719d2f] .p-datatable-wrapper {
  border-radius: 10px;
  overflow: hidden;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Grant Maker Cell */
.grant-maker-cell[data-v-5e719d2f] {
  display: flex;
  align-items: center;
}
.grant-maker-link[data-v-5e719d2f] {
  color: var(--go-link);
  text-decoration: none;
}
.grant-maker-link[data-v-5e719d2f]:hover {
  text-decoration: underline;
}

/* Program Name Cell */
.program-name-cell[data-v-5e719d2f] {
  display: flex;
  align-items: center;
}
.program-link[data-v-5e719d2f] {
  color: var(--go-link);
  text-decoration: none;
}
.program-link[data-v-5e719d2f]:hover {
  text-decoration: underline;
}

/* Deadline Cell */
.deadline-cell[data-v-5e719d2f] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-align: center;
  white-space: normal;
  max-width: 100%;
}
.rolling-deadline[data-v-5e719d2f] {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--go-text-muted);
}
.info-icon[data-v-5e719d2f] {
  cursor: help;
  color: var(--go-link);
  font-size: 0.875rem;
}
.no-deadline[data-v-5e719d2f] {
  color: var(--go-text-muted);
  font-style: italic;
  font-size: 14px;
  display: inline-block;
  padding: 2px 0;
}

/* Contact Cell */
.contact-cell[data-v-5e719d2f] {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.contact-name[data-v-5e719d2f] {
  font-weight: 500;
  color: var(--go-text-primary);
}
.contact-email a[data-v-5e719d2f] {
  color: var(--go-link);
  text-decoration: none;
  font-size: 13px;
}
.contact-email a[data-v-5e719d2f]:hover {
  text-decoration: underline;
}
.no-contact[data-v-5e719d2f] {
  color: var(--go-text-muted);
  font-style: italic;
  font-size: 14px;
  padding: 2px 0;
}

/* Documents Cell */
.documents-cell[data-v-5e719d2f] {
  display: flex;
  justify-content: center;
}
.document-links[data-v-5e719d2f] {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.grant-table[data-v-5e719d2f] td.text-right .documents-cell,
.grant-table[data-v-5e719d2f] td.text-right .document-links {
  justify-content: flex-end;
}
.document-link[data-v-5e719d2f] {
  min-height: 28px;
  min-width: 60px;
  padding: 4px 10px;
  background-color: var(--go-doc-bg);
  border: 1px solid transparent;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  color: var(--go-link);
  transition: background-color 0.2s;
}
.document-link[data-v-5e719d2f]:hover {
  background-color: #d9ecfb;
}
.no-documents[data-v-5e719d2f] {
  color: var(--go-text-muted);
  font-style: italic;
  font-size: 14px;
  display: inline-block;
  padding: 2px 0;
}

/* Icon-only document-style control (e.g. grant summary eye) — same base as .document-link */
.document-link--icon-only[data-v-5e719d2f] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  color: var(--go-link);
}
.document-link--icon-only .pi[data-v-5e719d2f] {
  font-size: 14px;
  line-height: 1;
  color: var(--go-link);
}

/* Action column (merged action + eligibility) — last data column on this page */
.grant-table[data-v-5e719d2f] .p-datatable-tbody > tr > td:last-child {
  vertical-align: middle;
}
.eligibility-cell[data-v-5e719d2f] {
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 6px 10px;
}
.eligibility-cell--stacked[data-v-5e719d2f] {
  padding-top: 0;
}

/* Figma-style: large rounded rectangle (not pill), fills column, tall two-line label.
   Targets both the native <button> (used in this view) and any future BaseButton
   variant that may carry the .grant-eligibility-btn class. */
.grant-table[data-v-5e719d2f] .grant-eligibility-btn {
  background: var(--go-eligibility-btn) !important;
  border: 1px solid var(--go-eligibility-btn) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-radius: 12px;
  font-weight: 600;
  font-size: 14px;
  width: 100%;
  max-width: 100%;
  min-height: 3.75rem;
  height: auto;
  padding: 0.85rem 1rem;
  line-height: 1.3;
  box-sizing: border-box;
  display: inline-flex !important;
  flex-wrap: wrap;
  align-items: center !important;
  align-content: center !important;
  justify-content: center !important;
  white-space: normal;
  text-align: center;
  overflow-wrap: break-word;
  cursor: pointer;
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
}
.grant-table[data-v-5e719d2f] .grant-eligibility-btn:not(:disabled):hover {
  background: var(--go-eligibility-btn-hover) !important;
  border-color: var(--go-eligibility-btn-hover) !important;
  color: #ffffff !important;
}
.grant-table[data-v-5e719d2f] .grant-eligibility-btn .grant-eligibility-btn-text,
.grant-table[data-v-5e719d2f] .grant-eligibility-btn .p-button-label {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  white-space: normal !important;
  line-height: 1.3 !important;
  text-align: center;
  width: 100%;
  display: inline-block;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: inherit;
  font-weight: inherit;
}

/* Action Cell */
.action-cell[data-v-5e719d2f] {
  display: flex;
  justify-content: center;
  align-items: center;
}
.action-cell.action-cell--merged[data-v-5e719d2f] {
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
}
.grant-table[data-v-5e719d2f] td.text-right .action-cell--merged {
  align-items: flex-end;
}
.grant-table[data-v-5e719d2f] td.text-right .action-cell--merged:has(.action-cell-primary--program-pending) {
  align-items: center;
}
.action-cell-primary[data-v-5e719d2f] {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.grant-table[data-v-5e719d2f] td.text-right .action-cell-primary {
  justify-content: flex-end;
}
.grant-table[data-v-5e719d2f] td.text-right .action-cell-primary--program-pending {
  justify-content: center;
}
.grant-table[data-v-5e719d2f] td.text-right .eligibility-cell--stacked {
  align-self: stretch;
}
.grant-table[data-v-5e719d2f] td.text-right .action-cell:not(.action-cell--merged) {
  justify-content: flex-end;
}
.program-not-open[data-v-5e719d2f] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.125rem;
  color: var(--go-text-muted);
  font-size: 14px;
  text-align: center;
}
.program-opens-label[data-v-5e719d2f] {
  display: block;
  line-height: 1.25;
}
.grant-table[data-v-5e719d2f] td.text-right .program-not-open {
  align-items: center;
  text-align: center;
  width: 100%;
}
.no-action[data-v-5e719d2f] {
  color: var(--go-text-muted);
}
.sso-action[data-v-5e719d2f] {
  display: flex;
  justify-content: center;
}
@media (max-width: 768px) {
.grant-opportunities-page[data-v-5e719d2f] {
    padding: 16px;
}
.page-title[data-v-5e719d2f] {
    font-size: 24px;
}
}

/* ==========================================================
   Mobile cards-mode: make sure every cell's value area renders as a visible
   block underneath the data-label, with a guaranteed min-height so the empty
   placeholders ("Not specified", "No documents") aren't squashed into a 0px
   flex line on small viewports.
   ========================================================== */
@media (max-width: 640px) {
.grant-table[data-v-5e719d2f] .deadline-cell,
  .grant-table[data-v-5e719d2f] .contact-cell,
  .grant-table[data-v-5e719d2f] .documents-cell,
  .grant-table[data-v-5e719d2f] .action-cell,
  .grant-table[data-v-5e719d2f] .eligibility-cell {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    width: 100% !important;
    min-height: 24px !important;
    padding: 0 !important;
    box-sizing: border-box;
}
.grant-table[data-v-5e719d2f] .deadline-cell > *,
  .grant-table[data-v-5e719d2f] .contact-cell > *,
  .grant-table[data-v-5e719d2f] .documents-cell > *,
  .grant-table[data-v-5e719d2f] .action-cell > * {
    text-align: left;
}

  /* Documents/AI Summary buttons get a slightly tighter left-aligned layout */
.grant-table[data-v-5e719d2f] .documents-cell .document-links {
    justify-content: flex-start !important;
    align-items: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
    width: 100%;
}

  /* Empty placeholders render as block-level with subtle italic so they read
     as "no value" not "rendering bug" */
.grant-table[data-v-5e719d2f] .no-deadline,
  .grant-table[data-v-5e719d2f] .no-documents,
  .grant-table[data-v-5e719d2f] .no-contact,
  .grant-table[data-v-5e719d2f] .no-action {
    display: block !important;
    color: var(--go-text-muted) !important;
    font-style: italic !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    padding: 2px 0 !important;
    text-align: left !important;
    visibility: visible !important;
    opacity: 1 !important;
}

  /* AI Summary eye-icon button - bump tap target on mobile */
.grant-table[data-v-5e719d2f] .document-link.document-link--icon-only {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
}
.grant-table[data-v-5e719d2f] .document-link.document-link--icon-only .pi {
    font-size: 18px !important;
}

  /* Document chips (PD / PS / PC / FAQ) - visible tap targets */
.grant-table[data-v-5e719d2f] .document-link:not(.document-link--icon-only) {
    min-height: 32px !important;
    min-width: 48px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    border-radius: 6px !important;
}
}

/* ==========================================================
   Mobile cards-mode overrides (≤640px) for action / eligibility cells.
   Desktop styling above is preserved untouched - these rules only fire
   inside the BaseReportTable's stacked-card layout.
   ========================================================== */
@media (max-width: 640px) {
  /* Action and eligibility cells fill the card row and their buttons need
     to render at a comfortable mobile tap size, not the desktop's 60px tall
     two-line CTA shape. */
.grant-table .eligibility-cell[data-v-5e719d2f],
  .grant-table .action-cell[data-v-5e719d2f],
  .grant-table .sso-action[data-v-5e719d2f] {
    width: 100%;
    padding: 0;
    justify-content: stretch;
    align-items: stretch;
}
.grant-table[data-v-5e719d2f] td.text-right .action-cell {
    justify-content: stretch;
}

  /* Buttons inside cards get a 44px-min tap target. The desktop rule sets
     `min-height: 3.75rem` (60px) and the global BaseReportTable rule pins
     `height: 24px !important`, so we force both here. The eligibility CTA
     uses an auto width with a sensible min-width so it looks like a normal
     button next to the rest of the card content rather than a full-bleed bar
     stretching edge-to-edge of the card. */
.grant-table[data-v-5e719d2f] .grant-eligibility-btn {
    width: auto !important;
    min-width: 180px !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 44px !important;
    padding: 0.65rem 1.25rem !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    flex-wrap: wrap;
    align-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    white-space: normal;
    overflow: visible !important;
    text-align: center;
    box-sizing: border-box;
}
.grant-table .action-cell[data-v-5e719d2f] .p-button,
  .grant-table .sso-action[data-v-5e719d2f] .p-button {
    width: auto !important;
    min-width: 180px !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 44px !important;
    padding: 0.65rem 1.25rem !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    flex-wrap: wrap;
    align-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    white-space: normal;
    overflow: visible !important;
    text-align: center;
    box-sizing: border-box;
}
.grant-table[data-v-5e719d2f] .grant-eligibility-btn {
    background: var(--go-eligibility-btn) !important;
    border: 1px solid var(--go-eligibility-btn) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 600 !important;
}
.grant-table[data-v-5e719d2f] .grant-eligibility-btn .grant-eligibility-btn-text,
  .grant-table[data-v-5e719d2f] .grant-eligibility-btn .p-button-label,
  .grant-table .action-cell[data-v-5e719d2f] .p-button .p-button-label,
  .grant-table .sso-action[data-v-5e719d2f] .p-button .p-button-label {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    width: auto !important;
    white-space: normal !important;
    text-align: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
}

  /* The Action column shows "Opens: <date>" when a program is not yet open;
     stretch + left-align inside the card cell so the date stack stays visible
     instead of being right-aligned off-screen on a 430px viewport. */
.grant-table[data-v-5e719d2f] td.text-right .program-not-open {
    align-items: flex-start;
    text-align: left;
    width: 100%;
}
.grant-table[data-v-5e719d2f] td.text-right .datetime-stack--align-end {
    align-items: flex-start;
    text-align: left;
}
}

/* ==========================================================
   Grant Opportunities — mobile cards only: readability, rhythm,
   and visual hierarchy (does not affect desktop table or scroll mode).
   ========================================================== */
@media (max-width: 640px) {
.grant-table.base-report-table.is-mobile-cards[data-v-5e719d2f] .p-datatable-tbody > tr {
    padding: 16px 18px !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06) !important;
}

  /* Drop desktop row-cell chrome (heavy borders + tall min-height) inside cards */
.grant-table.base-report-table.is-mobile-cards[data-v-5e719d2f] .p-datatable-tbody > tr > td {
    border-bottom: none !important;
    min-height: 0 !important;
    padding: 0 0 12px 0 !important;
}
.grant-table.base-report-table.is-mobile-cards[data-v-5e719d2f] .p-datatable-tbody > tr > td:last-child {
    padding-bottom: 0 !important;
}

  /* Program title: slightly larger, clearer separation from the first field */
.grant-table.base-report-table.is-mobile-cards[data-v-5e719d2f] .p-datatable-tbody > tr > td.is-mobile-primary {
    font-size: 1.0625rem !important;
    line-height: 1.35 !important;
    letter-spacing: -0.015em;
    padding: 0 0 12px 0 !important;
    margin-bottom: 4px !important;
    border-bottom: 1px solid #e8eaef !important;
}

  /* Field labels: tighter tracking, readable size, clearer separation from value */
.grant-table.base-report-table.is-mobile-cards[data-v-5e719d2f] .p-datatable-tbody > tr > td.is-mobile-meta::before {
    font-size: 10px !important;
    letter-spacing: 0.07em !important;
    color: #6b7280 !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin-bottom: 6px !important;
    padding-top: 0 !important;
}

  /* Value row: comfortable reading size + line length control */
.grant-table.base-report-table.is-mobile-cards[data-v-5e719d2f] .p-datatable-tbody > tr > td.is-mobile-meta {
    font-size: 15px !important;
    line-height: 1.45 !important;
    color: #1d1d1f !important;
    padding-top: 10px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #eef0f4 !important;
}
.grant-table.base-report-table.is-mobile-cards[data-v-5e719d2f] .p-datatable-tbody > tr > td.is-mobile-meta:last-child {
    border-bottom: none !important;
}

  /* Date stacks: left-aligned, consistent line rhythm (matches Action / deadlines) */
.grant-table.base-report-table.is-mobile-cards[data-v-5e719d2f] .datetime-stack {
    align-items: flex-start !important;
    text-align: left !important;
    line-height: 1.4 !important;
}
.grant-table.base-report-table.is-mobile-cards[data-v-5e719d2f] .datetime-stack__line {
    text-align: left !important;
}

  /* “Opens:” reads as a micro-label above the date */
.grant-table.base-report-table.is-mobile-cards[data-v-5e719d2f] .program-opens-label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    margin-bottom: 2px !important;
}
.grant-table.base-report-table.is-mobile-cards[data-v-5e719d2f] .grant-maker-cell,
  .grant-table.base-report-table.is-mobile-cards[data-v-5e719d2f] .program-name-cell {
    font-size: 15px !important;
    line-height: 1.45 !important;
}

  /* Eligibility CTA: align with value column, not stretched full row width */
.grant-table.base-report-table.is-mobile-cards[data-v-5e719d2f] .eligibility-cell {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding-top: 4px !important;
}
}

.no-access-container[data-v-e107a4f3] {
  display: flex;
  justify-content: center;
  align-items: center;
  /* Removed min-height: 100vh to prevent infinite height growth in iframe */
  min-height: 400px;
  background-color: #f8f9fa;
  padding: 2rem;
}
.no-access-content[data-v-e107a4f3] {
  max-width: 400px;
  text-align: center;
  background: white;
  padding: 3rem 2rem;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
