@import '_content/Blazored.Modal/Blazored.Modal.bundle.scp.css';

/* _content/Portal.Web/Components/Components/Dashboard/AccountTeamWidget.razor.rz.scp.css */
.account-team-content[b-6mnzi2pf9i] {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  gap: 1rem;
}

/* Header */
.account-team-header[b-6mnzi2pf9i] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 1rem;
  padding-bottom: 0.5rem;
  gap: 0.5rem;
}
.account-team-header h2[b-6mnzi2pf9i] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #2d3748;
  margin: 0;
}

/* List */
.account-team-members[b-6mnzi2pf9i] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* List Item */
.account-team-member[b-6mnzi2pf9i] {
  display: flex;
  align-items: center;
  background-color: #ebf2f5;
  border-radius: inherit;
  padding: 1rem 0.75rem;
  gap: 0.75rem;
}
.account-team-member-content[b-6mnzi2pf9i] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.account-team-member-content h3[b-6mnzi2pf9i] {
  font-size: 1rem;
  font-weight: 500;
  color: #2d3748;
  margin: 0;
}
.account-team-member-content p[b-6mnzi2pf9i] {
  font-size: 0.875rem;
  font-weight: 400;
  color: #363c49;
  margin: 0;
}
.account-team-member-content a[b-6mnzi2pf9i] {
  display: block;
  color: #1b8cf8;
  text-decoration: none;
  font-weight: 500;
  font-size: 1rem;
  cursor: pointer;
  word-wrap: break-word;
  overflow-wrap: break-word;
  transition: color 0.15s ease;
}
.account-team-member-content a:hover[b-6mnzi2pf9i] {
  color: #1b8cf8;
  text-decoration: underline;
}
.account-team-member-content a:focus[b-6mnzi2pf9i] {
  outline: none;
  color: #1b8cf8;
  text-decoration: underline;
}
.account-team-member-content a:active[b-6mnzi2pf9i] {
  color: #004085;
}

.email-parts[b-6mnzi2pf9i] {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  max-width: 100%;
}
.email-parts span[b-6mnzi2pf9i] {
  flex-shrink: 1;
  min-width: 0;
}

/* Empty */
.account-team-empty[b-6mnzi2pf9i] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0;
  gap: 0.5rem;
}
.account-team-empty p[b-6mnzi2pf9i] {
  font-size: 1rem;
  color: #2d3748;
  margin: 0;
}
.account-team-empty .k-icon[b-6mnzi2pf9i] {
  flex-shrink: 0;
  color: #1b8cf8;
}
.account-team-empty[b-6mnzi2pf9i]  path {
  fill: currentColor;
  cursor: default;
}

@media (max-width: 1024px) {
  .account-team-header[b-6mnzi2pf9i] {
    padding-right: 0.875rem;
  }
  .account-team-header h2[b-6mnzi2pf9i] {
    font-size: 1.125rem;
  }
}

@media (max-width: 768px) {
  .account-team-member[b-6mnzi2pf9i] {
    padding: 0.75rem 0.5rem;
    gap: 0.5rem;
  }
  .account-team-member-content[b-6mnzi2pf9i] {
    gap: 0.25rem;
  }
  .account-team-member-content h4[b-6mnzi2pf9i],
  .account-team-member-content a[b-6mnzi2pf9i] {
    font-size: 0.875rem;
  }
  .account-team-member-content p[b-6mnzi2pf9i] {
    font-size: 0.75rem;
  }
}
/* _content/Portal.Web/Components/Components/Dashboard/ActionItemsWidget.razor.rz.scp.css */
.action-items-content[b-2vkix824tw] {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  gap: 1rem;
}

/* Header */
.action-items-header[b-2vkix824tw] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 1rem;
  padding-bottom: 0.5rem;
  gap: 0.5rem;
}
.action-items-header h2[b-2vkix824tw] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #2d3748;
  margin: 0;
}

/* List */
.action-items-list[b-2vkix824tw] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* List Item */
.action-item[b-2vkix824tw] {
  border-radius: inherit;
  border: 1px solid #1b8cf8;
  overflow: hidden;
}

/* List Item Header */
.action-item-header[b-2vkix824tw] {
  display: flex;
  background-color: #ebf2f5;
  padding: 0.75rem 1rem;
  gap: 0.5rem;
}
.action-item-title[b-2vkix824tw] {
  display: flex;
  align-items: center;
  margin-right: auto;
  gap: 0.5rem;
}
.action-item-title h3[b-2vkix824tw] {
  font-size: 1rem;
  font-weight: 500;
  color: #2d3748;
  margin: 0;
}
.action-item-subtitle[b-2vkix824tw] {
  display: flex;
  align-items: center;
  margin-left: auto;
  gap: 0.375rem;
}
.action-item-subtitle p[b-2vkix824tw] {
  font-size: 0.75rem;
  font-weight: 500;
  color: #2d3748;
  margin: 0;
}

/* List Item Content */
.action-item-content[b-2vkix824tw] {
  display: flex;
  padding: 0.75rem 1rem;
  gap: 0.5rem;
}
.action-item-details[b-2vkix824tw] {
  flex-grow: 1;
  margin-right: auto;
}
.action-item-details p[b-2vkix824tw] {
  font-size: 0.875rem;
  font-weight: 400;
  color: #2d3748;
  margin: 0;
}
.action-item-action[b-2vkix824tw] {
  margin-left: auto;
}

/* Dot */
.dot[b-2vkix824tw] {
  display: inline-block;
  height: 8px;
  width: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  outline: none;
}
.dot.invalid[b-2vkix824tw] {
  background-color: #979797;
}
.dot.past[b-2vkix824tw] {
  background-color: #ff0000;
}
.dot.future[b-2vkix824tw] {
  background-color: #00c9a2;
}

/* Empty */
.action-items-empty[b-2vkix824tw] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0;
  gap: 0.5rem;
}
.action-items-empty h3[b-2vkix824tw] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #2d3748;
  margin: 0;
}
.action-items-empty p[b-2vkix824tw] {
  font-size: 1rem;
  color: #2d3748;
  margin: 0;
}
.action-items-empty .k-icon[b-2vkix824tw] {
  flex-shrink: 0;
  color: #1b8cf8;
}
.action-items-empty[b-2vkix824tw]  path {
  fill: currentColor;
  cursor: default;
}

@media (max-width: 1024px) {
  .action-items-header[b-2vkix824tw] {
    padding-right: 0.875rem;
  }
  .action-items-header h2[b-2vkix824tw] {
    font-size: 1.125rem;
  }
}

@media (max-width: 768px) {
  .action-item-title h3[b-2vkix824tw] {
    font-size: 0.875rem;
  }
  .action-item-details p[b-2vkix824tw] {
    font-size: 0.75rem;
  }
}
/* _content/Portal.Web/Components/Components/Dashboard/PortfolioSummaryWidget.razor.rz.scp.css */
.portfolio-summary-content[b-j74v859xx2] {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  gap: 1rem;
}

/* Header */
.portfolio-summary-header[b-j74v859xx2] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 1rem;
  padding-bottom: 0.5rem;
  gap: 0.5rem;
}
.portfolio-summary-header h2[b-j74v859xx2] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #2d3748;
  margin: 0;
}

/* Loading */
.portfolio-summary-loading[b-j74v859xx2] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0;
  font-size: 1rem;
}

/* Grid Layout */
.portfolio-summary-stat-row[b-j74v859xx2] {
  display: flex;
  gap: 1rem;
  width: 100%;
}

.portfolio-summary-stat-content[b-j74v859xx2] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
}
.portfolio-summary-stat-label[b-j74v859xx2] {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  color: #020244;
  margin: 0;
}
.portfolio-summary-stat-value[b-j74v859xx2] {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
  color: #2d3748;
  margin: 0;
  word-break: break-word;
}

.portfolio-summary-breakdown[b-j74v859xx2] {
  display: flex;
  gap: 0.5rem;
}
.portfolio-summary-breakdown-content[b-j74v859xx2] {
  display: flex;
  flex-direction: column;
  background-color: #ebf2f5;
  border-radius: inherit;
  padding: 0.5rem;
  gap: 0.5rem;
}
.portfolio-summary-breakdown-label[b-j74v859xx2] {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  color: #020244;
}
.portfolio-summary-breakdown-value[b-j74v859xx2] {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
  color: #020244;
}

@media (max-width: 1024px) {
  .portfolio-summary-header[b-j74v859xx2] {
    padding-right: 0.875rem;
  }
  .portfolio-summary-header h2[b-j74v859xx2] {
    font-size: 1.125rem;
  }

  .portfolio-summary-stat-grid[b-j74v859xx2] {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .portfolio-summary-stat-content[b-j74v859xx2] {
    padding: 0.75rem;
  }
  .portfolio-summary-stat-label[b-j74v859xx2] {
    font-size: 0.875rem;
  }
  .portfolio-summary-stat-value[b-j74v859xx2] {
    font-size: 1rem;
  }

  .portfolio-summary-breakdown-label[b-j74v859xx2] {
    font-size: 0.75rem;
  }
  .portfolio-summary-breakdown-value[b-j74v859xx2] {
    font-size: 1.1rem;
  }
}
/* _content/Portal.Web/Components/Components/Facilities components/FacilityDetails.razor.rz.scp.css */
/* ===================================================================
   FacilityDetails (expandable row program details) – scoped styles
   =================================================================== */

[b-yx5bxsuxxe] .facility-details-card .facility-details-grid tr:hover,
[b-yx5bxsuxxe] .facility-details-card .facility-details-grid th:hover,
[b-yx5bxsuxxe] .facility-details-card .facility-details-grid td:hover {
    background-color: transparent !important;
}

[b-yx5bxsuxxe] .facility-details-card .facility-details-grid {
    width: 100%;
    border-collapse: collapse;
}

[b-yx5bxsuxxe] .facility-details-card .facility-details-grid th,
[b-yx5bxsuxxe] .facility-details-card .facility-details-grid td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.875rem;
}

[b-yx5bxsuxxe] .facility-details-card .facility-details-grid th {
    font-weight: 600;
    color: #64748b;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

[b-yx5bxsuxxe] .facility-details-card .facility-details-grid td {
    color: #2d3748;
}
/* _content/Portal.Web/Components/Components/Facilities components/FacilityDetailsView.razor.rz.scp.css */
/* ===================================================================
   FacilityDetailsView – modern detail layout
   =================================================================== */

/* --- Layout --- */

.fd-layout[b-up26375gej] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* --- Shared Section Elements --- */

.fd-section[b-up26375gej] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.fd-section-header[b-up26375gej] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.fd-section-title-row[b-up26375gej] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-up26375gej] .fd-section-icon {
    color: #94a3b8;
    width: 1rem;
    height: 1rem;
}

.fd-section-title[b-up26375gej] {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
}

/* Edit / Manage ghost button */
[b-up26375gej] .fd-edit-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.65rem;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    background: transparent;
    white-space: nowrap;
    transition: all 150ms ease;
}

[b-up26375gej] .fd-edit-btn:hover {
    color: #1b8cf8;
    border-color: #1b8cf8;
    background: #f0f7ff;
}

/* "Add Asset" soft pill — tinted, fully-rounded trigger (Add Asset Button v2 spec) */
.fd-add-asset-pill[b-up26375gej] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1;
    color: #2358c9;
    background: #eaf1fe;
    border: 1px solid #d8e5fd;
    padding: 9px 18px;
    border-radius: 999px;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.fd-add-asset-pill:hover[b-up26375gej] {
    background: #d8e5fd;
    border-color: #c6d8fc;
}

.fd-add-asset-pill:active[b-up26375gej] {
    background: #c6d8fc;
}

.fd-add-asset-pill:focus-visible[b-up26375gej] {
    outline: none;
    box-shadow: 0 0 0 3px #d8e5fd;
    border-color: #2f6fed;
}

/* --- Info Tile Grid --- */

.fd-info-grid[b-up26375gej] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.625rem;
}

.fd-tile[b-up26375gej] {
    background: #f8f9fb;
    border: 1px solid #eef1f6;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}

.fd-tile:hover[b-up26375gej] {
    border-color: #dde3ec;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.fd-tile-label[b-up26375gej] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
    white-space: nowrap;
}

.fd-tile-value[b-up26375gej] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1e293b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* --- Two-Column Layout: (Program + Enrollment) on the left, Assets on the right --- */

.fd-two-col[b-up26375gej] {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 1.5rem;
    align-items: start;
}

.fd-two-col.fd-two-col-stacked[b-up26375gej] {
    grid-template-columns: 1fr;
}

/* Left column wraps Program + Enrollment Values cards stacked vertically */
.fd-left-stack[b-up26375gej] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    min-width: 0;
}

/* --- Program Card (accent left border) --- */

.fd-program-card[b-up26375gej] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    display: flex;
    overflow: hidden;
}

.fd-program-accent[b-up26375gej] {
    width: 4px;
    background: linear-gradient(180deg, #1b8cf8 0%, #6366f1 100%);
    flex-shrink: 0;
}

.fd-program-inner[b-up26375gej] {
    flex: 1;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}

/* Program stat blocks (big numbers) */
.fd-program-stats[b-up26375gej] {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: #f8f9fb;
    border-radius: 10px;
    border: 1px solid #eef1f6;
    overflow: hidden;
}

.fd-program-stat-block[b-up26375gej] {
    flex: 1;
    padding: 0.85rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.fd-program-stat-value[b-up26375gej] {
    font-size: 1.35rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fd-program-stat-label[b-up26375gej] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.fd-program-stat-divider[b-up26375gej] {
    width: 1px;
    background: #e2e8f0;
    margin: 0.5rem 0;
    flex-shrink: 0;
}

/* Program name badge */
.fd-program-name-badge[b-up26375gej] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    padding: 0.2rem 0.65rem;
    border-radius: 6px;
}

[b-up26375gej] .fd-program-dropdown {
    max-width: 200px;
}

/* Program metadata rows */
.fd-program-meta[b-up26375gej] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.fd-program-meta-item[b-up26375gej] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 0.45rem 0;
    border-bottom: 1px solid #f5f5f5;
    gap: 0.75rem;
}

.fd-program-meta-item:last-child[b-up26375gej] {
    border-bottom: none;
}

.fd-meta-label[b-up26375gej] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #94a3b8;
    white-space: nowrap;
    flex-shrink: 0;
}

.fd-meta-value[b-up26375gej] {
    font-size: 0.85rem;
    color: #475569;
    text-align: right;
    word-break: break-word;
}

/* Empty state */
.fd-empty-text[b-up26375gej] {
    color: #94a3b8;
    padding: 1.5rem 0;
    font-size: 0.85rem;
    text-align: center;
}

/* Request capacity link */
.fd-program-actions[b-up26375gej] {
    border-top: 1px solid #f0f0f0;
    padding-top: 0.75rem;
}

[b-up26375gej] .fd-capacity-link {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #1b8cf8;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0.2rem 0;
    transition: color 150ms ease;
}

[b-up26375gej] .fd-capacity-link:hover {
    color: #1570cd;
}

/* --- Assets Card --- */

.fd-assets-card[b-up26375gej] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.fd-assets-section-header[b-up26375gej] {
    padding: 1.25rem 1.5rem 0;
}

/* Asset tab bar (count above label) */
.fd-asset-tabs[b-up26375gej] {
    display: flex;
    gap: 0;
    border-bottom: 2px solid #e2e8f0;
    padding: 0 1.5rem;
}

.fd-asset-tab[b-up26375gej] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 0.75rem 0.5rem;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    cursor: pointer;
    transition: all 150ms ease;
    min-width: 0;
}

.fd-asset-tab:hover:not(:disabled)[b-up26375gej] {
    background: #f8f9fb;
}

.fd-asset-tab-active[b-up26375gej] {
    border-bottom-color: #1b8cf8;
}

.fd-asset-tab-empty[b-up26375gej] {
    opacity: 0.4;
    cursor: default;
}

.fd-asset-tab-count[b-up26375gej] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #2d3748;
    line-height: 1;
}

.fd-asset-tab-active .fd-asset-tab-count[b-up26375gej] {
    color: #1b8cf8;
}

.fd-asset-tab-empty .fd-asset-tab-count[b-up26375gej] {
    color: #cbd5e1;
}

.fd-asset-tab-label[b-up26375gej] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    white-space: nowrap;
}

.fd-asset-tab-active .fd-asset-tab-label[b-up26375gej] {
    color: #1b8cf8;
}

.fd-asset-tab-empty .fd-asset-tab-label[b-up26375gej] {
    color: #cbd5e1;
}

/* Asset Grid Container */
.fd-asset-grid-container[b-up26375gej] {
    padding: 0;
    width: 100%;
}

.fd-asset-grid-container[b-up26375gej]  h5 {
    display: none;
}

.fd-asset-grid-container[b-up26375gej]  .k-grid .k-grid-header {
    background-color: #f8f9fa !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.fd-asset-grid-container[b-up26375gej]  .k-table-thead,
.fd-asset-grid-container[b-up26375gej]  .k-table-header,
.fd-asset-grid-container[b-up26375gej]  .k-table-group-sticky-header {
    background-color: #f8f9fa !important;
    font-weight: 600;
}

.fd-asset-grid-container[b-up26375gej]  .k-grid-content .k-grid-table td,
.fd-asset-grid-container[b-up26375gej]  .k-grid .k-table-td {
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 1.25rem 1rem;
}

.fd-asset-grid-container[b-up26375gej]  .k-grid-content tr:hover {
    background-color: #f8f9fa !important;
}

/* Empty Assets State */
.fd-empty-assets[b-up26375gej] {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3rem 1.25rem;
}

.fd-empty-assets-content[b-up26375gej] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    text-align: center;
}

.fd-empty-assets-icon[b-up26375gej] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
}

.fd-empty-assets-title[b-up26375gej] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #475569;
}

.fd-empty-assets-desc[b-up26375gej] {
    font-size: 0.8rem;
    color: #94a3b8;
    max-width: 280px;
}

[b-up26375gej] .fd-add-asset-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 1rem;
    border-radius: 8px;
    border: none;
    color: white;
    background: #1b8cf8;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background 150ms ease;
}

[b-up26375gej] .fd-add-asset-cta:hover {
    background: #1570cd;
}

/* --- Responsive: 1024px --- */

