/* /Pages/BIM/Details.razor.rz.scp.css */
.details-page[b-nwkm4cjyoe] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 64px);
    width: 100%;
}

.bim-content[b-nwkm4cjyoe] {
    display: flex;
    flex: 1;
    overflow: hidden;
}

.detail-management-panel[b-nwkm4cjyoe] {
    flex: 1;
    padding: 24px;
    overflow-y: auto;
}
/* /Pages/BIM/FloorPlan.razor.rz.scp.css */
.bim-page[b-305jx8v4of] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 64px);
    width: 100%;
}

.bim-info-bar[b-305jx8v4of] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 16px;
    background: var(--mud-palette-background);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    font-size: 0.875rem;
    flex-shrink: 0;
}

.bim-info-label[b-305jx8v4of] {
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
}

.bim-info-separator[b-305jx8v4of] {
    color: var(--mud-palette-text-disabled);
    margin: 0 4px;
}

/* Ribbon Styles */
.ribbon-container[b-305jx8v4of] {
    background: var(--mud-palette-background);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    position: relative;
}

.ribbon-tabs[b-305jx8v4of] {
    display: flex;
    background: var(--mud-palette-background-grey);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    align-items: center;
}

.ribbon-tab-list[b-305jx8v4of] {
    display: flex;
    flex: 1;
    overflow-x: auto;
    align-items: center;
    scrollbar-width: none; /* Firefox */
}

.ribbon-tab-list[b-305jx8v4of]::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.ribbon-actions[b-305jx8v4of] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    border-left: 1px solid var(--mud-palette-lines-default);
    padding-left: 4px;
}

.ribbon-tab[b-305jx8v4of] {
    padding: 8px 24px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
    transition: all 0.2s;
    white-space: nowrap;
}

.ribbon-tab:hover[b-305jx8v4of] {
    background: var(--mud-palette-action-default-hover);
}

.ribbon-tab.active[b-305jx8v4of] {
    background: var(--mud-palette-background);
    border-bottom-color: var(--mud-palette-primary);
}

.ribbon-toggle-btn[b-305jx8v4of] {
    padding: 4px 10px;
    background: transparent;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
    transition: all 0.2s;
}

.ribbon-toggle-btn:hover[b-305jx8v4of] {
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-primary);
}

.ribbon-collapse-all-btn[b-305jx8v4of] {
    padding: 4px 10px;
    background: transparent;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    color: var(--mud-palette-text-secondary);
    transition: all 0.2s;
}

.ribbon-collapse-all-btn:hover[b-305jx8v4of] {
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-primary);
}

.ribbon-content[b-305jx8v4of] {
    display: flex;
    gap: 20px;
    padding: 12px 20px;
    min-height: 80px;
}

/* Collapsed ribbon: content is hidden until a tab is hovered */
.ribbon-content.ribbon-content-dropdown[b-305jx8v4of] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 200;
    background: var(--mud-palette-background);
    border-bottom: 2px solid var(--mud-palette-primary);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    min-height: unset;
    flex-wrap: wrap;
    visibility: hidden;
}

/* Show dropdown when hovering the tab list (not the action buttons) or the dropdown itself */
.ribbon-tabs:has(.ribbon-tab-list:hover) + .ribbon-content.ribbon-content-dropdown[b-305jx8v4of],
.ribbon-content.ribbon-content-dropdown:hover[b-305jx8v4of] {
    visibility: visible;
}

.ribbon-group[b-305jx8v4of] {
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--mud-palette-lines-default);
    padding-right: 20px;
}

.ribbon-group:last-child[b-305jx8v4of] {
    border-right: none;
}

.ribbon-group-title[b-305jx8v4of] {
    font-size: 11px;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 8px;
    text-transform: uppercase;
}

.ribbon-buttons[b-305jx8v4of] {
    display: flex;
    gap: 8px;
}

.ribbon-button[b-305jx8v4of] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8px 12px;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
    min-width: 60px;
    color: var(--mud-palette-text-primary);
}

.ribbon-button:hover:not(:disabled)[b-305jx8v4of] {
    background: var(--mud-palette-background-grey);
    border-color: var(--mud-palette-lines-inputs);
}

.ribbon-button:disabled[b-305jx8v4of] {
    opacity: 0.6;
    cursor: not-allowed;
}

.ribbon-button.active-view[b-305jx8v4of] {
    background: var(--mud-palette-primary);
    border-color: var(--mud-palette-primary);
    color: white;
}

.ribbon-button.active-view[b-305jx8v4of]  .ribbon-icon svg {
    fill: white;
    color: white;
}

.ribbon-button.active-view .ribbon-label[b-305jx8v4of] {
    color: white;
}

.ribbon-icon[b-305jx8v4of] {
    margin-bottom: 4px;
}

[b-305jx8v4of] .ribbon-icon svg {
    width: 24px;
    height: 24px;
    fill: var(--mud-palette-text-primary);
    color: var(--mud-palette-text-primary);
}

.ceiling-icon[b-305jx8v4of]  svg {
    color: var(--mud-palette-text-secondary);
}

.window-icon[b-305jx8v4of]  svg {
    color: var(--mud-palette-info);
    width: 26px;
    height: 26px;
}

.ribbon-label[b-305jx8v4of] {
    font-size: 11px;
    text-align: center;
    color: var(--mud-palette-text-primary);
}

/* Content Area */
.bim-content[b-305jx8v4of] {
    display: flex;
    flex: 1;
    overflow: hidden;
}

.model-space[b-305jx8v4of] {
    flex: 1;
    background: #2a2a2a; /* intentional dark background for 3D modeling canvas */
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.model-placeholder[b-305jx8v4of] {
    text-align: center;
    color: var(--mud-palette-text-disabled);
}

.placeholder-content[b-305jx8v4of] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.placeholder-icon[b-305jx8v4of] {
    font-size: 64px;
}

.placeholder-icon[b-305jx8v4of]  svg {
    width: 64px;
    height: 64px;
    color: var(--mud-palette-text-secondary);
}

.placeholder-content h2[b-305jx8v4of] {
    color: var(--mud-palette-text-secondary);
    margin: 0;
    font-size: 32px;
    letter-spacing: 2px;
}

.placeholder-content p[b-305jx8v4of] {
    color: var(--mud-palette-text-disabled);
    margin: 0;
}

/* Right Sidebar */
.right-sidebar[b-305jx8v4of] {
    width: 300px;
    background: var(--mud-palette-surface);
    border-left: 1px solid var(--mud-palette-lines-default);
    display: flex;
    flex-direction: column;
    min-height: 0; /* Critical for nested flex scrolling */
    transition: width 0.2s ease;
}

.right-sidebar-collapsed[b-305jx8v4of] {
    width: 6px;
    min-width: 6px;
    overflow: hidden;
    border-left: 2px solid var(--mud-palette-primary);
}

/* Expand sidebar to full width when hovered in collapsed state */
.right-sidebar-collapsed:hover[b-305jx8v4of] {
    width: 300px;
}

.properties-panel[b-305jx8v4of] {
    flex: 1;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    display: flex;
    flex-direction: column;
    min-height: 0; /* Critical for nested flex scrolling */
}

.views-panel[b-305jx8v4of] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0; /* Critical for nested flex scrolling */
}

