.bv-management-drawer__trigger {
    position: fixed;
    z-index: 100000;
    top: 36%;
    left: 0;
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .9rem .75rem;
    border: 1px solid var(--bv-border-soft);
    border-left: 0;
    border-radius: 0 .65rem .65rem 0;
    background: var(--bv-card-bg);
    color: var(--bv-text-primary);
    box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
    cursor: pointer;
    writing-mode: vertical-rl;
}
.bv-management-drawer__trigger svg { flex: none; }
@media (min-width: 1024px) {
    .bv-archive-wrapper .bv-management-drawer__trigger {
        gap: .85rem;
        padding: 1.2rem 1rem;
        font-size: 1.125rem;
    }
    .bv-archive-wrapper .bv-management-drawer__trigger svg {
        width: 32px;
        height: 32px;
    }
}
.bv-management-drawer__trigger:focus-visible,
.bv-management-drawer__close:focus-visible { outline: 3px solid var(--bv-accent); outline-offset: 2px; }
.bv-management-drawer__backdrop {
    position: fixed;
    z-index: 100001;
    inset: 0;
    background: rgba(0, 0, 0, .6);
}
.bv-management-drawer__panel {
    position: fixed;
    z-index: 100002;
    inset: 0 auto 0 0;
    box-sizing: border-box;
    width: min(420px, 100vw);
    max-height: 100dvh;
    overflow-y: auto;
    background: var(--bv-card-bg);
    color: var(--bv-text-primary);
    box-shadow: 4px 0 30px rgba(0, 0, 0, .25);
}
.bv-management-drawer [hidden] { display: none !important; }
.bv-management-drawer__header {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--bv-border-soft);
    background: var(--bv-card-bg);
}
.bv-management-drawer__title { margin: 0; font-size: 1.25rem; }
.bv-management-drawer__close {
    flex: none;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid var(--bv-border-soft);
    border-radius: .5rem;
    background: transparent;
    color: inherit;
    font-size: 1.5rem;
    cursor: pointer;
}
.bv-management-drawer__content { padding: 1.25rem; }
.bv-management-drawer__panel { padding-bottom: env(safe-area-inset-bottom, 0px); animation: bv-drawer-enter .18s ease-out; }
@keyframes bv-drawer-enter { from { transform: translateX(-100%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .bv-management-drawer__panel { animation: none; } }
@media (max-width: 1023px) {
    .bv-management-drawer__trigger {
        top: auto;
        bottom: calc(var(--bv-mobile-nav-height, 68px) + env(safe-area-inset-bottom, 0px) + 12px);
        left: 12px;
        width: 3.5rem;
        height: 3.5rem;
        justify-content: center;
        padding: 0;
        border: 1px solid var(--bv-border-soft);
        border-radius: 50%;
        writing-mode: initial;
    }
    .bv-management-drawer__trigger span { display: none; }
    .bv-archive-wrapper .bv-management-drawer__trigger {
        box-sizing: border-box;
        width: 4.72rem;
        height: 4.72rem;
    }
    .bv-archive-wrapper .bv-management-drawer__trigger svg {
        width: 36px;
        height: 36px;
    }
    .bv-management-drawer__panel { width: min(80vw, 420px); }
}

/* Inline archive controls reuse the same panel and mobile width. */
.bv-management-drawer--inline .bv-management-drawer__trigger {
    position: static;
    width: auto;
    height: auto;
    min-height: 46px;
    padding: .7rem 1.35rem;
    border: 1px solid var(--bv-btn-border);
    border-radius: var(--bv-btn-radius);
    background: var(--bv-btn-bg);
    color: var(--bv-btn-text);
    box-shadow: none;
    writing-mode: initial;
}
.bv-management-drawer--inline .bv-management-drawer__trigger span { display: inline; }
.bv-management-drawer__content .bv-archive-filter-row { flex-direction: column; align-items: stretch; }
.bv-management-drawer__content .bv-archive-filter-field,
.bv-management-drawer__content .bv-archive-filter-submit { min-width: 0; width: 100%; align-self: stretch; }
.bv-management-drawer__content .bv-archive-filter-field select,
.bv-management-drawer__content .bv-archive-filter-field input { width: 100%; min-width: 0; box-sizing: border-box; }
.bv-management-drawer__content .bv-archive-filter-submit input[type="submit"],
.bv-management-drawer__content .bv-archive-filter-form button[type="submit"],
.bv-management-drawer__content .bv-archive-filter-reset {
    width: 100%;
    box-sizing: border-box;
    align-self: stretch;
}
