#blazor-error-ui {
    background: lightyellow;
    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 {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

/* Collapsible nav sidebar */
.nav-collapsed #nav-sidebar {
    display: none;
}

/* Floor plan fullscreen */
#floor-plan-wrapper:fullscreen {
    background: #fff;
    padding: 0.5rem;
    overflow: auto;
}

/* SVG scroll wrapper for zoom modes */
.svg-scroll-wrapper {
    overflow: overlay;
    max-height: 75vh;
    max-width: 100%;
    border: 1px solid #dee2e6;
    background: #f8f9fa;
    scrollbar-width: thin;
    outline: none;
}

/* Webkit thin overlay scrollbars */
.svg-scroll-wrapper::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
.svg-scroll-wrapper::-webkit-scrollbar-track {
    background: transparent;
}
.svg-scroll-wrapper::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.25);
    border-radius: 4px;
}
.svg-scroll-wrapper::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.4);
}

#floor-plan-wrapper:fullscreen .svg-scroll-wrapper {
    max-height: calc(100vh - 60px);
}

/* Floating property panels over the floor plan */
.floor-plan-panel {
    position: absolute;
    z-index: 10;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 6px 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    max-width: 500px;
    font-size: 0.82rem;
}

.floor-plan-panel .x-small {
    font-size: 0.7rem;
}
