/* Archive module — genealogy file manager MVP */
.archive-shell {
    height: 100%;
    min-width: 0;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr) var(--inspector-width);

    background:
        var(--surface-main);

    overflow: hidden;
}

.archive-shell.inspector-collapsed {
    grid-template-columns:
        minmax(0, 1fr) var(--inspector-collapsed-width);
}

.archive-main {
    min-width: 0;
    min-height: 0;
    height: 100%;
    padding:
        var(--space-6);
    overflow:
        auto;
}

.archive-page {
    min-width: 0;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

.archive-page-head {
    min-width: 0;
    flex: 0 0 auto;

    margin-bottom:
        var(--space-4);

    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-5);
}

.archive-page-head-copy {
    min-width: 0;
}

.archive-page-head p {
    margin: 0;

    color:
        var(--text-tertiary);

    font-size:
        15px;

    font-weight:
        700;

    line-height:
        1.4;
}

.archive-page-actions,
.archive-selection-actions,
.archive-inspector-actions,
.archive-modal-actions {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.archive-page-actions {
    min-width: 0;
    flex: 0 0 auto;
    justify-content: flex-end;
}

.archive-location-row {
    min-width: 0;
    flex: 0 0 auto;

    display: grid;
    grid-template-columns:
        auto minmax(0, 1fr);

    align-items: center;
    gap: var(--space-2);
}

.archive-location-controls {
    display: flex;
    align-items: center;
    gap: 4px;
}

.archive-location-button {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;

    padding: 0;

    border:
        1px solid var(--border-default);

    border-radius:
        var(--radius-sm);

    background:
        transparent;

    color:
        var(--text-secondary);

    display: grid;
    place-items: center;

    cursor: pointer;

    transition:
        background var(--ease),
        border-color var(--ease),
        color var(--ease),
        opacity var(--ease);
}

.archive-location-button:hover:not(:disabled),
.archive-location-button:focus-visible:not(:disabled) {
    border-color:
        var(--border-strong);

    background:
        var(--surface-card-hover);

    color:
        var(--text-primary);
}

.archive-location-button:focus-visible {
    outline:
        2px solid var(--brand-green-400);

    outline-offset:
        1px;
}

.archive-location-button:disabled {
    opacity: .34;
    cursor: default;
}

.archive-location-button svg {
    width: 18px;
    height: 18px;

    display: block;
}

.archive-location-button--forward svg {
    transform:
        rotate(180deg);
}

.archive-location-button--up svg {
    transform:
        rotate(90deg);
}

.archive-breadcrumbs {
    min-width: 0;
    min-height: 40px;

    padding:
        0 10px;

    border:
        1px solid var(--border-default);

    border-radius:
        var(--radius-sm);

    background:
        rgba(21, 26, 26, .34);

    display: flex;
    align-items: center;
    gap: var(--space-2);

    overflow: hidden;
}

.archive-breadcrumb-leading-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;

    color:
        var(--amber);

    display: grid;
    place-items: center;
}

.archive-breadcrumb-leading-icon svg {
    width: 17px;
    height: 17px;

    display: block;
}

.archive-breadcrumbs ol {
    min-width: 0;
    flex: 1 1 auto;

    margin: 0;
    padding: 0;

    list-style: none;

    display: flex;
    align-items: center;
    gap: 0;

    overflow: hidden;
}

.archive-breadcrumb-item {
    min-width: 0;
    max-width: 180px;
    flex: 0 1 auto;

    display: flex;
    align-items: center;
    gap: 0;
}

.archive-breadcrumb-item--root {
    max-width: 140px;
    flex: 0 0 auto;
}

.archive-breadcrumb-item--middle {
    min-width: 0;
    max-width: 180px;
    flex: 0 1 auto;
}

.archive-breadcrumb-item--current {
    min-width: 72px;
    max-width: 280px;
    flex: 0 1 auto;
}

.archive-breadcrumb-separator {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;

    margin:
        0 1px;

    color:
        var(--text-tertiary);

    display: grid;
    place-items: center;
}

.archive-breadcrumb-separator svg {
    width: 14px;
    height: 14px;

    display: block;
}

