.vu-vault-actions { display: flex; align-items: center; gap: .25rem; flex-shrink: 0; }
.vu-vault-page .vu-post-icon:disabled { opacity: .35; cursor: default; }
.vu-vault-heading { display: flex; align-items: center; flex: 1; min-width: 0; gap: .3rem; }
.vu-vault-folders { padding-block: .5rem; overflow: auto; }
.vu-vault-folder-row { display: flex; align-items: center; gap: .4rem; min-height: 2.75rem; padding: .35rem .85rem .35rem .5rem; cursor: pointer; min-width: 0; font-size: .85rem; }
.vu-vault-folder-row[aria-selected="true"] > span:last-child { font-weight: 650; }
.vu-vault-folder-row[aria-disabled="true"] { cursor: default; color: var(--vu-muted); }
.vu-vault-folder-row > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vu-vault-folder-row > .fi-icon { height: 1rem; width: 1rem; color: var(--vu-muted); flex-shrink: 0; }
.vu-vault-folder-disclosure { display: flex; width: 1.25rem; height: 1.8rem; align-items: center; justify-content: center; flex-shrink: 0; color: var(--vu-muted); }
button.vu-vault-folder-disclosure:not(:disabled):hover { color: var(--vu-text); }
.vu-vault-folder-disclosure > .fi-icon, .vu-vault-folder-disclosure > .fi-loading-indicator { width: .8rem; height: .8rem; }
.vu-vault-folder-expanded { transform: rotate(90deg); }
.vu-vault-storage { flex-shrink: 0; border-top: 1px solid var(--az-border); padding: 1rem .85rem; }
.vu-vault-storage progress { display: block; width: 100%; height: .3rem; appearance: none; border: 0; border-radius: 0; background: var(--az-border); color: var(--vu-muted); }
.vu-vault-storage progress::-webkit-progress-bar { background: var(--az-border); }
.vu-vault-storage progress::-webkit-progress-value { background: var(--vu-muted); }
.vu-vault-storage progress::-moz-progress-bar { background: var(--vu-muted); }
.vu-vault-storage-labels { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; margin-top: .5rem; color: var(--vu-muted); font-size: .75rem; }
.vu-vault-storage-status { display: flex; align-items: center; justify-content: center; min-height: 1.8rem; }
.vu-vault-storage-status .fi-loading-indicator { width: 1.25rem; height: 1.25rem; }
.vu-vault-page :is(button, [tabindex]):focus-visible { outline: 2px solid var(--vu-muted); outline-offset: -2px; }
.vu-vault-selection { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 3.25rem; padding: .25rem 1.25rem; border-bottom: 1px solid var(--az-border); flex-shrink: 0; }
.vu-vault-select-all { display: flex; align-items: center; gap: .85rem; min-width: 0; font-size: .8rem; color: var(--vu-muted); }
.vu-vault-files { flex: 1; min-height: 0; min-width: 0; overflow: auto; overscroll-behavior: contain; }
.vu-vault-page .vu-vault-files:focus-visible { outline: none; }
.vu-vault-grid { min-width: 38rem; }
.vu-vault-columns, .vu-vault-item { display: grid; grid-template-columns: var(--vu-vault-tracks, 1.25rem minmax(12rem, 1fr) minmax(5rem, 8rem) 11rem 4rem); align-items: center; gap: .85rem; padding: .65rem 1.25rem; }
.vu-vault-columns { position: sticky; top: 0; z-index: 1; background: var(--az-main); color: var(--vu-muted); border-bottom: 1px solid var(--az-border); font-size: .75rem; }
.vu-vault-item { min-height: 3.5rem; border-bottom: 1px solid var(--az-border); font-size: .875rem; cursor: default; user-select: none; }
.vu-vault-name-cell { display: flex; align-items: center; gap: .7rem; min-width: 0; }
.vu-vault-file-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 1.75rem; height: 1.75rem; color: var(--vu-muted); }
.vu-vault-file-icon > .fi-icon { width: 1.4rem; height: 1.4rem; }
.vu-vault-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vu-vault-type, .vu-vault-date, .vu-vault-size { color: var(--vu-muted); font-size: .75rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vu-vault-size, .vu-vault-columns > :last-child { text-align: right; }
.vu-vault-checkbox { display: flex; align-items: center; }
.vu-vault-page[data-vault-readonly] .vu-vault-files { position: relative; isolation: isolate; }
.vu-vault-page[data-vault-readonly] .vu-empty { position: relative; z-index: 1; }
.vu-vault-preview { position: absolute; inset: 0; overflow: hidden; pointer-events: none; user-select: none; filter: blur(3px); opacity: .5; mask-image: radial-gradient(ellipse 23rem 22rem at 50% 14rem, transparent 35%, #000 100%); }
.vu-vault-page[data-vault-readonly] .vu-empty strong { color: var(--vu-text); }
.vu-vault-intro-actions { display: grid; gap: .75rem; margin-top: 1.5rem; }
.vu-vault-intro-actions .fi-btn { width: 100%; border-radius: 0; white-space: normal; }
.vu-empty .vu-vault-intro-terms { margin-top: 1.5rem; font-size: .8rem; line-height: 1.5; }
.vu-vault-intro-terms .vu-inline-link { color: inherit; }
.vu-vault-faq { margin-top: 2.5rem; background: var(--az-main); }
.vu-vault-faq > .fi-section { gap: 0; border-bottom: 1px solid var(--az-border); }
.vu-vault-faq .fi-section-header { align-items: center; min-height: 3.25rem; padding-block: .85rem; }
.vu-vault-faq .fi-section-header-heading { color: var(--vu-text); font-size: .95rem; font-weight: 550; line-height: 1.5; overflow-wrap: anywhere; }
.vu-vault-faq .fi-section-content { padding: 0 2.25rem 1rem 0; }
.vu-empty .vu-vault-faq p { margin: 0; color: var(--vu-text); font-size: .9rem; line-height: 1.6; overflow-wrap: anywhere; }
.vu-vault-access-prompt { text-align: center; }
.vu-vault-storage-capacity { display: grid; grid-template-columns: minmax(0, 9rem) minmax(0, 1fr); align-items: center; gap: 1rem; }
.vu-vault-storage-capacity > strong { text-align: right; font-size: 1.125rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.vu-vault-input-suffix { padding-inline-end: .75rem; font-size: .9rem; }
.vu-vault-setup-topups { display: grid; gap: 1rem; border-top: 1px solid var(--az-border); padding-top: 1rem; }
.vu-vault-setup-option { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 2rem; cursor: pointer; }
.vu-vault-setup-option .fi-checkbox-input { flex-shrink: 0; }
.vu-vault-setup-option span { max-width: 22rem; }
.vu-vault-wallet-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-block: 1rem; }
.vu-vault-onboarding .vu-vault-topup-fields { grid-template-columns: minmax(0, 1fr); margin: 0; }
.vu-vault-topup-fields .az-form-field { grid-template-columns: minmax(0, 1fr) 7.5rem; align-items: center; gap: 1rem; }
.vu-vault-onboarding .vu-vault-topup-fields label { font-weight: 400; }
.vu-vault-onboarding-actions { display: flex; align-items: center; gap: .5rem; width: 100%; }
.vu-vault-onboarding-next { margin-inline-start: auto; }
#vault-onboarding-title:focus { outline: none; }
#vault-onboarding .vu-post-icon:disabled { opacity: .35; cursor: default; }
#vault-onboarding .vu-post-icon:focus-visible { outline: 2px solid var(--vu-muted); outline-offset: -2px; }
.vu-vault-recovery-saved { display: flex; align-items: center; gap: .65rem; font-size: .85rem; }
.vu-vault-key-input { resize: none; overflow-wrap: anywhere; font-family: monospace; font-size: .85rem; }
.vu-vault-key-input:focus { outline: none; box-shadow: none; border-color: var(--vu-muted); }
.vu-vault-loading { display: grid; place-items: center; padding: 4rem 1rem; color: var(--vu-muted); }
.vu-vault-loading > .fi-loading-indicator { width: 1.5rem; height: 1.5rem; }
@media (max-width: 480px) {
    .vu-vault-wallet-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
    .vu-vault-page .vu-page-header { flex-basis: auto; flex-wrap: wrap; row-gap: .25rem; padding-block: .5rem; }
    .vu-vault-page[data-vault-readonly] .vu-page-header > h1 { flex-basis: 100%; }
    .vu-vault-heading { flex-basis: 100%; }
    .vu-vault-page .vu-page-header > .vu-vault-actions { margin-left: auto; }
    .vu-vault-actions { gap: 0; }
    .vu-vault-selection { padding-inline: 1rem; flex-wrap: wrap; }
    .vu-vault-selection > .vu-vault-actions { margin-left: auto; }
    .vu-vault-selection .vu-post-icon { width: 2.1rem; }
    .vu-vault-grid { min-width: 0; }
    .vu-vault-columns, .vu-vault-item { grid-template-columns: var(--vu-vault-tracks, 1.25rem minmax(0, 1fr) 4rem); gap: .5rem; padding-inline: 1rem; }
    .vu-vault-type, .vu-vault-date, .vu-vault-columns > :nth-child(3), .vu-vault-columns > :nth-child(4) { display: none; }
}
