.panel {
    background-color: var(--color-bg-panel);
    border-radius: var(--border-radius-base);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: var(--color-text-primary);
    position: relative;
}

/* .panel-group {

} */

.panel-group__child {
    border: none;
    border-radius: 0;
}

.panel--dragging {
    opacity: var(--panel-dragging-opacity);
}

.panel--collapsed {
    height: var(--panel-collapsed-height) !important;
    min-height: var(--panel-collapsed-height) !important;
}

.panel__header {
    background-color: var(--color-bg-panel-header);
    display: flex;
    align-items: center;
    padding: var(--panel-header-padding);
    gap: var(--panel-header-gap);
    border-bottom: var(--panel-header-border-bottom-width) solid var(--color-border-default);
    user-select: none;
    height: var(--panel-header-height);
    flex-shrink: var(--panel-header-flex-shrink);
}
.panel--collapsed .panel__header {
    border: 0;
}

.panel-group.panel-group--fills-space {
    flex-grow: 1;
}

.panel__move-handle {
    width: var(--panel-move-handle-size);
    height: var(--panel-move-handle-size);
    flex: var(--panel-move-handle-flex);
    cursor: grab;
    color: var(--color-text-secondary);
    opacity: var(--panel-move-handle-opacity);
    align-content: center;
    text-align: center;
}
.panel__move-handle span {
    width: var(--panel-move-handle-icon-width);
    height: var(--panel-move-handle-icon-height);
}
.panel__move-handle:active {
    cursor: grabbing;
}

.panel__title {
    flex-grow: 1;
    color: var(--color-text-bright);
    font-size: var(--panel-title-font-size);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    user-select: none;
    min-width: var(--panel-title-min-width);
    height: 100%;
    align-content: center;
}

.panel__collapse-btn,
.panel__close-btn {
    width: var(--panel-button-size);
    height: var(--panel-button-size);
    flex: var(--panel-button-flex);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--color-text-secondary);
    user-select: none;
    border-radius: var(--border-radius-base);
    background: none;
    transition:
        color 0.3s,
        background-color 0.3s;
    border: none;
    padding: var(--panel-button-padding);
}

.panel__collapse-btn[disabled],
.panel__close-btn[disabled] {
    opacity: var(--panel-button-disabled-opacity);
    cursor: not-allowed;
    color: var(--color-text-disabled);
}

.panel__collapse-btn:hover:not([disabled]),
.panel__close-btn:hover:not([disabled]),
.panel__collapse-btn:focus:not([disabled]),
.panel__close-btn:focus:not([disabled]) {
    background: var(--color-bg-hover);
    color: var(--color-text-primary);
}

.panel__collapse-btn:active:not([disabled]),
.panel__close-btn:active:not([disabled]) {
    background: var(--color-bg-active);
    color: var(--color-text-bright);
}

.panel__collapse-btn::before {
    content: '−';
    font-size: var(--panel-button-font-size);
    line-height: var(--panel-button-line-height);
}

.panel__close-btn::before {
    content: '×';
    font-size: var(--panel-button-font-size);
    line-height: var(--panel-button-line-height);
}

/* .panel-group__resize-handle {
    height: var(--panel-resize-handle-height);
    cursor: ns-resize;
    background: var(--color-border-default);
    transition: background-color 0.2s ease-in-out;
}

.panel-group__resize-handle:hover {
    background: var(--color-accent-hover);
}

.panel-group__resize-handle:active {
    background: var(--color-accent-active);
}
.panel-group.panel-group--fills-space > .panel-group__resize-handle {
    display: none;
} */

.panel-group--fills-space,
.panel--fills-space {
    flex: 1 0 auto !important;
    height: auto !important;
}

.panel--not-movable .panel__header {
    cursor: default;
}

.panel--not-movable .panel__move-handle {
    display: none;
}

.panel-group__header .panel-group__move-handle {
    height: var(--panel-group-header-move-handle-height);
    width: var(--panel-group-header-move-handle-width);
    flex: var(--panel-group-header-move-handle-flex);
    cursor: grab;
}

.panel-group__header .panel-group__move-handle:active {
    cursor: grabbing;
    background-color: var(--color-bg-hover);
}

.panel-group__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--panel-group-header-padding);
    height: var(--panel-group-header-height);
    flex-shrink: var(--panel-group-header-flex-shrink);
}

.panel-group__tab-container {
    display: flex;
    flex-grow: var(--panel-tab-container-flex-grow);
    overflow-x: auto;
    white-space: nowrap;
    height: var(--panel-tab-container-height);
    scrollbar-width: none;
    align-items: center;
    transition: background-color 0.2s ease-out;
}
.panel-group__tab-container::-webkit-scrollbar {
    display: none;
}

.panel-group__tab-container--droptarget {
    background-color: var(--color-bg-hover);
    box-shadow: inset 0 0 4px var(--color-accent-hover);
}

