/* Layout Manager Styles */

.layout-container {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #F1F5F9;
}

.layout-element {
    box-sizing: border-box;
    min-height: 0; /* Allow flex children to shrink */
    min-width: 0;  /* Allow flex children to shrink horizontally */
    overflow: hidden;
}

/* Panels (leaf nodes with id) should be flex containers so children fill them */
.layout-element[data-layout-id]:not(.layout-horizontal):not(.layout-vertical) {
    display: flex;
    flex-direction: column;
}

/* Direct children of panels should fill the panel */
.layout-element[data-layout-id] > * {
    flex: 1;
    min-height: 0;
}

/* Horizontal Layout */
.layout-horizontal {
    display: flex;
    flex-direction: row;
}

/* Vertical Layout */
.layout-vertical {
    display: flex;
    flex-direction: column;
}

/* Utility classes */
.layout-border {
    border: 1px solid #E2E8F0;
}

.layout-padding {
    padding: 16px;
}