@media (max-width: 1024px) {
    .fd-two-col[b-up26375gej] {
        grid-template-columns: 1fr;
    }

    .fd-info-grid[b-up26375gej] {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* --- Responsive: 768px --- */

@media (max-width: 768px) {
    .fd-info-grid[b-up26375gej] {
        grid-template-columns: 1fr;
    }

    .fd-asset-tabs[b-up26375gej] {
        padding: 0 0.75rem;
    }

    .fd-assets-section-header[b-up26375gej] {
        padding: 1rem 1rem 0;
    }

    .fd-program-inner[b-up26375gej] {
        padding: 1rem;
    }

    .fd-program-stats[b-up26375gej] {
        flex-direction: column;
    }

    .fd-program-stat-divider[b-up26375gej] {
        width: 100%;
        height: 1px;
        margin: 0;
    }
}

/* --- Enrollment Values Card (variant of fd-program-card) --- */

.fd-enrollment-accent[b-up26375gej] {
    background: linear-gradient(180deg, #10b981 0%, #059669 100%);
}
/* _content/Portal.Web/Components/Components/Facilities components/MeterData.razor.rz.scp.css */
.meter-data-container[b-ve99wbxzc4] {
    padding: 1rem;
}

.meter-data-loading[b-ve99wbxzc4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 600px;
    padding: 2rem;
    gap: 1rem;
}

.meter-data-message[b-ve99wbxzc4] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 4px;
}

.meter-data-message.info-message[b-ve99wbxzc4] {
    background-color: var(--info-bg, #e8f4fd);
    color: var(--info-color, #0d6efd);
}

.meter-data-message.error-message[b-ve99wbxzc4] {
    background-color: var(--error-bg, #fdecea);
    color: var(--error-color, #dc3545);
}

.meter-chart-container[b-ve99wbxzc4] {
    min-height: 600px;
}

.meter-chart-wrapper[b-ve99wbxzc4] {
    position: relative;
    min-height: 600px;
}

/* The theater chart sizes itself to the viewport, so the 600px floor would outgrow a short window.
   320px matches THEATER_MIN_HEIGHT in the React chart. */
.meter-data-container.is-theater .meter-chart-container[b-ve99wbxzc4],
.meter-data-container.is-theater .meter-chart-wrapper[b-ve99wbxzc4] {
    min-height: 320px;
}

.meter-chart-loading-overlay[b-ve99wbxzc4] {
    position: absolute;
    inset: 0;
    background: #ffffff;
    z-index: 1;
}

/* Live dispatch event strip (Dispatch.EnableLiveEventUsage) — CPower dispatch palette. */
.mds-strip[b-ve99wbxzc4] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    max-width: 100%;
    padding: 10px 16px;
    margin-bottom: 12px;
    border-radius: 10px;
    border: 1px solid #F3C7B4;
    background: #FCF1E6;
    color: #2A1500;
    font-family: 'Public Sans', system-ui, sans-serif;
}

.mds-strip.is-live[b-ve99wbxzc4] {
    border-color: #16A34A;
    background: #E7F5EC;
    color: #14532D;
}

.mds-badge[b-ve99wbxzc4] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 800;
    font-size: 14px;
    white-space: nowrap;
}

.mds-detail[b-ve99wbxzc4] {
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mds-countdown[b-ve99wbxzc4] {
    font-size: 13px;
    font-weight: 600;
    color: #B45309;
    white-space: nowrap;
}

.mds-strip.is-live .mds-countdown[b-ve99wbxzc4] {
    color: #16A34A;
}
/* _content/Portal.Web/Components/Components/Facilities components/Scheduling.razor.rz.scp.css */
/* ========================================
   Layout & Container
   ======================================== */

.main-layout[b-70v82sq7je] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 0.75rem;
}

.tables-row[b-70v82sq7je] {
  display: flex;
}

.table-cards-row[b-70v82sq7je] {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
}

/* ========================================
   Table Cards - Base
   ======================================== */

.table-card[b-70v82sq7je] {
  display: flex;
  flex-direction: column;
  border-radius: 0.75rem;
  border-style: solid;
  border-width: 1px;
  gap: 0.5rem;
}

/* Time Table Card - Left Column */
.tables-row > .table-card[b-70v82sq7je] {
  background-color: transparent;
  border-color: transparent;
  border-right-width: 0;
  padding: 0.5rem 0;
}

/* Account & Programs Cards */
.table-cards-row > .table-card[b-70v82sq7je] {
  background-color: #ffffff;
  border-color: #d1d5db;
  padding: 0.625rem;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: box-shadow 150ms ease-in-out;
}

.table-cards-row > .table-card:hover[b-70v82sq7je] {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

/* ========================================
   Table Card Header
   ======================================== */

.table-card-header[b-70v82sq7je] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 28px;
  gap: 1rem;
}

.table-card-title[b-70v82sq7je] {
  display: inline-flex;
  align-items: center;
  background: #f4f4f5;
  border: 1px solid #e0e0e0;
  height: 28px;
  padding: 0 0.625rem;
  border-radius: 14px;
}

.table-card-title h3[b-70v82sq7je] {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: #27272a;
}

/* ========================================
   Table Card Footer
   ======================================== */

.table-card[b-70v82sq7je]  .table-footer-label {
  color: #ffffff;
  font-weight: 700;
  padding: 0.5rem;
}

.table-card[b-70v82sq7je]  .table-footer-value {
  font-weight: 700;
}

/* Account Table Footer - Specific Color */
.table-cards-row .table-card:first-child[b-70v82sq7je]  > .cp-table-container {
  border-color: #677690 !important;
}

.table-cards-row .table-card:first-child[b-70v82sq7je]  .table-footer-label {
  background-color: #677690;
}

/* ========================================
   Programs Section
   ======================================== */

.programs-tables-row[b-70v82sq7je] {
  display: flex;
  gap: 0.5rem;
}

/* Program Color Theming - Cycle through 3 colors */

/* Blue Theme - Every 3n+1 */
.programs-tables-row[b-70v82sq7je]  > :nth-child(3n + 1) {
  border-color: #1b8cf8 !important;
}

.programs-tables-row[b-70v82sq7je]  > :nth-child(3n + 1) .header-title .dot,
.programs-tables-row[b-70v82sq7je]  > :nth-child(3n + 1) .table-footer-label {
  background-color: #1b8cf8;
}

/* Teal Theme - Every 3n+2 */
.programs-tables-row[b-70v82sq7je]  > :nth-child(3n + 2) {
  border-color: #049b7e !important;
}

.programs-tables-row[b-70v82sq7je]  > :nth-child(3n + 2) .header-title .dot,
.programs-tables-row[b-70v82sq7je]  > :nth-child(3n + 2) .table-footer-label {
  background-color: #049b7e;
}

/* Orange Theme - Every 3n+3 */
.programs-tables-row[b-70v82sq7je]  > :nth-child(3n + 3) {
  border-color: #ff8500 !important;
}

.programs-tables-row[b-70v82sq7je]  > :nth-child(3n + 3) .header-title .dot,
.programs-tables-row[b-70v82sq7je]  > :nth-child(3n + 3) .table-footer-label {
  background-color: #ff8500;
}

/* ========================================
   Header Elements
   ======================================== */

.header-title[b-70v82sq7je] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.dot[b-70v82sq7je] {
  display: inline-block;
  height: 8px;
  width: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  outline: none;
}

/* ========================================
   Time Column Cell
   ======================================== */

.time-cell-content[b-70v82sq7je] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  color: #020244;
}

.time-cell-content[b-70v82sq7je]  .cp-icon {
  color: #9ca3af;
  transition: color 150ms ease-in-out;
}

.time-cell-content:hover[b-70v82sq7je]  .cp-icon {
  color: #4b5563;
}

/* ========================================
   Loading & Message States
   ======================================== */

.scheduling-loading[b-70v82sq7je] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
  font-size: 1rem;
}

.scheduling-message[b-70v82sq7je] {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 1rem;
  padding: 0.875rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.scheduling-message-icon[b-70v82sq7je] {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin-top: 1px;
}

.scheduling-message-text[b-70v82sq7je] {
  padding: 0;
}

/* Info Message */
.scheduling-message.info-message[b-70v82sq7je] {
  color: #1e40af;
  background-color: #e3f2fd;
  border: 1px solid #bbdefb;
}

.scheduling-message.info-message .scheduling-message-icon[b-70v82sq7je] {
  color: #1b8cf8;
}

/* Error Message */
.scheduling-message.error-message[b-70v82sq7je] {
  color: #991b1b;
  background-color: #ffebee;
  border: 1px solid #ffcdd2;
}

.scheduling-message.error-message .scheduling-message-icon[b-70v82sq7je] {
  color: #dc2626;
}

/* ========================================
   Outage Warning Banner
   ======================================== */

.outage-banner[b-70v82sq7je] {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0.75rem 0;
  padding: 0.625rem 0.875rem 0.75rem;
  background-color: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 0.5rem;
  color: #92400e;
}

.outage-banner-header[b-70v82sq7je] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.outage-banner-icon[b-70v82sq7je] {
  flex-shrink: 0;
  color: #b45309;
  display: block;
}

.outage-banner-title[b-70v82sq7je] {
  flex: 1;
  min-width: 0;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.01em;
  color: #78350f;
}

.outage-banner-body[b-70v82sq7je] {
  font-size: 0.875rem;
  line-height: 1.5;
  padding-left: 1.75rem; /* aligns with title text after icon */
}

.outage-banner-message + .outage-banner-message[b-70v82sq7je] {
  margin-top: 0.25rem;
}

.outage-banner-dismiss[b-70v82sq7je] {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  border-radius: 0.375rem;
  background: transparent;
  color: #92400e;
  cursor: pointer;
  transition: background-color 150ms ease-in-out;
}

.outage-banner-dismiss:hover[b-70v82sq7je] {
  background-color: rgba(146, 64, 14, 0.1);
}

/* ========================================
   Offer Inline Editing
   ======================================== */

.offer-display-cell[b-70v82sq7je] {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  cursor: pointer;
}

.offer-display-cell .offer-pencil-icon[b-70v82sq7je] {
  opacity: 0;
  transition: opacity 150ms ease-in-out;
  color: #9ca3af;
}

.offer-display-cell:hover .offer-pencil-icon[b-70v82sq7je] {
  opacity: 1;
  color: #6b7280;
}

.offer-display-cell-no-display[b-70v82sq7je] {
  display: none;
}

.offer-edit-wrapper[b-70v82sq7je] {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
}

.offer-edit-cell[b-70v82sq7je] {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.offer-cascade-label[b-70v82sq7je] {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.7rem;
  color: #6b7280;
  cursor: pointer;
  user-select: none;
}

.schedule-grid-empty[b-70v82sq7je] {
  padding: 2rem;
  text-align: center;
  color: #6b7280;
  font-size: 0.875rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
}

/* ========================================
   Responsive
   ======================================== */

@media (max-width: 768px) {

  .scheduling-message[b-70v82sq7je],
  .scheduling-loading[b-70v82sq7je] {
    font-size: 0.875rem;
  }

  .scheduling-message[b-70v82sq7je] {
    padding: 0.75rem;
  }
}
/* _content/Portal.Web/Components/Components/Outage components/Outages.razor.rz.scp.css */
/* Table card wrapper */
.outage-table-card[b-ai53w0p6lj] {
    margin-top: 1rem;
    border: 1px solid var(--color-border, #dddde4);
    border-radius: var(--radius-xl, 0.75rem);
    overflow: hidden;
    box-shadow: var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
    background: var(--color-white, #ffffff);
}

/* Input styling (moved from inline <style>) */
[b-ai53w0p6lj] .modern-input .k-input-inner {
    border-radius: 3px;
    border: 1px solid #d1d5db;
    background: white;
    transition: all 0.2s ease;
    font-size: 0.75rem;
    padding: 0.3rem 0.5rem;
    height: 1.8rem;
}

[b-ai53w0p6lj] .modern-input .k-input-inner:focus {
    border-color: var(--color-primary-500, #1b8cf8);
    box-shadow: 0 0 0 1px rgba(27, 140, 248, 0.15);
    outline: none;
}

[b-ai53w0p6lj] .modern-input.readonly {
    background: #f7fafc;
    color: #718096;
    cursor: not-allowed;
}

.calendar-button[b-ai53w0p6lj] {
    background-color: white !important;
    color: black !important;
}

/* Confirmation message */
.outage-saved-confirm[b-ai53w0p6lj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 2rem 1.5rem;
    text-align: center;
}

.confirm-icon[b-ai53w0p6lj] {
    margin-bottom: 0.25rem;
}

.confirm-heading[b-ai53w0p6lj] {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--color-neutral-800, #27272a);
}

.confirm-subtext[b-ai53w0p6lj] {
    margin: 0;
    font-size: 0.875rem;
    color: var(--color-neutral-500, #71717a);
}

.confirm-close-btn[b-ai53w0p6lj] {
    margin-top: 0.75rem;
    padding: 0.5rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: white;
    background-color: var(--color-primary-500, #1b8cf8);
    border: none;
    border-radius: var(--radius-lg, 0.5rem);
    cursor: pointer;
    transition: background-color 150ms ease;
}

.confirm-close-btn:hover[b-ai53w0p6lj] {
    background-color: var(--color-primary-600, #1570cd);
}
/* _content/Portal.Web/Components/Components/Outage components/OutageTable.razor.rz.scp.css */
/* Empty state */
.outage-empty-state[b-gb18464z9j] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    padding: 2rem 1rem;
}

.outage-empty-heading[b-gb18464z9j] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #4a5568;
}

.outage-empty-subtext[b-gb18464z9j] {
    font-size: 0.8125rem;
    color: #a0aec0;
}

/* Row action chevron */
.outage-row-action[b-gb18464z9j] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    background: none;
    border: none;
    border-radius: var(--radius-md, 0.375rem);
    color: var(--color-primary-500, #1b8cf8);
    cursor: pointer;
    transition: background-color 150ms ease, color 150ms ease;
}

.outage-row-action:hover[b-gb18464z9j] {
    background-color: var(--color-primary-50, #e3f2fd);
    color: var(--color-primary-600, #1570cd);
}
/* _content/Portal.Web/Components/Components/Performance/EnerwiseProgramSelector.razor.rz.scp.css */
.enerwise-program-selector[b-trw1by00wi] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.page-header-row[b-trw1by00wi] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.page-header-left[b-trw1by00wi] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.page-title-modern[b-trw1by00wi] {
    font-size: 2rem;
    font-weight: 700;
    color: #2d3748;
    margin: 0;
    font-family: 'Public Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.enerwise-program-selector-subtitle[b-trw1by00wi] {
    font-size: 0.875rem;
    color: #64748b;
    line-height: 1.4;
    margin: 0;
    max-width: 60ch;
}

.enerwise-program-grid[b-trw1by00wi] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

@media (max-width: 768px) {
    .enerwise-program-grid[b-trw1by00wi] {
        grid-template-columns: 1fr;
    }
}

.enerwise-program-card[b-trw1by00wi] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.enerwise-program-card:hover[b-trw1by00wi] {
    border-color: #1b8cf8;
    box-shadow: 0 4px 10px rgba(27, 140, 248, 0.08);
    transform: translateY(-1px);
}

.enerwise-program-card:focus-visible[b-trw1by00wi] {
    outline: 2px solid #1b8cf8;
    outline-offset: 2px;
}

.enerwise-program-card-header[b-trw1by00wi] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.enerwise-program-card-heading[b-trw1by00wi] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    min-width: 0;
}

/* gold ISONE marker (per design — not the IsoSummaryCard blue accent) */
.enerwise-program-card-dot[b-trw1by00wi] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #ffc107;
    flex-shrink: 0;
    margin-top: 0.35rem;
}

.enerwise-program-card-title[b-trw1by00wi] {
    font-size: 1.125rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.25;
    margin: 0;
}

.enerwise-program-card-cta[b-trw1by00wi] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    height: 30px;
    padding: 0 0.875rem;
    border: 1px solid #1b8cf8;
    border-radius: 6px;
    background: white;
    color: #1b8cf8;
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
    transition: background 150ms ease, color 150ms ease;
}

.enerwise-program-card:hover .enerwise-program-card-cta[b-trw1by00wi] {
    background: #1b8cf8;
    color: white;
}

.enerwise-program-card-stats[b-trw1by00wi] {
    display: inline-flex;
    align-self: flex-start;
    align-items: stretch;
    gap: 0;
    background: #f8f9fb;
    border-radius: 10px;
    padding: 0.1rem;
    border: 1px solid #eef1f6;
}

.enerwise-program-stat[b-trw1by00wi] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0.7rem 1.1rem;
}

.enerwise-program-stat-label[b-trw1by00wi] {
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    white-space: nowrap;
}

.enerwise-program-stat-value[b-trw1by00wi] {
    font-size: 1.375rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.1;
    white-space: nowrap;
}
/* _content/Portal.Web/Components/Components/Performance/ExportDropdown.razor.rz.scp.css */
.export-dropdown[b-w6hy01t737] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    position: relative;
    /* Make narrower to better match dropdown items */
    min-width: 140px;
    width: auto;
}

/* GLOBAL OVERRIDE - Use CSS custom properties */
.export-dropdown[b-w6hy01t737] {
    --k-button-bg: #0078d4;
    --k-button-border: #0078d4;
    --k-button-text: white;
}

/* ULTRA AGGRESSIVE OVERRIDE - TARGET ALL SPECIFIC TELERIK CLASSES */
.export-dropdown :deep(.telerik-blazor.k-button.k-menu-button.btn-primary.export-btn.k-button-solid.k-rounded-md.k-button-md.k-button-solid-base)[b-w6hy01t737],
.export-dropdown :deep(.telerik-blazor.k-button.k-menu-button.btn-primary.export-btn.k-button-solid.k-rounded-md.k-button-md.k-button-solid-base:hover)[b-w6hy01t737],
.export-dropdown :deep(.telerik-blazor.k-button.k-menu-button.btn-primary.export-btn.k-button-solid.k-rounded-md.k-button-md.k-button-solid-base:active)[b-w6hy01t737],
.export-dropdown :deep(.telerik-blazor.k-button.k-menu-button.btn-primary.export-btn.k-button-solid.k-rounded-md.k-button-md.k-button-solid-base:focus)[b-w6hy01t737],
.export-dropdown :deep(.k-button.k-menu-button.export-btn)[b-w6hy01t737],
.export-dropdown :deep(.k-button.k-menu-button.export-btn:hover)[b-w6hy01t737],
.export-dropdown :deep(.k-button.k-menu-button.export-btn:active)[b-w6hy01t737],
.export-dropdown :deep(.k-button.k-menu-button.export-btn:focus)[b-w6hy01t737],
.export-dropdown :deep(.k-button.export-btn)[b-w6hy01t737],
.export-dropdown :deep(.k-button.export-btn:hover)[b-w6hy01t737],
.export-dropdown :deep(.k-button.export-btn:active)[b-w6hy01t737],
.export-dropdown :deep(.k-button.export-btn:focus)[b-w6hy01t737],
.export-dropdown :deep(.export-btn)[b-w6hy01t737],
.export-dropdown :deep(.export-btn:hover)[b-w6hy01t737],
.export-dropdown :deep(.export-btn:active)[b-w6hy01t737],
.export-dropdown :deep(.export-btn:focus)[b-w6hy01t737] {
    background: #0078d4 !important;
    background-color: #0078d4 !important;
    background-image: none !important;
    border: 1px solid #0078d4 !important;
    border-color: #0078d4 !important;
    color: white !important;
    box-shadow: none !important;
    outline: none !important;
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
    white-space: nowrap !important;
    transition: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
}

/* Even more specific disabled state */
.export-dropdown :deep(.export-btn:disabled)[b-w6hy01t737],
.export-dropdown :deep(.k-button.export-btn:disabled)[b-w6hy01t737],
.export-dropdown :deep(.k-button.export-btn.k-disabled)[b-w6hy01t737] {
    background: #0078d4 !important;
    background-color: #0078d4 !important;
    border-color: #0078d4 !important;
    color: white !important;
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

/* Exporting button animations */
.exporting-btn[b-w6hy01t737] {
    animation: pulse-b-w6hy01t737 2s infinite;
}

.exporting-btn :deep(.k-svg-icon)[b-w6hy01t737] {
    animation: rotate-b-w6hy01t737 2s linear infinite;
}

@keyframes rotate-b-w6hy01t737 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@keyframes pulse-b-w6hy01t737 {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.02);
        opacity: 0.9;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Animated dots */
.dots[b-w6hy01t737] {
    display: inline-flex;
    margin-left: 2px;
}

.dot[b-w6hy01t737] {
    animation: blink-b-w6hy01t737 1.4s infinite;
    opacity: 0;
}

.dot1[b-w6hy01t737] {
    animation-delay: 0s;
}

.dot2[b-w6hy01t737] {
    animation-delay: 0.2s;
}

.dot3[b-w6hy01t737] {
    animation-delay: 0.4s;
}

@keyframes blink-b-w6hy01t737 {
    0%, 80%, 100% {
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
}

.exporting-text[b-w6hy01t737] {
    display: flex;
    align-items: center;
}

/* Dropdown item styling for icons and text */
.export-dropdown :deep(.k-item)[b-w6hy01t737] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
}

.export-dropdown :deep(.k-item .k-svg-icon)[b-w6hy01t737] {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    color: #666;
    margin-right: 8px; /* Add space between icon and text */
}

/* Style the text spans */
.export-dropdown :deep(.export-item-text)[b-w6hy01t737] {
    margin-left: 8px; /* Additional spacing for text */
}

/* Remove hover effects - keep icons consistent */
.export-dropdown :deep(.k-item:hover .k-svg-icon)[b-w6hy01t737],
.export-dropdown :deep(.k-item .k-svg-icon)[b-w6hy01t737] {
    color: #666 !important; /* Always same color */
}
/* _content/Portal.Web/Components/Components/Performance/IsoSummaryCard.razor.rz.scp.css */
.iso-card[b-mhk2a9925q] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    transition: border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.iso-card:hover[b-mhk2a9925q] {
    border-color: #1b8cf8;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(27, 140, 248, 0.08);
}

.iso-card:hover .iso-card-accent[b-mhk2a9925q] {
    filter: brightness(1.05);
}

.iso-card:focus-visible[b-mhk2a9925q] {
    outline: 2px solid #1b8cf8;
    outline-offset: 2px;
}

.iso-card--inactive[b-mhk2a9925q] {
    cursor: default;
    opacity: 0.7;
}

.iso-card--inactive:hover[b-mhk2a9925q] {
    border-color: #e2e8f0;
    transform: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.iso-card--inactive .iso-card-accent[b-mhk2a9925q] {
    filter: grayscale(1);
    opacity: 0.5;
}

/* Accent bar — 4px gradient at top of card */
.iso-card-accent[b-mhk2a9925q] {
    height: 4px;
    width: 100%;
}

.iso-card-accent--caiso[b-mhk2a9925q] {
    background: linear-gradient(90deg, #0ea5e9 0%, #14b8a6 100%);
}

.iso-card-accent--pjm[b-mhk2a9925q] {
    background: linear-gradient(90deg, #dc2626 0%, #f97316 100%);
}

.iso-card-accent--isone[b-mhk2a9925q] {
    background: linear-gradient(90deg, #1b8cf8 0%, #6366f1 50%, #8b5cf6 100%);
}

.iso-card-body[b-mhk2a9925q] {
    padding: 1.25rem 1.5rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    flex: 1;
}

.iso-card-header[b-mhk2a9925q] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.iso-card-titles[b-mhk2a9925q] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.iso-card-title[b-mhk2a9925q] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
    line-height: 1.1;
    font-family: 'Public Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.iso-card-subtitle[b-mhk2a9925q] {
    font-size: 0.875rem;
    color: #64748b;
    margin: 0;
    line-height: 1.3;
}

.iso-card-stats[b-mhk2a9925q] {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: #f8f9fb;
    border-radius: 10px;
    padding: 0.1rem;
    border: 1px solid #eef1f6;
}

.iso-stat[b-mhk2a9925q] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0.6rem 1rem;
    min-width: 0;
    flex: 1;
}

.iso-stat-divider[b-mhk2a9925q] {
    width: 1px;
    background: #e2e8f0;
    align-self: stretch;
    margin: 0.4rem 0;
    flex-shrink: 0;
}

.hero-stat-label[b-mhk2a9925q] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
    white-space: nowrap;
}

.hero-stat-value[b-mhk2a9925q] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.iso-card-footer[b-mhk2a9925q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 0.25rem;
}

.iso-card-last[b-mhk2a9925q] {
    font-size: 0.8rem;
    color: #64748b;
}

.iso-card-cta[b-mhk2a9925q] {
    color: #1b8cf8;
    font-size: 0.875rem;
    font-weight: 600;
}

.iso-card:hover .iso-card-cta:not(.iso-card-cta--inactive)[b-mhk2a9925q] {
    color: #1576d1;
}

.iso-card-cta--inactive[b-mhk2a9925q] {
    color: #94a3b8;
    font-style: italic;
    font-weight: 500;
}
/* _content/Portal.Web/Components/Components/Performance/PerformanceContextChips.razor.rz.scp.css */
/* Phase B: read-only context chips. Visual: same blue-pill base as .filter-pill
   in PerformanceHeader.razor.css:68 but with a label/value split (label is muted,
   value is bolded) so the user can scan ISO/Program at a glance without confusing
   them with interactive filter pills. */

.performance-context-chips[b-qziuzhopbu] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.context-chip[b-qziuzhopbu] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 18px;
    background-color: #eff6ff;
    color: #1b8cf8;
    border: 1px solid #c7e0fc;
    border-radius: 9999px;
    font-size: 0.95rem;
    font-weight: 500;
    white-space: nowrap;
}

.chip-label[b-qziuzhopbu] {
    color: #5a7794;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.8rem;
}

.chip-value[b-qziuzhopbu] {
    color: #0b3b6b;
    font-weight: 600;
    font-size: 1rem;
}
/* _content/Portal.Web/Components/Components/Performance/PerformanceHeader.razor.rz.scp.css */
/* PerformanceHeader scoped styles — adopts the Facilities.razor.css design tokens
   (card border-radius 12px, gray uppercase labels, blue pill chips, outlined Clear button). */

.performance-header-content[b-ha5l16gua4] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
}

.performance-title[b-ha5l16gua4] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #2d3748;
    margin: 0;
    line-height: 1.2;
}

/* Single-row container: dropdowns left, chip strip middle, Clear Filters far right.
   Wraps on small screens via flex-wrap. */
.performance-header-controls[b-ha5l16gua4] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
    border-radius: 8px;
    padding: 0.75rem 1rem;
}

.dropdowns-group[b-ha5l16gua4] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    flex-shrink: 0;
}

.dropdown-container[b-ha5l16gua4] {
    display: flex;
    flex-direction: column;
    min-width: 130px;
    max-width: 180px;
}

.dropdown-label[b-ha5l16gua4] {
    margin-bottom: 4px;
    font-weight: 600;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.filter-dropdown[b-ha5l16gua4] {
    border-radius: 0;
    width: 100%;
}

/* Chip strip — same row as dropdowns, takes the middle space */
.selected-filters[b-ha5l16gua4] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
}

.filter-pill[b-ha5l16gua4] {
    padding: 4px 12px;
    background-color: #1b8cf8;
    color: white;
    border-radius: 9999px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    font-weight: 500;
    border: none;
    transition: background-color 150ms ease;
    white-space: nowrap;
}

.filter-pill:hover[b-ha5l16gua4] {
    background-color: #1570cd;
}

.clear-filter-container[b-ha5l16gua4] {
    margin-left: auto;
    flex-shrink: 0;
}

[b-ha5l16gua4] .clear-filters-btn {
    white-space: nowrap;
    border: 1.5px solid #1b8cf8 !important;
    color: #1b8cf8 !important;
    background: white !important;
    border-radius: 6px !important;
    padding: 0.4rem 0.85rem !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
}

[b-ha5l16gua4] .clear-filters-btn:hover {
    background: #e8f4fe !important;
}

/* Card surround mirrors the Facilities .facility-card aesthetic.
   ::deep targets the wrapping CPPaper -> Telerik k-card. */
[b-ha5l16gua4] .k-card {
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    overflow: visible !important;
}

@media (max-width: 900px) {
    /* Allow Clear Filters to wrap below chips when space tightens. */
    .clear-filter-container[b-ha5l16gua4] {
        margin-left: 0;
    }
}

@media (max-width: 768px) {
    .performance-header-content[b-ha5l16gua4] {
        padding: 0.75rem 1rem;
        gap: 0.5rem;
    }

    .performance-header-controls[b-ha5l16gua4] {
        padding: 0.5rem 0.75rem;
        gap: 0.75rem;
    }

    .dropdowns-group[b-ha5l16gua4] {
        width: 100%;
    }

    /* Two-up dropdown grid on phones. */
    .dropdown-container[b-ha5l16gua4] {
        min-width: calc(50% - 0.5rem);
        max-width: none;
        flex: 1 1 calc(50% - 0.5rem);
    }

    .selected-filters[b-ha5l16gua4] {
        width: 100%;
    }

    [b-ha5l16gua4] .clear-filters-btn {
        margin-left: 0 !important;
    }
}

/* All rules below are .datalake-style-scoped so the base rules above, shared with
   the ISONE/calc-engine header, stay untouched. */

/* Positioning host for the absolute top-right Show/Hide Filters toggle. The
   gate class sits on the .performance-header-content element itself, so this is
   a compound (not descendant) selector. width:100% keeps the content filling the
   full-width card in BOTH expanded and collapsed states (the CPPaper wrapper is
   stretched to the content column in the datalake path). */
.datalake-style.performance-header-content[b-ha5l16gua4] {
    position: relative;
    width: 100%;
    /* The base rule is flex-direction:column; it MUST be overridden to row or the ISO pill
       stacks under the H1 (and align-items:center then centres it on its own line). */
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}

/* The title reserves space for the absolutely positioned Show/Hide toggle. When the ISO
   pill shares its line that clearance moves to the pill instead (see the pill rule below),
   so the two sit together. Without :has() support the title keeps the wider padding, which
   merely spaces the pill further right rather than letting anything overlap the toggle. */
.datalake-style.performance-header-content:has(.datalake-iso-pill) .performance-title[b-ha5l16gua4] {
    padding-right: 0.75rem;
}

/* Title renders its full text and clears the absolute top-right toggle, so it never
   truncates (was clipping to "Per" once the collapsed card shrink-wrapped to content). */
.datalake-style .performance-title[b-ha5l16gua4] {
    flex: 0 0 auto;
    font-size: 1.75rem;
    font-weight: 800;
    white-space: nowrap;
    padding-right: 9rem;
}

/* Native <button>, so scoped CSS applies directly (no ::deep). Same blue
   (#1b8cf8) outlined aesthetic as the Clear Filters button. */
.datalake-style .filters-toggle[b-ha5l16gua4] {
    position: absolute;
    top: 1rem;
    right: 1.25rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    border: 1.5px solid #1b8cf8;
    color: #1b8cf8;
    border-radius: 6px;
    padding: .4rem .75rem;
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
}

.datalake-style .filters-toggle:hover[b-ha5l16gua4] {
    background: #e8f4fe;
}

.datalake-style .filters-toggle-chevron[b-ha5l16gua4] {
    display: inline-flex;
    transition: transform 150ms ease;
}

.datalake-style .filters-toggle[aria-expanded="true"] .filters-toggle-chevron[b-ha5l16gua4] {
    transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
    .datalake-style .filters-toggle-chevron[b-ha5l16gua4] {
        transition: none;
    }
}

/* Collapsed: hide the filter fields AND the active-filter chips panel so the header
   genuinely shrinks to the title + ISO pill row (Show brings the filters back). */
.datalake-style.filters-collapsed .dropdowns-group[b-ha5l16gua4],
.datalake-style.filters-collapsed .datalake-chips-panel[b-ha5l16gua4] {
    display: none;
}

/* Filter row: borderless fields on one horizontal line, with the active-filter chips
   stacked on their own row underneath (the ISO pill now lives on the title line). */
.datalake-style .performance-header-controls[b-ha5l16gua4] {
    align-items: center;
    gap: 0.75rem;
    padding: 0;
    flex-wrap: wrap;
    /* Full-width so the filter row drops below the title + ISO pill line. */
    flex: 1 1 100%;
}

/* In-header ISO pill (the React IsoSelector island), sharing the title line. The 9rem
   margin is the clearance for the absolutely positioned Show/Hide toggle, moved off the
   title (which drops to 0.75rem via :has above) so the pill sits next to the heading.
   It MUST live in this block: an earlier duplicate of this selector is overridden here. */
.datalake-style .datalake-iso-pill[b-ha5l16gua4] {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    margin-right: 9rem;
}

.datalake-style .dropdowns-group[b-ha5l16gua4] {
    align-items: center;
    gap: 0;
    /* Own row: the chips panel then wraps beneath the fields. */
    flex: 1 1 100%;
}

/* Fields read as label + big value separated by thin vertical dividers (no boxes).
   Sized to their content (capped) so full values render on one line rather than
   ellipsizing at a fixed narrow width. */
.datalake-style .dropdown-container[b-ha5l16gua4] {
    width: max-content;
    min-width: max-content;
    max-width: 320px;
    padding: 2px 18px;
    gap: 7px;
    justify-content: center;
}

.datalake-style .dropdown-container + .dropdown-container[b-ha5l16gua4] {
    border-left: 1px solid #e2e8f0;
}

.datalake-style .dropdown-label[b-ha5l16gua4] {
    margin-bottom: 0;
    font-size: 11px;
    font-weight: 700;
    color: #5c5c5c;
}

.datalake-style .dropdown-label[b-ha5l16gua4]::after {
    content: " \25BE";
}

/* Single-option (locked) filter — e.g. an ISO with only one program: drop the label caret so
   it doesn't read as an openable menu when there's nothing else to pick. */
.datalake-style .dropdown-label.no-caret[b-ha5l16gua4]::after {
    display: none;
}

/* Strip the Telerik picker chrome so the closed field is borderless big-value text. */
.datalake-style[b-ha5l16gua4]  .filter-dropdown,
.datalake-style[b-ha5l16gua4]  .filter-dropdown.k-picker,
.datalake-style[b-ha5l16gua4]  .filter-dropdown.k-picker-solid,
.datalake-style[b-ha5l16gua4]  .filter-dropdown.k-picker-flat {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    min-height: auto !important;
    padding: 0 !important;
    width: auto !important;
}

.datalake-style[b-ha5l16gua4]  .filter-dropdown .k-input-inner {
    padding: 2px 0 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #050505 !important;
    white-space: nowrap !important;
}

/* Hide the Telerik value-arrow; the label caret is the affordance. */
.datalake-style[b-ha5l16gua4]  .filter-dropdown .k-input-button,
.datalake-style[b-ha5l16gua4]  .filter-dropdown .k-clear-value {
    display: none !important;
}

/* Chips panel (datalake only): the active-filter chips AND the Clear Filters button live
   together in one bordered panel. Row layout so Clear Filters trails the chips on the same
   line, pushed to the far right (margin-left:auto). Chips wrap within their own block. */
.datalake-style .datalake-chips-panel[b-ha5l16gua4] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    flex: 0 1 auto;
    background: #fbfbfb;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px;
}

/* Chips wrap inside the panel with an 8px gap. min-width:0 lets the block shrink and wrap
   when the row is tight, keeping Clear Filters to its right. */
.datalake-style .datalake-chips-panel .selected-filters[b-ha5l16gua4] {
    gap: 8px;
    flex: 0 1 auto;
    min-width: 0;
}

/* Chip: 32px tall, 13px/600 white on the header blue, fully rounded, tighter right padding
   to seat the x-dismiss glyph. */
.datalake-style .datalake-chips-panel .filter-pill[b-ha5l16gua4] {
    height: 32px;
    padding: 0 8px 0 14px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 999px;
    background-color: #1b8cf8;
    color: #fff;
}

/* Clear Filters trails the chips on the same row, pinned to the far right of the panel. */
.datalake-style .datalake-chips-panel .clear-filter-container[b-ha5l16gua4] {
    margin-left: auto;
    flex: 0 0 auto;
}

/* "View by" segmented toggle on the title line (event/ISO view vs. facility view).
   Light track with a raised white pill for the active segment, matching the UI/UX reference. */
.view-by-toggle[b-ha5l16gua4] {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
    margin-left: 1.25rem;
    position: relative;
    z-index: 50;
}

.view-by-label[b-ha5l16gua4] {
    font-size: 1rem;
    font-weight: 500;
    color: #475569;
    white-space: nowrap;
}

.view-by-pills[b-ha5l16gua4] {
    display: inline-flex;
    align-items: center;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 4px;
    gap: 4px;
    position: relative;
}

.view-by-pill[b-ha5l16gua4] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: none;
    background: transparent;
    cursor: pointer;
    border-radius: 999px;
    padding: 7px 16px;
    font-size: 1rem;
    font-weight: 600;
    color: #475569;
    white-space: nowrap;
    transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}

.view-by-pill:hover[b-ha5l16gua4] {
    color: #1e293b;
}

.view-by-pill.active[b-ha5l16gua4] {
    background: #fff;
    color: #0f172a;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.14);
}

.view-by-pill:focus-visible[b-ha5l16gua4] {
    outline: 2px solid #1b8cf8;
    outline-offset: 2px;
}

.view-by-badge[b-ha5l16gua4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    background: #94a3b8;
    color: #fff;
    flex: 0 0 auto;
}

.view-by-pill.active .view-by-badge[b-ha5l16gua4] {
    background: #1b8cf8;
    color: #fff;
}

.view-by-caret[b-ha5l16gua4] {
    color: #94a3b8;
    flex: 0 0 auto;
    transition: transform .15s ease;
}

.view-by-pill.active .view-by-caret[b-ha5l16gua4] {
    color: #64748b;
}

.view-by-caret.open[b-ha5l16gua4] {
    transform: rotate(180deg);
}

/* Dropdown menu anchored under the pills (ISO list / facility list). */
.view-by-menu[b-ha5l16gua4] {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 220px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.16);
    padding: 6px;
    z-index: 60;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.view-by-menu--facility[b-ha5l16gua4] {
    left: auto;
    right: 0;
    width: 300px;
}

.view-by-menu-filter[b-ha5l16gua4] {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    margin-bottom: 6px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 0.9rem;
    font-family: inherit;
    color: #1e293b;
}

.view-by-menu-filter:focus-visible[b-ha5l16gua4] {
    outline: 2px solid #1b8cf8;
    outline-offset: 1px;
    border-color: #1b8cf8;
}