.panel-header[b-305jx8v4of] {
    background: var(--mud-palette-surface);
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.panel-content[b-305jx8v4of] {
    padding: 16px;
    overflow-y: auto;
    flex: 1;
    min-height: 0; /* Allows flex scrolling to work */
}

/* Properties Items */
.property-item[b-305jx8v4of] {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.property-item:last-child[b-305jx8v4of] {
    border-bottom: none;
}

.property-label[b-305jx8v4of] {
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
    font-size: 13px;
}

.property-value[b-305jx8v4of] {
    color: var(--mud-palette-text-secondary);
    font-size: 13px;
}

/* View Items - using MudBlazor list items */
.view-item-normal[b-305jx8v4of] {
    cursor: pointer;
}

.view-item-active[b-305jx8v4of] {
    background-color: var(--mud-palette-primary) !important;
    color: white !important;
}

.view-item-active[b-305jx8v4of]  .mud-list-item-text {
    color: white !important;
}

/* Line Style Select Styling */
.line-style-select[b-305jx8v4of] {
    color: var(--mud-palette-text-primary) !important;
}

.line-style-select[b-305jx8v4of]  .mud-input-root {
    color: var(--mud-palette-text-primary) !important;
    background-color: var(--mud-palette-surface) !important;
}

.line-style-select[b-305jx8v4of]  .mud-select-input {
    color: var(--mud-palette-text-primary) !important;
}

/* Property Numeric Field Styling */
.property-numeric-field[b-305jx8v4of] {
    color: var(--mud-palette-text-primary) !important;
    font-size: 13px !important;
}

.property-numeric-field[b-305jx8v4of]  .mud-input-root {
    color: var(--mud-palette-text-primary) !important;
    background-color: var(--mud-palette-surface) !important;
    font-size: 13px !important;
}

.property-numeric-field[b-305jx8v4of]  .mud-input {
    color: var(--mud-palette-text-primary) !important;
    font-size: 13px !important;
}

.property-numeric-field[b-305jx8v4of]  .mud-input-adornment-text {
    color: var(--mud-palette-text-primary) !important;
    font-size: 13px !important;
}

/* Property Select Field Styling */
.property-select-field[b-305jx8v4of] {
    color: var(--mud-palette-text-primary) !important;
    font-size: 13px !important;
}

.property-select-field[b-305jx8v4of]  .mud-input-root {
    color: var(--mud-palette-text-primary) !important;
    background-color: var(--mud-palette-surface) !important;
    font-size: 13px !important;
}

.property-select-field[b-305jx8v4of]  .mud-input {
    color: var(--mud-palette-text-primary) !important;
    font-size: 13px !important;
}

.property-select-field[b-305jx8v4of]  .mud-select-input {
    color: var(--mud-palette-text-primary) !important;
    font-size: 13px !important;
}

/* Property Text Field Styling */
.property-text-field[b-305jx8v4of] {
    color: var(--mud-palette-text-primary) !important;
    font-size: 13px !important;
}

.property-text-field[b-305jx8v4of]  .mud-input-root {
    color: var(--mud-palette-text-primary) !important;
    background-color: var(--mud-palette-surface) !important;
    font-size: 13px !important;
}

.property-text-field[b-305jx8v4of]  .mud-input {
    color: var(--mud-palette-text-primary) !important;
    font-size: 13px !important;
}

/* Linear Dimension Tooltip */
.dimension-tooltip[b-305jx8v4of] {
    position: fixed;
    bottom: 20px;
    right: 320px;
    background: var(--mud-palette-primary);
    color: white;
    padding: 12px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    pointer-events: none;
    animation: slideInUp-b-305jx8v4of 0.3s ease-out;
}

@keyframes slideInUp-b-305jx8v4of {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Trim style preview card styles */
.trim-style-card[b-305jx8v4of] {
    text-align: center;
    padding: 15px;
    border: 2px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    background-color: var(--mud-palette-surface);
    cursor: pointer;
    transition: all 0.2s ease;
}

.trim-style-card:hover[b-305jx8v4of] {
    border-color: var(--mud-palette-primary-lighten);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.trim-style-card-selected[b-305jx8v4of] {
    border-color: var(--mud-palette-primary);
    background-color: var(--mud-palette-primary-lighten);
}

/* Preview diagram styles */
.preview-container[b-305jx8v4of] {
    display: inline-block;
    position: relative;
}

.preview-window[b-305jx8v4of] {
    width: 90px;
    height: 100px;
    background-color: #87ceeb; /* intentional: sky blue represents window glass */
    border: 2px solid #333;
    display: inline-block;
}

.preview-trim-horizontal[b-305jx8v4of] {
    width: 100px;
    height: 8px;
    background-color: #d4a574; /* intentional: tan/wood color represents wood trim */
    position: absolute;
    left: -5px;
}

.preview-trim-vertical[b-305jx8v4of] {
    width: 8px;
    height: 100px;
    background-color: #d4a574; /* intentional: tan/wood color represents wood trim */
    position: absolute;
    top: 0;
}

.preview-trim-top[b-305jx8v4of] {
    top: -10px;
}

.preview-trim-bottom[b-305jx8v4of] {
    bottom: -10px;
}

.preview-trim-left[b-305jx8v4of] {
    left: -10px;
}

.preview-trim-right[b-305jx8v4of] {
    right: -10px;
}

.preview-trim-center[b-305jx8v4of] {
    left: 50%;
    transform: translateX(-50%);
}
/* /Pages/BIM/ReturnSystemDialog.razor.rz.scp.css */
.return-system-dialog-footer[b-ld1roiasu9] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 16px;
    margin-top: 8px;
    border-top: 1px solid #dee2e6;
}
/* /Pages/EnergyModel/EnergyDashboard.razor.rz.scp.css */
/* ============================================================
   Energy Analysis — Dashboard page styles
   EnergyDashboard.razor.css
   ============================================================ */

.db-root[b-4e6m3sldhs] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ── Top-row grid: force all three summary cards to equal height ─ */

[b-4e6m3sldhs] .db-top-grid > .mud-grid-item {
    display: flex !important;
    flex-direction: column;
    min-height: 0;
}

.db-top-grid[b-4e6m3sldhs] {
    align-items: stretch;
}

/* ── Cards ─────────────────────────────────────────────────── */

.db-card[b-4e6m3sldhs] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.db-card-title[b-4e6m3sldhs] {
    font-weight: 600;
}

.db-card-content[b-4e6m3sldhs] {
    flex: 1;
}

/* ── Project Card ───────────────────────────────────────────── */

.db-project-name[b-4e6m3sldhs] {
    font-weight: 700;
    margin-bottom: 8px;
}

.db-meta-row[b-4e6m3sldhs] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 4px;
}

.db-meta-icon[b-4e6m3sldhs] {
    opacity: 0.6;
    flex-shrink: 0;
}

/* ── Program & Standards ────────────────────────────────────── */

.db-program-active[b-4e6m3sldhs] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
}

.db-program-emoji[b-4e6m3sldhs] {
    font-size: 1.8rem;
    flex-shrink: 0;
}

/* ── Section header ─────────────────────────────────────────── */

.db-section-header[b-4e6m3sldhs] {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 10px;
}

.db-section-title[b-4e6m3sldhs] {
    font-weight: 600;
}

/* ── Module Status Cards ────────────────────────────────────── */

.db-module-card[b-4e6m3sldhs] {
    border-left-width: 3px !important;
    border-left-style: solid !important;
}

.db-module-card.db-status--complete[b-4e6m3sldhs]   { border-left-color: #4caf50 !important; }
.db-module-card.db-status--warning[b-4e6m3sldhs]    { border-left-color: #ff9800 !important; }
.db-module-card.db-status--error[b-4e6m3sldhs]      { border-left-color: #f44336 !important; }
.db-module-card.db-status--inprogress[b-4e6m3sldhs] { border-left-color: #2196f3 !important; }
.db-module-card.db-status--notstarted[b-4e6m3sldhs] { border-left-color: rgba(128, 128, 128, 0.3) !important; }

.db-module-content[b-4e6m3sldhs] {
    padding-bottom: 0 !important;
}

.db-module-header[b-4e6m3sldhs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 6px;
}

.db-module-icon[b-4e6m3sldhs] {
    opacity: 0.75;
}

.db-module-status-badge[b-4e6m3sldhs] {
    font-size: 1rem;
    font-weight: 700;
    width: 20px;
    text-align: center;
    flex-shrink: 0;
}

.db-status-badge--notstarted[b-4e6m3sldhs]  { color: rgba(128, 128, 128, 0.6); }
.db-status-badge--inprogress[b-4e6m3sldhs]  { color: #2196f3; }
.db-status-badge--complete[b-4e6m3sldhs]    { color: #4caf50; }
.db-status-badge--warning[b-4e6m3sldhs]     { color: #ff9800; }
.db-status-badge--error[b-4e6m3sldhs]       { color: #f44336; }

.db-module-name[b-4e6m3sldhs] {
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 2px;
}

.db-module-status-text[b-4e6m3sldhs] {
    line-height: 1.3;
}

/* ── Weather & Climate / Last Run ───────────────────────────── */

.db-stat-row[b-4e6m3sldhs] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3px 0;
    border-bottom: 1px solid rgba(128, 128, 128, 0.08);
}

.db-stat-row:last-child[b-4e6m3sldhs] {
    border-bottom: none;
}

.db-stat-label[b-4e6m3sldhs] {
    font-size: 0.8rem;
    color: rgba(128, 128, 128, 0.9);
}

.db-stat-value[b-4e6m3sldhs] {
    font-size: 0.82rem;
    font-weight: 500;
}

.db-stat-highlight[b-4e6m3sldhs] {
    color: #26d9b0;
    font-weight: 600;
}

.db-last-run-empty[b-4e6m3sldhs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 6px 0;
    text-align: center;
}

.db-last-run-icon[b-4e6m3sldhs] {
    opacity: 0.3;
}

/* ── Run Simulation Section ──────────────────────────────────── */

.db-run-section[b-4e6m3sldhs] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    padding: 8px 0 4px;
    border-top: 1px solid rgba(128, 128, 128, 0.15);
}

.db-run-hint[b-4e6m3sldhs] {
    text-align: right;
}

.db-run-btn[b-4e6m3sldhs] {
    min-width: 180px;
    font-size: 0.95rem;
    font-weight: 600;
}

/* ── Responsive ──────────────────────────────────────────────── */

@media (max-width: 599.98px) {
    .db-root[b-4e6m3sldhs] {
        gap: 12px;
    }

    .db-run-section[b-4e6m3sldhs] {
        align-items: stretch;
    }

    .db-run-btn[b-4e6m3sldhs] {
        min-width: 0;
        width: 100%;
    }

    .db-run-hint[b-4e6m3sldhs] {
        text-align: center;
    }
}
/* /Pages/EnergyModel/EnergyEnvelope.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════
   EnergyEnvelope.razor.css  —  Envelope Construction Editor styles
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Root container ─────────────────────────────────────────────────── */
.env-root[b-w8rglm2wfl] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 24px;
}

.env-page-header[b-w8rglm2wfl] {
    padding-bottom: 4px;
}

.env-header-stack[b-w8rglm2wfl] {
    flex-wrap: wrap;
}

/* ── Shared panel styles ─────────────────────────────────────────────── */
.env-panel[b-w8rglm2wfl] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 520px;
    overflow: hidden;
    border-radius: 6px;
}

.env-panel-header[b-w8rglm2wfl] {
    padding: 12px 16px 8px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.env-panel-item[b-w8rglm2wfl] {
    min-height: 0;
}

/* ── Tree panel ──────────────────────────────────────────────────────── */
.env-tree-panel[b-w8rglm2wfl] {
    min-height: 520px;
}

.env-tree-list[b-w8rglm2wfl] {
    flex: 1;
    overflow-y: auto;
    padding: 4px 0;
}

.env-tree-node[b-w8rglm2wfl] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    cursor: pointer;
    user-select: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    transition: background 0.1s;
}

.env-tree-node:hover[b-w8rglm2wfl] {
    background: rgba(0, 0, 0, 0.04);
}

.env-tree-node--building[b-w8rglm2wfl] {
    background: rgba(0, 0, 0, 0.02);
    font-weight: 600;
}

.env-tree-node--zone[b-w8rglm2wfl] {
    padding-left: 14px;
}

.env-tree-node--room[b-w8rglm2wfl] {
    padding-left: 14px;
}

.env-tree-node--selected[b-w8rglm2wfl] {
    background: rgba(var(--mud-palette-primary-rgb), 0.10) !important;
    border-left: 3px solid var(--mud-palette-primary);
}

.env-tree-node--selected:hover[b-w8rglm2wfl] {
    background: rgba(var(--mud-palette-primary-rgb), 0.14) !important;
}

.env-tree-icon[b-w8rglm2wfl] {
    flex-shrink: 0;
    font-size: 1rem;
    opacity: 0.7;
}

.env-tree-label[b-w8rglm2wfl] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.env-tree-empty[b-w8rglm2wfl] {
    padding: 8px 12px;
    font-style: italic;
}

/* ── Surface list panel ──────────────────────────────────────────────── */
.env-surface-list[b-w8rglm2wfl] {
    flex: 1;
    overflow-y: auto;
    padding: 4px 0;
}

.env-group[b-w8rglm2wfl] {
    margin-bottom: 2px;
}

.env-group-header[b-w8rglm2wfl] {
    display: flex;
    align-items: center;
    padding: 6px 12px;
    background: rgba(0, 0, 0, 0.03);
    cursor: pointer;
    user-select: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.env-group-header:hover[b-w8rglm2wfl] {
    background: rgba(0, 0, 0, 0.06);
}

.env-group-add-btn[b-w8rglm2wfl] {
    opacity: 0.6;
    transition: opacity 0.15s;
}

.env-group-header:hover .env-group-add-btn[b-w8rglm2wfl] {
    opacity: 1;
}

.env-group-empty[b-w8rglm2wfl] {
    padding: 6px 12px;
    font-style: italic;
}

.env-window-inputs[b-w8rglm2wfl] {
    padding: 8px 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.env-group-title[b-w8rglm2wfl] {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.7rem;
}

.env-group-count[b-w8rglm2wfl] {
    font-weight: 400;
    color: #888;
    margin-left: 2px;
}

.env-surface-row[b-w8rglm2wfl] {
    display: flex;
    align-items: flex-start;
    padding: 8px 12px 8px 8px;
    cursor: pointer;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    transition: background 0.1s;
}

.env-surface-row:hover[b-w8rglm2wfl] {
    background: rgba(0, 0, 0, 0.03);
}

.env-surface-row--active[b-w8rglm2wfl] {
    background: rgba(var(--mud-palette-primary-rgb), 0.06);
}

.env-surface-row--selected[b-w8rglm2wfl] {
    background: rgba(var(--mud-palette-primary-rgb), 0.10);
}

.env-row-checkbox[b-w8rglm2wfl] {
    margin-top: -2px;
    flex-shrink: 0;
}

.env-row-body[b-w8rglm2wfl] {
    flex: 1;
    min-width: 0;
    margin-left: 4px;
}

.env-row-name[b-w8rglm2wfl] {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.env-row-meta[b-w8rglm2wfl] {
    display: flex;
    gap: 8px;
    margin-top: 1px;
}

.env-meta-area[b-w8rglm2wfl],
.env-meta-ufactor[b-w8rglm2wfl] {
    font-size: 0.72rem;
    color: #888;
    font-family: monospace;
}

.env-meta-rvalue[b-w8rglm2wfl] {
    font-size: 0.72rem;
    font-family: monospace;
    color: var(--mud-palette-primary);
    font-weight: 600;
}

.env-row-construction[b-w8rglm2wfl] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #666;
    font-size: 0.72rem;
    margin-top: 1px;
}

.env-row-actions[b-w8rglm2wfl] {
    display: flex;
    align-items: flex-start;
    flex-shrink: 0;
    margin-top: -2px;
    gap: 0;
}

.env-row-action-btn[b-w8rglm2wfl] {
    opacity: 0;
    transition: opacity 0.15s;
}

.env-surface-row:hover .env-row-action-btn[b-w8rglm2wfl] {
    opacity: 1;
}

/* Status badge */
.env-status-badge[b-w8rglm2wfl] {
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 50%;
    font-size: 0.7rem;
    font-weight: 700;
    flex-shrink: 0;
    margin-left: 6px;
    margin-top: 4px;
}

.env-status-badge--ok[b-w8rglm2wfl]         { background: #e8f5e9; color: #2e7d32; }
.env-status-badge--warning[b-w8rglm2wfl]    { background: #fff8e1; color: #f57c00; }
.env-status-badge--unassigned[b-w8rglm2wfl] { background: #f5f5f5; color: #9e9e9e; border: 1px solid #e0e0e0; }
.env-status-badge--error[b-w8rglm2wfl]      { background: #ffebee; color: #c62828; }

/* Status icon */
.env-status-icon[b-w8rglm2wfl] {
    flex-shrink: 0;
    margin-left: 6px;
    margin-top: 4px;
}

.env-empty-state[b-w8rglm2wfl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
}

/* ── Construction detail panel ───────────────────────────────────────── */
.env-detail-panel[b-w8rglm2wfl] {
    min-height: 520px;
}

.env-no-selection[b-w8rglm2wfl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 400px;
    text-align: center;
    padding: 24px;
}

.env-detail-tabs[b-w8rglm2wfl] {
    flex: 1;
}

.env-detail-tab-panel[b-w8rglm2wfl] {
    padding: 16px;
    overflow-y: auto;
}

.env-unassign-btn[b-w8rglm2wfl] {
    float: right;
    margin-top: -4px;
    margin-right: -8px;
}

/* Effective R-value banner (inline, after "Currently assigned" alert) */
.env-r-banner[b-w8rglm2wfl] {
    padding: 4px 8px;
    border-left: 3px solid var(--mud-palette-primary);
    border-radius: 0 4px 4px 0;
    background: rgba(99, 179, 237, 0.08);
}

.env-r-chip[b-w8rglm2wfl] {
    font-weight: 600;
}

.env-search-box[b-w8rglm2wfl] {
    flex: 1;
    min-width: 180px;
}

.env-type-filter[b-w8rglm2wfl] {
    width: 160px;
    flex-shrink: 0;
}

/* Library list */
.env-library-list[b-w8rglm2wfl] {
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 4px;
    overflow-y: auto;
    max-height: 340px;
}

.env-library-row[b-w8rglm2wfl] {
    padding: 10px 14px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    cursor: pointer;
    transition: background 0.1s;
}

.env-library-row:last-child[b-w8rglm2wfl] { border-bottom: none; }
.env-library-row:hover[b-w8rglm2wfl] { background: rgba(0, 0, 0, 0.03); }

.env-library-row--selected[b-w8rglm2wfl] {
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
    border-left: 3px solid var(--mud-palette-primary);
}

.env-lib-row-body[b-w8rglm2wfl] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.env-lib-name-block[b-w8rglm2wfl] {
    flex: 1;
    min-width: 0;
}

.env-lib-metrics[b-w8rglm2wfl] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.env-lib-metric[b-w8rglm2wfl] {
    font-size: 0.75rem;
    font-family: monospace;
    background: rgba(0, 0, 0, 0.06);
    padding: 1px 5px;
    border-radius: 3px;
}

.env-lib-metric--secondary[b-w8rglm2wfl] { color: #888; }

.env-lib-preview[b-w8rglm2wfl] {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed rgba(0, 0, 0, 0.12);
}

.env-lib-preview-title[b-w8rglm2wfl] {
    display: block;
    margin-bottom: 4px;
}

.env-lib-layer-row[b-w8rglm2wfl] {
    display: flex;
    gap: 8px;
    padding: 2px 0;
    font-size: 0.75rem;
}

.env-lib-layer-name[b-w8rglm2wfl]  { flex: 1; }
.env-lib-layer-thick[b-w8rglm2wfl] { color: #888; min-width: 40px; }
.env-lib-layer-r[b-w8rglm2wfl]     { font-family: monospace; min-width: 50px; text-align: right; }

.env-lib-total-row[b-w8rglm2wfl] {
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    font-weight: 600;
    margin-top: 4px;
    padding-top: 4px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    font-family: monospace;
}

.env-lib-compliance-row[b-w8rglm2wfl] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

.env-assign-bar[b-w8rglm2wfl] {
    padding-top: 8px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* Layer builder */
.env-layer-header[b-w8rglm2wfl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.env-layer-order-hint[b-w8rglm2wfl] {
    font-size: 0.72rem;
    font-weight: 400;
    color: #888;
    margin-left: 6px;
}

.env-layer-list[b-w8rglm2wfl] {
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 4px;
    overflow: hidden;
}

.env-layer-row[b-w8rglm2wfl] {
    display: flex;
    align-items: center;
    padding: 6px 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    gap: 8px;
    background: var(--mud-palette-surface);
}

.env-layer-row:last-child[b-w8rglm2wfl] { border-bottom: none; }

.env-drag-handle[b-w8rglm2wfl] {
    cursor: grab;
    flex-shrink: 0;
    color: #ccc;
}

.env-layer-info[b-w8rglm2wfl] {
    flex: 1;
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 0.8rem;
}

.env-layer-name[b-w8rglm2wfl]  { flex: 1; font-weight: 500; }
.env-layer-thick[b-w8rglm2wfl] { color: #888; font-size: 0.75rem; min-width: 36px; }
.env-layer-r[b-w8rglm2wfl]     { font-family: monospace; font-size: 0.75rem; min-width: 46px; text-align: right; }

.env-layer-actions[b-w8rglm2wfl] {
    display: flex;
    flex-shrink: 0;
}

.env-assembly-summary[b-w8rglm2wfl] {
    padding: 8px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* ── UA Summary Panel ────────────────────────────────────────────────── */
.env-ua-panel[b-w8rglm2wfl] {
    border-radius: 6px;
    overflow: hidden;
}

.env-ua-header[b-w8rglm2wfl] {
    padding: 10px 16px;
    cursor: pointer;
    background: rgba(var(--mud-palette-info-rgb), 0.04);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    user-select: none;
}

.env-ua-header:hover[b-w8rglm2wfl] {
    background: rgba(var(--mud-palette-info-rgb), 0.08);
}

.env-ua-path-toggle[b-w8rglm2wfl] {
    align-items: center;
}

.env-ua-body[b-w8rglm2wfl] {
    padding: 12px 16px;
}

.env-ua-table[b-w8rglm2wfl] {
    font-size: 0.82rem;
}

.env-ua-footer[b-w8rglm2wfl] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
    flex-wrap: wrap;
    gap: 8px;
}

/* ── Create New call-to-action panel ─────────────────────────────────── */
.env-create-new-panel[b-w8rglm2wfl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 24px;
    text-align: center;
    min-height: 260px;
}

/* ── Responsive (tablet ≤ 959px) ────────────────────────────────────── */
@media (max-width: 959.98px) {
    .env-panel[b-w8rglm2wfl] {
        min-height: 380px;
    }

    .env-tree-panel[b-w8rglm2wfl] {
        min-height: auto;
    }

    .env-tree-list[b-w8rglm2wfl] {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 4px;
        padding: 6px 8px;
    }

    .env-tree-node[b-w8rglm2wfl] {
        padding: 4px 8px;
        border-bottom: none;
        border-radius: 4px;
        flex-shrink: 0;
    }

    .env-tree-node--zone[b-w8rglm2wfl],
    .env-tree-node--room[b-w8rglm2wfl] {
        padding-left: 8px;
    }

    .env-type-filter[b-w8rglm2wfl] {
        width: 130px;
    }

    .env-library-list[b-w8rglm2wfl] {
        max-height: 260px;
    }
}

/* ── Responsive (phone ≤ 599px) ─────────────────────────────────────── */
@media (max-width: 599.98px) {
    .env-panel[b-w8rglm2wfl] {
        min-height: 320px;
    }

    .env-ua-path-toggle[b-w8rglm2wfl] {
        display: none;
    }

    .env-type-filter[b-w8rglm2wfl] {
        display: none;
    }

    .env-lib-metrics[b-w8rglm2wfl] {
        flex-direction: column;
        align-items: flex-end;
    }
}
/* /Pages/EnergyModel/EnergyGapAnalysis.razor.rz.scp.css */
/* ── Root ──────────────────────────────────────────────────────────────── */
.ga-root[b-fu6g0fzd6q] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 16px;
    max-width: 1200px;
}

/* ── Page Header ──────────────────────────────────────────────────────── */
.ga-page-header[b-fu6g0fzd6q] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ga-header-stack[b-fu6g0fzd6q] {
    width: 100%;
}

/* ── Summary Cards Grid ──────────────────────────────────────────────── */
.ga-summary-grid[b-fu6g0fzd6q] {
    margin: 0 !important;
}

.ga-summary-card[b-fu6g0fzd6q] {
    border-radius: 8px !important;
    transition: border-color 0.2s;
}

.ga-summary-card.ga-summary--error[b-fu6g0fzd6q] {
    border-color: var(--mud-palette-error) !important;
}

.ga-summary-card.ga-summary--warning[b-fu6g0fzd6q] {
    border-color: var(--mud-palette-warning) !important;
}

.ga-summary-content[b-fu6g0fzd6q] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px !important;
}

.ga-summary-label-block[b-fu6g0fzd6q] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ga-summary-value[b-fu6g0fzd6q] {
    font-size: 1.4rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

/* ── Diagnostics Section ─────────────────────────────────────────────── */
.ga-diagnostics-section[b-fu6g0fzd6q] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ga-category-panel[b-fu6g0fzd6q] {
    border-radius: 8px !important;
    overflow: hidden;
}

.ga-diag-table[b-fu6g0fzd6q] {
    width: 100%;
}

.ga-field-name[b-fu6g0fzd6q] {
    font-family: 'Roboto Mono', monospace;
    font-size: 0.75rem !important;
    word-break: break-all;
}

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (max-width: 599.98px) {
    .ga-root[b-fu6g0fzd6q] {
        padding: 8px;
        gap: 12px;
    }

    .ga-summary-content[b-fu6g0fzd6q] {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

/* ── Input Breakdown Section ─────────────────────────────────────────── */
.ga-input-breakdown[b-fu6g0fzd6q] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--mud-palette-divider);
}

.ga-breakdown-table[b-fu6g0fzd6q] {
    width: 100%;
}

.ga-breakdown-table td:first-child[b-fu6g0fzd6q] {
    width: 220px;
    white-space: nowrap;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-family: 'Roboto Mono', monospace;
    padding-right: 16px;
}
/* /Pages/EnergyModel/EnergyInfiltration.razor.rz.scp.css */
/* ── Infiltration page — component-specific styles ──────────────────── */
/* Layout (root, header, grid, tree, panels) uses shared ig-* classes   */
/* defined in wwwroot/css/app.css.                                       */

/* ── Entry table ─────────────────────────────────────────────────────── */

.inf-entry-table[b-1lro0s75bw] {
    border-radius: 4px;
    overflow: hidden;
}

/* ── Inline editable fields ──────────────────────────────────────────── */

.inf-inline-field[b-1lro0s75bw] {
    min-width: 72px;
    max-width: 96px;
}

[b-1lro0s75bw] .inf-inline-field .mud-input {
    font-size: 1rem;
}

.inf-shelter-select[b-1lro0s75bw] {
    min-width: 56px;
    max-width: 72px;
}

.inf-unit-select[b-1lro0s75bw] {
    min-width: 120px;
    max-width: 180px;
}

.inf-type-select[b-1lro0s75bw] {
    min-width: 88px;
    max-width: 120px;
}

.inf-target-select[b-1lro0s75bw] {
    min-width: 140px;
    max-width: 220px;
}

.inf-test-type-select[b-1lro0s75bw] {
    min-width: 96px;
    max-width: 140px;
}
/* /Pages/EnergyModel/EnergyMechanical.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════
   EnergyMechanical.razor.css  —  Space Conditioning module styles
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Root container ─────────────────────────────────────────────────── */
.sc-root[b-vpcn2mv1tc] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 24px;
}

.sc-page-header[b-vpcn2mv1tc] {
    padding-bottom: 4px;
}

.sc-header-stack[b-vpcn2mv1tc] {
    flex-wrap: wrap;
}

/* ── Shared panel styles ─────────────────────────────────────────────── */
.sc-panel[b-vpcn2mv1tc] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 540px;
    overflow: hidden;
    border-radius: 6px;
}

.sc-panel-header[b-vpcn2mv1tc] {
    padding: 12px 16px 8px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.sc-panel-item[b-vpcn2mv1tc] {
    min-height: 0;
}

/* ── Tree panel ──────────────────────────────────────────────────────── */
.sc-tree-panel[b-vpcn2mv1tc] {
    min-height: 540px;
}

.sc-tree[b-vpcn2mv1tc] {
    flex: 1;
    overflow-y: auto;
    padding: 4px 0;
    user-select: none;
}

/* ── Tree nodes ──────────────────────────────────────────────────────── */
.sc-node[b-vpcn2mv1tc] {
    display: flex;
    align-items: center;
    padding: 6px 12px 6px 8px;
    cursor: pointer;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    transition: background 0.1s;
    gap: 4px;
    min-width: 0;
}

.sc-node:hover[b-vpcn2mv1tc] {
    background: rgba(0, 0, 0, 0.04);
}

.sc-node--active[b-vpcn2mv1tc] {
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
}

/* Building — root level */
.sc-node--building[b-vpcn2mv1tc] {
    background: rgba(0, 0, 0, 0.02);
    font-weight: 600;
}

.sc-node--building:hover[b-vpcn2mv1tc] {
    background: rgba(0, 0, 0, 0.05);
}

.sc-node--building.sc-node--active[b-vpcn2mv1tc] {
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
}

/* System — indented one level */
.sc-node--system[b-vpcn2mv1tc] {
    padding-left: 8px;
}

/* Indent spacer for system rows */
.sc-system-indent[b-vpcn2mv1tc] {
    display: inline-block;
    width: 20px;
    flex-shrink: 0;
}

/* Zone — indented two levels */
.sc-node--zone[b-vpcn2mv1tc] {
    padding-left: 8px;
}

/* Indent spacer for zone rows */
.sc-zone-indent[b-vpcn2mv1tc] {
    display: inline-block;
    width: 36px;
    flex-shrink: 0;
}

/* Indent spacer for zones inside a distribution group (deeper than zone-indent) */
.sc-group-zone-indent[b-vpcn2mv1tc] {
    display: inline-block;
    width: 52px;
    flex-shrink: 0;
}

/* Equipment — indented three levels */
.sc-node--equipment[b-vpcn2mv1tc] {
    padding-left: 8px;
}

/* Indent spacer for equipment rows under direct zones (no distribution group) */
.sc-equipment-indent[b-vpcn2mv1tc] {
    display: inline-block;
    width: 52px;
    flex-shrink: 0;
}

/* Indent spacer for equipment rows under zones that are inside a distribution group */
.sc-zone-equipment-indent[b-vpcn2mv1tc] {
    display: inline-block;
    width: 68px;
    flex-shrink: 0;
}

/* Indent spacer for zones nested under a middle-tier distributing unit */
.sc-deep-zone-indent[b-vpcn2mv1tc] {
    display: inline-block;
    width: 84px;
    flex-shrink: 0;
}

.sc-expand-spacer[b-vpcn2mv1tc] {
    display: inline-block;
    width: 28px;
    flex-shrink: 0;
}

/* Tight expand/collapse icon button */
.sc-expand-btn[b-vpcn2mv1tc] {
    flex-shrink: 0;
    margin: -6px -4px -6px -6px;
}

.sc-node-icon[b-vpcn2mv1tc] {
    flex-shrink: 0;
    color: #888;
}

.sc-node-label[b-vpcn2mv1tc] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.85rem;
}

/* ── Node type badges ────────────────────────────────────────────────── */
.sc-node-badge[b-vpcn2mv1tc] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 1px 5px;
    border-radius: 3px;
    flex-shrink: 0;
}

.sc-badge--building[b-vpcn2mv1tc]      { background: rgba(var(--mud-palette-primary-rgb), 0.12);   color: var(--mud-palette-primary); }
.sc-badge--system[b-vpcn2mv1tc]        { background: rgba(var(--mud-palette-info-rgb), 0.12);      color: var(--mud-palette-info); }
.sc-badge--zone[b-vpcn2mv1tc]          { background: rgba(var(--mud-palette-tertiary-rgb), 0.12);  color: var(--mud-palette-tertiary); font-size: 0.62rem; }
.sc-badge--equipment[b-vpcn2mv1tc]     { background: rgba(var(--mud-palette-secondary-rgb), 0.12); color: var(--mud-palette-secondary); font-size: 0.58rem; }
.sc-badge--sys-equipment[b-vpcn2mv1tc] { background: rgba(var(--mud-palette-info-rgb), 0.08);      color: var(--mud-palette-info); font-size: 0.58rem; }
.sc-badge--dist-unit[b-vpcn2mv1tc]     { background: rgba(var(--mud-palette-primary-rgb), 0.08);   color: var(--mud-palette-primary); font-size: 0.58rem; }
.sc-badge--service-profile[b-vpcn2mv1tc] { background: rgba(var(--mud-palette-warning-rgb), 0.12); color: var(--mud-palette-warning); font-size: 0.58rem; }
.sc-badge--distribution[b-vpcn2mv1tc]  { background: rgba(var(--mud-palette-success-rgb), 0.12);   color: var(--mud-palette-success); font-size: 0.58rem; }

/* ── Tree empty state ────────────────────────────────────────────────── */
.sc-tree-empty[b-vpcn2mv1tc] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    color: rgba(0, 0, 0, 0.38);
    font-size: 0.8rem;
    font-style: italic;
}

/* ── System group card ───────────────────────────────────────────────── */
.sc-system-group[b-vpcn2mv1tc] {
    margin: 5px 8px 8px;
    border: 1px solid rgba(0, 0, 0, 0.13);
    border-radius: 6px;
    overflow: hidden;
}

.sc-system-group-header[b-vpcn2mv1tc] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 6px 5px 10px;
    background: rgba(var(--mud-palette-info-rgb), 0.09);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 600;
    min-width: 0;
    user-select: none;
}

.sc-system-group-header:hover[b-vpcn2mv1tc] {
    background: rgba(var(--mud-palette-info-rgb), 0.15);
}

.sc-system-group-header--active[b-vpcn2mv1tc] {
    background: rgba(var(--mud-palette-primary-rgb), 0.12);
    box-shadow: inset 0 0 0 1px rgba(var(--mud-palette-primary-rgb), 0.28);
}

.sc-group-header-icon[b-vpcn2mv1tc] {
    flex-shrink: 0;
    color: var(--mud-palette-info);
    font-size: 1rem !important;
}

.sc-group-header-label[b-vpcn2mv1tc] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--mud-palette-text-primary);
}

.sc-group-header-actions[b-vpcn2mv1tc] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

/* Remove bottom border from last node inside a group */
.sc-system-group .sc-node:last-child[b-vpcn2mv1tc] {
    border-bottom: none;
}

/* Adjust system-group node indents: nodes are now inside the card frame */
.sc-system-group .sc-node--system[b-vpcn2mv1tc] {
    padding-left: 4px;
}


.sc-detail-panel[b-vpcn2mv1tc] {
    min-height: 540px;
}

.sc-no-selection[b-vpcn2mv1tc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 400px;
    text-align: center;
    padding: 24px;
}

.sc-detail-body[b-vpcn2mv1tc] {
    padding: 16px 20px;
    overflow-y: auto;
    flex: 1;
}

.sc-detail-header[b-vpcn2mv1tc] {
    flex-wrap: wrap;
}

/* Summary cards shown in system list */
.sc-summary-card[b-vpcn2mv1tc] {
    padding: 8px 12px;
    margin-bottom: 6px;
    border-radius: 4px;
}

.sc-summary-card--child[b-vpcn2mv1tc] {
    border-left: 2px solid rgba(var(--mud-palette-secondary-rgb), 0.5);
}

.sc-eq-child-row[b-vpcn2mv1tc] {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    margin-left: 14px;
}

.sc-eq-child-icon[b-vpcn2mv1tc] {
    margin-top: 10px;
    opacity: 0.7;
}

.sc-equipment-relationship[b-vpcn2mv1tc] {
    font-size: 0.68rem;
}

/* Inputs placeholder area */
.sc-inputs-placeholder[b-vpcn2mv1tc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 160px;
    text-align: center;
    padding: 24px;
    border: 1px dashed rgba(0, 0, 0, 0.12);
    border-radius: 6px;
}

/* ── Node action buttons ─────────────────────────────────────────────── */
.sc-node-actions[b-vpcn2mv1tc] {
    display: flex;
    align-items: center;
    gap: 0;
    margin-left: 4px;
    flex-shrink: 0;
}

/* ── Service profile icons ───────────────────────────────────────────── */
.sc-service-icons[b-vpcn2mv1tc] {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
}

.sc-service-icon[b-vpcn2mv1tc] {
    font-size: 1rem !important;
    flex-shrink: 0;
}

.sc-service-icon--heating[b-vpcn2mv1tc]     { color: #ef6c00; }
.sc-service-icon--cooling[b-vpcn2mv1tc]     { color: #1565c0; }
.sc-service-icon--ventilation[b-vpcn2mv1tc] { color: var(--mud-palette-info); }

/* ── Refrigerant group block — vertical dashed left border connecting outdoor to indoor unit ── */
.sc-refrigerant-group-block[b-vpcn2mv1tc] {
    border-left: 1px dashed rgba(21, 101, 192, 0.55);
    margin-left: 12px;
    padding-left: 0;
}

/* ── Refrigerant Lines badge on the primary (outdoor) unit row ─────────── */
.sc-badge--refrigerant-hint[b-vpcn2mv1tc] {
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(21, 101, 192, 0.8);
    background: rgba(21, 101, 192, 0.08);
    border: 1px dashed rgba(21, 101, 192, 0.45);
    border-radius: 4px;
    padding: 1px 5px;
    white-space: nowrap;
    margin-left: auto;
    flex-shrink: 0;
}

/* ── Responsive (tablet ≤ 959px) ────────────────────────────────────── */
@media (max-width: 959.98px) {
    .sc-panel[b-vpcn2mv1tc] {
        min-height: 380px;
    }
}

/* ── Responsive (phone ≤ 599px) ─────────────────────────────────────── */
@media (max-width: 599.98px) {
    .sc-panel[b-vpcn2mv1tc] {
        min-height: 320px;
    }

    .sc-node-badge[b-vpcn2mv1tc] {
        display: none;
    }
}
/* /Pages/EnergyModel/EnergyPlumbing.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════
   EnergyPlumbing.razor.css  —  Plumbing module styles
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Root container ─────────────────────────────────────────────────── */
.pl-root[b-qpakqdapyj] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 24px;
}

.pl-page-header[b-qpakqdapyj] {
    padding-bottom: 4px;
}

.pl-header-stack[b-qpakqdapyj] {
    flex-wrap: wrap;
}

/* ── Shared panel styles ─────────────────────────────────────────────── */
.pl-panel[b-qpakqdapyj] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 540px;
    overflow: hidden;
    border-radius: 6px;
}

.pl-panel-header[b-qpakqdapyj] {
    padding: 12px 16px 8px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.pl-panel-item[b-qpakqdapyj] {
    min-height: 0;
}

/* ── Tree panel ──────────────────────────────────────────────────────── */
.pl-tree-panel[b-qpakqdapyj] {
    min-height: 540px;
}

.pl-tree[b-qpakqdapyj] {
    flex: 1;
    overflow-y: auto;
    padding: 4px 0;
    user-select: none;
}

/* ── Tree nodes ──────────────────────────────────────────────────────── */
.pl-node[b-qpakqdapyj] {
    display: flex;
    align-items: center;
    padding: 6px 12px 6px 8px;
    cursor: pointer;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    transition: background 0.1s;
    gap: 4px;
    min-width: 0;
}

.pl-node:hover[b-qpakqdapyj] {
    background: rgba(0, 0, 0, 0.04);
}

.pl-node--active[b-qpakqdapyj] {
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
}

/* Building — root level */
.pl-node--building[b-qpakqdapyj] {
    background: rgba(0, 0, 0, 0.02);
    font-weight: 600;
}

.pl-node--building:hover[b-qpakqdapyj] {
    background: rgba(0, 0, 0, 0.05);
}

.pl-node--building.pl-node--active[b-qpakqdapyj] {
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
}

/* System — indented one level */
.pl-node--system[b-qpakqdapyj] {
    padding-left: 8px;
}

/* Indent spacer for system rows */
.pl-system-indent[b-qpakqdapyj] {
    display: inline-block;
    width: 20px;
    flex-shrink: 0;
}

/* Equipment / Distribution — indented two levels */
.pl-node--equipment[b-qpakqdapyj],
.pl-node--distribution[b-qpakqdapyj] {
    padding-left: 8px;
}

/* Indent spacer for equipment and distribution rows */
.pl-equipment-indent[b-qpakqdapyj] {
    display: inline-block;
    width: 36px;
    flex-shrink: 0;
}

/* Accessory — indented three levels */
.pl-node--accessory[b-qpakqdapyj] {
    padding-left: 8px;
}

/* Indent spacer for accessory rows */
.pl-accessory-indent[b-qpakqdapyj] {
    display: inline-block;
    width: 52px;
    flex-shrink: 0;
}

.pl-expand-spacer[b-qpakqdapyj] {
    display: inline-block;
    width: 28px;
    flex-shrink: 0;
}

/* Tight expand/collapse icon button */
.pl-expand-btn[b-qpakqdapyj] {
    flex-shrink: 0;
    margin: -6px -4px -6px -6px;
}

.pl-node-icon[b-qpakqdapyj] {
    flex-shrink: 0;
    color: #888;
}

.pl-node-label[b-qpakqdapyj] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.85rem;
}

/* ── Node type badges ────────────────────────────────────────────────── */
.pl-node-badge[b-qpakqdapyj] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 1px 5px;
    border-radius: 3px;
    flex-shrink: 0;
}

.pl-badge--building[b-qpakqdapyj]      { background: rgba(var(--mud-palette-primary-rgb), 0.12);   color: var(--mud-palette-primary); }
.pl-badge--system[b-qpakqdapyj]        { background: rgba(var(--mud-palette-info-rgb), 0.12);      color: var(--mud-palette-info); }
.pl-badge--equipment[b-qpakqdapyj]     { background: rgba(var(--mud-palette-secondary-rgb), 0.12); color: var(--mud-palette-secondary); font-size: 0.58rem; }
.pl-badge--distribution[b-qpakqdapyj]  { background: rgba(var(--mud-palette-success-rgb), 0.12);   color: var(--mud-palette-success); font-size: 0.58rem; }
.pl-badge--accessory[b-qpakqdapyj]     { background: rgba(var(--mud-palette-tertiary-rgb), 0.12);  color: var(--mud-palette-tertiary); font-size: 0.58rem; }

/* ── Detail panel ────────────────────────────────────────────────────── */
.pl-detail-panel[b-qpakqdapyj] {
    min-height: 540px;
}

.pl-no-selection[b-qpakqdapyj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 400px;
    text-align: center;
    padding: 24px;
}

.pl-detail-body[b-qpakqdapyj] {
    padding: 16px 20px;
    overflow-y: auto;
    flex: 1;
}

.pl-detail-header[b-qpakqdapyj] {
    flex-wrap: wrap;
}

/* Summary cards shown in system list */
.pl-summary-card[b-qpakqdapyj] {
    padding: 8px 12px;
    margin-bottom: 6px;
    border-radius: 4px;
}

/* Inputs placeholder area */
.pl-inputs-placeholder[b-qpakqdapyj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 160px;
    text-align: center;
    padding: 24px;
    border: 1px dashed rgba(0, 0, 0, 0.12);
    border-radius: 6px;
}

/* ── Node action buttons ─────────────────────────────────────────────── */
.pl-node-actions[b-qpakqdapyj] {
    display: flex;
    align-items: center;
    gap: 0;
    margin-left: 4px;
    flex-shrink: 0;
}

.pl-checkbox-box-only-row[b-qpakqdapyj] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

:deep(.pl-checkbox-box-only)[b-qpakqdapyj] {
    width: auto;
    margin: 0;
}

/* ── Responsive (tablet ≤ 959px) ────────────────────────────────────── */
@media (max-width: 959.98px) {
    .pl-panel[b-qpakqdapyj] {
        min-height: 380px;
    }
}

/* ── Responsive (phone ≤ 599px) ─────────────────────────────────────── */
@media (max-width: 599.98px) {
    .pl-panel[b-qpakqdapyj] {
        min-height: 320px;
    }

    .pl-node-badge[b-qpakqdapyj] {
        display: none;
    }
}
/* /Pages/EnergyModel/EnergyRenewables.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════
   EnergyRenewables.razor.css  —  Renewables module styles
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Root container ─────────────────────────────────────────────────── */
.re-root[b-2j8aaobsu8] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 24px;
}

.re-page-header[b-2j8aaobsu8] {
    padding-bottom: 4px;
}

.re-header-stack[b-2j8aaobsu8] {
    flex-wrap: wrap;
}

/* ── Shared panel styles ─────────────────────────────────────────────── */
.re-panel[b-2j8aaobsu8] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 540px;
    overflow: hidden;
    border-radius: 6px;
}

.re-panel-header[b-2j8aaobsu8] {
    padding: 12px 16px 8px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.re-panel-item[b-2j8aaobsu8] {
    min-height: 0;
}

/* ── Tree panel ──────────────────────────────────────────────────────── */
.re-tree-panel[b-2j8aaobsu8] {
    min-height: 540px;
}

.re-tree[b-2j8aaobsu8] {
    flex: 1;
    overflow-y: auto;
    padding: 4px 0;
    user-select: none;
}

/* ── Tree nodes ──────────────────────────────────────────────────────── */
.re-node[b-2j8aaobsu8] {
    display: flex;
    align-items: center;
    padding: 6px 12px 6px 8px;
    cursor: pointer;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    transition: background 0.1s;
    gap: 4px;
    min-width: 0;
}

.re-node:hover[b-2j8aaobsu8] {
    background: rgba(0, 0, 0, 0.04);
}

.re-node--active[b-2j8aaobsu8] {
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
}

/* Building — root level */
.re-node--building[b-2j8aaobsu8] {
    background: rgba(0, 0, 0, 0.02);
    font-weight: 600;
}

.re-node--building:hover[b-2j8aaobsu8] {
    background: rgba(0, 0, 0, 0.05);
}

.re-node--building.re-node--active[b-2j8aaobsu8] {
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
}

/* System — indented one level */
.re-node--system[b-2j8aaobsu8] {
    padding-left: 8px;
}

/* Indent spacer for system rows */
.re-system-indent[b-2j8aaobsu8] {
    display: inline-block;
    width: 20px;
    flex-shrink: 0;
}

.re-expand-spacer[b-2j8aaobsu8] {
    display: inline-block;
    width: 28px;
    flex-shrink: 0;
}

/* Tight expand/collapse icon button */
.re-expand-btn[b-2j8aaobsu8] {
    flex-shrink: 0;
    margin: -6px -4px -6px -6px;
}

.re-node-icon[b-2j8aaobsu8] {
    flex-shrink: 0;
    color: #888;
}

.re-node-label[b-2j8aaobsu8] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.85rem;
}

/* ── Node type badges ────────────────────────────────────────────────── */
.re-node-badge[b-2j8aaobsu8] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 1px 5px;
    border-radius: 3px;
    flex-shrink: 0;
}

.re-badge--building[b-2j8aaobsu8] { background: rgba(var(--mud-palette-primary-rgb), 0.12);   color: var(--mud-palette-primary); }
.re-badge--system[b-2j8aaobsu8]   { background: rgba(var(--mud-palette-info-rgb), 0.12);      color: var(--mud-palette-info); font-size: 0.58rem; }

/* ── Empty tree state ────────────────────────────────────────────────── */
.re-tree-empty[b-2j8aaobsu8] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    color: #aaa;
    font-size: 0.8rem;
}

/* ── Detail panel ────────────────────────────────────────────────────── */
.re-detail-panel[b-2j8aaobsu8] {
    min-height: 540px;
}

.re-no-selection[b-2j8aaobsu8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 400px;
    text-align: center;
    padding: 24px;
}

.re-detail-body[b-2j8aaobsu8] {
    padding: 16px 20px;
    overflow-y: auto;
    flex: 1;
}

.re-detail-header[b-2j8aaobsu8] {
    flex-wrap: wrap;
}

/* ── Node action buttons ─────────────────────────────────────────────── */
.re-node-actions[b-2j8aaobsu8] {
    display: flex;
    align-items: center;
    gap: 0;
    margin-left: 4px;
    flex-shrink: 0;
}

/* ── Responsive (tablet ≤ 959px) ────────────────────────────────────── */
@media (max-width: 959.98px) {
    .re-panel[b-2j8aaobsu8] {
        min-height: 380px;
    }
}

/* ── Responsive (phone ≤ 599px) ─────────────────────────────────────── */
@media (max-width: 599.98px) {
    .re-panel[b-2j8aaobsu8] {
        min-height: 320px;
    }

    .re-node-badge[b-2j8aaobsu8] {
        display: none;
    }
}

/* /Pages/EnergyModel/EnergyResults.razor.rz.scp.css */
.er-total-value[b-mom4jhuhxe] {
    font-weight: 700;
}
/* /Pages/EnergyModel/EnergySimulationControls.razor.rz.scp.css */
/* Wraps a utility dropdown (MudSelect) with its remove icon button in a single row. */
.sc-utility-row[b-zfs4ml7bmp] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.sc-utility-row > :first-child[b-zfs4ml7bmp] {
    flex: 1;
    min-width: 0;
}
/* /Pages/EnergyModel/EnergyThermalZones.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════
   EnergyThermalZones.razor.css  —  Thermal Zones module styles
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Root container ─────────────────────────────────────────────────── */
.tz-root[b-obwunk48kp] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 24px;
}

.tz-page-header[b-obwunk48kp] {
    padding-bottom: 4px;
}

.tz-header-stack[b-obwunk48kp] {
    flex-wrap: wrap;
}

/* ── Shared panel styles ─────────────────────────────────────────────── */
.tz-panel[b-obwunk48kp] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 540px;
    overflow: hidden;
    border-radius: 6px;
}

.tz-panel-header[b-obwunk48kp] {
    padding: 12px 16px 8px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.tz-panel-item[b-obwunk48kp] {
    min-height: 0;
}

/* ── Tree panel ──────────────────────────────────────────────────────── */
.tz-tree-panel[b-obwunk48kp] {
    min-height: 540px;
}

.tz-tree[b-obwunk48kp] {
    flex: 1;
    overflow-y: auto;
    padding: 4px 0;
    user-select: none;
}

/* ── Tree nodes ──────────────────────────────────────────────────────── */
.tz-node[b-obwunk48kp] {
    display: flex;
    align-items: center;
    padding: 6px 12px 6px 8px;
    cursor: pointer;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    transition: background 0.1s;
    gap: 4px;
    min-width: 0;
}

.tz-node:hover[b-obwunk48kp] {
    background: rgba(0, 0, 0, 0.04);
}

.tz-node--active[b-obwunk48kp] {
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
}

/* Building — root level, slightly different background */
.tz-node--building[b-obwunk48kp] {
    background: rgba(0, 0, 0, 0.02);
    font-weight: 600;
}

.tz-node--building:hover[b-obwunk48kp] {
    background: rgba(0, 0, 0, 0.05);
}

.tz-node--building.tz-node--active[b-obwunk48kp] {
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
}

/* Zone — indented one level past system */
.tz-node--zone[b-obwunk48kp] {
    padding-left: 8px;
}

/* Room — indented two levels past system */
.tz-node--room[b-obwunk48kp] {
    padding-left: 8px;
}

/* Indent spacers for zone and room rows */
.tz-zone-indent[b-obwunk48kp] {
    display: inline-block;
    width: 20px;
    flex-shrink: 0;
}

.tz-room-indent[b-obwunk48kp] {
    display: inline-block;
    width: 40px;
    flex-shrink: 0;
}

/* Spacer that matches the width of a small MudIconButton (for leaf rows) */
.tz-expand-spacer[b-obwunk48kp] {
    display: inline-block;
    width: 28px;
    flex-shrink: 0;
}

/* Tight expand/collapse icon button */
.tz-expand-btn[b-obwunk48kp] {
    flex-shrink: 0;
    margin: -6px -4px -6px -6px;
}

.tz-node-icon[b-obwunk48kp] {
    flex-shrink: 0;
    color: #888;
}

.tz-node-label[b-obwunk48kp] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.85rem;
}

/* ── Node type badges ────────────────────────────────────────────────── */
.tz-node-badge[b-obwunk48kp] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 1px 5px;
    border-radius: 3px;
    flex-shrink: 0;
}