.archive-breadcrumbs button,
.archive-breadcrumb-current {
    min-width: 0;
    max-width: 100%;

    padding:
        6px 5px;

    border: 0;
    border-radius: 7px;

    overflow: hidden;

    font: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.archive-breadcrumbs button {
    background:
        transparent;

    color:
        var(--text-secondary);

    cursor:
        pointer;
}

.archive-breadcrumbs button:hover,
.archive-breadcrumbs button:focus-visible {
    background:
        rgba(255, 255, 255, .05);

    color:
        var(--text-primary);
}

.archive-breadcrumbs button:focus-visible {
    outline:
        2px solid var(--brand-green-400);

    outline-offset:
        1px;
}

.archive-breadcrumb-current {
    color:
        var(--text-primary);
}

.archive-page>.archive-toolbar,
.archive-page>.archive-person-filterbar,
.archive-page>.resource-person-filterbar,
.archive-page>.module-active-filterbar,
.archive-page>.archive-location-row {
    margin-bottom:
        var(--space-3);
}

.archive-person-filterbar {
    margin-bottom: var(--space-3);
}

.archive-filter-results-bar {
    min-width: 0;
    min-height: 46px;
    flex: 0 0 auto;
    margin-bottom: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    background: var(--surface-card);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}

.archive-filter-results-bar>strong {
    min-width: 0;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 850;
}

.archive-filter-presentation {
    flex: 0 0 auto;
    padding: 3px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    background: rgba(10, 14, 13, .42);
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.archive-filter-presentation button {
    min-height: 32px;
    padding: 0 11px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--text-tertiary);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
}

.archive-filter-presentation button:hover {
    color: var(--text-primary);
}

.archive-filter-presentation button.active {
    background: var(--surface-selected);
    color: var(--brand-green-300);
}

.archive-filter-presentation button:focus-visible {
    outline: 2px solid var(--brand-green-400);
    outline-offset: 1px;
}

.shared-filter-panel.archive-shared-filter-popover {
    width: min(620px, calc(100vw - 24px));
}

@media (max-width: 640px) {
    .archive-filter-results-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .archive-filter-presentation {
        width: 100%;
    }

    .archive-filter-presentation button {
        flex: 1 1 50%;
    }
}

.archive-selection-bar {
    min-height: 48px;
    margin-bottom: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border: 1px solid rgba(98, 217, 154, .28);
    border-radius: var(--radius-sm);
    background: rgba(22, 58, 42, .58);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.archive-selection-bar strong {
    color: var(--text-primary);
}

.archive-table-wrap {
    min-width: 0;
    flex: 1 1 auto;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: rgba(15, 20, 19, .7);
    overflow: auto;
}

.archive-table {
    width: 100%;
    min-width: 790px;
    border-collapse: collapse;
    table-layout: fixed;
}

.archive-table th,
.archive-table td {
    height: 54px;
    padding: 0 12px;
    border-bottom: 1px solid var(--border-default);
    text-align: left;
    vertical-align: middle;
}

.archive-table th {
    position: sticky;
    top: 0;
    z-index: 3;
    height: 42px;
    background: #121817;
    color: var(--text-tertiary);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
    white-space: nowrap;
}

.archive-table tbody tr {
    cursor: pointer;
    transition: background var(--ease), box-shadow var(--ease);
}

.archive-table tbody tr:hover {
    background:
        rgba(255, 255, 255, .025);
}

/*
    Batch selection matches Albums list view:
    selected rows use the shared selected surface,
    without the Archive-specific left border.
*/
.archive-table tbody tr.is-checked,
.archive-table tbody tr.is-checked:hover {
    background:
        var(--surface-selected);
}

/*
    The file currently displayed in the inspector
    is visually separate from batch selection,
    matching Albums' selected-detail state.
*/
.archive-table tbody tr.selected-detail {
    box-shadow:
        inset 0 0 0 1px rgba(98, 217, 154, .2);
}

/*
    Match Albums' focus treatment instead of
    replacing the row's selection background.
*/
.archive-table tbody tr:focus-visible {
    outline:
        2px solid var(--brand-green-400);

    outline-offset:
        -2px;
}

.archive-table tbody tr:last-child td {
    border-bottom: 0;
}

.archive-table tbody .archive-table-group-row {
    cursor:
        default;
}

.archive-table tbody .archive-table-group-row:hover {
    background:
        transparent;
}

.archive-table tbody .archive-table-group-row th {
    position:
        static;

    height:
        32px;

    padding:
        7px 12px;

    border-bottom:
        1px solid var(--border-default);

    background:
        rgba(21, 26, 26, .72);

    color:
        var(--text-tertiary);

    font-size:
        10.5px;

    font-weight:
        900;

    letter-spacing:
        .075em;

    text-transform:
        uppercase;
}

.archive-table-folder-row .archive-name-copy strong {
    font-weight:
        900;
}

.archive-folder-name-line {
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 5px;
}

.archive-folder-name-line strong {
    min-width: 0;
    flex: 0 1 auto;
}

.archive-col-check {
    width: 44px;
}

.archive-table .albums-select-checkbox {
    display:
        block;

    margin-inline:
        auto;
}

.archive-col-name {
    width: auto;
}

.archive-col-type {
    width: 132px;
}

.archive-col-size {
    width: 118px;
}

.archive-col-modified {
    width: 146px;
}

.archive-col-favorite {
    width: 58px;
    text-align: center !important;
}

.archive-col-actions {
    width: 58px;
    text-align: right !important;
}

.archive-name-cell {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.archive-name-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.archive-name-copy strong,
.archive-name-copy span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.archive-name-copy strong {
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 850;
}

.archive-name-copy span {
    color: var(--text-tertiary);
    font-size: 11.5px;
}

.archive-file-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 9px;
    background: rgba(255, 255, 255, .035);
    color: var(--text-secondary);
    display: grid;
    place-items: center;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .04em;
}

.archive-file-icon svg {
    width: 18px;
    height: 18px;
}

.archive-file-icon.folder {
    color: #f2c75c;
    background: rgba(212, 170, 107, .09);
}

.archive-file-icon.pdf {
    color: #f2a8a8;
    background: rgba(212, 107, 107, .1);
}

.archive-file-icon.img {
    color: #e5c57e;
    background: rgba(212, 170, 107, .1);
}

.archive-file-icon.audio {
    color: #b99aff;
    background: rgba(141, 108, 232, .12);
}

.archive-file-icon.doc {
    color: #7ec5ff;
    background: rgba(93, 173, 236, .11);
}

.archive-file-icon.sheet {
    color: var(--brand-green-300);
    background: rgba(47, 174, 116, .1);
}

.archive-file-icon.archive {
    color: var(--text-secondary);
}

.archive-row-icon-button {
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--text-tertiary);
    display: inline-grid;
    place-items: center;
}

.archive-row-icon-button:hover,
.archive-row-icon-button:focus-visible {
    border-color: var(--border-default);
    background: var(--surface-card-hover);
    color: var(--text-primary);
}

.archive-row-icon-button.active {
    color: var(--amber);
}

.archive-row-icon-button svg {
    width: 18px;
    height: 18px;
}

.archive-empty {
    min-height: 320px;
    flex: 1 1 auto;
    padding: var(--space-8);
    border: 1px dashed var(--border-strong);
    border-radius: var(--radius-md);
    background: rgba(26, 32, 31, .4);
    color: var(--text-tertiary);
    display: grid;
    place-items: center;
    text-align: center;
}

.archive-empty>div {
    max-width: 430px;
}

.archive-empty h2 {
    margin: 0 0 var(--space-2);
    color: var(--text-primary);
    font-size: 20px;
}

.archive-empty p {
    margin: 0 0 var(--space-4);
    line-height: 1.55;
}

.archive-empty-dropzone {
    width:
        100%;

    appearance:
        none;

    font:
        inherit;

    cursor:
        pointer;

    transition:
        border-color var(--ease),
        background var(--ease),
        color var(--ease);
}

.archive-empty-dropzone:hover,
.archive-empty-dropzone.is-drag-over {
    border-color:
        var(--brand-green-500);

    background:
        rgba(47, 174, 116, .06);
}

.archive-empty-dropzone:focus-visible {
    outline:
        2px solid var(--brand-green-400);

    outline-offset:
        2px;
}

.archive-empty-dropzone-content {
    width:
        min(100%,
            460px);

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    gap:
        var(--space-2);
}

.archive-empty-dropzone-icon {
    width:
        44px;

    height:
        44px;

    margin-bottom:
        var(--space-2);

    display:
        grid;

    place-items:
        center;

    color:
        var(--text-secondary);
}

.archive-empty-dropzone-icon svg {
    width:
        28px;

    height:
        28px;
}

.archive-empty-dropzone-title {
    color:
        var(--text-primary);

    font-size:
        20px;

    line-height:
        1.25;
}

.archive-empty-dropzone-copy {
    color:
        var(--text-secondary);

    line-height:
        1.55;
}

.archive-empty-dropzone-action {
    margin-top:
        var(--space-2);

    color:
        var(--brand-green-300);

    font-size:
        13px;

    font-weight:
        750;
}

.archive-sidebar-tree-section {
    min-width: 0;
    min-height: 0;
    margin-top: 0;
    display: flex;
    flex-direction: column;
}

.archive-sidebar-folder-tree {
    min-height: 0;
    overflow: auto;
    padding-bottom: var(--space-4) !important;
}

.sidebar .archive-folder-tree {
    display: grid;
    gap: 2px;
}

.archive-folder-row {
    min-height: 34px;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: 4px;
    padding: 0 5px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--text-secondary);
}

