/* Shared control geometry and states; loaded after component styles. */
.admin-frame {
    color: var(--admin-text);
}

.admin-frame .admin-frame__main :is(.btn, .personnel-primary, .personnel-secondary,
    .catalog-workspace__add, .vin-workspace__add, .vin-detail__actions > a,
    .vin-detail__actions > button, .vin-detail__add > button, .print-actions > a,
    .print-actions > button, .sales-catalog-link, .sale-return-link,
    .template-editor__actions > button, .template-editor__add,
    .part-quick-view__actions > a, .sale-return-actions > button) {
    min-height: var(--admin-button-height);
    border-radius: var(--admin-control-radius);
    font-size: .875rem;
    font-weight: 700;
    box-shadow: none;
    text-decoration: none;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.admin-frame .admin-frame__main :is(.btn-primary, .personnel-primary,
    .catalog-workspace__add, .vin-workspace__add, .vin-detail__primary,
    .print-primary, .compatibility-primary, .template-editor__save,
    .part-quick-view__primary, .sale-return-link) {
    border-color: var(--admin-blue);
    background: var(--admin-blue);
    color: #fff;
}

.admin-frame .admin-frame__main :is(.btn-primary, .personnel-primary,
    .catalog-workspace__add, .vin-workspace__add, .vin-detail__primary,
    .print-primary, .compatibility-primary, .template-editor__save,
    .part-quick-view__primary, .sale-return-link):hover {
    border-color: var(--admin-blue-hover);
    background: var(--admin-blue-hover);
    color: #fff;
}

.admin-frame .admin-frame__main :is(.btn-light, .btn-outline-secondary, .personnel-secondary) {
    border-color: var(--admin-border);
    background: var(--admin-surface);
    color: var(--admin-text);
}

.admin-frame .admin-frame__main :is(.btn-light, .btn-outline-secondary, .personnel-secondary):hover {
    background: var(--admin-surface-soft);
}

.admin-frame .admin-frame__main .dropdown .dd-tougle {
    min-height: 42px;
    height: auto;
    padding: .5rem 2.25rem .5rem .75rem;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-control-radius);
    background: var(--admin-surface);
    color: var(--admin-text);
    font-size: .875rem;
    font-weight: 400;
    box-shadow: none;
}

.admin-frame .admin-frame__main .dropdown .dd-tougle:hover {
    background: var(--admin-surface-soft);
}

.admin-frame .admin-frame__main .dropdown .dd-tougle:focus,
.admin-frame .admin-frame__main .dropdown .dd-tougle:active {
    box-shadow: none;
    transform: none;
}

.admin-frame .admin-frame__main :is(.catalog-toolbar__submit, .vin-search > button,
    .sales-search > button, .sales-custom-dates button) {
    min-height: 38px;
    border-radius: var(--admin-control-radius);
    background: var(--admin-blue);
    color: #fff;
    font-size: .875rem;
    font-weight: 700;
    box-shadow: none;
}

.admin-frame .admin-frame__main :is(.catalog-toolbar__submit, .vin-search > button,
    .sales-search > button, .sales-custom-dates button):hover {
    background: var(--admin-blue-hover);
}

.admin-frame .admin-frame__main .btn-warning { color: var(--admin-text); }

.admin-frame :is(button, .btn, [role="button"],
    .personnel-primary, .personnel-secondary, .catalog-workspace__add,
    .vin-workspace__add, .vin-detail__actions > a, .print-actions > a,
    .sales-catalog-link, .sale-return-link, .part-quick-view__actions > a):not([class*="backdrop"]) {
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}

@media (hover: hover) {
    .admin-frame :is(button, .btn, [role="button"],
        .personnel-primary, .personnel-secondary, .catalog-workspace__add,
        .vin-workspace__add, .vin-detail__actions > a, .print-actions > a,
        .sales-catalog-link, .sale-return-link, .part-quick-view__actions > a):hover:not(:disabled):not(.disabled):not([aria-disabled="true"]):not([class*="backdrop"]):not([data-part-close]):not([data-sale-close]):not([aria-label^="Закрити"]):not(.btn-close) {
        box-shadow: 0 4px 12px rgba(15, 35, 58, .14) !important;
    }
}

.admin-frame .admin-frame__main :is(.btn-primary, .btn-success, .btn-danger, .btn-secondary):hover {
    color: #fff;
}

.admin-frame .admin-frame__main .btn-secondary {
    background-color: var(--admin-muted) !important;
    border-color: var(--admin-muted) !important;
    color: #fff;
}

.admin-frame .admin-frame__main button.icon-button:focus-visible {
    outline: 2px solid var(--admin-blue) !important;
    outline-offset: 3px;
}

.admin-frame .dropdown .dropdown-menu {
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-control-radius);
    background: var(--admin-surface);
    box-shadow: var(--admin-menu-shadow);
}

.admin-frame .dropdown .dropdown-item {
    border-radius: 6px;
    color: var(--admin-text);
}

.admin-frame .dropdown .dropdown-item:hover {
    background: var(--admin-surface-soft);
}

.admin-frame :is(button, a, input, textarea, select):focus-visible {
    outline: 2px solid var(--admin-blue);
    outline-offset: 3px;
}

.admin-frame .catalog-toolbar .catalog-toolbar__field input:focus-visible,
.admin-frame .vin-search .vin-search__query input:focus-visible,
.admin-frame .vin-parts__filters label input:focus-visible {
    outline: none;
}

.admin-frame :is(button, input, textarea, select):disabled {
    cursor: not-allowed;
    opacity: .6;
}

@media (max-height: 800px) and (min-width: 641px) and (pointer: fine) {
    .admin-frame .admin-frame__main .part-quick-view__actions > a {
        min-height: 38px;
        padding: .375rem .5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .admin-frame .admin-frame__main :is(button, a) { transition: none; }
}