.tz-badge--building[b-obwunk48kp] { background: rgba(var(--mud-palette-primary-rgb), 0.12); color: var(--mud-palette-primary); }
.tz-badge--system[b-obwunk48kp]   { background: rgba(var(--mud-palette-info-rgb), 0.12);    color: var(--mud-palette-info); }
.tz-badge--zone[b-obwunk48kp]     { background: rgba(var(--mud-palette-success-rgb), 0.12); color: var(--mud-palette-success); }
.tz-badge--room[b-obwunk48kp]     { background: rgba(var(--mud-palette-warning-rgb), 0.12); color: var(--mud-palette-warning-darken); }

/* ── Detail panel ────────────────────────────────────────────────────── */
.tz-detail-panel[b-obwunk48kp] {
    min-height: 540px;
}

.tz-no-selection[b-obwunk48kp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 400px;
    text-align: center;
    padding: 24px;
}

.tz-detail-body[b-obwunk48kp] {
    padding: 16px 20px;
    overflow-y: auto;
    flex: 1;
}

.tz-detail-header[b-obwunk48kp] {
    flex-wrap: wrap;
}

/* Summary rows shown in detail views */
.tz-summary-card[b-obwunk48kp] {
    padding: 8px 16px;
    margin-bottom: 0;
    border-radius: 0;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    background: transparent;
}