.archive-folder-row:hover {
    background: rgba(255, 255, 255, .035);
    color: var(--text-primary);
}

.archive-folder-row.active {
    border-color: rgba(98, 217, 154, .18);
    background: var(--surface-selected);
    color: var(--text-primary);
}

.archive-folder-toggle,
.archive-folder-main {
    border: 0;
    background: transparent;
    color: inherit;
}

.archive-folder-toggle {
    width: 22px;
    height: 22px;
    padding: 0;
    border-radius: 6px;
    display: grid;
    place-items: center;
}

.archive-folder-toggle:hover,
.archive-folder-toggle:focus-visible {
    background: rgba(255, 255, 255, .06);
    color: var(--text-primary);
}

.archive-folder-toggle svg {
    width: 13px;
    height: 13px;
    transition: transform var(--ease);
}

.archive-folder-toggle.expanded svg {
    transform: rotate(90deg);
}

.archive-folder-main {
    min-width: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    text-align: left;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 400;
    letter-spacing: 0;
}

.archive-folder-main svg {
    width: 15px;
    height: 15px;
    flex: 0 0 auto;
    display: block;
}

.archive-folder-main span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.archive-sidebar {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    box-sizing: border-box;
}

.archive-sidebar-section {
    min-width: 0;
    flex: 0 0 auto;
}

.archive-source-browser {
    min-width: 0;
    display: grid;
    gap: var(--space-5);
}

.archive-source-filter-list {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.archive-source-filter {
    width: 100%;
    min-width: 0;
    min-height: 38px;
    padding: 6px 10px;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--space-2);
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
    transition:
        background var(--ease),
        border-color var(--ease),
        color var(--ease);
}

.archive-source-filter:hover {
    background: rgba(255, 255, 255, .035);
    color: var(--text-primary);
}

.archive-source-filter.active {
    border-color: rgba(98, 217, 154, .1);
    background: rgba(98, 217, 154, .075);
    color: var(--text-primary);
    box-shadow:
        inset 2px 0 0 var(--brand-green-400);
}

