/* ==========================================================
   R19.5B — Alignment, spacing and content hierarchy polish
   ========================================================== */

/* Keep all Project Vault content on one clean visual grid */
.project-vault-page,
.vault-project-page,
main .content-area {
    --r195b-side: 20px;
}

/* Project header */
.page-head {
    margin-bottom: 24px !important;
}

.page-head.compact,
.project-page-head {
    align-items: flex-start !important;
}

/* Project Tree */
.vault-project-tree,
.project-tree {
    margin-bottom: 18px !important;
}

.vault-project-tree > .tree-head,
.project-tree > .tree-head {
    margin-top: 0 !important;
}

/* Project Files panel heading */
.vault-files-panel {
    margin-top: 18px !important;
}

.vault-files-panel .panel-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 20px 22px 16px !important;
    border-bottom: 1px solid rgba(129, 181, 250, .14) !important;
}

.vault-files-panel .panel-head > div:first-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
}

.vault-files-panel .panel-head .eyebrow {
    margin: 0 !important;
    line-height: 1 !important;
}

.vault-files-panel .panel-head h3 {
    margin: 0 !important;
    line-height: 1.15 !important;
}

.vault-files-panel .panel-head .primary-link {
    flex: 0 0 auto;
    margin: 0 !important;
}

/* Scope pills stay directly below heading */
.vault-files-panel .file-scope-pills {
    align-items: center !important;
    margin: 13px 22px 8px !important;
}

/* Filter toolbar */
.vault-files-panel .filter-bar {
    margin: 8px 22px 20px !important;
    padding: 14px !important;
    align-items: end !important;
}

.vault-files-panel .filter-bar > * {
    min-width: 0;
}

.vault-files-panel .filter-bar label {
    margin: 0 !important;
    line-height: 1.1;
}

.vault-files-panel .filter-bar input,
.vault-files-panel .filter-bar select {
    margin-top: 0 !important;
}

/* Keep From / To visually aligned and not detached */
.vault-files-panel .filter-bar label:has(input[type="date"]) {
    grid-column: span 2;
}

.vault-files-panel .filter-bar button,
.vault-files-panel .filter-bar .filter-clear {
    align-self: end;
}

/* Recursive tree title block */
.recursive-workflow-tree {
    margin: 22px 22px 0 !important;
}

.recursive-workflow-tree .vault-file-tree-head {
    padding: 17px 19px !important;
    border-radius: 13px 13px 0 0 !important;
}

.recursive-workflow-tree .vault-file-tree-head h3 {
    margin: 3px 0 0 !important;
    line-height: 1.2 !important;
}

.recursive-workflow-tree .vault-file-tree-head p:last-child {
    margin: 6px 0 0 !important;
    line-height: 1.45 !important;
}

/* File tree starts cleanly below its header */
.recursive-workflow-tree .vault-file-tree-list {
    margin-top: 0 !important;
    border-radius: 0 0 14px 14px !important;
}

/* Lower drawer alignment */
.vault-sections-drawer {
    margin-inline: 0 !important;
}

.vault-sections-details > summary {
    padding-inline: 20px !important;
}

/* Forms and management areas should keep the same visual edges */
#upload-file.vault-form-panel,
.management-section,
.vault-sections-drawer {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Desktop: prevent action buttons from wrapping awkwardly */
@media (min-width: 1100px) {
    .vault-files-panel .filter-bar {
        grid-template-columns:
            minmax(220px, 1.5fr)
            minmax(130px, .9fr)
            minmax(145px, 1fr)
            minmax(130px, .9fr)
            minmax(145px, 1fr);
    }

    .vault-files-panel .filter-bar label:has(input[type="date"]) {
        grid-column: span 5;
    }

    .vault-files-panel .filter-bar button,
    .vault-files-panel .filter-bar .filter-clear {
        justify-self: start;
    }
}

/* Mobile */
@media (max-width: 720px) {
    .vault-files-panel .panel-head {
        align-items: flex-start !important;
        flex-direction: column !important;
        padding: 16px !important;
    }

    .vault-files-panel .panel-head .primary-link {
        width: 100%;
        justify-content: center;
    }

    .vault-files-panel .file-scope-pills,
    .vault-files-panel .filter-bar,
    .recursive-workflow-tree {
        margin-left: 12px !important;
        margin-right: 12px !important;
    }

    .vault-files-panel .filter-bar label:has(input[type="date"]) {
        grid-column: auto;
    }

    .vault-sections-details > summary {
        padding-inline: 14px !important;
    }
}
