/* Shared spacing and responsive structure. Scoped to Vendors screens. */
.vnd-app {
    --vnd-border: #dce4ed;
    --vnd-surface-soft: #f5f7fb;
    --vnd-shadow: 0 2px 8px rgb(15 23 42 / 3%);
    font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --vnd-workspace-max-width: 2400px;
    width: min(var(--vnd-workspace-max-width), calc(100vw - 32px));
    max-width: none;
    margin: 16px calc(50% - min(800px, calc(50vw - 16px)));
    padding: 0;
    grid-template-columns: 224px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    transform: none;
}
.vnd-app [hidden] { display: none !important; }
.vnd-app .vnd-main, .vnd-app .vnd-content { align-content: start; gap: 20px; }
.vnd-app .vnd-sidebar { padding: 12px; max-height: calc(100dvh - 32px); overflow-y: auto; top: 16px; }
.vnd-app .vnd-frontend-menu { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; }
.vnd-app .vnd-frontend-menu .vnd-button { justify-content: flex-start; min-height: 40px; padding: 9px 12px; font-size: 13px; font-weight: 500; border-color: transparent; text-align: left; }
.vnd-app .vnd-frontend-menu .is-active { color: #1d4ed8; background: #eff6ff; border-color: #dbeafe; font-weight: 700; }
.vnd-app .vnd-frontend-menu:not(.vnd-tree) a:last-child { margin-top: 12px; border-top: 1px solid var(--vnd-border); border-radius: 0; }
.vnd-app .vnd-topbar { gap: 16px; padding: 16px 20px; min-height: 76px; }
.vnd-app .vnd-topbar-title { flex-wrap: wrap; gap: 8px; }
.vnd-app .vnd-topbar-title h1 { font: inherit; font-size: 22px; line-height: 1.3; letter-spacing: -.02em; margin: 0; color: var(--vnd-text); }
.vnd-app .vnd-topbar-meta { display: grid; gap: 3px; text-align: right; font-size: 12px; }
.vnd-app .vnd-topbar-meta-item { padding: 0; border: 0; background: none; min-height: 0; display: block; white-space: normal; }
.vnd-topbar-company { color: #334155; font-weight: 600; }
.vnd-app .vnd-card { min-height: 0; padding: 20px; margin: 0; }
.vnd-app .vnd-card + .vnd-card { margin-top: 16px; }
.vnd-app .vnd-content > .vnd-card + .vnd-card { margin-top: 0; }
.vnd-app h2, .vnd-app h3, .vnd-app h4 { color: #1f2937; line-height: 1.35; }
.vnd-app h2 { font-size: 19px; margin: 0 0 16px; }
.vnd-app h3 { font-size: 16px; margin: 20px 0 12px; }
.vnd-app h4 { font-size: 14px; margin: 16px 0 8px; }
.vnd-app :is(h2,h3,h4):first-child { margin-top: 0; }
.vnd-app p { margin: 0 0 12px; line-height: 1.55; }
.vnd-app p:last-child { margin-bottom: 0; }
.vnd-app .vnd-card form { margin: 0; }
.vnd-app form > :is(h2,h3,fieldset,details,.vnd-form-section,.vnd-permission-grid,.vnd-alert) { min-width: 0; }
.vnd-app .vnd-card form label { line-height: 1.5; }
.vnd-app label > :is(input:not([type=checkbox]):not([type=radio]),select,textarea,.vnd-searchable-select) { margin-top: 6px; }
.vnd-app .vnd-card form p { margin: 0 0 14px; }
.vnd-app .vnd-card .vnd-editor-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; align-items: start; }
.vnd-app .vnd-editor-form > p { margin: 0; }
.vnd-app .vnd-editor-form > :is(h2,h3,fieldset,details,div),
.vnd-app .vnd-editor-form > p:has(button,textarea,[name=coordinates],[name=name],strong) { grid-column: 1 / -1; }
.vnd-app .vnd-editor-form > p:has(button) { padding-top: 8px; border-top: 1px solid var(--vnd-border); }
.vnd-app .vnd-inline-permissions-form, .vnd-app .vnd-stacked-form { display: grid; gap: 16px; }
.vnd-app .vnd-permission-grid { padding: 12px; gap: 12px; margin: 12px 0; }
.vnd-app .vnd-permission-grid label { display: flex; align-items: flex-start; gap: 8px; }
.vnd-app :is(input[type=checkbox],input[type=radio]) { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 6px 0 0; accent-color: #2563eb; }
.vnd-app .vnd-card form :is(input,select,textarea) { font: inherit; }
.vnd-app :is(input,select,textarea):focus-visible, .vnd-app :is(a,button,summary):focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }
.vnd-app .button { display: inline-flex; justify-content: center; align-items: center; min-height: 38px; padding: 8px 12px; border: 1px solid var(--vnd-border); border-radius: 8px; color: #1d4ed8; background: #fff; text-decoration: none; font-size: 13px; line-height: 1.4; gap: 6px; white-space: normal; text-align: center; }
.vnd-app .button-primary { background: #2563eb; border-color: #2563eb; color: #fff; }
.vnd-app .vnd-card form.vnd-directory-filters,
.vnd-app .vnd-card form.vnd-module-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-bottom: 20px; }
.vnd-app :is(.vnd-directory-filters,.vnd-module-filter) label { min-width: 0; flex: 1 1 160px; }
.vnd-app .vnd-directory-filters .vnd-archive-filter { display: flex; flex-direction: row; align-items: center; flex: 0 1 auto; min-height: 38px; }
.vnd-app .vnd-directory-heading { margin-bottom: 20px; }
.vnd-app .vnd-directory-heading h2 { margin: 0; }
.vnd-app :is(.vnd-table-wrap,.vnd-directory-scroll) { max-width: 100%; min-width: 0; overflow: auto; border: 1px solid var(--vnd-border); border-radius: 8px; }
.vnd-app :is(.vnd-table-wrap,.vnd-directory-scroll) table { margin: 0; }
.vnd-app :is(.vnd-table-wrap,.vnd-directory-scroll) th { background: #f5f7fb; color: #475569; }
.vnd-app :is(.vnd-module-tabs,.nav-tab-wrapper) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 20px; padding: 0; }
.vnd-app .vnd-module-tabs .is-active { background: #2563eb; border-color: #2563eb; color: white; }
.vnd-app .vnd-company-module { max-width: none; }
.vnd-app .vnd-company-module fieldset { margin: 0 0 18px; }
.vnd-app .vnd-company-module form > p:has(button) { margin-top: 18px; }
.vnd-app .vnd-user-add { margin: 16px 0 0; padding: 12px; border: 1px solid var(--vnd-border); border-radius: 8px; }
.vnd-app .vnd-user-add > summary { cursor: pointer; min-height: 28px; }
.vnd-app .vnd-user-add[open] > summary { margin-bottom: 12px; }
.vnd-app .vnd-store-partner { max-width: none; padding: 14px; border: 1px solid var(--vnd-border); border-radius: 8px; }
.vnd-app .vnd-store-partner-grid { gap: 14px; }
.vnd-mobile-menu { display: none; }
.vnd-skip-link { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.vnd-skip-link:focus { position: fixed; top: 8px; left: 8px; width: auto; height: auto; padding: 12px; clip-path: none; z-index: 100000; background: #fff; color: #1d4ed8; }
/* System-admin editors and lists follow the same rhythm. */
body.wp-admin .wrap .vnd-admin-content { min-width: 0; align-content: start; }
body.wp-admin .wrap :is(.vnd-admin-header,.vnd-people-heading) { flex-wrap: wrap; }
body.wp-admin .wrap :is(.vnd-admin-header-actions,.vnd-people-actions) { display: flex; flex-wrap: wrap; gap: 8px; }
body.wp-admin .wrap .vnd-card { min-width: 0; }
body.wp-admin .wrap :is(h2,h3) { line-height: 1.4; margin-bottom: 14px; }
body.wp-admin .wrap .vnd-card > :is(h2,h3):first-child { margin-top: 0; }
body.wp-admin .wrap :is(.vnd-table-wrap,.vnd-admin-content,.vnd-admin-filter-grid) { max-width: 100%; min-width: 0; }
body.wp-admin .wrap .vnd-user-editor form + a { margin-top: 8px; }
body.wp-admin .wrap .vnd-people-heading :is(h2,h3) { margin: 0; }
@media (max-width: 1000px) {
    .vnd-app { grid-template-columns: minmax(0,1fr); gap: 12px; }
    .vnd-app .vnd-sidebar { display: none; }
    .vnd-app .vnd-mobile-menu { display: block; border: 1px solid var(--vnd-border); border-radius: 10px; background: #fff; padding: 0 12px; }
    .vnd-mobile-menu > summary { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 0; cursor: pointer; font-weight: 700; list-style: none; }
    .vnd-mobile-menu > summary::-webkit-details-marker { display: none; }
    .vnd-mobile-menu-state { margin-left: auto; font-size: 12px; font-weight: 400; color: #64748b; }
    .vnd-app .vnd-mobile-menu .vnd-frontend-menu { padding: 8px 0 12px; border-top: 1px solid var(--vnd-border); max-height: 65dvh; overflow: auto; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .vnd-app .vnd-mobile-menu .vnd-button { min-height: 44px; }
    .vnd-app .vnd-mobile-menu a:last-child { margin-top: 0; }
    .vnd-app, .vnd-app--route-dashboard.vnd-app--company-admin { padding: 0; }
    .vnd-app .vnd-topbar-meta { max-width: 45%; }
}
@media (max-width: 600px) {
    .vnd-app { width: calc(100vw - 20px); margin: 10px calc(50% - 50vw + 10px); }
    .vnd-app .vnd-card, .vnd-app .vnd-company-module .vnd-card { padding: 16px; }
    .vnd-app .vnd-main, .vnd-app .vnd-content { gap: 14px; }
    .vnd-app .vnd-topbar { flex-direction: column; align-items: stretch; gap: 10px; padding: 16px; }
    .vnd-app .vnd-topbar-title { font-size: 20px; }
    .vnd-app .vnd-topbar-title h1 { font-size: 20px; }
    .vnd-app .vnd-topbar-meta { max-width: 100%; width: 100%; text-align: left; justify-content: start; }
    .vnd-app .vnd-card .vnd-editor-form, .vnd-app .vnd-frontend-address-grid, .vnd-app .vnd-admin-management-grid, .vnd-app .vnd-frontend-import-export-grid { grid-template-columns: minmax(0,1fr); }
    .vnd-app .vnd-directory-filters label { flex-basis: 100%; }
    .vnd-app :is(.vnd-button,.button,button,input[type=submit],summary) { min-height: 44px; }
    .vnd-app .vnd-company-directory .vnd-directory-table .vnd-button { min-height: 44px; padding: 8px 12px; }
    .vnd-app :is(input,select,textarea,.vnd-searchable-select__input) { font-size: 16px; }
    .vnd-app .vnd-company-module :is(input,select) { min-height: 44px; }
    .vnd-app .vnd-form-section { padding: 12px; }
    .vnd-app .vnd-module-tabs > a { min-height: 44px; }
    body.wp-admin .wrap.vnd-admin-wrap { width: 100%; padding: 8px 0; margin: 0; }
    body.wp-admin .wrap .vnd-admin-header { padding: 14px; }
    body.wp-admin .wrap .vnd-admin-content { gap: 14px; }
    body.wp-admin .wrap .vnd-crm-table .button { min-height: 44px; padding: 8px; }
    body.wp-admin .wrap .vnd-people-heading > span { flex-shrink: 1; }
}
@media (max-width: 380px) {
    .vnd-app .vnd-mobile-menu .vnd-frontend-menu { grid-template-columns: minmax(0,1fr); }
}
.vnd-app .widefat { border-collapse: collapse; width: 100%; font-size: 13px; }
.vnd-app .widefat th, .vnd-app .widefat td { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--vnd-border); }
.vnd-app .widefat th { background: #f5f7fb; }
.vnd-app .widefat.striped tbody tr:nth-child(even) { background: #f8fafc; }
.vnd-app .vnd-card form.vnd-dashboard-filter-form { display: flex; flex-wrap: wrap; gap: 10px; }
.vnd-app .vnd-content .wrap { width: 100%; max-width: none; margin: 0; padding: 0; background: transparent; }
.vnd-app .vnd-rep-editor > form + form { margin-top: 20px; }
.vnd-app .vnd-rep-editor form.vnd-card { padding: 20px; }
.vnd-app .vnd-order-detail > form { margin: 20px 0; }
.vnd-app .vnd-order-detail > :is(h2,h3) { margin-top: 24px; }
@media (max-width: 600px) {
    .vnd-app { --vnd-control-height: 44px; }
    .vnd-app .vnd-card form :is(input,select,textarea) { font-size: 16px; }
    .vnd-app .vnd-directory-heading > .vnd-button { width: 100%; }
}

.vnd-mobile-menu-state::after { content: "Megnyitás ▾"; }
.vnd-mobile-menu[open] .vnd-mobile-menu-state::after { content: "Bezárás ▴"; }

/* Destructive actions always lead to a separate dependency preview. */
.vnd-admin-wrap .vnd-admin-table .vnd-delete-link,
.vnd-admin-wrap .vnd-delete-link { flex-shrink: 0; color: #a32121; border-color: #d9a3a3; background: #fff; white-space: nowrap; }
.vnd-admin-wrap .vnd-admin-table .vnd-delete-link:hover,
.vnd-admin-wrap .vnd-admin-table .vnd-delete-link:focus-visible,
.vnd-admin-wrap .vnd-delete-link:hover, .vnd-admin-wrap .vnd-delete-link:focus-visible { color: #8d2d23; border-color: #a32121; background: #eac3b8; }
.vnd-admin-wrap .row-actions .vnd-delete-link { margin-inline-start: 6px; }

/* Keep wide lists inside the page; every destructive row action sits at the end. */
body.wp-admin .vnd-admin-wrap .vnd-admin-content { grid-template-columns: minmax(0, 1fr); }
.vnd-admin-wrap .vnd-table-wrap { min-width: 0; max-width: 100%; overflow-x: scroll; scrollbar-width: auto; scrollbar-color: #94a3b8 #eef2f6; overscroll-behavior-x: contain; }
.vnd-admin-wrap .vnd-table-wrap::-webkit-scrollbar { height: 12px; }
.vnd-admin-wrap .vnd-table-wrap::-webkit-scrollbar-track { background: #eef2f6; border-radius: 6px; }
.vnd-admin-wrap .vnd-table-wrap::-webkit-scrollbar-thumb { background: #94a3b8; border: 2px solid #eef2f6; border-radius: 6px; }
.vnd-admin-wrap .vnd-admin-table .vnd-row-actions { width: 1%; white-space: nowrap; text-align: right; }
.vnd-admin-wrap .vnd-row-actions :is(.vnd-action-buttons,.edit) { display: inline-flex; gap: 8px; align-items: center; justify-content: flex-end; flex-wrap: nowrap; }
.vnd-admin-wrap .vnd-deletable-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 16px; min-width: 760px; padding: 10px; border-bottom: 1px solid var(--vnd-border); }
.vnd-admin-wrap .vnd-deletable-row > details { min-width: 0; margin: 0; }
.vnd-admin-wrap .vnd-deletable-row > .vnd-delete-link { justify-self: end; }