/* ── Responsive (tablet ≤ 959px) ────────────────────────────────────── */
@media (max-width: 959.98px) {
    .tz-panel[b-obwunk48kp] {
        min-height: 380px;
    }
}

/* ── Responsive (phone ≤ 599px) ─────────────────────────────────────── */
@media (max-width: 599.98px) {
    .tz-panel[b-obwunk48kp] {
        min-height: 320px;
    }

    .tz-node-badge[b-obwunk48kp] {
        display: none;
    }
}

/* ── Node action buttons ─────────────────────────────────────────────── */
.tz-node-actions[b-obwunk48kp] {
    display: flex;
    align-items: center;
    gap: 0;
    margin-left: 4px;
    flex-shrink: 0;
}

/* ── Checkbox alignment in detail form ────────────────────────────────── */
.tz-checkbox-row[b-obwunk48kp] {
    display: flex;
    align-items: center;
    padding-top: 8px;
}
/* /Pages/EnergyModel/EnergyVentilation.razor.rz.scp.css */
.vt-root[b-sv8v1ajorz] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 24px;
}

.vt-page-header[b-sv8v1ajorz] {
    padding-bottom: 4px;
}

.vt-header-stack[b-sv8v1ajorz],
.vt-detail-header[b-sv8v1ajorz] {
    flex-wrap: wrap;
}