.view-by-menu-list[b-ha5l16gua4] {
    max-height: 260px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.view-by-menu-item[b-ha5l16gua4] {
    text-align: left;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.95rem;
    font-weight: 500;
    color: #1e293b;
    white-space: nowrap;
}

.view-by-menu-item:hover[b-ha5l16gua4] {
    background: #f1f5f9;
}

.view-by-menu-item.selected[b-ha5l16gua4] {
    background: #e8f4fe;
    color: #1b8cf8;
    font-weight: 600;
}

.view-by-menu-empty[b-ha5l16gua4] {
    padding: 8px 12px;
    color: #94a3b8;
    font-size: 0.85rem;
}

/* Transparent click-catcher that closes the menu on an outside click. Sits below the toggle
   (z-index 50) so the pills stay interactive, above the rest of the page. */
.view-by-backdrop[b-ha5l16gua4] {
    position: fixed;
    inset: 0;
    z-index: 40;
    background: transparent;
}

/* When the toggle shares the title line, the title drops its wide right padding (the absolute
   Show/Hide toggle clearance) so the toggle sits directly beside the heading. */
.datalake-style.performance-header-content:has(.view-by-toggle) .performance-title[b-ha5l16gua4] {
    padding-right: 0.75rem;
}
/* _content/Portal.Web/Components/Components/Performance/PerformanceSilver/PerformanceSilverTable.razor.rz.scp.css */
/* PerformanceSilverTable - Inherits base table styles with Silver layer specific styling */

.performance-silver-table[b-tpwvgkvymz] {
    /* Silver layer indicator - subtle left border */
}

/* Note: No EventType or CalculationResultStatus columns in Silver layer */
/* _content/Portal.Web/Components/Components/Performance/PerformanceTable.razor.rz.scp.css */
.performance-table[b-5ec777pnzu]  .cp-table {
  min-width: 720px; /* 9 columns × 80px each */
}

.performance-table[b-5ec777pnzu]  .cp-table th,
.performance-table[b-5ec777pnzu]  .cp-table td {
  min-width: 80px;
}
/* _content/Portal.Web/Components/Components/Performance/PerformanceTableFilters.razor.rz.scp.css */

.performance-table-filters[b-iynaebf5km] {
    margin-bottom: 1.5rem;
}

/* Desktop Filter Layout - Horizontal Integration */
.filters-desktop[b-iynaebf5km] {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: nowrap !important;
    overflow-x: auto;
}

.filters-desktop.disabled[b-iynaebf5km] {
    opacity: 0.6;
}

/* Dropdown container styling */
.filters-desktop .dropdown-container[b-iynaebf5km] {
    display: flex;
    flex-direction: column;
    flex-grow: 0;
    flex-shrink: 0;
    min-width: 140px;
    max-width: 160px;
    width: 160px;
    align-self: flex-end;
}

.dropdown-label[b-iynaebf5km] {
    margin-bottom: 5px;
    font-weight: bold;
    line-height: 1.2;
    height: 1.2em;
    display: flex;
    align-items: center;
}

.filter-dropdown[b-iynaebf5km] {
    flex-grow: 1;
    border-radius: 0;
    width: 100%;
}

.clear-filter-container[b-iynaebf5km] {
    display: flex;
    align-items: flex-end;
    flex-shrink: 0;
}

.export-action-container[b-iynaebf5km] {
    display: flex;
    align-items: flex-end;
    margin-left: 0;
    flex-shrink: 0;
    min-width: 160px;
    width: auto;
}

.export-action-container.mobile[b-iynaebf5km] {
    margin-left: 0;
    margin-top: 1rem;
    width: 100%;
}

/* Mobile Filter Layout - Collapsible */
.filters-mobile[b-iynaebf5km] {
    display: none;
    position: relative;
}

.mobile-filters-toggle[b-iynaebf5km] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}

.mobile-filters-content[b-iynaebf5km] {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1000;
    background: var(--k-surface-color, #ffffff);
    border: 1px solid var(--k-border-color, #dee2e6);
    border-radius: 4px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    padding: 1rem;
    min-width: 320px;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Clear Filters Button Styling */
.clear-filters-btn[b-iynaebf5km] {
    white-space: nowrap;
    margin-left: 0.5rem;
}

.clear-filters-btn.mobile[b-iynaebf5km] {
    width: 100%;
    margin-left: 0;
}

/* Selected Filter Pills */
.selected-filters[b-iynaebf5km] {
    margin-top: 10px;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.filter-pill[b-iynaebf5km] {
    padding: 5px 10px;
    background-color: #007BFF;
    color: white;
    border-radius: 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
}

.filter-pill:hover[b-iynaebf5km] {
    background-color: #0069d9;
}

/* Responsive Behavior */
@media (max-width: 900px) {
    /* Switch to mobile layout when space is limited */
    .filters-desktop[b-iynaebf5km] {
        display: none;
    }
    
    .filters-mobile[b-iynaebf5km] {
        display: block;
    }
}

@media (max-width: 768px) {
    .performance-table-filters[b-iynaebf5km] {
        margin-bottom: 1rem;
    }

    .dropdown-container[b-iynaebf5km] {
        min-width: unset;
        max-width: unset;
    }

    .mobile-filters-content[b-iynaebf5km] {
        position: static;
        box-shadow: none;
        border: none;
        padding: 1rem 0 0 0;
        background: transparent;
        min-width: unset;
    }
}

/* ===== Gold datalake path — blend the second filter tier into the table look =====
   Gated behind the .datalake ancestor (present only on the gold PJM/CAISO body, never the
   silver layer or the ISONE/calc-engine paths), so the base rules above — shared with the
   silver layer — stay untouched. Turns this tier into a compact borderless single row that
   reads as part of the table, matching the datalake header fields. ::deep rules hang off the
   component root .performance-table-filters so the scope attribute lands on an element this
   component owns. */

/* Compact single row sitting directly on the L2 neutral group. Transparent rather than a
   literal grey so it tracks .performance-body-content.datalake's surface, and so the tier
   leaves no empty white band before an ISO/date is chosen and the pills render. No horizontal
   padding, so the first pill lines up with the heading above it. */
.datalake .performance-table-filters[b-iynaebf5km] {
    margin-bottom: 0;
    background: transparent;
    padding: 8px 0;
}

/* Wrap onto a second line rather than scrolling sideways (the shared base rule does the
   latter). Now that the tier owns a full row it has room to grow downward, and a scrollbar
   under the pills is worse to use than a taller block. */
.datalake .filters-desktop[b-iynaebf5km] {
    align-items: center;
    gap: 8px;
    flex-wrap: wrap !important;
    overflow-x: visible;
}

/* Each filter is a self-contained rounded pill — "Utility : All" on one line inside a
   Neutral-200 stroke — per the UI/UX reference, replacing the earlier borderless
   label-over-value fields separated by vertical dividers. */
.datalake .filters-desktop .dropdown-container[b-iynaebf5km] {
    flex-direction: row;
    align-items: center;
    min-width: auto;
    max-width: none;
    width: auto;
    padding: 4px 12px;
    gap: 6px;
    align-self: center;
    justify-content: flex-start;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    /* Containing block for the picker's full-pill hit area (see .filter-dropdown::before). */
    position: relative;
    cursor: pointer;
}

.datalake .filters-desktop .dropdown-label[b-iynaebf5km] {
    margin-bottom: 0;
    font-size: 13px;
    font-weight: 500;
    color: #5c5c5c;
    white-space: nowrap;
    /* The label sits over the picker's hit area — let clicks through to it. */
    pointer-events: none;
}

.datalake .filters-desktop .dropdown-label[b-iynaebf5km]::after {
    content: " :";
}

/* Strip the Telerik picker chrome so the closed field is borderless value text. */
.datalake .performance-table-filters[b-iynaebf5km]  .filter-dropdown,
.datalake .performance-table-filters[b-iynaebf5km]  .filter-dropdown.k-picker,
.datalake .performance-table-filters[b-iynaebf5km]  .filter-dropdown.k-picker-solid,
.datalake .performance-table-filters[b-iynaebf5km]  .filter-dropdown.k-picker-flat {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    min-height: auto !important;
    padding: 0 !important;
}

.datalake .performance-table-filters[b-iynaebf5km]  .filter-dropdown .k-input-inner {
    padding: 2px 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #050505 !important;
}

/* Performance is a multi-select, so its selected values render as chips. Wide enough for the two
   statuses a card click applies; beyond that the chips scroll inside the pill rather than growing
   the row, which is what put a scrollbar under the whole tier. */
.datalake .performance-table-filters[b-iynaebf5km]  .filter-multiselect {
    max-width: 380px;
}

.datalake .performance-table-filters[b-iynaebf5km]  .filter-multiselect .k-input-values {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
}

.datalake .performance-table-filters[b-iynaebf5km]  .filter-multiselect .k-chip {
    flex: 0 0 auto;
}

/* The pill carries its own trailing caret (the label caret was dropped when the fields
   became pills), so the Telerik value-arrow is the affordance and stays visible. */
.datalake .performance-table-filters[b-iynaebf5km]  .filter-dropdown .k-input-button {
    padding: 0 !important;
    min-width: auto !important;
    width: auto !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #5c5c5c !important;
}

.datalake .performance-table-filters[b-iynaebf5km]  .filter-dropdown .k-clear-value {
    display: none !important;
}

/* Active-filter chips: light bordered panel + taller pill to match the mock. */
.datalake .selected-filters[b-iynaebf5km] {
    background: #fbfbfb;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px;
    gap: 8px;
}

.datalake .filter-pill[b-iynaebf5km] {
    height: 32px;
    padding: 0 8px 0 14px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 999px;
    background-color: #1b8cf8;
}

.datalake .filter-pill:hover[b-iynaebf5km] {
    background-color: #1570cd;
}

/* Gold Clear-Filters button: outlined blue, matching the header. Silver keeps the default. */
.datalake .performance-table-filters[b-iynaebf5km]  .clear-filters-btn {
    border: 1.5px solid #1b8cf8 !important;
    color: #1b8cf8 !important;
    background: #fff !important;
    border-radius: 6px !important;
}

/* Export button visually consistent with the row: 13px/600, 34px tall. */
.datalake .export-action-container[b-iynaebf5km] {
    align-self: center;
    min-width: auto;
    margin-left: 8px;
}

.datalake .export-action-container[b-iynaebf5km]  .export-btn {
    height: 34px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* _content/Portal.Web/Components/Components/Resources/DocumentTemplates.razor.rz.scp.css */
.templates-container[b-enuw24sub6] {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  gap: 1rem;
}

.templates-header[b-enuw24sub6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 0.5rem;
  gap: 0.5rem;
}
.templates-header h2[b-enuw24sub6] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #2d3748;
  margin: 0;
}

.templates-error[b-enuw24sub6],
.templates-info[b-enuw24sub6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.5rem;
  padding: 0.5rem 0;
}
.templates-error .k-icon[b-enuw24sub6],
.templates-info .k-icon[b-enuw24sub6] {
  flex-shrink: 0;
}
.templates-error p[b-enuw24sub6],
.templates-info p[b-enuw24sub6] {
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0;
}
.templates-info[b-enuw24sub6] {
  color: #4a5568;
}
.templates-error[b-enuw24sub6] {
  color: #c53030;
}
.templates-error[b-enuw24sub6]  path,
.templates-info[b-enuw24sub6]  path {
  cursor: inherit;
  fill: currentColor;
}

.template-list[b-enuw24sub6] {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.template-item[b-enuw24sub6] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 0.75rem;
  cursor: pointer;
}
.template-item-icon[b-enuw24sub6] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 50px;
  width: 50px;
}
.template-item p[b-enuw24sub6] {
  font-size: 1rem;
  font-weight: 500;
  color: #1b8cf8;
  transition: all 0.15s ease;
  margin: 0;
  text-decoration: none;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.template-item:hover p[b-enuw24sub6] {
  text-decoration: underline;
}

@media (max-width: 1024px) {
  .templates-header[b-enuw24sub6] {
    padding-right: 0.875rem;
  }
  .templates-header h2[b-enuw24sub6] {
    font-size: 1.125rem;
  }
}
/* _content/Portal.Web/Components/Components/Resources/FAQs.razor.rz.scp.css */
/* ── Layout ── */

.faqs-wrapper[b-snpt1pcbq5] {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
    align-items: flex-start;
}

.faqs-loading[b-snpt1pcbq5] {
    margin-top: 4rem;
}

/* ── Sidebar ── */

.faqs-sidebar[b-snpt1pcbq5] {
    position: sticky;
    top: 1rem;
    min-width: 140px;
    max-width: 160px;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex-shrink: 0;
}

.faqs-nav-item[b-snpt1pcbq5] {
    display: block;
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: none;
    background: none;
    text-align: left;
    font-size: 0.875rem;
    font-weight: 500;
    color: #4b5563;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}
.faqs-nav-item:hover[b-snpt1pcbq5] {
    background: #f3f4f6;
    color: #1f2937;
}
.faqs-nav-item.active[b-snpt1pcbq5] {
    background: #eff6ff;
    color: #1b8cf8;
    font-weight: 600;
}

/* ── Sidebar Sub-navigation ── */

.faqs-subnav[b-snpt1pcbq5] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    margin: 0.125rem 0 0.25rem 0.5rem;
    padding-left: 0.5rem;
    border-left: 1px solid #e5e7eb;
}
.faqs-subnav-item[b-snpt1pcbq5] {
    display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    border: none;
    background: none;
    text-align: left;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #6b7280;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}
.faqs-subnav-item:hover[b-snpt1pcbq5] {
    background: #f3f4f6;
    color: #1f2937;
}
.faqs-subnav-item.active[b-snpt1pcbq5] {
    color: #1b8cf8;
    font-weight: 600;
}

/* ── Main Content ── */

.faqs-main[b-snpt1pcbq5] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.faqs-header[b-snpt1pcbq5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}
.faqs-header h2[b-snpt1pcbq5] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #2d3748;
    margin: 0;
}

/* ── FAQ Groups (Category Cards) ── */

.faq-groups[b-snpt1pcbq5] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.faq-group-inner[b-snpt1pcbq5] {
    padding: 0;
}

.faq-group-header[b-snpt1pcbq5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1rem 1.25rem;
    border: none;
    background: none;
    cursor: pointer;
    text-align: left;
    gap: 1rem;
    transition: background-color 0.15s ease;
    border-radius: 8px;
}
.faq-group-header:hover[b-snpt1pcbq5] {
    background: #f9fafb;
}

.faq-group-title[b-snpt1pcbq5] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
}

/* ── Category Content (inside CPCollapse) ── */

.faq-group-content[b-snpt1pcbq5] {
    padding: 0 1.25rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* ── Sub Category ── */

.faq-subcategory[b-snpt1pcbq5] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.faq-subcategory-header[b-snpt1pcbq5] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.5rem 0;
    padding: 0.5rem 0;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* ── FAQ Items ── */

.faq-items[b-snpt1pcbq5] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.faq-question[b-snpt1pcbq5] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
}

.faq-answer[b-snpt1pcbq5] {
    font-size: 0.875rem;
    font-weight: 400;
    color: #363c49;
}
/* Article HTML is injected via MarkupString (no Blazor scope attribute), so ::deep is required. */
[b-snpt1pcbq5] .faq-answer p {
    margin: 0 0 1rem 0;
}
[b-snpt1pcbq5] .faq-answer p:last-child {
    margin-bottom: 0;
}
[b-snpt1pcbq5] .faq-answer ol,
[b-snpt1pcbq5] .faq-answer ul {
    margin: 0.5rem 0 1rem 0;
    padding-left: 1.5rem;
}
[b-snpt1pcbq5] .faq-answer ul {
    list-style-type: disc;
}
[b-snpt1pcbq5] .faq-answer ol {
    list-style-type: decimal;
}
[b-snpt1pcbq5] .faq-answer li {
    margin-bottom: 0.5rem;
}
[b-snpt1pcbq5] .faq-answer li:last-child {
    margin-bottom: 0;
}
[b-snpt1pcbq5] .faq-answer strong {
    color: #363c49;
    font-weight: 600;
}
[b-snpt1pcbq5] .faq-answer a {
    color: #1b8cf8;
    text-decoration: none;
}
[b-snpt1pcbq5] .faq-answer a:hover {
    text-decoration: underline;
}

[b-snpt1pcbq5] .faq-answer table {
    border-collapse: collapse;
    width: 100%;
    margin: 0.5rem 0 1rem 0;
}
[b-snpt1pcbq5] .faq-answer th,
[b-snpt1pcbq5] .faq-answer td {
    border: 1px solid #d1d5db;
    padding: 0.5rem 0.75rem;
    text-align: left;
    vertical-align: top;
}
[b-snpt1pcbq5] .faq-answer th {
    background: #f3f4f6;
    font-weight: 600;
    color: #1f2937;
}

[b-snpt1pcbq5] .faq-answer img {
    cursor: zoom-in;
}

/* ── Thumbnails ── */

[b-snpt1pcbq5] .faq-image-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

[b-snpt1pcbq5] .faq-thumbnail {
    max-width: 100px;
    height: auto;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}
[b-snpt1pcbq5] .faq-thumbnail:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* ── Lightbox Overlay ── */

#faq-lightbox[b-snpt1pcbq5] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}
#faq-lightbox[hidden][b-snpt1pcbq5] {
    display: none;
}

#faq-lightbox .lightbox-img[b-snpt1pcbq5] {
    max-width: 90vw;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 4px;
    cursor: zoom-in;
    transition: transform 0.15s ease;
}
#faq-lightbox.zoomed .lightbox-img[b-snpt1pcbq5] {
    cursor: zoom-out;
}
#faq-lightbox.zoomed .lightbox-prev[b-snpt1pcbq5],
#faq-lightbox.zoomed .lightbox-next[b-snpt1pcbq5] {
    display: none;
}

#faq-lightbox .lightbox-close[b-snpt1pcbq5] {
    position: absolute;
    top: 1rem;
    right: 1.25rem;
    background: none;
    border: none;
    color: #fff;
    font-size: 2rem;
    cursor: pointer;
    line-height: 1;
    padding: 0.25rem 0.5rem;
    opacity: 0.8;
    transition: opacity 0.15s;
}
#faq-lightbox .lightbox-close:hover[b-snpt1pcbq5] {
    opacity: 1;
}

#faq-lightbox .lightbox-prev[b-snpt1pcbq5],
#faq-lightbox .lightbox-next[b-snpt1pcbq5] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.15);
    border: none;
    color: #fff;
    font-size: 2.5rem;
    cursor: pointer;
    padding: 0.5rem 0.75rem;
    line-height: 1;
    border-radius: 4px;
    opacity: 0.7;
    transition: opacity 0.15s, background 0.15s;
}
#faq-lightbox .lightbox-prev:hover[b-snpt1pcbq5],
#faq-lightbox .lightbox-next:hover[b-snpt1pcbq5] {
    opacity: 1;
    background: rgba(255, 255, 255, 0.25);
}
#faq-lightbox .lightbox-prev[b-snpt1pcbq5] {
    left: 1rem;
}
#faq-lightbox .lightbox-next[b-snpt1pcbq5] {
    right: 1rem;
}

/* ── Responsive: Tablet ── */

@media (max-width: 1024px) {
    .faqs-wrapper[b-snpt1pcbq5] {
        flex-direction: column;
        gap: 1rem;
    }

    .faqs-sidebar[b-snpt1pcbq5] {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
        max-width: 100%;
        min-width: 0;
        gap: 0.25rem;
        padding: 0;
    }

    .faqs-nav-item[b-snpt1pcbq5] {
        width: auto;
        padding: 0.375rem 0.75rem;
        font-size: 0.8125rem;
    }

    /* Horizontal row below desktop — hide the nested sub-nav so it doesn't break the row. */
    .faqs-subnav[b-snpt1pcbq5] {
        display: none;
    }

    .faqs-header h2[b-snpt1pcbq5] {
        font-size: 1.125rem;
    }
}

/* ── Responsive: Mobile ── */

@media (max-width: 768px) {
    .faqs-sidebar[b-snpt1pcbq5] {
        display: none;
    }

    .faq-group-header[b-snpt1pcbq5] {
        padding: 0.75rem 1rem;
    }

    .faq-group-title[b-snpt1pcbq5] {
        font-size: 1rem;
    }

    .faq-group-content[b-snpt1pcbq5] {
        padding: 0 1rem 1rem;
    }

    .faq-question[b-snpt1pcbq5] {
        font-size: 0.875rem;
    }

    .faq-answer[b-snpt1pcbq5] {
        font-size: 0.75rem;
    }

    .faq-subcategory-header[b-snpt1pcbq5] {
        font-size: 0.8125rem;
    }
}
/* _content/Portal.Web/Components/Components/Resources/FileIcon.razor.rz.scp.css */
.file-icon[b-3abq5acwvk] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.file-icon svg[b-3abq5acwvk] {
  display: block;
}
/* _content/Portal.Web/Components/Components/Resources/SupportCases.razor.rz.scp.css */
.support-cases-container[b-7z2i7ub8od] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem;
}

.filter-section[b-7z2i7ub8od] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.filter-label[b-7z2i7ub8od] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #2d3748;
}

/* Status Filter Dropdown Styling */
.filter-dropdown[b-7z2i7ub8od] {
    border-radius: 6px;
}

[b-7z2i7ub8od] .filter-dropdown .k-input-inner {
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
}

[b-7z2i7ub8od] .filter-dropdown .k-dropdownlist {
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background-color: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

[b-7z2i7ub8od] .filter-dropdown .k-dropdownlist:hover {
    border-color: #cbd5e0;
}

[b-7z2i7ub8od] .filter-dropdown .k-dropdownlist:focus,
[b-7z2i7ub8od] .filter-dropdown .k-dropdownlist.k-focus {
    border-color: #1b8cf8;
    box-shadow: 0 0 0 2px rgba(27, 140, 248, 0.2);
    outline: none;
}

[b-7z2i7ub8od] .filter-dropdown .k-button {
    background: transparent;
    border: none;
}

.action-buttons[b-7z2i7ub8od] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}

.cases-section[b-7z2i7ub8od] {
    display: flex;
    flex-direction: column;
}

.cases-section-header[b-7z2i7ub8od] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    background: none;
    border: none;
    cursor: pointer;
    width: 100%;
    text-align: left;
}

.cases-section-header:hover[b-7z2i7ub8od] {
    background-color: #f8f9fa;
}

.section-title-container[b-7z2i7ub8od] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.cases-section-title[b-7z2i7ub8od] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #2d3748;
    margin: 0;
}

.cases-section-subtitle[b-7z2i7ub8od] {
    font-size: 0.875rem;
    font-weight: 400;
    color: #718096;
}

.cases-section-content[b-7z2i7ub8od] {
    padding: 0 1.5rem 1.5rem 1.5rem;
}

.loading-container[b-7z2i7ub8od] {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
}

.empty-state[b-7z2i7ub8od] {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
    color: #718096;
    font-size: 0.875rem;
}

.cases-grid[b-7z2i7ub8od] {
    width: 100%;
}

.action-button[b-7z2i7ub8od] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    color: #1b8cf8;
    border-radius: 4px;
    transition: background-color 0.15s ease;
}

.action-button:hover[b-7z2i7ub8od] {
    background-color: #e8f4fd;
}

.status-badge[b-7z2i7ub8od] {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
}

.status-new[b-7z2i7ub8od] {
    background-color: #e3f2fd;
    color: #1565c0;
}

.status-reviewing[b-7z2i7ub8od] {
    background-color: #fff3e0;
    color: #e65100;
}

.status-resolved[b-7z2i7ub8od] {
    background-color: #e8f5e9;
    color: #2e7d32;
}

.status-default[b-7z2i7ub8od] {
    background-color: #f5f5f5;
    color: #616161;
}

/* Case Detail Modal Styles */
.modal-header-content[b-7z2i7ub8od] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-right: 2rem;
}

.modal-title[b-7z2i7ub8od] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #2d3748;
}

.modal-status[b-7z2i7ub8od] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.modal-status-text[b-7z2i7ub8od] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #2d3748;
}

.modal-status-icon[b-7z2i7ub8od] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: white;
}

.status-icon-new[b-7z2i7ub8od] {
    background-color: #1565c0;
}

.status-icon-reviewing[b-7z2i7ub8od] {
    background-color: #f57c00;
}

.status-icon-resolved[b-7z2i7ub8od] {
    background-color: #2e7d32;
}

.status-icon-default[b-7z2i7ub8od] {
    background-color: #9e9e9e;
}

.issue-details-container[b-7z2i7ub8od] {
    padding: 1rem;
}

.issue-details-card[b-7z2i7ub8od] {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1.5rem;
    background-color: #fff;
}

.issue-info-section[b-7z2i7ub8od] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.issue-info-row[b-7z2i7ub8od] {
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
}

.info-label[b-7z2i7ub8od] {
    font-size: 0.875rem;
    color: #2d3748;
}

.info-value[b-7z2i7ub8od] {
    font-size: 0.875rem;
    color: #2d3748;
}

.info-value-bold[b-7z2i7ub8od] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #2d3748;
}

.issue-divider[b-7z2i7ub8od] {
    height: 1px;
    background-color: #e2e8f0;
    margin: 1.25rem 0;
}

.issue-details-section[b-7z2i7ub8od] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.issue-description-row[b-7z2i7ub8od] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.issue-description-row .info-label[b-7z2i7ub8od] {
    font-size: 0.875rem;
    color: #2d3748;
}

.issue-description-row .info-value[b-7z2i7ub8od] {
    font-size: 0.875rem;
    color: #2d3748;
    line-height: 1.5;
}

/* Contact Support Modal Styles */
/* Note: Border-radius styles are in app.css (global) because Telerik windows render outside component scope */

.contact-support-content[b-7z2i7ub8od] {
    padding: 1rem 1.5rem 1rem 1.5rem;
    text-align: center;
}

.contact-support-icon[b-7z2i7ub8od] {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1rem;
    color: #1b8cf8;
}

.contact-support-title[b-7z2i7ub8od] {
    font-size: 1.4rem;
    font-weight: 600;
    color: #2d3748;
    margin: 0 0 1rem 0;
}

.contact-support-message[b-7z2i7ub8od] {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 1.25rem;
    color: #4a5568;
}

.contact-support-mailto[b-7z2i7ub8od] {
    margin-bottom: 0;
}

.contact-support-divider[b-7z2i7ub8od] {
    width: 80%;
    margin: 1rem auto;
    border: none;
    border-top: 1px solid #e2e8f0;
}

.mailto-link[b-7z2i7ub8od] {
    color: #1b8cf8;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
}

.mailto-link:hover[b-7z2i7ub8od] {
    text-decoration: underline;
    color: #1573e6;
}

.contact-support-close[b-7z2i7ub8od] {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.5rem;
}

[b-7z2i7ub8od] .contact-support-close-btn {
    background-color: #1b8cf8;
    color: white;
    border-radius: 9999px;
    padding: 0.5rem 1.5rem;
    border: none;
}

[b-7z2i7ub8od] .contact-support-close-btn:hover {
    background-color: #1573e6;
}

/* New Case Modal Styles */
/* Note: Border-radius styles are in app.css (global) because Telerik windows render outside component scope */

.new-case-modal-header[b-7z2i7ub8od] {
    display: flex;
    align-items: center;
}

.new-case-form[b-7z2i7ub8od] {
    padding: 0.5rem 1rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.new-case-fields-row[b-7z2i7ub8od] {
    display: flex;
    gap: 1rem;
}

.new-case-field[b-7z2i7ub8od] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.new-case-field label[b-7z2i7ub8od] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #2d3748;
}

.new-case-field-title[b-7z2i7ub8od] {
    flex: 1;
}

.new-case-field-category[b-7z2i7ub8od] {
    flex: 0 0 200px;
}

[b-7z2i7ub8od] .new-case-textarea .k-input-inner {
    min-height: 80px;
}

.validation-error[b-7z2i7ub8od] {
    font-size: 0.75rem;
    color: #e53e3e;
}

/* File Upload Styles */
.file-upload-area[b-7z2i7ub8od] {
    position: relative;
    border: 2px dashed #e2e8f0;
    border-radius: 8px;
    padding: 1.25rem;
    text-align: center;
    transition: border-color 0.15s ease, background-color 0.15s ease;
    cursor: pointer;
}

.file-upload-area:hover[b-7z2i7ub8od],
.file-upload-area:global(.drag-over)[b-7z2i7ub8od] {
    border-color: #1b8cf8;
    background-color: #f7faff;
}

.file-upload-area .file-input[b-7z2i7ub8od] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.file-upload-placeholder[b-7z2i7ub8od] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    color: #718096;
    font-size: 0.875rem;
    pointer-events: none;
}

.file-upload-hint[b-7z2i7ub8od] {
    font-size: 0.75rem;
    color: #a0aec0;
}

.file-list[b-7z2i7ub8od] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    margin-top: 0.5rem;
}

.file-item[b-7z2i7ub8od] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.5rem;
    background-color: #f7fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 0.8125rem;
}

.file-name[b-7z2i7ub8od] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #2d3748;
}

.file-size[b-7z2i7ub8od] {
    font-size: 0.75rem;
    color: #a0aec0;
    white-space: nowrap;
}

.file-remove-btn[b-7z2i7ub8od] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem;
    color: #a0aec0;
    border-radius: 4px;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.file-remove-btn:hover[b-7z2i7ub8od] {
    color: #e53e3e;
    background-color: #fed7d7;
}

/* Submit Section */
.submit-section[b-7z2i7ub8od] {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.25rem;
}

[b-7z2i7ub8od] .submit-new-case-btn {
    background-color: #1b8cf8;
    color: white;
    border-radius: 9999px;
    padding: 0.5rem 1.5rem;
    border: none;
    font-weight: 500;
}

[b-7z2i7ub8od] .submit-new-case-btn:hover {
    background-color: #1573e6;
}

[b-7z2i7ub8od] .submit-new-case-btn:disabled {
    background-color: #a0aec0;
    cursor: not-allowed;
}

.submit-error[b-7z2i7ub8od] {
    padding: 0.75rem;
    background-color: #fed7d7;
    border: 1px solid #feb2b2;
    border-radius: 6px;
    color: #c53030;
    font-size: 0.875rem;
}

.submit-success[b-7z2i7ub8od] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
    text-align: center;
    color: #2e7d32;
}

.submit-success h3[b-7z2i7ub8od] {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: #2d3748;
}

.submit-success p[b-7z2i7ub8od] {
    margin: 0;
    font-size: 0.875rem;
    color: #718096;
}

@media (max-width: 1024px) {
    .cases-section-header[b-7z2i7ub8od] {
        padding: 1rem;
    }

    .cases-section-title[b-7z2i7ub8od] {
        font-size: 1rem;
    }

    .cases-section-content[b-7z2i7ub8od] {
        padding: 0 1rem 1rem 1rem;
    }

    .section-title-container[b-7z2i7ub8od] {
        flex-direction: column;
        gap: 0.25rem;
    }
}

