/* Metronic 8 Demo 1 / Dark Sidebar. O menu e drawer mantêm a autoridade de admin-shell.js.
   Contratos de página, foco, notificações e atendimento preservados do shell administrativo. */
.admin-shell { min-height: 100vh; min-height: 100dvh; --sidebar-width: 265px; --topbar-height: 70px; --shell-page-padding: 30px; --shell-page-width: 1600px; }
.admin-main { display: flex; flex-direction: column; min-width: 0; min-height: 100vh; margin-left: 0; background: var(--bs-app-bg-color, #f9f9f9); }
.admin-shell .app-page { min-width: 0; min-height: 100dvh; }
.admin-shell .app-wrapper { min-width: 0; min-height: 100dvh; margin-top: 0; margin-left: var(--sidebar-width); padding: 0; transition: none; }
.admin-main > .admin-page { order: 1; flex: 1 0 auto; min-width: 0; width: 100%; max-width: var(--shell-page-width); margin-inline: auto; padding: var(--shell-page-padding) max(var(--shell-page-padding), env(safe-area-inset-right)) var(--shell-page-padding) max(var(--shell-page-padding), env(safe-area-inset-left)); }
/* O Dashboard já tem espaçamento interno; a borda da página pertence ao shell. */
.admin-main > .admin-page > .dash { padding: 0; min-height: 0; background: transparent; }
.admin-footer { order: 2; margin-top: auto; border-top: 1px solid var(--mkp-border); background: var(--mkp-surface); color: var(--mkp-muted-foreground); }
.admin-footer-content { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; min-height: 56px; max-width: var(--shell-page-width); margin-inline: auto; padding: 12px max(var(--shell-page-padding), env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(var(--shell-page-padding), env(safe-area-inset-left)); font-size: 12px; line-height: 20px; }
.admin-footer-details { display: flex; align-items: center; flex: 1; flex-wrap: wrap; gap: 4px 24px; min-width: 0; }
.admin-footer-company { min-width: 0; overflow-wrap: anywhere; }
.admin-footer-copyright { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.admin-footer-version { margin-left: 8px; }
.admin-feedback-dock { display: flex; flex: 0 0 auto; align-items: center; gap: 12px; }
.admin-feedback { flex: 0 0 auto; }
.admin-feedback-dock #feedback-launch { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; }
.admin-feedback-dock #feedback-launch[hidden] { display: none; }
.admin-feedback-dock #feedback-launch .icon { width: 18px; height: 18px; }
/* Botão original do YouTrack em uma posição reservada entre as ações do topo.
   A janela e seus controles continuam inteiramente sob gestão do fornecedor. */
.admin-topbar .admin-feedback-dock { width: 32px; height: 32px; }
.admin-topbar .admin-feedback .feedback-popup-button { display: inline-flex; align-items: center; justify-content: center; width: 32px; min-width: 32px; height: 32px; min-height: 32px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--mkp-foreground); box-shadow: none; cursor: pointer; }
.admin-topbar .admin-feedback .feedback-popup-button:hover { background: var(--mkp-muted); }
.admin-topbar .feedback-popup-button-icon { display: inline-flex; align-items: center; justify-content: center; }
.admin-topbar .feedback-popup-button .icon { width: 18px; height: 18px; }
.admin-feedback .feedback-popup-button:focus-visible { outline: 2px solid var(--mkp-foreground); outline-offset: 3px; }
/* O portal do fornecedor sai do header. Limitar a janela à viewport também
   quando o serviço devolve uma mensagem de erro, sem esconder seus controles. */
body:has(.admin-shell) [data-test~="form-popup"] { position: fixed !important; position-anchor: none !important; position-area: none !important; inset: 82px max(12px, env(safe-area-inset-right)) auto auto !important; transform: none !important; width: min(480px, calc(100vw - 24px)); min-width: 0; max-width: calc(100vw - 24px); max-height: calc(100dvh - 98px) !important; overflow: auto; }
body:has(.admin-shell) [data-test="ring-error-message-title"] { white-space: normal; }

/* A rolagem pertence ao documento; grids e sidebar conservam sua rolagem local. */
html { scroll-padding-top: 86px; }
.admin-main { min-height: 100dvh; }
.admin-page { scroll-margin-top: 86px; }
.admin-page:focus { outline: none; }
.admin-page :where(a, button, input, select, textarea, [tabindex]) { scroll-margin-block: 86px 24px; }
.admin-main :where(a, button, [tabindex]):focus-visible { outline: 2px solid var(--mkp-foreground); outline-offset: 3px; }
.admin-skip-link { position: fixed; z-index: 100001; top: 8px; left: 12px; padding: 8px 12px; transform: translateY(-160%); border: 1px solid var(--mkp-border); border-radius: var(--mkp-radius); background: var(--mkp-surface); color: var(--mkp-link); box-shadow: var(--mkp-shadow); }
.admin-skip-link:focus { transform: none; outline: 2px solid var(--mkp-foreground); outline-offset: 2px; }

/* Padrão opt-in: section pageHeader no layout, sem duplicar títulos das telas atuais. */
.admin-page-header { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; margin-bottom: 24px; }
.admin-page-heading { flex: 1 1 240px; min-width: 0; }
.admin-page-title { margin: 0; color: var(--mkp-foreground); font-size: 24px; font-weight: 600; line-height: 32px; letter-spacing: -.025em; overflow-wrap: anywhere; }
.admin-page-description { max-width: 72ch; margin: 4px 0 0; color: var(--mkp-muted-foreground); font-size: 14px; line-height: 22px; overflow-wrap: anywhere; }
.admin-page-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; max-width: 100%; }
.admin-page-actions > .btn { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.admin-page-panel { min-width: 0; padding: 24px; border: 1px solid var(--mkp-border); border-radius: var(--mkp-radius-lg); background: var(--mkp-surface); box-shadow: var(--mkp-shadow); }
.admin-page-form { width: 100%; max-width: var(--mkp-form-width); }
.admin-message { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 16px; padding: 12px 48px 12px 16px; border: 1px solid var(--mkp-border); border-radius: var(--mkp-radius); background: var(--mkp-surface); color: var(--mkp-foreground); font-size: 14px; line-height: 22px; }
.admin-message > .fa { flex: 0 0 auto; margin-top: 3px; }
.admin-message.alert-success > .fa { color: #15803d; }
.admin-message.alert-danger > .fa { color: var(--mkp-danger); }
.admin-message-content { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.admin-message-content a:not(.btn) { color: var(--mkp-link); text-decoration: underline; text-underline-offset: 2px; }
.admin-message-content a:not(.btn):hover { color: var(--mkp-link-hover); }
.admin-message-content > :last-child { margin-bottom: 0; }
.admin-message .btn-close { top: 4px; right: 4px; padding: 12px; }
.admin-search { max-width: 480px; }
.admin-search > .btn { flex: 0 0 36px; }

/* NToastNotify usa Toastr. Mensagens acima do conteúdo e abaixo do cabeçalho. */
body:has(.admin-shell) #toast-container { position: fixed; z-index: 100010; top: max(86px, env(safe-area-inset-top)); right: max(24px, env(safe-area-inset-right)); bottom: auto; left: max(24px, env(safe-area-inset-left)); width: auto; max-width: 360px; margin-left: auto; pointer-events: none; }
/* Pilhas longas continuam alcançáveis, inclusive com zoom e viewport baixa.
   O pequeno recuo preserva o contorno de foco dos botões dentro da rolagem. */
body:has(.admin-shell) #toast-container { max-height: calc(100vh - 110px); max-height: calc(100dvh - 110px - env(safe-area-inset-bottom)); padding: 4px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; pointer-events: auto; }
body:has(.admin-shell) #toast-container > .toast { position: relative; width: 100%; max-width: none; margin: 0 0 8px; padding: 14px 44px 14px 16px; border: 1px solid var(--mkp-border); border-radius: var(--mkp-radius); background-color: var(--mkp-surface); background-image: none !important; color: var(--mkp-foreground); box-shadow: 0 4px 16px rgb(0 0 0 / 10%); opacity: 1; font-family: var(--mkp-font); font-size: 14px; line-height: 20px; pointer-events: auto; }
body:has(.admin-shell) #toast-container > .toast-error { border-left: 3px solid var(--mkp-danger); }
body:has(.admin-shell) #toast-container > .toast-warning { border-left: 3px solid #a16207; }
body:has(.admin-shell) #toast-container > .toast-success { border-left: 3px solid #15803d; }
body:has(.admin-shell) #toast-container .toast-title { margin-bottom: 4px; font-weight: 600; overflow-wrap: anywhere; }
body:has(.admin-shell) #toast-container .toast-message { overflow-wrap: anywhere; }
body:has(.admin-shell) #toast-container a { color: var(--mkp-link); text-decoration: underline; }
body:has(.admin-shell) #toast-container .toast-close-button { position: absolute; top: 6px; right: 6px; float: none; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; color: var(--mkp-muted-foreground); text-shadow: none; opacity: 1; }
body:has(.admin-shell) #toast-container .toast-close-button:focus-visible { outline: 2px solid var(--mkp-foreground); outline-offset: 2px; }
body:has(.admin-shell) #toast-container .toast-progress { background: var(--mkp-muted-foreground); opacity: .3; }
.admin-shell .admin-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 1040; display: flex; flex-direction: column; width: var(--sidebar-width); background: #0d0e12; border-right: 0; color: #b5b7c8; --mkp-foreground: #f5f5f7; --mkp-muted-foreground: #9a9cae; --mkp-icon: #9293a9; --mkp-muted: #1c1c21; --mkp-border: #252630; --mkp-ring-color: #b5b7c8; }
.admin-sidebar .icon, .admin-topbar .icon { display: block; flex: 0 0 auto; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-brand { display: flex; align-items: center; flex: 0 0 auto; gap: 10px; min-height: 70px; padding: 16px 24px; border-bottom: 1px dashed #252630; }
.sidebar-brand > img { flex: 0 0 32px; width: 32px; height: 32px; padding: 3px; border: 1px solid #f1f1f4; border-radius: 6px; background: #fff; object-fit: contain; }
.sidebar-brand-copy { display: flex; flex: 1; flex-direction: column; min-width: 0; gap: 1px; }
.sidebar-company { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; font-weight: 600; line-height: 22px; color: #f5f5f7; }
.sidebar-brand-caption { color: var(--mkp-muted-foreground); font-size: 12px; line-height: 16px; }
.sidebar-navigation { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #30313c transparent; padding: 20px 15px 16px; }
.sidebar-menu, .sidebar-submenu { margin: 0; padding: 0; list-style: none; }
.sidebar-menu > li { margin: 0; }
.sidebar-group:not(:has(.sidebar-link)) { display: none; }
.sidebar-section-label { display: flex; align-items: center; min-height: 28px; margin: 14px 0 6px !important; padding: 0 12px; color: var(--mkp-muted-foreground); font-size: 12px; font-weight: 500; line-height: 16px; }
.sidebar-section-label[hidden] { display: none; }
.admin-sidebar .sidebar-link, .admin-sidebar .sidebar-group-toggle { display: flex; align-items: center; gap: 8px; width: 100%; min-width: 0; min-height: 40px; margin: 0; padding: 9px 12px; border: 0; border-radius: 6px; background: transparent; color: #b5b7c8; font-family: inherit; font-size: 14px; font-weight: 400; line-height: 20px; text-decoration: none; text-align: left; cursor: pointer; }
.admin-sidebar .menu-icon { display: flex; flex: 0 0 20px; align-items: center; justify-content: center; width: 20px; margin: 0; color: var(--mkp-icon); }
.admin-sidebar .menu-title { color: inherit !important; }
.admin-sidebar .menu-link .menu-icon .icon { color: inherit; }
.admin-shell .admin-sidebar .menu .menu-item > .menu-link { color: #b5b7c8; }
.admin-shell .admin-sidebar .menu .menu-item > .menu-link:hover,
.admin-shell .admin-sidebar .menu .menu-item > .menu-link:focus-visible,
.admin-shell .admin-sidebar .menu .menu-item > .menu-link[aria-current="page"] { color: #f5f5f7; }
.admin-shell .admin-sidebar .menu .menu-item > .menu-link > .menu-icon { color: #9293a9; }
.admin-shell .admin-sidebar .menu .menu-item > .menu-link:hover > .menu-icon,
.admin-shell .admin-sidebar .menu .menu-item > .menu-link:focus-visible > .menu-icon,
.admin-shell .admin-sidebar .menu .menu-item > .menu-link[aria-current="page"] > .menu-icon,
.admin-shell .admin-sidebar .menu .menu-item > .menu-link[aria-expanded="true"] > .menu-icon { color: #f5f5f7; }
.admin-shell .admin-sidebar .menu .menu-item > .menu-link > .menu-icon > .icon { color: inherit; }
.admin-shell .admin-sidebar .menu .menu-item > .menu-link > .menu-title { font-size: inherit; font-weight: inherit; line-height: inherit; }
.sidebar-label { display: block; min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-sidebar .sidebar-group-toggle { color: #b5b7c8; font-size: 14px; font-weight: 500; }
.sidebar-group:has([aria-current="page"]) > .sidebar-group-toggle { background: var(--mkp-muted); }
.sidebar-group-toggle .sidebar-chevron { width: 14px; height: 14px; margin-left: auto; }
.sidebar-group-toggle[aria-expanded="true"] .sidebar-chevron { transform: rotate(90deg); }
.admin-sidebar .sidebar-link:hover, .admin-sidebar .sidebar-group-toggle:hover { background: var(--mkp-muted); color: var(--mkp-foreground); }
.admin-sidebar .sidebar-link:focus-visible, .sidebar-group-toggle:focus-visible, .sidebar-user:focus-visible, .shell-icon-button:focus-visible, .stock-unit-switcher:focus-visible { outline: 2px solid var(--mkp-ring-color); outline-offset: 2px; }
.admin-sidebar .sidebar-link[aria-current="page"], .admin-sidebar .sidebar-link[aria-current="page"]:hover { background: #1c1c21; color: #fff; font-weight: 600; box-shadow: inset 2px 0 0 var(--mkp-primary); }
.admin-sidebar .sidebar-link[aria-current="page"] > .menu-icon { color: inherit; }
.sidebar-submenu { display: block; margin: 2px 0 8px; padding-left: 20px; border-left: 0; }
.sidebar-submenu[hidden] { display: none !important; }
.sidebar-submenu > li { margin: 0; }
.admin-sidebar .sidebar-submenu .sidebar-link { min-height: 36px; padding-top: 8px; padding-bottom: 8px; font-size: 13px; }
/* Long destinations stay readable without a tooltip or a smaller type size. */
.sidebar-submenu .sidebar-label { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
/* Preserve complete accessible names; Bootstrap exposes clipped labels on hover/focus. */
.sidebar-label-tooltip { --bs-tooltip-max-width: 280px; --bs-tooltip-bg: var(--mkp-foreground); --bs-tooltip-color: var(--mkp-surface); --bs-tooltip-opacity: 1; --bs-tooltip-font-size: 13px; z-index: 1100; }
.sidebar-label-tooltip .tooltip-inner { padding: 6px 10px; text-align: left; line-height: 20px; }
.sidebar-submenu > .sidebar-section-label { min-height: 24px; margin-top: 12px !important; }
.sidebar-submenu > .sidebar-section-label:first-child { margin-top: 4px !important; }
.sidebar-footer { flex: 0 0 auto; padding: 16px 15px; border-top: 1px dashed var(--mkp-border); }
.sidebar-user { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px; border: 0; border-radius: 8px; background: transparent; color: var(--mkp-foreground); text-align: left; }
.sidebar-user:hover, .sidebar-user[aria-expanded="true"] { background: var(--mkp-muted); }
.sidebar-avatar { display: block; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 8px; object-fit: cover; }
.sidebar-user-copy { display: flex; flex: 1; flex-direction: column; min-width: 0; gap: 2px; }
.sidebar-user-name, .sidebar-user-email { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 16px; }
.sidebar-user-name { font-size: 14px; font-weight: 500; }
.sidebar-user-email { color: var(--mkp-muted-foreground); font-size: 12px; }
.sidebar-user > .icon { width: 14px; height: 14px; color: var(--mkp-muted-foreground); }
.sidebar-user-dropdown { width: 240px; padding: 8px; --mkp-foreground: #071437; --mkp-muted-foreground: #78829d; --mkp-muted: #f9f9f9; --mkp-border: #f1f1f4; color: #071437; }
.sidebar-dropdown-identity { display: flex; flex-direction: column; gap: 3px; padding: 8px; overflow: hidden; }
.sidebar-dropdown-identity strong { font-size: 13px; font-weight: 500; }
.sidebar-dropdown-identity span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--mkp-muted-foreground); font-size: 12px; }
.sidebar-user-dropdown .dropdown-item { display: flex; align-items: center; gap: 8px; border-radius: 4px; font-size: 13px; }
.admin-topbar { position: sticky; inset: 0 auto auto; width: 100%; z-index: 1030; order: 0; display: flex; flex: 0 0 70px; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; height: 70px; padding: 0; border-bottom: 1px solid var(--mkp-border); background: var(--mkp-surface); }
.admin-header-container { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-width: 0; height: 100%; max-width: var(--shell-page-width); margin-inline: auto; padding: 0 var(--shell-page-padding); }
.topbar-location, .topbar-actions { display: flex; align-items: center; min-width: 0; gap: 8px; }
.topbar-location { flex: 1; }
.topbar-actions { flex: 0 0 auto; }
.shell-icon-button { display: inline-flex; flex: 0 0 32px; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--mkp-foreground); cursor: pointer; }
.shell-icon-button:hover, .notifications-toggle[aria-expanded="true"] { background: var(--mkp-muted); }
.admin-topbar .shell-icon-button .icon { width: 18px; height: 18px; }
.topbar-separator { flex: 0 0 1px; width: 1px; height: 16px; margin: 0 4px; background: var(--mkp-border); }
.topbar-breadcrumb { color: var(--mkp-muted-foreground); font-size: 13px; white-space: nowrap; }
.admin-topbar .topbar-breadcrumb-chevron { width: 12px; height: 12px; color: var(--mkp-muted-foreground); }
.topbar-breadcrumb[hidden], .topbar-breadcrumb-chevron[hidden] { display: none !important; }
.topbar-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 18px; font-weight: 600; line-height: 26px; }
.topbar-title > * { margin: 0; font-size: inherit; font-weight: inherit; line-height: inherit; }
.stock-unit-switcher, .stock-unit-current { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; padding: 0 10px; color: var(--mkp-muted-foreground); font-family: inherit; font-size: 13px; line-height: 20px; }
.stock-unit-switcher { border: 1px solid var(--mkp-border); border-radius: 6px; background: var(--mkp-surface); color: var(--mkp-foreground); }
.stock-unit-switcher:hover, .stock-unit-switcher[aria-expanded="true"] { background: var(--mkp-muted); }
.stock-unit-name { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stock-unit-switcher > .icon:last-child { width: 12px; height: 12px; color: var(--mkp-muted-foreground); }
.stock-unit-menu { max-width: min(340px, calc(100vw - 24px)); max-height: min(360px, calc(100dvh - 72px)); overflow-y: auto; overscroll-behavior: contain; }
.stock-unit-menu .dropdown-item { white-space: normal; font-size: 13px; }
.stock-unit-menu .dropdown-item[aria-current="true"] { background: var(--mkp-muted); color: var(--mkp-foreground); font-weight: 600; }
.notifications-toggle { position: relative; }
.notifications-count { position: absolute; top: 0; right: 0; min-width: 14px; height: 14px; padding: 0 3px; border: 2px solid var(--mkp-surface); border-radius: 9px; background: var(--mkp-foreground); color: var(--mkp-surface); font-size: 9px; font-weight: 600; line-height: 10px; }
.notifications-menu { width: min(360px, calc(100vw - 24px)); padding: 0; overflow: hidden; }
.notifications-heading { padding: 12px 16px; border-bottom: 1px solid var(--mkp-border); color: var(--mkp-foreground); font-size: 14px; font-weight: 600; }
.notifications-list { max-height: min(380px, calc(100dvh - 128px)); overflow-y: auto; overscroll-behavior: contain; }
#notifications-items { margin: 0; padding: 0; }
#notifications-items .list-group-item { padding: 10px 16px; border-width: 0 0 1px; border-radius: 0; font-size: 13px; }
#notifications-items:not(:empty) + .notifications-empty { display: none; }
.notifications-empty { display: flex; align-items: center; flex-direction: column; gap: 5px; padding: 28px 16px; text-align: center; color: var(--mkp-muted-foreground); font-size: 13px; }
.notifications-empty strong { color: var(--mkp-foreground); font-size: 14px; font-weight: 500; }
.notifications-empty-icon { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin-bottom: 5px; border-radius: 50%; background: var(--mkp-muted); }
.sidebar-close, .sidebar-backdrop { display: none; }
@media (min-width: 992px) {
  .admin-shell.sidebar-collapsed { --sidebar-width: 75px; }
  .sidebar-collapsed .sidebar-brand { justify-content: center; padding-left: 16px; padding-right: 16px; }
  .sidebar-collapsed .sidebar-brand-copy, .sidebar-collapsed .sidebar-user-copy, .sidebar-collapsed .sidebar-user > .icon, .sidebar-collapsed .sidebar-menu > .sidebar-section-label, .sidebar-collapsed .sidebar-menu > li > :is(.sidebar-link, .sidebar-group-toggle) > :is(.sidebar-label, .sidebar-chevron) { display: none; }
  .sidebar-collapsed .sidebar-navigation { padding-left: 8px; padding-right: 8px; }
  .sidebar-collapsed .sidebar-menu > li > :is(.sidebar-link, .sidebar-group-toggle) { justify-content: center; width: 40px; min-height: 36px; margin: 0 auto; padding: 8px; }
  .sidebar-collapsed .sidebar-menu > li { margin-bottom: 4px; }
  .sidebar-collapsed .sidebar-submenu { position: fixed; z-index: 1050; top: var(--flyout-top, 80px); left: 73px; width: 288px; max-height: calc(100vh - 24px); margin: 0; padding: 6px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--mkp-border); border-radius: 8px; background: #0d0e12; box-shadow: 0 6px 20px rgb(0 0 0 / 10%); }
  .sidebar-collapsed .sidebar-submenu::before { display: block; content: attr(aria-label); padding: 6px 8px 8px; color: var(--mkp-muted-foreground); font-size: 12px; font-weight: 500; }
  .sidebar-collapsed .sidebar-submenu .sidebar-label { display: block; }
  .sidebar-collapsed .sidebar-user { justify-content: center; padding: 8px 0; }
  .sidebar-collapsed .sidebar-user-dropdown { margin-left: 4px !important; }
}
@media (max-width: 991.98px) {
  .admin-shell { --shell-page-padding: 16px; }
  .admin-shell .app-wrapper { margin-left: 0; }
  .admin-main { margin-left: 0; }
  .admin-shell .admin-sidebar { z-index: 1090; width: 250px; visibility: hidden; transform: translateX(-100%); transition: transform .18s ease, visibility .18s; }
  .admin-sidebar.is-mobile-open { visibility: visible; transform: translateX(0); }
  .sidebar-close { display: inline-flex; flex-basis: 24px; width: 24px; height: 28px; margin-right: -8px; }
  .sidebar-backdrop:not([hidden]) { position: fixed; inset: 0; z-index: 1080; display: block; background: rgb(24 24 27 / 35%); }
  body.sidebar-mobile-open { overflow: hidden; }
  .admin-header-container { padding: 0 16px; }
  .topbar-breadcrumb, .topbar-breadcrumb-chevron { display: none !important; }
  .stock-unit-name { max-width: 140px; }
}
@media (max-width: 575.98px) {
  .admin-shell { --shell-page-padding: 12px; }
  /* O atendimento permanece no cabeçalho; o rodapé pode quebrar em duas linhas. */
  .admin-footer-content { gap: 12px; }
  .admin-footer-details { align-items: flex-start; flex-direction: column; }
  .admin-page-header { gap: 12px; margin-bottom: 20px; }
  .admin-page-title { font-size: 22px; line-height: 28px; }
  .admin-page-actions { width: 100%; }
  .admin-page-panel { padding: 16px; }
  body:has(.admin-shell) #toast-container { top: max(82px, env(safe-area-inset-top)); right: max(12px, env(safe-area-inset-right)); left: max(12px, env(safe-area-inset-left)); width: auto; max-width: none; max-height: calc(100dvh - 98px - env(safe-area-inset-bottom)); }
  .admin-header-container { gap: 8px; padding: 0 12px; }
  .topbar-location, .topbar-actions { gap: 4px; }
  .stock-unit-current { gap: 5px; padding: 0 4px; }
  .stock-unit-name { max-width: 88px; font-size: 12px; }
  .stock-unit-switcher { gap: 5px; padding: 0 6px; }
  .stock-unit-switcher > .icon:first-child, .stock-unit-current > .icon { display: none; }
  .topbar-title { font-size: 14px; line-height: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .admin-sidebar { transition: none; }
}

@media print {
  .admin-sidebar, .admin-topbar, .admin-footer, .sidebar-backdrop, .admin-skip-link, #toast-container { display: none !important; }
  .admin-main { display: block; margin-left: 0; min-height: 0; }
  .admin-main > .admin-page { padding: 0; }
}

/* Demo1 submenu uses bullets. Full route labels remain available to keyboard and screen readers. */
.admin-sidebar .sidebar-submenu .menu-icon { flex-basis: 12px; width: 12px; }
.admin-sidebar .sidebar-submenu .menu-icon .icon { display: none; }
.admin-sidebar .sidebar-submenu .menu-icon::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
@media (min-width: 992px) { .sidebar-collapsed .sidebar-menu > li > :is(.sidebar-link, .sidebar-group-toggle) > .menu-icon { margin: 0; } }
@media print { .admin-shell .app-wrapper { margin: 0; min-height: 0; } }
