/* Tema global moderno para o shell web legado. Carregado por ultimo. */
:root {
    --ui-primary: #176b9c;
    --ui-primary-strong: #0f4c75;
    --ui-primary-soft: #e8f2f9;
    --ui-accent: #2f80c9;
    --ui-bg: #f4f7fa;
    --ui-surface: #ffffff;
    --ui-surface-subtle: #f8fafc;
    --ui-border: #d8e2eb;
    --ui-border-strong: #bdcbd7;
    --ui-text: #263746;
    --ui-text-muted: #667b8d;
    --ui-danger: #c43d4b;
    --ui-danger-soft: #feecee;
    --ui-warning: #a76608;
    --ui-warning-soft: #fff5dc;
    --ui-success: #257a4a;
    --ui-success-soft: #e8f6ee;
    --ui-radius-sm: 6px;
    --ui-radius: 9px;
    --ui-radius-lg: 12px;
    --ui-shadow-sm: 0 2px 7px rgba(24, 54, 78, .08);
    --ui-shadow: 0 12px 34px rgba(24, 54, 78, .16);
    --ui-control-height: 30px;
    --ui-material-control-height: 40px;
    --ui-consulta-filter-height: 38px;
    --ui-consulta-pager-height: 38px;
    --ui-material-field-margin-y: 4px;
    --ui-material-label-top: 13px;
    --ui-material-label-size: 9px;
}

html[data-web-fonte-tamanho="8"] {
    --ui-control-height: 26px;
    --ui-material-control-height: 32px;
    --ui-consulta-filter-height: 30px;
    --ui-consulta-pager-height: 32px;
    --ui-material-field-margin-y: 1px;
    --ui-material-label-top: 9px;
    --ui-material-label-size: 8px;
}
html[data-web-fonte-tamanho="9"] {
    --ui-control-height: 27px;
    --ui-material-control-height: 34px;
    --ui-consulta-filter-height: 32px;
    --ui-consulta-pager-height: 34px;
    --ui-material-field-margin-y: 2px;
    --ui-material-label-top: 10px;
    --ui-material-label-size: 8px;
}
html[data-web-fonte-tamanho="10"] {
    --ui-control-height: 29px;
    --ui-material-control-height: 37px;
    --ui-consulta-filter-height: 35px;
    --ui-consulta-pager-height: 36px;
    --ui-material-field-margin-y: 3px;
    --ui-material-label-top: 11px;
    --ui-material-label-size: 8px;
}
html[data-web-fonte-tamanho="12"] {
    --ui-control-height: 31px;
    --ui-material-control-height: 41px;
    --ui-consulta-filter-height: 39px;
    --ui-consulta-pager-height: 39px;
    --ui-material-field-margin-y: 4px;
    --ui-material-label-top: 13px;
    --ui-material-label-size: 10px;
}
html[data-web-fonte-tamanho="13"] {
    --ui-control-height: 32px;
    --ui-material-control-height: 42px;
    --ui-consulta-filter-height: 40px;
    --ui-consulta-pager-height: 40px;
    --ui-material-field-margin-y: 5px;
    --ui-material-label-top: 14px;
    --ui-material-label-size: 11px;
}