@media (max-width: 768px) {
    .support-cases-container[b-7z2i7ub8od] {
        padding: 1rem;
    }

    .filter-section[b-7z2i7ub8od] {
        flex-direction: column;
        align-items: flex-start;
    }

    .action-buttons[b-7z2i7ub8od] {
        width: 100%;
        justify-content: flex-end;
    }

    .new-case-fields-row[b-7z2i7ub8od] {
        flex-direction: column;
    }

    .new-case-field-category[b-7z2i7ub8od] {
        flex: 1;
    }
}
/* _content/Portal.Web/Components/Components/TaskModal components/TaskDetailsHeader.razor.rz.scp.css */
  .task-header-content[b-eqa72z19d6] {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 2rem;
      width: 100%;
  }

  .task-title-section[b-eqa72z19d6] {
      flex: 1;
      min-width: 0;
  }

  .task-title[b-eqa72z19d6] {
      font-size: 1.25rem;
      font-weight: 600;
      color: #2d3748;
      margin: 0;
      line-height: 1.3;
  }

  .task-status-row[b-eqa72z19d6] {
      display: flex;
      align-items: center;
      gap: 1rem;
      flex-shrink: 0;
  }

  .task-status-text[b-eqa72z19d6] {
      font-size: 1rem;
      color: #718096;
      font-weight: 500;
      margin: 0;
      line-height: 1.2;
  }

  .task-status-indicator[b-eqa72z19d6] {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.5rem;
      font-weight: 600;
      color: white;
      flex-shrink: 0;
  }

  .task-status-indicator.completed[b-eqa72z19d6] {
      background: #16A34A;
  }

  .task-status-indicator.waiting[b-eqa72z19d6] {
      background: #FF5400;
  }

  .task-status-indicator.canceled[b-eqa72z19d6] {
      background: #FF0000;
  }

  .task-status-indicator.in-progress[b-eqa72z19d6] {
      background: #1B8CF8;
  }

  .task-status-indicator.pending[b-eqa72z19d6] {
      background: #1B8CF8;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      line-height: 1;
  }

  /* Responsive design */
  @media (max-width: 768px) {
      .task-header-content[b-eqa72z19d6] {
          flex-direction: column;
          text-align: center;
          gap: 0.75rem;
      }

      .task-title[b-eqa72z19d6] {
          font-size: 1.125rem;
      }
  }

  @media (max-width: 480px) {
      .task-status-indicator[b-eqa72z19d6] {
          width: 36px;
          height: 36px;
          font-size: 1rem;
      }
  }
/* _content/Portal.Web/Components/Layout/MainLayout.razor.rz.scp.css */
html[b-djij5e6csi],
body[b-djij5e6csi] {
  height: 100%;
  margin: 0;
  padding: 0;
}

main[b-djij5e6csi] {
  flex-grow: 1;
  background-color: #f9f9f9;
  display: flex;
  flex-direction: column;
  overflow: visible; /* Allow sticky positioning to work */
  min-width: 0; /* Allows flex item to shrink below content size */
}

.content[b-djij5e6csi] {
  flex: 1 1 auto;
  overflow-x: auto; /* Allow horizontal scroll when needed */
  overflow-y: auto; /* Allow vertical scroll */
  min-height: 0; /* Critical for flex children to enable scrolling */
}

.page[b-djij5e6csi] {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* Ensures that the .page div takes at least the viewport height */
}

/* ===== BLAZOR ERROR ===== */

#blazor-error-ui[b-djij5e6csi] {
  background: #fff8f1;
  bottom: 0;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
  display: none;
  left: 0;
  padding: 0.6rem 1.25rem 0.7rem 1.25rem;
  position: fixed;
  width: 100%;
  z-index: 1000;
}

#blazor-error-ui .dismiss[b-djij5e6csi] {
  cursor: pointer;
  position: absolute;
  right: 0.75rem;
  top: 0.5rem;
}

/* ===== UTILITY ===== */

.no-wrap-text[b-djij5e6csi] {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

/* ===== READ-ONLY INDICATOR ===== */

.read-only-indicator[b-djij5e6csi] {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.75rem;
  margin-right: 0.75rem;
  background: #FEF3C7;
  border: 1px solid #F59E0B;
  border-radius: 1rem;
  color: #92400E;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
  cursor: default;
}

/* ===== ACTION ITEMS ===== */

.nav-bar-action-list[b-djij5e6csi],
.nav-bar-right-list[b-djij5e6csi] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ===== NAVBAR LEFT ===== */

.navbar-logo[b-djij5e6csi] {
  display: block;
  height: 32px;
  width: auto;
  margin-left: -0.375rem;
}

.nav-bar-home-link[b-djij5e6csi] {
  text-align: center;
  margin-right: 0.5rem;
}

.nav-bar-company-title[b-djij5e6csi] {
  font-size: 1rem;
  font-weight: 600;
}

/* ===== NAVBAR RIGHT ===== */

.nav-bar-right-list[b-djij5e6csi] {
  margin-left: 0.5rem;
}

/* ===== COMMON DROPDOWN STYLES ===== */

/* Dropdown Menu List */
.dropdown-list[role='list'][b-djij5e6csi] {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* Dropdown Menu List Scrollbar */
.dropdown-list[role='list'][b-djij5e6csi]::-webkit-scrollbar {
  width: 8px;
}
.dropdown-list[role='list'][b-djij5e6csi]::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 4px;
}
.dropdown-list[role='list'][b-djij5e6csi]::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
.dropdown-list[role='list'][b-djij5e6csi]::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Dropdown Menu Header */
.dropdown-header[b-djij5e6csi] {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 0.75rem;
  border-bottom: 1px solid #dddde4;
  background-color: #f8fafc;
  pointer-events: none;
}
.dropdown-title[b-djij5e6csi] {
  font-size: 0.875rem;
  font-weight: 600;
}
.dropdown-subtitle[b-djij5e6csi] {
  font-size: 0.75rem;
  color: #6b7280;
}

/* Sticky Header */
.dropdown-header.sticky-header[b-djij5e6csi] {
  position: sticky;
  top: 0;
  z-index: 10;
  background-color: #f8fafc;
  border-bottom: 1px solid #dddde4;
}

/* Dropdown Menu Separator */
.dropdown-separator[b-djij5e6csi] {
  pointer-events: none;
  border-bottom: 1px solid #dddde4;
  margin: 0 0.75rem;
  border: none;
  width: 100%;
}

/* Dropdown Menu Text Content */
.dropdown-content[b-djij5e6csi] {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
  flex: 1;
}

/* Dropdown Menu Item */
.dropdown-item[b-djij5e6csi] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 55px;
  width: 100%;
  border: none;
  padding: 0.5rem 0.75rem;
  background-color: transparent;
  text-align: left;
  transition: all 0.2s ease-in-out;
  color: #374151;
  cursor: pointer;
}
.dropdown-item:hover[b-djij5e6csi],
.dropdown-item:focus[b-djij5e6csi] {
  background-color: #f9fafb;
}
.dropdown-item-title[b-djij5e6csi] {
  font-size: 0.875rem;
  font-weight: 500;
}
.dropdown-item-description[b-djij5e6csi] {
  font-size: 0.75rem;
  color: #6b7280;
}
.dropdown-item[b-djij5e6csi]  .k-icon {
  width: 24px !important;
  height: 24px !important;
}
.dropdown-item[b-djij5e6csi]  svg {
  width: 16px !important;
  height: 16px !important;
}
.dropdown-item[b-djij5e6csi]  svg path {
  fill: currentColor !important;
}

/* ===== HELP DROPDOWN STYLES ===== */

/* Help Menu Header */
.dropdown-header.help[b-djij5e6csi] {
  padding: 0.75rem 1rem;
}

/* Help Menu Item */
.dropdown-item.help[b-djij5e6csi] {
  cursor: default;
  max-width: 320px;
  white-space: normal;
}
.dropdown-item.help a[b-djij5e6csi] {
  text-decoration: none;
  color: #1b8cf8;
}
.dropdown-item.help a:hover[b-djij5e6csi],
.dropdown-item.help a:focus[b-djij5e6csi] {
  text-decoration: underline;
  color: #1b8cf8;
}
.dropdown-item.help a:active[b-djij5e6csi] {
  color: #004085;
}
.dropdown-item.help a:focus[b-djij5e6csi] {
  outline: none;
}

/* ===== PROFILE DROPDOWN STYLES ===== */

/* Profile Menu Header */
.dropdown-header.profile[b-djij5e6csi] {
  pointer-events: none;
  padding: 1rem;
}
.profile-avatar[b-djij5e6csi] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #f3f4f6;
  color: #6b7280;
  flex-shrink: 0;
}

/* Profile Menu Sign Out Item */
.dropdown-item.signout[b-djij5e6csi] {
  color: #ff0000;
}
.dropdown-item.signout:hover[b-djij5e6csi],
.dropdown-item.signout:focus[b-djij5e6csi] {
  background-color: #ffebee;
  color: #ff0000;
}

/* ===== NOTIFICATION DROPDOWN STYLES ===== */

/* Notification Menu Header */
.dropdown-header.notification[b-djij5e6csi] {
  justify-content: space-between;
  padding: 0.75rem 1rem;
  position: sticky;
  top: 0;
  z-index: 10;
}
.dropdown-header.notification .dropdown-subtitle[b-djij5e6csi] {
  font-weight: 500;
}

/* Notification Menu Item */
.dropdown-item.notification[b-djij5e6csi] {
  justify-content: space-between;
  border-left: 3px solid transparent;
}
.dropdown-item.unread[b-djij5e6csi] {
  border-left-color: #ff8500;
}
.dropdown-item.unread:hover[b-djij5e6csi],
.dropdown-item.unread:focus[b-djij5e6csi] {
  background-color: #fff8f1;
}
.dropdown-item.unread .dropdown-item-title[b-djij5e6csi] {
  font-weight: 600;
}
.dropdown-item.read[b-djij5e6csi] {
  background-color: transparent;
}
.dropdown-item.read .dropdown-item-title[b-djij5e6csi] {
  color: #6b7280;
}

/* Notifications Menu Indicator */
.notification-indicator[b-djij5e6csi] {
  margin-left: 0.5rem;
}
.notification-indicator .unread-dot[b-djij5e6csi] {
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #3b82f6;
  border-radius: 50%;
  flex-shrink: 0;
}

/* Notifications Menu See All */
.dropdown-item.see-all[b-djij5e6csi] {
  color: #3b82f6;
  justify-content: flex-end;
  text-align: right;
  gap: 0;
}
.dropdown-item.see-all:hover[b-djij5e6csi],
.dropdown-item.see-all:focus[b-djij5e6csi] {
  color: #2563eb;
}

/* Notification Menu Empty Item */
.dropdown-item.empty[b-djij5e6csi] {
  color: #16a34a;
  cursor: default;
}
.dropdown-item.empty:hover[b-djij5e6csi],
.dropdown-item.empty:focus[b-djij5e6csi] {
  color: #16a34a;
}
.dropdown-item.empty .dropdown-item-title[b-djij5e6csi] {
  color: #6b7280;
}
.dropdown-item.empty[b-djij5e6csi]  svg {
  width: 18px !important;
  height: 18px !important;
}

/* ===== SIGN IN LINK ===== */
.signin-link[b-djij5e6csi] {
  text-decoration: none;
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.5rem 0;
  cursor: pointer;
}

.signin-link:hover[b-djij5e6csi],
.signin-link:focus[b-djij5e6csi] {
  text-decoration: underline;
}

.signin-link:focus[b-djij5e6csi] {
  outline: 2px solid #3b82f6;
  outline-offset: 2px;
  border-radius: 4px;
}

/* ===== NAV MENU HEADER SECTION ===== */

/* CPower Logo Link (Desktop) */
.nav-menu-home-link[b-djij5e6csi] {
  overflow: hidden;
  text-align: center;
}
.nav-menu-home-link div[b-djij5e6csi] {
  margin: 0 auto;
  transition: width 225ms cubic-bezier(0.4, 0, 0.6, 1);
}
.nav-menu-home-link.expanded div[b-djij5e6csi] {
  width: 165px;
}
.nav-menu-home-link.collapsed div[b-djij5e6csi] {
  width: 40px;
}
.nav-logo[b-djij5e6csi] {
  display: block;
  width: auto;
}
.nav-logo--full[b-djij5e6csi] {
  height: 52px;
  margin: 0 auto;
}
.nav-logo--mark[b-djij5e6csi] {
  height: 38px;
  margin: 0 auto;
}

/* ===== NAV MENU BODY SECTION ===== */

/* Navigation Items */
.nav-menu-items[b-djij5e6csi] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.5rem 0;
}

/* ===== NAV MENU FOOTER SECTION ===== */

/* Impersonation Banner */
.impersonation-banner[b-djij5e6csi] {
  padding: 0.5rem;
  background-color: #fef3c7;
  border: 1px solid #fbbf24;
  border-radius: 0.5rem;
}

.impersonation-banner-content[b-djij5e6csi] {
  display: flex;
  flex-direction: column;
}

.impersonation-banner-label[b-djij5e6csi] {
  font-size: 0.625rem;
  font-weight: 500;
  color: #92400e;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.impersonation-banner-user[b-djij5e6csi] {
  font-size: 0.75rem;
  color: #78350f;
  word-break: break-word;
}

.impersonation-banner-button[b-djij5e6csi] {
  margin-top: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #fbbf24;
  color: #78350f;
  font-size: 0.75rem;
  font-weight: 500;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.impersonation-banner-button:hover:not(:disabled)[b-djij5e6csi] {
  background-color: #f59e0b;
}
.impersonation-banner-button:disabled[b-djij5e6csi] {
  opacity: 0.6;
}

/* Company Context Banner */
/* Sits on the dark navy sidebar, so the block reads as a bordered panel on that surface
   rather than the light-blue card it used to be, per the UI/UX reference. */
.company-banner[b-djij5e6csi] {
  padding: 0.75rem;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0.5rem;
}

.company-banner-content[b-djij5e6csi] {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.company-banner-label[b-djij5e6csi] {
  font-size: 0.625rem;
  font-weight: 500;
  color: #b8c4d9;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.company-banner-name[b-djij5e6csi] {
  font-size: 0.8125rem;
  font-weight: 700;
  color: #ffffff;
  word-break: break-word;
}

.company-banner-collapsed[b-djij5e6csi] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  color: #1e40af;
}

@media (max-width: 768px) {
  .notification-list-modal[b-djij5e6csi] {
    width: 350px !important;
  }

  .signin-link[b-djij5e6csi] {
    font-size: 0.8125rem;
  }
}

@media (min-width: 641px) {
  .page[b-djij5e6csi] {
    flex-direction: row;
  }

  .content[b-djij5e6csi] {
    padding-left: 2rem;
    padding-right: 1.5rem;
  }
}

.page.error-page[b-djij5e6csi] {
  flex-direction: column;
}

.page.error-page main[b-djij5e6csi] {
  width: 100%;
}

.page.error-page .content[b-djij5e6csi] {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}

@media (prefers-contrast: high) {
  .signin-link:focus[b-djij5e6csi] {
    outline: 3px solid #000000 !important;
  }

  .signin-link[b-djij5e6csi] {
    color: #000000;
  }
}

@media (prefers-reduced-motion: reduce) {
  .signin-link[b-djij5e6csi] {
    transition: none !important;
  }
}

.k-window[b-djij5e6csi] {
    border-radius: 6px;
}
/* _content/Portal.Web/Components/Layout/Modals/GeneratingContactModal.razor.rz.scp.css */
.generating-contact-content[b-37c7ix59vz] {
  text-align: center;
  padding: 2rem;
}

.generating-contact-content h3[b-37c7ix59vz] {
  margin-bottom: 1rem;
  color: #333;
  font-size: 1.5rem;
}

.generating-contact-content p[b-37c7ix59vz] {
  margin-bottom: 2rem;
  color: #666;
  font-size: 1rem;
}
/* _content/Portal.Web/Components/Layout/Modals/NotificationDetailModal.razor.rz.scp.css */
.notification-modal-title[b-2ermtua800] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 1;
  font-weight: 600;
}

.notification-detail-content .notification-subject[b-2ermtua800] {
  margin-bottom: 1rem;
  font-size: 1.125rem;
}

.notification-detail-content .notification-description[b-2ermtua800] {
  margin-bottom: 1rem;
  line-height: 1.6;
  color: #374151;
}

.notification-detail-content .notification-metadata[b-2ermtua800] {
  margin-bottom: 1.25rem;
  padding: 0.75rem;
  background-color: #f8fafc;
  border-radius: 6px;
  border-left: 4px solid #3b82f6;
}

.notification-detail-content .notification-metadata p[b-2ermtua800] {
  margin: 0.25rem 0;
  font-size: 0.875rem;
}

.notification-detail-content .notification-actions[b-2ermtua800] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  padding-top: 1rem;
}
/* _content/Portal.Web/Components/Layout/Modals/UserRoleUpdateModal.razor.rz.scp.css */
.user-role-update-title[b-7u2cf88ows] {
  display: flex;
  align-items: center;
  flex: 1;
  gap: 10px;
}

.user-role-update-content[b-7u2cf88ows] {
  text-align: center;
  padding: 1.5rem;
}

.user-role-update-content h3[b-7u2cf88ows] {
  margin-bottom: 0.5rem;
  color: #333;
  font-size: 1.25rem;
}

.user-role-update-content p[b-7u2cf88ows] {
  margin-bottom: 1.5rem;
  color: #666;
  line-height: 1.5;
}
/* _content/Portal.Web/Components/Layout/NavBar/NavBar.razor.rz.scp.css */
.navbar[b-e2etk9l5bd] {
  background-color: #f8f8f8;
  border-bottom: 1px solid #d6d5d5;
  width: 100%;
  height: 48px;
  position: sticky;
  top: 0;
  z-index: 100;
}

.navbar-container[b-e2etk9l5bd] {
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 0 2rem;
}

.navbar-left[b-e2etk9l5bd],
.navbar-right[b-e2etk9l5bd] {
  display: flex;
  align-items: center;
}

.navbar-actions[b-e2etk9l5bd],
.navbar-signin[b-e2etk9l5bd] {
  display: flex;
  align-items: center;
  margin-left: auto;
}

@media (max-width: 768px) {
  .navbar-container[b-e2etk9l5bd] {
    padding: 0 0.75rem;
  }
}

@media (max-width: 480px) {
  .navbar-container[b-e2etk9l5bd] {
    padding: 0 0.5rem;
  }
}

@media (prefers-contrast: high) {
  .navbar[b-e2etk9l5bd] {
    border-bottom: 2px solid #000000;
    background-color: #ffffff;
  }
}
/* _content/Portal.Web/Components/Layout/NavBar/NavBarActionItem.razor.rz.scp.css */
.navbar-action-item[b-1tnb4wtwpg] {
  position: relative;
  list-style-type: none;
}

[b-1tnb4wtwpg] .navbar-action-button {
  background: transparent !important;
  border: none !important;
  color: #363c49 !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  transition: background-color 0.2s ease !important;
}

[b-1tnb4wtwpg] .navbar-action-button:hover {
  background-color: rgba(55, 65, 81, 0.1) !important;
}

[b-1tnb4wtwpg] .navbar-action-button:focus {
  background-color: rgba(55, 65, 81, 0.1) !important;
}

[b-1tnb4wtwpg] .navbar-action-button:active {
  background-color: rgba(55, 65, 81, 0.15) !important;
}

[b-1tnb4wtwpg] .navbar-action-button.icon-only .k-button-text {
  display: none !important;
}

[b-1tnb4wtwpg] .navbar-action-button .k-icon,
[b-1tnb4wtwpg] .navbar-action-button svg {
  color: #374151 !important;
  font-size: 24px !important;
  width: 24px !important;
  height: 24px !important;
}

[b-1tnb4wtwpg] .navbar-action-button svg path:hover {
  fill: currentColor !important;
}

.has-badge[b-1tnb4wtwpg] {
  position: relative;
}

