/* ─── 2. FONT FACES ──────────────────────────────────────── */

@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 100; font-display: swap; src: url('./fonts/outfit-100.woff2') format('woff2'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 200; font-display: swap; src: url('./fonts/outfit-200.woff2') format('woff2'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 300; font-display: swap; src: url('./fonts/outfit-300.woff2') format('woff2'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/outfit-400.woff2') format('woff2'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 500; font-display: swap; src: url('./fonts/outfit-500.woff2') format('woff2'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 600; font-display: swap; src: url('./fonts/outfit-600.woff2') format('woff2'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/outfit-700.woff2') format('woff2'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 800; font-display: swap; src: url('./fonts/outfit-800.woff2') format('woff2'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 900; font-display: swap; src: url('./fonts/outfit-900.woff2') format('woff2'); }

@font-face { font-family: 'Material Icons'; font-style: normal; font-weight: 400; src: local('Material Outlined'), url('./fonts/MaterialIcons-Outline.woff2') format('woff2'); }

@font-face { font-family: 'Roboto';      src: url('../../CardControll/Roboto/Roboto-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Roboto-Bold'; src: url('../../CardControll/Roboto/Roboto-Bold.ttf')    format('truetype'); }

/* Poppins — devanagari */
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 300; font-display: swap; src: url('./fonts/poppins1.woff2') format('woff2'); unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09; }
/* Poppins — latin-ext */
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 300; font-display: swap; src: url('./fonts/poppins2.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Poppins — latin */
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 300; font-display: swap; src: url('./fonts/poppins3.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/poppins4.woff2') format('woff2'); unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/poppins5.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/poppins6.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 500; font-display: swap; src: url('./fonts/poppins7.woff2') format('woff2'); unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 500; font-display: swap; src: url('./fonts/poppins8.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 500; font-display: swap; src: url('./fonts/poppins9.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/poppins10.woff2') format('woff2'); unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/poppins11.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/poppins12.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }


/* ─── 3. CSS VARIABLES ───────────────────────────────────── */

:root {
  /* App theme */
  --cor001: #fff;
  --cor002: #fff;
  --cor003: #f26f35;

  /* Calendar */
  --corlaranja: #dda743;
  --corlaranjafonte: #ff7300;
  --corverde: rgb(42, 175, 42);
  --cornumeriodia: rgb(105, 98, 98);
  --cordisable: #cecaca;
  --cordia: #fbf7f7;
  --corresumop: #f0f0f0;
  --corresumoi: #fafafa;
  --corresumor: #00a7ff;
  --corresumos: #ddd9d9;
}


/* ─── 4. BASE / RESET ────────────────────────────────────── */
*, ::before, ::after {
  box-sizing: border-box;
}

html {
  overflow-y: scroll;
}

body {
  background-color: #f9f9f9 !important;
  padding-left: 17px;
  width: calc(100vw - 17px);
}

@media screen and (min-width: 1058px) {
  body {
    padding-left: 17px;
    width: calc(100vw - 17px);
  }
}

a { display: inline-block; }

form * {
  font-family: 'Poppins', verdana;
  font-size: 9pt;
}

.material-icons {
  font-family: 'Material Icons', 'Material Symbols Outlined';
  font-size: 24px;
  line-height: 1;
  display: inline-block;
  white-space: nowrap;
  direction: ltr;
  -moz-font-feature-settings: 'liga';
  -moz-osx-font-smoothing: grayscale;
  
}

.iconOutline {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

input[type="checkbox"] {
  width: 18px;
  height: 18px;
  padding: unset;
  margin: unset;
  vertical-align: sub;
}

input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 14px;
  height: 14px;
  border: 1px solid black;
  border-radius: 50%;
  outline: none;
  cursor: pointer;
  position: relative;
}

input[type="radio"]:checked::before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: black;
  border: 2px solid black;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	border:0px;
}

img[disabled] {
  background: unset !important;
  box-shadow: unset !important;
  border: unset !important;
  cursor: unset !important;
}

input[src$="ActionDisabled.gif"],
img[src$="ActionDisabled.gif"] {
  border: unset !important;
  display: none !important;
}

img[src$="ActionDisabled.gif"]:hover {
  background: unset !important;
  box-shadow: unset !important;
}

img[src=""] { display: none; }

span[id*="_NewRow"] { color: var(--cor003) !important; }

iframe[name="FITIFRAME"] {
  overflow: auto;
  width: 100% !important;
  display: block;
  height: unset !important;
}


/* ─── 5. CARD ────────────────────────────────────────────── */

.fade { transition: opacity .15s linear; }

@media (prefers-reduced-motion: reduce) {
  .fade { transition: none; }
}

.fade:not(.show) { opacity: 0; }

.collapse:not(.show) { display: none; }

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height .15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing { transition: none; }
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid #e3e6f0;
  border-radius: .35rem;
}

.card > hr { margin-right: 0; margin-left: 0; }

.card > .list-group { border-top: inherit; border-bottom: inherit; }

.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: calc(.35rem - 1px);
  border-top-right-radius: calc(.35rem - 1px);
}

.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(.35rem - 1px);
  border-bottom-left-radius: calc(.35rem - 1px);
}

.card > .card-header + .list-group,
.card > .list-group + .card-footer { border-top: 0; }

.card-body { flex: 1 1 auto; min-height: 1px; padding: 1.25rem; }

.card-title { margin-bottom: .75rem; }

.card-subtitle { margin-top: -.375rem; margin-bottom: 0; }

.card-text:last-child { margin-bottom: 0; }

.card-link:hover { text-decoration: none; }

.card-link + .card-link { margin-left: 1.25rem; }

.card-header {
  padding: .75rem 1.25rem;
  margin-bottom: 0;
  background-color: #f8f9fc;
  border-bottom: 1px solid #e3e6f0;
}

.card-header:first-child {
  border-radius: calc(.35rem - 1px) calc(.35rem - 1px) 0 0;
}

.card-footer {
  padding: .75rem 1.25rem;
  background-color: #f8f9fc;
  border-top: 1px solid #e3e6f0;
}

.card-footer:last-child {
  border-radius: 0 0 calc(.35rem - 1px) calc(.35rem - 1px);
}

.card-header-tabs {
  margin-right: -.625rem;
  margin-bottom: -.75rem;
  margin-left: -.625rem;
  border-bottom: 0;
}

.card-header-pills { margin-right: -.625rem; margin-left: -.625rem; }

.card-img-overlay {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  padding: 1.25rem;
  border-radius: calc(.35rem - 1px);
}

.card-img, .card-img-bottom, .card-img-top { flex-shrink: 0; width: 100%; }

.card-img, .card-img-top {
  border-top-left-radius: calc(.35rem - 1px);
  border-top-right-radius: calc(.35rem - 1px);
}

.card-img, .card-img-bottom {
  border-bottom-right-radius: calc(.35rem - 1px);
  border-bottom-left-radius: calc(.35rem - 1px);
}

.card-deck .card { margin-bottom: .75rem; }

@media (min-width: 576px) {
  .card-deck { display: flex; flex-flow: row wrap; margin-right: -.75rem; margin-left: -.75rem; }
  .card-deck .card { flex: 1 0 0%; margin-right: .75rem; margin-bottom: 0; margin-left: .75rem; }
}

.card-group > .card { margin-bottom: .75rem; }

@media (min-width: 576px) {
  .card-group { display: flex; flex-flow: row wrap; }
  .card-group > .card { flex: 1 0 0%; margin-bottom: 0; }
  .card-group > .card + .card { margin-left: 0; border-left: 0; }
  .card-group > .card:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
  .card-group > .card:not(:last-child) .card-header,
  .card-group > .card:not(:last-child) .card-img-top { border-top-right-radius: 0; }
  .card-group > .card:not(:last-child) .card-footer,
  .card-group > .card:not(:last-child) .card-img-bottom { border-bottom-right-radius: 0; }
  .card-group > .card:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
  .card-group > .card:not(:first-child) .card-header,
  .card-group > .card:not(:first-child) .card-img-top { border-top-left-radius: 0; }
  .card-group > .card:not(:first-child) .card-footer,
  .card-group > .card:not(:first-child) .card-img-bottom { border-bottom-left-radius: 0; }
}

.card-columns .card { margin-bottom: .75rem; }

@media (min-width: 576px) {
  .card-columns {
    -moz-column-count: 3;
    column-count: 3;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }
  .card-columns .card { display: inline-block; width: 100%; }
}


/* ─── 6. HEADER / TOP NAV ────────────────────────────────── */

.sos-main-body {
  position: sticky;
  top: 0;
  background-color: white;
  z-index: 10;
}

.sos-bootstrap-scope .sos-header {
  background-color: #fff;
  display: flex;
  height: 59px;
}

.sos-bootstrap-scope .sos-logo-column {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  margin-left: 55px;
  margin-top: 26px;
}

.sos-bootstrap-scope .sos-logo-column img { height: 50px; object-fit: contain; }

.sos-bootstrap-scope .sos-content-column {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.sos-bootstrap-scope .sos-header-top {
  color: #000;
  font-size: 14px;
  text-align: right;
  margin-top: 9px;
}

.sos-bootstrap-scope .sos-header-bottom {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.navbar-expand-lg .navbar-toggler {
	display: none;
}

.navbar-nav a.active {
  color: var(--cor003) !important;
}

.navbar-expand-lg .navbar-nav {
	flex-direction: row;
}

.navbar-expand-lg .navbar-collapse {
	display: flex !important;
	flex-basis: auto;
}

.sos-bootstrap-scope .sos-navbar-nav {
  gap: 10px;
  margin: 0;
}

.nav-link {
  padding: 0.5rem 8px;
}

.navbar-nav a {
  color: #000000 !important;
  text-decoration: none;
  background-color: transparent;
}

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.sos-bootstrap-scope .sos-navbar-nav { gap: 10px; margin: 0; }

.sos-bootstrap-scope .sos-navbar-nav .sos-nav-link {
  color: #000;
  transition: color 0.3s;
  white-space: nowrap;
}

.sos-bootstrap-scope .sos-navbar-nav .sos-nav-link:hover,
.sos-bootstrap-scope .sos-navbar-nav .sos-nav-link.active { color: #d69c00; }

.sos-bootstrap-scope .sos-logout-icon {
  color: #000;
  font-size: 24px;
  transition: color 0.3s;
}

.sos-bootstrap-scope .sos-logout-icon:hover { color: #d69c00; }

.sos-bootstrap-scope .sos-navbar-toggler { border: none; margin-left: auto; }

.sos-bootstrap-scope .sos-navbar-toggler-icon { color: #000; }

@media (max-width: 992px) {
  .sos-bootstrap-scope .sos-logout-icon { display: none; }
  .sos-bootstrap-scope .sos-logout-text { display: inline; }
}

.nav-bar-padding { padding: 0 !important; }
.logout-padding { padding: 1px; }

.sos-navbar-nav .nav-item:last-child { margin-right: 20px; }

.fundoHeader {
  background: var(--cor001);
  border-bottom: 1px solid #aaaaaa78;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 4px;
}

.fundoHeader::before {
  content: "";
  position: absolute;
  top: 73px;
  left: 0;
  width: var(--header-before-width, 235px);
  height: 10px;
  background: var(--cor001);
  z-index: 2;
  clip-path: polygon(0% 0%, 100% 0%, 86% 54%, 0% 1000%);
  border-top-right-radius: 100px;
  border-bottom-right-radius: 100px;
  transition: width 0.3s ease;
}

.fundoHeader.hidefundoHeader::before { width: 0px; }

.TB_Filler {
  background: var(--cor001);
  height: 70px;
  width: 100px;
  position: absolute;
  right: 0px;
  z-index: -5;
  top: 0px;
}

.LogoHeader { margin-left: 15px; position: absolute; top: 30px; }

.TableLogo { width: 100%; height: 78px; }

.iconHeader {
  font-size: 16pt !important;
  color: #ffffff;
  padding: 0.12em !important;
  margin-right: 2px !important;
  vertical-align: bottom;
}

.headerNome1 {
  color: black;
  font-size: 0.75rem;
}

.headerNome2 {
  color: #ffffff;
  font-weight: 600;
  font-size: 0.8rem;
}

.TableDadosHeaderTop {
  vertical-align: text-bottom;
  padding-top: 10px;
  padding-right: 25px;
  float: right;
}

.TableDadosHeaderDown { height: 35px; }

.TableDadosHeaderDown i.fas { color: #ffa500; padding-right: 3px; }

.TableDadosHeaderDown .headerNome1 {
  padding-right: 15px;
  line-height: 2.15;
}

.TableDadosHeaderDown a { text-decoration: none; }

.TableDadosHeaderDown #MPW0005TABLE3 {
  width: unset !important;
  float: right !important;
  margin-right: 0.85em;
}

.TableCabecalho { background-color: #f8f9fa; vertical-align: top; }

#TABLEFOOTER_MPAGE {
  width: 100%;
  position: relative;
  bottom: 0;
  left: 0;
  margin-top: auto;
}

.masterFooter {
  position: fixed;
  width: 100%;
  background-color: var(--cor001);
  border-top: 1px solid #aaaaaa78;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 4px;
  bottom: 0;
  left: 0;
}

.masterFooter .TextBlock { left: 50vw; }

/* User / Notification menus */

.user-menu {
  position: relative;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  border-radius: 50px;
  padding: 5px 10px;
  margin-left: auto;
  transition: background-color 0.3s;
}

.user-menu:hover { background-color: #f5f5f5; }

.user-menu .user-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}

.user-menu .arrow-icon { transition: transform 0.3s ease; color: #000; }

.user-menu .arrow-icon.inverted { transform: rotate(180deg); }

.user-menu .dropdown {
  position: absolute;
  top: 35px;
  right: 0;
  min-width: 180px;
  background-color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  display: none;
  flex-direction: column;
  padding: 5px 0;
  z-index: 1000;
}

.user-menu .dropdown.active { display: flex; }

.user-menu .dropdown .user-email {
  padding: 10px 20px !important;
  font-weight: 600 !important;
  border-bottom: 1px solid #e5e7eb !important;
  text-align: center !important;
}

.user-menu .dropdown .menu-item {
  padding: 10px 20px;
  color: #333;
  cursor: pointer;
  text-align: left;
}

.notification-menu {
  position: relative;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  border-radius: 50px;
  padding: 5px 10px;
  transition: background-color 0.3s;
}

.notification-menu:hover { background-color: #f5f5f5; }

.notification-menu .notification-count {
  position: absolute;
  top: 0px;
  right: 32px;
  background-color: #d69c00;
  color: #fff;
  font-size: 10px;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.notification-dropdown {
  position: absolute;
  top: 35px;
  right: 0;
  min-width: 220px;
  background-color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  display: none;
  flex-direction: column;
  padding: 5px 0;
  z-index: 1000;
}

.notification-dropdown.active { display: flex; }

.notification-dropdown .menu-item { padding: 10px; color: #333; cursor: pointer; text-align: left; }

.menu-item { position: relative; cursor: pointer; }

.menu-item:hover,
.user-menu .dropdown .menu-item:hover,
.notification-dropdown .menu-item:hover { background-color: #f5f5f5; }

.logout-item {
  border-top: 1px solid #e5e7eb;
  margin-top: 5px;
  text-align: center !important;
}

.logout-item .logout-link {
  color: #333;
  text-decoration: none;
  display: inline-flex;
  width: 100%;
  text-align: center !important;
  transition: background-color 0.3s, color 0.3s;
}

.logout-item .logout-link:hover { background-color: #f5f5f5; color: #d69c00; }

.access-user-item {
  border-top: 1px solid #e5e7eb;
  padding: 10px 20px;
  color: #333;
  text-align: right;
}

/* Search */

.search-container {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-right: 20px;
  border-radius: 20px;
  padding: 5px 10px;
  transition: width 0.3s ease-in-out;
}

.search-icon { cursor: pointer; font-size: 20px; }

.search-input {
  border: none;
  outline: none;
  background: transparent;
  width: 0;
  font-size: 14px;
  transition: width 0.3s ease-in-out;
}

.search-container.active .search-input { width: 150px; padding-left: 10px; }

.autocomplete-items {
  position: absolute;
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  max-height: 200px;
  overflow-y: auto;
  display: none;
  padding: 5px 0;
  width: 500px;
  z-index: 1000;
}

.autocomplete-items div { padding: 10px 20px; cursor: pointer; }
.autocomplete-items div:hover { background-color: #f5f5f5; }

/* Nav dropdown */

#sos-menuNav .nav-item.dropdown { position: relative; }

#sos-menuNav .dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0 !important;
  right: auto !important;
  margin: 0;
  padding: 0.5rem 0;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: .25rem;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
  text-align: left;
  z-index: 1050;
}

#sos-menuNav .nav-item.dropdown:hover > .dropdown-menu { display: block; }

#sos-menuNav .dropdown-item {
  display: block;
  width: 100%;
  padding: .5rem 1rem;
  color: #333;
  text-decoration: none;
  text-align: left;
}

#sos-menuNav .dropdown-item:hover { background-color: #f5f5f5; }

/* Notification badge */

.noti-count {
  position: absolute;
  top: -20px;
  right: 0px;
  padding: 1px 5px;
  border-radius: 50%;
  background-color: red;
  color: white;
  z-index: 10;
  border: 2px solid white;
  box-shadow: 2px 3px 5px #000000d6;
  animation: gelatine 0.5s 5;
  font-size: 12px;
  width: 25px;
  height: 25px;
  display: grid;
  align-content: center;
  justify-content: center;
}

.copy-tooltip {
  position: absolute;
  background-color: #333;
  color: #fff;
  font-size: 12px;
  padding: 5px 8px;
  border-radius: 4px;
  animation: fadeIn 0.3s forwards;
}

.copy-message {
  padding: 6px 12px;
  border: 1px solid #2d2d2d;
  border-radius: 12px;
  background: #1d1e1e;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0,0,0,.15), 0 8px 24px rgba(0,0,0,.10);
  z-index: 1000;
  animation: copyMessageFadeIn .2s ease-out;
}

/* Header misc */

.CCHeaderView { margin-left: 200px; }
.CCHeaderView .TextBlock_TituloPagina { color: var(--cor003) !important; }
.TextBlock_SubTitulo { color: #d5d5d5 !important; }

.menu-toggle {
  position: absolute;
  top: 77px;
  left: 199px;
  z-index: 1000;
  transition: left 0.3s ease;
}

.menu-toggle button {
  background-color: #fff;
  color: #000;
  border: none;
  border-radius: 0 0 10px 0;
  cursor: pointer;
  border-right: 1px solid #aaaaaa78;
  border-bottom: 1px solid #aaaaaa78;
  box-shadow: 3px 2px 4px rgba(0, 0, 0, 0.1);
}

.menu-toggle button i { margin-right: 5px; }

.table-container-main-header {
  position: absolute;
  top: 86px;
  right: 0;
  display: flex;
  justify-content: flex-end;
  width: calc(100% - 200px);
  box-sizing: border-box;
  font-size: 14px !important;
}

.table-main-header {
  height: 60px;
  width: 340px;
  text-align: center;
  font-size: 14px;
  background-color: white !important;
  border: 3px solid var(--cor003) !important;
  border-radius: 8px !important;
  margin: 0 5px;
}

.second-table-main-header {
  height: 60px;
  width: 370px;
  text-align: center;
  font-size: 14px;
  background-color: white !important;
  border: 3px solid var(--cor003) !important;
  border-radius: 8px !important;
}

.third-table-main-header {
  height: 24px;
  width: 24px;
  text-align: center;
  font-size: 18px;
  background-color: var(--cor003) !important;
  border: 3px solid var(--cor003) !important;
  border-radius: 8px !important;
  margin-left: 5px;
  position: relative;
  top: -1px;
  color: black !important;
}

.table-inside-main-header { width: 50px; }


/* ─── 7. SIDEBAR / MENU ──────────────────────────────────── */

.Menulateral {
  background-color: #fff;
  border-right: 1px solid #aaaaaa78;
  box-shadow: rgba(0, 0, 0, 0.1) 1px 0px 4px 0px;
  transition: left 0.3s ease;
}

.TB_MenuCC {
  width: 204px;
  float: left;
  top: -55px;
  position: relative;
  display: contents !important;
}

.TableTopMenuCC {
  background: var(--cor001);
  width: 204px;
  border: 0px;
  position: absolute;
}

.TableTopMenuCCRound {
  border-radius: 5px 0 0 0;
  width: 10px;
  height: 25px;
  background-color: #f5f5f5;
  position: relative;
  float: right;
  right: -5px;
  border-left: 1px solid #aaaaaa78;
  box-shadow: inset rgba(0, 0, 0, 0.1) 4px 4px 4px -4px;
}

.TableRoundedMenu { display: none; }

/* sdmenu */

div.sdmenu { border-right: 1px solid #123264; border-top: none !important; }

div.sdmenu div a { font-weight: 500 !important; }

div.sdmenu div.collapsed { height: 34px; }

div.sdmenu div.collapsed span {
  background: var(--cor001) !important;
  position: relative;
  z-index: 1;
  white-space: nowrap;
  width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
}

div.sdmenu div.collapsed span::before {
  position: absolute;
  content: "";
  top: 0; right: 0; bottom: 0; left: 0;
  background: var(--cor001);
  border-left: 3px solid #fcc73b;
  z-index: -1;
  transition: opacity 0.5s linear;
  opacity: 0;
}

div.sdmenu div.collapsed span:hover::before { opacity: 1; }

div.sdmenu div a.current {
  background: linear-gradient(148deg, #ffa52b, #b77500, #ffa64d, #eb9d2f) !important;
}

div.sdmenu div span {
  background: var(--cor001) !important;
  padding: 10px 17px 10px 21px !important;
  font-size: 0.7rem !important;
  cursor: pointer !important;
}

div.sdmenu div:not(.collapsed) span { border-left: 3px solid #fcc73b; }

div.sdmenu div:not(.collapsed) { overflow-y: auto; max-height: 250px; }

div.sdmenu div:not(.collapsed)::-webkit-scrollbar { width: 5px; }
div.sdmenu div:not(.collapsed)::-webkit-scrollbar-track { background: #f1f1f1; }
div.sdmenu div:not(.collapsed)::-webkit-scrollbar-thumb { background: #afafaf; border-radius: 26px; }
div.sdmenu div:not(.collapsed)::-webkit-scrollbar-thumb:hover { background: #555; }

#Slidedownmenu1 { position: absolute !important; top: 115px !important; }

/* Sidebar toggle states */

.sidebar-hidden #accordionSidebar { display: none; }
.sidebar-visible #accordionSidebar { display: block; }
.sidebar-hidden #TABLETOPMENU_MPAGE { width: 55px; }
.sidebar-visible #TABLETOPMENU_MPAGE { width: 204px; }
.sidebar-hidden #tb_menubrancoid { display: block; }
.sidebar-visible #tb_menubrancoid { display: none; }
.sidebar-hidden #menu-toggle-id { left: 50px; }
.sidebar-visible #menu-toggle-id { left: 199px; }
.sidebar-hidden .fundoHeader { --header-before-width: 55px; }
.sidebar-visible .fundoHeader { --header-before-width: 232px; }

#accordionSidebar,
#TABLETOPMENU_MPAGE,
#menu-toggle-id { transition: width 0.3s ease; }

.tb-menu-branco {
  background-color: var(--cor001);
  border-right: 1px solid #aaaaaa78;
  box-shadow: rgba(0, 0, 0, 0.1) 1px 0px 4px 0px;
  width: 50px !important;
}

/* Custom sidebar */

.custom-sidebar {
  position: relative;
  bottom: 0;
  left: 0;
  width: 199px;
  background-color: #ffffff;
  transition: width 0.3s ease;
  overflow-y: auto;
  z-index: 1;
}

.custom-sidebar.collapsed { width: 65px; }
.custom-sidebar.collapsed .custom-menu-item { display: none; }

.custom-menu-item { cursor: pointer; }

.custom-menu-title {
  font-size: 9pt;
  font-weight: bold;
  line-height: 1.2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  background-color: #ffffff;
  text-transform: uppercase;
  border: none;
}

.custom-menu-title:hover,
.custom-menu-title.active { color: var(--cor003); }

.custom-menu-content { display: none; padding-left: 15px; }

.custom-menu-content a {
  display: block;
  text-decoration: none;
  color: #333;
  padding: 8px 10px;
  font-size: 0.9rem;
  line-height: 1.5;
  border-left: 3px solid transparent;
  transition: color 0.3s ease, border-left 0.3s ease;
}

.custom-menu-content a:hover,
.custom-menu-content a.active { color: var(--cor003); border-left: 3px solid var(--cor003); }

.custom-toggle-btn {
  position: static;
  width: 15px;
  background-color: #ffffff;
  color: #000;
  text-align: center;
  cursor: pointer;
  font-weight: bold;
  transition: left 0.3s ease;
  margin-left: 162px;
  font-size: 26px;
}

.custom-sidebar.collapsed + .custom-content { margin-left: 65px; }

.custom-content { margin-left: 199px; padding: 20px; transition: margin-left 0.3s ease; }

/* Menu screen */

.MenuTela { background-color: white; }

.TableMenuTela {
  height: 64px;
  width: 100%;
  margin-bottom: 5px;
  background-color: #e9e9ed;
  min-width: 320px;
}

.TableMenuTela span.material-icons { font-size: 30pt !important; }
.TableMenuTela2 { background-color: blue; }
.MenuTela a { text-decoration: none; }

#MPW0005TB_ICON { margin-left: 190px !important; }
#MPW0005TBL_CABECALHO #MPW0005TABLE51 { margin-left: 15px !important; }
#TABLE3 #TABLE2 #TABLE1, #TABLE1 #TABLE2 #TABLE3 { padding-left: unset !important; }


/* ─── 8. TABS ────────────────────────────────────────────── */

.tab {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0;
  position: relative;
  box-sizing: border-box;
  padding-bottom: 1px;
}

.tab:only-child {
  grid-template-columns: repeat(auto-fit, minmax(150px, max-content));
}

.tab a.tablinks, .TabsFSG a {
  font-size: 12px;
  font-weight: 500;
  color: #000;
  background-color: #fff;
  text-decoration: none;
  text-align: center;
  padding: 6px 0;
  border: 1px solid #000;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  margin-bottom: -1px;
  position: relative;
  z-index: 1;
  transition: background-color 0.3s, color 0.3s ease;
  box-sizing: border-box;
  cursor: pointer;
}

.TabsFSG a { display: inline-block; min-width: 180px; }

.TabsFSG { border: 0px; }
.TabsFSG .FreeStyleGridOdd { background-color: transparent; }

.tab a.tablinks.active,
.TabsFSG .active a {
  color: #fff;
  background-color: var(--cor003) !important;
  border: 1px solid #000;
  border-bottom: none;
  font-weight: bold;
  z-index: 2;
}

.tab a.tablinks:hover { background-color: #f5f5f5; color: #000; z-index: 3; }

.tab a.tablinks.active:hover { color: white; background-color: #000; }

.tab a.tablinks:not(:first-child) { margin-left: -1px; }

@media screen and (max-width: 768px) {
  .tab { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
}

.main-tab {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  background: #fff;
  border-radius: 5px;
}

#TabConc {
  margin: unset;
  margin-left: -11px !important;
}

.tab-box-shadow { box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); }

.TableTabs { min-width: 800px; }

.TituloSessao { font-weight: 600; }


/* ─── 9. DATAGRID / TABLE ────────────────────────────────── */

.DataGrid {
  font-size: 9pt !important;
  color: #000000 !important;
  width: auto;
  border-spacing: 0 !important;
  background-color: #fff !important;
  border-radius: 10px;
  box-shadow: inset 0 4px 8px 0 rgba(0,0,0,0.1), 0 6px 20px 0 rgba(0,0,0,0.18);
  overflow: hidden !important;
}

.DataGrid tbody tr:nth-child(2n+1),
.DataGrid tbody tr:nth-child(2n+1) .DataGrid { background: #f2f2f2 !important; }

.DataGrid thead tr {
  position: sticky;
  z-index: 2;
  top: 0;
  background-color: var(--cor003) !important;
  color: white;
  text-transform: uppercase;
}

.DataGrid th {
  background-color: var(--cor003) !important;
  box-shadow: unset;
  color: white !important;
  text-align: left !important;
  padding-right: 10px;
  padding-left: 10px;
}

.DataGrid th span {
  text-align: left !important;
  width: 100%;
  display: inline-block;
  white-space: nowrap;
}

.DataGrid tr { box-shadow: unset; border-radius: unset; }

.DataGrid a { color: black; }

.DataGrid .top td { vertical-align: top; padding-top: 5px; }

.DataGrid td .iconObjeto a { text-decoration: none; color: #505050; }

.DataGrid tbody span,
.DataGrid tbody .ReadonlyAttribute { color: #000000; }

.DataGrid tbody tr:hover { background-color: #eaeaea !important; }

td:has(> a[style*="display:none"]) { padding: 0px; }

.DataGrid tbody td {
  padding-right: 10px;
  padding-left: 10px;
  height: 39px;
}

.DataGrid tbody .Attribute {
  background-color: transparent;
  border-color: gainsboro;
  padding: unset;
  padding-left: 5px;
  border: 0px;
  width: 150px;
}

table.DataGrid tr:hover .Attribute { outline: 1px solid; }

.DataGrid input[type="checkbox"] { text-align: center !important; margin-right: 5px; }

.DataGrid .Image {
  height: 25px !important;
  border: 1px solid var(--cor001);
  margin-top: unset;
  background: linear-gradient(180deg, #fcfdfd, #cad0d5);
  border-radius: 5px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.DataGrid .Image[src$="Invisivel.JPG"] { display: none !important; }

.DataGrid .Image:hover {
  background: linear-gradient(180deg, #fcfdfd, #b1d4f1);
  box-shadow: 2px 2px 2px #b1d4f1;
}

.DataGrid .Image:active {
  background: linear-gradient(180deg, #fcfdfd, #1e93f5);
  box-shadow: 2px 2px 2px var(--cor001);
}

.DataGridTitle { white-space: normal !important; }

table.DataGrid tr:hover td .fadeGray { color: black !important; }

.DataGrid .material-icons a { text-decoration: none; }

.DataGrid .material-icons,
.DataGrid .iconOutline {
  font-family: 'Material Icons' !important;
  font-size: 20px !important;
  padding: 0px;
  margin: -2px;
  margin-left: 5px;
  margin-right: 5px;
}

.DataGrid td span a .material-icons,
.DataGrid a .material-icons .iconOutline,
.DataGrid td .iconObjeto {
  text-decoration: none;
  outline: 1px solid var(--cor001);
  background: linear-gradient(180deg, #fcfdfd, #cad0d5);
  color: #3f3f3f !important;
  border-radius: 5px;
  text-align: center;
  box-shadow: 2px 2px 5px #000000d6;
}

.DataGrid td a > span.material-icons { text-align: center; }

.DataGridFooter, .GridFooter {
  border-top: 1px solid var(--cor003) !important;
  text-align: left !important;
  padding-bottom: unset !important;
  padding-top: 5px;
  background-color: #f5f5f5 !important;
}

.DataGrid_v1 .gx-row-selected { background: #064d79 !important; }

.DataGrid_v1 tr:hover { background: LightSteelBlue !important; color: black !important; }

.DataGrid_v1 td, .Grid td {
  line-height: 20px;
  vertical-align: middle;
  padding: 3px 3px 3px 5px;
  height: 16px;
  overflow: hidden;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #eee;
}

.DataGrid_v1 tr, .Grid tr {
  cursor: default;
  border: 1px solid #ededed;
  border-top-color: #fff;
  width: 100%;
}

.DataGrid_v1 tr:nth-child(even) { background-color: #fafafa; }

.DataGrid Table td { height: unset; }

.ViewTable .DataGrid .DataGridTitle .DataGrid thead,
.ViewTable .DataGrid .DataGridTitle .Grid thead {
  height: 25px;
  line-height: 15px;
  vertical-align: middle;
}

.gx-row-selected {
  outline: 3px solid var(--cor003);
  background-color: transparent !important;
}

.gridBancoLogo { height: 14px; line-height: 17px; vertical-align: middle; }

.gt { white-space: nowrap; }

.vStatus {
  padding: 8px !important;
  display: inline-block;
  margin-right: 5px;
  margin-left: 10px;
  border-radius: 100%;
  box-shadow: 1px 2px 3px 1px #817676a8, inset 1px 2px 3px #ffffff7d;
  border: 1px solid #444a5e5e;
}

.vVermelho { background-image: radial-gradient(red, #950c0c); }
.vAzul     { background-image: radial-gradient(#4057fd, #087fa3); }
.vVerde    { background-image: radial-gradient(#02bb00, #035415); }
.vAmarelo  { background-image: radial-gradient(#ffb440, #9d9800); }

.dGrid {
  display: inline-grid;
  grid-template-columns: auto auto;
  padding: 2px;
  width: 100%;
  vertical-align: top !important;
  background-color: white;
  color: black;
  border: 1px solid gray;
  border-radius: 5px;
  margin-bottom: 10px;
  margin-left: 10px;
  margin-right: 10px;
}

.dGrid3 { grid-template-columns: auto auto auto; }
.dGrid2 { grid-template-columns: auto auto 20px; }

.dGrid span { padding-left: 0px !important; }

.gTitle { grid-column: span 2; font-weight: 600; }

.grid-i {
  padding: 2px;
  flex-shrink: 0;
}

.grid-ir {
  padding: 2px;
  text-align: right;
  white-space: nowrap;
  display: flex;
  gap: 1px;
}

.grid-ivazia { padding-bottom: 5px; }

.grid-rule { margin-bottom: -25px; border-top: 1px solid #999595; }

.giB { font-weight: 600; }

.dGridBco { display: flex; flex-direction: column; gap: 8px; }

.banco-container { display: flex; align-items: center; gap: 8px; }

.conta-bancaria { font-weight: 500; width: 150px; }

.icones-finais { display: flex; align-items: center; gap: 1px; }

.icone-x { color: red; font-size: 18px; }

.botao-upload {
  margin: 0; padding: 0;
  background: none; border: none; box-shadow: none;
  cursor: pointer; font-size: 18px; line-height: 1;
}

/* Grid status colors */

.Grid { background-color: red; color: red; }

.Grid1ContainerTbl td { border: 1px solid black; }

[id*="GridnowrapContainerTbl"] th,
[id*="GridnowrapContainerTbl"] tr { white-space: nowrap !important; }

[id*="GridnowrapContainerTbl"] tbody tr:hover { background-color: #eaeaea !important; }

.gridsh thead { position: sticky; top: 0; z-index: 2; }

.gridBancoLogo { height: 14px; line-height: 17px; vertical-align: middle; }

.GridCounter { float: right; }

.logoGrid { height: 15px; width: 15px; top: 3px; position: relative; }

.logoGrid-v2 { height: 20px; vertical-align: middle; }

.SomatorioTopGrid { position: absolute; top: -25px; }
.TableGridRelative { position: relative; }

.DescGrid { min-width: 250px; max-width: 400px; display: block; height: unset !important; }

.MsgLonga { min-width: 300px; display: block; height: auto !important; }

.TBGrid p { height: 30px; margin: 0; padding: 7px 0px 0px 0px; border: 0; }

.free-grid-198px {
  display: flex;
  flex-wrap: wrap;
  max-width: 132px;
  border-color: #808080;
}

.free-grid-198px td {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1 auto;
}

.free-grid-198px tr { display: flex; flex-wrap: wrap; border: none; }

.free-grid-198px-item {
  background-color: #000000b0;
  border-radius: 5px;
  font-weight: 600;
  padding: 2px 5px 2px 0;
}

.free-grid-198px span { color: white !important; font-size: 10px !important; }

.Dif1, .CCVisCredito td:nth-child(23) {
  border: 1px solid #fbb695b2;
  border-left: 1px solid #9895fbb2;
  border-right: 1px solid #9895fbb2;
  border-top: none;
  border-bottom: none;
  background-color: #bfc0ec36;
}

.gx-row-selected td:nth-child(23) .gx-row-selected td span { color: black !important; }

.EDIExtrErro { background-color: #ff00003d; }


/* ─── 10. CALENDAR ───────────────────────────────────────── */

.calendarV2fundo {
  display: flex;
  border-radius: 15px 15px 0 0;
  max-width: 100vh;
  min-width: 80vh;
}

.calendarV2 { float: left; max-width: 90vh; min-width: 800px; }

.calendarV2fundo .resumo { float: left; margin-left: 15px; min-width: 350px; }

.calendarV2 .dia-numero {
  position: absolute;
  top: 0; right: 0;
  padding: 5px;
  font-size: 12px;
  color: var(--cornumeriodia);
}

.calendarV2 ul, .calendarV2 ol {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-gap: 0em;
  padding: 0;
}

.calendarV2 li {
  display: flex;
  align-items: center;
  justify-content: center;
  list-style: none;
  margin-left: 0;
  position: relative;
  font-size: calc(16px + (21 - 16) * ((80vw - 300px) / (1200 - 300)));
}

.calendarV2 ul.weekdays {
  background-color: var(--cor001);
  color: white;
  border: 1px solid transparent;
  border-radius: 10px 10px 0 0;
  margin: 0px;
  letter-spacing: 2pt;
}

.calendarV2fundo .resumoheader {
  align-items: center;
  justify-content: center;
  display: flex;
  background-color: var(--cor001);
  color: white;
  border-radius: 10px 10px 0 0;
  font-weight: 800;
  text-decoration: none;
  max-height: 125px;
  height: 4vh;
  letter-spacing: 2pt;
  position: relative;
}

.calendarV2 ul.weekdays li { max-height: 155px; height: 4vh; }

.calendarV2 .desc, .calendarV2 .valor { text-align: center; }

.calendarV2 .valor { font-size: calc(9px + (9 - 6) * ((80vw - 300px) / (1200 - 300))); }

.calendarV2 .desc { font-size: calc(10px + (11 - 8) * ((80vw - 300px) / (1200 - 300))); margin-bottom: 5px; }

.calendarV2 .dep::after { content: "Depositado "; color: var(--corverde); }

.calendarV2 .prev:after { content: "Previsto "; color: var(--corlaranjafonte); }

.calendarV2 .valor::before { content: "R$ "; }

.calendarV2 .day-grid { margin: 0px; }

.calendarV2 ol.day-grid li {
  background-color: var(--cordia);
  border: 1px solid white;
  aspect-ratio: 1;
}

.calendarV2fundo .resumo .l:hover { background-color: LightSteelBlue; }
.calendarV2fundo .resumo .l { padding: 8px 8px 8px 20px; }

.calendarV2fundo .resumo .b {
  padding: 2px 8px 2px 20px;
  height: 38px;
  width: 100%;
}

.calendarV2fundo .resumo .ldesc { color: #404040; }

.calendarV2fundo .resumo .p { background-color: var(--corresumop); display: table; width: 100%; }
.calendarV2fundo .resumo .i { background-color: var(--corresumoi); display: table; width: 100%; }
.calendarV2fundo .resumo .r { background-color: var(--cor001); color: white; }
.calendarV2fundo .resumo .s { background-color: var(--cor001); }

.calendarV2fundo .resumo .r .ldesc,
.calendarV2fundo .resumo .s .ldesc { color: white; }

.calendarV2fundo .resumo .b .ldesc *,
.calendarV2fundo .resumo .adm .ldesc * { vertical-align: middle; }

.calendarV2fundo .resumo .adm img { height: 34px; width: 68px; margin-right: 10px; }
.calendarV2fundo .resumo .b img   { height: 34px; width: 34px; margin-right: 10px; }

.calendarV2fundo .lval::before { content: "R$ "; }

.calendarV2fundo .lval {
  font-size: 11pt;
  text-align: right;
  width: 40%;
  vertical-align: middle;
  display: table-cell;
}

.calendarV2fundo .ldesc2 {
  font-size: 11pt;
  text-align: right;
  vertical-align: middle;
  color: var(--corlaranjafonte);
  font-weight: 600;
  width: 100%;
  padding-right: 30px;
  display: table-cell;
}

.calendarV2fundo .ldesc {
  font-size: 10pt;
  width: 60%;
  padding-top: 2px;
  display: table-cell;
}

.calendarV2 .ativo:hover {
  -webkit-box-shadow: inset -8px -8px 8px -8px var(--cor001), inset 8px 8px 8px -8px var(--cor001);
  -moz-box-shadow: inset -8px -8px 8px -8px var(--cor001), inset 8px 8px 8px -8px var(--cor001);
  box-shadow: inset -8px -8px 8px -8px var(--cor001), inset 8px 8px 8px -8px var(--cor001);
  cursor: pointer;
}

.calendarV2 ol.day-grid li:nth-child(7n+7),
.calendarV2 ol.day-grid li:nth-child(7n+1),
.calendarV2 ol li.disable,
.calendarV2 ol.day-grid li.disable:hover,
.calendarV2 ol.day-grid li:nth-child(7n+7) .dia-numero,
.calendarV2 ol.day-grid li:nth-child(7n+1) .dia-numero,
.calendarV2 ol li.disable .dia-numero {
  background-color: var(--cordisable);
  color: white;
  box-shadow: unset;
  -moz-box-shadow: unset;
  -webkit-box-shadow: unset;
}

.calendarV2 ul.weekdays abbr[title] { border: none; font-weight: 800; text-decoration: none; }

.calendarV2 .rodape { height: 15px; background-color: var(--cor001); border-radius: 0 0 5px 5px; }

.calendarV2 .calendarselected { background-color: LightSteelBlue !important; }

.calendarV2fundo .neg  { color: red;     display: table; width: 100%; }
.calendarV2fundo .pos  { color: green;   display: table; width: 100%; }
.calendarV2fundo .zer  { color: #595555; display: table; width: 100%; }

.calendarV2fundo .iconOutline { cursor: pointer; color: white; position: absolute; right: 10px; }

#bloc { padding-top: 5px; text-align: center; }


/* ─── 11. PROGRESS BAR ───────────────────────────────────── */

.bar {
  height: 17px;
  width: 80px;
  background-color: #a6a6a6;
}

.bar::before {
  content: '';
  display: flex;
  justify-content: end;
  width: calc(var(--percent) * 1%);
  height: 100%;
  background: #2486ff;
  white-space: nowrap;
  background-image:
    linear-gradient(#009900, #009900),
    linear-gradient(#00b300, #00b300),
    linear-gradient(#00e600, #00e600),
    linear-gradient(#40ff00, #40ff00),
    linear-gradient(#80ff00, #80ff00),
    linear-gradient(#bfff00, #bfff00),
    linear-gradient(#ffff00, #ffff00),
    linear-gradient(#ffbf00, #ffbf00),
    linear-gradient(#ff8000, #ff8000),
    linear-gradient(#ff4000, #ff4000),
    linear-gradient(#ff0000, #ff0000);
  background-size:
    calc((var(--percent) - 95) * 100%) 100%,
    calc((var(--percent) - 90) * 100%) 100%,
    calc((var(--percent) - 85) * 100%) 100%,
    calc((var(--percent) - 80) * 100%) 100%,
    calc((var(--percent) - 75) * 100%) 100%,
    calc((var(--percent) - 65) * 100%) 100%,
    calc((var(--percent) - 55) * 100%) 100%,
    calc((var(--percent) - 40) * 100%) 100%,
    calc((var(--percent) - 25) * 100%) 100%,
    calc((var(--percent) - 10) * 100%) 100%,
    100% 100%;
}


/* ─── 12. MESSAGES ───────────────────────────────────────── */

#TABLELOGEXECUCAO { width: 99% !important; position: absolute; }

iframe[name="EP_EXECUCAO"] {
  width: calc(100vw - 250px);
  height: calc(100vh - 350px);
  min-height: 400px;
}

iframe[name="EP_EXECUCAOPROMPT"] {
  width: calc(100vw - 36px);
  height: calc(100vh - 50px);
  min-height: 300px;
}

.mensagemDet {
  padding: 12px 12px 12px 100px;
  width: 100%;
  background-repeat: no-repeat;
  background-position: 1% 50%;
  border-style: none;
  border-radius: 3px;
  margin: 5px 0px 0px 0px;
  color: black;
  display: block;
  font-size: 11pt;
}

.mensagemDet:hover { outline: 1px solid black; }

.mensagemDet.info:nth-child(even) { background-color: #ebf9ffbf; }

.mensagemDet.warning { background-color: #FFFFFF; background-image: url(../Warning_EV_Small.png); }
.mensagemDet.error   { background-color: #ffe8e8; background-image: url(../Error_EV_Small.png); }
.mensagemDet.info    { background-color: #FFFFFF; background-image: url(../Info_EV_Small.png); }
.mensagemDet.sucess  { background-color: #dff2bf; background-image: url(../Sucess_EV_Small.png); }

.btPause {
  position: fixed;
  top: 5px;
  right: 5px;
  border: 1px solid;
  border-radius: 5px;
  background-color: lightgray;
  z-index: 20;
  cursor: pointer;
}

div.sucess {
  color: green;
  outline: 1px solid green;
  padding: 10px;
  border-radius: 5px;
  max-width: 500px;
  font-size: 12pt;
}

div.error {
  color: red;
  outline: 1px solid green;
  padding: 10px;
  border-radius: 5px;
  max-width: 500px;
  font-size: 12pt;
}

.infoLog {
  position: fixed;
  right: 10px;
  bottom: 10px;
  padding: 10px;
  outline: 1px solid gray;
  border-radius: 5px;
}

/* ─── 13. TC / RAA COMPONENTS ───────────────────────────── */

.TC_Dia {
  min-width: 20px;
  min-height: 20px;
  color: black;
  border: solid 1px white;
  border-radius: 2px;
	text-align: center;
	outline: 1px solid darkgray;
}

.TC_Hide.TC_Label {
  background-color: #ecebf3;
  border-right: solid 1px #ababab;
  border-left: solid 1px #ababab;
  border-bottom: solid 1px #ababab;
  border-top: solid 1px #ecebf3;
  padding-top: 0px;
  padding-bottom: 0px;
}

.TC_Hide { display: none; }

.TC_LabelSelecionado {
  background-color: #d4d1ec;
  border-top: solid 1px #ababab;
  border-right: solid 1px #ababab;
  border-left: solid 1px #ababab;
  border-bottom: solid 1px #d4d1ec;
}

.TC_Table {
  text-align: center;
  border: solid 0px;
  margin-top: 15px;
  padding: 5px;
  margin-right: 50px;
}

.TC_Label { padding-right: 3px; padding-left: 3px; text-align: right; }
.TC_Label a { text-decoration: none; color: black; }
.TC_Highlight a{color:white;}

.TC_arrow { font-family: webdings; }

.TC_Filho { background-color: #f1f1f1; border-right: 1px solid black; }

.TC_OK    { background-color: #368036; }
.TC_Erro1 { background-color: red; }
.TC_Erro2 { background-color: #c1c100; }
.TC_Erro3 { background-color: #4747c7; }
.TC_Erro4 { background-color: orange; }
.TC_Erro5 { background-color: black; }
.TC_Erro6 { background-color: #ffbdc3; }
.TC_OK1   { background-color: blue; }
.TC_OK2   { background-color: #71954d; }
.TC_OKish { background-color: #0bab00; }
.TC_SM    { background-color: #c5c4c4; }
.TC_SMOK  { background-color: #b3ecca; }

.TC_Filtro { padding: 3px; background-color: #ffb9029c; color: #4a3535; }

.TC_SEMDADOS { background-color: #c3c3c3; }

.TC_PedidoArq { background-color: aqua; }

.TC_RelatorioVerde    { background-color: #228B22; color: #FFFFFF; }
.TC_RelatorioBranco   { background-color: #FFFFFF; color: #000000; }
.TC_RelatorioAmarelo  { background-color: #FFFF00; color: #000000; }
.TC_RelatorioLaranja  { background-color: #FFA500; color: #FFFFFF; }
.TC_RelatorioVermelho { background-color: #FF0000; color: #FFFFFF; }
.TC_RelatorioPreto    { background-color: #000000; color: #FFFFFF; }
.TC_RelatorioCinza    { background-color: #F5F5F5; color: #000000; }

.Tc_DiaTam1 { width: 145px; display: block !important; }
.Tc_DiaTam2 { width: 100px; display: block !important; }
.Tc_DiaTam3 { width: 200px; display: block !important; }
.Tc_DiaTam4 { width: 32px;  display: block !important; }

.LTR a          { text-decoration: none; color: black; }
.LTR a:after    { content: ' ^'; }
.LTR a:hover    { text-decoration: underline; }

.CCVerde    { background-color: #47c547; width: 10px; display: block; margin: -4px; height: 20px !important; }
.CCAmarelo  { background-color: yellow;  width: 10px; display: block; margin: -4px; height: 20px !important; }
.CCVermelho { background-color: #ff7878; width: 10px; display: block; margin: -4px; height: 20px !important; }

.arrow { border: solid black; border-width: 0 1px 1px 0; display: inline-block; padding: 3px; margin: 2px; }

.right { transform: rotate(-45deg);  -webkit-transform: rotate(-45deg); }
.left  { transform: rotate(135deg);  -webkit-transform: rotate(135deg); }
.up    { transform: rotate(-135deg); -webkit-transform: rotate(-135deg); }
.down  { transform: rotate(45deg);   -webkit-transform: rotate(45deg); }

.RAAImg  { display: block; }
.RAAUser { text-align: center; height: 50px; }

.TC_Highlight {
    background-color: var(--cor003) !important;
    color:white;
}

/* ─── 14. GUIDED HELP ────────────────────────────────────── */

.gh-backdrop {
  position: fixed;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9998;
  pointer-events: auto;
}

#gh-full-overlay {
  position: fixed;
  top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 9997;
}

#gh-tooltip {
  position: fixed;
  background: #ffffff;
  color: #333;
  padding: 16px;
  border-radius: 4px;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.3);
  max-width: 620px;
  z-index: 10000;
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid #716d6d;
}

.gh-tooltip-header { font-weight: bold; font-size: 1.1em; margin-bottom: 8px; }

.gh-controls { margin-top: 12px; text-align: right; }

.gh-controls button {
  margin-left: 1px;
  padding: 6px 12px;
  border: none;
  background: #007bff;
  color: white;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s;
}

.gh-controls button:hover { background: #0056b3; }

.gh-step-badge {
  position: fixed;
  background: #007bff;
  color: white;
  font-size: 14px;
  font-weight: bold;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  z-index: 10001;
  outline: 2px solid white;
  margin-left: 5px;
}

.gh-step-indicators { margin-top: 12px; text-align: center; }

.gh-indicator-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 4px;
  background: #ccc;
  border-radius: 50%;
}

.gh-indicator-dot.active { background: #007bff; }

#gh-tooltip::after {
  content: "";
  position: absolute;
  top: -10px;
  left: 20px;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #ffffff transparent;
}

.gh-centered::after { display: none; }

#gh-tooltip br { display: block; margin-bottom: 12px; content: ""; }


/* ─── 15. POPUPS / MODALS ────────────────────────────────── */

.PopupHidden { display: none; }

.PopupShow {
  display: block;
  position: fixed;
  top: 50%;
  left: 50%;
  background: white;
  padding: 30px;
  transform: translate(-50%, -50%);
  z-index: 11;
  border: 1px solid black;
  box-shadow: 5px 5px #888888 !important;
}

.overlay {
  background-color: #BEBEBE;
  filter: alpha(opacity=50);
  opacity: 0.5;
  position: fixed;
  top: 0px; left: 0px;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.PopupHeader {
  border-radius: 6px 6px 0px 0px;
  background-image: unset;
  background-color: #000;
  height: 25px !important;
  display: grid;
  align-items: center;
}

.PopupHeaderButton::after {
  content: "X";
  text-align: center;
  position: absolute;
  left: -6px;
  top: -5px;
  font-size: 20px;
}

.PopupHeaderButton {
  position: absolute;
  right: 10px;
  background-image: unset;
  content: "X";
  width: 15px;
  height: 15px;
  color: white;
  margin: unset;
}

.PopupTitle   { margin-left: 10px; }
.PopupContent { padding-top: 5px !important; }

.PopupBorder {
  border-radius: 7px;
  border: solid 1px #aaaaaa78 !important;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 4px !important;
}

.PopupShadow { border-radius: 7px 7px 7px 7px; background-color: #aaaaaa78; }

/* ClicBancos */

.ClicB_Overlay {
  display: none; position: fixed; top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.5); z-index: 999;
}

.ClicBSelect { margin-bottom: 15px; width: 100%; padding: 5px; border: 1px solid #ccc; border-radius: 4px; }

.ClicBLabel { width: 100%; margin-bottom: 5px; }

.ClibpopupModal {
  display: none; position: fixed; top: 50%; left: 50%;
  transform: translate(-50%, -50%); z-index: 1000;
  background: white; padding: 20px; border: 1px solid #ccc;
  border-radius: 8px; width: 300px;
}

.ClibpopupModal > .ButtonCancel {
  position: absolute; top: 10px; right: 10px;
  background: none; border: none; font-size: 20px; cursor: pointer;
}

.Clicbdiv1 { display: flex; flex-direction: column; align-items: flex-start; margin-top: 30px; }

.floating {
  position: fixed;
  top: 0; right: 0;
  border: 1px solid black;
  border-radius: 5px;
  background-color: white;
  z-index: 1000;
  padding: 10px;
}

div#gx_ajax_notification {
  z-index: 20;
  position: fixed !important;
  top: 0px !important; right: 0px !important;
  width: 100vw !important; height: 100vh !important;
}


/* ─── 16. BUTTONS ────────────────────────────────────────── */

.Button, .BtnCancel, .BtnEnter {
  min-width: 120px;
  height: 30px;
  font-size: 12px;
  font-weight: 600;
  color: #000;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 7px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 4px;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  width: auto;
  margin: 10px 10px 10px 0;
}

.Button:hover, .BtnCancel:hover, .BtnEnter:hover {
  cursor: pointer;
  background-color: #000;
  color: #fff;
}

.button-wrapper {
  position: relative;
  display: inline-block;
  transition: all 0.2s ease-in-out;
}

.button-wrapper:hover { transform: scale(1.05); opacity: 0.9; }

.button-wrapper::before {
  font-family: "Material Icons";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  color: #000;
  border-radius: 7px;
  font-size: 18px;
  margin-left: 2px;
}

.button-wrapper:hover::before { color: #fff; }

.button-wrapper > input.Button { padding: 0 27px 0 37px; }
input.Button:not(.button-wrapper > input.Button) { padding: 0 27px; }

/* Button icon content */
.save::before     { content: "save"; }
.edit::before     { content: "edit"; }
.delete::before   { content: "delete"; }
.share::before    { content: "share"; }
.settings::before { content: "settings"; }
.cancel::before   { content: "cancel"; }
.approve::before  { content: "check_circle"; }
.send::before     { content: "send"; }
.back::before     { content: "arrow_back"; }
.next::before     { content: "arrow_forward"; }
.notify::before   { content: "notifications"; }
.logout::before   { content: "logout"; }
.help::before     { content: "help_outline"; }
.print::before    { content: "print"; }
.home::before     { content: "home"; }
.user::before     { content: "person"; }
.favorites::before { content: "favorite"; }
.trash::before    { content: "delete_forever"; }
.comment::before  { content: "comment"; }
.load::before     { content: "cloud_upload"; }
.excel::before    { content: "description"; }
.pdf::before      { content: "picture_as_pdf"; }
.search::before   { content: "search"; }
.refresh::before  { content: "refresh"; }
.close::before    { content: "close"; }
.btn-today::before  { content: "today"; }
.btn-upload::before { content: "upload"; }
.btn-add::before    { content: "add"; }

/* Paging */

.PagingButtonsPrevious,
.PagingButtonsFirst,
.PagingButtonsNext,
.PagingButtonsLast {
  display: inline-block;
  margin: 3px;
  border-radius: 50%;
  height: 24px;
  width: 24px;
}

.PagingButtonsPrevious:hover,
.PagingButtonsFirst:hover,
.PagingButtonsNext:hover,
.PagingButtonsLast:hover { background-color: var(--cor003); }

.PagingButtonsLast     { background: url('../last_page_black_24dp.svg') no-repeat center center; }
.PagingButtonsFirst    { background: url('../first_page_black_24dp.svg') no-repeat center center; }
.PagingButtonsNext     { background: url('../chevron_right_black_24dp.svg') no-repeat center center; }
.PagingButtonsPrevious { background: url('../chevron_left_black_24dp.svg') no-repeat center center; }

span[style*="opacity:"].PagingButtonsNext,
span[style*="opacity:"].PagingButtonsPrevious,
span[style*="opacity:"].PagingButtonsFirst,
span[style*="opacity:"].PagingButtonsLast { visibility: hidden; }

/* Image button */

.Image {
  color: black;
  background: linear-gradient(180deg, #fcfdfd, #cad0d5);
  border-radius: 5px;
  white-space: nowrap;
  cursor: pointer;
  margin-right: 5px;
  font-weight: 700;
  vertical-align: middle;
  box-shadow: 2px 2px 5px #000000d6;
  height: 28px !important;
  padding: 3px;
}

.Image:hover {
  background: linear-gradient(180deg, #fcfdfd, #b1d4f1);
  box-shadow: 2px 2px 2px #b1d4f1;
}

.Image[src$="ProgressoTerminado.png"],
.Image[src$="ProgressoAndamentoImg.gif"] { padding: unset; height: unset !important; box-shadow: unset; background: unset; }

/* ChkJs */

.ChkJs {
  top: 4px;
  position: relative;
  box-shadow: 2px 2px 5px #000000d6;
  border-radius: 4px;
  font-size: 20px;
  padding: 2px;
  cursor: pointer;
}

.ChkJs:hover { box-shadow: 2px 2px 5px lightgray; }

.ChkJs:active {
  background: linear-gradient(180deg, #fcfdfd, #b1d4f1);
  box-shadow: 2px 2px 2px #b1d4f1;
}

/* cbTab */

.cbTab .link-icon { font-weight: 600; }

.CtoCB .material-icons { color: gray; }

.CtoCB .material-icons:hover {
  padding: 7px 5px 5px 5px;
  margin: 0px;
  border-radius: 4px;
  background-color: var(--cor003);
  color: black !important;
  cursor: pointer;
}

.material-icons.clicb {
  width: unset;
  position: absolute;
  right: -12px;
  font-size: 14pt;
  font-family: 'Material Symbols Outlined' !important;
}

.icone-tela { border-radius: 50%; }
.icone-tela:hover { background-color: var(--cor003); }

.iconDemo { background-color: #064d79; width: 80px; height: 85px; padding: 5px; }
.iconObjeto { font-size: 30pt !important; color: #ffffff; }

.link-icon {
  color: #5f6368;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  position: relative;
  min-width: 100px;
}

a i.far { color: #004586; }

.tooltip-inner { color: #fff; background: #FF9900; }


/* ─── 17. FORM ELEMENTS ──────────────────────────────────── */

.Attribute, .ErrorAttribute {
  border-style: revert !important;
  border-radius: 4px;
  border-color: black;
  padding: 3px;
  height: 28px !important;
  background-color: transparent;
}

.ErrorAttribute, .ErrorAttributePAN { border-color: red !important; }

.Sizable7Row, .ReadonlySizable7Row {
  height: unset;
  border-style: revert !important;
  border-radius: 4px;
  border-color: #6aacc2;
  padding: 3px;
  font-size: 11pt;
  overflow-wrap: break-word;
}

.radio-group { align-items: center; gap: 6px; }

.radio-group input[type="radio"] { vertical-align: middle; margin-top: -2px; background-color: white; }

.TableRounded, .TableCadastro {
  background: #fff;
  padding: 8px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.06);
  margin-bottom: 10px;
  width: 100%;
  box-sizing: border-box;
}

.TableCadastro { width: unset; }
.TableCadastro .Attribute { width: 250px; }
.TableCadastro .Attribute.ddd { width: 50px; }
.TableCadastro .Attribute.fone { width: 190px; }
.TableCadastro .TextBlock { min-width: 70px; display: inline-block !important; }
.TableCadastro td > div, .TableCadastro td > a { display: inline-block; vertical-align: middle; }

.TableRounded .Attribute { width: 100%; }
.TableRounded select { min-width: 100px; }
.TableRounded .TextBlock { float: right; margin-left: 5px; }
.TableRounded a:has(.LogTela) { vertical-align: middle; color: gray; display: inline-block; }

.DetTable .TableRounded { width: 98vw; margin: 0 auto; }
.DetTable .TableRounded .TextBlock { min-width: 110px; text-align: right; margin-left: 10px; }

.login .Title {
  margin-bottom: 10px;
  display: block !important;
  font-size: 25pt !important;
  text-align: center;
  letter-spacing: 0;
  font-family: "Outfit", sans-serif !important;
}

.login .AttributePAN, .login .ErrorAttributePAN {
  margin-bottom: 10px !important;
  border-radius: 5px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px 10px 10px 30px;
  text-align: left !important;
  width: 100%;
  font-family: "Outfit", sans-serif !important;
  font-size: 12pt;
  letter-spacing: 1px;
}

.login .baixo { float: left; position: relative; top: 75px; }

.login .Link_Branco { top: 77px !important; }

.login .ButtonCCAA, .login .ButtonCCAA:hover { position: relative; right: 140px; }

Table.login div { letter-spacing: 1px; }

Table.login {
  background-color: #808080d9;
  padding: 15px;
  box-shadow: 12px 13px 15px rgba(0, 0, 0, 0.651);
  border-radius: 5px;
}

Table.login .BotaoSiteAmarelo {
  background: none repeat scroll 0 0 #ffb902;
  border-radius: 5px;
  color: #5f5f61;
  height: 40px;
  width: 140px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s;
}

Table.login .BotaoSiteAmarelo:hover { color: White; transition: all 0.3s; }

.TableLogin {
  width: 100%;
  height: 100vh;
  background-image: url(../slide_sistema.png);
  border: 0px;
  padding: 0px;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.TableLogin .login .TextBlock,
.TableLogin .login .Title,
.TableLogin .login .TextBlockPequeno,
.TableLogin .login .Link_Branco A,
.TableLogin .login .ErrorViewer { color: white !important; background-color: unset; }

.dp_container { width: 85% !important; display: block !important; position: relative;}

.CampoNomeArq { width: 500px; display: inline-block; }

.imageCollapse:after {
  background: url(../expand.gif) no-repeat;
  content: "";
  padding-left: 15px;
  background-size: 15px 15px;
  background-position: center;
}

.imageCollapse[aria-expanded="true"] show:after {
  background: url(../collapse.gif) no-repeat;
  content: "";
  padding-left: 15px;
  background-size: 15px 15px;
  background-position: center;
}

input[src$="ActionDisabled.gif"],
img[src$="ActionDisabled.gif"] { border: unset !important; display: none !important; }


/* ─── 18. LAYOUT / STRUCTURE ─────────────────────────────── */

.ViewTable {
  margin-left: 7px !important;
  margin-right: unset !important;
  margin-top: 15px;
}

.AliTop td { vertical-align: top !important; }

.conteudoMaster { padding-bottom: 15px; padding-left: 7px; background-color: white; }

.gxwebcomponent > .ViewTable { margin: 0px !important; margin-left: -2px !important; }

#Grid_diasContainerTbl Td Table { height: 100%; }

div#TB_QTD { float: right; }

.TabAviso {
  display: block !important;
  background-color: #f0f0f0;
  padding: 10px;
  border-radius: 5px;
}

.TabAviso tbody tr, .TabAviso > tbody { display: block !important; width: 100%; }

.TB_Rule { height: 3px; background-color: #1d1e1e54; display: block !important; margin-top: 5px; }

.FatDetObs {
  display: inline-block;
  outline: 1px solid #8a8a8a;
  padding: 5px;
  border-radius: 5px;
  background-color: white;
  color: black !important;
  vertical-align: top;
  margin-bottom: 5px;
  width: 100%;
}

.gx-row-selected td .FatDetObs { color: black !important; }
.FatDetObsEdt { float: right; }

.TabCalculo {
  padding: 10px;
  max-width: 500px;
  background-repeat-y: no-repeat;
  background-size: auto 100%;
  background-position: center;
  background-image: url("..\\comprovante.svg");
  box-shadow: 6px -1px 4px -2px rgba(100, 100, 100, 0.35);
  margin-right: 10px;
}

.detLogoIfood { margin-left: 10px; filter: grayscale(100%); opacity: 0.8; height: 32px; }

.DetIfoodPagador .material-icons { margin-left: 10px; margin-top: -5px; float: right; }

.TabCalculo .TB_divisor::after {
  content: '';
  display: block;
  border-bottom: 1px dashed #000;
  margin: 10px 0 10px 0;
}

.TabCalculo .TextBlock,
.TabCalculo .ReadonlyAttribute { font-size: 11pt; }

.TabCalculo td:nth-child(2) .ReadonlyAttribute { color: black; }

.TabCalculo td:nth-child(2),
.TabCalculo th:nth-child(2) { text-align: right; }

.TabCalculo tr:nth-child(1) { text-align: center; }

.TabCalculo tr:nth-child(2) .TextBlock {
  color: black;
  font-size: 15pt;
  margin-bottom: 11px;
  display: block !important;
  text-align: center;
}

.TabCalculoIfood tr:nth-child(24),
.TabCalculo tr:nth-child(25) {
  background-color: #e0e0e0;
  padding-top: 5px;
  padding-bottom: 5px;
}

.ifoodDet .TableRounded { width: 75%; }
.ifoodfiltro { display: inline-block; margin-right: 15px; }

.TotaisIfood { display: inline-block; vertical-align: top; }

.TableRounded.TotaisIfood td:nth-child(2) .ReadonlyAttribute { font-size: 10pt; color: black; }
.TableRounded.TotaisIfood td:nth-child(1) .TextBlock { vertical-align: middle; }

.TableRounded.TotaisIfood tr:first-child td .TextBlock {
  text-align: center !important;
  float: unset;
  width: 100%;
  display: block !important;
  font-size: 12pt;
  font-weight: bold;
  padding-bottom: 2px;
  margin-top: -10px;
}

.TableRounded.TotaisIfood td:nth-child(2) { float: right; }

.TableRounded.TotaisIfood tr:nth-child(5) td { padding-bottom: 2px; }

.TabCalculoIfood tr.is-highlighted { background-color: #ff8f00; }
.TabCalculoIfood tr { transition: background-color 0.2s ease; }

.TabCalculoIfood tr:nth-child(30):hover,
.TabCalculoIfood tr:nth-child(24):hover { outline: 1px solid; background-color: white; }

/* Collapse/expand icons */

.imageCollapse:after {
  background: url(../expand.gif) no-repeat;
  content: "";
  padding-left: 15px;
  background-size: 15px 15px;
  background-position: center;
}

/* File tags */

.tagArq {
  border: 1px black solid;
  padding: 3px 3px 3px 5px;
  color: white;
  border-radius: 5px 0px 0px 5px;
  display: block;
  min-height: 27px;
  margin: 0px;
  background-color: lightgray;
  max-width: 90px;
}

.VendaExt { background-color: #4b4b9b; }
.VendaEDI { background-color: #9671bb; }
.PagEDI   { background-color: #4d994d; }
.PagExt   { background-color: #77994d; }
.tagArq.Despesa, .tagArq.Ajustes { background-color: #886c28; }

.TipoArqVendaEDI, .TipoArqVenda { background-color: #4b4b9b; }

.TipoArqTecno  { content: "Tecnologia"; background-color: #b0b0b0; color: black; }
.Reagendamento { content: "Reagenda";   background-color: lightgray; color: black; }
.DIRF          { content: "DIRF";       background-color: #b0b0b0; color: black; }
.EFDREINF      { content: "EFD-REINF";  background-color: #b0b0b0; color: black; }
.TipoArqAntecip  { content: "Antecip";  background-color: Purple; }
.TipoTaxaAntecip { content: "Taxa Ant"; background-color: Purple; }

.arqAuxiliar {
  background-color: #b0b0b0;
  color: black;
  border: 1px black solid;
  padding: 3px;
  border-radius: 5px 0px 0px 5px;
  display: inline-block;
  white-space: nowrap;
  padding-bottom: 22px;
  width: 100%;
  padding-right: 0px;
}

/* Icon SVG */

.icon-sync-saved-locally,
.icon-inbox-text {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.icon-sync-saved-locally { background-image: url('./SVG/sync_saved_locally.svg'); }
.icon-inbox-text         { background-image: url('./SVG/inbox_text.svg'); }

/* Misc */

.table-responsive span { font-size: 9pt; }

.Consolas {
  font-family: 'Consolas' !important;
  border: 1px solid black;
  padding: 5px;
  font-weight: bolder !important;
  letter-spacing: 2px;
}

.SAC_PendenteCliente {
  background-color: #f9bf54;
  display: block;
  outline: 1px solid black;
  color: black !important;
}

.pulse {
  display: inline-block;
  outline: 2px solid white;
  border-radius: 50%;
  animation: pulseBorder 1.5s infinite;
}

.ext { display: inline-block; }
.ext.c0 { width: 150px; }
.ext.c3 { width: 450px; }

.tdhover { background-color: rgb(176, 196, 222); }
.copyvalue { cursor: copy; }

.logoGrupo { transform: scale(2.5); font-size: 20px; margin-left: 20px; vertical-align: top; border-radius: 2px; }

.sfont {
  font-size: 8px !important;
  display: inline-block;
  transform-origin: left top;
  margin-bottom: 5px;
}

.sfont:hover { transform: scale(1.5); background-color: white; border-radius: 2px; }

.ReadonlyAttribute .material-icons { vertical-align: middle; }
.Readonlyicon { text-decoration: none; }
.ErrorViewer.Alerta { color: red; }
.ErrorViewerBullet { color: red; }

.avisoSuper {
  font-size: 75pt !important;
  color: red;
  position: absolute;
  background: black;
  transform: translate(-50%, -50%);
  top: 50%;
  padding: 50px;
  margin: 100px;
}

.ConcCorreto { color: #027206; font-size: 11px; font-weight: 900; }
.ConcPendente { color: #2667FF; font-size: 11px; font-weight: 900; }

#MPW0005TABLE3 { width: unset !important; float: right !important; margin-right: 0.85em; }


/* ─── 19. UTILITIES ──────────────────────────────────────── */

/* Typography */
.TextBlock {
  color: black;
}

div.sdmenu div a { font-weight: 500 !important; }

/* Borders */
.Border-Top    { border-top: solid 1px black; }
.Border-Left   { border-left: solid 1px black; }
.Border-Right  { border-right: solid 1px black; }
.Border-Bottom { border-bottom: solid 1px black; }
.Border-Solid  { border: solid 1px black; }

/* Alignment */
.Align-Center { text-align: center; }
.Center { text-align: center !important; display: block; margin-left: auto; margin-right: auto; }
.TCenter { text-align: center !important; }
.TRight  { text-align: right !important; }

/* Colors */
.material-icons.red, .red    { color: red !important; }
.material-icons.green, .green { color: green !important; }
.gray { color: gray !important; }
.fadeGray { color: #eeeded !important; }
.rR .round { color: red !important; }
.rG .round { color: green !important; }

/* Font */
.font-bold   { font-weight: bold; }
.font-normal { font-weight: normal; }
.B { font-weight: 600; }

/* Visibility */
.inpHide, .BtHide { display: none !important; }
.PopupHidden { display: none; }
.ImageNotFound { display: none; }

/* Active/selected */
.active-border { border-left: 3px solid #fcc73b; }

/* Misc layout */
.W100perc { width: 100% !important; }
.Tspace { width: 40px; background-color: white; }
.VA_Middle { vertical-align: middle; display: inline; }
.BreakWords { white-space: unset; }
.nowrap-important { white-space: nowrap !important; }
.float-left { float: left !important; }
.no-padding-left { padding-left: 0px !important; }
.padding-left-20 { padding-left: 20px !important; }
.padding-left-40 { padding-left: 40px !important; }
.font-weight-none { font-weight: normal !important; }
.max1024 { max-width: 1024px; }
.line-height-grid { line-height: 23px; }
.grid-alerta-pend { white-space: normal !important; width: 150px; }
.table-margin-bottom-15 { margin-bottom: 15px; }
.table-min-height-0 { min-height: 0px !important; }
.table-width-100p { width: 100%; }
.table-padding-lr-10 { padding-left: 10px; padding-right: 10px; }

.CBLinkIgn {
  color: black;
  outline: 1px solid black;
  border-radius: 5px;
  padding: 4px;
  background-color: white;
  text-decoration: none;
}

.CBLinkIgn:hover { background-color: #000; color: #fff; }

.rotate { display: inline-block; animation: rotate-animation 2s linear infinite; }

#gx_ajax_indicator {
  width: 100px;
  height: 150px;
  top: 200px;
  position: relative;
  animation-name: moving;
  animation-duration: 4s;
  animation-iteration-count: infinite;
}

.cC1{
	text-align:left;
}
.cC2{
	text-align:right;
}
.TC_Hide{
	display:"none";
}
.TC_Show{
	display:"unset";
}

#TabVisual span{
	display: inline-block !important;
}

.TC_Label{
	min-width: 250px;
	vertical-align: bottom;
}

.grid-i{
	white-space: break-spaces;
}

.tabcontent{
	margin-left:10px;
	margint-top:10px;
}

.Dif1{
	background-color:#bfc0ec36;
}

.DataGrid tbody tr td{
	color:black;
}

.red{
	color:Red !important;
}

.filho{
  background-color: #ecebf3;
  border-right:solid 1px #ababab;
  border-left:solid 1px #ababab;
  border-bottom:solid 1px #ababab;
  border-top:solid 1px #ecebf3;
  padding-top: 0px;
  padding-bottom: 0px;
}

.banco-container {
  display: flex;
  align-items: center;
  gap: 8px;
}

.grid-i {
  flex-shrink: 0;
}

.conta-bancaria {
  font-weight: 500;
  width: 150px;
}

.icones-finais {
  display: flex;
  align-items: center;
  gap: 1px; 
}

.icone-x {
  color: red;
  font-size: 18px;
}

.botao-upload {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}

/* ─── 20. ANIMATIONS / KEYFRAMES ─────────────────────────── */

@keyframes fadeIn {
  to { opacity: 1; }
}

@keyframes copyMessageFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes bounce {
  70%  { transform: translateY(0%); }
  80%  { transform: translateY(-55%); }
  90%  { transform: translateY(0%); }
  95%  { transform: translateY(-7%); }
  97%  { transform: translateY(0%); }
  99%  { transform: translateY(-3%); }
  100% { transform: translateY(0); }
}

@keyframes gelatine {
  from, to { transform: scale(1, 1); }
  25% { transform: scale(0.9, 1.1); }
  50% { transform: scale(1.1, 0.9); }
  75% { transform: scale(0.95, 1.05); }
}

@keyframes shake {
  0%, 100%                         { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90%          { transform: translateX(-10px); }
  20%, 40%, 60%, 80%               { transform: translateX(10px); }
}

@keyframes pulseBorder {
  0%   { box-shadow: 0 0 0 0 rgba(238, 109, 32, 0.7); }
  70%  { box-shadow: 0 0 0 20px rgba(238, 109, 32, 0); }
  100% { box-shadow: 0 0 0 0 rgba(238, 109, 32, 0); }
}

@keyframes AnimationName {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes rotate-animation {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@keyframes moving {
  0%   { left: 0px;   top: 200px; }
  25%  { left: 200px; top: 200px; }
  50%  { left: 200px; top: 400px; }
  75%  { left: 0px;   top: 400px; }
  100% { left: 0px;   top: 200px; }
}