html,
body.web-menu-moderno {
    color: var(--ui-text);
    background: var(--ui-bg);
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: var(--web-fonte-tamanho, 11px) !important;
    line-height: 1.35;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.web-menu-moderno .ui-widget,
body.web-menu-moderno .ui-widget input,
body.web-menu-moderno .ui-widget select,
body.web-menu-moderno .ui-widget textarea,
body.web-menu-moderno .ui-widget button {
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: var(--web-fonte-tamanho, 11px);
}

body.web-menu-moderno h1,
body.web-menu-moderno h2,
body.web-menu-moderno h3,
body.web-menu-moderno h4 {
    color: var(--ui-text);
    font-weight: 700;
    letter-spacing: -.01em;
}

body.web-menu-moderno a { color: var(--ui-primary); }
body.web-menu-moderno ::selection { color: #fff; background: var(--ui-accent); }
body.web-menu-moderno table { color: var(--ui-text); box-shadow: none !important; }
body.web-menu-moderno table thead th {
    color: #315a75;
    border-color: var(--ui-border);
    background: #edf4f8 !important;
    background-image: none !important;
    filter: none !important;
    font-weight: 700;
}
body.web-menu-moderno * { scrollbar-color: #b9c9d6 transparent; scrollbar-width: thin; }
body.web-menu-moderno *::-webkit-scrollbar { width: 10px; height: 10px; }
body.web-menu-moderno *::-webkit-scrollbar-track { background: transparent; }
body.web-menu-moderno *::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 8px; background: #b9c9d6; background-clip: padding-box; }
body.web-menu-moderno *::-webkit-scrollbar-thumb:hover { background: #91a8ba; background-clip: padding-box; }

/* Superficies e estados jQuery UI */
body.web-menu-moderno .ui-widget-content {
    color: var(--ui-text);
    border-color: var(--ui-border);
    background-color: var(--ui-surface);
    background-image: none !important;
}

body.web-menu-moderno .ui-widget-header {
    color: var(--ui-text);
    border-color: var(--ui-border);
    background: var(--ui-surface-subtle);
    background-image: none !important;
}

body.web-menu-moderno .ui-state-default,
body.web-menu-moderno .ui-widget-content .ui-state-default,
body.web-menu-moderno .ui-widget-header .ui-state-default {
    color: #405668;
    border-color: var(--ui-border);
    background-color: #fff;
    background-image: none !important;
}

body.web-menu-moderno .ui-state-hover,
body.web-menu-moderno .ui-widget-content .ui-state-hover,
body.web-menu-moderno .ui-widget-header .ui-state-hover,
body.web-menu-moderno .ui-state-focus,
body.web-menu-moderno .ui-widget-content .ui-state-focus {
    color: var(--ui-primary-strong);
    border-color: #a9c9df;
    background-color: #edf6fb;
    background-image: none !important;
}

body.web-menu-moderno .ui-state-active,
body.web-menu-moderno .ui-widget-content .ui-state-active,
body.web-menu-moderno .ui-widget-header .ui-state-active {
    color: var(--ui-primary-strong);
    border-color: #8fb9d5;
    background-color: var(--ui-primary-soft);
    background-image: none !important;
}

body.web-menu-moderno .ui-state-highlight,
body.web-menu-moderno .ui-widget-content .ui-state-highlight {
    color: #17486a;
    border-color: #9fc9e5;
    background: #dff1fc;
    background-image: none !important;
}

body.web-menu-moderno .ui-state-error,
body.web-menu-moderno .ui-widget-content .ui-state-error {
    color: #8c2330;
    border-color: #e6a3aa !important;
    background: var(--ui-danger-soft) !important;
    background-image: none !important;
}

body.web-menu-moderno .ui-state-disabled,
body.web-menu-moderno .ui-widget-content .ui-state-disabled,
body.web-menu-moderno .ui-widget-header .ui-state-disabled {
    opacity: .52;
    filter: none;
    background-image: none !important;
}

body.web-menu-moderno .ui-corner-all,
body.web-menu-moderno .ui-corner-top,
body.web-menu-moderno .ui-corner-left,
body.web-menu-moderno .ui-corner-tl { border-radius: var(--ui-radius-sm); }

body.web-menu-moderno .ui-widget-overlay {
    opacity: .48;
    background: #152c3c;
    backdrop-filter: blur(2px);
}

/* Janelas e dialogos */
body.web-menu-moderno .ui-dialog {
    box-sizing: border-box;
    isolation: isolate;
    max-width: 100% !important;
    max-height: 100% !important;
    padding: 0 !important;
    overflow: visible;
    border: 1px solid #aebfcd !important;
    border-radius: var(--ui-radius-lg) !important;
    background: var(--ui-surface) !important;
    box-shadow: var(--ui-shadow) !important;
}

body.web-menu-moderno .ui-dialog .ui-dialog-titlebar {
    min-height: 36px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    margin: 0;
    padding: 6px 122px 6px 12px;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.16);
    border-radius: 11px 11px 0 0;
    color: #fff;
    background: linear-gradient(105deg, var(--ui-primary-strong), #2183b5) !important;
    box-shadow: none;
}

body.web-menu-moderno .ui-dialog .ui-dialog-title {
    min-width: 0;
    flex: 1 1 auto;
    margin: 0;
    overflow: hidden;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 22px;
    text-overflow: ellipsis;
    text-shadow: none;
    white-space: nowrap;
}

body.web-menu-moderno .ui-dialog .ui-dialog-titlebar-close,
body.web-menu-moderno .ui-dialog #dialog-minimize,
body.web-menu-moderno .ui-dialog #dialog-maximize,
body.web-menu-moderno .ui-dialog #dialog-restore {
    top: 0 !important;
    width: 38px !important;
    height: 35px !important;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.web-menu-moderno .ui-dialog .ui-dialog-titlebar-close {
    right: 0 !important;
    border-radius: 0 11px 0 0 !important;
}
body.web-menu-moderno .ui-dialog #dialog-maximize,
body.web-menu-moderno .ui-dialog #dialog-restore { right: 38px !important; }
body.web-menu-moderno .ui-dialog #dialog-minimize { right: 76px !important; }
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .ui-icon-newwin,
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .ui-icon-minus,
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .icon_view_fav,
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .icon_view_fav_n,
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .avs-dialog-historico {
    position: absolute !important;
    top: 0 !important;
    width: 38px !important;
    height: 35px !important;
    box-sizing: border-box;
    display: block;
    float: none !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    cursor: pointer;
}
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .ui-icon-newwin {
    right: 38px !important;
    overflow: visible;
    background-image: none !important;
    text-indent: 0 !important;
}
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .ui-icon-minus {
    right: 76px !important;
    overflow: visible;
    background-image: none !important;
    text-indent: 0 !important;
}
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .icon_view_fav,
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .icon_view_fav_n {
    right: 114px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 18px 18px !important;
}
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .avs-dialog-historico {
    right: 152px !important;
    overflow: visible;
    background-image: none !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    text-indent: 0 !important;
}
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .avs-dialog-historico::before {
    content: "\f1da";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: FontAwesome;
    font-size: 14px;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    text-align: center;
}
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .ui-icon-minus::before {
    content: "";
    position: absolute;
    top: 17px;
    left: 14px;
    width: 10px;
    height: 1px;
    background: #fff;
}
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .ui-icon-newwin::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 14px;
    width: 10px;
    height: 9px;
    box-sizing: border-box;
    border: 1px solid #fff;
}
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .ui-icon-newwin[maximizada="1"]::before {
    top: 13px;
    left: 13px;
    width: 9px;
    height: 8px;
    box-shadow: 3px -3px 0 -2px #fff;
}
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar-close .ui-icon {
    display: none !important;
}
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar-close::before,
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar-close::after {
    content: "";
    position: absolute;
    top: 17px;
    left: 14px;
    width: 11px;
    height: 1px;
    background: #fff;
    transform: rotate(45deg);
}
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar-close::after {
    transform: rotate(-45deg);
}
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar-close:hover,
body.web-menu-moderno .ui-dialog #dialog-minimize:hover,
body.web-menu-moderno .ui-dialog #dialog-maximize:hover,
body.web-menu-moderno .ui-dialog #dialog-restore:hover,
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .ui-icon-newwin:hover,
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .ui-icon-minus:hover,
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .icon_view_fav:hover,
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .icon_view_fav_n:hover,
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar > .avs-dialog-historico:hover { background-color: rgba(255,255,255,.16) !important; }
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar-close:hover { background-color: #d83b46 !important; }
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar .ui-icon,
body.web-menu-moderno .ui-dialog .ui-dialog-titlebar button span { filter: brightness(0) invert(1); }

body.web-menu-moderno .ui-dialog .ui-dialog-content {
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ui-text);
    border: 0;
    border-radius: 0 0 11px 11px;
    background: var(--ui-surface-subtle) !important;
}
body.web-menu-moderno .ui-dialog.avs-dialog-manutencao .ui-dialog-content {
    padding: 0 !important;
}

body.web-menu-moderno .ui-dialog .ui-dialog-buttonpane {
    margin: 0;
    padding: 9px 12px;
    border: 0;
    border-top: 1px solid var(--ui-border);
    border-radius: 0 0 11px 11px;
    background: #fff;
}
body.web-menu-moderno .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { display: flex; gap: 7px; }

body.web-menu-moderno .ui-resizable-handle { opacity: .45; }
body.web-menu-moderno .ui-dialog.alerta .ui-dialog-content,
body.web-menu-moderno .ui-dialog.erro .ui-dialog-content,
body.web-menu-moderno .ui-dialog.informacao .ui-dialog-content,
body.web-menu-moderno .ui-dialog.pergunta .ui-dialog-content { min-height: 76px; padding: 22px 22px 22px 72px !important; background-position: 20px center !important; }

/* Campos, rotulos e formularios */
body.web-menu-moderno label {
    color: #43596b;
    font-weight: 600;
}

body.web-menu-moderno input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
body.web-menu-moderno select,
body.web-menu-moderno textarea {
    min-height: var(--ui-control-height);
    box-sizing: border-box;
    margin: 2px 3px;
    padding: 4px 8px;
    color: var(--ui-text);
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-sm);
    outline: none;
    background: #fff;
    box-shadow: 0 1px 2px rgba(25, 55, 77, .03);
    font-family: inherit;
    font-size: var(--web-fonte-tamanho, 11px);
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

body.web-menu-moderno textarea { min-height: 72px; line-height: 1.45; resize: vertical !important; }
body.web-menu-moderno select[multiple] { min-height: 86px; padding: 5px; }
body.web-menu-moderno input::placeholder,
body.web-menu-moderno textarea::placeholder { color: #91a1af; opacity: 1; }

body.web-menu-moderno input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]):hover,
body.web-menu-moderno select:hover,
body.web-menu-moderno textarea:hover { border-color: #91aec2; }

body.web-menu-moderno input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]):focus,
body.web-menu-moderno select:focus,
body.web-menu-moderno textarea:focus {
    border-color: var(--ui-accent);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(47,128,201,.14);
}

body.web-menu-moderno input[readonly],
body.web-menu-moderno textarea[readonly] { color: #506577; border-color: #dce5ec; background: #f4f7f9; }
body.web-menu-moderno input:disabled,
body.web-menu-moderno select:disabled,
body.web-menu-moderno textarea:disabled { color: #8292a0; border-color: #e1e7ec; background: #eef2f5; cursor: not-allowed; opacity: 1; }
body.web-menu-moderno input[type="checkbox"],
body.web-menu-moderno input[type="radio"] { width: 15px; height: 15px; margin: 2px 5px 2px 2px; accent-color: var(--ui-primary); vertical-align: middle; }
body.web-menu-moderno input[type="color"] { min-width: 42px; padding: 3px !important; }
body.web-menu-moderno input[type="file"] { padding: 4px 7px !important; }

/* A preferencia de densidade nao altera a altura das celulas editaveis. */
body.web-menu-moderno .pq-grid,
body.web-menu-moderno div.appendGrid,
body.web-menu-moderno table.appendGrid {
    --ui-control-height: 30px;
}
body.web-menu-moderno .pq-grid input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
body.web-menu-moderno .pq-grid select,
body.web-menu-moderno div.appendGrid input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
body.web-menu-moderno div.appendGrid select,
body.web-menu-moderno table.appendGrid input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
body.web-menu-moderno table.appendGrid select {
    min-height: 30px !important;
}

body.web-menu-moderno .fitem {
    box-sizing: border-box;
    margin: 0;
    padding: 10px;
    color: var(--ui-text);
    background: transparent;
}
/* `fitem` tambem e usado diretamente em selects. O Multiple Select copia essa
   classe para `.ms-parent`; nesses controles ela nao pode virar padding externo. */
body.web-menu-moderno select.fitem {
    margin: 2px 3px;
    padding: 4px 28px 4px 8px;
}
body.web-menu-moderno .ms-parent.fitem {
    margin: 2px 3px;
    padding: 0;
    background: transparent;
}
body.web-menu-moderno .div_campo {
    min-height: 34px;
    margin: 3px 7px 3px 0;
    vertical-align: top;
}
body.web-menu-moderno .campo-form-sem-conteudo,
body.web-menu-moderno .div_campo > .campo-form-wrapper-oculto {
    display: none !important;
}
body.web-menu-moderno .div_campo > span { vertical-align: middle; }
body.web-menu-moderno .label_padrao_direita,
body.web-menu-moderno .label_padrao_esquerda { color: #43596b; font-weight: 600; line-height: 1.25; }
body.web-menu-moderno .campo-obrigatorio { color: var(--ui-danger); font-weight: 800; }

/* Campos Material compactos. A Estrutura ativa a classe nas telas com contêiner fitem. */
body.web-menu-moderno .material-piloto {
    box-sizing: border-box;
    max-width: 820px;
    margin: 0 auto;
    padding: 20px;
}
body.web-menu-moderno .material-piloto-cabecalho {
    margin: 0 0 14px;
    padding: 0 2px 14px;
    border-bottom: 1px solid #dde6ed;
}
body.web-menu-moderno .material-piloto-cabecalho h2 {
    margin: 0 0 5px;
    color: #183f59;
    font-size: 17px;
    font-weight: 700;
}
body.web-menu-moderno .material-piloto-cabecalho p {
    margin: 0;
    color: #687b89;
    font-size: 11px;
    line-height: 1.45;
}
body.web-menu-moderno .web-campo-material {
    --material-campo-cor: var(--ui-primary);
    --material-campo-borda: #7b8c98;
    --material-campo-erro: #ba1a1a;
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    padding: 4px 2px 2px !important;
    background: transparent;
}

/* Grade Material configuravel em 12 colunas. Somente telas opt-in usam a grade;
   cada CampoForm define sua ocupacao com setColSpan() ou setSpan(). */
body.web-menu-moderno .web-campo-material.web-campo-material-grid {
    container: campo-material-grid / inline-size;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-content: start;
    align-items: start;
    gap: 0 12px;
    padding: 1px 6px 1px !important;
}
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .div_campo {
    grid-column: span 12;
    min-width: 0;
    max-width: 100%;
    margin: 0;
}
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-1 { grid-column: span 1; }
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-2 { grid-column: span 2; }
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-3 { grid-column: span 3; }
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-4 { grid-column: span 4; }
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-5 { grid-column: span 5; }
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-6 { grid-column: span 6; }
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-7 { grid-column: span 7; }
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-8 { grid-column: span 8; }
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-9 { grid-column: span 9; }
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-10 { grid-column: span 10; }
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-11 { grid-column: span 11; }
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-12 { grid-column: span 12; }
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .div_campo > .campo-material:only-child:not(.campo-material-check) {
    width: 100%;
    max-width: 100%;
}
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .div_campo > .campo-material:only-child:not(.campo-material-check) > input:not([type="checkbox"]):not([type="radio"]),
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .div_campo > .campo-material:only-child:not(.campo-material-check) > select,
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .div_campo > .campo-material:only-child:not(.campo-material-check) > textarea,
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .div_campo > .campo-material:only-child:not(.campo-material-check) > .select2-container,
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .div_campo > .campo-material:only-child:not(.campo-material-check) > .ms-parent {
    width: 100% !important;
    max-width: 100% !important;
}
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .div_campo > .campo-material {
    margin-top: 4px;
    margin-bottom: 4px;
}
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .coolfieldset,
body.web-menu-moderno .web-campo-material.web-campo-material-grid > fieldset,
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .ui-tabs,
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .hint_tela,
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .web-campo-linha-inteira {
    grid-column: 1 / -1;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/* O appendGrid legado adiciona 15px à esquerda e pode herdar float de versões
   antigas. No shell moderno ele acompanha o alinhamento do contêiner pai. */
body.web-menu-moderno div.appendGrid {
    float: none !important;
    margin: 0;
    padding-left: 0 !important;
}

/* O accordion do Gerencial usa altura percentual no componente legado. Ele
   precisa permanecer no fluxo normal, abaixo da faixa de comandos, pois como
   item de grid sua altura era recalculada sobre os filtros depois da carga. */
body.web-menu-moderno #tela_Oeste.gerencial-painel-oeste {
    display: block;
    box-sizing: border-box;
    padding: 4px 8px !important;
}
body.web-menu-moderno #tela_Oeste.gerencial-painel-oeste > .div_campo {
    display: flex;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0 0 4px;
    box-sizing: border-box;
}
body.web-menu-moderno #tela_Oeste.gerencial-painel-oeste > #aco {
    position: relative !important;
    inset: auto !important;
    display: block;
    clear: both;
    width: 100%;
    max-width: 100%;
    margin: 4px 0 0;
    box-sizing: border-box;
}

/* Gerencial WCA: o cliente do subpainel pertence ao registro imediatamente
   acima. O rotulo flutua sobre o campo para economizar uma coluna visual sem
   alterar o HTML legado gerado pelo gridDados. */
body.web-menu-moderno #tela_Oeste.gerencial-painel-oeste #aco tr[id*="_SubRow_"] > td {
    position: relative;
    box-sizing: border-box;
    padding: 7px 6px 4px !important;
}
body.web-menu-moderno #tela_Oeste.gerencial-painel-oeste #aco tr[id*="_SubRow_"] > td > label {
    position: absolute;
    z-index: 1;
    top: 2px;
    left: 14px;
    width: auto !important;
    max-width: calc(100% - 28px);
    box-sizing: border-box;
    margin: 0;
    padding: 0 4px;
    overflow: hidden;
    color: var(--ui-text-muted);
    background: var(--ui-surface);
    font-size: 9px;
    font-weight: 650;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
}
body.web-menu-moderno #tela_Oeste.gerencial-painel-oeste #aco tr[id*="_SubRow_"] > td > input:not([type="checkbox"]):not([type="radio"]) {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    margin: 0 !important;
}
body.web-menu-moderno #tela_Oeste.gerencial-painel-oeste #aco .ui-accordion-header {
    min-height: 38px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 17px !important;
    line-height: 1.2;
}