.vt-panel[b-sv8v1ajorz] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 540px;
    overflow: hidden;
    border-radius: 6px;
}

.vt-panel-header[b-sv8v1ajorz] {
    padding: 12px 16px 8px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.vt-panel-item[b-sv8v1ajorz] {
    min-height: 0;
}

.vt-tree[b-sv8v1ajorz] {
    flex: 1;
    overflow-y: auto;
    padding: 4px 0;
    user-select: none;
}

.vt-node[b-sv8v1ajorz] {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    padding: 6px 12px 6px 8px;
    cursor: pointer;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    transition: background 0.1s;
    gap: 4px;
    min-width: 0;
}

.vt-node:hover[b-sv8v1ajorz] {
    background: rgba(0, 0, 0, 0.04);
}

.vt-node--active[b-sv8v1ajorz] {
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
}

.vt-node--building[b-sv8v1ajorz] {
    background: rgba(0, 0, 0, 0.02);
    font-weight: 600;
}

.vt-system-indent[b-sv8v1ajorz] {
    display: inline-block;
    width: 20px;
    flex-shrink: 0;
}

.vt-equipment-indent[b-sv8v1ajorz] {
    display: inline-block;
    width: 36px;
    flex-shrink: 0;
}

.vt-node-icon[b-sv8v1ajorz] {
    flex-shrink: 0;
    color: #888;
}

.vt-node-label[b-sv8v1ajorz] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.85rem;
}