.panel-group__tab {
    display: flex;
    align-items: center;
    padding: var(--panel-tab-padding);
    border-top: var(--panel-tab-border-top-width) solid var(--color-bg-tab-inactive);
    height: var(--panel-tab-height);
    max-width: var(--panel-tab-max-width);
    margin-right: var(--panel-tab-margin-right);
    background-color: var(--color-bg-tab-inactive);
    color: var(--color-text-secondary);
    font-size: var(--panel-tab-font-size);
    cursor: pointer;
    white-space: nowrap;
    border-top-left-radius: var(--border-radius-base);
    border-top-right-radius: var(--border-radius-base);
    user-select: none;
}

.panel-group__tab[draggable='true'] {
    cursor: grab;
}

.panel-group__tab:hover {
    background-color: var(--color-bg-hover);
    border-top: var(--panel-tab-border-top-width) solid var(--color-accent-inactive);
    color: var(--color-text-primary);
}
.panel-group__tab--active:hover,
.panel-group__tab--active {
    background-color: var(--color-bg-tab-active);
    margin-top: 0;
    border-top: var(--panel-tab-border-top-width) solid var(--color-accent-hover);
    border-bottom: 0;
    color: var(--color-text-primary);
}

.panel-group__tab .panel__title {
    flex-shrink: var(--panel-tab-title-flex-shrink);
    padding: var(--panel-tab-title-padding);
}

.panel-group__tab-close {
    font-size: var(--panel-tab-close-font-size);
    line-height: var(--panel-tab-close-line-height);
    margin-right: var(--panel-tab-close-margin-right);
    color: var(--color-text-secondary);
    padding: var(--panel-tab-close-padding);
    width: var(--panel-tab-close-size);
    height: var(--panel-tab-close-size);

    flex-shrink: var(--panel-tab-close-flex-shrink);

    background: none;
    border: none;
    cursor: pointer;
}
.panel-group__tab-close:hover {
    color: var(--color-text-primary);
    background-color: var(--color-bg-hover);
    border-radius: var(--border-radius-base);
}

.panel-group__tab-scroll {
    background: none;
    color: var(--color-text-primary);
    border: none;
    padding: var(--panel-tab-scroll-padding);
    height: var(--panel-tab-scroll-height);
    cursor: pointer;
    z-index: var(--panel-tab-scroll-z-index);
    flex-shrink: var(--panel-tab-scroll-flex-shrink);
}
.panel-group__tab-scroll:hover {
    background: var(--color-bg-hover);
    color: var(--color-text-bright);
}
.panel-group__tab-scroll--left {
    border-right: var(--panel-tab-scroll-border-width) solid var(--color-border-default);
}
.panel-group__tab-scroll--right {
    border-left: var(--panel-tab-scroll-border-width) solid var(--color-border-default);
}

.panel-group__header--simple .panel-group__tab-container {
    flex-grow: var(--panel-simple-header-tab-container-flex-grow);
}
.panel-group__header--simple .panel-group__tab-container > div {
    flex-grow: 1;
}
.dnd-active .panel-group__header--simple .panel-group__tab-container > div {
    flex-grow: 0;
}
.panel-group__header--simple .panel-group__tab {
    background: transparent;
    border: none;
    min-width: 0;
    padding: 0;
    font-size: var(--panel-simple-header-tab-font-size);
    color: var(--color-text-bright);
    user-select: none;
}
/* .panel-group__header--simple .panel-group__tab .panel-group__tab-close {
} */

.panel-group__header--simple .panel__title {
    padding: var(--panel-simple-header-title-padding);
    font-size: var(--panel-simple-header-tab-font-size);
    color: var(--color-text-bright);
}

.panel-group__header--simple .panel__title[draggable='true'] {
    cursor: grab;
}

.panel-group__content {
    flex-grow: var(--panel-content-flex-grow);
    font-size: var(--panel-content-font-size);
    color: var(--color-text-primary);
    overflow: auto;
    min-height: var(--panel-content-min-height);

    display: flex;
    flex-direction: column;
}
.panel-group__content > .panel-group__child {
    flex-grow: 1;
    border: none;
    border-radius: 0;
}

/* .dnd-active .panel-group__resize-handle {
    pointer-events: none;
} */

.panel-group--floating {
    position: absolute;
    z-index: 50;
    box-shadow: var(--panel-floating-shadow);
    flex: 0 1 auto;
    min-width: 150px;
    min-height: 100px;
}

/* .panel-group--floating > .panel-group__resize-handle {
    display: none;
}

.panel-group__resize-handle--floating {
    display: none;
    position: absolute;
    background: transparent;
    z-index: 51;
    transition: background-color 0.2s ease-out;
}

.panel-group--floating:not(.panel--collapsed) .panel-group__resize-handle--floating {
    display: block;
}

.panel-group__resize-handle--se {
    width: 8px;
    height: 8px;
    bottom: 0;
    right: 0;
    cursor: nwse-resize;
}

.panel-group__resize-handle--s {
    width: 100%;
    height: 5px;
    bottom: -2px;
    left: 0;
    cursor: ns-resize;
}

.panel-group__resize-handle--e {
    width: 5px;
    height: 100%;
    top: 0;
    right: -2px;
    cursor: ew-resize;
}

.panel-group__resize-handle--floating:hover {
    background: var(--color-accent-active);
    opacity: 0.5;
} */