.archive-source-filter-label {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.archive-inspector,
.archive-inspector-collapsed {
    min-width: 0;
    min-height: 0;
    height: 100%;

    border-left:
        1px solid var(--border-default);

    background:
        var(--surface-sidebar);
}

.archive-inspector {
    display: grid;
    grid-template-rows:
        auto minmax(0, 1fr);

    overflow: hidden;
}

.archive-inspector-scroll {
    min-width: 0;
    min-height: 0;

    overflow: auto;
}

.archive-inspector-collapsed {
    padding:
        var(--space-3) 8px;

    display: flex;
    align-items: flex-start;
    justify-content: center;

    overflow: hidden;
}

.archive-inspector-head {
    min-width: 0;
    padding:
        var(--space-4) var(--space-4) var(--space-3);
    border-bottom:
        1px solid var(--border-default);
}

.archive-inspector-head-copy {
    min-width: 0;
}

.archive-inspector-head h2 {
    margin: 0;

    color:
        var(--text-primary);

    font-size: 17px;
    line-height: 1.3;

    overflow-wrap:
        anywhere;
}

.archive-inspector-head p {
    margin:
        3px 0 0;

    color:
        var(--text-tertiary);

    font-size: 12px;
    line-height: 1.45;
}

.archive-inspector-body {
    padding:
        var(--space-4);
}

.archive-folder-inspector-actions {
    margin-bottom:
        var(--space-3);
}

.archive-folder-inspector-actions .button {
    min-width:
        0;

    flex:
        1 1 0;
}

.archive-file-inspector-content {
    min-width: 0;
}

.archive-file-inspector-content .panel-section-body {
    padding:
        var(--space-4) var(--space-4) var(--space-5);
}

.archive-file-hero {
    min-width: 0;

    padding:
        var(--space-4) var(--space-5) var(--space-5);

    border-bottom:
        1px solid var(--border-default);
}

.archive-file-preview {
    width: 100%;
    min-width: 0;

    aspect-ratio:
        16 / 10;

    max-height:
        300px;

    border:
        1px solid var(--border-default);

    border-radius:
        var(--radius-sm);

    background:
        var(--surface-input);

    overflow: hidden;

    display: grid;
    place-items: center;
}

.archive-file-preview-image {
    width: 100%;
    height: 100%;

    object-fit: contain;

    display: block;
}

.archive-file-preview-content {
    max-width: 290px;

    padding:
        var(--space-5);

    color:
        var(--text-tertiary);

    text-align: center;

    display: grid;
    justify-items: center;
    gap: var(--space-2);
}

.archive-file-preview-content svg {
    width: 40px;
    height: 40px;

    color:
        var(--text-secondary);
}

.archive-file-preview-content strong {
    color:
        var(--text-primary);

    font-size:
        15px;
}

.archive-file-preview-content span {
    font-size:
        12px;

    line-height:
        1.5;
}

.archive-file-open {
    width: 100%;

    margin-top:
        var(--space-3);

    justify-content:
        center;
}

.archive-file-identity {
    min-width: 0;

    margin-top:
        var(--space-4);
}

.archive-file-identity h2 {
    display:
        -webkit-box;

    margin:
        0 0 var(--space-2);

    overflow:
        hidden;

    color:
        var(--text-primary);

    font-size:
        20px;

    line-height:
        1.3;

    letter-spacing:
        .01em;

    overflow-wrap:
        anywhere;

    -webkit-line-clamp:
        2;

    line-clamp:
        2;

    -webkit-box-orient:
        vertical;
}

.archive-file-summary {
    margin: 0;
    color:
        var(--text-tertiary);
    font-size:
        13px;
    font-weight:
        700;
}

.archive-inspector.is-editing .archive-file-title-field+.archive-file-summary {
    padding-top:
        var(--space-2);
}

.archive-file-title-field {
    min-width: 0;

    display: grid;
    gap: 7px;
}

.archive-file-title-field span {
    color:
        var(--text-secondary);

    font-size:
        12px;

    font-weight:
        900;
}

.archive-file-title-field input {
    width: 100%;
    min-width: 0;
    height:
        var(--control-height);

    padding:
        0 var(--space-3);

    border:
        1px solid var(--border-default);

    border-radius:
        var(--radius-sm);

    background:
        var(--surface-input);

    color:
        var(--text-primary);

    font:
        inherit;
}

.archive-file-title-field input:focus {
    border-color:
        rgba(98, 217, 154, .55);

    outline: 0;

    box-shadow:
        0 0 0 3px rgba(98, 217, 154, .1);
}

.archive-file-form-grid {
    display: grid;
    grid-template-columns:
        1fr;

    gap:
        var(--space-4);
}

.archive-file-field {
    min-width: 0;

    display: grid;
    gap: 7px;
}

.archive-file-field label {
    color:
        var(--text-secondary);

    font-size:
        12px;

    font-weight:
        900;
}

.archive-file-field textarea {
    width: 100%;
    min-height: 112px;

    resize:
        vertical;

    padding:
        var(--space-3);

    border:
        1px solid var(--border-default);

    border-radius:
        var(--radius-sm);

    background:
        var(--surface-input);

    color:
        var(--text-primary);

    font:
        inherit;

    line-height:
        1.5;
}

.archive-file-field textarea:focus {
    border-color:
        rgba(98, 217, 154, .55);

    outline: 0;

    box-shadow:
        0 0 0 3px rgba(98, 217, 154, .1);
}

.archive-file-inspector-content .relationship-list {
    gap:
        var(--space-2);
}

.archive-file-inspector-content .relation-row {
    min-height:
        60px;
}

.archive-file-inspector-content .relation-row-main {
    min-height:
        58px;

    padding:
        7px 8px;
}

.archive-file-relation-icon {
    width: 34px;
    height: 34px;
    flex:
        0 0 34px;

    border:
        1px solid var(--border-default);

    border-radius:
        50%;

    background:
        var(--surface-input);

    color:
        var(--text-secondary);

    display: grid;
    place-items: center;
}

.archive-file-relation-icon svg {
    width: 17px;
    height: 17px;
}

.archive-file-metadata-list {
    display: grid;
    gap: 0;
}

.archive-file-metadata-row {
    min-width: 0;

    padding:
        8px 0;

    border-bottom:
        1px solid rgba(45, 54, 52, .72);

    display: grid;
    grid-template-columns:
        116px minmax(0, 1fr);

    gap:
        var(--space-3);

    align-items:
        start;
}

.archive-file-metadata-row:last-child {
    border-bottom: 0;
}

.archive-file-metadata-row span {
    color:
        var(--text-tertiary);

    font-size:
        12px;
}

.archive-file-metadata-row strong {
    min-width: 0;

    color:
        var(--text-secondary);

    font-size:
        12px;

    line-height:
        1.4;

    font-weight:
        700;

    overflow-wrap:
        anywhere;
}

.archive-shell.file-editing .archive-main :disabled {
    opacity:
        .52;

    cursor:
        not-allowed;
}

.archive-source-inspector-content {
    min-width: 0;
}

.archive-source-inspector-content .panel-section-body {
    padding:
        var(--space-4) var(--space-4) var(--space-5);
}

.archive-source-read-list {
    margin: 0;
    padding: 0;
}

.archive-source-url {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.archive-source-notes {
    min-width: 0;
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top:
        1px solid rgba(45, 54, 52, .72);
    text-align: left;
}

.archive-source-notes strong {
    display: block;
    margin-bottom: var(--space-2);
    color: var(--text-tertiary);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.5;
}

.archive-source-notes p {
    width: 100%;
    min-width: 0;
    margin: 0;
    color: var(--text-secondary);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
    text-align: left;
    text-indent: 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.archive-inspector-section {
    margin-bottom: var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    overflow: hidden;
}

.archive-inspector-section-head {
    min-height: 46px;
    padding: 0 var(--space-3);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    border-bottom: 1px solid var(--border-default);
}

.archive-inspector-section-head strong {
    color: var(--text-primary);
    font-size: 13px;
}

.archive-inspector-section-head span {
    color: var(--text-tertiary);
    font-size: 11px;
}

.archive-inspector-section-body {
    padding: var(--space-3);
}

.archive-kv-list {
    display: grid;
}

.archive-kv {
    min-height: 34px;
    padding: 7px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .045);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3);
}

.archive-kv:last-child {
    border-bottom: 0;
}

.archive-kv span:first-child {
    color: var(--text-tertiary);
}

.archive-kv span:last-child {
    max-width: 62%;
    color: var(--text-secondary);
    text-align: right;
    overflow-wrap: anywhere;
}

.archive-connection-list {
    display: grid;
    gap: var(--space-2);
}

.archive-connection-row {
    position: relative;
    min-width: 0;
    min-height: 46px;
    padding: 8px 42px 8px 10px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, .018);
    display: grid;
    gap: 2px;
}

