/* Reusable Admin collection composition. Larena UI owns Smart Component and
   SF internals; this layer only arranges Admin-owned collection regions. */
.larena-workbench {
    gap: .875rem;
}

.larena-workbench-grid {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: stretch;
    gap: .875rem;
}

.larena-workbench-main {
    display: contents;
}

.larena-workbench-records {
    order: 1;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    /* No frame to clip to: focus rings of the toolbar and table controls stay whole. */
    overflow: visible;
}

.larena-workbench-structures { order: 2; }
/* A storage's settings open with its fields as a list (owner decision 2026-10-16): the list stands first. */
.larena-storage[data-larena-storage-section="settings"] > .larena-workbench-records { order: -1; }
.larena-workbench-schema { order: 3; }
.larena-workbench-integrations,
.larena-advanced-workspace { order: 4; }

.larena-workbench-records > .larena-workbench-section-header {
    justify-content: flex-end;
    margin-bottom: .625rem;
}

.larena-workbench-records > .larena-workbench-section-header > div {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.larena-workbench-records > .larena-workbench-section-header > .larena-button {
    min-height: 2.25rem;
    padding: .4375rem .75rem;
    font-size: .8125rem;
}

.larena-workbench-structures,
.larena-workbench-schema {
    position: static;
    padding: 0;
}

.larena-workbench-structures .sf-accordion-title,
.larena-workbench-schema .sf-accordion-title {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: .5rem;
}

.larena-workbench-structures .sf-accordion-title small,
.larena-workbench-schema .sf-accordion-title small,
.larena-workbench-schema .sf-accordion-title > span:last-child {
    overflow: hidden;
    color: var(--larena-muted);
    font-size: .75rem;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.larena-collection-settings-content,
.larena-schema-details {
    display: grid;
    gap: 1rem;
}

/* A shared data view inside the fields panel keeps its place in the panel. */
.larena-schema-details > .larena-workbench-records {
    order: 0;
}

.larena-disclosure .sf-accordion-title span {
    display: inline-flex;
    align-items: baseline;
    gap: .5rem;
}

.larena-workbench-integrations {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

/* Removing the open saved view and applying the columns to everyone sit next to the saved-view
   form, one click away behind "List settings". */
[data-larena-saved-view-delete-form],
[data-larena-shared-settings] {
    margin-top: .5rem;
}

[data-larena-saved-view-form] {
    display: grid;
    /* The name field and the save button side by side; the button keeps its own width. */
    grid-template-columns: minmax(13.75rem, 22.5rem) max-content;
    justify-content: start;
    gap: .5rem;
    align-items: end;
    margin-top: .75rem;
    border-top: 1px solid var(--larena-line);
    padding-top: .75rem;
}

/* The row menu surface inside the Framework context menu; hidden until the opener places it. */
.larena-row-action-menu {
    position: fixed;
    z-index: var(--sf-z-index-9);
    color: var(--sf-on-surface);
}

/* The width goes on the raised content: the surface around it only carries the shadow. */
.larena-row-action-menu .sf-context-menu-content {
    min-width: 10rem;
}

.larena-row-action-menu:not([data-larena-placed]) {
    visibility: hidden;
}

/* The items are Framework list items on the menu's raised surface: no own fill or divider,
   and the list's hover and focus states, which the Framework gives only to options. */
.larena-row-action-menu .sf-list-item {
    --sf-list-item--background-color: transparent;
    --sf-list-item--border-bottom-width: 0;
    width: 100%;
    border-radius: var(--sf-radius-default);
    color: inherit;
    font: inherit;
    text-align: start;
    cursor: pointer;
}

.larena-row-action-menu .sf-list-item:hover {
    --sf-list-item--background-color: var(--sf-primary-container-hover);
}

.larena-row-action-menu .sf-list-item:focus-visible {
    outline: var(--sf-focus--width) var(--sf-focus--style) var(--sf-focus--color);
    outline-offset: calc(var(--sf-focus--width) * -1);
}

@media (max-width: 680px) {
    .larena-workbench-records {
        padding: 0;
    }

    .larena-workbench-records > .larena-workbench-section-header {
        align-items: stretch;
    }

    .larena-workbench-records > .larena-workbench-section-header > .larena-button {
        width: 100%;
        justify-content: center;
    }

    [data-larena-saved-view-form] {
        grid-template-columns: 1fr;
        justify-items: start;
    }
}

/* Collection settings, fields, integrations and the saved-view form are secondary to the list;
   they stay one click away behind "List settings". */
.larena-workbench[data-list-settings="closed"] :is(.larena-workbench-structures, .larena-workbench-schema, .larena-workbench-integrations, [data-larena-saved-view-form], [data-larena-saved-view-delete-form], [data-larena-shared-settings]) {
    display: none;
}
/* A hidden settings panel is still the previous panel, and «panel + panel» spacing would open a gap above the list. */
.larena-workbench[data-list-settings="closed"] .larena-workbench-schema + .larena-workbench-records { margin-top: 0; }


/* The records list uses the Framework table toolbar (filter with tags, search, create, settings).
   The Larena query form stays in the page, hidden, as the carrier of the server query. */
.larena-workbench-records .larena-dataview-table__content .sf-table-toolbar {
    display: flex !important;
    margin-bottom: .75rem;
}

.larena-workbench-records .larena-dataview-table__toolbar {
    display: none;
}

/* Record panel: the existing view and editor forms inside the right drawer. */
/* The drawer body may be taller than its content: rows keep their own height instead of sharing the rest. */
.larena-record-drawer { display: grid; gap: 1rem; align-content: start; }
.larena-record-drawer__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.larena-record-drawer__action { color: var(--sf-primary); font-weight: 600; text-decoration: none; }
.larena-record-drawer [data-larena-record-selector] { display: none; }
.larena-record-drawer #admin-record-view,
.larena-record-drawer #admin-record-editor { margin: 0; border: 0; padding: 0; }
.larena-record-fields { display: grid; gap: 1rem; margin: 0; }
.larena-record-fields dt { color: var(--sf-on-surface-variant, #5f6368); font-size: .875rem; margin-bottom: .25rem; }
.larena-record-fields dd { margin: 0; overflow-wrap: anywhere; }
/* Temporary until the Framework record view: groups of fields as cards, two columns, a long field across both. */
.larena-record-group { display: grid; gap: .75rem; border: 1px solid var(--sf-outline-variant, #e3e2e7); border-radius: .75rem; padding: .75rem 1rem 1rem; margin: 0 0 1rem; }
.larena-record-group__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.larena-record-group__head h3 { margin: 0; font-size: 1rem; }
.larena-record-group > legend { font-weight: 600; padding: 0 .25rem; }
.larena-record-fields[data-columns="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.larena-record-fields .larena-record-field--wide { grid-column: 1 / -1; }
.larena-record-empty { color: var(--sf-on-surface-variant, #5f6368); }
.larena-record-rare > summary { cursor: pointer; margin-bottom: .75rem; }
@media (max-width: 640px) { .larena-record-fields[data-columns="2"] { grid-template-columns: minmax(0, 1fr); } }
.larena-record-drawer .larena-admin-record-editor { margin: 0; border-top: 0; }
.larena-record-drawer .larena-admin-record-editor__title { display: none; }
.larena-record-drawer .larena-admin-record-editor__fields { grid-template-columns: minmax(0, 1fr); }
/* Record panel parts: actions on the item, its history, structured values and hidden fields. */
.larena-record-lifecycle { display: grid; gap: .5rem; justify-items: start; padding-top: 1rem; border-top: 1px solid var(--sf-outline-variant, var(--larena-line)); }
.larena-record-lifecycle__confirm { display: flex; gap: .5rem; align-items: center; }
.larena-record-history ol { margin: .5rem 0 0; padding-inline-start: 1.25rem; }
.larena-record-versions ol { display: grid; gap: .5rem; margin: .5rem 0 0; padding: 0; list-style: none; }
.larena-record-versions li { display: flex; flex-wrap: wrap; gap: .25rem 1rem; align-items: center; justify-content: space-between; }
.larena-record-versions__restore { display: flex; gap: .5rem; align-items: center; }
.larena-record-structured { display: grid; gap: .75rem; border: 0; margin: 0; padding: 0; }
.larena-record-structured legend { font-weight: 600; margin-bottom: .25rem; }
.larena-record-hidden-fields { display: grid; gap: .75rem; }
/* Field type hints are for developers; the record panel shows labels and values only. */
.larena-record-drawer .sf-input-hint-text-wrap { display: none; }

/* Choice values in the record panel: a colored marker from the option color. */
.larena-record-value { display: inline-flex; align-items: center; gap: .35rem; margin-inline-end: .75rem; }
.larena-record-value[data-color]::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: var(--larena-choice-color, var(--sf-outline)); }
.larena-record-value[data-color="primary"] { --larena-choice-color: var(--sf-primary); }
.larena-record-value[data-color="secondary"] { --larena-choice-color: var(--sf-secondary, #6b7280); }
.larena-record-value[data-color="success"] { --larena-choice-color: var(--sf-success, #1a7d50); }
.larena-record-value[data-color="warning"] { --larena-choice-color: var(--sf-warning, #b77a00); }
.larena-record-value[data-color="error"] { --larena-choice-color: var(--sf-error, #c62828); }
.larena-record-value[data-color="info"] { --larena-choice-color: var(--sf-info, #1c5fd6); }
.larena-record-value[data-color="neutral"] { --larena-choice-color: var(--sf-outline, #9ca3af); }
.larena-record-choices { border: 0; margin: 0; padding: 0; display: grid; gap: .5rem; }
.larena-record-choices legend { font-size: .875rem; margin-bottom: .25rem; }
/* The group legend already names the field; the per-option description would repeat it. */
.larena-record-choices .sf-checkbox-description { display: none; }

/* Temporary until the Framework record view: sections, the way back, links to records and «Customize view». */
.larena-record-tools { display: flex; justify-content: flex-end; gap: 1rem; margin: 0 0 .5rem; }
.larena-record-sections { display: flex; flex-wrap: wrap; gap: .25rem; margin: 0 0 1rem; }
.larena-record-sections > button { border: 1px solid var(--sf-outline-variant, #e3e2e7); background: transparent; color: inherit; border-radius: 999px; padding: .25rem .75rem; cursor: pointer; font: inherit; }
.larena-record-sections > button[aria-pressed="true"] { background: var(--sf-primary-container, #dbe7ff); color: var(--sf-on-primary-container, #0b2a5b); border-color: transparent; }
.larena-record-back { display: inline-flex; align-items: center; gap: .25rem; margin: 0 0 .75rem; border: 0; background: transparent; color: var(--sf-primary, #0073ed); cursor: pointer; font: inherit; padding: 0; }
.larena-record-link { color: var(--sf-primary, #0073ed); text-decoration: none; }
.larena-record-link::before { content: "→ "; }
.larena-record-link:hover { text-decoration: underline; }
.larena-record-layout { display: grid; gap: .75rem; }
.larena-record-layout__head { display: grid; gap: .25rem; }
.larena-record-layout__hint, .larena-record-layout__status { color: var(--sf-on-surface-variant, #5f6368); font-size: .875rem; margin: 0; }
.larena-record-layout__sections { display: grid; gap: 1rem; }
.larena-record-layout__section { display: grid; gap: .5rem; border-left: 3px solid var(--sf-outline-variant, #e3e2e7); padding-left: .75rem; }
.larena-record-layout__group { border: 1px solid var(--sf-outline-variant, #e3e2e7); border-radius: .75rem; padding: .5rem .75rem; margin: 0; display: grid; gap: .5rem; }
.larena-record-layout__group-head, .larena-record-layout__field { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.larena-record-layout__label { flex: 1 1 10rem; min-width: 0; font: inherit; padding: .25rem .5rem; border: 1px solid var(--sf-outline-variant, #e3e2e7); border-radius: .5rem; background: transparent; color: inherit; }
.larena-record-layout__fields { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; min-height: 2rem; }
.larena-record-layout__field { border: 1px dashed var(--sf-outline-variant, #e3e2e7); border-radius: .5rem; padding: .25rem .5rem; cursor: grab; background: var(--sf-surface-0, transparent); }
.larena-record-layout__field[data-hidden="true"] .larena-record-layout__name { opacity: .55; }
.larena-record-layout__field.is-dragging { opacity: .4; }
.larena-record-layout__name { flex: 1 1 8rem; }
.larena-record-layout__grip { cursor: grab; color: var(--sf-on-surface-variant, #5f6368); }
.larena-record-layout__flag { display: inline-flex; align-items: center; gap: .25rem; font-size: .8125rem; color: var(--sf-on-surface-variant, #5f6368); }
.larena-record-layout__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; position: sticky; bottom: 0; padding: .5rem 0; background: var(--sf-surface-0, #fff); }
.larena-record-layout__spacer { flex: 1 1 auto; }
.larena-record-layout__primary { font-weight: 600; }
.larena-record-group[hidden], .larena-record-layout[hidden], .larena-record-rare[hidden], .larena-record-sections[hidden], .larena-record-tools[hidden], .larena-record-layout__actions [hidden] { display: none; }
.larena-layout-toggle { border: 1px solid var(--sf-outline-variant, #e3e2e7); background: transparent; color: var(--sf-on-surface-variant, #5f6368); border-radius: 999px; padding: .125rem .5rem; font: inherit; font-size: .75rem; line-height: 1.25rem; cursor: pointer; white-space: nowrap; }
.larena-layout-toggle[aria-pressed="true"] { background: var(--sf-primary-container, #dbe7ff); color: var(--sf-on-primary-container, #0b2a5b); border-color: transparent; }
.larena-record-layout__field { flex-wrap: nowrap; padding: .125rem .5rem; }
.larena-record-layout__group-head select { font: inherit; font-size: .8125rem; }
.larena-record-actions { display: grid; gap: 1rem; margin: 0 0 1rem; }
[data-larena-record-fallback][hidden] { display: none; }
.larena-record-view--layout > :not(.larena-record-layout):not(.larena-record-tools) { display: none !important; }
.larena-record-layout__section > .larena-layout-toggle { justify-self: start; }
.larena-record-page { max-width: 64rem; }
.larena-record-tools { flex-wrap: wrap; }
.larena-record-panel-actions { display: flex; align-items: center; gap: .75rem; white-space: nowrap; }
.larena-record-panel-footer { display: grid; gap: .5rem; padding-block: .5rem; flex: 1 1 auto; min-width: 0; }
/* The property view's footer row holds the host's slot beside «Delete»: the version list takes the free width. */
.sf-property-view-host-footer:has(> .larena-record-panel-footer) { flex: 1 1 auto; min-width: 0; }
/* Import from CSV: what would change, the columns, the errors by line. */
.larena-storage-import h3 { font-size: 1rem; font-weight: 600; margin: 1.25rem 0 .5rem; }
.larena-storage-import__rules { margin: .5rem 0 1rem; padding-inline-start: 1.25rem; display: grid; gap: .25rem; }
.larena-storage-import__file { display: grid; gap: .25rem; margin-bottom: 1rem; }
.larena-storage-import__counts { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin: .5rem 0 1rem; }
.larena-storage-import__counts div { display: grid; gap: .125rem; }
.larena-storage-import__counts dd { margin: 0; font-size: 1.5rem; font-weight: 600; }
.larena-storage-import__summary { display: grid; grid-template-columns: minmax(10rem, max-content) minmax(0, 1fr); gap: .5rem 1.5rem; margin: 0; }
.larena-storage-import__summary > div { display: contents; }
.larena-storage-import__summary dt { color: var(--sf-color-on-surface-variant, inherit); }
.larena-storage-import__summary dd { margin: 0; overflow-wrap: anywhere; }
.larena-storage-import__issues { margin: .5rem 0 0; padding-inline-start: 1.25rem; display: grid; gap: .25rem; }
.larena-storage-import fieldset { margin: 0; padding: 0; border: 0; display: grid; gap: .5rem; min-width: 0; }
.larena-storage-import fieldset > legend { padding: 0; margin-bottom: .25rem; font-weight: 600; }
.larena-sitepack-import__publication label { display: flex; align-items: center; justify-content: flex-start; gap: .5rem; width: auto; font-weight: 400; }
.larena-sitepack-import__publication input[type="radio"] { margin: 0; flex: none; }
/* «Включить зашифрованные поля в открытом виде»: its warning stands only while the box is ticked. The box the
   Framework checkbox posts with is in the page, so the rule names no Framework tag. */
.larena-storage-sitepack__plaintext { display: grid; gap: .5rem; }
.larena-storage-sitepack__plaintext:not(:has(input:checked)) .larena-storage-sitepack__plaintext-warning { display: none; }
@media (max-width: 40rem) {
    .larena-storage-import__summary { grid-template-columns: minmax(0, 1fr); gap: .125rem; }
    .larena-storage-import__summary dd { margin-bottom: .5rem; }
}
.larena-storage-import__columns { padding-inline-start: 1.25rem; display: grid; gap: .25rem; }
.larena-storage-import__columns [data-larena-import-skipped] { color: var(--sf-color-on-surface-variant, inherit); }
.larena-storage-import__errors { width: 100%; border-collapse: collapse; margin-top: .75rem; }
.larena-storage-import__errors th, .larena-storage-import__errors td { text-align: start; padding: .375rem .5rem; border-bottom: 1px solid var(--sf-color-outline-variant, currentColor); }