@media (max-width: 768px) {
  [b-1tnb4wtwpg] .navbar-action-button {
    width: 28px !important;
    height: 28px !important;
  }

  [b-1tnb4wtwpg] .navbar-action-button .k-icon,
  [b-1tnb4wtwpg] .navbar-action-button svg {
    width: 20px !important;
    height: 20px !important;
    font-size: 20px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  [b-1tnb4wtwpg] .navbar-action-button {
    transition: none !important;
  }
}
/* _content/Portal.Web/Components/Layout/NavBar/NavBarDropdownItem.razor.rz.scp.css */
.navbar-dropdown-item[b-cdscylbajr] {
  position: relative;
  list-style-type: none;
}

[b-cdscylbajr] .navbar-dropdown-button {
  background: transparent !important;
  border: none !important;
  color: #363c49 !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  transition: background-color 0.2s ease !important;
}

[b-cdscylbajr] .navbar-dropdown-button:hover {
  background-color: rgba(55, 65, 81, 0.1) !important;
}

[b-cdscylbajr] .navbar-dropdown-button:focus {
  background-color: rgba(55, 65, 81, 0.1) !important;
}

[b-cdscylbajr] .navbar-dropdown-button:active {
  background-color: rgba(55, 65, 81, 0.15) !important;
}

[b-cdscylbajr] .navbar-dropdown-button.icon-only .k-button-text {
  display: none !important;
}

[b-cdscylbajr] .navbar-dropdown-button .k-icon,
[b-cdscylbajr] .navbar-dropdown-button svg {
  color: #374151 !important;
  font-size: 24px !important;
  width: 24px !important;
  height: 24px !important;
}

[b-cdscylbajr] .navbar-dropdown-button svg path:hover {
  fill: currentColor !important;
}

.has-badge[b-cdscylbajr] {
  position: relative;
}

@media (max-width: 768px) {
  [b-cdscylbajr] .navbar-dropdown-button {
    width: 28px !important;
    height: 28px !important;
  }

  [b-cdscylbajr] .navbar-dropdown-button .k-icon,
  [b-cdscylbajr] .navbar-dropdown-button svg {
    width: 20px !important;
    height: 20px !important;
    font-size: 20px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  [b-cdscylbajr] .navbar-dropdown-button {
    transition: none !important;
  }
}
/* _content/Portal.Web/Components/Layout/NavMenu/NavMenu.razor.rz.scp.css */
.nav-menu-wrapper[b-egp0geuzdk] {
  position: relative;
  height: 100%;
}

.nav-menu[b-egp0geuzdk] {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #020244;
  color: #ffffff;
  height: 100%;
  overflow: hidden;
}

/* Expand/Collapse Toggle */
.nav-menu-toggle[b-egp0geuzdk] {
  position: absolute;
  top: 60px;
  right: -12px;
  border-radius: 6px;
  box-shadow:
    0 4px 6px -1px rgb(0 0 0 / 0.1),
    0 2px 4px -2px rgb(0 0 0 / 0.1);
  height: 24px;
  width: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: solid 2px #ffffff;
  z-index: 10;
}

/* ===== HEADER SECTION ===== */

/* Environment Banner */
.env-banner[b-egp0geuzdk] {
  position: absolute;
  top: 8px;
  right: -32px;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 104px;
  height: 23px;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: #ffffff;
  background: linear-gradient(135deg, #ff6b35 0%, #ff8c42 100%);
  box-shadow: 0 2px 8px rgba(255, 107, 53, 0.4);
  transform: rotate(45deg);
}

.nav-menu-header[b-egp0geuzdk] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  flex-shrink: 0;
}

/* ===== BODY SECTION ===== */

.nav-menu-content[b-egp0geuzdk] {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 1rem;
}
.nav-menu-content[b-egp0geuzdk]::-webkit-scrollbar {
  width: 0.375rem;
}
.nav-menu-content[b-egp0geuzdk]::-webkit-scrollbar-track {
  background: transparent;
}
.nav-menu-content[b-egp0geuzdk]::-webkit-scrollbar-thumb {
  background-color: var(--color-scrollbar, #d1d5db);
  border-radius: 0.25rem;
}
.nav-menu-content[b-egp0geuzdk]::-webkit-scrollbar-thumb:hover {
  background-color: var(--color-scrollbar-hover, #9ca3af);
}

/* ===== FOOTER SECTION ===== */

.nav-menu-footer[b-egp0geuzdk] {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 1rem;
  flex-shrink: 0;
}
/* _content/Portal.Web/Components/Layout/NavMenu/NavMenuItem.razor.rz.scp.css */
.nav-menu-item[b-sy1z6ekqqr] {
  --cp-nav-menu-item-text-color: #ffffff;
  --cp-nav-menu-item-color-hover: #4c4c73;
  --cp-nav-menu-item-color-active: #1b8cf8;
}

.nav-menu-link[type='button'][b-sy1z6ekqqr] {
  text-align: left;
  border: none;
}

.nav-menu-item[b-sy1z6ekqqr]  .nav-menu-link {
  display: flex;
  align-items: center;
  color: var(--cp-nav-menu-item-text-color);
  text-decoration: none;
  border-radius: 4px;
  background: none;
  transition:
    background-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
    color 150ms cubic-bezier(0.4, 0, 0.2, 1),
    justify-content 225ms cubic-bezier(0.4, 0, 0.6, 1),
    padding 225ms cubic-bezier(0.4, 0, 0.6, 1);
  cursor: pointer;
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  min-height: 48px;
}

.nav-menu-item.expanded[b-sy1z6ekqqr]  .nav-menu-link {
  justify-content: flex-start;
  padding: 0.75rem 1rem;
}

.nav-menu-item.collapsed[b-sy1z6ekqqr]  .nav-menu-link {
  justify-content: center;
  padding: 0.75rem;
}

.nav-menu-item[b-sy1z6ekqqr]  .nav-menu-link:hover {
  background-color: var(--cp-nav-menu-item-color-hover);
  color: var(--cp-nav-menu-item-text-color);
}

.nav-menu-item[b-sy1z6ekqqr]  .nav-menu-link.active {
  background-color: var(--cp-nav-menu-item-color-active);
  color: var(--cp-nav-menu-item-text-color);
}

.nav-menu-item[b-sy1z6ekqqr]  .nav-menu-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.nav-menu-item.expanded[b-sy1z6ekqqr]  .nav-menu-icon {
  margin-right: 0.75rem;
}

.nav-menu-item.collapsed[b-sy1z6ekqqr]  .nav-menu-icon {
  margin-right: 0;
}

.nav-menu-item.expanded[b-sy1z6ekqqr]  .nav-menu-label {
  opacity: 1;
}

.nav-menu-item.collapsed[b-sy1z6ekqqr]  .nav-menu-label {
  opacity: 0;
}

.nav-menu-item[b-sy1z6ekqqr]  .nav-menu-label {
  flex: 1 1 auto;
  font-size: 0.938rem;
  line-height: 100%;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Loading state */
.nav-menu-item.loading[b-sy1z6ekqqr] {
  pointer-events: none;
}

.nav-menu-item.loading[b-sy1z6ekqqr]  .nav-menu-icon {
  animation: rotate-b-sy1z6ekqqr 1s linear infinite;
}

@keyframes rotate-b-sy1z6ekqqr {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
/* _content/Portal.Web/Components/Pages/CalcEngineEventDetail.razor.rz.scp.css */
.page[b-g2x3j4vbzs] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.page-header-content[b-g2x3j4vbzs] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 100%;
  gap: 0.25rem;
}

.title-row[b-g2x3j4vbzs] {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.page-header-content h1[b-g2x3j4vbzs] {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  color: #2d3748;
  white-space: nowrap;
  margin: 0;
}

.page-header-content[b-g2x3j4vbzs]  .k-button {
  padding: 0 !important;
  color: #1b8cf8 !important;
  font-size: 1rem !important;
  line-height: 100% !important;
}

.page-header-content[b-g2x3j4vbzs]  .k-button:hover,
.page-header-content[b-g2x3j4vbzs]  .k-button:active {
  color: #1b8cf8 !important;
}

.page-header-content[b-g2x3j4vbzs]  .k-button:focus {
  box-shadow: none !important;
}

.message[b-g2x3j4vbzs] {
  display: flex;
  gap: 0.5rem;
  padding: 0.5rem 0;
  font-size: 1rem;
}

.message span[b-g2x3j4vbzs] {
  padding: 0.125rem 0;
}

.message .k-icon[b-g2x3j4vbzs] {
  flex-shrink: 0;
}

.message.info[b-g2x3j4vbzs] {
  color: #4a5568;
}

.message.info[b-g2x3j4vbzs]  path {
  fill: #4a5568;
  cursor: default;
}

.message.error[b-g2x3j4vbzs] {
  color: #c53030;
}

.message.error[b-g2x3j4vbzs]  path {
  fill: #c53030;
  cursor: default;
}

.page-content[b-g2x3j4vbzs] {
  max-width: 100%;
  flex: 1;
}

@media (max-width: 768px) {
  .title-row[b-g2x3j4vbzs] {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .page-header-content h1[b-g2x3j4vbzs] {
    font-size: 1.25rem;
  }
  .page-header-content[b-g2x3j4vbzs]  .k-button {
    font-size: 0.75rem !important;
  }
}
/* _content/Portal.Web/Components/Pages/CompanySelectNonInt.razor.rz.scp.css */
.company-select-container[b-9cwstp92xm] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.page-header-modern[b-9cwstp92xm] {
  margin-bottom: 1rem;
}

.page-title-modern[b-9cwstp92xm] {
  font-size: 2rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
}

.greeting[b-9cwstp92xm] {
  font-size: 1.125rem;
  font-weight: 600;
  color: #2d3748;
  margin: 0;
}

.description[b-9cwstp92xm] {
  font-size: 0.875rem;
  color: #4a5568;
  line-height: 1.6;
  margin: 0;
}

.loading-container[b-9cwstp92xm] {
  position: relative;
  min-height: 200px;
}
/* _content/Portal.Web/Components/Pages/Dashboard.razor.rz.scp.css */
.dashboard-page[b-pded6tqsjm] {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.5rem;
  background: #f8f9fa;
  min-height: 100%;
  border-radius: 8px;
}

.dashboard-grid[b-pded6tqsjm] {
  display: grid;
  grid-template-columns: 30fr 70fr;
  gap: 1.5rem;
  align-items: start;
}

.dashboard-col-left[b-pded6tqsjm] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.dashboard-col-right[b-pded6tqsjm] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media (max-width: 1024px) {
  .dashboard-grid[b-pded6tqsjm] {
    grid-template-columns: 1fr;
  }
}
/* _content/Portal.Web/Components/Pages/EnrollmentDisplayConfig.razor.rz.scp.css */
.admin-page[b-fovrtvvb6x] { padding: 24px; }
.admin-header h3[b-fovrtvvb6x] { margin: 0 0 4px 0; }
.admin-header p[b-fovrtvvb6x] { color: #666; margin-bottom: 24px; }
.config-form[b-fovrtvvb6x] { max-width: 900px; }
.form-row[b-fovrtvvb6x] { margin-bottom: 16px; }
.form-group[b-fovrtvvb6x] { display: flex; flex-direction: column; gap: 4px; }
.form-label[b-fovrtvvb6x] { font-weight: 600; }
.config-rows-table[b-fovrtvvb6x] { width: 100%; border-collapse: collapse; margin-top: 8px; }
.config-rows-table th[b-fovrtvvb6x] { text-align: left; padding: 8px; border-bottom: 1px solid #ddd; }
.config-rows-table td[b-fovrtvvb6x] { padding: 8px; border-bottom: 1px solid #f0f0f0; vertical-align: middle; }
.field-key[b-fovrtvvb6x] { color: #999; font-size: 0.85em; }
.form-actions[b-fovrtvvb6x] { margin-top: 24px; display: flex; align-items: center; gap: 12px; }
.save-success[b-fovrtvvb6x] { color: #2a7a2a; }
.save-error[b-fovrtvvb6x] { color: #b00020; }
.not-authorized[b-fovrtvvb6x] { padding: 32px; text-align: center; color: #b00020; }
/* _content/Portal.Web/Components/Pages/EventPerformance.razor.rz.scp.css */
.page[b-711akdrs6m] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.page-header-content[b-711akdrs6m] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 100%;
  gap: 0.25rem;
}
.title-row[b-711akdrs6m] {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.page-header-content h1[b-711akdrs6m] {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  color: #2d3748;
  white-space: nowrap;
  margin: 0;
}

.page-header-content[b-711akdrs6m]  .k-button {
  padding: 0 !important;
  color: #1b8cf8 !important;
  font-size: 1rem !important;
  line-height: 100% !important;
}
.page-header-content[b-711akdrs6m]  .k-button:hover,
.page-header-content[b-711akdrs6m]  .k-button:active {
  color: #1b8cf8 !important;
}
.page-header-content[b-711akdrs6m]  .k-button:focus {
  box-shadow: none !important;
}

.tooltip-target[b-711akdrs6m] {
  cursor: default;
  display: inline-flex;
  align-items: center;
  border-radius: 50%;
  color: #1b8cf8;
}
.tooltip-target[b-711akdrs6m]  path {
  cursor: inherit;
  fill: #1b8cf8;
}
.tooltip-content[b-711akdrs6m] {
  max-width: 300px;
}

.page-info[b-711akdrs6m] {
  display: flex;
  gap: 2rem;
  align-items: center;
  padding: 1rem 2rem;
}
.page-info p[b-711akdrs6m] {
  font-size: 0.875rem;
  font-weight: 400;
  color: #2d3748;
  margin: 0;
}

.message[b-711akdrs6m] {
  display: flex;
  gap: 0.5rem;
  padding: 0.5rem 0;
  font-size: 1rem;
}
.message span[b-711akdrs6m] {
  padding: 0.125rem 0;
}
.message .k-icon[b-711akdrs6m] {
  flex-shrink: 0;
}
.message.info[b-711akdrs6m] {
  color: #4a5568;
}
.message.info[b-711akdrs6m]  path {
  fill: #4a5568;
  cursor: default;
}
.message.error[b-711akdrs6m] {
  color: #c53030;
}
.message.error[b-711akdrs6m]  path {
  fill: #c53030;
  cursor: default;
}
.message.loading[b-711akdrs6m] {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.page-content[b-711akdrs6m] {
  max-width: 100%;
  flex: 1;
}

/* Read-only filter chip strip — visually distinct from header chips: gray, no hover, no remove. */
.readonly-filter-chips[b-711akdrs6m] {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #e2e8f0;
  width: 100%;
}

.readonly-chip[b-711akdrs6m] {
  padding: 3px 10px;
  background: #f1f5f9;
  color: #475569;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
  border: 1px solid #e2e8f0;
  white-space: nowrap;
  user-select: text;
}

@media (max-width: 768px) {
  .title-row[b-711akdrs6m] {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .page-header-content h1[b-711akdrs6m] {
    font-size: 1.25rem;
  }
  .page-header-content[b-711akdrs6m]  .k-button {
    font-size: 0.75rem !important;
  }
  .readonly-chip[b-711akdrs6m] {
    white-space: normal;
    max-width: 100%;
    padding: 2px 8px;
    font-size: 0.7rem;
    line-height: 1.35;
  }
}
/* _content/Portal.Web/Components/Pages/Facilities.razor.rz.scp.css */
/* ===================================================================
   Facilities page – scoped styles (creative rethink)
   =================================================================== */

/* Screen-reader only (keeps test ID without visual) */
.sr-only[b-p131tvw7ez] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Page wrapper: subtle gray background matching Dashboard */
.facilities-page[b-p131tvw7ez] {
    background: #f8f9fa;
    min-height: 100%;
    border-radius: 8px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* --- Page Header Row: title left, selector right --- */

.page-header-row[b-p131tvw7ez] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.page-header-left[b-p131tvw7ez] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.page-header-right[b-p131tvw7ez] {
    flex-shrink: 0;
    padding-top: 0.25rem;
}


.page-title-modern[b-p131tvw7ez] {
    font-size: 2rem;
    font-weight: 700;
    color: #2d3748;
    margin: 0;
    font-family: 'Public Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.page-description[b-p131tvw7ez] {
    font-size: 0.875rem;
    color: #64748b;
    line-height: 1.5;
    margin: 0;
}

/* --- Stats Strip --- */

.stats-strip[b-p131tvw7ez] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    padding: 1rem 1.5rem;
    display: inline-flex;
    align-items: baseline;
    gap: 1.5rem;
    width: fit-content;
    max-width: 100%;
}

/* Company name tile — leftmost, no label, truncates if long */
.stat-item.stat-company[b-p131tvw7ez] {
    align-self: center;
    min-width: 0;
    max-width: 240px;
}

.stat-item.stat-company .stat-value[b-p131tvw7ez] {
    font-size: 1rem;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

.stat-item[b-p131tvw7ez] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.stat-value[b-p131tvw7ez] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #2d3748;
    line-height: 1;
}

.stat-label[b-p131tvw7ez] {
    font-size: 0.7rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.stat-label .stat-label-lower[b-p131tvw7ez] {
    text-transform: none;
}

.stat-divider[b-p131tvw7ez] {
    width: 1px;
    height: 28px;
    background: #e2e8f0;
    flex-shrink: 0;
    align-self: center;
}

/* --- Initial Loading States --- */

.initial-load-card[b-p131tvw7ez] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 400px;
}

.table-initial-loader[b-p131tvw7ez] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4rem 0;
}

/* --- Unified Facility Card (filters + table) --- */

.facility-card[b-p131tvw7ez] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

/* --- Filter Bar (top section of card) --- */

.filter-bar[b-p131tvw7ez] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.filter-dropdowns[b-p131tvw7ez] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.dropdown-container[b-p131tvw7ez] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 120px;
}

.dropdown-label[b-p131tvw7ez] {
    margin-bottom: 4px;
    font-weight: 600;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.filter-actions[b-p131tvw7ez] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.search-input-wrap[b-p131tvw7ez] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    min-width: 200px;
    max-width: 360px;
}

[b-p131tvw7ez] .search-btn,
[b-p131tvw7ez] .search-btn.k-button-solid,
[b-p131tvw7ez] .search-btn.k-button-solid-base,
[b-p131tvw7ez] .search-btn.k-button-solid-primary {
    white-space: nowrap;
    background: #1b8cf8 !important;
    border-color: #1b8cf8 !important;
    color: #ffffff !important;
}

[b-p131tvw7ez] .search-btn:hover,
[b-p131tvw7ez] .search-btn.k-button-solid:hover,
[b-p131tvw7ez] .search-btn.k-button-solid-base:hover,
[b-p131tvw7ez] .search-btn.k-button-solid-primary:hover {
    background: #1576d1 !important;
    border-color: #1576d1 !important;
    color: #ffffff !important;
}

[b-p131tvw7ez] .search-btn:focus,
[b-p131tvw7ez] .search-btn.k-focus {
    box-shadow: 0 0 0 2px rgba(27, 140, 248, 0.25) !important;
}

/* Schedule date picker calendar button */
.schedule-date-row[b-p131tvw7ez]  .filter-dropdown .k-input-button,
.schedule-date-row[b-p131tvw7ez]  .filter-dropdown .k-button {
    background: #1b8cf8 !important;
    border-color: #1b8cf8 !important;
    color: #ffffff !important;
}

.schedule-date-row[b-p131tvw7ez]  .filter-dropdown .k-input-button:hover,
.schedule-date-row[b-p131tvw7ez]  .filter-dropdown .k-button:hover {
    background: #1576d1 !important;
    border-color: #1576d1 !important;
}

.schedule-date-row[b-p131tvw7ez]  .filter-dropdown .k-input-button .k-icon,
.schedule-date-row[b-p131tvw7ez]  .filter-dropdown .k-input-button .k-button-icon,
.schedule-date-row[b-p131tvw7ez]  .filter-dropdown .k-button .k-icon {
    color: #ffffff !important;
}

/* Search form: pushed right */
[b-p131tvw7ez] .search-form-right {
    margin-left: auto;
}

/* Add Facility button: ghost/outlined */
[b-p131tvw7ez] .add-facility-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4rem 0.85rem;
    border-radius: 6px;
    border: 1.5px solid #1b8cf8;
    color: #1b8cf8;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    background: transparent;
    white-space: nowrap;
    transition: all 150ms ease;
}

[b-p131tvw7ez] .add-facility-btn:hover {
    background: #e8f4fe;
}

/* --- Filter Pills Bar --- */

.filter-pills-bar[b-p131tvw7ez] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    padding: 0.5rem 1.25rem 0.75rem;
    border-bottom: 1px solid #e2e8f0;
}

.filter-pill[b-p131tvw7ez] {
    padding: 4px 12px;
    background-color: #1b8cf8;
    color: white;
    border-radius: 9999px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    font-weight: 500;
    border: none;
    transition: background-color 150ms ease;
    white-space: nowrap;
}

.filter-pill:hover[b-p131tvw7ez] {
    background-color: #1570cd;
}

.clear-all[b-p131tvw7ez] {
    padding: 4px 12px;
    color: #64748b;
    border-radius: 9999px;
    border: 1px solid #e2e8f0;
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: 500;
    background: white;
    transition: all 150ms ease;
    white-space: nowrap;
}

.clear-all:hover[b-p131tvw7ez] {
    background-color: #f1f5f9;
    color: #475569;
}

/* --- Table Section --- */

.table-section[b-p131tvw7ez] {
    position: relative;
    min-height: 200px;
}

.table-section[b-p131tvw7ez]  .cp-table-container {
    border-radius: 0;
    border: none;
}

.initial-data-loader[b-p131tvw7ez] {
    min-height: 200px;
}

/* --- Detail View: Topbar (breadcrumb + pager) --- */

.detail-topbar[b-p131tvw7ez] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.detail-topbar-left[b-p131tvw7ez] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

/* Back Button (breadcrumb style) */
.back-button[b-p131tvw7ez] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.3rem 0.5rem;
    background: transparent;
    border: none;
    border-radius: 6px;
    color: #1b8cf8;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 150ms ease;
    white-space: nowrap;
}

.back-button:hover[b-p131tvw7ez] {
    background: #eff6ff;
}

.breadcrumb-sep[b-p131tvw7ez] {
    color: #cbd5e1;
    font-size: 0.85rem;
    user-select: none;
}

.breadcrumb-current[b-p131tvw7ez] {
    color: #475569;
    font-size: 0.85rem;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Pager (compact arrow buttons) */
.detail-nav-pager[b-p131tvw7ez] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.nav-pager-btn[b-p131tvw7ez] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #475569;
    cursor: pointer;
    transition: all 150ms ease;
}

.nav-pager-btn:hover[b-p131tvw7ez] {
    background: #f0f7ff;
    border-color: #1b8cf8;
    color: #1b8cf8;
}

.nav-pager-count[b-p131tvw7ez] {
    font-size: 0.75rem;
    color: #94a3b8;
    font-weight: 500;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    padding: 0 0.15rem;
}

/* --- Detail Hero Card --- */

.detail-hero[b-p131tvw7ez] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    position: relative;
}

.detail-hero-accent[b-p131tvw7ez] {
    height: 4px;
    background: linear-gradient(90deg, #1b8cf8 0%, #6366f1 50%, #8b5cf6 100%);
}

.detail-hero-content[b-p131tvw7ez] {
    padding: 1.25rem 1.75rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.detail-hero-title-row[b-p131tvw7ez] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

[b-p131tvw7ez] .hero-edit-btn {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: #475569;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    cursor: pointer;
    transition: all 150ms ease;
}

[b-p131tvw7ez] .hero-edit-btn:hover {
    background: white;
    color: #1e293b;
    border-color: #cbd5e1;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.detail-facility-name[b-p131tvw7ez] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
    line-height: 1.2;
    font-family: 'Public Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.detail-hero-address[b-p131tvw7ez] {
    color: #64748b;
    font-size: 0.875rem;
    margin: -0.25rem 0 0;
    line-height: 1.4;
}

/* Hero Info Strip (horizontal stat tiles) */
.detail-hero-strip[b-p131tvw7ez] {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin-top: 0.25rem;
    background: #f8f9fb;
    border-radius: 10px;
    padding: 0.1rem;
    border: 1px solid #eef1f6;
}

.hero-stat[b-p131tvw7ez] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0.6rem 1.25rem;
    min-width: 0;
    flex: 1;
}

.hero-stat-label[b-p131tvw7ez] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
    white-space: nowrap;
}

.hero-stat-value[b-p131tvw7ez] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hero-stat-divider[b-p131tvw7ez] {
    width: 1px;
    background: #e2e8f0;
    align-self: stretch;
    margin: 0.4rem 0;
    flex-shrink: 0;
}

/* Filter Chips (inside hero) */
.detail-filter-chips[b-p131tvw7ez] {
    display: flex;
    gap: 0.375rem;
    flex-wrap: wrap;
}

.detail-chip[b-p131tvw7ez] {
    padding: 3px 10px;
    background: #eff6ff;
    color: #1b8cf8;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 500;
    white-space: nowrap;
}

/* --- Tabbed Content Card --- */

.facility-navigation[b-p131tvw7ez] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.facility-tabs-container[b-p131tvw7ez] {
    display: flex;
    flex-direction: column;
    padding: 1.25rem 1.75rem 1.75rem;
}

.tabs-with-controls[b-p131tvw7ez] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 1rem;
}

.tabs-right-controls[b-p131tvw7ez] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.tabs-right-controls .dropdown-container[b-p131tvw7ez] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-direction: row;
    min-width: 0;
}

.tabs-right-controls .dropdown-label[b-p131tvw7ez] {
    margin: 0;
    white-space: nowrap;
    text-transform: none;
    font-size: 0.875rem;
    color: #475569;
}

.tabs-right-controls[b-p131tvw7ez]  .filter-dropdown {
    min-width: 200px;
}

/* ========================================
   Facility Timezone Badge (React-mounted, inline with DatePicker)
   ======================================== */

.facility-timezone-badge-mount[b-p131tvw7ez] {
  display: inline-flex;
  align-items: center;
}

/* The outer div is Blazor-owned and carries the scope attribute; the inner
   pieces are rendered by React so we reach them with ::deep. */
.facility-timezone-badge-mount[b-p131tvw7ez]  .facility-timezone-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  border-radius: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #374151;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  width: fit-content;
}

.facility-timezone-badge-mount[b-p131tvw7ez]  .facility-timezone-badge.warning {
  color: #92400e;
  background: #fef3c7;
  border-color: #fcd34d;
}

/* Schedule date row — inside tab panel */
.schedule-date-row[b-p131tvw7ez] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.5rem 0;
}

.schedule-date-label[b-p131tvw7ez] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #475569;
    white-space: nowrap;
}

.schedule-date-row[b-p131tvw7ez]  .filter-dropdown {
    width: 200px;
    max-width: 200px;
}

/* Detail Content Area */
.detail-content-area[b-p131tvw7ez] {
    padding-top: 0.5rem;
}

/* --- Telerik Card/Grid Overrides --- */

[b-p131tvw7ez] .k-card-body {
    padding-block: 0px !important;
    padding-inline: 0px !important;
    outline: 0;
}

[b-p131tvw7ez] .k-grid {
    border-style: none;
}

[b-p131tvw7ez] .k-grid-content .k-alt {
    background-color: white !important;
}

[b-p131tvw7ez] .k-grid-content tr:hover {
    background-color: #f8f9fa !important;
}

[b-p131tvw7ez] .k-grid-content .k-grid-table td {
    border-bottom: 1px solid #e2e8f0 !important;
}

[b-p131tvw7ez] .k-grid .k-grid-header {
    border-bottom: 1px solid #e2e8f0 !important;
    background-color: #f8f9fa !important;
}

[b-p131tvw7ez] .k-table-thead,
[b-p131tvw7ez] .k-table-header,
[b-p131tvw7ez] .k-table-group-sticky-header {
    background-color: #f8f9fa !important;
    color: #64748b;
    font-weight: 600;
}

[b-p131tvw7ez] .k-grid-header,
[b-p131tvw7ez] .k-grid-header-wrap,
[b-p131tvw7ez] .k-grouping-header,
[b-p131tvw7ez] .k-grid .k-table-th,
[b-p131tvw7ez] .k-grid td,
[b-p131tvw7ez] .k-grid .k-table-td,
[b-p131tvw7ez] .k-grid-footer,
[b-p131tvw7ez] .k-grid-footer-wrap,
[b-p131tvw7ez] .k-grid-content-locked,
[b-p131tvw7ez] .k-grid-footer-locked,
[b-p131tvw7ez] .k-grid-header-locked,
[b-p131tvw7ez] .k-filter-row > .k-table-th,
[b-p131tvw7ez] .k-filter-row > td,
[b-p131tvw7ez] .k-filter-row > .k-table-td {
    border-style: none;
}

[b-p131tvw7ez] .k-grid-header .k-header {
    padding-top: 15px;
    padding-bottom: 15px;
    min-height: 50px;
}

[b-p131tvw7ez] .k-grid-content tr.k-detail-row:hover {
    background-color: transparent !important;
}

/* Facility navigation card overrides */
.facility-navigation[b-p131tvw7ez]  .k-card-body {
    padding: 0 !important;
}

/* Filter dropdown z-index fix */
.filter-bar[b-p131tvw7ez]  div.k-animation-container,
.filter-bar[b-p131tvw7ez]  div.k-child-animation-container {
    z-index: 11 !important;
}

/* --- Responsive: 1366px --- */

@media (max-width: 1366px) {
    .filter-dropdowns[b-p131tvw7ez] {
        gap: 10px;
    }

    .dropdown-container[b-p131tvw7ez] {
        min-width: 100px;
    }
}

/* --- Responsive: 1024px --- */

@media (max-width: 1024px) {
    .facilities-page[b-p131tvw7ez] {
        padding: 1rem;
        gap: 1rem;
    }

    .stats-strip[b-p131tvw7ez] {
        padding: 0.75rem 1rem;
        gap: 1rem;
    }

    .stat-value[b-p131tvw7ez] {
        font-size: 1.5rem;
    }

    .filter-dropdowns[b-p131tvw7ez] {
        gap: 8px;
    }

    .filter-actions[b-p131tvw7ez] {
        flex-direction: column;
        align-items: stretch;
    }

    [b-p131tvw7ez] .search-form-right {
        margin-left: 0;
    }

    .search-input-wrap[b-p131tvw7ez] {
        max-width: none;
    }

    .detail-hero-strip[b-p131tvw7ez] {
        flex-wrap: wrap;
    }

    .hero-stat[b-p131tvw7ez] {
        min-width: 120px;
    }

    .hero-stat-divider[b-p131tvw7ez] {
        display: none;
    }
}

/* --- Responsive: 768px --- */

@media (max-width: 768px) {
    .facilities-page[b-p131tvw7ez] {
        padding: 0.75rem;
    }

    .page-header-row[b-p131tvw7ez] {
        flex-direction: column;
        gap: 0.75rem;
    }

    .page-title-modern[b-p131tvw7ez] {
        font-size: 1.5rem;
    }

    .stats-strip[b-p131tvw7ez] {
        flex-wrap: wrap;
        gap: 1rem;
    }

    .stat-divider[b-p131tvw7ez] {
        display: none;
    }

    .stat-item[b-p131tvw7ez] {
        min-width: 60px;
    }

    .filter-dropdowns[b-p131tvw7ez] {
        flex-direction: column;
    }

    .dropdown-container[b-p131tvw7ez] {
        min-width: 0;
    }

    .facility-tabs-container[b-p131tvw7ez] {
        padding: 1rem;
    }

    .tabs-with-controls[b-p131tvw7ez] {
        flex-direction: column;
        align-items: flex-start;
    }

    .detail-topbar[b-p131tvw7ez] {
        flex-wrap: wrap;
    }

    .detail-facility-name[b-p131tvw7ez] {
        font-size: 1.35rem;
    }

    .detail-hero-content[b-p131tvw7ez] {
        padding: 1rem 1.25rem 1.25rem;
    }

    .detail-hero-strip[b-p131tvw7ez] {
        flex-direction: column;
        gap: 0;
    }

    .hero-stat-divider[b-p131tvw7ez] {
        width: 100%;
        height: 1px;
        margin: 0;
    }

    .hero-stat[b-p131tvw7ez] {
        padding: 0.5rem 0.75rem;
        flex-direction: row;
        align-items: center;
        gap: 0.5rem;
    }

    .hero-stat-label[b-p131tvw7ez] {
        min-width: 70px;
    }
}
/* _content/Portal.Web/Components/Pages/Performance.razor.rz.scp.css */
.performance-page[b-4ov76z5leu] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

/* Company + ISO selector pills sit side by side on one row. */
.performance-page-header-row[b-4ov76z5leu] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* Phase B: back-to-ISO-landing breadcrumb row sits above the perf header.
   Mirrors the .back-button pattern used by Facilities.razor.css:357-375 —
   transparent bg, no border, link-style chevron + label. */
.performance-back-row[b-4ov76z5leu] {
  display: flex;
  align-items: center;
}

.back-button[b-4ov76z5leu] {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.3rem 0.5rem;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: #1b8cf8;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 150ms ease;
  white-space: nowrap;
}

.back-button:hover[b-4ov76z5leu] {
  background: #eff6ff;
}

.performance-page[b-4ov76z5leu]  .performance-title {
  gap: 0 !important;
}

.performance-accent[b-4ov76z5leu] {
  display: inline-flex;
  align-items: center;
}

.performance-accent[b-4ov76z5leu]  .k-card {
  border: none !important;
  background: none !important;
}

.performance-accent[b-4ov76z5leu]  .k-card-body,
.performance-accent[b-4ov76z5leu]  .card-body {
  padding: 0 !important;
}

.performance-accent[b-4ov76z5leu]  .k-input-inner {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
}

.performance-body-content[b-4ov76z5leu] {
  display: flex;
  flex-direction: column;
  max-width: 100%;
  padding: 1rem 2rem;
  gap: 1rem;
}

.performance-subtitle[b-4ov76z5leu] {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1;
  color: #2d3748;
  margin: 0;
}

.performance-table-message[b-4ov76z5leu] {
  display: flex;
  gap: 0.5rem;
  padding: 0.5rem 0;
  font-size: 1rem;
}

.performance-table-message span[b-4ov76z5leu] {
  padding: 0.125rem 0;
}

.performance-table-message .k-icon[b-4ov76z5leu] {
  flex-shrink: 0;
}

.performance-table-message.info-message[b-4ov76z5leu] {
  color: #4a5568;
}

.performance-table-message.info-message[b-4ov76z5leu]  path {
  fill: #4a5568;
  cursor: default;
}

.performance-table-message.error-message[b-4ov76z5leu] {
  color: #c53030;
}

.performance-table-message.error-message[b-4ov76z5leu]  path {
  fill: #c53030;
  cursor: default;
}

.performance-table-loading[b-4ov76z5leu] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0;
  font-size: 1rem;
}

.performance-note[b-4ov76z5leu] {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.5rem 1rem;
  background-color: #fffbeb;
  border: 1px solid #fbbf24;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  color: #92400e;
}

.performance-note strong[b-4ov76z5leu] {
  color: #78350f;
}

/* AB#50223 — CAISO "Preliminary" pill shown next to the "Event - {date}" heading. Reuses the
   amber preliminary palette shared by .performance-note and the event-page .settlement-badge. */
.preliminary-pill[b-4ov76z5leu] {
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  border-radius: 24px;
  font-size: 0.875rem;
  font-weight: 700;
  background-color: #fffbeb;
  border: 1px solid #fbbf24;
  color: #92400e;
  white-space: nowrap;
}

/* Gold header card per the UI/UX reference: white on a #e0e0e0 stroke with NO drop shadow.
   This lives at PAGE scope on purpose. PerformanceHeader cannot style it from its own
   stylesheet: the card is the CPPaper root that PerformanceHeader renders, so there is no
   scoped ancestor above it for a ::deep selector to hang off, and such a rule is inert.
   .performance-page carries this page's scope id and IS above it. Including .cp-paper keeps
   this at (0,4,0), comfortably above CPPaper's own .paper-elevation-1 (0,2,0), so the
   shadow is overridden without !important. Gold only — the ISONE header card is untouched. */
.performance-page[b-4ov76z5leu]  .cp-paper.datalake-header-card {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  box-shadow: none;
}

/* Gold (PJM/CAISO datalake) restyle — page-scoped, gold-only. Only the gold else-branch
   body carries .datalake, so ISONE/calc-engine + silver are untouched. The real
   .performance-body-content carries the page scope id, so ::deep reaches the CPTable
   container rendered by the child PerformanceTable (whose own ::deep would be dead). */
.performance-body-content.datalake[b-4ov76z5leu]  .performance-datalake-table {
  --cp-table-header-bg: #d9f2ff;
  --cp-table-header-color: #050505;
  --cp-table-header-font-weight: 600;
  --cp-table-cell-color: #050505;
  --cp-table-cell-font-weight: 400;
  --cp-table-font-size: 13px;
  --cp-table-row-odd-bg: #ffffff;
  --cp-table-row-even-bg: #fafafa;
  --cp-table-cell-padding-y: 12px;
  --cp-table-cell-padding-x: 7px;
  --cp-table-cell-padding-x-first: 7px;
  /* Flex item must be allowed to shrink below its content width, otherwise the table forces
     an ancestor to clip the right-hand columns (Estimated Result / % / View). With min-width:0
     the CPTable's own .cp-table-inner (overflow:auto) owns horizontal scroll INSIDE the card,
     and the Events banner above stays aligned to the same left edge. */
  min-width: 0;
  width: 100%;
  /* L3 (inset-in-inset) of the container strategy: white surface, 8px radius, Neutral-200
     stroke, sitting inside the L2 neutral group. overflow:hidden clips the #d9f2ff header
     band to the rounded top corners. */
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
}

/* The header band has to be re-asserted on the header cells themselves. CPTable puts a
   zebra class on the HEADER row too (GetHeaderRowCss emits header-row + row-even/row-odd),
   and its zebra rule `tr.row-even th` (0,1,2) outranks `th` (0,0,1) — so the
   --cp-table-header-bg set above never reaches the header and it paints the zebra colour
   instead. This selector outranks the zebra rule and is scoped to the gold table, so every
   other CPTable keeps its current appearance. It reads the same variable rather than
   repeating the literal, keeping one source of truth for the band colour. */
.performance-body-content.datalake[b-4ov76z5leu]  .performance-datalake-table thead tr th {
  background-color: var(--cp-table-header-bg);
}

/* Single-line ~48px rows: stop the 3-line wrapping seen in Program/Utility. Horizontal
   scroll is supplied by CPTable's own .cp-table-inner (overflow:auto) when cells overflow. */
.performance-body-content.datalake[b-4ov76z5leu]  .performance-datalake-table td,
.performance-body-content.datalake[b-4ov76z5leu]  .performance-datalake-table th {
  white-space: nowrap;
}

/* Program + Utility + Facility carry free text long enough to blow out the table
   ("Emergency Capacity DR - Seasonal", "Dominion Virginia Power", long facility names):
   cap width and ellipsis instead of forcing extreme table width so the remaining columns fit. */
.performance-body-content.datalake[b-4ov76z5leu]  .performance-datalake-table .datalake-col-clip {
  max-width: 124px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Estimated Result cell: icon + text inline on one line. */
.performance-body-content.datalake[b-4ov76z5leu]  .performance-datalake-table .cp-table-status-cell {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

/* Datalake body: holds the Events heading, the inline filter pills and the table. Sits flush
   on the white L1 card (CPPaper) with no nested surface — transparent, no border — so the
   heading, KPI widgets and table all read on the one white container. Only .datalake is
   affected; the ISONE/silver body keeps its own inset. */
.performance-body-content.datalake[b-4ov76z5leu] {
  margin: 1rem;
  padding: 1rem;
  gap: 1rem;
  background: transparent;
}

/* Heading row: title on the left, Export pinned right. The filter pills are their own tier
   below, so this row is just the two. */
.performance-body-content.datalake .performance-subtitle-row[b-4ov76z5leu] {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.performance-body-content.datalake .perf-subtitle-export[b-4ov76z5leu] {
  margin-left: auto;
}

/* Events heading: 20px/600 per the UI/UX reference (previously 14px/700 on a flush white
   strip). Sits on the L2 neutral surface above the inset table. */
.performance-body-content.datalake .performance-subtitle[b-4ov76z5leu] {
  color: #050505;
  font-size: 20px;
  font-weight: 600;
  padding: 0;
}

/* Empty/error/loading states get their own inset (the body no longer supplies one) so the
   message is not jammed against the card edge directly under the flush Events strip. */
.performance-body-content.datalake .performance-table-message[b-4ov76z5leu],
.performance-body-content.datalake .performance-table-loading[b-4ov76z5leu] {
  padding: 1.25rem 1.5rem;
}

/* Flatten the shared CPTable paginator (gold only): the default has a gradient bar, drop
   shadow, shine-sweep buttons, and boxed "Page X of Y" / record-count labels that read as
   clunky. Reduce to a clean flat footer with plain-text labels and subtle prev/next buttons. */
.performance-body-content.datalake[b-4ov76z5leu]  .cp-table-paginator {
  background: #ffffff;
  box-shadow: none;
  border-top: 1px solid #e2e8f0;
  padding: 12px 16px;
}

.performance-body-content.datalake[b-4ov76z5leu]  .cp-table-paginator .pagination-btn {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  box-shadow: none;
  color: #334155;
  font-size: 13px;
  padding: 6px 12px;
}

.performance-body-content.datalake[b-4ov76z5leu]  .cp-table-paginator .pagination-btn::before {
  display: none;
}

.performance-body-content.datalake[b-4ov76z5leu]  .cp-table-paginator .pagination-btn:hover:not(:disabled) {
  background: #f4f6f8;
  border-color: #cbd5e1;
  transform: none;
  box-shadow: none;
}

/* "Page X of Y" and "N of M" render as plain text, not bordered pills. */
.performance-body-content.datalake[b-4ov76z5leu]  .cp-table-paginator .page-info,
.performance-body-content.datalake[b-4ov76z5leu]  .cp-table-paginator .record-info {
  background: transparent;
  border: none;
  padding: 0;
  color: #64748b;
  font-size: 13px;
}

/* Pagination sits at the bottom LEFT of the container per the UI/UX reference. The gold
   table supplies no PageSizeOptions, so .pagination-left is empty and is collapsed here to
   let the numbered controls take the leading edge; the record range stays right-aligned. */
.performance-body-content.datalake[b-4ov76z5leu]  .cp-table-paginator .pagination-left {
  display: none;
}

.performance-body-content.datalake[b-4ov76z5leu]  .cp-table-paginator .pagination-center {
  flex: 1 1 auto;
  display: flex;
  justify-content: flex-start;
}

.performance-body-content.datalake[b-4ov76z5leu]  .cp-table-paginator .page-number-controls {
  display: flex;
  align-items: center;
  gap: 4px;
}

.performance-body-content.datalake[b-4ov76z5leu]  .cp-table-paginator .page-number,
.performance-body-content.datalake[b-4ov76z5leu]  .cp-table-paginator .page-step {
  min-width: 30px;
  height: 30px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.performance-body-content.datalake[b-4ov76z5leu]  .cp-table-paginator .page-number.active {
  background: #d9f2ff;
  border-color: #1b8cf8;
  color: #050505;
  font-weight: 600;
}

/* No-Data (Info) status icon: grey tint only — glyph/text unchanged.
   Success/Warning/Error already carry their own colors. */
.performance-body-content.datalake[b-4ov76z5leu]  .performance-datalake-table .status-info .status-icon {
  color: #979797;
}

.calc-engine-wrapper[b-4ov76z5leu] {
  position: relative;
  min-height: 200px;
}

.calc-engine-container[b-4ov76z5leu] {
  min-height: 200px;
}

.calc-engine-overlay[b-4ov76z5leu] {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.enerwise-dashboard-wrapper[b-4ov76z5leu] {
  position: relative;
  min-height: 200px;
}

.enerwise-dashboard-overlay[b-4ov76z5leu] {
  position: absolute;
  inset: 0;
  z-index: 20;
}

@media (max-width: 768px) {
  .performance-accent[b-4ov76z5leu] {
    font-size: 1.125rem;
  }

  .performance-accent[b-4ov76z5leu]  .k-input-inner {
    font-size: 1rem !important;
  }

  .performance-table-message[b-4ov76z5leu],
  .performance-table-loading[b-4ov76z5leu] {
    font-size: 0.875rem;
  }
}
/* _content/Portal.Web/Components/Pages/PerformanceLanding.razor.rz.scp.css */
/* Page chrome — mirrors Facilities page tokens */
.performance-landing-page[b-i8c8qmrnkx] {
    background: #f8f9fa;
    min-height: 100%;
    border-radius: 8px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.page-header-row[b-i8c8qmrnkx] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.page-header-left[b-i8c8qmrnkx] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.page-header-right[b-i8c8qmrnkx] {
    flex-shrink: 0;
    padding-top: 0.25rem;
}

.page-title-modern[b-i8c8qmrnkx] {
    font-size: 2rem;
    font-weight: 700;
    color: #2d3748;
    margin: 0;
    font-family: 'Public Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.page-description[b-i8c8qmrnkx] {
    font-size: 0.875rem;
    color: #64748b;
    line-height: 1.5;
    margin: 0;
}

/* Stats strip — mirrors Facilities page layout */
.stats-strip[b-i8c8qmrnkx] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    padding: 1rem 1.5rem;
    display: inline-flex;
    align-items: baseline;
    gap: 1.5rem;
    width: fit-content;
    max-width: 100%;
}

.stat-item.stat-company[b-i8c8qmrnkx] {
    align-self: center;
    min-width: 0;
    max-width: 240px;
}

.stat-item.stat-company .stat-value[b-i8c8qmrnkx] {
    font-size: 1rem;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

.stat-item[b-i8c8qmrnkx] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.stat-value[b-i8c8qmrnkx] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #2d3748;
    line-height: 1;
}

.stat-label[b-i8c8qmrnkx] {
    font-size: 0.7rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.stat-label .stat-label-lower[b-i8c8qmrnkx] {
    text-transform: none;
}

.stat-divider[b-i8c8qmrnkx] {
    width: 1px;
    height: 28px;
    background: #e2e8f0;
    flex-shrink: 0;
    align-self: center;
}

/* Low-performers slot — sits below iso-card-grid */
.low-performers-slot[b-i8c8qmrnkx] {
    width: 100%;
}

/* ISO card grid — 3-up responsive */
.iso-card-grid[b-i8c8qmrnkx] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

@media (max-width: 1024px) {
    .iso-card-grid[b-i8c8qmrnkx] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .iso-card-grid[b-i8c8qmrnkx] {
        grid-template-columns: 1fr;
    }
}

/* _content/Portal.Web/Components/Pages/Resources.razor.rz.scp.css */
.resources-container[b-tpsycxocvc] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.resources-tabs-container[b-tpsycxocvc] {
  padding: 0.5rem 1.125rem;
}


/* _content/Portal.Web/Components/Pages/SettlementBadge.razor.rz.scp.css */
.settlement-badge[b-jvh3hzy8ce] {
  display: inline-flex;
  align-items: center;
  padding: 8px 20px;
  border-radius: 24px;
  font-size: 14px;
  font-weight: 700;
  background-color: #fffbeb;
  border: 1px solid #fbbf24;
  color: #92400e;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .settlement-badge[b-jvh3hzy8ce] {
    padding: 6px 14px;
    font-size: 12px;
  }
}
/* _content/Portal.Web/Components/Pages/SignIn.razor.rz.scp.css */
.signin[b-u0v3j4f0h5] {
    --brand: #020244;
    --brand-hover: #12125e;
    --muted: #605e5c;
    --line: #e1dfdd;
    --focus: #0079a6;
    position: fixed;
    inset: 0;
    display: flex;
    background: var(--brand);
    color: var(--brand);
    font-family: "Segoe UI", "Segoe UI Web (West European)", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif;
}

.signin-illustration[b-u0v3j4f0h5] {
    flex: 1 1 auto;
    min-width: 0;
    background: url("/img/signin/background.jpg") center / cover no-repeat;
}

.signin-panel[b-u0v3j4f0h5] {
    flex: 0 0 clamp(400px, 33vw, 640px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 56px;
    background: #ffffff;
    overflow-y: auto;
}

.signin-content[b-u0v3j4f0h5] {
    width: 100%;
    max-width: 360px;
}

.signin-logo[b-u0v3j4f0h5] {
    display: block;
    width: 280px;
    max-width: 80%;
    height: auto;
    margin: 0 auto 48px;
}

.signin h1[b-u0v3j4f0h5] {
    margin: 0 0 12px;
    font-family: inherit;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--brand);
}

.signin-subtitle[b-u0v3j4f0h5] {
    margin: 0 0 32px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.4;
}

.signin-primary[b-u0v3j4f0h5] {
    display: block;
    width: 100%;
    padding: 14px 16px;
    border-radius: 8px;
    background: var(--brand);
    color: #ffffff;
    text-align: center;
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
}

    .signin-primary:hover[b-u0v3j4f0h5] {
        background: var(--brand-hover);
        color: #ffffff;
    }

.signin a:focus-visible[b-u0v3j4f0h5] {
    outline: 2px solid var(--focus);
    outline-offset: 3px;
}

.signin-divider[b-u0v3j4f0h5] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 28px 0 20px;
    color: var(--muted);
    font-size: 13px;
}

    .signin-divider[b-u0v3j4f0h5]::before,
    .signin-divider[b-u0v3j4f0h5]::after {
        content: "";
        flex: 1;
        border-top: 1px solid var(--line);
    }

.signin-secondary[b-u0v3j4f0h5] {
    display: block;
    text-align: center;
    color: var(--focus);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

    .signin-secondary:hover[b-u0v3j4f0h5] {
        text-decoration: underline;
    }

@media (max-width: 800px) {
    .signin-illustration[b-u0v3j4f0h5] {
        display: none;
    }

    .signin-panel[b-u0v3j4f0h5] {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
        padding: 40px 24px;
    }
}
/* _content/Portal.Web/Components/Shared/CPAccordion/CPAccordion.razor.rz.scp.css */
.cp-accordion[b-7zcmrvjzd8] {
  border-radius: 12px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  border-width: 1px;
  border-style: solid;
}
.cp-accordion.closed[b-7zcmrvjzd8] {
  background-color: transparent;
  border-color: transparent;
}
.cp-accordion.open[b-7zcmrvjzd8] {
  background-color: #ebf2f5;
  border-color: #1b8cf8;
}

.cp-accordion-wrapper[b-7zcmrvjzd8] {
  display: flex;
  gap: 0.75rem;
  padding: 1rem 0.75rem;
}

.cp-accordion-trigger[b-7zcmrvjzd8] {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  border: none;
  cursor: pointer;
  outline: none;
}
.cp-accordion-trigger:disabled[b-7zcmrvjzd8] {
  cursor: not-allowed;
  opacity: 0.5;
}
.cp-accordion.closed .cp-accordion-trigger[b-7zcmrvjzd8] {
  background-color: #d9d9d9;
  color: #4b5563;
}
.cp-accordion.open .cp-accordion-trigger[b-7zcmrvjzd8] {
  background-color: #1b8cf8;
  color: white;
}

.plus-minus-icon[b-7zcmrvjzd8] {
  width: 20px;
  height: 20px;
}
.plus-minus-icon path[b-7zcmrvjzd8] {
  cursor: inherit;
  fill: currentColor;
}
.vertical-line[b-7zcmrvjzd8] {
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: 12px 12px;
}
.cp-accordion.closed .vertical-line[b-7zcmrvjzd8] {
  transform: rotate(0deg);
}
.cp-accordion.open .vertical-line[b-7zcmrvjzd8] {
  transform: rotate(90deg);
}

.cp-accordion-content-wrapper[b-7zcmrvjzd8] {
  flex: 1;
  display: flex;
  flex-direction: column;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.cp-accordion.closed .cp-accordion-content-wrapper[b-7zcmrvjzd8] {
  justify-content: center;
  gap: 0rem;
}
.cp-accordion.open .cp-accordion-content-wrapper[b-7zcmrvjzd8] {
  justify-content: flex-start;
  gap: 0.5rem;
}

.cp-accordion-header[b-7zcmrvjzd8] {
  width: 100%;
  text-align: left;
}
/* _content/Portal.Web/Components/Shared/CPAvatar/CPAvatar.razor.rz.scp.css */
/* Circular Avatar Component Styles */
.cp-avatar[b-x7ocjgsdt6] {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  user-select: none;
  transition: all 0.2s ease-in-out;

  /* Component-scoped color variables */
  --cp-avatar-color-default: #6b7280;
  --cp-avatar-color-primary: #1b8cf8;
  --cp-avatar-color-secondary: #072b60;
  --cp-avatar-color-success: #16a34a;
  --cp-avatar-color-warn: #ff8500;
  --cp-avatar-color-danger: #ff0000;
}

.cp-avatar[b-x7ocjgsdt6]  .k-icon {
  color: currentColor;
}

.cp-avatar[b-x7ocjgsdt6]  .k-svg-icon {
  width: 60%;
  height: 60%;
}


.cp-avatar[b-x7ocjgsdt6]  svg {
  width: 60%;
  height: 60%;
}

.cp-avatar[b-x7ocjgsdt6]  .k-font-icon {
  font-size: 60%;
}

.cp-avatar[b-x7ocjgsdt6]  path {
  fill: currentColor;
  cursor: default;
}

/* ============ AVATAR SIZES ============ */
.cp-avatar.sm[b-x7ocjgsdt6] {
  width: 24px;
  height: 24px;
  font-size: 0.75rem;
}

.cp-avatar.md[b-x7ocjgsdt6] {
  width: 40px;
  height: 40px;
  font-size: 1rem;
}

.cp-avatar.lg[b-x7ocjgsdt6] {
  width: 56px;
  height: 56px;
  font-size: 1.25rem;
}

/* ============ AVATAR COLORS ============ */
.cp-avatar.default[b-x7ocjgsdt6] {
  background-color: var(--cp-avatar-color-default);
  color: white;
}

.cp-avatar.primary[b-x7ocjgsdt6] {
  background-color: var(--cp-avatar-color-primary);
  color: white;
}

.cp-avatar.secondary[b-x7ocjgsdt6] {
  background-color: var(--cp-avatar-color-secondary);
  color: white;
}

.cp-avatar.success[b-x7ocjgsdt6] {
  background-color: var(--cp-avatar-color-success);
  color: white;
}

.cp-avatar.danger[b-x7ocjgsdt6] {
  background-color: var(--cp-avatar-color-danger);
  color: white;
}

.cp-avatar.warn[b-x7ocjgsdt6] {
  background-color: var(--cp-avatar-color-warn);
  color: white;
}
/* _content/Portal.Web/Components/Shared/CPBadge/CPBadge.razor.rz.scp.css */
/* ===== BASE BADGE STYLES ===== */
.badge[b-feitk6tjev] {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #3b82f6;
  color: white;
  font-size: 0.625rem;
  font-weight: 600;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
  z-index: 1;
}

/* ===== ACTIONABLE BADGE STYLES ===== */
.badge.actionable[b-feitk6tjev] {
  cursor: pointer;
  border: none;
  padding: 0;
  outline: none;
  transition: background-color 0.2s ease;
}

.badge.actionable:hover[b-feitk6tjev],
.badge.actionable:focus[b-feitk6tjev],
.badge.actionable:active[b-feitk6tjev] {
  background-color: #1274ac;
}

.badge.actionable:focus[b-feitk6tjev] {
  outline: none;
}

@media (max-width: 768px) {
  .badge[b-feitk6tjev] {
    width: 12px;
    height: 12px;
    font-size: 0.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .badge.actionable[b-feitk6tjev] {
    transition: none;
  }
}
/* _content/Portal.Web/Components/Shared/CPButton/CPButton.razor.rz.scp.css */
.cp-button[b-5vdoqxpps1] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-weight: 500;
  line-height: 1.5715;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
  touch-action: manipulation;
  outline: none;
  position: relative;
  white-space: nowrap;
  overflow: hidden;

  /* Component-scoped color variables */
  --cp-button-color-default: #6b7280;
  --cp-button-color-default-hover: #4b5563;
  --cp-button-color-default-active: #374151;
  --cp-button-color-default-light: #f3f4f6;
  --cp-button-color-default-border: #d1d5db;

  --cp-button-color-primary: #1b8cf8;
  --cp-button-color-primary-hover: #3a9bf9;
  --cp-button-color-primary-active: #1573e6;
  --cp-button-color-primary-light: #e6f4ff;

  --cp-button-color-success: #16a34a;
  --cp-button-color-success-hover: #03913e;
  --cp-button-color-success-active: #15803d;
  --cp-button-color-success-light: #e6f9f5;

  --cp-button-color-warn: #ff8500;
  --cp-button-color-warn-hover: #e6750a;
  --cp-button-color-warn-active: #cc6600;
  --cp-button-color-warn-light: #fff2e6;

  --cp-button-color-danger: #ff0000;
  --cp-button-color-danger-hover: #e60000;
  --cp-button-color-danger-active: #b91c1c;
  --cp-button-color-danger-light: #ffe6e6;
}

.cp-button:focus-visible[b-5vdoqxpps1] {
  outline: 2px solid var(--cp-button-color-primary);
  outline-offset: 2px;
}

/* ============ BUTTON SIZES ============ */
.cp-button.sm[b-5vdoqxpps1] {
  height: 24px;
  padding: 0 7px;
  font-size: 12px;
  min-width: 24px;
  border-radius: 4px;
}

.cp-button.md[b-5vdoqxpps1] {
  height: 32px;
  padding: 4px 15px;
  font-size: 14px;
  min-width: 32px;
  border-radius: 6px;
}

.cp-button.lg[b-5vdoqxpps1] {
  height: 40px;
  padding: 6.4px 15px;
  font-size: 16px;
  min-width: 40px;
  border-radius: 8px;
}

/* ============ SOLID BUTTONS ============ */
.cp-button.solid.default[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-default);
  border-color: var(--cp-button-color-default);
  color: white;
  --cp-button-focus-color: var(--cp-button-color-default);
}

.cp-button.solid.default:hover:not(.disabled)[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-default-hover);
  border-color: var(--cp-button-color-default-hover);
}

.cp-button.solid.default:active:not(.disabled)[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-default-active);
  border-color: var(--cp-button-color-default-active);
}

.cp-button.solid.primary[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-primary);
  border-color: var(--cp-button-color-primary);
  color: white;
  --cp-button-focus-color: var(--cp-button-color-primary);
}

.cp-button.solid.primary:hover:not(.disabled)[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-primary-hover);
  border-color: var(--cp-button-color-primary-hover);
}

.cp-button.solid.primary:active:not(.disabled)[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-primary-active);
  border-color: var(--cp-button-color-primary-active);
}

.cp-button.solid.success[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-success);
  border-color: var(--cp-button-color-success);
  color: white;
  --cp-button-focus-color: var(--cp-button-color-success);
}

.cp-button.solid.success:hover:not(.disabled)[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-success-hover);
  border-color: var(--cp-button-color-success-hover);
}

.cp-button.solid.success:active:not(.disabled)[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-success-active);
  border-color: var(--cp-button-color-success-active);
}

.cp-button.solid.warn[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-warn);
  border-color: var(--cp-button-color-warn);
  color: white;
  --cp-button-focus-color: var(--cp-button-color-warn);
}