.archive-connection-row strong,
.archive-connection-row span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.archive-connection-row strong {
    color: var(--text-primary);
    font-size: 12.5px;
}

.archive-connection-row span {
    color: var(--text-tertiary);
    font-size: 11px;
}

.archive-connection-open {
    position: absolute;
    inset: 0;
    z-index: 1;
    border: 0;
    border-radius: inherit;
    background: transparent;
}

.archive-connection-row:hover,
.archive-connection-row:focus-within {
    border-color: var(--border-strong);
    background: rgba(255, 255, 255, .035);
}

.archive-connection-unlink {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 7px;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 8px;
    background: rgba(15, 20, 19, .92);
    color: var(--text-tertiary);
    display: grid;
    place-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-50%) scale(.96);
    transition: opacity var(--ease), visibility var(--ease), transform var(--ease), color var(--ease), background var(--ease);
}

.archive-connection-row:hover .archive-connection-unlink,
.archive-connection-row:focus-within .archive-connection-unlink {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(-50%) scale(1);
}

.archive-connection-unlink:hover,
.archive-connection-unlink:focus-visible {
    color: var(--red);
    background: rgba(212, 107, 107, .12);
}

.archive-connection-unlink svg {
    width: 16px;
    height: 16px;
}

.archive-section-empty {
    padding: 5px 0;
    color: var(--text-tertiary);
    font-size: 12px;
    line-height: 1.45;
}

.archive-link-section-action {
    margin-top: var(--space-2);
}