.vt-node-badge[b-sv8v1ajorz] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 1px 5px;
    border-radius: 3px;
    flex-shrink: 0;
}

.vt-badge--building[b-sv8v1ajorz] { background: rgba(var(--mud-palette-primary-rgb), 0.12); color: var(--mud-palette-primary); }
.vt-badge--system[b-sv8v1ajorz] { background: rgba(var(--mud-palette-info-rgb), 0.12); color: var(--mud-palette-info); }
.vt-badge--equipment[b-sv8v1ajorz] { background: rgba(var(--mud-palette-success-rgb), 0.12); color: var(--mud-palette-success); }

.vt-node-actions[b-sv8v1ajorz] {
    display: flex;
    align-items: center;
}

.vt-expand-spacer[b-sv8v1ajorz] {
    display: inline-block;
    width: 28px;
    flex-shrink: 0;
}

.vt-expand-btn[b-sv8v1ajorz] {
    flex-shrink: 0;
    margin: -6px -4px -6px -6px;
}

.vt-tree-empty[b-sv8v1ajorz] {
    padding: 10px 14px;
    font-size: 0.85rem;
    color: var(--mud-palette-text-secondary);
    display: flex;
    align-items: center;
    gap: 8px;
}

.vt-no-selection[b-sv8v1ajorz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 400px;
    text-align: center;
    padding: 24px;
}