.cp-button.solid.warn:hover:not(.disabled)[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-warn-hover);
  border-color: var(--cp-button-color-warn-hover);
}

.cp-button.solid.warn:active:not(.disabled)[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-warn-active);
  border-color: var(--cp-button-color-warn-active);
}

.cp-button.solid.danger[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-danger);
  border-color: var(--cp-button-color-danger);
  color: white;
  --cp-button-focus-color: var(--cp-button-color-danger);
}

.cp-button.solid.danger:hover:not(.disabled)[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-danger-hover);
  border-color: var(--cp-button-color-danger-hover);
}

.cp-button.solid.danger:active:not(.disabled)[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-danger-active);
  border-color: var(--cp-button-color-danger-active);
}

/* ============ OUTLINED BUTTONS ============ */
.cp-button.outlined[b-5vdoqxpps1] {
  background-color: transparent;
}

.cp-button.outlined.default[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-default-border);
  color: var(--cp-button-color-default);
  --cp-button-focus-color: var(--cp-button-color-default);
}

.cp-button.outlined.default:hover:not(.disabled)[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-default-hover);
  color: var(--cp-button-color-default-hover);
}

.cp-button.outlined.default:active:not(.disabled)[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-default-active);
  color: var(--cp-button-color-default-active);
}

.cp-button.outlined.primary[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-primary);
  color: var(--cp-button-color-primary);
  --cp-button-focus-color: var(--cp-button-color-primary);
}

.cp-button.outlined.primary:hover:not(.disabled)[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-primary-hover);
  color: var(--cp-button-color-primary-hover);
}

.cp-button.outlined.primary:active:not(.disabled)[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-primary-active);
  color: var(--cp-button-color-primary-active);
}

.cp-button.outlined.success[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-success);
  color: var(--cp-button-color-success);
  --cp-button-focus-color: var(--cp-button-color-success);
}

.cp-button.outlined.success:hover:not(.disabled)[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-success-hover);
  color: var(--cp-button-color-success-hover);
}

.cp-button.outlined.success:active:not(.disabled)[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-success-active);
  color: var(--cp-button-color-success-active);
}

.cp-button.outlined.warn[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-warn);
  color: var(--cp-button-color-warn);
  --cp-button-focus-color: var(--cp-button-color-warn);
}

.cp-button.outlined.warn:hover:not(.disabled)[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-warn-hover);
  color: var(--cp-button-color-warn-hover);
}

.cp-button.outlined.warn:active:not(.disabled)[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-warn-active);
  color: var(--cp-button-color-warn-active);
}

.cp-button.outlined.danger[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-danger);
  color: var(--cp-button-color-danger);
  --cp-button-focus-color: var(--cp-button-color-danger);
}

.cp-button.outlined.danger:hover:not(.disabled)[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-danger-hover);
  color: var(--cp-button-color-danger-hover);
}

.cp-button.outlined.danger:active:not(.disabled)[b-5vdoqxpps1] {
  border-color: var(--cp-button-color-danger-active);
  color: var(--cp-button-color-danger-active);
}

/* ============ FILLED BUTTONS ============ */
.cp-button.filled.default[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-default-light);
  border-color: var(--cp-button-color-default-light);
  color: var(--cp-button-color-default);
  --cp-button-focus-color: var(--cp-button-color-default);
}

.cp-button.filled.default:hover:not(.disabled)[b-5vdoqxpps1] {
  background-color: #e5e7eb;
  border-color: #e5e7eb;
  color: var(--cp-button-color-default-hover);
}

.cp-button.filled.default:active:not(.disabled)[b-5vdoqxpps1] {
  background-color: #d1d5db;
  border-color: #d1d5db;
  color: var(--cp-button-color-default-active);
}

.cp-button.filled.primary[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-primary-light);
  border-color: var(--cp-button-color-primary-light);
  color: var(--cp-button-color-primary);
  --cp-button-focus-color: var(--cp-button-color-primary);
}

.cp-button.filled.primary:hover:not(.disabled)[b-5vdoqxpps1] {
  background-color: #cce7ff;
  border-color: #cce7ff;
  color: var(--cp-button-color-primary-hover);
}

.cp-button.filled.primary:active:not(.disabled)[b-5vdoqxpps1] {
  background-color: #b3d9ff;
  border-color: #b3d9ff;
  color: var(--cp-button-color-primary-active);
}

.cp-button.filled.success[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-success-light);
  border-color: var(--cp-button-color-success-light);
  color: var(--cp-button-color-success);
  --cp-button-focus-color: var(--cp-button-color-success);
}

.cp-button.filled.success:hover:not(.disabled)[b-5vdoqxpps1] {
  background-color: #ccf5ed;
  border-color: #ccf5ed;
  color: var(--cp-button-color-success-hover);
}

.cp-button.filled.success:active:not(.disabled)[b-5vdoqxpps1] {
  background-color: #b3f0e6;
  border-color: #b3f0e6;
  color: var(--cp-button-color-success-active);
}

.cp-button.filled.warn[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-warn-light);
  border-color: var(--cp-button-color-warn-light);
  color: var(--cp-button-color-warn);
  --cp-button-focus-color: var(--cp-button-color-warn);
}

.cp-button.filled.warn:hover:not(.disabled)[b-5vdoqxpps1] {
  background-color: #ffe0b3;
  border-color: #ffe0b3;
  color: var(--cp-button-color-warn-hover);
}

.cp-button.filled.warn:active:not(.disabled)[b-5vdoqxpps1] {
  background-color: #ffd699;
  border-color: #ffd699;
  color: var(--cp-button-color-warn-active);
}

.cp-button.filled.danger[b-5vdoqxpps1] {
  background-color: var(--cp-button-color-danger-light);
  border-color: var(--cp-button-color-danger-light);
  color: var(--cp-button-color-danger);
  --cp-button-focus-color: var(--cp-button-color-danger);
}

.cp-button.filled.danger:hover:not(.disabled)[b-5vdoqxpps1] {
  background-color: #ffb3b3;
  border-color: #ffb3b3;
  color: var(--cp-button-color-danger-hover);
}

.cp-button.filled.danger:active:not(.disabled)[b-5vdoqxpps1] {
  background-color: #ff9999;
  border-color: #ff9999;
  color: var(--cp-button-color-danger-active);
}

/* ============ TEXT BUTTONS ============ */
.cp-button.text[b-5vdoqxpps1] {
  background-color: transparent;
  border-color: transparent;
}

.cp-button.text.default[b-5vdoqxpps1] {
  color: var(--cp-button-color-default);
  --cp-button-focus-color: var(--cp-button-color-default);
}

.cp-button.text.default:hover:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-default-hover);
  background-color: var(--cp-button-color-default-light);
}

.cp-button.text.default:active:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-default-active);
}

.cp-button.text.primary[b-5vdoqxpps1] {
  color: var(--cp-button-color-primary);
  --cp-button-focus-color: var(--cp-button-color-primary);
}

.cp-button.text.primary:hover:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-primary-hover);
  background-color: var(--cp-button-color-primary-light);
}

.cp-button.text.primary:active:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-primary-active);
}

.cp-button.text.success[b-5vdoqxpps1] {
  color: var(--cp-button-color-success);
  --cp-button-focus-color: var(--cp-button-color-success);
}

.cp-button.text.success:hover:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-success-hover);
  background-color: var(--cp-button-color-success-light);
}

.cp-button.text.success:active:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-success-active);
}

.cp-button.text.warn[b-5vdoqxpps1] {
  color: var(--cp-button-color-warn);
  --cp-button-focus-color: var(--cp-button-color-warn);
}

.cp-button.text.warn:hover:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-warn-hover);
  background-color: var(--cp-button-color-warn-light);
}

.cp-button.text.warn:active:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-warn-active);
}

.cp-button.text.danger[b-5vdoqxpps1] {
  color: var(--cp-button-color-danger);
  --cp-button-focus-color: var(--cp-button-color-danger);
}

.cp-button.text.danger:hover:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-danger-hover);
  background-color: var(--cp-button-color-danger-light);
}

.cp-button.text.danger:active:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-danger-active);
}

/* ============ LINK BUTTONS ============ */
.cp-button.link[b-5vdoqxpps1] {
  background-color: transparent;
  border-color: transparent;
  text-decoration: none;
  font-weight: 400;
}

.cp-button.link.default[b-5vdoqxpps1] {
  color: var(--cp-button-color-default);
  --cp-button-focus-color: var(--cp-button-color-default);
}

.cp-button.link.default:hover:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-default-hover);
  text-decoration: underline;
}

.cp-button.link.default:active:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-default-active);
}

