/* SPDX-License-Identifier: AGPL-3.0-or-later */ .section { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; } .toolbar { display: flex; gap: 0.5rem; align-items: center; padding: 0.75rem 0.875rem; border-bottom: 0.0625rem solid var(--studio-border); flex-wrap: wrap; background: var(--studio-bg-panel-header); } .toolbarSearch { flex: 1 1 auto; min-width: 0; max-width: 20rem; } .toolbarActions { display: flex; gap: 0.5rem; margin-left: auto; flex-wrap: wrap; justify-content: flex-end; } .split { flex: 1 1 auto; min-height: 0; } .list { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 0.5rem; background: var(--studio-bg-sidebar); } .listEmpty { padding: 1.5rem 1rem; } .listItem { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.375rem; padding: 0; border-radius: var(--studio-radius-md); transition: background var(--studio-transition-fast); background: transparent; border: 0.0625rem solid transparent; } .listItem:hover { background: var(--studio-bg-row-hover); } .listItemActive { background: var(--studio-bg-row-active); border-color: transparent; } .listItemActive:hover { background: var(--studio-bg-row-active); } .listItemMain { display: flex; flex-direction: column; min-width: 0; } .listItemButton { display: flex; min-width: 0; width: 100%; padding: 0.5625rem 0.625rem; background: transparent; border: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; border-radius: var(--studio-radius-md); } .listItemName { display: block; font-size: var(--studio-fs-sm); font-weight: 400; color: var(--studio-fg-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .listItemMeta { display: block; font-size: var(--studio-fs-xs); color: var(--studio-fg-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .editor { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; min-width: 0; } .editorEmpty { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; } .editorTopBar { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.75rem 0.875rem; border-bottom: 0.0625rem solid var(--studio-border); background: var(--studio-bg-panel-header); } .editorTitle { font-size: var(--studio-fs-md); font-weight: 500; color: var(--studio-fg-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .editorActions { display: flex; gap: 0.5rem; flex-shrink: 0; } .fields { display: grid; gap: 0.625rem; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0.875rem 0.875rem 0.25rem; } .fieldFull { grid-column: span 2; } .field { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; } .fieldLabel { font-size: var(--studio-fs-xs); font-weight: 600; color: var(--studio-fg-muted); letter-spacing: 0; } .fieldInput { height: var(--studio-row-height); padding: 0 0.625rem; background: var(--studio-bg-input); border: 0.0625rem solid var(--studio-border-input); border-radius: var(--studio-radius-md); color: var(--studio-fg-primary); font: inherit; font-size: var(--studio-fs-sm); outline: none; } .fieldInput:focus { border-color: var(--studio-border-focus); box-shadow: 0 0 0 0.0625rem var(--studio-border-focus); } .cssWrap { flex: 1 1 auto; min-height: 0; padding: 0.625rem 0.875rem 0.875rem; display: flex; background: var(--studio-bg-editor); } .cssFrame { flex: 1 1 auto; position: relative; display: flex; min-width: 0; width: 100%; height: 100%; background: var(--studio-bg-editor); border: 0.0625rem solid var(--studio-border); border-radius: var(--studio-radius-lg); color: var(--studio-fg-primary); outline: none; overflow: hidden; } .cssEditor, .cssEditorLoading { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; } .cssEditor :global(.cm-editor) { height: 100%; border-radius: var(--studio-radius-lg); outline: none; } .cssEditor :global(.cm-editor.cm-focused) { outline: none; } .cssEditor :global(.cm-scroller) { overflow: auto; } .editorFooter { display: flex; gap: 0.5rem; padding: 0.75rem 0.875rem 0.875rem; border-top: 0.0625rem solid var(--studio-border); background: var(--studio-bg-panel-header); } .dirtyHint { display: inline-flex; align-items: center; gap: 0.375rem; color: var(--studio-fg-muted); font-size: var(--studio-fs-xs); margin-left: auto; } .enableSwitch { display: flex; align-items: center; padding-right: 0.625rem; }