.vt-detail-body[b-sv8v1ajorz] {
    padding: 16px 20px;
    overflow-y: auto;
    flex: 1;
}

@media (max-width: 599.98px) {
    .vt-node-badge[b-sv8v1ajorz] {
        display: none;
    }
}
/* /Pages/Support/Support.razor.rz.scp.css */
.support-field-card[b-nycxdo9r72] {
    border-radius: 8px !important;
}

.support-field-label[b-nycxdo9r72] {
    font-weight: 600;
    letter-spacing: 0.01em;
}
/* /Shared/Dialogs/Energy/ConstructionEditorDialog.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════
   ConstructionEditorDialog.razor.css — Construction Editor dialog styles
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Input method toggle ─────────────────────────────────────────────── */
.ced-mode-toggle[b-wllvlmiccu] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ced-mode-label[b-wllvlmiccu] {
    flex-shrink: 0;
    white-space: nowrap;
}

/* ── Layer list (Detailed mode) ──────────────────────────────────────── */
.ced-layer-header[b-wllvlmiccu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.ced-layer-order-hint[b-wllvlmiccu] {
    font-size: 0.72rem;
    font-weight: 400;
    color: #888;
    margin-left: 6px;
}

.ced-layer-list[b-wllvlmiccu] {
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 4px;
    overflow: hidden;
}

.ced-layer-row[b-wllvlmiccu] {
    display: flex;
    align-items: center;
    padding: 6px 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    gap: 8px;
    background: var(--mud-palette-surface);
}

.ced-layer-row:last-child[b-wllvlmiccu] { border-bottom: none; }

.ced-drag-handle[b-wllvlmiccu] {
    cursor: grab;
    flex-shrink: 0;
    color: #ccc;
}

.ced-layer-info[b-wllvlmiccu] {
    flex: 1;
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 0.8rem;
}

.ced-layer-name[b-wllvlmiccu]  { flex: 1; font-weight: 500; }
.ced-layer-thick[b-wllvlmiccu] { color: #888; font-size: 0.75rem; min-width: 36px; }
.ced-layer-r[b-wllvlmiccu]     { font-family: monospace; font-size: 0.75rem; min-width: 46px; text-align: right; }

.ced-layer-actions[b-wllvlmiccu] {
    display: flex;
    flex-shrink: 0;
}

/* ── Checkbox label row ───────────────────────────────────────────────── */
.ced-checkbox-label[b-wllvlmiccu] {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 0.875rem;
}

/* ── Construction Properties section header ──────────────────────────── */
.ced-section-header[b-wllvlmiccu] {
    display: flex;
    align-items: center;
    padding-top: 8px;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
    margin-top: 4px;
}
/* /Shared/Dialogs/Energy/ProfileEditorDialog.razor.rz.scp.css */
.pe-preview-bar[b-4jdnbn3ln4] {
    display: flex;
    align-items: flex-end;
    height: 220px;
    gap: 3px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
    padding-bottom: 2px;
}

.pe-bar-col[b-4jdnbn3ln4] {
    flex: 1;
    background: #1976d2;
    border-radius: 2px 2px 0 0;
    min-height: 2px;
}
/* /Shared/Layouts/EmptyLayout.razor.rz.scp.css */
/*
    The project needs at least one scoped css file
    to prevent a 404 error on load.
*/
/* /Shared/Layouts/EnergyLayout.razor.rz.scp.css */
/* ============================================================
   Energy Analysis App Shell — Component-scoped styles
   EnergyLayout.razor.css
   ============================================================ */

/* Shell root: fills the available main-content area */
.energy-shell[b-sx41ch91y4] {
    display: flex;
    flex-direction: row;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* ── Sidebar ─────────────────────────────────────────────── */

.energy-sidebar[b-sx41ch91y4] {
    width: 220px;
    min-width: 220px;
    display: flex;
    flex-direction: column;
    background-color: rgba(0, 0, 0, 0.08);
    border-right: 1px solid rgba(128, 128, 128, 0.2);
    transition: width 0.2s ease, min-width 0.2s ease;
    overflow: hidden;
    flex-shrink: 0;
}

.energy-sidebar--collapsed[b-sx41ch91y4] {
    width: 56px;
    min-width: 56px;
}

/* Sidebar header row */
.energy-sidebar-header[b-sx41ch91y4] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 10px 10px 10px 12px;
    border-bottom: 1px solid rgba(128, 128, 128, 0.15);
    flex-shrink: 0;
}

.energy-header-icon[b-sx41ch91y4] {
    color: #26d9b0 !important;
    flex-shrink: 0;
}

.energy-header-title[b-sx41ch91y4] {
    flex: 1;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
}

.energy-collapse-btn[b-sx41ch91y4] {
    margin-left: auto;
    flex-shrink: 0;
}

/* Module Navigation */
.energy-nav[b-sx41ch91y4] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px 0;
    gap: 2px;
}

.energy-nav-item[b-sx41ch91y4] {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0 8px;
    margin: 1px 6px;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none !important;
    color: inherit;
    transition: background-color 0.15s ease;
    min-height: 36px;
}

.energy-nav[b-sx41ch91y4]  .energy-nav-item:hover {
    background-color: rgba(38, 217, 176, 0.08);
    text-decoration: none !important;
}

.energy-nav[b-sx41ch91y4]  .energy-nav-item--active {
    background-color: rgba(38, 217, 176, 0.15) !important;
    color: #26d9b0 !important;
    font-weight: 600;
    border-left: 3px solid #26d9b0 !important;
    padding-left: 5px;
}

.energy-nav[b-sx41ch91y4]  .energy-nav-item--active .energy-nav-icon {
    color: #26d9b0 !important;
}

.energy-nav-item-inner[b-sx41ch91y4] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 6px 0;
}