.cp-button.link.primary[b-5vdoqxpps1] {
  color: var(--cp-button-color-primary);
  --cp-button-focus-color: var(--cp-button-color-primary);
}

.cp-button.link.primary:hover:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-primary-hover);
  text-decoration: underline;
}

.cp-button.link.primary:active:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-primary-active);
}

.cp-button.link.success[b-5vdoqxpps1] {
  color: var(--cp-button-color-success);
  --cp-button-focus-color: var(--cp-button-color-success);
}

.cp-button.link.success:hover:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-success-hover);
  text-decoration: underline;
}

.cp-button.link.success:active:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-success-active);
}

.cp-button.link.warn[b-5vdoqxpps1] {
  color: var(--cp-button-color-warn);
  --cp-button-focus-color: var(--cp-button-color-warn);
}

.cp-button.link.warn:hover:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-warn-hover);
  text-decoration: underline;
}

.cp-button.link.warn:active:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-warn-active);
}

.cp-button.link.danger[b-5vdoqxpps1] {
  color: var(--cp-button-color-danger);
  --cp-button-focus-color: var(--cp-button-color-danger);
}

.cp-button.link.danger:hover:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-danger-hover);
  text-decoration: underline;
}

.cp-button.link.danger:active:not(.disabled)[b-5vdoqxpps1] {
  color: var(--cp-button-color-danger-active);
}

/* ============ BUTTON SHAPES ============ */
.cp-button.circle[b-5vdoqxpps1] {
  border-radius: 50%;
  padding: 0;
  width: auto;
  aspect-ratio: 1;
}

.cp-button.round[b-5vdoqxpps1] {
  border-radius: 32px;
}

/* ============ BUTTON STATES ============ */
.cp-button.disabled[b-5vdoqxpps1] {
  background-color: #f5f5f5 !important;
  border-color: #d9d9d9 !important;
  color: rgba(0, 0, 0, 0.25) !important;
  cursor: not-allowed !important;
}

.cp-button.loading[b-5vdoqxpps1] {
  position: relative;
  pointer-events: none;
}

.cp-button-loading-icon[b-5vdoqxpps1] {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  animation: cp-button-loading-spin-b-5vdoqxpps1 1s linear infinite;
}

.cp-button-loading-icon[b-5vdoqxpps1]  svg {
  width: 1em;
  height: 1em;
}

.cp-button.block[b-5vdoqxpps1] {
  width: 100%;
}

/* ============ ICON STYLES ============ */
.cp-button-icon[b-5vdoqxpps1] {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.cp-button-icon svg[b-5vdoqxpps1] {
  width: 1em;
  height: 1em;
  fill: currentColor;
}

/* ============ CONTENT ============ */
.cp-button-content[b-5vdoqxpps1] {
  display: inline-flex;
  align-items: center;
}

/* ============ LOADING ANIMATION ============ */
@keyframes cp-button-loading-spin-b-5vdoqxpps1 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* _content/Portal.Web/Components/Shared/CPConnectLogo/CPConnectLogo.razor.rz.scp.css */
.cp-connect-logo[b-vnamcku68b],
.transition-path[b-vnamcku68b],
.text-group[b-vnamcku68b] {
  transition: all 225ms cubic-bezier(0.4, 0, 0.6, 1);
}

.text-group[b-vnamcku68b] {
  transform-origin: left;
}
.text-group.expanded[b-vnamcku68b] {
  opacity: 1;
  transform: scale(1);
}
.text-group.collapsed[b-vnamcku68b] {
  opacity: 0;
  transform: scale(0.75);
}
/* _content/Portal.Web/Components/Shared/CPDivider/CPDivider.razor.rz.scp.css */
.cp-divider[b-t0oh8sz4x4] {
    background: currentColor;
    color: rgba(0,0,0,0.6);
    border: none;
    margin: 0;
}

/* Horizontal */
.orientation-horizontal[b-t0oh8sz4x4] {
    height: 1px;
    width: 100%;
}
.variant-inset.orientation-horizontal[b-t0oh8sz4x4] {
    margin-left: 4.5rem;
}
.variant-middle.orientation-horizontal[b-t0oh8sz4x4] {
    margin: 0 1rem;
}

/* Vertical */
.orientation-vertical[b-t0oh8sz4x4] {
    width: 1px;
    height: 100%;
}
.variant-inset.orientation-vertical[b-t0oh8sz4x4] {
    margin-top: 4.5rem;
}
.variant-middle.orientation-vertical[b-t0oh8sz4x4] {
    margin: 1rem 0;
}
.flex-item.orientation-vertical[b-t0oh8sz4x4] {
    align-self: stretch;
}

/* Light variant */
.light[b-t0oh8sz4x4] {
    color: rgba(0,0,0,0.3);
}

/* Absolute positioning */
.absolute[b-t0oh8sz4x4] {
    position: absolute;
    left: 0; 
    right: 0;
}
/* _content/Portal.Web/Components/Shared/CPDrawer/CPDrawer.razor.rz.scp.css */
.cp-drawer[b-9f64fmvl8e] {
  background: var(--cp-drawer-bg, #fff);
  color: var(--cp-drawer-fg, inherit);
  box-shadow: var(--cp-drawer-shadow,
      0 10px 15px - 3px rgb(0 0 0 / 0.1),
      0 4px 6px - 4px rgb(0 0 0 / 0.1));
  will-change: transform, opacity;
  backface-visibility: hidden;
}

/* ============ TEMPORARY (OVERLAY) ============ */

.cp-drawer-overlay[b-9f64fmvl8e] {
  position: fixed;
  inset: 0;
}

.cp-drawer-scrim[b-9f64fmvl8e] {
  position: absolute;
  inset: 0;
  background: var(--cp-drawer-scrim-bg, rgba(0, 0, 0, 0.38));
  opacity: 0;
  transition:
    opacity var(--cp-drawer-ms, 225ms) var(--cp-drawer-ease),
    visibility var(--cp-drawer-ms, 225ms) var(--cp-drawer-ease);
  pointer-events: none;
  visibility: hidden;
}

.cp-drawer-scrim.open[b-9f64fmvl8e] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.cp-drawer-scrim.closed[b-9f64fmvl8e] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.cp-drawer.temporary[b-9f64fmvl8e] {
  position: absolute;
  will-change: transform, opacity;
  transition: transform var(--cp-drawer-ms, 225ms) var(--cp-drawer-ease);
}

/* Anchor geometry for TEMPORARY */
.cp-drawer.temporary.left[b-9f64fmvl8e],
.cp-drawer.temporary.right[b-9f64fmvl8e] {
  top: 0;
  bottom: 0;
  width: calc(var(--cp-drawer-size, 16rem) - var(--cp-drawer-offset, 0));
}

.cp-drawer.temporary.left[b-9f64fmvl8e] {
  left: var(--cp-drawer-offset, 0);
}

.cp-drawer.temporary.right[b-9f64fmvl8e] {
  right: var(--cp-drawer-offset, 0);
}

.cp-drawer.temporary.top[b-9f64fmvl8e],
.cp-drawer.temporary.bottom[b-9f64fmvl8e] {
  left: 0;
  right: 0;
  height: calc(var(--cp-drawer-size, 16rem) - var(--cp-drawer-offset, 0));
}

.cp-drawer.temporary.top[b-9f64fmvl8e] {
  top: var(--cp-drawer-offset, 0);
}

.cp-drawer.temporary.bottom[b-9f64fmvl8e] {
  bottom: var(--cp-drawer-offset, 0);
}

/* Closed state - off-screen */
.cp-drawer.temporary.closed.left[b-9f64fmvl8e] {
  transform: translate3d(-100%, 0, 0);
}

.cp-drawer.temporary.closed.right[b-9f64fmvl8e] {
  transform: translate3d(100%, 0, 0);
}

.cp-drawer.temporary.closed.top[b-9f64fmvl8e] {
  transform: translate3d(0, -100%, 0);
}

.cp-drawer.temporary.closed.bottom[b-9f64fmvl8e] {
  transform: translate3d(0, 100%, 0);
}

/* Open state - on-screen */
.cp-drawer.temporary.open[b-9f64fmvl8e] {
  transform: translate3d(0, 0, 0);
}

/* ============ PERMANENT (PINNED) ============ */

.cp-drawer.permanent[b-9f64fmvl8e] {
  position: sticky;
  flex-shrink: 0;
  /* Outrank the sticky nav bar (z-index: 100) so the collapse toggle stays
     clickable when a top banner pushes the nav bar down over it. */
  z-index: 101;
}

/* Left/Right occupy width; pinned via sticky */
.cp-drawer.permanent.left[b-9f64fmvl8e],
.cp-drawer.permanent.right[b-9f64fmvl8e] {
  top: 0;
  height: 100vh;
  width: var(--cp-drawer-size);
  transition: width var(--cp-drawer-ms, 225ms) var(--cp-drawer-ease);
}

.cp-drawer.permanent.right[b-9f64fmvl8e] {
  margin-left: auto;
}

/* Top/Bottom occupy height */
.cp-drawer.permanent.top[b-9f64fmvl8e],
.cp-drawer.permanent.bottom[b-9f64fmvl8e] {
  width: 100%;
  height: var(--cp-drawer-size);
  transition: height var(--cp-drawer-ms, 225ms) var(--cp-drawer-ease);
}

.cp-drawer.permanent.top[b-9f64fmvl8e] {
  top: 0;
}

.cp-drawer.permanent.bottom[b-9f64fmvl8e] {
  bottom: 0;
}

/* Optional state hooks */
.cp-drawer.permanent.collapsed[b-9f64fmvl8e] {
  /* e.g., tighter padding / icon-only styles */
}

.cp-drawer.permanent.expanded[b-9f64fmvl8e] {
  /* e.g., show labels */
}

/* ============ ACCESSIBILITY: REDUCED MOTION ============ */

@media(prefers-reduced-motion: reduce) {

  .cp-drawer[b-9f64fmvl8e],
  .cp-drawer-scrim[b-9f64fmvl8e] {
    transition: none !important;
  }
}
/* _content/Portal.Web/Components/Shared/CPEmptyState/CPEmptyState.razor.rz.scp.css */
.cp-empty-state[b-gr98l6cnn1] {
    padding: 5rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: #64748b;
    text-align: center;
}

.cp-empty-state-icon[b-gr98l6cnn1] {
    color: #a0aec0;
    margin-bottom: 0.5rem;
}

.cp-empty-state-heading[b-gr98l6cnn1] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: #2d3748;
}

.cp-empty-state-subtext[b-gr98l6cnn1] {
    margin: 0;
    font-size: 1.0625rem;
    color: #718096;
    max-width: 38rem;
    line-height: 1.5;
}
/* _content/Portal.Web/Components/Shared/CPIconButton/CPIconButton.razor.rz.scp.css */
.cp-icon-button[b-e6oi16nf80] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 6px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  user-select: none;
  touch-action: manipulation;
  outline: none;
  position: relative;
  padding: 0;
  aspect-ratio: 1;

  /* Component-scoped color variables */
  --cp-icon-button-color-default: #6b7280;
  --cp-icon-button-color-default-hover: #4b5563;
  --cp-icon-button-color-default-active: #374151;
  --cp-icon-button-color-default-light: #f3f4f6;
  --cp-icon-button-color-default-border: #d1d5db;

  --cp-icon-button-color-primary: #1b8cf8;
  --cp-icon-button-color-primary-hover: #3a9bf9;
  --cp-icon-button-color-primary-active: #1573e6;
  --cp-icon-button-color-primary-light: #e6f4ff;

  --cp-icon-button-color-success: #16a34a;
  --cp-icon-button-color-success-hover: #03913e;
  --cp-icon-button-color-success-active: #15803d;
  --cp-icon-button-color-success-light: #e6f9f5;

  --cp-icon-button-color-warn: #ff8500;
  --cp-icon-button-color-warn-hover: #e6750a;
  --cp-icon-button-color-warn-active: #cc6600;
  --cp-icon-button-color-warn-light: #fff2e6;

  --cp-icon-button-color-danger: #ff0000;
  --cp-icon-button-color-danger-hover: #e60000;
  --cp-icon-button-color-danger-active: #b91c1c;
  --cp-icon-button-color-danger-light: #ffe6e6;
}

.cp-icon-button:focus-visible[b-e6oi16nf80] {
  outline: 2px solid var(--cp-icon-button-color-primary);
  outline-offset: 2px;
}

/* ============ ICON BUTTON SIZES ============ */
.cp-icon-button.sm[b-e6oi16nf80] {
  width: 24px;
  height: 24px;
  font-size: 12px;
}

.cp-icon-button.md[b-e6oi16nf80] {
  width: 32px;
  height: 32px;
  font-size: 14px;
}

.cp-icon-button.lg[b-e6oi16nf80] {
  width: 40px;
  height: 40px;
  font-size: 16px;
}

/* ============ SOLID ICON BUTTONS ============ */
.cp-icon-button.solid.default[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-default);
  border-color: var(--cp-icon-button-color-default);
  color: white;
}

.cp-icon-button.solid.default:hover:not(.disabled)[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-default-hover);
  border-color: var(--cp-icon-button-color-default-hover);
}

.cp-icon-button.solid.default:active:not(.disabled)[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-default-active);
  border-color: var(--cp-icon-button-color-default-active);
}

.cp-icon-button.solid.primary[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-primary);
  border-color: var(--cp-icon-button-color-primary);
  color: white;
}

.cp-icon-button.solid.primary:hover:not(.disabled)[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-primary-hover);
  border-color: var(--cp-icon-button-color-primary-hover);
}

.cp-icon-button.solid.primary:active:not(.disabled)[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-primary-active);
  border-color: var(--cp-icon-button-color-primary-active);
}

.cp-icon-button.solid.success[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-success);
  border-color: var(--cp-icon-button-color-success);
  color: white;
}

.cp-icon-button.solid.success:hover:not(.disabled)[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-success-hover);
  border-color: var(--cp-icon-button-color-success-hover);
}

.cp-icon-button.solid.success:active:not(.disabled)[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-success-active);
  border-color: var(--cp-icon-button-color-success-active);
}

.cp-icon-button.solid.warn[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-warn);
  border-color: var(--cp-icon-button-color-warn);
  color: white;
}

.cp-icon-button.solid.warn:hover:not(.disabled)[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-warn-hover);
  border-color: var(--cp-icon-button-color-warn-hover);
}

.cp-icon-button.solid.warn:active:not(.disabled)[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-warn-active);
  border-color: var(--cp-icon-button-color-warn-active);
}

.cp-icon-button.solid.danger[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-danger);
  border-color: var(--cp-icon-button-color-danger);
  color: white;
}

.cp-icon-button.solid.danger:hover:not(.disabled)[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-danger-hover);
  border-color: var(--cp-icon-button-color-danger-hover);
}

.cp-icon-button.solid.danger:active:not(.disabled)[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-danger-active);
  border-color: var(--cp-icon-button-color-danger-active);
}

/* ============ OUTLINED ICON BUTTONS ============ */
.cp-icon-button.outlined[b-e6oi16nf80] {
  background-color: transparent;
}

.cp-icon-button.outlined.default[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-default-border);
  color: var(--cp-icon-button-color-default);
}

.cp-icon-button.outlined.default:hover:not(.disabled)[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-default-hover);
  color: var(--cp-icon-button-color-default-hover);
}

.cp-icon-button.outlined.default:active:not(.disabled)[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-default-active);
  color: var(--cp-icon-button-color-default-active);
}

.cp-icon-button.outlined.primary[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-primary);
  color: var(--cp-icon-button-color-primary);
}

.cp-icon-button.outlined.primary:hover:not(.disabled)[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-primary-hover);
  color: var(--cp-icon-button-color-primary-hover);
}

.cp-icon-button.outlined.primary:active:not(.disabled)[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-primary-active);
  color: var(--cp-icon-button-color-primary-active);
}

.cp-icon-button.outlined.success[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-success);
  color: var(--cp-icon-button-color-success);
}

.cp-icon-button.outlined.success:hover:not(.disabled)[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-success-hover);
  color: var(--cp-icon-button-color-success-hover);
}

.cp-icon-button.outlined.success:active:not(.disabled)[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-success-active);
  color: var(--cp-icon-button-color-success-active);
}

.cp-icon-button.outlined.warn[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-warn);
  color: var(--cp-icon-button-color-warn);
}

.cp-icon-button.outlined.warn:hover:not(.disabled)[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-warn-hover);
  color: var(--cp-icon-button-color-warn-hover);
}

.cp-icon-button.outlined.warn:active:not(.disabled)[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-warn-active);
  color: var(--cp-icon-button-color-warn-active);
}

.cp-icon-button.outlined.danger[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-danger);
  color: var(--cp-icon-button-color-danger);
}

.cp-icon-button.outlined.danger:hover:not(.disabled)[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-danger-hover);
  color: var(--cp-icon-button-color-danger-hover);
}

.cp-icon-button.outlined.danger:active:not(.disabled)[b-e6oi16nf80] {
  border-color: var(--cp-icon-button-color-danger-active);
  color: var(--cp-icon-button-color-danger-active);
}

/* ============ FILLED ICON BUTTONS ============ */
.cp-icon-button.filled.default[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-default-light);
  border-color: var(--cp-icon-button-color-default-light);
  color: var(--cp-icon-button-color-default);
}

.cp-icon-button.filled.default:hover:not(.disabled)[b-e6oi16nf80] {
  background-color: #e5e7eb;
  border-color: #e5e7eb;
  color: var(--cp-icon-button-color-default-hover);
}

.cp-icon-button.filled.default:active:not(.disabled)[b-e6oi16nf80] {
  background-color: #d1d5db;
  border-color: #d1d5db;
  color: var(--cp-icon-button-color-default-active);
}

.cp-icon-button.filled.primary[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-primary-light);
  border-color: var(--cp-icon-button-color-primary-light);
  color: var(--cp-icon-button-color-primary);
}

.cp-icon-button.filled.primary:hover:not(.disabled)[b-e6oi16nf80] {
  background-color: #cce7ff;
  border-color: #cce7ff;
  color: var(--cp-icon-button-color-primary-hover);
}

.cp-icon-button.filled.primary:active:not(.disabled)[b-e6oi16nf80] {
  background-color: #b3d9ff;
  border-color: #b3d9ff;
  color: var(--cp-icon-button-color-primary-active);
}

.cp-icon-button.filled.success[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-success-light);
  border-color: var(--cp-icon-button-color-success-light);
  color: var(--cp-icon-button-color-success);
}

.cp-icon-button.filled.success:hover:not(.disabled)[b-e6oi16nf80] {
  background-color: #ccf5ed;
  border-color: #ccf5ed;
  color: var(--cp-icon-button-color-success-hover);
}

.cp-icon-button.filled.success:active:not(.disabled)[b-e6oi16nf80] {
  background-color: #b3f0e6;
  border-color: #b3f0e6;
  color: var(--cp-icon-button-color-success-active);
}

.cp-icon-button.filled.warn[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-warn-light);
  border-color: var(--cp-icon-button-color-warn-light);
  color: var(--cp-icon-button-color-warn);
}

.cp-icon-button.filled.warn:hover:not(.disabled)[b-e6oi16nf80] {
  background-color: #ffe0b3;
  border-color: #ffe0b3;
  color: var(--cp-icon-button-color-warn-hover);
}

.cp-icon-button.filled.warn:active:not(.disabled)[b-e6oi16nf80] {
  background-color: #ffd699;
  border-color: #ffd699;
  color: var(--cp-icon-button-color-warn-active);
}

.cp-icon-button.filled.danger[b-e6oi16nf80] {
  background-color: var(--cp-icon-button-color-danger-light);
  border-color: var(--cp-icon-button-color-danger-light);
  color: var(--cp-icon-button-color-danger);
}

.cp-icon-button.filled.danger:hover:not(.disabled)[b-e6oi16nf80] {
  background-color: #ffb3b3;
  border-color: #ffb3b3;
  color: var(--cp-icon-button-color-danger-hover);
}

.cp-icon-button.filled.danger:active:not(.disabled)[b-e6oi16nf80] {
  background-color: #ff9999;
  border-color: #ff9999;
  color: var(--cp-icon-button-color-danger-active);
}

/* ============ TEXT ICON BUTTONS ============ */
.cp-icon-button.text[b-e6oi16nf80] {
  background-color: transparent;
  border-color: transparent;
}

.cp-icon-button.text.default[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-default);
}

.cp-icon-button.text.default:hover:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-default-hover);
  background-color: var(--cp-icon-button-color-default-light);
}

.cp-icon-button.text.default:active:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-default-active);
}

.cp-icon-button.text.primary[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-primary);
}

.cp-icon-button.text.primary:hover:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-primary-hover);
  background-color: var(--cp-icon-button-color-primary-light);
}

.cp-icon-button.text.primary:active:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-primary-active);
}

.cp-icon-button.text.success[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-success);
}

.cp-icon-button.text.success:hover:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-success-hover);
  background-color: var(--cp-icon-button-color-success-light);
}

.cp-icon-button.text.success:active:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-success-active);
}

.cp-icon-button.text.warn[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-warn);
}

.cp-icon-button.text.warn:hover:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-warn-hover);
  background-color: var(--cp-icon-button-color-warn-light);
}

.cp-icon-button.text.warn:active:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-warn-active);
}

.cp-icon-button.text.danger[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-danger);
}

.cp-icon-button.text.danger:hover:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-danger-hover);
  background-color: var(--cp-icon-button-color-danger-light);
}

.cp-icon-button.text.danger:active:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-danger-active);
}

/* ============ GHOST ICON BUTTONS ============ */
.cp-icon-button.ghost[b-e6oi16nf80] {
  background-color: transparent;
  border-color: transparent;
}

.cp-icon-button.ghost.default[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-default);
}

.cp-icon-button.ghost.default:hover:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-default-hover);
  background-color: rgba(107, 114, 128, 0.1);
}

.cp-icon-button.ghost.default:active:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-default-active);
  background-color: rgba(107, 114, 128, 0.2);
}

.cp-icon-button.ghost.primary[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-primary);
}

.cp-icon-button.ghost.primary:hover:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-primary-hover);
  background-color: rgba(27, 140, 248, 0.1);
}

.cp-icon-button.ghost.primary:active:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-primary-active);
  background-color: rgba(27, 140, 248, 0.2);
}

.cp-icon-button.ghost.success[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-success);
}

.cp-icon-button.ghost.success:hover:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-success-hover);
  background-color: rgba(22, 163, 74, 0.1);
}

.cp-icon-button.ghost.success:active:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-success-active);
  background-color: rgba(22, 163, 74, 0.2);
}

.cp-icon-button.ghost.warn[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-warn);
}

.cp-icon-button.ghost.warn:hover:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-warn-hover);
  background-color: rgba(255, 133, 0, 0.1);
}

.cp-icon-button.ghost.warn:active:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-warn-active);
  background-color: rgba(255, 133, 0, 0.2);
}

.cp-icon-button.ghost.danger[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-danger);
}

.cp-icon-button.ghost.danger:hover:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-danger-hover);
  background-color: rgba(255, 0, 0, 0.1);
}

.cp-icon-button.ghost.danger:active:not(.disabled)[b-e6oi16nf80] {
  color: var(--cp-icon-button-color-danger-active);
  background-color: rgba(255, 0, 0, 0.2);
}

/* ============ ICON BUTTON SHAPES ============ */
.cp-icon-button.circle[b-e6oi16nf80] {
  border-radius: 50%;
}

.cp-icon-button.round[b-e6oi16nf80] {
  border-radius: 32px;
}

/* ============ ICON BUTTON STATES ============ */
.cp-icon-button.disabled[b-e6oi16nf80] {
  background-color: #f5f5f5 !important;
  border-color: #d9d9d9 !important;
  color: rgba(0, 0, 0, 0.25) !important;
  cursor: not-allowed !important;
}

.cp-icon-button.loading[b-e6oi16nf80] {
  position: relative;
  pointer-events: none;
  animation: cp-icon-button-loading-spin-b-e6oi16nf80 1s linear infinite;
}

/* ============ ICON STYLES ============ */
.cp-icon-button[b-e6oi16nf80]  .k-icon {
  width: inherit !important;
  height: inherit !important;
}

.cp-icon-button[b-e6oi16nf80]  svg {
  width: 1.438em;
  height: 1.438em;
  fill: currentColor;
}

/* ============ LOADING ANIMATION ============ */
@keyframes cp-icon-button-loading-spin-b-e6oi16nf80 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* _content/Portal.Web/Components/Shared/CPIcon/CPIcon.razor.rz.scp.css */
.icon[b-4d3hdi1gih] {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}
/* _content/Portal.Web/Components/Shared/CPLoader/CPLoader.razor.rz.scp.css */
.cp-loader[b-qwxpu74s4j] {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.cp-loader svg[b-qwxpu74s4j] {
    display: block;
}

/* Loader sizes */
.cp-loader.sm[b-qwxpu74s4j] { width: 16px; height: 16px; }
.cp-loader.md[b-qwxpu74s4j] { width: 32px; height: 32px; }
.cp-loader.lg[b-qwxpu74s4j] { width: 72px; height: 72px; }

/* Square animation with reduced motion support */
.cp-loader-square[b-qwxpu74s4j] {
    animation: scale-animation-b-qwxpu74s4j 2s ease-in-out infinite;
    transform-box: fill-box;
    transform-origin: center;
}

@keyframes scale-animation-b-qwxpu74s4j {
    0% { opacity: 0; transform: scale(0); }
    10% { opacity: 1; transform: scale(1); }
    50% { opacity: 1; transform: scale(1); }
    60% { opacity: 0; transform: scale(0); }
    100% { opacity: 0; transform: scale(0); }
}

/* Screen reader only */
.sr-only[b-qwxpu74s4j] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Animation delays for diagonal effect */
.delay-1[b-qwxpu74s4j] { animation-delay: 0s; }
.delay-2[b-qwxpu74s4j] { animation-delay: 0.1s; }
.delay-3[b-qwxpu74s4j] { animation-delay: 0.2s; }
.delay-4[b-qwxpu74s4j] { animation-delay: 0.3s; }
.delay-5[b-qwxpu74s4j] { animation-delay: 0.4s; }
.delay-6[b-qwxpu74s4j] { animation-delay: 0.5s; }
.delay-7[b-qwxpu74s4j] { animation-delay: 0.6s; }

/* Accessibility: Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .cp-loader-square[b-qwxpu74s4j] {
        animation-duration: 0.5s;
        animation-timing-function: linear;
    }
}
/* _content/Portal.Web/Components/Shared/CPOverlayLoader/CPOverlayLoader.razor.rz.scp.css */
.cp-overlay-loader[b-vic760sq5s] {
    display: flex;
    justify-content: center;
    align-items: center;
    outline: none;
}

.cp-overlay-loader:focus[b-vic760sq5s] {
    outline: none;
}

/* Fixed positioning - covers entire viewport */
.cp-overlay-loader.fixed[b-vic760sq5s] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
}

/* Absolute positioning - covers parent container */
.cp-overlay-loader.absolute[b-vic760sq5s] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    border-radius: inherit;
}

.cp-overlay-backdrop[b-vic760sq5s] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(2px);
    border-radius: inherit;
}

/* Opaque mode: caller opts in when the underlying tree should be fully obscured
   (e.g. dashboard ↔ detail navigation where reconciling components would otherwise
   flicker through the translucent backdrop). */
.cp-overlay-loader.opaque .cp-overlay-backdrop[b-vic760sq5s] {
    background-color: #ffffff;
    backdrop-filter: none;
}

/* Below-chrome mode: the side drawer and top NavBar are sticky at z-index: 100. Lowering
   the overlay below that keeps both visible above the backdrop so the user retains
   navigation context during page-level loading. */
.cp-overlay-loader.fixed.below-chrome[b-vic760sq5s] {
    z-index: 50;
}

.cp-overlay-content[b-vic760sq5s] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    z-index: 1;
}

