/* *********************************************** */ /* *************** Panel Component *************** */ /* *********************************************** */ .mf-panel { display: flex; width: 100%; height: 100%; overflow: hidden; position: relative; } /* Common properties for side panels */ .mf-panel-left, .mf-panel-right { position: relative; flex-shrink: 0; width: 250px; min-width: 150px; max-width: 500px; height: 100%; overflow: auto; transition: width 0.3s ease, min-width 0.3s ease, max-width 0.3s ease; padding-top: 25px; } /* Left panel specific */ .mf-panel-left { border-right: 1px solid var(--color-border-primary); } /* Right panel specific */ .mf-panel-right { border-left: 1px solid var(--color-border-primary); padding-left: 0.5rem; } .mf-panel-main { flex: 1; height: 100%; overflow: hidden; min-width: 0; /* Important to allow the shrinking of flexbox */ } /* Hidden state - common for both panels */ .mf-panel-left.mf-hidden, .mf-panel-right.mf-hidden { width: 0; min-width: 0; max-width: 0; overflow: hidden; border: none; padding: 0; } /* No transition during manual resize - common for both panels */ .mf-panel-left.no-transition, .mf-panel-right.no-transition { transition: none; } /* Common properties for panel toggle icons */ .mf-panel-hide-icon, .mf-panel-show-icon { position: absolute; top: 0; right: 0; cursor: pointer; z-index: 10; border-radius: 0.25rem; } .mf-panel-hide-icon:hover, .mf-panel-show-icon:hover { background-color: var(--color-bg-hover, rgba(0, 0, 0, 0.05)); } /* Show icon positioning */ .mf-panel-show-icon-left { left: 0.5rem; } .mf-panel-show-icon-right { right: 0.5rem; } /* Panel with title - grid layout for header + scrollable content */ .mf-panel-body { display: grid; grid-template-rows: auto 1fr; height: 100%; overflow: hidden; } .mf-panel-header { display: flex; justify-content: space-between; align-items: center; padding: 0.25rem 0.5rem; background-color: var(--color-base-200); border-bottom: 1px solid var(--color-border); } /* Override absolute positioning for hide icon when inside header */ .mf-panel-header .mf-panel-hide-icon { position: static; } .mf-panel-content { overflow-y: auto; } /* Remove padding-top when using title layout */ .mf-panel-left.mf-panel-with-title, .mf-panel-right.mf-panel-with-title { padding-top: 0; }