.energy-nav-icon[b-sx41ch91y4] {
    flex-shrink: 0;
    opacity: 0.8;
}

.energy-nav-label[b-sx41ch91y4] {
    flex: 1;
    font-size: 0.82rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Status badges */
.energy-status-badge[b-sx41ch91y4] {
    flex-shrink: 0;
    font-size: 0.7rem;
    width: 16px;
    text-align: center;
    font-weight: 700;
}

.energy-status--notstarted[b-sx41ch91y4]  { color: rgba(128, 128, 128, 0.6); }
.energy-status--inprogress[b-sx41ch91y4]  { color: #2196f3; }
.energy-status--complete[b-sx41ch91y4]    { color: #4caf50; }
.energy-status--warning[b-sx41ch91y4]     { color: #ff9800; }
.energy-status--error[b-sx41ch91y4]       { color: #f44336; }

/* ── Main Content ─────────────────────────────────────────── */

.energy-main[b-sx41ch91y4] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

/* Top bar: breadcrumbs + actions */
.energy-topbar[b-sx41ch91y4] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    border-bottom: 1px solid rgba(128, 128, 128, 0.15);
    flex-shrink: 0;
    flex-wrap: wrap;
}

.energy-breadcrumbs[b-sx41ch91y4] {
    flex: 1;
    min-width: 0;
}

.energy-run-btn[b-sx41ch91y4] {
    white-space: nowrap;
}

/* Page body: where @Body renders */
.energy-page-body[b-sx41ch91y4] {
    flex: 1;
    overflow: auto;
    padding: 16px;
}

/* ── Input Validation Sidebar ──────────────────────────────── */

.energy-issues-sidebar[b-sx41ch91y4] {
    width: 320px;
    min-width: 320px;
    display: flex;
    flex-direction: column;
    border-left: 1px solid rgba(128, 128, 128, 0.2);
    background-color: rgba(0, 0, 0, 0.03);
    transition: width 0.2s ease, min-width 0.2s ease;
    overflow: hidden;
    flex-shrink: 0;
}

.energy-issues-sidebar--collapsed[b-sx41ch91y4] {
    width: 56px;
    min-width: 56px;
}

.energy-issues-header[b-sx41ch91y4] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 10px 10px 12px;
    border-bottom: 1px solid rgba(128, 128, 128, 0.15);
}

.energy-issues-header-icon[b-sx41ch91y4] {
    color: #ff9800 !important;
}

.energy-issues-collapsed-icon[b-sx41ch91y4] {
    flex-shrink: 0;
}

.energy-issues-collapsed-icon-button[b-sx41ch91y4] {
    margin: 0;
    padding: 0;
}

.energy-issues-title[b-sx41ch91y4] {
    flex: 1;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
}

.energy-issues-content[b-sx41ch91y4] {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
}

.energy-issues-list[b-sx41ch91y4] {
    padding-top: 0;
}

.energy-issues-groups[b-sx41ch91y4] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.energy-issues-group[b-sx41ch91y4] {
    padding: 10px;
}

.energy-issues-group-header[b-sx41ch91y4] {
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.energy-issues-group-title[b-sx41ch91y4] {
    font-weight: 600;
    margin-right: auto;
}

.energy-issues-item[b-sx41ch91y4] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
    padding: 4px 0;
}

.energy-issues-field[b-sx41ch91y4] {
    font-family: 'Roboto Mono', monospace;
    word-break: break-all;
    color: var(--mud-palette-text-secondary);
}

/* ── Responsive ───────────────────────────────────────────── */

/* Tablet: collapse sidebar by default */
@media (max-width: 959.98px) {
    .energy-sidebar[b-sx41ch91y4] {
        width: 56px;
        min-width: 56px;
    }

    .energy-sidebar--collapsed[b-sx41ch91y4] {
        width: 56px;
        min-width: 56px;
    }

    .energy-header-title[b-sx41ch91y4],
    .energy-nav-label[b-sx41ch91y4],
    .energy-status-badge[b-sx41ch91y4] {
        display: none;
    }

    .energy-issues-sidebar[b-sx41ch91y4] {
        width: 56px;
        min-width: 56px;
    }

    .energy-issues-sidebar--collapsed[b-sx41ch91y4] {
        width: 56px;
        min-width: 56px;
    }

    .energy-issues-title[b-sx41ch91y4] {
        display: none;
    }
}

/* Phone: hide sidebar entirely, show top nav or icon strip */
@media (max-width: 599.98px) {
    .energy-shell[b-sx41ch91y4] {
        flex-direction: column;
    }

    .energy-sidebar[b-sx41ch91y4] {
        width: 100%;
        min-width: 0;
        flex-direction: row;
        height: 48px;
        min-height: 48px;
        border-right: none;
        border-bottom: 1px solid rgba(128, 128, 128, 0.2);
        overflow-x: auto;
        overflow-y: hidden;
    }

    .energy-sidebar--collapsed[b-sx41ch91y4] {
        width: 100%;
        height: 48px;
    }

    .energy-sidebar-header[b-sx41ch91y4] {
        display: none;
    }

    .energy-nav[b-sx41ch91y4] {
        flex-direction: row;
        padding: 0;
        gap: 0;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .energy-nav-item[b-sx41ch91y4] {
        margin: 4px 2px;
        padding: 0 4px;
        min-height: 40px;
        border-radius: 4px;
    }

    .energy-nav-item-inner[b-sx41ch91y4] {
        padding: 4px 2px;
    }

    .energy-nav-label[b-sx41ch91y4],
    .energy-status-badge[b-sx41ch91y4] {
        display: none;
    }

    .energy-main[b-sx41ch91y4] {
        flex: 1;
    }

    .energy-page-body[b-sx41ch91y4] {
        padding: 8px;
    }

    .energy-issues-sidebar[b-sx41ch91y4] {
        display: none;
    }
}
/* /Shared/Layouts/NavMenu.razor.rz.scp.css */
.neutral-icon-link[b-963f6jb23b]  .mud-nav-link-icon {
    color: var(--mud-palette-action-default) !important;
}