.cp-overlay-text[b-vic760sq5s] {
    font-size: 0.875rem;
    color: var(--bs-body-color, #212529);
    text-align: center;
    font-weight: 500;
}

/* Screen reader only */
.sr-only[b-vic760sq5s] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Accessibility: Reduced motion support */
@media (prefers-reduced-motion: reduce) {    
    .cp-overlay-backdrop[b-vic760sq5s] {
        backdrop-filter: none;
    }
}

/* Accessibility: High contrast support */
@media (prefers-contrast: high) {
    .cp-overlay-backdrop[b-vic760sq5s] {
        background-color: rgba(255, 255, 255, 0.95);
        backdrop-filter: none;
    }
    
    .cp-overlay-text[b-vic760sq5s] {
        color: #000;
        font-weight: 600;
    }
}
/* _content/Portal.Web/Components/Shared/CPPaper/CPPaper.razor.rz.scp.css */
.cp-paper[b-v6jgaeqxgx] {
  color: #2d3748;
  background-color: white;
  border-radius: 0.75rem;
  transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

.paper-square[b-v6jgaeqxgx] {
  border-radius: 0;
}

.paper-outlined[b-v6jgaeqxgx] {
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: none;
}

.paper-elevation-0[b-v6jgaeqxgx] {
  box-shadow: none;
}

.paper-elevation-1[b-v6jgaeqxgx] {
  box-shadow: 1px 3px 4px 0px rgba(0, 0, 0, 0.1);
}

.paper-elevation-2[b-v6jgaeqxgx] {
  box-shadow: 1px 5px 6px 0px rgba(0, 0, 0, 0.12);
}

.paper-elevation-3[b-v6jgaeqxgx] {
  box-shadow: 2px 7px 8px 0px rgba(0, 0, 0, 0.14);
}

.paper-elevation-4[b-v6jgaeqxgx] {
  box-shadow: 2px 9px 12px 0px rgba(0, 0, 0, 0.16);
}

.paper-elevation-5[b-v6jgaeqxgx] {
  box-shadow: 3px 12px 16px 0px rgba(0, 0, 0, 0.18);
}

.paper-elevation-6[b-v6jgaeqxgx] {
  box-shadow: 3px 15px 20px 0px rgba(0, 0, 0, 0.2);
}

.paper-elevation-7[b-v6jgaeqxgx] {
  box-shadow: 4px 18px 24px 0px rgba(0, 0, 0, 0.22);
}

.paper-elevation-8[b-v6jgaeqxgx] {
  box-shadow: 4px 22px 30px 0px rgba(0, 0, 0, 0.24);
}
/* _content/Portal.Web/Components/Shared/CPSwitch/CPSwitch.razor.rz.scp.css */
.cp-switch[b-15a4ryeuba] {
  outline: none;
  display: inline-block;

  /* Component-scoped color variables */
  --cp-switch-color-disabled: #4d4d4d;
  --cp-switch-color-inactive: #f9f9f9;

  --cp-switch-color-default: #6b7280;
  --cp-switch-color-default-hover: #4b5563;

  --cp-switch-color-primary: #1b8cf8;
  --cp-switch-color-primary-hover: #3a9bf9;

  --cp-switch-color-success: #16a34a;
  --cp-switch-color-success-hover: #03913e;

  --cp-switch-color-warn: #ff8500;
  --cp-switch-color-warn-hover: #e6750a;

  --cp-switch-color-danger: #ff0000;
  --cp-switch-color-danger-hover: #e60000;
}

.cp-switch:focus-visible .cp-switch-track[b-15a4ryeuba] {
  outline: 2px solid var(--cp-switch-color-primary);
  outline-offset: 2px;
}

.cp-switch-track[b-15a4ryeuba] {
  position: relative;
  background: var(--cp-switch-color-inactive);
  border: 1px solid #e0e0e0;
  display: flex;
  align-items: center;
  user-select: none;
  overflow: hidden;
}

.cp-switch.sm .cp-switch-track[b-15a4ryeuba] {
  height: 28px;
  border-radius: 14px;
}

.cp-switch.md .cp-switch-track[b-15a4ryeuba] {
  height: 36px;
  border-radius: 18px;
}

.cp-switch.lg .cp-switch-track[b-15a4ryeuba] {
  height: 48px;
  border-radius: 24px;
}

/* Clickable option buttons */
.cp-switch-option[b-15a4ryeuba] {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  appearance: none;
  background: transparent;
  border: 0;
  color: #6b7280;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.2s ease;
  flex: 1;
  min-width: fit-content;
}

.cp-switch-option:disabled[b-15a4ryeuba] {
  color: rgba(0, 0, 0, 0.25) !important;
  cursor: not-allowed !important;
}

.cp-switch-option.active[b-15a4ryeuba] {
  color: white;
}

.cp-switch-option:not(.active):hover:not(:disabled)[b-15a4ryeuba] {
  color: #374151;
}

.cp-switch.sm .cp-switch-option[b-15a4ryeuba] {
  font-size: 12px;
  border-radius: 12px;
  padding: 0 0.5rem;
  gap: 4px;
}

.cp-switch.md .cp-switch-option[b-15a4ryeuba] {
  font-size: 14px;
  border-radius: 16px;
  padding: 0.25rem 1rem;
  gap: 5px;
}

.cp-switch.lg .cp-switch-option[b-15a4ryeuba] {
  font-size: 16px;
  border-radius: 22px;
  padding: 0.5rem 1rem;
  gap: 6px;
}

.cp-switch-option-icon[b-15a4ryeuba] {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.cp-switch-option-icon svg[b-15a4ryeuba] {
  width: 1em;
  height: 1em;
  fill: currentColor;
}

.cp-switch-option-text[b-15a4ryeuba] {
  display: inline-flex;
  align-items: center;
}

/* Sliding background */
.cp-switch-slider[b-15a4ryeuba] {
  position: absolute;
  left: 1px;
  top: 1px;
  height: calc(100% - 2px);
  transition:
    transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    width 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
  pointer-events: none;
}
.cp-switch.default .cp-switch-slider[b-15a4ryeuba] {
  background: var(--cp-switch-color-default);
}
.cp-switch.default:has(.cp-switch-option.active:hover) .cp-switch-slider[b-15a4ryeuba] {
  background: var(--cp-switch-color-default-hover);
}
.cp-switch.primary .cp-switch-slider[b-15a4ryeuba] {
  background: var(--cp-switch-color-primary);
}
.cp-switch.primary:has(.cp-switch-option.active:hover) .cp-switch-slider[b-15a4ryeuba] {
  background: var(--cp-switch-color-primary-hover);
}
.cp-switch.success .cp-switch-slider[b-15a4ryeuba] {
  background: var(--cp-switch-color-success);
}
.cp-switch.success:has(.cp-switch-option.active:hover) .cp-switch-slider[b-15a4ryeuba] {
  background: var(--cp-switch-color-success-hover);
}
.cp-switch.warn .cp-switch-slider[b-15a4ryeuba] {
  background: var(--cp-switch-color-warn);
}
.cp-switch.warn:has(.cp-switch-option.active:hover) .cp-switch-slider[b-15a4ryeuba] {
  background: var(--cp-switch-color-warn-hover);
}
.cp-switch.danger .cp-switch-slider[b-15a4ryeuba] {
  background: var(--cp-switch-color-danger);
}
.cp-switch.danger:has(.cp-switch-option.active:hover) .cp-switch-slider[b-15a4ryeuba] {
  background: var(--cp-switch-color-danger-hover);
}
.cp-switch.disabled .cp-switch-slider[b-15a4ryeuba] {
  background: var(--cp-switch-color-disabled) !important;
}

.cp-switch.sm .cp-switch-slider[b-15a4ryeuba] {
  border-radius: 12px;
}

.cp-switch.md .cp-switch-slider[b-15a4ryeuba] {
  border-radius: 16px;
}

.cp-switch.lg .cp-switch-slider[b-15a4ryeuba] {
  border-radius: 22px;
}

/* Disabled state */
.cp-switch.disabled[b-15a4ryeuba] {
  cursor: not-allowed;
}

.cp-switch.disabled .cp-switch-track[b-15a4ryeuba] {
  pointer-events: none;
}
/* _content/Portal.Web/Components/Shared/CPTable/Components/CPTableEmpty.razor.rz.scp.css */
.cp-table-empty[b-8qpauuvh6c] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem;
  font-size: 1rem;
  color: #4a5568;
}

.cp-table-empty-icon[b-8qpauuvh6c] {
  flex-shrink: 0;
}

.cp-table-empty-icon[b-8qpauuvh6c]  .k-icon {
  color: currentColor;
}

.cp-table-empty-icon[b-8qpauuvh6c]  path {
  fill: currentColor;
  cursor: default;
}
/* _content/Portal.Web/Components/Shared/CPTable/Components/CPTableLoading.razor.rz.scp.css */
.cp-table-loading[b-fl8m4yb702] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  font-size: 1rem;
}
/* _content/Portal.Web/Components/Shared/CPTable/Components/CPTablePaginator.razor.rz.scp.css */
.cp-table-paginator[b-duewggc0rp] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border-top: 1px solid #e1e5e9;
  gap: 1.5rem;
  flex-wrap: wrap;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04);
}

.cp-table-paginator.sticky-paginator[b-duewggc0rp] {
  position: sticky;
  bottom: 0;
  z-index: 10;
}

.pagination-left[b-duewggc0rp] {
  flex: 1;
  display: flex;
  align-items: center;
  min-width: 0;
}

.pagination-center[b-duewggc0rp] {
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
}

.pagination-right[b-duewggc0rp] {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-width: 0;
}

.record-info[b-duewggc0rp] {
  color: #64748b;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
  background: #f1f5f9;
  padding: 0.5rem 0.875rem;
  border-radius: 0.5rem;
  border: 1px solid #e2e8f0;
}

.pagination-controls[b-duewggc0rp] {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.pagination-btn[b-duewggc0rp] {
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  color: #475569;
  border-radius: 0.375rem;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}

.pagination-btn[b-duewggc0rp]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  transition: left 0.5s;
}

.pagination-btn:hover:not(:disabled)[b-duewggc0rp]::before {
  left: 100%;
}

.pagination-btn:hover:not(:disabled)[b-duewggc0rp] {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  border-color: #cbd5e1;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  color: #334155;
}

.pagination-btn:active:not(:disabled)[b-duewggc0rp] {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.pagination-btn:disabled[b-duewggc0rp] {
  background: #f1f5f9;
  color: #94a3b8;
  cursor: not-allowed;
  opacity: 0.6;
  box-shadow: none;
}

.pagination-btn.active[b-duewggc0rp] {
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
  border-color: #2563eb;
  color: white;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
  font-weight: 600;
}

.pagination-btn.active:hover[b-duewggc0rp] {
  background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(59, 130, 246, 0.4);
}

.page-info[b-duewggc0rp] {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
  background: #f8fafc;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  border: 1px solid #e2e8f0;
}

.page-size-selector[b-duewggc0rp] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #475569;
}

.page-size-selector select[b-duewggc0rp] {
  padding: 0.5rem 0.75rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  font-size: 0.875rem;
  font-weight: 500;
  color: #475569;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
  padding-right: 2.5rem;
}

.page-size-selector select:hover[b-duewggc0rp] {
  border-color: #cbd5e1;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.page-size-selector select:focus[b-duewggc0rp] {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
/* Focus States for Accessibility */
.pagination-btn:focus[b-duewggc0rp] {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
  border-color: #3b82f6;
}

.pagination-btn.active:focus[b-duewggc0rp] {
  box-shadow:
    0 0 0 3px rgba(59, 130, 246, 0.3),
    0 4px 12px rgba(59, 130, 246, 0.3);
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .cp-table-paginator[b-duewggc0rp] {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    padding: 1rem;
  }

  .pagination-left[b-duewggc0rp],
  .pagination-right[b-duewggc0rp] {
    flex: none;
    justify-content: center;
  }

  .pagination-center[b-duewggc0rp] {
    order: -1;
  }

  .pagination-controls[b-duewggc0rp] {
    justify-content: center;
    gap: 0.75rem;
  }

  .pagination-btn[b-duewggc0rp] {
    padding: 0.375rem 0.75rem;
    font-size: 0.8125rem;
  }

  .page-info[b-duewggc0rp] {
    padding: 0.375rem 0.75rem;
    font-size: 0.8125rem;
  }

  .record-info[b-duewggc0rp] {
    font-size: 0.8125rem;
    padding: 0.375rem 0.75rem;
  }

  .page-size-selector[b-duewggc0rp] {
    font-size: 0.8125rem;
  }

  .page-size-selector select[b-duewggc0rp] {
    font-size: 0.8125rem;
    padding: 0.375rem 0.625rem;
    padding-right: 2.25rem;
  }
}

@media (max-width: 480px) {
  .cp-table-paginator[b-duewggc0rp] {
    padding: 0.75rem;
    gap: 0.75rem;
  }

  .pagination-controls[b-duewggc0rp] {
    gap: 0.5rem;
    flex-wrap: wrap;
  }

  .pagination-btn[b-duewggc0rp] {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
  }

  .page-info[b-duewggc0rp] {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
  }

  .record-info[b-duewggc0rp] {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
  }

  .page-size-selector[b-duewggc0rp] {
    font-size: 0.75rem;
  }

  .page-size-selector select[b-duewggc0rp] {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    padding-right: 2rem;
    background-size: 0.875rem;
  }
}
/* _content/Portal.Web/Components/Shared/CPTable/CPTable.razor.rz.scp.css */
/* =========================================================
   CSS Custom Properties for Theming
   ========================================================= */

.cp-table-container[b-8iy0peyhai] {
  /* Colors */
  --cp-table-bg: #ffffff;
  --cp-table-border-color: #dddde4;
  --cp-table-header-bg: #f8f9fa;
  --cp-table-header-color: #363c49;
  --cp-table-row-odd-bg: #ffffff;
  --cp-table-row-even-bg: #ebf2f5;
  --cp-table-row-hover-odd-bg: #f8f9fa;
  --cp-table-row-hover-even-bg: #e4ecf0;
  --cp-table-cell-color: #1c1b1f;
  --cp-table-sort-icon-color: #1c1b1f;
  --cp-table-sort-hover-color: #6c757d;
  --cp-table-expanded-bg: #f8f9fa;

  /* Spacing */
  --cp-table-cell-padding-y: 0.75rem;
  --cp-table-cell-padding-x: 0.5rem;
  --cp-table-cell-padding-x-first: 0.75rem;
  --cp-table-expansion-cell-width: 48px;
  --cp-table-expansion-cell-padding: 0.5rem;

  /* Typography */
  --cp-table-font-size: 0.875rem;
  --cp-table-cell-font-weight: 300;
  --cp-table-header-font-weight: 400;

  /* Transitions */
  --cp-table-transition-bg: background-color 0.2s ease;
  --cp-table-transition-color: color 0.2s ease;
  --cp-table-transition-transform: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --cp-table-transition-expand-icon: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);

  /* Z-index */
  --cp-table-sticky-z-index: 2;
}

/* =========================================================
   Layout & Container Styles
   ========================================================= */

/* Container uses flex layout - parent must set explicit height */
.cp-table-container[b-8iy0peyhai] {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: var(--cp-table-bg);
  border: 1px solid var(--cp-table-border-color);
  overflow: hidden;
  max-height: 100%;
}

/* Inner scrollable area fills available space */
.cp-table-inner[b-8iy0peyhai] {
  flex: 1 1 auto;
  overflow: auto;
  min-height: 0;
  /* Critical for flex children to enable scrolling */
}

.cp-table[b-8iy0peyhai] {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
}

tr[b-8iy0peyhai] {
  color: inherit;
  vertical-align: middle;
  outline: 0;
}

/* =========================================================
   Base Cell Styles
   ========================================================= */

th[b-8iy0peyhai],
td[b-8iy0peyhai] {
  padding: var(--cp-table-cell-padding-y) var(--cp-table-cell-padding-x);
  text-align: left;
  font-size: var(--cp-table-font-size);
}

th:first-child[b-8iy0peyhai],
td:first-child[b-8iy0peyhai] {
  padding-left: var(--cp-table-cell-padding-x-first);
}

th:last-child[b-8iy0peyhai],
td:last-child[b-8iy0peyhai] {
  padding-right: var(--cp-table-cell-padding-x-first);
}

/* =========================================================
   Header Styles
   ========================================================= */

th[b-8iy0peyhai] {
  background-color: var(--cp-table-header-bg);
  color: var(--cp-table-header-color);
  font-weight: var(--cp-table-header-font-weight);
}

.sticky-header th[b-8iy0peyhai] {
  position: sticky;
  top: 0;
  z-index: var(--cp-table-sticky-z-index);
}

.header-content[b-8iy0peyhai],
th[b-8iy0peyhai]  .header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: inherit;
  gap: 0.5rem;
}

.header-title[b-8iy0peyhai],
th[b-8iy0peyhai]  .header-title {
  transition: var(--cp-table-transition-color);
  text-align: inherit;
  flex: 1;
}

/* =========================================================
   Sorting Styles
   ========================================================= */

th.sortable[b-8iy0peyhai] {
  cursor: pointer;
}

th.sortable:focus[b-8iy0peyhai] {
  outline: none;
}

th.sortable[b-8iy0peyhai]  .sort-icon {
  height: 20px;
  width: 20px;
  line-height: 1.3;
  transition: var(--cp-table-transition-transform);
  color: var(--cp-table-sort-icon-color);
}

th.sortable[b-8iy0peyhai]  .sort-icon .k-icon {
  color: currentColor;
}

th.sortable[b-8iy0peyhai]  .sort-icon path {
  fill: currentColor;
}

th.sortable[b-8iy0peyhai]  .sort-icon.sort-asc {
  transform: rotate(0deg);
}

th.sortable[b-8iy0peyhai]  .sort-icon.sort-desc {
  transform: rotate(180deg);
}

th.sortable:not(.sorted):hover .header-title[b-8iy0peyhai],
th.sortable:not(.sorted):hover[b-8iy0peyhai]  .header-title,
th.sortable:not(.sorted):hover[b-8iy0peyhai]  .sort-icon {
  color: var(--cp-table-sort-hover-color);
}

/* =========================================================
   Row Striping & Hover Styles
   ========================================================= */

tr.row-even th[b-8iy0peyhai],
tr.row-even td:not(.expanded-cell)[b-8iy0peyhai],
tr.row-even td.expansion-cell[b-8iy0peyhai] {
  background-color: var(--cp-table-row-even-bg);
}

tr.row-odd th[b-8iy0peyhai],
tr.row-odd td:not(.expanded-cell)[b-8iy0peyhai],
tr.row-odd td.expansion-cell[b-8iy0peyhai] {
  background-color: var(--cp-table-row-odd-bg);
}

td[b-8iy0peyhai] {
  transition: var(--cp-table-transition-bg);
  font-weight: var(--cp-table-cell-font-weight);
  color: var(--cp-table-cell-color);
}

tr.clickable-row[b-8iy0peyhai] {
  cursor: pointer;
}

tr.row-odd.clickable-row:hover td:not(.expanded-cell)[b-8iy0peyhai],
tr.row-odd.clickable-row:hover td.expansion-cell[b-8iy0peyhai] {
  background-color: var(--cp-table-row-hover-odd-bg);
}

tr.row-even.clickable-row:hover td:not(.expanded-cell)[b-8iy0peyhai],
tr.row-even.clickable-row:hover td.expansion-cell[b-8iy0peyhai] {
  background-color: var(--cp-table-row-hover-even-bg);
}

/* =========================================================
   Border Styles
   ========================================================= */

th.border-horizontal[b-8iy0peyhai],
td.border-horizontal[b-8iy0peyhai] {
  border-bottom: 1px solid var(--cp-table-border-color);
}

tr:last-child td.border-horizontal[b-8iy0peyhai] {
  border-bottom: none;
}

th.border-vertical[b-8iy0peyhai],
td.border-vertical[b-8iy0peyhai] {
  border-right: 1px solid var(--cp-table-border-color);
}

th.border-vertical:last-child[b-8iy0peyhai],
td.border-vertical:last-child[b-8iy0peyhai] {
  border-right: none;
}

thead.sticky-header tr:last-child th.border-horizontal[b-8iy0peyhai] {
  box-shadow: 0 1px 0 0 var(--cp-table-border-color);
}

tfoot tr:first-child td.border-horizontal[b-8iy0peyhai] {
  border-top: 1px solid var(--cp-table-border-color);
}

tfoot.sticky-footer tr:first-child td.border-horizontal[b-8iy0peyhai] {
  box-shadow: 0 -1px 0 0 var(--cp-table-border-color);
}


/* =========================================================
   Alignment Styles
   ========================================================= */

.text-center[b-8iy0peyhai] {
  text-align: center;
}

.text-right[b-8iy0peyhai] {
  text-align: right;
}

.text-left[b-8iy0peyhai] {
  text-align: left;
}

/* =========================================================
   Weight Styles
   ========================================================= */

.font-bold[b-8iy0peyhai] {
  font-weight: 700;
}

.font-semi-bold[b-8iy0peyhai] {
  font-weight: 600;
}

.font-medium[b-8iy0peyhai] {
  font-weight: 500;
}

.font-normal[b-8iy0peyhai] {
  font-weight: 400;
}

/* =========================================================
   Wrap Styles
   ========================================================= */

.no-wrap[b-8iy0peyhai] {
  white-space: nowrap;
}

/* =========================================================
   Radius Styles
   ========================================================= */

.radius-none[b-8iy0peyhai] {
  border-radius: 0;
}

.radius-small[b-8iy0peyhai] {
  border-radius: 0.25rem;
}

.radius-medium[b-8iy0peyhai] {
  border-radius: 0.5rem;
}

.radius-large[b-8iy0peyhai] {
  border-radius: 0.75rem;
}

/* =========================================================
   Expansion Column & Icon Styles
   ========================================================= */

th.expansion-cell[b-8iy0peyhai],
td.expansion-cell[b-8iy0peyhai] {
  width: var(--cp-table-expansion-cell-width);
  padding: var(--cp-table-expansion-cell-padding);
  text-align: center;
}

/* Wrapper for CPIconButton in expansion column */
td.expansion-cell[b-8iy0peyhai]  .cp-row-expander {
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

td.expansion-cell[b-8iy0peyhai]  .plus-minus-icon path {
  cursor: inherit;
  fill: currentColor;
}

td.expansion-cell[b-8iy0peyhai]  .plus-minus-icon .vertical-line {
  transition: var(--cp-table-transition-expand-icon);
  transform-origin: 12px 12px;
}

td.expansion-cell[b-8iy0peyhai]  .plus-minus-icon.closed .vertical-line {
  transform: rotate(0deg);
}

td.expansion-cell[b-8iy0peyhai]  .plus-minus-icon.open .vertical-line {
  transform: rotate(90deg);
}

/* =========================================================
   Expanded Row Styles
   ========================================================= */

td.expanded-cell[b-8iy0peyhai] {
  background-color: var(--cp-table-expanded-bg);
  border-bottom: none;
  padding: 0;
}

th.expanded-cell.placeholder[b-8iy0peyhai],
td.expanded-cell.placeholder[b-8iy0peyhai] {
  width: var(--cp-table-expansion-cell-width);
}

td.expanded-cell.border-horizontal[b-8iy0peyhai]  .expanded-cell-content {
  border-bottom: 1px solid var(--cp-table-border-color);
}

tr:last-child td.expanded-cell.border-horizontal[b-8iy0peyhai]  .expanded-cell-content,
tr:not(.expanded-row.collapsed):not(:has(~ tr:not(.expanded-row.collapsed))) td.border-horizontal[b-8iy0peyhai] {
  border-bottom: none;
}

td.expanded-cell[b-8iy0peyhai]  .expanded-cell-content {
  padding: var(--cp-table-cell-padding-y) var(--cp-table-cell-padding-x);
}

td.expanded-cell:first-child[b-8iy0peyhai]  .expanded-cell-content {
  padding-left: var(--cp-table-cell-padding-x-first);
}

td.expanded-cell:last-child[b-8iy0peyhai]  .expanded-cell-content {
  padding-right: var(--cp-table-cell-padding-x-first);
}

/* =========================================================
   Footer Styles
   ========================================================= */

tfoot.sticky-footer[b-8iy0peyhai] {
  position: sticky;
  bottom: 0;
  z-index: var(--cp-table-sticky-z-index);
}

/* =========================================================
   Animations
   ========================================================= */

/* Collapse wrapper for column show/hide animation */
th[b-8iy0peyhai]  .cp-row-collapse,
td[b-8iy0peyhai]  .cp-row-collapse {
  display: block;
  max-width: 100%;
  overflow: hidden;
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 768px) {
  .cp-table-container[b-8iy0peyhai] {
    --cp-table-font-size: 0.75rem;
  }
}

@media (max-width: 480px) {
  .cp-table-container[b-8iy0peyhai] {
    --cp-table-cell-padding-y: 0.25rem;
    --cp-table-cell-padding-x: 0.5rem;
    --cp-table-cell-padding-x-first: 0.5rem;
  }
}
/* _content/Portal.Web/Components/Shared/CPTable/Helpers/Body/CPTableLinkCell.razor.rz.scp.css */
.cp-table-link-cell[b-93fapt5kuu] {
    color: #1b8cf8;
    text-decoration: none;
    font-weight: 400;
    font-size: 0.875rem;
    white-space: nowrap;
    cursor: pointer;
    transition: color 0.15s ease;
}

.cp-table-link-cell:hover[b-93fapt5kuu],
.cp-table-link-cell:focus[b-93fapt5kuu] {
    color: #1b8cf8;
    text-decoration: underline;
}

.cp-table-link-cell:focus[b-93fapt5kuu] {
    outline: none;
}

.cp-table-link-cell:active[b-93fapt5kuu] {
    color: #004085;
}

.cp-table-link-cell.disabled[b-93fapt5kuu] {
    color: #9ca3af;
    cursor: not-allowed;
    pointer-events: none;
    text-decoration: none;
}
/* _content/Portal.Web/Components/Shared/CPTable/Helpers/Body/CPTableStatusCell.razor.rz.scp.css */
.cp-table-status-cell[b-om09sprhlq] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.status-icon[b-om09sprhlq] {
    height: 20px;
    width: 20px;
    line-height: 1.3;
}

.status-success .status-icon[b-om09sprhlq] {
    color: #00c9a2;
}

.status-warning .status-icon[b-om09sprhlq] {
    color: #ff5400;
}

.status-error .status-icon[b-om09sprhlq] {
    color: #c53030;
}

.status-preliminary .status-icon[b-om09sprhlq] {
    color: #ff5400;
}

.status-nodata .status-icon[b-om09sprhlq] {
    color: #64748b;
}
/* _content/Portal.Web/Components/Shared/CPTabs/CPTab.razor.rz.scp.css */
/* 
 * CPTab component styles
 * Most tab styling is handled by CPTabList.razor.css
 * This file can be used for component-specific overrides
 */

/* Example: Custom styling for specific tab instances */
/*
.custom-tab-style {
  border: 1px solid #e5e7eb;
  background-color: #f9fafb;
}

.custom-tab-style:hover {
  background-color: #f3f4f6;
}
*/
/* _content/Portal.Web/Components/Shared/CPTabs/CPTabList.razor.rz.scp.css */
/* ========================================
   Modern Underline Tab Strip
   ======================================== */

.cp-tablist[b-16st1njy4b] {
  position: relative;
  background: transparent;
}

.cp-tabs-row[b-16st1njy4b] {
  display: flex;
  gap: 0.25rem;
  align-items: stretch;
}

.cp-tab[b-16st1njy4b] {
  position: relative;
  z-index: 1;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0.625rem 0.375rem;
  cursor: pointer;
  color: #6b7280;
  font-weight: 500;
  font-size: 0.9375rem;
  white-space: nowrap;
  transition: color 150ms ease;
}

.cp-tab:hover:not(.selected):not(.disabled)[b-16st1njy4b] {
  color: #1b8cf8;
}

.cp-tab.selected[b-16st1njy4b] {
  color: #1b8cf8;
  font-weight: 600;
}

.cp-tab.disabled[b-16st1njy4b] {
  color: #c4c9d1;
  cursor: not-allowed;
  opacity: 0.6;
}

.cp-tab:focus-visible[b-16st1njy4b] {
  outline: 2px solid #1b8cf8;
  outline-offset: -2px;
}

.cp-tab-label[b-16st1njy4b] {
  white-space: nowrap;
}

/* Sliding underline indicator */
.cp-tab-underline[b-16st1njy4b] {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2.5px;
  background: #1b8cf8;
  border-radius: 2px 2px 0 0;
  width: 0;
  transform: translate3d(0, 0, 0);
  will-change: transform, width;
  transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1), width 200ms cubic-bezier(0.4, 0, 0.2, 1);
}
/* _content/Portal.Web/Components/Shared/CPTabs/CPTabPanel.razor.rz.scp.css */
/* 
 * CPTabPanel component styles
 * Most panel styling is handled by CPTabPanels.razor.css
 * This file can be used for component-specific overrides
 */

/* Example: Custom styling for specific panel instances */
/*
.custom-panel-style {
  padding: 1.5rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  background-color: #ffffff;
}

.custom-panel-animation {
  animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
*/
/* _content/Portal.Web/Components/Shared/CPTabs/CPTabPanels.razor.rz.scp.css */
.cp-tab-panels[b-pluak16xrz] {
}

.cp-panel[b-pluak16xrz] {
}
/* _content/Portal.Web/Components/Shared/CPTabs/CPTabs.razor.rz.scp.css */
.cp-tabs[b-8xwl5arh3t] {
  background: transparent;
}
/* _content/Portal.Web/Components/Shared/CPTextPreview/CPTextPreview.razor.rz.scp.css */
/* Root span that handles line breaks + clamp + ellipsis */
.cp-text-preview[b-6lzyrzh2n0] {
    white-space: pre-line;
    /* preserve \n */
    word-break: break-word;
    /* avoid layout blowups on long URLs */

    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;

    /* multi-line clamp; default 4 but overridden via --cp-lines from component */
    --cp-lines: 4;
    -webkit-line-clamp: var(--cp-lines);
}

.cp-text-preview-link[b-6lzyrzh2n0] {
    color: #1b8cf8;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.15s ease;
}

.cp-text-preview-link:hover[b-6lzyrzh2n0] {
    color: #1b8cf8;
    text-decoration: underline;
}

.cp-text-preview-link:focus[b-6lzyrzh2n0] {
    color: #1b8cf8;
    text-decoration: underline;
    outline: none;
}

.cp-text-preview-link:active[b-6lzyrzh2n0],
.cp-text-preview-link:visited[b-6lzyrzh2n0] {
    color: #004085;
}
