/* Warehouse Connect — padrão visual compartilhado.
   Somente tela: etiquetas, DANFE, romaneios e impressão mantêm suas medidas.
   Escala: corpo 14 / tabelas e controles 13 / apoio 12 / título 22 px. */
@media screen {
  :root {
    --ui-font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    --ui-bg: #f8f9fb;
    --ui-surface: #fff;
    --ui-soft: #f0f2f5;
    --ui-line: #dce1e8;
    --ui-ink: #202a3b;
    --ui-muted: #5e6b7d;
    --ui-primary: #3347d9;
    --ui-primary-hover: #283ab9;
    --ui-primary-soft: #eef0ff;
    --ui-radius: 8px;
    --ui-shadow: 0 2px 8px rgb(24 39 75 / 4%);
    --ui-focus: 0 0 0 3px rgb(51 71 217 / 18%);
    --ui-body-size: .875rem;
    --ui-control-size: .8125rem;
    --ui-caption-size: .75rem;
  }
  body.wms-ui {
    --wms-font-content: var(--ui-font);
    --wms-font-menu: var(--ui-font);
    --wms-bg: var(--ui-bg);
    --wms-bg-2: var(--ui-bg);
    --wms-panel: var(--ui-surface);
    --wms-card-bg: var(--ui-surface);
    --wms-card-bg-soft: var(--ui-soft);
    --wms-elevated-bg: var(--ui-surface);
    --wms-border: var(--ui-line);
    --wms-border-soft: #e8ebf0;
    --wms-text: var(--ui-ink);
    --wms-text-soft: var(--ui-ink);
    --wms-muted: var(--ui-muted);
    --wms-link: var(--ui-primary);
    --wms-radius: var(--ui-radius);
    --wms-shadow-card: var(--ui-shadow);
    --wms-nav-width: 232px;
    --wms-nav-blue: var(--ui-primary);
    --wms-nav-active: var(--ui-primary-soft);
    --wms-nav-text: var(--ui-ink);
    --wms-nav-muted: var(--ui-muted);
    --wms-nav-divider: var(--ui-line);
    --bs-body-font-family: var(--ui-font);
    --bs-font-sans-serif: var(--ui-font);
    --bs-body-font-size: var(--ui-body-size);
    --bs-body-color: var(--ui-ink);
    --bs-body-bg: var(--ui-bg);
    --bs-border-color: var(--ui-line);
    --bs-primary: var(--ui-primary);
    --bs-primary-rgb: 51, 71, 217;
    --bs-link-color: var(--ui-primary);
    --bs-link-color-rgb: 51, 71, 217;
    --bs-link-hover-color: var(--ui-primary-hover);
    margin: 0;
    background: var(--ui-bg) !important;
    color: var(--ui-ink);
    font-family: var(--ui-font) !important;
    font-size: var(--ui-body-size);
    line-height: 1.5;
    color-scheme: light;
    -webkit-font-smoothing: antialiased;
  }
  body.wms-ui :is(main, .content-shell, .modal, .offcanvas, .wms-sidenav, .wms-mobile-drawer) {
    font-family: var(--ui-font);
  }
  body.wms-ui :is(.wms-main-col, .wms-layout-container, .content-shell) { background: var(--ui-bg) !important; }
  body.wms-ui .wms-main-col { padding: 0 !important; min-width: 0; }
  body.wms-ui .wms-main-col .content-shell { padding: 20px 24px 32px !important; max-width: none; min-width: 0; }
  body.wms-ui .wms-main-col :is(h1, .h1) { font-size: 1.375rem !important; font-weight: 600 !important; line-height: 1.3; letter-spacing: -.025em; }
  body.wms-ui .wms-main-col :is(h2, .h2) { font-size: 1.0625rem !important; font-weight: 600 !important; line-height: 1.4; letter-spacing: -.015em; }
  body.wms-ui .wms-main-col :is(h3, h4, h5, h6, .h3, .h4, .h5, .h6):not(h1, h2, .h1, .h2) { font-size: 1rem !important; font-weight: 600; line-height: 1.4; }
  body.wms-ui :is(.form-label, .form-check-label, .control-label, .input-group-text) { font-size: var(--ui-control-size) !important; }
  body.wms-ui :is(.form-text, .small, small, [class$="-subtitle"], [class$="-page-subtitle"], .text-muted.small) { font-size: var(--ui-caption-size) !important; line-height: 1.5; }
  body.wms-ui :is(.text-muted, .text-secondary, .form-text) { color: var(--ui-muted) !important; }
  body.wms-ui :is(.breadcrumb, [class$="-breadcrumb"]) { font-size: var(--ui-caption-size); }
  body.wms-ui :is(.card, .modal-content, .offcanvas, .dropdown-menu) { border-color: var(--ui-line); border-radius: var(--ui-radius); }
  body.wms-ui :is(.card, .carrier-row-card, .credential-panel, .products-table-card, .users-table-card, .lg-card, .pd-card, .oi-table-card, .oi-filters-card, .params-panel, .params-card) {
    border: 1px solid var(--ui-line) !important;
    border-radius: var(--ui-radius) !important;
    background: var(--ui-surface) !important;
    box-shadow: var(--ui-shadow) !important;
  }
  body.wms-ui :is(.card-header, .modal-header, .modal-footer, .offcanvas-header) { padding: 16px 20px; border-color: var(--ui-line); background: var(--ui-surface); }
  body.wms-ui .card-body { padding: 18px; }
  body.wms-ui :is(.shadow, .shadow-sm, .shadow-lg) { box-shadow: var(--ui-shadow) !important; }
  body.wms-ui :is(.modal-title, .offcanvas-title) { font-size: 1.0625rem !important; line-height: 1.4; font-weight: 600; }
  body.wms-ui .modal-body { font-size: var(--ui-body-size); }
  body.wms-ui .modal-dialog-scrollable .modal-content > form { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; max-height: 100%; overflow: hidden; }
  body.wms-ui .modal-content { box-shadow: 0 16px 48px rgb(24 39 75 / 16%) !important; }
  body.wms-ui :is(.modal-header, .modal-footer) { flex-shrink: 0; }

  /* Campos: a cor branca não depende da página nem do estado do navegador. */
  body.wms-ui :is(.form-control, .form-select, input:not([type]), input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], input[type="time"], input[type="tel"], input[type="url"], select, textarea) {
    font-family: var(--ui-font) !important;
    font-size: var(--ui-control-size) !important;
    font-weight: 400;
    color: var(--ui-ink);
    background-color: var(--ui-surface) !important;
    border-color: #b9c2cf !important;
    border-radius: 6px;
    min-height: 34px;
    line-height: 1.5;
  }
  body.wms-ui :is(.form-control, .form-select) { padding-block: 6px; padding-left: 10px; }
  body.wms-ui textarea.form-control { min-height: 88px; resize: vertical; }
  body.wms-ui :is(input, textarea)::placeholder { color: #788395; opacity: 1; font-weight: 400; }
  body.wms-ui :is(input, select, textarea):disabled { background-color: #eef0f3 !important; color: #768193 !important; cursor: not-allowed; opacity: 1; }
  body.wms-ui :is(input, textarea)[readonly] { background-color: #f5f6f8 !important; }
  body.wms-ui :is(.form-control, .form-select, input, select, textarea):focus-visible { outline: 2px solid var(--ui-primary); outline-offset: 2px; box-shadow: none; }
  body.wms-ui :is(.form-control, .form-select):focus { border-color: var(--ui-primary) !important; box-shadow: var(--ui-focus); }
  body.wms-ui :is(.is-invalid, .was-validated :invalid) { border-color: #c73946 !important; }
  body.wms-ui :is(.is-valid, .was-validated :valid) { border-color: #24804b !important; }
  body.wms-ui .input-group-text { color: var(--ui-muted); background: var(--ui-soft) !important; border-color: #b9c2cf; }
  body.wms-ui .input-group > :not(:first-child):not(.dropdown-menu) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
  body.wms-ui .input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
  body.wms-ui :is(.form-control-lg, .collector-input) { min-height: 48px; font-size: 1.125rem !important; }

  /* Seletores nativos: mantém semântica, teclado e estados do formulário. */
  body.wms-ui input:is([type="checkbox"], [type="radio"]):not(.btn-check) {
    appearance: none;
    width: 16px; height: 16px; min-height: 16px;
    padding: 0; flex-shrink: 0;
    border: 1px solid #8994a5;
    border-radius: 4px;
    background-color: #fff !important;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
    vertical-align: -.15em;
    transform: none;
    box-shadow: none;
    cursor: pointer;
  }
  body.wms-ui input[type="radio"]:not(.btn-check) { border-radius: 50%; }
  body.wms-ui input[type="radio"]:checked:not(.btn-check) {
    border-color: var(--ui-primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='%233347d9'/%3E%3C/svg%3E") !important;
  }
  body.wms-ui input[type="checkbox"]:checked:not(.btn-check) {
    border-color: var(--ui-primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8 3 3 6-6' fill='none' stroke='%233347d9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  }
  body.wms-ui input[type="checkbox"]:indeterminate:not(.btn-check) {
    border-color: var(--ui-primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' stroke='%233347d9' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }
  body.wms-ui .form-switch input[type="checkbox"] {
    width: 32px; height: 18px; min-height: 18px; border-radius: 999px;
    background-size: 16px 16px; background-position: left center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='5' fill='%238994a5'/%3E%3C/svg%3E") !important;
  }
  body.wms-ui .form-switch input[type="checkbox"]:checked {
    background-position: right center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='5' fill='%233347d9'/%3E%3C/svg%3E") !important;
  }
  body.wms-ui input:is([type="checkbox"], [type="radio"]):disabled { opacity: .45; cursor: not-allowed; }
  body.wms-ui .form-check { min-height: 24px; }
  body.wms-ui .form-check-label { line-height: 1.6; }

  body.wms-ui :is(.btn, .page-link, .dropdown-item) { font-family: var(--ui-font); font-size: var(--ui-control-size) !important; font-weight: 500; line-height: 1.5; }
  body.wms-ui .btn { --bs-btn-border-radius: 6px; --bs-btn-font-size: var(--ui-control-size); border-radius: 6px; min-height: 34px; padding: 6px 12px; box-shadow: none; }
  body.wms-ui .btn-sm { min-height: 30px; padding: 4px 10px; }
  body.wms-ui .btn-lg { min-height: 44px; padding: 10px 16px; }
  body.wms-ui .btn-primary { --bs-btn-bg: var(--ui-primary); --bs-btn-border-color: var(--ui-primary); --bs-btn-hover-bg: var(--ui-primary-hover); --bs-btn-hover-border-color: var(--ui-primary-hover); --bs-btn-active-bg: var(--ui-primary-hover); --bs-btn-disabled-bg: var(--ui-primary); --bs-btn-disabled-border-color: var(--ui-primary); background-color: var(--ui-primary); border-color: var(--ui-primary); color: #fff; }
  body.wms-ui .btn-primary:is(:hover, :active) { background-color: var(--ui-primary-hover); border-color: var(--ui-primary-hover); }
  body.wms-ui .btn-outline-primary { --bs-btn-color: var(--ui-primary); --bs-btn-border-color: #b1b8ef; --bs-btn-hover-bg: var(--ui-primary-soft); --bs-btn-hover-color: var(--ui-primary); --bs-btn-hover-border-color: var(--ui-primary); --bs-btn-active-bg: var(--ui-primary-soft); --bs-btn-active-color: var(--ui-primary); }
  body.wms-ui :is(.btn-outline-secondary, .btn-outline-dark) { --bs-btn-color: var(--ui-ink); --bs-btn-border-color: #b9c2cf; --bs-btn-hover-bg: var(--ui-soft); --bs-btn-hover-color: var(--ui-ink); --bs-btn-hover-border-color: #8994a5; }
  body.wms-ui :is(a, button, [tabindex]):focus-visible { outline: 2px solid var(--ui-primary); outline-offset: 3px; }
  body.wms-ui .btn:disabled, body.wms-ui .btn.disabled { opacity: .5; cursor: not-allowed; }
  body.wms-ui :is(.oi-import-btn, .oi-filter-btn--apply) { background: var(--ui-primary); border-color: var(--ui-primary); box-shadow: none; font: 500 var(--ui-control-size) / 1.5 var(--ui-font); }
  body.wms-ui :is(.oi-import-btn, .oi-filter-btn--apply):is(:hover, :focus) { background: var(--ui-primary-hover); border-color: var(--ui-primary-hover); }
  body.wms-ui :is(.oi-code-link, .oi-tab-link.active) { color: var(--ui-primary); }
  body.wms-ui .oi-tab-link.active::after { background: var(--ui-primary); }
  body.wms-ui :is(.oi-status-badge, .oi-shipping-badge, .oi-price-risk) { font-size: var(--ui-caption-size); font-weight: 500; line-height: 1.4; }
  body.wms-ui .oi-filter-card { box-shadow: var(--ui-shadow); border-color: var(--ui-line); }
  body.wms-ui :is(.nav-tabs, .nav-pills) .nav-link { font-size: var(--ui-control-size); font-weight: 500; padding: 10px 14px; }
  body.wms-ui .nav-tabs { border-bottom: 1px solid var(--ui-line); gap: 4px; }
  body.wms-ui .nav-tabs .nav-link { color: var(--ui-muted); border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; }
  body.wms-ui .nav-tabs .nav-link.active { color: var(--ui-primary); border-bottom-color: var(--ui-primary); background: transparent; }

  /* Tabelas: densidade uniforme, cabeçalho neutro, seleção e status preservados. */
  body.wms-ui :is(table, .table) { font-size: var(--ui-control-size); font-variant-numeric: tabular-nums; --bs-table-bg: #fff; --bs-table-hover-bg: #f5f6fc; --bs-table-striped-bg: #f8f9fb; --bs-table-color: var(--ui-ink); }
  body.wms-ui :is(table, .table) > thead > tr > th { background: #eef0f3 !important; color: #38445a; font-size: var(--ui-caption-size) !important; font-weight: 600; line-height: 1.4; padding: 11px 12px; border-bottom: 1px solid var(--ui-line); text-transform: none; letter-spacing: 0; }
  body.wms-ui :is(table, .table) > tbody > tr > td { font-size: var(--ui-control-size); padding: 11px 12px; border-bottom-color: #e8ebf0; vertical-align: middle; }
  body.wms-ui :is(table, .table) :is(td, th) :is(small, .small, .badge) { font-size: var(--ui-caption-size) !important; }
  body.wms-ui .table-responsive { overflow-x: auto; border: 1px solid var(--ui-line); border-radius: var(--ui-radius); background: #fff; }
  body.wms-ui .badge { font-size: .6875rem; font-weight: 500; padding: 5px 8px; line-height: 1.25; border-radius: 999px; }
  body.wms-ui .pagination { gap: 4px; --bs-pagination-active-bg: var(--ui-primary); --bs-pagination-active-border-color: var(--ui-primary); --bs-pagination-active-color: #fff; }
  body.wms-ui .page-link { border-radius: 6px !important; min-width: 32px; min-height: 32px; text-align: center; }

  /* Navegação e contexto da página. */
  body.wms-ui .wms-nav-header { min-height: 68px; padding: 18px 16px 12px; }
  body.wms-ui .wms-nav-brand-words { display: flex; flex-direction: column; gap: 3px; align-items: flex-start; font-size: 12px; letter-spacing: .07em; }
  body.wms-ui .wms-nav-brand-connect { font-size: 10px; letter-spacing: .19em; }
  body.wms-ui .wms-nav-brand-mark { font-size: 26px; }
  body.wms-ui .wms-nav-scroll { padding: 8px 12px 16px; }
  body.wms-ui .wms-nav-home-block { margin-bottom: 8px; padding-bottom: 8px; }
  body.wms-ui .wms-nav-section + .wms-nav-section { padding-top: 10px; }
  body.wms-ui .wms-nav-section-title { font-size: 10px; font-weight: 600; letter-spacing: .08em; }
  body.wms-ui :is(.wms-nav-link, .wms-nav-parent) { min-height: 36px; padding: 8px 10px; margin-block: 2px; font-size: var(--ui-control-size); font-weight: 400; border: 1px solid transparent; border-radius: 6px; gap: 8px; }
  body.wms-ui :is(.wms-nav-parent.is-current, .wms-nav-link.is-active) { background: var(--ui-primary-soft); color: var(--ui-primary); border-color: #c5cbf6; font-weight: 500; }
  body.wms-ui .wms-nav-link.is-active::before { display: none; }
  body.wms-ui .wms-nav-link.wms-nav-child { min-height: 34px; padding-left: 26px; font-size: var(--ui-control-size); }
  body.wms-ui :is(.wms-nav-link > i, .wms-nav-parent-label > i) { font-size: 16px; width: 18px; height: 18px; flex-basis: 18px; }
  body.wms-ui .wms-nav-operator-card { min-height: 54px; border: 0; box-shadow: none; padding: 6px; }
  body.wms-ui .wms-nav-operator-copy strong { font-size: 13px; font-weight: 500; }
  body.wms-ui .wms-nav-operator-avatar { width: 32px; height: 32px; flex-basis: 32px; }
  .wms-menu-search { display: flex; gap: 7px; align-items: center; margin: 0 14px 10px; padding: 0 10px; background: #fff; border: 1px solid #b9c2cf; border-radius: 6px; color: var(--ui-muted); }
  body.wms-ui .wms-menu-search input { width: 100%; min-width: 0; border: 0; padding: 7px 0; min-height: 32px; background: transparent !important; font-size: 12px !important; }
  .wms-menu-search:focus-within { outline: 2px solid var(--ui-primary); outline-offset: 2px; }
  body.wms-ui .wms-menu-search input:focus-visible { outline: none; box-shadow: none; }
  .wms-menu-empty { padding: 8px 18px; color: var(--ui-muted); font-size: 12px; }
  body.wms-ui :is(.wms-nav-link, .wms-nav-parent, .wms-nav-submenu, .wms-nav-section, .wms-nav-home-block, .wms-menu-empty)[hidden] { display: none !important; }
  .wms-contextbar { min-height: 58px; margin-left: var(--wms-nav-width); padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--ui-line); background: #fff; }
  .wms-contextbar nav { display: flex; align-items: center; gap: 10px; font-size: 12px; }
  .wms-contextbar a { text-decoration: none; color: var(--ui-primary); }
  .wms-contextbar .bi { font-size: 10px; color: #8893a4; }
  .wms-contextbar-brand { color: var(--ui-muted); font-size: 12px; }
  .wms-skip-link { position: fixed; top: -100px; left: 12px; z-index: 2000; padding: 10px 16px; background: #fff; color: var(--ui-primary); border: 2px solid var(--ui-primary); border-radius: 6px; }
  .wms-skip-link:focus { top: 12px; }

  /* Uma imagem neutra para produtos sem foto, sem substituir marcas/avatares. */
  body.wms-ui img[data-wms-product-image] { object-fit: contain; background-color: #fff; border-radius: 6px; }
  body.wms-ui :is(.products-img-empty, .pick-img-placeholder, .fc-product-placeholder, .analytics-product-placeholder, .params-product-placeholder, .label-no-image, .movement-packed-thumb--placeholder) {
    background: #fff url("img/product-placeholder.svg") center / 38px 38px no-repeat !important;
    border-radius: 6px;
    min-width: 40px; min-height: 40px;
    color: transparent !important;
    font-size: 0 !important;
  }
  body.wms-ui :is(.fc-product-placeholder, .analytics-product-placeholder, .params-product-placeholder, .movement-packed-thumb--placeholder) > i { visibility: hidden; }
  body.wms-ui .label-no-image { display: inline-block; width: 100%; height: 100%; }

  /* Telas públicas e de acesso compartilham a mesma base visual. */
  body.wms-ui :is(.wc-page, .login-v327-shell, .auth-wrap) { background: var(--ui-bg); }
  body.wms-ui .login-v327-watermark, body.wms-ui.auth-bg::before, body.wms-ui.auth-bg::after { display: none; }
  body.wms-ui .login-v327-card { border: 1px solid var(--ui-line); border-radius: 12px; box-shadow: 0 8px 32px rgb(24 39 75 / 7%); }
  body.wms-ui .login-v327-institutional { background: #eef0ff; color: var(--ui-ink); }
  body.wms-ui .login-v327-intro :is(h1, p) { color: var(--ui-ink); }
  body.wms-ui .login-v327-title-rule { background: var(--ui-primary); }
  body.wms-ui .login-v327-access { background: #fff; }
  body.wms-ui .login-v327-submit { background: var(--ui-primary); border-color: var(--ui-primary); box-shadow: none; font-size: 16px; }
  body.wms-ui .login-v327-submit:is(:hover, :focus) { background: var(--ui-primary-hover); border-color: var(--ui-primary-hover); }
  body.wms-ui .login-v327-lock { background: var(--ui-primary-soft); color: var(--ui-primary); }
  body.wms-ui .login-v327-input-shell:focus-within { border-color: var(--ui-primary); box-shadow: var(--ui-focus); }
  body.wms-ui .login-v327-input-shell input:focus-visible { outline: 0; box-shadow: none; }
  body.wms-ui .auth-hero h1 { font-size: 1.75rem !important; }
  body.wms-ui .auth-surface { border: 1px solid var(--ui-line); border-radius: 12px; }
  body.wms-ui .auth-bg .auth-hero { color: var(--ui-ink); }

  @media (max-width: 991.98px) {
    .wms-contextbar { display: none; }
    body.wms-ui .wms-main-col .content-shell { padding: 16px 16px 24px !important; }
    body.wms-ui :is(.wms-nav-link, .wms-nav-parent, .wms-nav-link.wms-nav-child) { min-height: 44px; }
    body.wms-ui .wms-mobile-pagebar { background: #fff; border-bottom: 1px solid var(--ui-line); }
    body.wms-ui .wms-mobile-page-title { font-size: 16px; font-weight: 600; }
    body.wms-ui .wms-main-col :is(h1, .h1) { font-size: 1.25rem !important; }
    body.wms-ui .modal-dialog { margin: 10px; }
    body.wms-ui :is(.modal-header, .modal-footer, .modal-body) { padding: 16px; }
    body.wms-ui .modal-footer { gap: 8px; }
  }
  @media (pointer: coarse) {
    body.wms-ui :is(.btn, .btn-sm, .form-control, .form-select, .page-link) { min-height: 44px; }
    body.wms-ui .form-check { min-height: 36px; display: flex; align-items: center; gap: 8px; }
    body.wms-ui input:is([type="checkbox"], [type="radio"]):not(.btn-check) { width: 20px; height: 20px; min-height: 20px; }
    body.wms-ui .form-switch input[type="checkbox"] { width: 36px; }
  }
  @media (prefers-reduced-motion: reduce) {
    body.wms-ui *, body.wms-ui *::before, body.wms-ui *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  }
}
@media print { .wms-contextbar, .wms-menu-search, .wms-menu-empty, .wms-skip-link { display: none !important; } }