@container campo-material-grid (max-width: 700px) {
    body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-1,
    body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-2,
    body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-3,
    body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-4 { grid-column: span 6; }
    body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-5,
    body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-6,
    body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-7,
    body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-8,
    body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-9,
    body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-10,
    body.web-menu-moderno .web-campo-material.web-campo-material-grid > .campo-col-11 { grid-column: span 12; }
}

@container campo-material-grid (max-width: 340px) {
    body.web-menu-moderno .web-campo-material.web-campo-material-grid > .div_campo { grid-column: 1 / -1; }
}
body.web-menu-moderno .web-campo-material .div_campo {
    min-height: 0;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0 10px;
    margin: 0;
}
body.web-menu-moderno .web-campo-material .div_campo > .campo-material {
    position: relative;
    min-height: var(--ui-material-control-height);
    display: inline-flex;
    align-items: flex-start;
    box-sizing: border-box;
    margin: var(--ui-material-field-margin-y) 0;
    vertical-align: top;
}
body.web-menu-moderno .web-campo-material .campo-material > label {
    position: absolute;
    top: var(--ui-material-label-top);
    left: 12px;
    z-index: 3;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 25px);
    margin: 0;
    padding: 0;
    overflow: hidden;
    color: #526672;
    background: transparent;
    font-size: var(--web-fonte-tamanho, 11px);
    font-weight: 500;
    line-height: 14px;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    transform-origin: left center;
    transition: top .14s ease, color .14s ease, font-size .14s ease, background-color .14s ease;
}
body.web-menu-moderno .web-campo-material .campo-material-tem-valor > label,
body.web-menu-moderno .web-campo-material .campo-material-foco > label,
body.web-menu-moderno .web-campo-material .campo-material-select > label,
body.web-menu-moderno .web-campo-material .campo-material-autocomplete > label:not(:empty) {
    top: -7px;
    left: 9px;
    max-width: calc(100% - 20px);
    padding: 0 4px;
    color: #4e6472;
    background: #fff;
    font-size: var(--ui-material-label-size);
    font-weight: 650;
}
body.web-menu-moderno .web-campo-material .campo-material-foco > label { color: var(--material-campo-cor); }
body.web-menu-moderno .web-campo-material .campo-material > input:not([type="checkbox"]):not([type="radio"]),
body.web-menu-moderno .web-campo-material .campo-material > select,
body.web-menu-moderno .web-campo-material .campo-material > textarea,
body.web-menu-moderno .web-campo-material .campo-material-autocomplete-selecao > input:not([type="checkbox"]):not([type="radio"]),
body.web-menu-moderno .web-campo-material .campo-material-autocomplete-selecao > select,
body.web-menu-moderno .web-campo-material .campo-material-autocomplete-selecao > textarea {
    min-height: var(--ui-material-control-height);
    box-sizing: border-box;
    margin: 0;
    padding: 11px 11px 4px;
    color: #253642;
    border: 1px solid var(--material-campo-borda);
    border-radius: 4px;
    outline: 0;
    background: #fff;
    box-shadow: none;
    font-size: var(--web-fonte-tamanho, 11px);
    transition: border-color .14s ease, box-shadow .14s ease, background-color .14s ease;
}
body.web-menu-moderno .web-campo-material .campo-material-select > select { padding: 6px 32px 4px 11px; }
body.web-menu-moderno .web-campo-material .campo-material-textarea > textarea {
    min-height: 92px;
    padding-top: 15px;
    line-height: 1.45;
}
body.web-menu-moderno .web-campo-material .campo-material-foco > input:not([type="checkbox"]):not([type="radio"]),
body.web-menu-moderno .web-campo-material .campo-material-foco > select,
body.web-menu-moderno .web-campo-material .campo-material-foco > textarea,
body.web-menu-moderno .web-campo-material .campo-material-foco > .campo-material-autocomplete-selecao > input:not([type="checkbox"]):not([type="radio"]),
body.web-menu-moderno .web-campo-material .campo-material-foco > .campo-material-autocomplete-selecao > select,
body.web-menu-moderno .web-campo-material .campo-material-foco > .campo-material-autocomplete-selecao > textarea {
    border-color: var(--material-campo-cor);
    box-shadow: inset 0 0 0 1px var(--material-campo-cor);
}
body.web-menu-moderno .web-campo-material .campo-material-desabilitado > input,
body.web-menu-moderno .web-campo-material .campo-material-desabilitado > select,
body.web-menu-moderno .web-campo-material .campo-material-desabilitado > textarea,
body.web-menu-moderno .web-campo-material .campo-material-desabilitado > .campo-material-autocomplete-selecao > input,
body.web-menu-moderno .web-campo-material .campo-material-desabilitado > .campo-material-autocomplete-selecao > select,
body.web-menu-moderno .web-campo-material .campo-material-desabilitado > .campo-material-autocomplete-selecao > textarea {
    color: #778690;
    border-color: #c9d2d8;
    background: #eef2f4;
}
body.web-menu-moderno .web-campo-material .campo-material > label.campo-obrigatorio { color: #526672; }
body.web-menu-moderno .web-campo-material .campo-material > label.campo-obrigatorio::after {
    content: " *";
    color: var(--material-campo-erro);
}
body.web-menu-moderno .web-campo-material .campo-material-com-hint > label {
    max-width: calc(100% - 42px);
}
body.web-menu-moderno .web-campo-material .campo-material > .campo-material-hint {
    position: absolute !important;
    top: -7px;
    right: 8px;
    z-index: 6;
    width: 15px !important;
    height: 15px !important;
    min-width: 15px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 1px;
    color: #52738a;
    border: 0;
    border-radius: 50%;
    outline: 0;
    background: #fff;
    box-shadow: 0 0 0 2px #fff;
    object-fit: contain;
    font-size: 12px !important;
    line-height: 13px;
    cursor: help;
    opacity: .9;
    transition: color .14s ease, background-color .14s ease, box-shadow .14s ease, transform .14s ease;
}
body.web-menu-moderno .web-campo-material .campo-material > .campo-material-hint:hover,
body.web-menu-moderno .web-campo-material .campo-material > .campo-material-hint:focus-visible {
    color: var(--material-campo-cor);
    background: #eaf4fa;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(47, 128, 201, .18);
    transform: scale(1.08);
}
body.web-menu-moderno .web-campo-material .campo-material-erro > label { color: var(--material-campo-erro); }
body.web-menu-moderno .web-campo-material .campo-material-erro > input:not([type="checkbox"]):not([type="radio"]),
body.web-menu-moderno .web-campo-material .campo-material-erro > select,
body.web-menu-moderno .web-campo-material .campo-material-erro > textarea,
body.web-menu-moderno .web-campo-material .campo-material-erro > .campo-material-autocomplete-selecao > input:not([type="checkbox"]):not([type="radio"]),
body.web-menu-moderno .web-campo-material .campo-material-erro > .campo-material-autocomplete-selecao > select,
body.web-menu-moderno .web-campo-material .campo-material-erro > .campo-material-autocomplete-selecao > textarea {
    border-color: var(--material-campo-erro) !important;
    background: #fff !important;
    box-shadow: inset 0 0 0 1px var(--material-campo-erro);
}
body.web-menu-moderno .web-campo-material .campo-material-check {
    min-height: var(--ui-material-control-height);
    align-items: center !important;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 8px;
}
body.web-menu-moderno .web-campo-material .campo-material-check > label {
    position: static;
    max-width: none;
    padding: 0;
    color: #344955;
    background: transparent;
    font-size: var(--web-fonte-tamanho, 11px);
    line-height: 18px;
    pointer-events: auto;
}
body.web-menu-moderno .web-campo-material .campo-material-check > input { width: 18px; height: 18px; margin: 0; }
body.web-menu-moderno .web-campo-material .campo-material-data-integrada {
    min-width: 105px;
}
body.web-menu-moderno .web-campo-material .campo-material-data-integrada > label {
    max-width: calc(100% - 42px);
}
body.web-menu-moderno .web-campo-material .campo-material-data-integrada > input:not([type="checkbox"]):not([type="radio"]),
body.web-menu-moderno .web-campo-material .campo-material-date > input[type="date"] {
    min-width: 105px !important;
}
body.web-menu-moderno .web-campo-material .campo-material-data-integrada > input:not([type="checkbox"]):not([type="radio"]) {
    padding-right: var(--ui-material-control-height) !important;
}
body.web-menu-moderno .web-campo-material .campo-material-data-integrada > .ui-datepicker-trigger {
    position: absolute;
    top: 4px;
    right: 4px;
    z-index: 2;
    width: calc(var(--ui-material-control-height) - 8px);
    height: calc(var(--ui-material-control-height) - 8px);
    box-sizing: border-box;
    margin: 0;
    padding: clamp(4px, calc(var(--web-fonte-tamanho, 11px) - 4px), 7px);
    object-fit: contain;
    border: 0;
    border-radius: 4px;
    background: rgba(47, 128, 201, .10);
    box-shadow: none;
    cursor: pointer;
    transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
body.web-menu-moderno .web-campo-material .campo-material-data-integrada > .ui-datepicker-trigger:hover {
    background-color: rgba(47, 128, 201, .20);
    transform: translateY(-1px);
}
body.web-menu-moderno .web-campo-material .campo-material-data-integrada > .ui-datepicker-trigger:focus-visible {
    outline: 2px solid rgba(47, 128, 201, .38);
    outline-offset: 1px;
}
body.web-menu-moderno .web-campo-material .campo-material-autocomplete {
    align-items: flex-start;
    gap: 0 8px;
}
body.web-menu-moderno .web-campo-material .div_campo.campo-material-autocomplete-multichave {
    align-items: flex-start;
}
body.web-menu-moderno .web-campo-material .div_campo.campo-material-autocomplete-multichave > .campo-material {
    position: relative;
    flex: 0 0 auto;
}
body.web-menu-moderno .web-campo-material .campo-material-autocomplete > label:empty { display: none; }
body.web-menu-moderno .web-campo-material .campo-material-autocomplete-selecao {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
body.web-menu-moderno .web-campo-material .campo-material-autocomplete-selecao > .campo-material-autocomplete-busca {
    padding-right: var(--ui-material-control-height) !important;
}
body.web-menu-moderno .web-campo-material .campo-material-autocomplete-lupa {
    position: absolute;
    top: 4px;
    right: 4px;
    z-index: 2;
    display: inline-flex;
    width: calc(var(--ui-material-control-height) - 8px);
    height: calc(var(--ui-material-control-height) - 8px);
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    color: var(--material-campo-cor);
    border: 0;
    border-radius: 4px;
    background: rgba(47, 128, 201, .10);
    box-shadow: none;
    font: inherit;
    cursor: pointer;
    transition: color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
body.web-menu-moderno .web-campo-material .campo-material-autocomplete-lupa > .fa {
    font-size: 13px;
    line-height: 1;
}
body.web-menu-moderno .web-campo-material .campo-material-autocomplete-lupa:hover {
    color: #fff;
    background: var(--material-campo-cor);
}
body.web-menu-moderno .web-campo-material .campo-material-autocomplete-lupa:focus-visible {
    color: #fff;
    outline: 2px solid rgba(47, 128, 201, .34);
    outline-offset: 1px;
    background: var(--material-campo-cor);
}
body.web-menu-moderno .web-campo-material .campo-material-autocomplete-lupa:disabled {
    color: var(--ui-text-muted);
    background: rgba(148, 163, 184, .12);
    cursor: default;
    opacity: .65;
}

/* Campos de data e autocomplete dentro de grids: preserva a celula e incorpora a acao. */
body.web-menu-moderno .web-campo-material .campo-grid-data-integrada {
    position: relative;
    min-width: 105px;
    display: inline-flex;
    align-items: flex-start;
    box-sizing: border-box;
    vertical-align: top;
}
body.web-menu-moderno .web-campo-material .campo-grid-data-integrada > input:not([type="checkbox"]):not([type="radio"]) {
    min-width: 105px !important;
    box-sizing: border-box;
    margin: 2px 0 !important;
    padding-right: 32px !important;
}
body.web-menu-moderno .web-campo-material .campo-grid-data-integrada > .ui-datepicker-trigger {
    position: absolute;
    top: 2px;
    right: 2px;
    z-index: 2;
    width: 26px;
    height: 26px;
    box-sizing: border-box;
    margin: 0;
    padding: 5px;
    object-fit: contain;
    border: 0;
    border-radius: 4px;
    background: rgba(47, 128, 201, .10);
    box-shadow: none;
    cursor: pointer;
}
body.web-menu-moderno .web-campo-material .campo-grid-autocomplete-integrado > .campo-material-autocomplete-selecao {
    position: relative;
    display: inline-flex;
    max-width: 100%;
    box-sizing: border-box;
    vertical-align: top;
}
body.web-menu-moderno .web-campo-material .campo-grid-autocomplete-integrado > .campo-material-autocomplete-selecao > .campo-material-autocomplete-busca {
    min-height: 30px !important;
    height: 30px;
    box-sizing: border-box;
    padding-right: 32px !important;
}
body.web-menu-moderno .web-campo-material .campo-grid-autocomplete-integrado .campo-material-autocomplete-lupa {
    top: 2px;
    right: 2px;
    width: 26px;
    height: 26px;
}
body.web-menu-moderno .web-campo-material .campo-grid-data-integrada > .ui-datepicker-trigger:hover {
    background-color: rgba(47, 128, 201, .20);
}
body.web-menu-moderno .web-campo-material .campo-grid-data-integrada > .ui-datepicker-trigger:focus-visible {
    outline: 2px solid rgba(47, 128, 201, .38);
    outline-offset: 1px;
}
body.web-menu-moderno .web-campo-material .campo-material-autocomplete > img[alt="lupa"] {
    width: 18px;
    height: 18px;
    box-sizing: border-box;
    margin: clamp(8px, var(--web-fonte-tamanho, 11px), 11px) 0 0;
    object-fit: contain;
    cursor: pointer;
}
body.web-menu-moderno .web-campo-material .campo-material-select > .select2-container,
body.web-menu-moderno .web-campo-material .campo-material-select > .ms-parent { margin: 0; }
body.web-menu-moderno .web-campo-material .campo-material-select .select2-selection--single,
body.web-menu-moderno .web-campo-material .campo-material-select .select2-selection--multiple,
body.web-menu-moderno .web-campo-material .campo-material-select .ms-choice {
    min-height: var(--ui-material-control-height);
    border-color: var(--material-campo-borda);
    border-radius: 4px;
    box-shadow: none;
}
body.web-menu-moderno .web-campo-material .campo-material-select .select2-selection--single .select2-selection__rendered,
body.web-menu-moderno .web-campo-material .campo-material-select .ms-choice > span {
    height: calc(var(--ui-material-control-height) - 2px);
    padding: 7px 30px 4px 11px;
    line-height: calc(var(--ui-material-control-height) - 13px);
}
body.web-menu-moderno .web-campo-material .campo-material-select .select2-selection--single .select2-selection__arrow { height: calc(var(--ui-material-control-height) - 2px); }
body.web-menu-moderno .web-campo-material .campo-material-foco .select2-selection--single,
body.web-menu-moderno .web-campo-material .campo-material-foco .select2-selection--multiple,
body.web-menu-moderno .web-campo-material .campo-material-foco .ms-choice {
    border-color: var(--material-campo-cor);
    box-shadow: inset 0 0 0 1px var(--material-campo-cor);
}

@media (max-width: 700px) {
    body.web-menu-moderno .material-piloto { padding: 12px 9px; }
    body.web-menu-moderno .web-campo-material.web-campo-material-grid > .div_campo { grid-column: 1 / -1; }
    body.web-menu-moderno .web-campo-material .div_campo { display: block; }
    body.web-menu-moderno .web-campo-material .div_campo > .campo-material { max-width: 100%; margin-right: 0; }
    body.web-menu-moderno .web-campo-material .campo-material > input:not([type="checkbox"]):not([type="radio"]),
    body.web-menu-moderno .web-campo-material .campo-material > select,
    body.web-menu-moderno .web-campo-material .campo-material > textarea,
    body.web-menu-moderno .web-campo-material .campo-material-autocomplete-selecao > input:not([type="checkbox"]):not([type="radio"]),
    body.web-menu-moderno .web-campo-material .campo-material-autocomplete-selecao > select,
    body.web-menu-moderno .web-campo-material .campo-material-autocomplete-selecao > textarea { max-width: 100%; }
}

body.web-menu-moderno .coolfieldset,
body.web-menu-moderno .coolfieldset.expanded {
    box-sizing: border-box;
    margin: 3px 2px;
    padding: 6px;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius);
    background: #fff;
}
body.web-menu-moderno .coolfieldset.collapsed { padding: 3px 6px; border: 1px solid var(--ui-border) !important; }
body.web-menu-moderno .coolfieldset > legend {
    display: table !important;
    width: auto !important;
    max-width: calc(100% - 20px);
    box-sizing: border-box;
    margin: 0 0 0 2px !important;
    padding: 2px 6px 2px 15px;
    color: var(--ui-primary-strong);
    border: 0 !important;
    background-color: #fff;
    font-size: 11px !important;
    font-weight: 700;
    line-height: 14px !important;
    white-space: nowrap;
}

/* Botoes e barras de acao */
body.web-menu-moderno .ui-button,
body.web-menu-moderno input[type="button"],
body.web-menu-moderno input[type="submit"],
body.web-menu-moderno input[type="reset"] {
    min-height: var(--ui-control-height);
    box-sizing: border-box;
    margin: 2px;
    padding: 0 11px;
    color: #285b7d;
    border: 1px solid #a9c7da;
    border-radius: 7px;
    outline: none;
    background: #e5f0f7;
    background-image: linear-gradient(#edf5fa, #dceaf3) !important;
    box-shadow: 0 1px 2px rgba(24,54,78,.05);
    font-weight: 650;
    cursor: pointer;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .08s ease;
}
body.web-menu-moderno .ui-button:not(.ui-state-disabled):not(:disabled):hover,
body.web-menu-moderno input[type="button"]:not(:disabled):hover,
body.web-menu-moderno input[type="submit"]:not(:disabled):hover,
body.web-menu-moderno input[type="reset"]:not(:disabled):hover { color: #174e73; border-color: #6f9fbd; background: #c9dfed; background-image: linear-gradient(#d7e8f2, #c2dbe9) !important; }
body.web-menu-moderno .ui-button:focus-visible,
body.web-menu-moderno input[type="button"]:focus-visible,
body.web-menu-moderno input[type="submit"]:focus-visible { border-color: var(--ui-accent); box-shadow: 0 0 0 3px rgba(47,128,201,.16); }
body.web-menu-moderno .ui-button:active { transform: translateY(1px); }
body.web-menu-moderno .ui-button-icon-only {
    width: var(--ui-control-height);
    min-width: var(--ui-control-height);
    padding: 0 !important;
}
body.web-menu-moderno .ui-button .ui-button-text {
    padding: 0 2px;
    line-height: calc(var(--ui-control-height) - 4px);
}
body.web-menu-moderno .ui-button-text-icon-primary .ui-button-text,
body.web-menu-moderno .ui-button-text-icons .ui-button-text { padding-left: 20px; }

body.web-menu-moderno .div-acao-consulta,
body.web-menu-moderno .DivFiltroExtra {
    min-height: var(--ui-material-control-height);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1px 1px;
    margin: 0;
    border: 0;
    background: #f3f7fa;
}
body.web-menu-moderno .DivFiltroExtra:empty {
    display: none;
    min-height: 0;
    padding: 0;
    border: 0;
}
body.web-menu-moderno .div-acao-consulta input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
body.web-menu-moderno .div-acao-consulta select:not([multiple]) {
    height: var(--ui-control-height) !important;
    min-height: var(--ui-control-height) !important;
}
body.web-menu-moderno .div-acao-consulta .ui-button,
body.web-menu-moderno .DivFiltroExtra .ui-button {
    min-height: var(--ui-control-height);
}
body.web-menu-moderno .div-acao-consulta .ui-button .ui-button-text,
body.web-menu-moderno .DivFiltroExtra .ui-button .ui-button-text {
    line-height: calc(var(--ui-control-height) - 4px);
}
body.web-menu-moderno .filtroPai { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 7px; }
body.web-menu-moderno .divFiltroSelect { display: inline-flex; align-items: center; gap: 4px; margin: 0; }
body.web-menu-moderno .barraAcoes { box-sizing: border-box; width: 100%; padding: 8px 10px; border-top: 1px solid var(--ui-border); background: #f3f7fa; }

/* Os filtros extras mantem o tratamento material e acompanham a densidade
   escolhida. O filtro principal preserva a estrutura legada. */
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno {
    container-name: web-filtro-extra-consulta;
    container-type: inline-size;
    min-height: 0;
    padding: 1px 12px 1px;
    gap: 8px 10px;
}
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect,
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .web-filtro-extra-campo {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 1 auto;
    min-width: 0;
    margin: 3px 0 1px;
}
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect > label,
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .web-filtro-extra-campo > label {
    position: absolute;
    z-index: 3;
    top: -6px;
    left: 9px;
    margin: 0;
    padding: 0 4px;
    color: #41647c;
    background: #f3f7fa;
    font-size: max(8px, var(--web-fonte-tamanho, 11px));
    font-weight: 700;
    line-height: 12px;
    white-space: nowrap;
    pointer-events: none;
}
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect:focus-within > label,
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .web-filtro-extra-campo:focus-within > label {
    color: var(--ui-primary);
}
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .web-filtro-extra-controles {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 4px;
}
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .web-filtro-extra-controles > span {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 4px;
}
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect > .ms-parent,
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect > select,
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .web-filtro-extra-controles input:not([type="checkbox"]):not([type="radio"]),
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .web-filtro-extra-controles select {
    min-width: 150px;
    max-width: 260px;
    height: var(--ui-consulta-filter-height) !important;
    min-height: var(--ui-consulta-filter-height);
    box-sizing: border-box;
    margin: 0;
}
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect .ms-choice {
    height: var(--ui-consulta-filter-height);
}
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect .ms-choice > span {
    height: calc(var(--ui-consulta-filter-height) - 2px);
    line-height: calc(var(--ui-consulta-filter-height) - 2px);
}
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect .ms-choice > div.icon-caret,
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect .ms-choice > div.icon-caret.open {
    height: calc(var(--ui-consulta-filter-height) - 2px);
}
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect .ms-choice > div.icon-caret::before {
    top: 50%;
    transform: translateY(-65%) rotate(45deg);
}
body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect .ms-choice > div.icon-caret.open::before {
    top: 50%;
    transform: translateY(-35%) rotate(225deg);
}

/* Acoes da consulta: botoes mais compactos, quebra previsivel e nomes longos
   com ellipsis. O title adicionado pelo grid preserva o texto completo. */
body.web-menu-moderno .web-acoes-consulta.web-ui-moderno {
    container-name: web-acoes-consulta;
    container-type: inline-size;
    min-height: var(--ui-material-control-height);
    align-content: center;
    gap: 4px;
    padding: clamp(2px, calc(var(--web-fonte-tamanho, 11px) - 6px), 5px) 7px;
}
body.web-menu-moderno .web-acoes-consulta.web-ui-moderno > .web-acao-consulta-botao,
body.web-menu-moderno .web-acoes-consulta.web-ui-moderno > span > .web-acao-consulta-botao {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 180px;
    min-height: var(--ui-control-height);
    margin: 0 !important;
    white-space: nowrap;
}
body.web-menu-moderno .web-acoes-consulta.web-ui-moderno .web-acao-consulta-botao .ui-button-text {
    overflow: hidden;
    max-width: 150px;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: calc(var(--ui-control-height) - 4px);
}
body.web-menu-moderno .web-acoes-consulta.web-ui-moderno > span {
    display: inline-flex !important;
    flex: 0 1 auto;
    min-width: 0;
}

@container web-filtro-extra-consulta (max-width: 760px) {
    body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect,
    body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .web-filtro-extra-campo {
        flex: 1 1 240px;
    }
    body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect > .ms-parent,
    body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .divFiltroSelect > select,
    body.web-menu-moderno .web-filtro-extra-consulta.web-ui-moderno .web-filtro-extra-controles {
        width: 100% !important;
        max-width: none;
    }
}

@container web-acoes-consulta (max-width: 1300px) {
    body.web-menu-moderno .web-acoes-consulta.web-ui-moderno {
        gap: 3px;
        padding: 4px 6px;
    }
    body.web-menu-moderno .web-acoes-consulta.web-ui-moderno > .web-acao-consulta-botao,
    body.web-menu-moderno .web-acoes-consulta.web-ui-moderno > span > .web-acao-consulta-botao {
        max-width: 150px;
        min-height: var(--ui-control-height);
        padding-right: 7px;
        padding-left: 7px;
    }
    body.web-menu-moderno .web-acoes-consulta.web-ui-moderno .web-acao-consulta-botao .ui-button-text {
        max-width: 120px;
        font-size: var(--web-fonte-tamanho, 11px);
    }
}

@container web-acoes-consulta (max-width: 760px) {
    body.web-menu-moderno .web-acoes-consulta.web-ui-moderno > .web-acao-consulta-botao,
    body.web-menu-moderno .web-acoes-consulta.web-ui-moderno > span > .web-acao-consulta-botao {
        max-width: 118px;
    }
    body.web-menu-moderno .web-acoes-consulta.web-ui-moderno .web-acao-consulta-botao .ui-button-text {
        max-width: 88px;
    }
}

/* Select2 e Multiple Select */
body.web-menu-moderno .select2-container .select2-selection--single,
body.web-menu-moderno .select2-container .select2-selection--multiple {
    min-height: var(--ui-control-height);
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-sm);
    background: #fff;
}
body.web-menu-moderno .select2-container .select2-selection--single .select2-selection__rendered { line-height: calc(var(--ui-control-height) - 2px); color: var(--ui-text); }
body.web-menu-moderno .select2-container .select2-selection--single .select2-selection__arrow { height: calc(var(--ui-control-height) - 2px); }
body.web-menu-moderno .select2-container--default.select2-container--focus .select2-selection--multiple,
body.web-menu-moderno .select2-container--default.select2-container--open .select2-selection--single,
body.web-menu-moderno .select2-container--default.select2-container--open .select2-selection--multiple { border-color: var(--ui-accent); box-shadow: 0 0 0 3px rgba(47,128,201,.12); }
body.web-menu-moderno .select2-dropdown { overflow: hidden; border-color: #aac0d0; border-radius: 8px; box-shadow: var(--ui-shadow-sm); }
body.web-menu-moderno .select2-search--dropdown { padding: 7px; background: var(--ui-surface-subtle); }
body.web-menu-moderno .select2-results__option { padding: 8px 10px; }
body.web-menu-moderno .select2-container--default .select2-results__option--highlighted[aria-selected] { color: var(--ui-primary-strong); background: var(--ui-primary-soft); }
body.web-menu-moderno .select2-container--default .select2-results__option[aria-selected="true"] { color: #fff; background: var(--ui-primary); }
body.web-menu-moderno .select2-container--default .select2-selection--multiple .select2-selection__choice { color: #245d80; border-color: #bad8e9; border-radius: 12px; background: #e7f3fa; }

body.web-menu-moderno .ms-parent { position: relative; line-height: normal; }
body.web-menu-moderno .ms-choice {
    height: var(--ui-control-height);
    box-sizing: border-box;
    color: var(--ui-text);
    border-color: var(--ui-border-strong);
    border-radius: var(--ui-radius-sm);
    background: #fff;
}
body.web-menu-moderno .ms-choice > span {
    top: 0;
    height: calc(var(--ui-control-height) - 2px);
    box-sizing: border-box;
    padding: 0 28px 0 10px;
    line-height: calc(var(--ui-control-height) - 2px);
}
body.web-menu-moderno .ms-choice > div.icon-caret,
body.web-menu-moderno .ms-choice > div.icon-caret.open {
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: calc(var(--ui-control-height) - 2px);
    margin: 0;
    border: 0;
}
body.web-menu-moderno .ms-choice > div.icon-caret::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 11px;
    width: 6px;
    height: 6px;
    box-sizing: border-box;
    border-right: 1.5px solid #738493;
    border-bottom: 1.5px solid #738493;
    transform: rotate(45deg);
    transform-origin: center;
}
body.web-menu-moderno .ms-choice > div.icon-caret.open::before {
    top: 13px;
    transform: rotate(225deg);
}
body.web-menu-moderno .ms-drop {
    left: 0;
    box-sizing: border-box;
    min-width: 100%;
    margin-top: 0;
    overflow: hidden;
    border-color: #aac0d0;
    border-radius: 8px;
    box-shadow: var(--ui-shadow-sm);
}
body.web-menu-moderno .ms-drop.bottom { top: calc(100% + 4px); }
body.web-menu-moderno .ms-search { min-height: 34px; box-sizing: border-box; padding: 4px; }
body.web-menu-moderno .ms-search input {
    width: 100%;
    height: 26px !important;
    min-height: 26px;
    box-sizing: border-box;
    margin: 0;
    padding: 4px 8px;
}
body.web-menu-moderno .ms-drop ul > li { padding: 1px 6px; }
body.web-menu-moderno .ms-drop ul > li label {
    min-height: 28px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    margin: 0;
    padding: 5px 8px 5px 30px;
    border-radius: 5px;
    line-height: 20px;
}
body.web-menu-moderno .ms-drop input[type="radio"],
body.web-menu-moderno .ms-drop input[type="checkbox"] {
    position: absolute;
    top: 50%;
    left: 8px;
    width: 16px !important;
    height: 16px;
    margin: 0;
    transform: translateY(-50%);
}
body.web-menu-moderno .ms-drop ul > li label:hover { background: var(--ui-primary-soft); }

/* Abas, acordeoes e menus contextuais */
body.web-menu-moderno .ui-tabs { padding: 0; border: 0; background: transparent; }
body.web-menu-moderno .ui-tabs .ui-tabs-nav {
    min-height: 42px;
    display: flex;
    align-items: flex-end;
    gap: 3px;
    box-sizing: border-box;
    margin: 0;
    padding: 5px 8px 0;
    border: 0;
    border-bottom: 1px solid var(--ui-border);
    border-radius: 0;
    background: #fff;
}
body.web-menu-moderno .ui-tabs .ui-tabs-nav li { min-width: 0; margin: 0; border: 0 !important; border-radius: 7px 7px 0 0; background: transparent; }
body.web-menu-moderno .ui-tabs .ui-tabs-nav li a { width: auto !important; padding: 9px 13px !important; color: var(--ui-text-muted); font-weight: 650; }
body.web-menu-moderno .ui-tabs .ui-tabs-nav li:hover { background: #f0f5f8; }
body.web-menu-moderno .ui-tabs .ui-tabs-nav li.ui-tabs-active { box-shadow: inset 0 -3px 0 var(--ui-accent); background: var(--ui-primary-soft); }
body.web-menu-moderno .ui-tabs .ui-tabs-nav li.ui-tabs-active a { color: var(--ui-primary-strong); }
body.web-menu-moderno .ui-tabs .ui-tabs-panel { box-sizing: border-box; padding: 12px !important; background: var(--ui-surface-subtle); }

body.web-menu-moderno .ui-accordion .ui-accordion-header { min-height: 36px; display: flex; align-items: center; box-sizing: border-box; margin-top: 5px; padding: 7px 10px 7px 30px; border-radius: 7px; font-weight: 650; }
body.web-menu-moderno .ui-accordion .ui-accordion-content { margin-bottom: 5px; padding: 10px !important; border-radius: 0 0 7px 7px; }
body.web-menu-moderno .ui-menu,
body.web-menu-moderno .ui-autocomplete { padding: 5px; border: 1px solid #aac0d0; border-radius: 8px; background: #fff; box-shadow: var(--ui-shadow-sm); }
body.web-menu-moderno .ui-menu .ui-menu-item a { min-height: 30px; box-sizing: border-box; padding: 7px 9px; border: 0; border-radius: 5px; }

/* Calendario e tooltips */
body.web-menu-moderno .ui-datepicker { width: 18em; padding: 8px; border: 1px solid #aac0d0; border-radius: 10px; box-shadow: var(--ui-shadow); }
body.web-menu-moderno .ui-datepicker .ui-datepicker-header { padding: 7px; border: 0; border-radius: 7px; background: var(--ui-primary-soft); }
body.web-menu-moderno .ui-datepicker th { color: var(--ui-text-muted); font-size: 11px; }
body.web-menu-moderno .ui-datepicker td a { padding: 6px; border: 0; border-radius: 6px; text-align: center; }
body.web-menu-moderno .ui-datepicker td a:hover { background: var(--ui-primary-soft); }
body.web-menu-moderno .ui-datepicker td .ui-state-active { color: #fff; background: var(--ui-primary); }
body.web-menu-moderno .ui-tooltip,
body.web-menu-moderno .campo-material-hint-balao {
    z-index: 100150 !important;
    max-width: min(360px, calc(100vw - 24px));
    box-sizing: border-box;
    padding: 8px 10px;
    color: #fff;
    border: 0;
    border-radius: 7px;
    background: #243d4f;
    box-shadow: var(--ui-shadow-sm);
    font-size: 11px;
    line-height: 1.45;
    text-align: left;
    pointer-events: auto;
}

/* Visualizador de anexos: o ListFile usa modal Bootstrap com z-index legado
   9999, abaixo do menu moderno (99999). A propria camada do modal fornece a
   mascara para que imagem e PDF cubram tambem o cabecalho superior. */
body.web-menu-moderno .modal.web-modal-arquivo {
    z-index: 100300 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(8, 20, 29, .58);
}
body.web-menu-moderno .modal.web-modal-arquivo > .modal-dialog,
body.web-menu-moderno .modal.web-modal-arquivo > .modal-dialog > .modal-content,
body.web-menu-moderno .modal.web-modal-arquivo > .modal-dialog > .modal-content > .modal-body {
    z-index: 1 !important;
}
body.web-menu-moderno .ui-tooltip { position: absolute; }
body.web-menu-moderno .campo-material-hint-balao { position: fixed; }
body.web-menu-moderno .ui-progressbar { height: 10px; overflow: hidden; border: 0; border-radius: 8px; background: #e5edf3; }
body.web-menu-moderno .ui-progressbar .ui-progressbar-value { margin: 0; border: 0; border-radius: 8px; background: linear-gradient(90deg, var(--ui-primary), #39a3cf); }
body.web-menu-moderno .ui-slider { border: 0; border-radius: 8px; background: #dce6ed; }
body.web-menu-moderno .ui-slider .ui-slider-range { background: var(--ui-primary); }
body.web-menu-moderno .ui-slider .ui-slider-handle { width: 16px; height: 16px; border: 2px solid #fff; border-radius: 50%; background: var(--ui-primary); box-shadow: 0 1px 4px rgba(20,55,78,.25); }

body.web-menu-moderno .panel,
body.web-menu-moderno .card {
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius);
    background: #fff;
    box-shadow: var(--ui-shadow-sm);
}
body.web-menu-moderno .panel-heading,
body.web-menu-moderno .card-header { padding: 9px 12px; color: #315a75; border-bottom: 1px solid var(--ui-border); border-radius: 8px 8px 0 0; background: var(--ui-surface-subtle); font-weight: 700; }
body.web-menu-moderno .panel-body,
body.web-menu-moderno .card-body { padding: 12px; }
body.web-menu-moderno .alert { padding: 10px 12px; border: 1px solid #bad7e8; border-radius: 8px; color: #315a75; background: #eaf5fb; }
body.web-menu-moderno .alert-success { color: var(--ui-success); border-color: #b9dfca; background: var(--ui-success-soft); }
body.web-menu-moderno .alert-warning { color: var(--ui-warning); border-color: #ead29c; background: var(--ui-warning-soft); }
body.web-menu-moderno .alert-danger { color: #8c2330; border-color: #e6a3aa; background: var(--ui-danger-soft); }
body.web-menu-moderno .badge { padding: 3px 7px; border-radius: 10px; color: #245d80; background: var(--ui-primary-soft); font-weight: 700; }
body.web-menu-moderno .ui-layout-pane { color: var(--ui-text); border-color: var(--ui-border) !important; background: var(--ui-surface-subtle) !important; }

/* ParamQuery Grid */
body.web-menu-moderno .pq-grid {
    overflow: hidden;
    color: var(--ui-text);
    border: 1px solid var(--ui-border) !important;
    border-radius: 9px !important;
    background: #fff;
    box-shadow: 0 2px 8px rgba(24,54,78,.06);
}
body.web-menu-moderno .pq-grid table { box-shadow: none !important; font-family: inherit; font-size: 11px; }
body.web-menu-moderno .pq-grid-top,
body.web-menu-moderno .pq-grid-bottom,
body.web-menu-moderno .pq-grid-toolbar,
body.web-menu-moderno .pq-grid-footer { border-color: var(--ui-border); background: var(--ui-surface-subtle) !important; background-image: none !important; }
body.web-menu-moderno .pq-grid-bottom {
    position: relative;
    box-sizing: border-box;
    overflow: hidden;
    border-top: 1px solid var(--ui-border);
}
body.web-menu-moderno .pq-grid-footer { width: 100%; box-sizing: border-box; }
body.web-menu-moderno .pq-grid-title { color: var(--ui-text); font-size: 11px; font-weight: 700; }
body.web-menu-moderno .pq-header-outer,
body.web-menu-moderno .pq-grid-header,
body.web-menu-moderno table.pq-grid-header-table td,
body.web-menu-moderno td.pq-grid-number-col {
    color: #315a75;
    border-color: #cbd9e3 !important;
    background: #edf4f8 !important;
    background-image: none !important;
    font-weight: 700;
}
body.web-menu-moderno table.pq-grid-header-table div.pq-td-div { padding: 7px 8px; }
body.web-menu-moderno .pq-grid td.pq-grid-cell,
body.web-menu-moderno .pq-grid td.pq-grid-number-cell { color: #304252; border-color: #e2e8ed !important; background-color: #fff; }
body.web-menu-moderno .pq-grid tr.pq-grid-oddRow td.pq-grid-cell { background-color: #f8fafc; }
body.web-menu-moderno .pq-grid td .pq-td-div { padding: 6px 8px; }
body.web-menu-moderno .pq-grid tr.pq-grid-row-hover td.pq-grid-cell,
body.web-menu-moderno .pq-grid td.pq-grid-cell-hover { color: #183f58; background: #eaf4fa !important; }
body.web-menu-moderno .pq-grid tr.pq-row-select td.pq-grid-cell,
body.web-menu-moderno .pq-grid td.pq-cell-select { color: #153e5b; background: #ddecf8 !important; }
body.web-menu-moderno .pq-grid tr:focus,
body.web-menu-moderno .pq-grid td:focus { outline: 2px solid rgba(47,128,201,.35); outline-offset: -2px; }
body.web-menu-moderno .pq-grid .pq-grid-number-cell { color: #6f8291; background: #f1f5f8 !important; }
body.web-menu-moderno .pq-grid tr.pq-group-row td { color: #285b7d; background: #eaf2f7 !important; font-weight: 700; }
body.web-menu-moderno .pq-grid tr.pq-summary-row td,
body.web-menu-moderno .pq-grid-summary .pq-td-div { color: #284b61; background: #eef3f6 !important; font-weight: 700; }
body.web-menu-moderno .pq-grid .pq-cell-editor,
body.web-menu-moderno .pq-grid-editor-default { color: var(--ui-text); border-color: var(--ui-accent); border-radius: 3px; background: #fff; box-shadow: inset 0 0 0 1px var(--ui-accent); }
body.web-menu-moderno .pq-pager {
    min-height: var(--ui-consulta-pager-height);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 3px;
    overflow: hidden;
    padding: clamp(2px, calc(var(--web-fonte-tamanho, 11px) - 7px), 4px) 8px;
    color: var(--ui-text-muted);
    background: var(--ui-surface-subtle);
    white-space: nowrap;
}
body.web-menu-moderno .pq-pager > * { flex: 0 0 auto; }
body.web-menu-moderno .pq-pager .pq-page-placeholder { display: inline-flex; align-items: center; }
body.web-menu-moderno .pq-pager .pq-pager-msg { white-space: nowrap; }
body.web-menu-moderno .pq-pager .pq-pager-msg:empty { display: none; }
body.web-menu-moderno .pq-pager input {
    width: 38px;
    height: max(24px, calc(var(--ui-consulta-pager-height) - 12px));
    min-height: max(24px, calc(var(--ui-consulta-pager-height) - 12px));
    margin: 0 4px;
    padding: 2px;
}
body.web-menu-moderno .pq-grid button.ui-button-icon-only {
    width: max(26px, calc(var(--ui-consulta-pager-height) - 10px));
    min-width: max(26px, calc(var(--ui-consulta-pager-height) - 10px));
    min-height: max(26px, calc(var(--ui-consulta-pager-height) - 10px));
    margin: 0 2px;
}
body.web-menu-moderno .pq-grid-inner { border-bottom: 1px solid #c7d5df; }
body.web-menu-moderno .pq-hscroll { z-index: auto; }
body.web-menu-moderno .pq-sb-vert-t,
body.web-menu-moderno .pq-sb-horiz-t,
body.web-menu-moderno .pq-sb-vert-wt,
body.web-menu-moderno .pq-sb-horiz-wt { background: #edf2f5 !important; background-image: none !important; }
body.web-menu-moderno .pq-sb-slider .vert-slider-bg,
body.web-menu-moderno .pq-sb-slider-h .horiz-slider-bg { border-radius: 8px; background: #aebfcb !important; background-image: none !important; }
body.web-menu-moderno .pq-hscroll,
body.web-menu-moderno .pq-hvscroll-square {
    box-sizing: border-box;
    border-top: 1px solid #d6e1e8 !important;
    background: #f5f8fa !important;
    background-image: none !important;
}
body.web-menu-moderno .pq-sb-horiz-t,
body.web-menu-moderno .pq-sb-horiz-wt {
    height: 17px !important;
    overflow: hidden;
    background: #f5f8fa !important;
    background-image: none !important;
}
body.web-menu-moderno .pq-sb-horiz-t::before,
body.web-menu-moderno .pq-sb-horiz-wt::before {
    content: "";
    position: absolute;
    top: 6px;
    right: 18px;
    left: 18px;
    height: 5px;
    border-radius: 999px;
    background: #dce5eb;
    pointer-events: none;
}
body.web-menu-moderno .pq-sb-horiz-t .pq-sb-slider-h,
body.web-menu-moderno .pq-sb-horiz-wt .pq-sb-slider-h {
    top: 4px !important;
    height: 9px !important;
    overflow: hidden;
    box-sizing: border-box;
    border: 0 !important;
    border-radius: 999px !important;
    background: #aebfcb !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 1px rgba(73, 101, 121, .08);
    cursor: ew-resize;
}
body.web-menu-moderno .pq-sb-horiz-t .pq-sb-slider-h:hover,
body.web-menu-moderno .pq-sb-horiz-wt .pq-sb-slider-h:hover {
    background: #91a8ba !important;
}
body.web-menu-moderno .pq-sb-horiz-wt .pq-sb-slider-h > * {
    height: 9px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    background-image: none !important;
    vertical-align: top;
}
body.web-menu-moderno .pq-sb-horiz-t .pq-sb-btn,
body.web-menu-moderno .pq-sb-horiz-wt .pq-sb-btn {
    top: 0 !important;
    width: 17px !important;
    height: 17px !important;
    box-sizing: border-box;
    border: 0 !important;
    border-radius: 4px !important;
    background: transparent !important;
    background-image: none !important;
}
body.web-menu-moderno .pq-sb-horiz-t .pq-sb-btn:hover,
body.web-menu-moderno .pq-sb-horiz-wt .pq-sb-btn:hover {
    background: #e2ebf0 !important;
}
body.web-menu-moderno .pq-sb-horiz-t .pq-sb-btn .ui-icon {
    display: none !important;
}
body.web-menu-moderno .pq-sb-horiz-t .pq-sb-btn::before,
body.web-menu-moderno .pq-sb-horiz-wt .pq-sb-btn::before {
    content: "";
    position: absolute;
    top: 6px;
    width: 5px;
    height: 5px;
    box-sizing: border-box;
    border-top: 1px solid #668095;
    border-left: 1px solid #668095;
}
body.web-menu-moderno .pq-sb-horiz-t .left-btn::before,
body.web-menu-moderno .pq-sb-horiz-wt .left-btn::before {
    left: 7px;
    transform: rotate(-45deg);
}
body.web-menu-moderno .pq-sb-horiz-t .right-btn::before,
body.web-menu-moderno .pq-sb-horiz-wt .right-btn::before {
    right: 7px;
    transform: rotate(135deg);
}
body.web-menu-moderno .pq-vscroll {
    box-sizing: border-box;
    border-left: 1px solid #d6e1e8 !important;
    background: #f5f8fa !important;
    background-image: none !important;
}
body.web-menu-moderno .pq-sb-vert-t,
body.web-menu-moderno .pq-sb-vert-wt {
    width: 17px !important;
    overflow: hidden;
    background: #f5f8fa !important;
    background-image: none !important;
}
body.web-menu-moderno .pq-sb-vert-t::before,
body.web-menu-moderno .pq-sb-vert-wt::before {
    content: "";
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 6px;
    width: 5px;
    border-radius: 999px;
    background: #dce5eb;
    pointer-events: none;
}
body.web-menu-moderno .pq-sb-vert-t > .pq-sb-slider:not(.pq-sb-slider-h),
body.web-menu-moderno .pq-sb-vert-wt > .pq-sb-slider:not(.pq-sb-slider-h) {
    left: 4px !important;
    width: 9px !important;
    overflow: hidden;
    box-sizing: border-box;
    border: 0 !important;
    border-radius: 999px !important;
    background: #aebfcb !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 1px rgba(73, 101, 121, .08);
    cursor: ns-resize;
}
body.web-menu-moderno .pq-sb-vert-t > .pq-sb-slider:not(.pq-sb-slider-h):hover,
body.web-menu-moderno .pq-sb-vert-wt > .pq-sb-slider:not(.pq-sb-slider-h):hover {
    background: #91a8ba !important;
}
body.web-menu-moderno .pq-sb-vert-wt > .pq-sb-slider:not(.pq-sb-slider-h) > * {
    width: 9px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    background-image: none !important;
}
body.web-menu-moderno .pq-sb-vert-t .pq-sb-btn,
body.web-menu-moderno .pq-sb-vert-wt .pq-sb-btn {
    left: 0 !important;
    width: 17px !important;
    height: 17px !important;
    box-sizing: border-box;
    border: 0 !important;
    border-radius: 4px !important;
    background: transparent !important;
    background-image: none !important;
}
body.web-menu-moderno .pq-sb-vert-t .pq-sb-btn:hover,
body.web-menu-moderno .pq-sb-vert-wt .pq-sb-btn:hover {
    background: #e2ebf0 !important;
}
body.web-menu-moderno .pq-sb-vert-t .pq-sb-btn .ui-icon {
    display: none !important;
}
body.web-menu-moderno .pq-sb-vert-t .pq-sb-btn::before,
body.web-menu-moderno .pq-sb-vert-wt .pq-sb-btn::before {
    content: "";
    position: absolute;
    left: 6px;
    width: 5px;
    height: 5px;
    box-sizing: border-box;
    border-top: 1px solid #668095;
    border-left: 1px solid #668095;
}
body.web-menu-moderno .pq-sb-vert-t .top-btn::before,
body.web-menu-moderno .pq-sb-vert-wt .top-btn::before {
    top: 7px;
    transform: rotate(45deg);
}
body.web-menu-moderno .pq-sb-vert-t .bottom-btn::before,
body.web-menu-moderno .pq-sb-vert-wt .bottom-btn::before {
    top: 5px;
    transform: rotate(-135deg);
}
body.web-menu-moderno .pq-loading {
    z-index: 20;
}
body.web-menu-moderno .pq-loading > .pq-loading-bg {
    background: rgba(235, 242, 247, .64) !important;
    opacity: 1 !important;
    backdrop-filter: blur(1px);
}
body.web-menu-moderno .pq-loading-mask {
    left: 50%;
    top: 50%;
    width: auto !important;
    min-width: 148px;
    height: 42px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 8px 14px !important;
    color: #21465e !important;
    border: 1px solid #bcd1df !important;
    border-radius: 21px !important;
    background: rgba(255, 255, 255, .96) !important;
    background-image: none !important;
    box-shadow: 0 8px 24px rgba(25, 55, 75, .18) !important;
    transform: translate(-50%, -50%);
}
body.web-menu-moderno .pq-grid div.pq-loading-mask > div {
    position: relative;
    min-height: 20px;
    box-sizing: border-box;
    padding: 2px 0 2px 28px !important;
    color: inherit !important;
    background: none !important;
    font-size: 11px;
    font-weight: 650;
    line-height: 16px !important;
    white-space: nowrap;
}
body.web-menu-moderno .pq-grid div.pq-loading-mask > div::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 16px;
    height: 16px;
    box-sizing: border-box;
    border: 2px solid rgba(39, 139, 184, .22);
    border-top-color: var(--ui-primary);
    border-radius: 50%;
    transform: translateY(-50%);
    animation: web-grid-carregando .72s linear infinite;
}
@keyframes web-grid-carregando {
    to { transform: translateY(-50%) rotate(360deg); }
}

/* Carregamento global acionado por Carregando(...). */
body.web-menu-moderno .web-carregando-overlay {
    position: fixed !important;
    inset: 0;
    z-index: 100200 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 20px;
    color: var(--ui-text) !important;
    background: rgba(235, 242, 247, .58) !important;
    opacity: 1 !important;
    filter: none !important;
    backdrop-filter: blur(2px);
}
body.web-menu-moderno .web-carregando-conteudo {
    position: static !important;
    width: auto !important;
    height: auto !important;
    max-width: min(380px, calc(100vw - 40px));
}
body.web-menu-moderno .web-carregando-centro {
    min-width: 168px;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    box-sizing: border-box;
    padding: 12px 18px;
    color: #21465e;
    border: 1px solid #bcd1df;
    border-radius: 14px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 14px 38px rgba(25, 55, 75, .22);
}
body.web-menu-moderno .web-carregando-spinner {
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px;
    box-sizing: border-box;
    border: 3px solid rgba(39, 139, 184, .22);
    border-top-color: var(--ui-primary);
    border-radius: 50%;
    background: none !important;
    animation: web-carregando-global .72s linear infinite;
}
body.web-menu-moderno .web-carregando-mensagem {
    min-width: 0;
    overflow: hidden;
    font-size: 12px;
    font-weight: 650;
    line-height: 18px;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@keyframes web-carregando-global {
    to { transform: rotate(360deg); }
}

/* Estados de negocio preservados com contraste mais confortavel */
body.web-menu-moderno .linha_chamado_destaque,
body.web-menu-moderno .linha_chamado_destaque td,
body.web-menu-moderno .linha_chamado_destaque_negrito,
body.web-menu-moderno .linha_chamado_destaque_negrito td { color: #7d2029 !important; background-color: #fee2e4 !important; }
body.web-menu-moderno .linha_chamado_destaque_linha_zebrada,
body.web-menu-moderno .linha_chamado_destaque_linha_zebrada td,
body.web-menu-moderno .linha_chamado_destaque_negrito_linha_zebrada,
body.web-menu-moderno .linha_chamado_destaque_negrito_linha_zebrada td { color: #761b25 !important; background-color: #fbd2d6 !important; }
body.web-menu-moderno .negrito,
body.web-menu-moderno .negrito_linha_zebrada { color: #243a49; background-color: #eef2f5 !important; }

/* Barra inferior, mensagens, favoritos e utilitarios */
body.web-menu-moderno .barraTarefas {
    height: var(--web-tarefas-altura);
    box-sizing: border-box;
    gap: 3px;
    padding: 4px 8px;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.14);
    background: linear-gradient(90deg, #0d527b, #176b91) !important;
    box-shadow: 0 -3px 12px rgba(12,47,70,.16);
    backdrop-filter: blur(8px);
    scrollbar-color: rgba(255,255,255,.35) transparent;
    scrollbar-width: thin;
}
body.web-menu-moderno .menubar_janela {
    position: relative;
    width: auto;
    min-width: 96px;
    max-width: 220px;
    height: 28px !important;
    flex: 0 0 auto;
    box-sizing: border-box;
    margin: 0;
    padding: 5px 28px 5px 12px;
    overflow: hidden;
    color: rgba(255,255,255,.88);
    border: 1px solid transparent;
    border-radius: 5px;
    background: rgba(255,255,255,.08) !important;
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    line-height: 16px;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.web-menu-moderno .menubar_janela:hover { color: #fff; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.16) !important; }
body.web-menu-moderno .menubar_janela_ativa { color: #fff; background: rgba(255,255,255,.20) !important; box-shadow: inset 0 -3px #61d2ff; }
body.web-menu-moderno .menubar_janela_x { position: absolute; top: 8px; right: 8px; width: 11px; height: 11px; border: 0; opacity: .68; filter: brightness(0) invert(1); }
body.web-menu-moderno .menubar_janela_x:hover { opacity: 1; }
body.web-menu-moderno .menubar_espaco { display: none; }

body.web-menu-moderno .divAreaMensagem { overflow: visible; border: 0; background: transparent; }
body.web-menu-moderno .divAreaMensagemButton { height: 28px; box-sizing: border-box; padding: 3px 10px; color: #fff; border: 0; background: linear-gradient(90deg, var(--ui-primary-strong), var(--ui-primary)) !important; }
body.web-menu-moderno .spanUsuarioInfo { color: #fff; font-size: 11px; line-height: 22px; }
body.web-menu-moderno .divAreaMensagemFilho { color: var(--ui-text); border: 1px solid var(--ui-border); background: rgba(255,255,255,.97); box-shadow: var(--ui-shadow-sm); }
body.web-menu-moderno .divAreaMensagemEmp { border: 1px solid var(--ui-border); border-radius: 10px 0 0 10px; background-color: #fff; box-shadow: var(--ui-shadow-sm); }

body.web-menu-moderno .divFavorito {
    width: 48px;
    top: 8px;
    right: 8px;
    height: calc(100vh - var(--web-tarefas-altura) - 16px);
    box-sizing: border-box;
    padding: 5px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid var(--ui-border);
    border-radius: 10px;
    background: rgba(255,255,255,.96);
    box-shadow: var(--ui-shadow-sm);
}
body.web-menu-moderno .favorito,
body.web-menu-moderno .iconWidget { width: 36px; height: 36px; box-sizing: border-box; margin: 0 0 5px; border: 1px solid transparent; border-radius: 8px; background-position: center; background-size: 22px 22px; }
body.web-menu-moderno .favorito:hover,
body.web-menu-moderno .iconWidget:hover { border-color: #a9c9df; background-color: var(--ui-primary-soft); }

body.web-menu-moderno .web-campo-material > .hint_tela {
    display: block;
    float: none;
    clear: both;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    order: -1000;
}
body.web-menu-moderno .web-campo-material.web-campo-material-grid > .hint_tela {
    grid-row: 1;
    align-self: start;
    margin: 0 0 6px !important;
}
body.web-menu-moderno .hint_tela { color: #315a75; border: 1px solid #bad7e8; background: #eaf5fb; }
body.web-menu-moderno .aviso-card { border-color: var(--ui-border); border-radius: var(--ui-radius); background: #fff; box-shadow: var(--ui-shadow-sm); }
body.web-menu-moderno .swal2-popup { border-radius: 14px; font-family: Inter, "Segoe UI", sans-serif; box-shadow: var(--ui-shadow); }
body.web-menu-moderno .swal2-title { color: var(--ui-text); font-size: 21px; }
body.web-menu-moderno .swal2-confirm { border-radius: 7px !important; background: var(--ui-primary) !important; }
body.web-menu-moderno .swal2-deny { border-radius: 7px !important; background: var(--ui-danger) !important; }
body.web-menu-moderno .swal2-container.web-mensagem-simples-container {
    z-index: 100100;
    box-sizing: border-box;
    padding-bottom: calc(var(--web-tarefas-altura) + 10px) !important;
    background: transparent !important;
    pointer-events: none;
}
body.web-menu-moderno .web-mensagem-simples-popup {
    max-width: min(420px, calc(100vw - 24px));
    border: 1px solid var(--ui-border);
    box-shadow: var(--ui-shadow) !important;
    pointer-events: auto;
}
body.web-menu-moderno .web-mensagem-simples-popup .swal2-title {
    margin: 0 8px;
    padding: 0;
    font-size: 12px;
    line-height: 1.45;
    text-align: left;
}

/* Mantem os controles da lateral isolados dos estilos de formulario legado. */
body.web-menu-moderno .web-menu-busca {
    min-height: 38px !important;
    margin: 0 !important;
    padding: 8px 11px 8px 34px !important;
    border-color: #e1e8ef !important;
    border-radius: 9px !important;
    background: #f1f5fa !important;
    box-shadow: none !important;
}
body.web-menu-moderno .web-menu-busca:focus { border-color: #3d83d5 !important; background: #fff !important; box-shadow: 0 2px 9px rgba(49,105,184,.15) !important; }
body.web-menu-moderno .web-menu-sistema-select {
    min-height: 38px !important;
    margin: 0 !important;
    padding: 7px 30px 7px 10px !important;
    border-color: #d9e3ec !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}

@media (max-width: 900px) {
    body.web-menu-moderno { font-size: var(--web-fonte-tamanho, 11px) !important; }
    body.web-menu-moderno .ui-dialog { max-width: calc(100vw - 12px) !important; }
    body.web-menu-moderno .ui-dialog .ui-dialog-titlebar { min-height: 36px; }
    body.web-menu-moderno .ui-dialog .ui-dialog-content { padding: 0 !important; }
    body.web-menu-moderno .ui-dialog.avs-dialog-manutencao .ui-dialog-content { padding: 0 !important; }
    body.web-menu-moderno .div_campo { width: 100%; box-sizing: border-box; margin-right: 0; }
    body.web-menu-moderno .div_campo input:not([type="checkbox"]):not([type="radio"]),
    body.web-menu-moderno .div_campo select,
    body.web-menu-moderno .div_campo textarea { max-width: 100%; }
    body.web-menu-moderno .ui-tabs .ui-tabs-nav { overflow-x: auto; overflow-y: hidden; flex-wrap: nowrap; }
    body.web-menu-moderno .ui-tabs .ui-tabs-nav li { flex: 0 0 auto; }
    body.web-menu-moderno .divFavorito { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    body.web-menu-moderno *,
    body.web-menu-moderno *::before,
    body.web-menu-moderno *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