.archive-source-modal {
    width: min(860px, 100%);
    max-height: min(88vh, 820px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.archive-source-modal .modal-header,
.archive-source-modal .modal-footer {
    flex: 0 0 auto;
}

.archive-source-form {
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.archive-source-form-body {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    display: grid;
    gap: var(--space-6);
}

.archive-source-form-section {
    min-width: 0;
    display: grid;
    gap: var(--space-4);
}

.archive-source-form-section+.archive-source-form-section {
    padding-top: var(--space-5);
    border-top: 1px solid var(--border-default);
}

.archive-source-form-section-heading {
    display: flex;
    align-items: baseline;
    gap: var(--space-2);
}

.archive-source-form-section-heading h3 {
    margin: 0;
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.35;
}

.archive-source-form-row {
    min-width: 0;
    display: grid;
    align-items: start;
    gap: var(--space-4);
}

.archive-source-form-row-identity {
    grid-template-columns:
        minmax(190px, 0.7fr) minmax(0, 1.3fr);
}

.archive-source-form-row-location {
    grid-template-columns:
        minmax(0, 0.85fr) minmax(0, 1.15fr);
}

.archive-source-form-row-access {
    grid-template-columns:
        minmax(0, 1.3fr) minmax(190px, 0.7fr);
}

.archive-source-form-section .field {
    min-width: 0;
}

.archive-source-form-section input,
.archive-source-form-section textarea,
.archive-source-form-section select {
    font: inherit;
}

.archive-source-form-section .compact-select {
    width: 100%;
    max-width: none;
    background-color: var(--surface-input);
}

.archive-source-form-section textarea {
    min-height: 104px;
    max-height: 180px;
}

.archive-source-required {
    margin-left: 3px;
    color: var(--red);
}

@media (max-width: 680px) {
    .archive-source-modal {
        max-height: calc(100vh - (var(--space-4) * 2));
    }

    .archive-source-form-row-identity,
    .archive-source-form-row-location,
    .archive-source-form-row-access {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .archive-source-form-body {
        gap: var(--space-5);
    }
}

.archive-source-title-cell {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.archive-source-title-cell strong,
.archive-source-title-cell span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.archive-source-title-cell strong {
    color: var(--text-primary);
    font-size: 14px;
}

.archive-source-title-cell span {
    color: var(--text-tertiary);
    font-size: 11px;
}

.archive-count-chip {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 999px;
    background: rgba(255, 255, 255, .035);
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 850;
    white-space: nowrap;
}

.archive-source-table {
    min-width: 1020px;
}

.archive-source-table td {
    height: 62px;
}

.archive-col-source-category {
    width: 152px;
}

.archive-col-source-reference {
    width: 240px;
}

.archive-col-source-connections {
    width: 116px;
    text-align: center !important;
}

.archive-col-source-accessed {
    width: 126px;
}

.archive-source-origin {
    font-size: 12px !important;
    line-height: 1.35;
}

.archive-source-category-text,
.archive-source-reference-text,
.archive-source-accessed-text {
    min-width: 0;
    display: block;
    overflow: hidden;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.archive-source-category-text {
    color: var(--text-tertiary);
}

.archive-source-connections-cell {
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
}

.archive-source-favourite-cell {
    text-align: center !important;
}

.archive-source-table .archive-source-row.selected-detail,
.archive-source-table .archive-source-row.selected-detail:hover {
    background:
        var(--surface-selected);

    box-shadow:
        inset 3px 0 0 var(--brand-green-400);
}

.archive-source-row-actions {
    opacity: 0;
    transition:
        opacity var(--ease);
}

.archive-source-row:hover .archive-source-row-actions,
.archive-source-row:focus-within .archive-source-row-actions,
.archive-source-row.selected-detail .archive-source-row-actions {
    opacity: 1;
}

.archive-modal-list {
    display: grid;
    gap: var(--space-2);
    max-height: 390px;
    overflow: auto;
}

.archive-link-picker-modal {
    width: min(720px, calc(100vw - 32px));
    max-width: 720px;
}

.archive-link-picker-toolbar {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.archive-link-picker-search {
    min-width: 0;
    flex: 1 1 auto;
}

.archive-link-picker-status {
    color: var(--text-tertiary);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
}

.archive-modal-choice {
    min-height: 50px;
    padding: 8px 12px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, .022);
    color: var(--text-secondary);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-3);
}

.archive-modal-choice:hover {
    border-color: var(--border-strong);
    background: var(--surface-card-hover);
}

.archive-modal-choice input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--brand-green-500);
}

.archive-modal-choice:has(input:checked) {
    border-color: rgba(70, 190, 134, .45);
    background: var(--surface-selected);
}

.archive-modal-choice:has(input:focus-visible) {
    outline: 2px solid var(--brand-green-300);
    outline-offset: 2px;
}

.archive-modal-choice:has(input:disabled) {
    cursor: default;
    opacity: .68;
}

.archive-modal-choice-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.archive-modal-choice-copy strong,
.archive-modal-choice-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.archive-modal-choice-copy strong {
    color: var(--text-primary);
    font-size: 13px;
}

.archive-modal-choice-copy span,
.archive-modal-choice>span:last-child {
    color: var(--text-tertiary);
    font-size: 11px;
}

@media (max-width: 720px) {
    .archive-link-picker-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .archive-link-picker-toolbar .button {
        width: 100%;
    }

    .archive-link-picker-modal .modal-footer {
        align-items: stretch;
        gap: var(--space-3);
    }

    .archive-link-picker-modal .archive-modal-actions {
        width: 100%;
    }

    .archive-link-picker-modal .archive-modal-actions .button {
        flex: 1 1 0;
    }
}

/* Shared Add Sources modal */

.target-source-picker-modal .connected-source-icon-link {
    border-color: var(--surface-card);
}

.source-picker-choice {
    flex: 0 0 auto;
    min-width: 0;
    min-height: 86px;
    padding: 10px 14px;

    display: grid;
    grid-template-columns:
        42px minmax(0, 1fr) auto 18px;
    align-items: center;
    gap: var(--space-3);

    box-sizing: border-box;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, .025);
    color: var(--text-secondary);
    cursor: pointer;

    transition:
        border-color var(--ease),
        background var(--ease);
}

.source-picker-choice:hover {
    border-color: var(--border-strong);
    background: var(--surface-card-hover);
}

.source-picker-choice:has(input:focus-visible) {
    outline: 2px solid var(--brand-green-300);
    outline-offset: 2px;
}

.source-picker-choice.already-linked {
    background: rgba(255, 255, 255, .018);
    cursor: default;
}

.source-picker-choice.already-linked:hover {
    border-color: var(--border-default);
    background: rgba(255, 255, 255, .018);
}

.source-picker-choice-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.source-picker-choice-title,
.source-picker-choice-origin,
.source-picker-choice-meta {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.source-picker-choice-title {
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 850;
    line-height: 1.35;
}

.source-picker-choice-origin {
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.35;
}

.source-picker-choice-meta {
    color: var(--text-tertiary);
    font-size: 11px;
    line-height: 1.35;
}

.source-picker-choice-status {
    color: var(--text-tertiary);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.source-picker-choice>input {
    grid-column: 4;
    width: 16px;
    height: 16px;
    min-height: 16px;
    padding: 0;
    margin: 0;
    accent-color: var(--brand-green-500);
}

.source-picker-selected-list {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.source-picker-selected-row {
    min-width: 0;
    max-width: 100%;
    min-height: 38px;
    padding: 4px 6px 4px 10px;

    display: inline-grid;
    grid-template-columns:
        minmax(0, 1fr) 26px;
    align-items: center;
    gap: var(--space-2);

    border: 1px solid rgba(70, 190, 134, .28);
    border-radius: var(--radius-sm);
    background: rgba(70, 190, 134, .08);
}

.source-picker-selected-row>span {
    min-width: 0;
    overflow: hidden;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 720px) {
    .target-source-picker-modal .notes-related-toolbar>.button {
        width: 100%;
    }

    .source-picker-choice {
        grid-template-columns:
            42px minmax(0, 1fr) 18px;
    }

    .source-picker-choice>input {
        grid-column: 3;
        grid-row: 1;
    }

    .source-picker-choice-status {
        grid-column: 2 / -1;
        grid-row: 2;
        justify-self: start;
    }
}

.archive-move-modal {
    width:
        min(720px,
            calc(100vw - 32px));

    max-width:
        720px;

    height:
        min(86vh,
            780px);

    max-height:
        min(86vh,
            780px);

    overflow:
        hidden;

    display:
        grid;

    grid-template-rows:
        auto minmax(0, 1fr) auto;
}

.archive-move-modal .modal-body {
    min-height:
        0;

    overflow:
        hidden;

    padding-block:
        var(--space-4);

    display:
        grid;

    grid-template-rows:
        auto minmax(0, 1fr);

    gap:
        var(--space-3);
}

.archive-move-content {
    min-width:
        0;

    min-height:
        0;

    display:
        flex;

    flex-direction:
        column;

    gap:
        var(--space-3);
}

.archive-move-item-summary {
    min-width:
        0;

    padding:
        0 2px;

    border:
        0;

    background:
        transparent;

    display:
        grid;

    gap:
        var(--space-2);
}

.archive-move-context-label {
    color:
        var(--text-tertiary);

    font-size:
        11px;

    font-weight:
        850;

    line-height:
        1;

    letter-spacing:
        .05em;

    text-transform:
        uppercase;
}

.archive-move-item-row {
    min-width: 0;
    display: grid;
    grid-template-columns:
        32px minmax(0, 1fr) auto;
    gap:
        var(--space-3);
    align-items:
        center;
}

.archive-move-item-action {
    min-height:
        38px;

    height:
        38px;

    padding-inline:
        12px;

    align-self:
        center;

    white-space:
        nowrap;
}

.archive-move-item-icon {
    width:
        32px;

    height:
        32px;

    border:
        1px solid var(--border-default);

    border-radius:
        var(--radius-sm);

    background:
        var(--surface-input);

    color:
        var(--text-secondary);

    display:
        grid;

    place-items:
        center;
}

.archive-move-item-icon svg {
    width:
        17px;

    height:
        17px;
}

.archive-move-item-copy {
    min-width:
        0;

    display:
        grid;

    gap:
        2px;
}

.archive-move-item-copy strong,
.archive-move-item-copy>span {
    min-width:
        0;

    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}

.archive-move-item-copy strong {
    color:
        var(--text-primary);

    font-size:
        14px;

    line-height:
        1.35;
}

.archive-move-item-copy>span {
    color:
        var(--text-tertiary);

    font-size:
        12px;

    line-height:
        1.4;
}

.archive-move-search-field {
    width:
        100%;

    max-width:
        none;

    flex:
        0 0 auto;
}

.archive-move-new-folder-form {
    padding:
        var(--space-3);

    border:
        1px solid var(--border-default);

    border-radius:
        var(--radius-sm);

    background:
        rgba(255, 255, 255, .022);

    display: grid;
    gap: var(--space-3);
}

.archive-move-new-folder-context {
    min-width: 0;

    display: grid;
    gap: 3px;
}

.archive-move-new-folder-context span {
    color:
        var(--text-tertiary);

    font-size:
        11px;

    font-weight:
        800;

    text-transform:
        uppercase;

    letter-spacing:
        .04em;
}

.archive-move-new-folder-context strong {
    min-width: 0;

    color:
        var(--text-secondary);

    font-size:
        13px;

    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}

.archive-move-new-folder-fields {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr) auto auto;

    gap:
        var(--space-2);
}

.archive-move-new-folder-fields input {
    min-width: 0;
    height:
        var(--control-height);

    padding:
        0 var(--space-3);

    border:
        1px solid var(--border-default);

    border-radius:
        var(--radius-sm);

    background:
        var(--surface-input);

    color:
        var(--text-primary);

    font:
        inherit;
}

.archive-move-section-label {
    margin:
        1px 0 -4px;
    color:
        var(--text-tertiary);
    font-size:
        11px;
    font-weight:
        850;
    line-height:
        1;
    letter-spacing:
        .05em;
    text-transform:
        uppercase;
}

.archive-move-picker {
    min-width: 0;
    min-height: 160px;
    flex:
        1 1 auto;
    overflow: auto;
    padding:
        var(--space-2);
    border:
        1px solid var(--border-default);
    border-radius:
        var(--radius-sm);
    background:
        rgba(255, 255, 255, .012);
}

.archive-create-folder-modal {
    width:
        min(720px,
            calc(100vw - 32px));

    max-width:
        720px;

    height:
        min(82vh,
            720px);

    max-height:
        min(82vh,
            720px);

    overflow:
        hidden;

    display:
        grid;

    grid-template-rows:
        auto minmax(0, 1fr);
}

.archive-create-folder-form {
    min-height:
        0;

    display:
        grid;

    grid-template-rows:
        minmax(0, 1fr) auto;
}

.archive-create-folder-body {
    min-height:
        0;

    overflow:
        hidden;

    display:
        flex;

    flex-direction:
        column;

    gap:
        var(--space-3);
}

.archive-create-folder-name-field {
    flex:
        0 0 auto;
}

.archive-create-folder-parent-picker {
    min-width:
        0;

    min-height:
        0;

    flex:
        1 1 auto;

    display:
        flex;

    flex-direction:
        column;

    gap:
        var(--space-3);
}

.archive-create-folder-search {
    width:
        100%;

    max-width:
        none;

    flex:
        0 0 auto;
}

.archive-create-folder-modal .archive-move-picker {
    min-height:
        180px;

    max-height:
        none;

    flex:
        1 1 auto;
}

.archive-move-tree,
.archive-move-search-results {
    display: grid;
    gap: 2px;
}

.archive-move-tree-row {
    min-width: 0;

    padding-left:
        calc(var(--archive-move-depth, 0) * 16px);

    display: grid;
    grid-template-columns:
        32px minmax(0, 1fr);

    align-items:
        stretch;
}

.archive-move-tree-toggle {
    width: 32px;
    min-height: 42px;

    padding: 0;

    border: 0;

    background:
        transparent;

    color:
        var(--text-tertiary);

    display: grid;
    place-items: center;
}

.archive-move-tree-toggle:hover {
    color:
        var(--text-primary);
}

.archive-move-tree-toggle svg {
    width: 14px;
    height: 14px;

    transition:
        transform var(--ease);
}

.archive-move-tree-toggle.is-expanded svg {
    transform:
        rotate(90deg);
}

.archive-move-tree-toggle.is-placeholder {
    visibility:
        hidden;
}

.archive-move-tree-main,
.archive-move-search-result {
    width: 100%;
    min-width: 0;
    min-height: 42px;

    padding:
        6px var(--space-2);

    border:
        1px solid transparent;

    border-radius:
        var(--radius-sm);

    background:
        transparent;

    color:
        var(--text-secondary);

    text-align:
        left;

    display: grid;
    grid-template-columns:
        auto minmax(0, 1fr) auto;

    gap:
        var(--space-2);

    align-items:
        center;
}

.archive-move-tree-main:hover:not(:disabled),
.archive-move-search-result:hover:not(:disabled) {
    border-color:
        var(--border-strong);

    background:
        var(--surface-card-hover);

    color:
        var(--text-primary);
}

.archive-move-tree-main.is-selected,
.archive-move-search-result.is-selected {
    border-color:
        rgba(98, 217, 154, .28);

    background:
        var(--surface-selected);

    color:
        var(--text-primary);
}

.archive-move-tree-main:disabled,
.archive-move-search-result:disabled {
    opacity:
        .55;

    cursor:
        not-allowed;
}

.archive-move-tree-main.is-current-folder:disabled,
.archive-move-search-result.is-current-folder:disabled {
    opacity:
        1;

    cursor:
        default;

    border-color:
        transparent;

    background:
        rgba(255, 255, 255, .018);

    color:
        var(--text-secondary);
}

.archive-move-tree-main.is-current-folder:disabled .archive-move-folder-copy strong,
.archive-move-search-result.is-current-folder:disabled .archive-move-folder-copy strong {
    color:
        var(--text-secondary);
}

.archive-move-tree-main.is-current-folder:disabled .archive-move-folder-copy span,
.archive-move-search-result.is-current-folder:disabled .archive-move-folder-copy span {
    color:
        var(--text-tertiary);
}

.archive-move-tree-main>svg,
.archive-move-search-result>svg {
    width: 17px;
    height: 17px;

    color:
        var(--text-tertiary);
}

.archive-move-folder-copy {
    min-width: 0;

    display: grid;
    gap: 2px;
}

.archive-move-folder-copy strong,
.archive-move-folder-copy span {
    min-width: 0;

    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}

.archive-move-folder-copy strong {
    color:
        inherit;

    font-size:
        13px;
}

.archive-move-folder-copy span {
    color:
        var(--text-tertiary);

    font-size:
        11px;
}

.archive-move-selected-mark {
    width:
        18px;
    height:
        18px;
    color:
        var(--brand-green-300);
    display:
        grid;
    place-items:
        center;
}

.archive-move-selected-mark svg {
    width:
        15px;
    height:
        15px;
}

.archive-move-search-result mark {
    padding: 0;

    background:
        transparent;

    color:
        var(--brand-green-300);
}

.archive-move-empty {
    padding:
        var(--space-6);

    color:
        var(--text-tertiary);

    text-align:
        center;

    font-size:
        13px;
}

.archive-move-destination {
    min-width:
        0;

    min-height:
        54px;

    padding:
        0 var(--space-3);

    border:
        1px solid var(--border-default);

    border-radius:
        var(--radius-sm);

    background:
        rgba(255, 255, 255, .022);

    display:
        grid;

    grid-template-columns:
        112px minmax(0, 1fr);

    gap:
        var(--space-3);

    align-items:
        center;
}

.archive-move-destination-label {
    color:
        var(--text-tertiary);

    font-size:
        11px;

    font-weight:
        850;

    line-height:
        1;

    letter-spacing:
        .05em;

    text-transform:
        uppercase;
}

.archive-move-destination-value {
    min-width:
        0;

    color:
        var(--text-primary);

    font-size:
        13px;

    line-height:
        1.45;

    font-weight:
        750;

    overflow-wrap:
        anywhere;
}

.archive-move-destination-value.is-placeholder {
    color:
        var(--text-tertiary);

    font-weight:
        650;
}

@media (max-width: 620px) {
    .archive-move-item-row {
        grid-template-columns:
            32px minmax(0, 1fr);
    }

    .archive-move-item-action {
        grid-column:
            2;

        justify-self:
            start;

        margin-top:
            2px;
    }

    .archive-move-new-folder-fields {
        grid-template-columns:
            1fr;
    }
}

.archive-delete-summary {
    display: grid;
    gap: var(--space-2);
    padding: var(--space-3);
    border: 1px solid rgba(212, 107, 107, .28);
    border-radius: var(--radius-sm);
    background: rgba(212, 107, 107, .08);
    color: var(--text-secondary);
    line-height: 1.5;
}

.archive-delete-summary strong {
    color: var(--text-primary);
}

@media (hover: none) {
    .archive-connection-unlink {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(-50%) scale(1);
    }
}

@media (max-width: 1380px) {
    .archive-shell {
        grid-template-columns: minmax(0, 1fr) 350px;
    }

    .archive-col-type {
        width: 116px;
    }

    .archive-col-size {
        width: 104px;
    }

    .archive-col-modified {
        width: 128px;
    }
}

@media (max-width: 1100px) {
    .archive-shell,
    .archive-shell.inspector-collapsed {
        grid-template-columns: minmax(0, 1fr);
    }

    .archive-inspector,
    .archive-inspector-collapsed {
        display: none;
    }
}

.archive-action-grid {
    display: grid;
    gap: var(--space-2);
}

.archive-action-grid .button {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
}

.archive-col-favorite svg {
    width: 16px;
    height: 16px;
    color: var(--text-tertiary);
}
