/* Somnia generated CSS bundle. Do not edit directly. */

/* source: custom/themes/SuiteP/css/somnia/00-tokens.css */
/**
 * Somnia CRM — design tokens
 * Marca unificada #146161 (premium teal) + neutros slate.
 */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: block;
  /* O ficheiro é consumido pelos bundles em custom/themes/SuiteP/dist/. */
  src: url("../fonts/inter-latin.woff2") format("woff2");
}

:root {
  /* Brand */
  --somnia-brand: #146161;
  --somnia-brand-hover: #105454;
  --somnia-brand-deep: #0c4444;
  --somnia-brand-tint: #e6f2f2;
  --somnia-brand-soft: rgba(20, 97, 97, 0.1);
  --somnia-brand-ring: rgba(20, 97, 97, 0.16);
  --somnia-brand-glow: rgba(20, 97, 97, 0.25);

  /* Neutrals */
  --somnia-ink: #0f172a;
  --somnia-ink-2: #1e293b;
  --somnia-body: #334155;
  --somnia-muted: #64748b;
  --somnia-faint: #94a3b8;
  --somnia-border: #e2e8f0;
  --somnia-border-2: #e8eef4;
  --somnia-surface: #ffffff;
  --somnia-canvas: #f1f5f9;
  --somnia-canvas-2: #f8fafc;
  --somnia-hover: #f7f9fc;
  --somnia-danger: #dc2626;
  --somnia-success: #059669;
  --somnia-warning: #d97706;

  /* Type */
  --somnia-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --somnia-ls: -0.01em;
  --somnia-ls-tight: -0.02em;

  /* Layout */
  --somnia-nav-height: 56px;
  --somnia-sidebar-w: 300px;
  --somnia-gutter: 20px;
  --somnia-page-inset: 16px;
  --somnia-content-max: 100%;

  /* Radius */
  --somnia-radius-sm: 6px;
  --somnia-radius-md: 8px;
  --somnia-radius-lg: 10px;
  --somnia-radius-xl: 12px;
  --somnia-radius-2xl: 14px;
  --somnia-radius-pill: 999px;

  /* Shadow */
  --somnia-shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.04);
  --somnia-shadow-card: 0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
  --somnia-shadow-md: 0 4px 14px rgba(15, 23, 42, 0.07);
  --somnia-shadow-pop: 0 10px 28px rgba(15, 23, 42, 0.12);
  --somnia-shadow-nav: 0 2px 14px rgba(20, 97, 97, 0.22);
  --somnia-shadow-primary: 0 4px 14px rgba(20, 97, 97, 0.28);

  /* Motion */
  --somnia-ease: cubic-bezier(0.32, 0.72, 0, 1);
  --somnia-duration: 0.22s;
  --somnia-duration-slow: 0.38s;

  /* Z */
  --somnia-z-nav: 40000;
  --somnia-z-sidebar: 12050;
  --somnia-z-modal: 20000;
}

/* source: custom/themes/SuiteP/css/somnia/01-base.css */
/**
 * Somnia — base tipografia, canvas, overrides SuiteP suaves
 */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

html,
body {
  font-family: var(--somnia-font) !important;
  letter-spacing: var(--somnia-ls);
  color: var(--somnia-body);
  background: var(--somnia-canvas) !important;
}

/*
 * overflow-y:auto só mostra a barra quando o conteúdo ultrapassa a altura.
 * overflow-y:scroll + scrollbar-gutter:stable pintava uma calha cinzenta
 * permanente à direita em todas as telas (mesmo sem overflow).
 */
html.somnia-theme {
  overflow-y: auto;
  scrollbar-gutter: auto;
}

html.somnia-theme {
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 116, 139, 0.45) transparent;
}

html.somnia-theme::-webkit-scrollbar {
  width: 10px;
}

html.somnia-theme::-webkit-scrollbar-track {
  background: transparent;
}

html.somnia-theme::-webkit-scrollbar-thumb {
  background-color: rgba(100, 116, 139, 0.42);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}

html.somnia-theme::-webkit-scrollbar-thumb:hover {
  background-color: rgba(71, 85, 105, 0.62);
}

body {
  font-size: 14px;
  line-height: 1.45;
}

html.somnia-theme #content,
html.somnia-theme #pagecontent,
html.somnia-theme .content {
  font-family: var(--somnia-font);
}

/* Suavizar transição após AJAX — sem fade que “desrenderiza” a página anterior */
html.somnia-theme #content {
  animation: none;
}

a {
  transition: color var(--somnia-duration) var(--somnia-ease);
}

a:hover,
a:focus {
  color: var(--somnia-brand);
  text-decoration: none;
}

html.somnia-theme .somnia-breadcrumb a,
html.somnia-theme .somnia-breadcrumb a:link,
html.somnia-theme .somnia-breadcrumb a:visited,
html.somnia-theme .somnia-breadcrumb a:focus,
html.somnia-theme .somnia-breadcrumb a:active {
  color: var(--somnia-muted) !important;
  text-decoration: none !important;
  font-weight: 500;
}

html.somnia-theme .somnia-breadcrumb a:hover,
html.somnia-theme .somnia-breadcrumb a:focus-visible {
  color: var(--somnia-brand) !important;
  text-decoration: none !important;
}

/* Foco de teclado consistente nas vistas autenticadas; o login mantém o seu desenho próprio. */
html.somnia-theme body:not(.somnia-login):not(.somnia-login-page)
  :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid rgba(13, 148, 136, 0.45) !important;
  outline-offset: 2px !important;
}

h1, h2, h3, h4, h5, h6,
.moduleTitle h2,
.moduleTitle h1 {
  font-family: var(--somnia-font);
  color: var(--somnia-ink);
  letter-spacing: var(--somnia-ls-tight);
  font-weight: 650;
}

/* Scrollbar discreta */
html.somnia-theme ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
html.somnia-theme ::-webkit-scrollbar-track {
  background: transparent;
}
html.somnia-theme ::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
html.somnia-theme ::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
  background-clip: padding-box;
  border: 2px solid transparent;
}

/* Selection */
html.somnia-theme ::selection {
  background: var(--somnia-brand-soft);
  color: var(--somnia-ink);
}

/* Overlay nativo SuiteCRM — Somnia usa paint gate / skeleton */
html.somnia-theme #ajaxStatusDiv,
html.somnia-theme #ajaxloading,
html.somnia-theme #ajaxloading_c,
html.somnia-theme .yui-panel-container#ajaxloading_c {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html.somnia-theme #ajaxStatusDiv,
html.somnia-theme #ajaxloading {
  font-family: var(--somnia-font);
}

/* Page canvas */
html.somnia-theme #bootstrap-container.main {
  background: var(--somnia-canvas) !important;
  min-height: calc(100vh - var(--somnia-nav-height));
  padding-top: 0 !important;
}

html.somnia-theme #content.content {
  background: transparent !important;
  padding: 18px var(--somnia-gutter) 40px !important;
  margin-top: var(--somnia-nav-height) !important;
}

/*
 * Home/Dashboard já aplica --somnia-page-inset (16px) em .somnia-home-entry
 * e .dashboard. As restantes vistas recebem o mesmo inset no #content.
 * Login, embeds e popups ficam de fora para não duplicar nem criar gutter CRM.
 */
html.somnia-theme body:not(.somnia-embed-page):not(.somnia-layout-builder-page):not(.somnia-login):not(.somnia-login-page):not(.somnia-popup):not(.popupBody):not(.somnia-home-page):not(.somnia-home-dashboard-page):not(:has(.somnia-home-entry)):not(:has(.slb-page)) #content.content {
  padding-left: calc(var(--somnia-gutter) + var(--somnia-page-inset)) !important;
  padding-right: calc(var(--somnia-gutter) + var(--somnia-page-inset)) !important;
}

html.somnia-theme body.somnia-home-page #content.content,
html.somnia-theme body.somnia-home-dashboard-page #content.content,
html.somnia-theme body:has(.somnia-home-entry) #content.content {
  padding-left: var(--somnia-gutter) !important;
  padding-right: var(--somnia-gutter) !important;
}

/* Apps em iframe: ocupar o viewport abaixo da navbar, sem gutter/footer do CRM.
   Fundo escuro só com o shell no DOM — senão a navegação SPA pinta um “buraco” preto
   sobre o HTML antigo (mesmo problema do paint-gate das outras vistas). */
html.somnia-theme body.somnia-embed-page,
html.somnia-theme body.somnia-embed-page #bootstrap-container,
html.somnia-theme body.somnia-embed-page #bootstrap-container.main,
html.somnia-theme body.somnia-embed-page #content,
html.somnia-theme body.somnia-embed-page #content.content,
html.somnia-theme body.somnia-embed-page #pagecontent {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
  overflow: hidden !important;
}

html.somnia-theme body.somnia-embed-page,
html.somnia-theme body.somnia-embed-page #bootstrap-container.main {
  height: 100vh !important;
  min-height: 100vh !important;
  background: var(--somnia-canvas, #f1f5f9) !important;
}

html.somnia-theme body.somnia-embed-page #content.content,
html.somnia-theme body.somnia-embed-page #pagecontent {
  margin-top: var(--somnia-nav-height, 64px) !important;
  height: calc(100vh - var(--somnia-nav-height, 64px)) !important;
  min-height: calc(100vh - var(--somnia-nav-height, 64px)) !important;
  background: var(--somnia-canvas, #f1f5f9) !important;
}

html.somnia-theme body.somnia-embed-page:has(.orc-si-shell),
html.somnia-theme body.somnia-embed-page:has(.orc-si-shell) #bootstrap-container.main,
html.somnia-theme body.somnia-embed-page:has(.orc-si-shell) #content.content,
html.somnia-theme body.somnia-embed-page:has(.orc-si-shell) #pagecontent {
  background: #0b1220 !important;
}

html.somnia-theme body.somnia-embed-page:has(.orc-fat-shell),
html.somnia-theme body.somnia-embed-page:has(.orc-fat-shell) #bootstrap-container.main,
html.somnia-theme body.somnia-embed-page:has(.orc-fat-shell) #content.content,
html.somnia-theme body.somnia-embed-page:has(.orc-fat-shell) #pagecontent {
  background: #0f1a1f !important;
}

html.somnia-theme body.somnia-embed-page:has(.orc-twb-shell),
html.somnia-theme body.somnia-embed-page:has(.orc-twb-shell) #bootstrap-container.main,
html.somnia-theme body.somnia-embed-page:has(.orc-twb-shell) #content.content,
html.somnia-theme body.somnia-embed-page:has(.orc-twb-shell) #pagecontent,
html.somnia-theme body.somnia-embed-page:has(.orc-sib-shell),
html.somnia-theme body.somnia-embed-page:has(.orc-sib-shell) #bootstrap-container.main,
html.somnia-theme body.somnia-embed-page:has(.orc-sib-shell) #content.content,
html.somnia-theme body.somnia-embed-page:has(.orc-sib-shell) #pagecontent {
  background: #061012 !important;
}

html.somnia-theme body.somnia-embed-page:has(.orc-gp-shell),
html.somnia-theme body.somnia-embed-page:has(.orc-gp-shell) #bootstrap-container.main,
html.somnia-theme body.somnia-embed-page:has(.orc-gp-shell) #content.content,
html.somnia-theme body.somnia-embed-page:has(.orc-gp-shell) #pagecontent {
  background: #f4f4f5 !important;
}

html.somnia-theme body.somnia-embed-page:has(.orc-pbi-shell),
html.somnia-theme body.somnia-embed-page:has(.orc-pbi-shell) #bootstrap-container.main,
html.somnia-theme body.somnia-embed-page:has(.orc-pbi-shell) #content.content,
html.somnia-theme body.somnia-embed-page:has(.orc-pbi-shell) #pagecontent {
  background: #000 !important;
}

html.somnia-theme body.somnia-embed-page:has(.ia-rececao-shell),
html.somnia-theme body.somnia-embed-page:has(.ia-rececao-shell) #bootstrap-container.main,
html.somnia-theme body.somnia-embed-page:has(.ia-rececao-shell) #content.content,
html.somnia-theme body.somnia-embed-page:has(.ia-rececao-shell) #pagecontent,
html.somnia-theme body.somnia-embed-page:has(.ia-conf-encomendas-shell),
html.somnia-theme body.somnia-embed-page:has(.ia-conf-encomendas-shell) #bootstrap-container.main,
html.somnia-theme body.somnia-embed-page:has(.ia-conf-encomendas-shell) #content.content,
html.somnia-theme body.somnia-embed-page:has(.ia-conf-encomendas-shell) #pagecontent,
html.somnia-theme body.somnia-embed-page:has(.ia-conf-faturas-shell),
html.somnia-theme body.somnia-embed-page:has(.ia-conf-faturas-shell) #bootstrap-container.main,
html.somnia-theme body.somnia-embed-page:has(.ia-conf-faturas-shell) #content.content,
html.somnia-theme body.somnia-embed-page:has(.ia-conf-faturas-shell) #pagecontent {
  background: #0b1622 !important;
}

html.somnia-theme body.somnia-embed-page:has(.somnia-whatsapp-shell),
html.somnia-theme body.somnia-embed-page:has(.somnia-whatsapp-shell) #bootstrap-container.main,
html.somnia-theme body.somnia-embed-page:has(.somnia-whatsapp-shell) #content.content,
html.somnia-theme body.somnia-embed-page:has(.somnia-whatsapp-shell) #pagecontent {
  background: #eef3f2 !important;
}

html.somnia-theme body.somnia-embed-page:has(.smc-app-shell),
html.somnia-theme body.somnia-embed-page:has(.smc-app-shell) #bootstrap-container.main,
html.somnia-theme body.somnia-embed-page:has(.smc-app-shell) #content.content,
html.somnia-theme body.somnia-embed-page:has(.smc-app-shell) #pagecontent,
html.somnia-theme body.somnia-embed-page:has(#smc-app),
html.somnia-theme body.somnia-embed-page:has(#smc-app) #bootstrap-container.main,
html.somnia-theme body.somnia-embed-page:has(#smc-app) #content.content,
html.somnia-theme body.somnia-embed-page:has(#smc-app) #pagecontent {
  background: #fff !important;
}

html.somnia-theme body.somnia-embed-page footer,
html.somnia-theme body.somnia-embed-page .moduleTitle,
html.somnia-theme body.somnia-embed-page #buttontoggle {
  display: none !important;
}

/* Layout Builder: ocupa o canvas abaixo da navbar, sem gutter/footer do CRM. */
html.somnia-theme:has(.slb-page),
html.somnia-theme.somnia-layout-builder-page {
  overflow: hidden;
  scrollbar-gutter: auto;
}

html.somnia-theme body.somnia-layout-builder-page,
html.somnia-theme body:has(.slb-page) {
  overflow: hidden;
  height: 100vh;
}

html.somnia-theme body.somnia-layout-builder-page #bootstrap-container,
html.somnia-theme body.somnia-layout-builder-page #bootstrap-container.main,
html.somnia-theme body.somnia-layout-builder-page #content,
html.somnia-theme body.somnia-layout-builder-page #content.content,
html.somnia-theme body.somnia-layout-builder-page #pagecontent,
html.somnia-theme body:has(.slb-page) #bootstrap-container,
html.somnia-theme body:has(.slb-page) #bootstrap-container.main,
html.somnia-theme body:has(.slb-page) #content,
html.somnia-theme body:has(.slb-page) #content.content,
html.somnia-theme body:has(.slb-page) #pagecontent {
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
  overflow: hidden !important;
}

html.somnia-theme body.somnia-layout-builder-page,
html.somnia-theme body.somnia-layout-builder-page #bootstrap-container.main,
html.somnia-theme body:has(.slb-page),
html.somnia-theme body:has(.slb-page) #bootstrap-container.main {
  height: 100vh !important;
  min-height: 100vh !important;
  margin: 0 !important;
  background: var(--somnia-canvas, #f1f5f9) !important;
}

html.somnia-theme body.somnia-layout-builder-page #content.content,
html.somnia-theme body:has(.slb-page) #content.content {
  margin: 0 !important;
  margin-top: var(--somnia-nav-height, 64px) !important;
  height: calc(100vh - var(--somnia-nav-height, 64px)) !important;
  min-height: calc(100vh - var(--somnia-nav-height, 64px)) !important;
  background: var(--somnia-canvas, #f1f5f9) !important;
}

html.somnia-theme body.somnia-layout-builder-page #pagecontent,
html.somnia-theme body:has(.slb-page) #pagecontent {
  margin: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  background: var(--somnia-canvas, #f1f5f9) !important;
}

html.somnia-theme body.somnia-layout-builder-page footer,
html.somnia-theme body.somnia-layout-builder-page .moduleTitle,
html.somnia-theme body:has(.slb-page) footer,
html.somnia-theme body:has(.slb-page) .moduleTitle {
  display: none !important;
}

html.somnia-theme body.somnia-embed-page .orc-si-shell,
html.somnia-theme body.somnia-embed-page .orc-gp-shell,
html.somnia-theme body.somnia-embed-page .orc-fat-shell,
html.somnia-theme body.somnia-embed-page .orc-twb-shell,
html.somnia-theme body.somnia-embed-page .orc-sib-shell,
html.somnia-theme body.somnia-embed-page .orc-pbi-shell {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.somnia-theme body.somnia-embed-page .orc-pbi-shell {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

html.somnia-theme body.somnia-embed-page .orc-pbi-frame {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
}

html.somnia-theme body.somnia-embed-page #orc-powerbi-container {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

html.somnia-theme body.somnia-embed-page #orc-powerbi-container iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
}

html.somnia-theme body.somnia-embed-page .orc-si-frame,
html.somnia-theme body.somnia-embed-page .orc-gp-frame,
html.somnia-theme body.somnia-embed-page .orc-fat-frame,
html.somnia-theme body.somnia-embed-page .orc-twb-frame,
html.somnia-theme body.somnia-embed-page .orc-sib-frame {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
}

html.somnia-theme #pagecontent {
  max-width: var(--somnia-content-max);
}

/* Module title — hero limpo */
html.somnia-theme .moduleTitle {
  margin: 0 0 16px !important;
  padding: 4px 0 14px !important;
  border-bottom: 1px solid var(--somnia-border) !important;
  background: transparent !important;
}

html.somnia-theme .moduleTitle h2,
html.somnia-theme .moduleTitle h2 span,
html.somnia-theme .moduleTitle h2 a {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--somnia-ink) !important;
  letter-spacing: var(--somnia-ls-tight) !important;
  line-height: 1.25 !important;
}

html.somnia-theme .moduleTitle .utils {
  margin-top: 4px;
}

/* Favorites / shortcuts icons */
html.somnia-theme .moduleTitle .favorite,
html.somnia-theme .moduleTitle .btn-success {
  border-radius: var(--somnia-radius-md);
}

/* source: custom/themes/SuiteP/css/somnia/02-shell.css */
/**
 * Somnia — navbar, sidebar, footer, brand
 */

/* ---- Navbar ---- */
html.somnia-theme .navbar-inverse.navbar-fixed-top,
html.somnia-theme nav.navbar.navbar-inverse {
  background: var(--somnia-brand) !important;
  background-image: none !important;
  border: none !important;
  box-shadow: var(--somnia-shadow-nav) !important;
  min-height: var(--somnia-nav-height) !important;
  height: var(--somnia-nav-height) !important;
  max-height: none !important;
  z-index: var(--somnia-z-nav, 40000) !important;
  overflow: visible !important;
}

html.somnia-theme .navbar-inverse .container-fluid {
  min-height: var(--somnia-nav-height);
  height: var(--somnia-nav-height);
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  padding: 0 6px 0 4px !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

html.somnia-theme .desktop-toolbar {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  float: none !important;
  height: var(--somnia-nav-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  overflow: visible !important;
  visibility: visible !important;
}

html.somnia-theme .desktop-toolbar #toolbar,
html.somnia-theme .desktop-toolbar .nav.navbar-nav,
html.somnia-theme .desktop-toolbar .nav.navbar-horizontal-fluid {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  float: none !important;
  margin: 0 !important;
  height: var(--somnia-nav-height) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  width: 100% !important;
}

html.somnia-theme .desktop-toolbar .navbar-brand-container,
html.somnia-theme .desktop-toolbar .nav.navbar-nav > li.navbar-brand-container {
  flex: 0 0 auto !important;
}

html.somnia-theme .desktop-toolbar .nav.navbar-nav > li.topnav,
html.somnia-theme .desktop-toolbar .nav.navbar-horizontal-fluid > li.topnav {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

html.somnia-theme .desktop-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 0 auto !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  height: var(--somnia-nav-height) !important;
  overflow: visible !important;
  visibility: visible !important;
}

html.somnia-theme .desktop-bar .toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* SuiteP esconde a barra desktop <1201px e mostra hamburger/tablet — manter o chrome premium */
html.somnia-theme .navbar-header,
html.somnia-theme .navbar-toggle,
html.somnia-theme .tablet-bar,
html.somnia-theme .mobile-bar,
html.somnia-theme #toolbar-mobile,
html.somnia-theme #toolbar-tablet,
html.somnia-theme .mobileheader,
html.somnia-theme #mobileheader {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* html.somnia-theme early (antes do body class) */
html.somnia-theme body {
  font-family: var(--somnia-font);
}

html.somnia-theme #ajaxHeader {
  width: 100% !important;
  max-width: none !important;
  position: relative !important;
  z-index: var(--somnia-z-nav, 40000) !important;
  overflow: visible !important;
}

/* Brand home — mesma altura/linha dos menus topnav */
html.somnia-theme .navbar-brand-container {
  display: inline-block !important;
  height: var(--somnia-nav-height) !important;
  line-height: var(--somnia-nav-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  vertical-align: top !important;
  overflow: visible !important;
}

html.somnia-theme .navbar-brand-container .navbar-brand,
html.somnia-theme a.navbar-brand.with-home-icon,
html.somnia-theme .navbar-brand.somnia-brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: var(--somnia-nav-height) !important;
  min-height: var(--somnia-nav-height) !important;
  max-height: none !important;
  margin: 0 8px 0 6px !important;
  padding: 0 !important;
  border: none !important;
  outline: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  line-height: var(--somnia-nav-height) !important;
  vertical-align: top !important;
  overflow: visible !important;
  gap: 0;
  -webkit-tap-highlight-color: transparent;
}

html.somnia-theme .navbar-brand-container .navbar-brand:focus,
html.somnia-theme .navbar-brand-container .navbar-brand:focus-visible,
html.somnia-theme .navbar-brand-container .navbar-brand:active,
html.somnia-theme a.navbar-brand.with-home-icon:focus,
html.somnia-theme a.navbar-brand.with-home-icon:focus-visible,
html.somnia-theme a.navbar-brand.with-home-icon:active,
html.somnia-theme .navbar-brand.somnia-brand:focus,
html.somnia-theme .navbar-brand.somnia-brand:focus-visible,
html.somnia-theme .navbar-brand.somnia-brand:active {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

html.somnia-theme .navbar-brand.somnia-brand .somnia-brand-mark-img:focus,
html.somnia-theme .navbar-brand.somnia-brand .somnia-brand-mark-img:active {
  outline: none !important;
  border: none !important;
}

/* Nunca mostrar o glyph “casa” no brand — só o mark Somnia */
html.somnia-theme .navbar-brand.somnia-brand::before,
html.somnia-theme .navbar-brand.somnia-brand.suitepicon::before,
html.somnia-theme .navbar-brand.somnia-brand .suitepicon-action-home,
html.somnia-theme .navbar-brand.somnia-brand .suitepicon-action-home::before {
  display: none !important;
  content: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

html.somnia-theme .navbar-brand-container .navbar-brand:hover,
html.somnia-theme a.navbar-brand.with-home-icon:hover,
html.somnia-theme .navbar-brand.somnia-brand:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: none;
  opacity: 0.9;
}

html.somnia-theme .somnia-brand-mark-img {
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  border-radius: 0;
  object-fit: contain;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  /* Sobe para o centro óptico das letras (VENDAS, etc.) */
  transform: translateY(-6px);
}

/* Só o logo — sem texto "Somnia" */
html.somnia-theme .somnia-brand-text {
  display: none !important;
}

/* Topnav — texto centrado (line-height = altura da barra); sem cinzento; barra branca via ::after */
html.somnia-theme .navbar-inverse .navbar-nav > li.topnav,
html.somnia-theme .navbar-inverse .nav > li.topnav,
html.somnia-theme .navbar-inverse .nav > .topnav:hover,
html.somnia-theme .navbar-inverse .nav > .topnav.open,
html.somnia-theme .navbar-inverse .nav > .topnav.somnia-dropdown-open {
  background: transparent !important;
  background-color: transparent !important;
  height: var(--somnia-nav-height) !important;
  line-height: var(--somnia-nav-height) !important;
  padding: 0 4px !important;
  margin: 0 !important;
}

html.somnia-theme .navbar-inverse .nav > .topnav > span.notCurrentTabLeft,
html.somnia-theme .navbar-inverse .nav > .topnav > span.notCurrentTabRight,
html.somnia-theme .navbar-inverse .nav > .topnav span.notCurrentTabLeft,
html.somnia-theme .navbar-inverse .nav > .topnav span.notCurrentTabRight {
  display: none !important;
}

html.somnia-theme .navbar-inverse .nav > .topnav > span.notCurrentTab,
html.somnia-theme .navbar-inverse .nav > .topnav > span.currentTab {
  display: inline-block !important;
  height: var(--somnia-nav-height) !important;
  line-height: var(--somnia-nav-height) !important;
  vertical-align: top !important;
  padding: 0 !important;
  margin: 0 !important;
}

html.somnia-theme .navbar-inverse .nav > .topnav > a.grouptab,
html.somnia-theme .navbar-inverse .nav > .topnav > span.notCurrentTab > a,
html.somnia-theme .navbar-inverse .nav > .topnav > span.currentTab > a,
html.somnia-theme .navbar-inverse .nav > .topnav.with-actions > span.notCurrentTab > a {
  position: relative !important;
  display: inline-block !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 12px !important;
  height: var(--somnia-nav-height) !important;
  line-height: var(--somnia-nav-height) !important;
  vertical-align: top !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-top: 0 none !important;
  box-sizing: border-box !important;
}

html.somnia-theme .navbar-inverse .nav > .topnav > a.grouptab::after,
html.somnia-theme .navbar-inverse .nav > .topnav > span.notCurrentTab > a::after,
html.somnia-theme .navbar-inverse .nav > .topnav > span.currentTab > a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 10px;
  right: 10px;
  height: 3px;
  background: transparent;
  pointer-events: none;
}

html.somnia-theme .navbar-inverse .nav > .topnav > a.grouptab:hover,
html.somnia-theme .navbar-inverse .nav > .topnav > a.grouptab:focus,
html.somnia-theme .navbar-inverse .nav > .topnav.open > a.grouptab,
html.somnia-theme .navbar-inverse .nav > .topnav.somnia-dropdown-open > a.grouptab,
html.somnia-theme .navbar-inverse .nav > .topnav > span.notCurrentTab > a:hover,
html.somnia-theme .navbar-inverse .nav > .topnav > span.notCurrentTab > a:focus,
html.somnia-theme .navbar-inverse .nav > .topnav.open > span.notCurrentTab > a,
html.somnia-theme .navbar-inverse .nav > .topnav.somnia-dropdown-open > span.notCurrentTab > a,
html.somnia-theme .navbar-inverse .nav > .topnav.with-actions > span.notCurrentTab > a:hover,
html.somnia-theme .navbar-inverse .nav > .topnav > span.currentTab > a {
  background: transparent !important;
  background-color: transparent !important;
  color: #fff !important;
  border: 0 !important;
  border-top: 0 none !important;
}

html.somnia-theme .navbar-inverse .nav > .topnav:hover > a.grouptab::after,
html.somnia-theme .navbar-inverse .nav > .topnav.open > a.grouptab::after,
html.somnia-theme .navbar-inverse .nav > .topnav.somnia-dropdown-open > a.grouptab::after,
html.somnia-theme .navbar-inverse .nav > .topnav:hover > span.notCurrentTab > a::after,
html.somnia-theme .navbar-inverse .nav > .topnav.open > span.notCurrentTab > a::after,
html.somnia-theme .navbar-inverse .nav > .topnav.somnia-dropdown-open > span.notCurrentTab > a::after,
html.somnia-theme .navbar-inverse .nav > .topnav > span.currentTab > a::after {
  background: #fff;
}

/* Toolbar icons (search, alerts, user) */
html.somnia-theme .navbar-inverse .desktop-bar .toolbar > li > a,
html.somnia-theme .navbar-inverse .navbar-search,
html.somnia-theme .navbar-inverse .globalLinks-desktop > li > a {
  color: #fff !important;
  border-radius: var(--somnia-radius-md) !important;
  transition: background var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme .navbar-inverse .desktop-bar .toolbar > li > a:hover,
html.somnia-theme .navbar-inverse .globalLinks-desktop > li > a:hover {
  background: rgba(255, 255, 255, 0.14) !important;
}

/* Search: estilo da pill fica só em 16-navbar-toolbar.css (evitar dupla pill) */

/* Dropdowns */
html.somnia-theme .navbar-inverse .dropdown-menu,
html.somnia-theme .dropdown-menu {
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-lg) !important;
  box-shadow: var(--somnia-shadow-pop) !important;
  padding: 6px !important;
  margin-top: 8px !important;
  background: var(--somnia-surface) !important;
}

html.somnia-theme .navbar-inverse .dropdown-menu > li > a,
html.somnia-theme .dropdown-menu > li > a {
  border-radius: var(--somnia-radius-md) !important;
  color: var(--somnia-ink-2) !important;
  font-size: 13px !important;
  padding: 8px 12px !important;
  transition: background var(--somnia-duration) var(--somnia-ease), color var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme .navbar-inverse .dropdown-menu > li > a:hover,
html.somnia-theme .dropdown-menu > li > a:hover,
html.somnia-theme .navbar-inverse .dropdown-menu li a:hover {
  background: var(--somnia-brand-tint) !important;
  color: var(--somnia-brand) !important;
}

/* Sidebar drawer: ver 12-sidebar.css */

/* ---- Footer ---- */
html.somnia-theme footer {
  background: var(--somnia-surface) !important;
  border-top: 1px solid var(--somnia-border) !important;
  color: var(--somnia-muted) !important;
  font-size: 12px !important;
  padding: 14px 20px !important;
  margin-top: 8px;
}

html.somnia-theme footer a {
  color: var(--somnia-muted) !important;
  transition: color var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme footer a:hover {
  color: var(--somnia-brand) !important;
}

/* source: custom/themes/SuiteP/css/somnia/03-components.css */
/**
 * Somnia — botões, forms, panels, tabs, modals, alerts
 */

/* ---- Buttons ---- */
html.somnia-theme .btn,
html.somnia-theme .button,
html.somnia-theme input[type="button"],
html.somnia-theme input[type="submit"],
html.somnia-theme input[type="reset"],
html.somnia-theme button {
  font-family: var(--somnia-font) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: var(--somnia-ls);
  border-radius: var(--somnia-radius-md) !important;
  transition: background var(--somnia-duration) var(--somnia-ease),
    border-color var(--somnia-duration) var(--somnia-ease),
    box-shadow var(--somnia-duration) var(--somnia-ease),
    transform var(--somnia-duration) var(--somnia-ease),
    color var(--somnia-duration) var(--somnia-ease) !important;
}

/* SuiteP usa .btn-danger / .button.red nas ações primárias (Aplicar, Guardar,
   OK). No Somnia esses botões são sempre a marca — nunca vermelhos. */
html.somnia-theme .btn-primary,
html.somnia-theme .btn-danger,
html.somnia-theme .button.primary,
html.somnia-theme .button.danger,
html.somnia-theme .button.red,
html.somnia-theme input.button.primary,
html.somnia-theme input.btn-danger,
html.somnia-theme #bigbutton.btn-primary,
html.somnia-theme .yui-pg-container .yui-pg-current-page,
html.somnia-theme a.btn-primary,
html.somnia-theme a.btn-danger {
  background: var(--somnia-brand) !important;
  background-image: none !important;
  border-color: var(--somnia-brand) !important;
  color: #fff !important;
  box-shadow: var(--somnia-shadow-primary);
}

html.somnia-theme .btn-primary:hover,
html.somnia-theme .btn-primary:focus,
html.somnia-theme .btn-danger:hover,
html.somnia-theme .btn-danger:focus,
html.somnia-theme .btn-danger:active,
html.somnia-theme .button.primary:hover,
html.somnia-theme .button.danger:hover,
html.somnia-theme .button.red:hover,
html.somnia-theme input.button.primary:hover,
html.somnia-theme input.btn-danger:hover,
html.somnia-theme a.btn-danger:hover {
  background: var(--somnia-brand-hover) !important;
  border-color: var(--somnia-brand-hover) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

html.somnia-theme .btn-default,
html.somnia-theme .button,
html.somnia-theme input[type="button"].button,
html.somnia-theme input[type="submit"].button {
  background: var(--somnia-surface) !important;
  background-image: none !important;
  border: 1px solid var(--somnia-border) !important;
  color: var(--somnia-ink-2) !important;
  box-shadow: var(--somnia-shadow-xs);
}

html.somnia-theme .btn-default:hover,
html.somnia-theme .button:hover,
html.somnia-theme input[type="button"].button:hover {
  background: var(--somnia-canvas-2) !important;
  border-color: #cbd5e1 !important;
  color: var(--somnia-ink) !important;
}

html.somnia-theme .btn-success {
  background: var(--somnia-brand) !important;
  border-color: var(--somnia-brand) !important;
  color: #fff !important;
}

/* SuiteP uses #008c8c heavily — remap accents */
html.somnia-theme .btn-info,
html.somnia-theme a.listViewTdToolsS1,
html.somnia-theme .paginationButton,
html.somnia-theme #selectLinkTop a,
html.somnia-theme .sugar_action_button {
  border-radius: var(--somnia-radius-md) !important;
}

/* ---- Forms ---- */
html.somnia-theme input[type="text"],
html.somnia-theme input[type="password"],
html.somnia-theme input[type="email"],
html.somnia-theme input[type="number"],
html.somnia-theme input[type="search"],
html.somnia-theme input[type="tel"],
html.somnia-theme input[type="url"],
html.somnia-theme input[type="date"],
html.somnia-theme select,
html.somnia-theme textarea,
html.somnia-theme .form-control {
  font-family: var(--somnia-font) !important;
  font-size: 13.5px !important;
  color: var(--somnia-ink) !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  box-shadow: none !important;
  min-height: 38px;
  transition: border-color var(--somnia-duration) var(--somnia-ease),
    box-shadow var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme textarea {
  min-height: 88px;
  padding: 10px 12px !important;
}

html.somnia-theme input:focus,
html.somnia-theme select:focus,
html.somnia-theme textarea:focus,
html.somnia-theme .form-control:focus {
  border-color: var(--somnia-brand) !important;
  box-shadow: 0 0 0 3px var(--somnia-brand-ring) !important;
  outline: none !important;
}

html.somnia-theme label,
html.somnia-theme .label,
html.somnia-theme td.label {
  color: var(--somnia-muted) !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
}

/* Search form */
html.somnia-theme #search_form,
html.somnia-theme .search_form,
html.somnia-theme form[name="search_form"] {
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-xl) !important;
  box-shadow: var(--somnia-shadow-card);
  padding: 14px 16px !important;
  margin-bottom: 16px !important;
}

html.somnia-theme #search_form .tabForm,
html.somnia-theme .search .tabForm {
  background: transparent !important;
  border: none !important;
}

/* ---- Panels / cards ---- */
html.somnia-theme .panel,
html.somnia-theme .panel-default,
html.somnia-theme #EditView_tabs .panel,
html.somnia-theme .detail-view .panel,
html.somnia-theme .edit-view .panel {
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-xl) !important;
  box-shadow: var(--somnia-shadow-card) !important;
  overflow: hidden;
  margin-bottom: 14px !important;
}

html.somnia-theme .panel-heading,
html.somnia-theme .panel-default > .panel-heading {
  background: #fff !important;
  border-bottom: 1px solid var(--somnia-border) !important;
  padding: 12px 16px !important;
  border-radius: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  color: var(--somnia-ink) !important;
}

html.somnia-theme .panel-default > .panel-heading > div,
html.somnia-theme .panel-default > .panel-heading > a,
html.somnia-theme .panel-heading a.collapsed,
html.somnia-theme .panel-heading a.collapsed-override {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--somnia-ink) !important;
}

html.somnia-theme .panel-heading a,
html.somnia-theme .panel-heading h4,
html.somnia-theme .panel-title,
html.somnia-theme .panel-heading .panel-title a {
  color: var(--somnia-ink) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: var(--somnia-ls-tight);
  text-decoration: none !important;
  text-transform: none !important;
}

html.somnia-theme .panel-body {
  padding: 16px 18px !important;
  background: var(--somnia-surface) !important;
}

/* Subpanels */
html.somnia-theme .panel.sub-panel,
html.somnia-theme #subpanel_list .panel {
  border-radius: var(--somnia-radius-xl) !important;
  border-color: var(--somnia-border) !important;
  box-shadow: var(--somnia-shadow-card) !important;
  background: #fff !important;
}

html.somnia-theme .panel.sub-panel .panel-heading,
html.somnia-theme .panel.sub-panel > .panel-heading,
html.somnia-theme #subpanel_list .panel-default > .panel-heading {
  background: #fff !important;
  height: auto !important;
  color: var(--somnia-ink) !important;
}

/* ---- Tabs ---- */
html.somnia-theme .nav-tabs {
  border-bottom: 1px solid var(--somnia-border) !important;
  margin-bottom: 0 !important;
  background: transparent !important;
}

html.somnia-theme .nav-tabs > li > a,
html.somnia-theme .content .nav-tabs > li > a,
html.somnia-theme .content .nav-tabs > li > a:focus,
html.somnia-theme .content .nav-tabs > li > a:hover {
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: var(--somnia-radius-md) var(--somnia-radius-md) 0 0 !important;
  color: var(--somnia-muted) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: var(--somnia-ls) !important;
  text-transform: none !important;
  padding: 10px 14px !important;
  background: transparent !important;
  margin-right: 4px !important;
  line-height: 1.3 !important;
  transition: color var(--somnia-duration) var(--somnia-ease), border-color var(--somnia-duration) var(--somnia-ease), background var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme .nav-tabs > li > a:hover {
  color: var(--somnia-brand) !important;
  background: var(--somnia-brand-soft) !important;
  border-bottom-color: transparent !important;
}

html.somnia-theme .nav-tabs > li.active > a,
html.somnia-theme .nav-tabs > li.active > a:hover,
html.somnia-theme .nav-tabs > li.active > a:focus {
  color: var(--somnia-brand) !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid var(--somnia-brand) !important;
}

html.somnia-theme .nav-tabs > li#tab-actions > a,
html.somnia-theme .nav-tabs > li#tab-actions > a:hover,
html.somnia-theme .nav-tabs > li#tab-actions > a:focus {
  background: var(--somnia-brand) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--somnia-radius-md) !important;
  min-width: 38px;
  text-align: center;
  box-shadow: var(--somnia-shadow-primary);
}

/* ---- Modals / dialogs ---- */
html.somnia-theme .modal-content,
html.somnia-theme .ui-dialog {
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-2xl) !important;
  box-shadow: var(--somnia-shadow-pop) !important;
  overflow: hidden;
  font-family: var(--somnia-font);
}

html.somnia-theme .modal-header,
html.somnia-theme .ui-dialog .ui-dialog-titlebar {
  background: var(--somnia-canvas-2) !important;
  border-bottom: 1px solid var(--somnia-border) !important;
  color: var(--somnia-ink) !important;
}

html.somnia-theme .modal-title,
html.somnia-theme .ui-dialog-title {
  font-weight: 700 !important;
  letter-spacing: var(--somnia-ls-tight);
}

html.somnia-theme .modal-footer {
  background: var(--somnia-canvas-2) !important;
  border-top: 1px solid var(--somnia-border) !important;
}

/* ---- Alerts / messages ---- */
html.somnia-theme .error,
html.somnia-theme .required,
html.somnia-theme .alert-danger {
  border-radius: var(--somnia-radius-md);
}

html.somnia-theme .alert {
  border-radius: var(--somnia-radius-lg) !important;
  border-width: 1px !important;
  font-size: 13px;
}

/* ---- Pagination ---- */
html.somnia-theme .pageNumbers,
html.somnia-theme .listViewPaginationTdS1,
html.somnia-theme .listViewButtons {
  font-family: var(--somnia-font);
  color: var(--somnia-muted);
}

html.somnia-theme .listViewPaginationLinkS1,
html.somnia-theme .pageNumbers a {
  border-radius: var(--somnia-radius-sm) !important;
  color: var(--somnia-brand) !important;
}

html.somnia-theme .button-toggle-expanded,
html.somnia-theme .button-toggle-collapsed {
  border-radius: var(--somnia-radius-md) !important;
}

html.somnia-theme .admin-panel .suitepicon,
html.somnia-theme .admin-panel .panel-heading a {
  color: var(--somnia-brand) !important;
}

/* Button groups / toolbars */
html.somnia-theme .btn-group > .btn,
html.somnia-theme .btn-group-sm > .btn {
  border-radius: 0 !important;
}

html.somnia-theme .btn-group > .btn:first-child {
  border-radius: var(--somnia-radius-md) 0 0 var(--somnia-radius-md) !important;
}

html.somnia-theme .btn-group > .btn:last-child,
html.somnia-theme .btn-group > .dropdown-toggle {
  border-radius: 0 var(--somnia-radius-md) var(--somnia-radius-md) 0 !important;
}

html.somnia-theme .btn-group > .btn:only-child {
  border-radius: var(--somnia-radius-md) !important;
}

/* source: custom/themes/SuiteP/css/somnia/04-tables.css */
/**
 * Somnia — ListView (CSS-first, leve)
 * Fase A–C + polish mockup: pills, kebab, meta, Criar <módulo>, toolbar.
 * Anti-FOUC: body.somnia-list-ready revela #content após enhance.
 * Sem display:flex em <td> (parte o layout SuiteCRM).
 */

/* Anti-FOUC global (reforço; gate principal está inline no _head.tpl) */
html.somnia-theme.somnia-page-pending #content,
html.somnia-theme body.somnia-page-pending #content,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-ready) #content {
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Home: overflow:hidden no #content colapsa a scrollbar da viewport e
   as cartas saltam ~15px quando o gate termina. Só esconder, não clipar. */
html.somnia-theme body.somnia-home-page.somnia-page-pending #content,
html.somnia-theme.somnia-home-page.somnia-page-pending #content,
html.somnia-theme:has(.somnia-home-entry).somnia-page-pending #content {
  overflow: visible !important;
}

/* Apps em iframe: revelar só com o shell no DOM. Pending sem iframe = canvas, não preto. */
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.orc-si-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.orc-gp-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.orc-fat-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.orc-twb-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.orc-sib-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.orc-pbi-shell) #content,
html.somnia-theme.somnia-embed-page:not(.somnia-page-pending):has(.orc-si-shell) #content,
html.somnia-theme.somnia-embed-page:not(.somnia-page-pending):has(.orc-gp-shell) #content,
html.somnia-theme.somnia-embed-page:not(.somnia-page-pending):has(.orc-fat-shell) #content,
html.somnia-theme.somnia-embed-page:not(.somnia-page-pending):has(.orc-twb-shell) #content,
html.somnia-theme.somnia-embed-page:not(.somnia-page-pending):has(.orc-sib-shell) #content,
html.somnia-theme.somnia-embed-page:not(.somnia-page-pending):has(.orc-pbi-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.ia-rececao-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.ia-conf-encomendas-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.ia-conf-faturas-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.somnia-whatsapp-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.smc-app-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(#smc-app) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(#orc-kanban-iframe) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(#orc-kanban-settings-iframe) #content,
html.somnia-theme.somnia-embed-page:not(.somnia-page-pending):has(.ia-rececao-shell) #content,
html.somnia-theme.somnia-embed-page:not(.somnia-page-pending):has(.somnia-whatsapp-shell) #content,
html.somnia-theme.somnia-embed-page:not(.somnia-page-pending):has(.smc-app-shell) #content,
html.somnia-theme body.somnia-listview-page:has(.somnia-whatsapp-shell) #content,
html.somnia-theme body.somnia-listview-page:has(.smc-app-shell) #content,
html.somnia-theme body.somnia-listview-page:has(.ia-rececao-shell) #content,
html.somnia-theme:has(.somnia-whatsapp-shell) #content,
html.somnia-theme:has(.smc-app-shell) #content,
html.somnia-theme:has(.ia-rececao-shell) #content {
  opacity: 1 !important;
  overflow: hidden !important;
  pointer-events: auto !important;
  padding: 0 !important;
  margin-top: var(--somnia-nav-height, 64px) !important;
}

/* Tabela nativa (Ação em massa) — escondida mesmo se o body ainda for EditView */
html.somnia-theme form#MassUpdate > table.list.view > thead > tr#pagination,
html.somnia-theme form#MassUpdate > table.list.view > thead > tr.pagination-unique,
html.somnia-theme form#MassUpdate > table.list.view > thead > tr.pagination,
html.somnia-theme form#MassUpdate > table.list.view > tfoot,
html.somnia-theme body.somnia-editview-page #content > form#MassUpdate,
html.somnia-theme body.somnia-detailview-page #content > form#MassUpdate {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page.somnia-list-ready:not(.somnia-page-pending) #content,
html.somnia-theme body.somnia-home-page:not(.somnia-page-pending) #content,
html.somnia-theme body.somnia-calendar-page:not(.somnia-page-pending) #content,
html.somnia-theme body.somnia-search-page:not(.somnia-page-pending) #content,
html.somnia-theme body:has(#search-wrapper-form):not(.somnia-page-pending) #content,
html.somnia-theme body.somnia-detailview-page:not(.somnia-page-pending) #content,
html.somnia-theme body.somnia-editview-page:not(.somnia-page-pending) #content,
html.somnia-theme body.somnia-admin-page:not(.somnia-page-pending) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.orc-si-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.orc-gp-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.orc-fat-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.orc-twb-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.orc-sib-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.orc-pbi-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.ia-rececao-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.ia-conf-encomendas-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.ia-conf-faturas-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.somnia-whatsapp-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(.smc-app-shell) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(#smc-app) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(#orc-kanban-iframe) #content,
html.somnia-theme body.somnia-embed-page:not(.somnia-page-pending):has(#orc-kanban-settings-iframe) #content {
  opacity: 1 !important;
}

html.somnia-theme.somnia-page-pending #ajaxloading,
html.somnia-theme.somnia-page-pending #ajaxloading_c,
html.somnia-theme.somnia-page-pending #ajaxStatusDiv,
html.somnia-theme body.somnia-page-pending #ajaxloading,
html.somnia-theme body.somnia-page-pending #ajaxloading_c,
html.somnia-theme body.somnia-page-pending #ajaxStatusDiv {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/**
 * Nunca revelar #content antes de somnia-list-ready.
 * Os SVG dos KPIs (casa, funil, etc.) não têm width/height no HTML: se o
 * conteúdo pintar sem o CSS dos cartões, o ícone enche o viewport (~0.5s).
 */
html.somnia-theme
  body.somnia-listview-page:not(.somnia-list-ready)
  #somnia-list-kpi-row,
html.somnia-theme
  body.somnia-listview-page:not(.somnia-list-ready)
  .somnia-list-head-icon {
  overflow: hidden !important;
}

/* Paginação nativa — SEMPRE escondida em ListView Somnia (com ou sem toolbar) */
html.somnia-theme body.somnia-listview-page table.list.view:not(.dashletPanel) > thead > tr#pagination,
html.somnia-theme body.somnia-listview-page table.list.view:not(.dashletPanel) > thead > tr.pagination-unique,
html.somnia-theme body.somnia-listview-page table.list.view:not(.dashletPanel) > thead > tr.pagination,
html.somnia-theme body.somnia-listview-page table.list.view:not(.dashletPanel) > tfoot,
html.somnia-theme body.somnia-listview-page table.list.view:not(.dashletPanel) tr#pagination,
html.somnia-theme body.somnia-listview-page table.list.view:not(.dashletPanel) tr.pagination-unique,
html.somnia-theme body.somnia-listview-page .list-view-rounded-corners table.list > thead > tr#pagination,
html.somnia-theme body.somnia-listview-page .list-view-rounded-corners table.list > tfoot {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Shell skeleton — visível enquanto #content está oculto (navegação de módulo) */
html.somnia-theme body.somnia-embed-page .somnia-list-shell-skeleton,
html.somnia-theme body.somnia-embed-page #somnia-list-shell-skeleton {
  display: none !important;
}
html.somnia-theme body.somnia-listview-page .somnia-list-shell-skeleton,
html.somnia-theme #somnia-list-shell-skeleton {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--somnia-nav-height, 64px);
  bottom: 0;
  z-index: 1080;
  box-sizing: border-box;
  padding: 28px 24px 32px;
  background: var(--somnia-canvas, #f1f5f9);
  pointer-events: none;
}

html.somnia-theme body.somnia-listview-page.somnia-list-ready .somnia-list-shell-skeleton,
html.somnia-theme body:not(.somnia-listview-page):not(.somnia-list-shell-loading) #somnia-list-shell-skeleton,
html.somnia-theme body:not(.somnia-listview-page):not(.somnia-page-pending) #somnia-list-shell-skeleton,
html.somnia-theme #somnia-list-shell-skeleton[hidden] {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page.somnia-page-pending #somnia-list-shell-skeleton,
html.somnia-theme body.somnia-list-shell-loading #somnia-list-shell-skeleton {
  display: block !important;
}

html.somnia-theme body.somnia-embed-page.somnia-page-pending #somnia-list-shell-skeleton,
html.somnia-theme body.somnia-embed-page #somnia-list-shell-skeleton {
  display: none !important;
}

html.somnia-theme .somnia-list-shell-sk-inner {
  max-width: 100%;
  margin: 0 auto;
}

html.somnia-theme .somnia-list-shell-sk-title {
  width: min(280px, 45%);
  height: 28px;
  margin: 0 0 18px;
  border-radius: 8px;
  background: linear-gradient(90deg, #e2e8f0 0%, #f8fafc 45%, #e2e8f0 100%);
  background-size: 220% 100%;
  animation: somnia-list-sk-shimmer 1.15s ease-in-out infinite;
}

html.somnia-theme .somnia-list-shell-sk-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
}

html.somnia-theme .somnia-list-shell-sk-toolbar > span {
  display: block;
  height: 34px;
  width: 34px;
  border-radius: 10px;
  background: linear-gradient(90deg, #e2e8f0 0%, #f8fafc 45%, #e2e8f0 100%);
  background-size: 220% 100%;
  animation: somnia-list-sk-shimmer 1.15s ease-in-out infinite;
}

html.somnia-theme .somnia-list-shell-sk-toolbar > span.is-grow {
  flex: 1 1 auto;
  width: auto;
  min-width: 120px;
  max-width: 280px;
  border-radius: 999px;
}

html.somnia-theme .somnia-list-shell-sk-table {
  background: #fff;
  border: 1px solid #e8eef4;
  border-radius: 14px;
  padding: 18px 16px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

html.somnia-theme .somnia-list-shell-sk-table .somnia-list-sk-rows {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

html.somnia-theme .somnia-list-shell-sk-table .somnia-list-sk-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

html.somnia-theme .somnia-list-shell-sk-table .somnia-list-sk-cell {
  display: block;
  height: 12px;
  border-radius: 6px;
  background: linear-gradient(90deg, #e2e8f0 0%, #f8fafc 45%, #e2e8f0 100%);
  background-size: 220% 100%;
  animation: somnia-list-sk-shimmer 1.15s ease-in-out infinite;
}

/* ========== Page ========== */
/* Page canvas — ListView sempre full-bleed (sem max-width do shell) */
html.somnia-theme body.somnia-listview-page #content,
html.somnia-theme body.somnia-listview-page #bootstrap-container,
html.somnia-theme body.somnia-listview-page #pagecontent,
html.somnia-theme body.somnia-listview-page #content.content,
html.somnia-theme body.somnia-listview-page #pagecontent.pagecontent {
  background: var(--somnia-canvas) !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

/* ========== Header: título + subtítulo + Criar ========== */
html.somnia-theme body.somnia-listview-page .moduleTitle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 2px 0 12px !important;
  padding: 4px 0 0 !important;
  border-bottom: none !important;
  background: transparent !important;
}

html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}

html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-head-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-head-icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--somnia-brand-light, #e6f2f2);
  color: var(--somnia-brand, #146161);
  font-size: 18px;
  line-height: 1;
}

html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-head-icon::before {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  font-size: 18px !important;
  line-height: 1;
}

html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-head-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
}

html.somnia-theme body.somnia-listview-page .moduleTitle h2,
html.somnia-theme body.somnia-listview-page .moduleTitle h2 span,
html.somnia-theme body.somnia-listview-page .moduleTitle .module-title-text {
  margin: 0 !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: var(--somnia-ink) !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-subtitle {
  display: none !important;
}

/* Pills de filtro (na toolbar acima da tabela) */
html.somnia-theme body.somnia-listview-page .somnia-list-filter-pills {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  flex: 0 1 auto;
}

html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-filter-pills {
  margin-top: 10px;
}

html.somnia-theme body.somnia-listview-page.somnia-list-has-top-toolbar .moduleTitle .somnia-list-filter-pills,
html.somnia-theme body.somnia-listview-page:has(#somnia-list-toolbar) .moduleTitle .somnia-list-filter-pills {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-pill {
  appearance: none;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: var(--somnia-ink-2);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  min-height: 34px;
  padding: 0 16px;
  border-radius: 999px !important;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

html.somnia-theme body.somnia-listview-page .somnia-list-pill:hover {
  border-color: #cbd5e1;
  color: var(--somnia-brand);
  background: #f8fafc;
}

html.somnia-theme body.somnia-listview-page .somnia-list-pill.is-active {
  background: var(--somnia-brand);
  border-color: var(--somnia-brand);
  color: #fff;
}

/* Bookmark de filtros na toolbar → pills no título */
html.somnia-theme body.somnia-listview-page.somnia-list-has-pills ul.action-link.listViewLinkButton {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .moduleTitle .utils {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  float: none !important;
}

html.somnia-theme body.somnia-listview-page .moduleTitle .clear {
  display: none !important;
}

/* Botão pesquisar antigo (ícone) — substituído pelo campo .somnia-list-search */
html.somnia-theme body.somnia-listview-page .moduleTitle a.btn.showsearch,
html.somnia-theme body.somnia-listview-page .moduleTitle a.btn-success.showsearch {
  display: none !important;
}

/* Botão Criar — estilo mockup */
html.somnia-theme body.somnia-listview-page .moduleTitle #create_image {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .moduleTitle #create_link.utilsLink,
html.somnia-theme body.somnia-listview-page .moduleTitle a#create_link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px;
  min-height: 40px !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
  background: var(--somnia-brand) !important;
  border: 1px solid var(--somnia-brand) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08) !important;
  line-height: 1 !important;
}

html.somnia-theme body.somnia-listview-page .moduleTitle #create_link.utilsLink:hover,
html.somnia-theme body.somnia-listview-page .moduleTitle a#create_link:hover {
  background: var(--somnia-brand-hover) !important;
  border-color: var(--somnia-brand-hover) !important;
  color: #fff !important;
}

html.somnia-theme body.somnia-listview-page .moduleTitle #create_link.utilsLink::before {
  content: "+";
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
}

/* ========== Search form (painel nativo — escondido; vive no popup) ========== */
html.somnia-theme body.somnia-listview-page.somnia-list-has-top-toolbar #search_form:not(.somnia-search-relocated),
html.somnia-theme body.somnia-listview-page.somnia-list-has-top-toolbar form[name="search_form"]:not(.somnia-search-relocated),
html.somnia-theme body.somnia-listview-page:has(#somnia-list-toolbar) #search_form:not(.somnia-search-relocated),
html.somnia-theme body.somnia-listview-page:has(#somnia-list-toolbar) form[name="search_form"]:not(.somnia-search-relocated),
html.somnia-theme body.somnia-listview-page #somnia-search-form-native-host {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page #search_form,
html.somnia-theme body.somnia-listview-page .search_form,
html.somnia-theme body.somnia-listview-page form[name="search_form"] {
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  padding: 16px 18px !important;
  margin-bottom: 16px !important;
}

html.somnia-theme body.somnia-listview-page #search_form .tabForm {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.somnia-theme body.somnia-listview-page .search_fields_basic label {
  display: block;
  margin: 0 0 6px !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  color: var(--somnia-muted) !important;
}

html.somnia-theme body.somnia-listview-page .search_fields_basic input[type="text"],
html.somnia-theme body.somnia-listview-page .search_fields_basic select:not(.datetimecombo_time),
html.somnia-theme body.somnia-listview-page #search_form input[type="text"],
html.somnia-theme body.somnia-listview-page #search_form select:not(.datetimecombo_time) {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  min-height: 38px;
  border-radius: 10px !important;
}

html.somnia-theme body.somnia-listview-page #search_form input.date_input,
html.somnia-theme body.somnia-listview-page #search_form input.datetimecombo_date,
html.somnia-theme body.somnia-listview-page .search_fields_basic input.date_input {
  width: auto !important;
  flex: 1 1 140px !important;
  max-width: calc(100% - 42px) !important;
}

html.somnia-theme body.somnia-listview-page .submitButtons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

html.somnia-theme body.somnia-listview-page a#advanced_search_link,
html.somnia-theme body.somnia-listview-page a#basic_search_link {
  color: var(--somnia-brand) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* ========== List card ========== */
html.somnia-theme body.somnia-listview-page .listViewBody,
html.somnia-theme body.somnia-listview-page #MassUpdate,
html.somnia-theme body.somnia-listview-page form#MassUpdate {
  background: transparent !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

html.somnia-theme body.somnia-listview-page .list-view-rounded-corners {
  position: relative;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 6px 20px rgba(15, 23, 42, 0.04);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  margin: 0 0 20px;
}

/* Paginação AJAX: skeleton só na tabela */
html.somnia-theme body.somnia-listview-page .somnia-list-table-host {
  position: relative;
}

html.somnia-theme body.somnia-listview-page .somnia-list-table-skeleton {
  position: absolute;
  inset: 0;
  z-index: 6;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 52px 18px 18px;
  background: rgba(255, 255, 255, 0.78);
  pointer-events: none;
}

html.somnia-theme body.somnia-listview-page .somnia-list-sk-rows {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

html.somnia-theme body.somnia-listview-page .somnia-list-sk-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
  gap: 14px;
  align-items: center;
}

html.somnia-theme body.somnia-listview-page .somnia-list-sk-cell {
  display: block;
  height: 12px;
  border-radius: 6px;
  background: linear-gradient(90deg, #e2e8f0 0%, #f8fafc 45%, #e2e8f0 100%);
  background-size: 220% 100%;
  animation: somnia-list-sk-shimmer 1.15s ease-in-out infinite;
}

html.somnia-theme body.somnia-listview-page .somnia-list-sk-row:nth-child(odd) .somnia-list-sk-cell:last-child {
  max-width: 70%;
}

@keyframes somnia-list-sk-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

html.somnia-theme body.somnia-listview-page table.list.view.somnia-list-table-dimmed,
html.somnia-theme body.somnia-listview-page table.list.somnia-list-table-dimmed {
  opacity: 0.32;
  transition: opacity 0.15s ease;
  pointer-events: none;
}

html.somnia-theme body.somnia-listview-page.somnia-list-paging .somnia-list-pager {
  opacity: 0.55;
  pointer-events: none;
}

html.somnia-theme body.somnia-listview-page .list-view-rounded-corners > table.list.view,
html.somnia-theme body.somnia-listview-page form#MassUpdate table.list.view,
html.somnia-theme body.somnia-listview-page table.list.view,
html.somnia-theme table.list.view,
html.somnia-theme .list.view {
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  table-layout: auto !important;
}

html.somnia-theme body.somnia-listview-page .list-view-rounded-corners > table.list.view {
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

html.somnia-theme table.list.view,
html.somnia-theme table.list,
html.somnia-theme #MassUpdate table.list {
  width: 100% !important;
  min-width: 100% !important;
  table-layout: auto !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 6px 20px rgba(15, 23, 42, 0.04) !important;
  margin-bottom: 20px !important;
  overflow: visible !important;
}

html.somnia-theme body.somnia-listview-page .list-view-rounded-corners table.list.view {
  border: 0 !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
}

/* ========== Toolbar nativa (escondida — chrome move para cima) ========== */
html.somnia-theme body.somnia-listview-page.somnia-list-has-top-toolbar table.list.view > thead > tr#pagination,
html.somnia-theme body.somnia-listview-page.somnia-list-has-top-toolbar table.list.view > thead > tr.pagination-unique,
html.somnia-theme body.somnia-listview-page.somnia-list-has-top-toolbar table.list.view > tfoot {
  display: none !important;
}

/* Fallback legado enquanto a toolbar top ainda não montou */
html.somnia-theme body.somnia-listview-page:not(.somnia-list-has-top-toolbar) table.list.view > thead > tr#pagination,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-has-top-toolbar) table.list.view > thead > tr.pagination-unique,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-ready) table.list.view > thead > tr#pagination,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-ready) table.list.view > thead > tr.pagination-unique,
html.somnia-theme body.somnia-page-pending table.list.view > thead > tr#pagination,
html.somnia-theme body.somnia-page-pending table.list.view > thead > tr.pagination-unique {
  display: none !important;
}

html.somnia-theme table.list.view tr#pagination > td,
html.somnia-theme table.list.view tr.pagination-unique > td,
html.somnia-theme table.list.view tr.pagination > td {
  background: #fff !important;
  border-bottom: 1px solid #eef2f6 !important;
  padding: 10px 14px !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  height: auto !important;
}

html.somnia-theme table.list.view tr#pagination:hover > td {
  background: #fff !important;
}

html.somnia-theme table.list.view .paginationTable {
  width: 100% !important;
  border: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-collapse: collapse !important;
}

html.somnia-theme table.list.view .paginationTable > tbody > tr {
  display: table-row !important;
}

html.somnia-theme table.list.view .paginationTable td,
html.somnia-theme table.list.view .paginationTable td.paginationActionButtons,
html.somnia-theme table.list.view .paginationTable td.paginationChangeButtons,
html.somnia-theme body.somnia-listview-page td.paginationActionButtons,
html.somnia-theme body.somnia-listview-page td.paginationChangeButtons {
  display: table-cell !important;
  border: 0 !important;
  background: transparent !important;
  padding: 2px 4px !important;
  vertical-align: middle !important;
  height: auto !important;
  white-space: nowrap;
}

/* Mass action / select menus — nunca forçar display em .hidden (senão o × do filtro flutua) */
html.somnia-theme body.somnia-listview-page .paginationActionButtons ul.clickMenu:not(.hidden),
html.somnia-theme body.somnia-listview-page #actionLinkTop,
html.somnia-theme body.somnia-listview-page #selectLinkTop,
html.somnia-theme body.somnia-listview-page ul.clickMenu.listViewLinkButton:not(.hidden) {
  display: inline-block !important;
  vertical-align: middle;
  margin: 0 4px 0 0 !important;
}

/* Alerta de filtro activo: escondido por defeito */
html.somnia-theme body.somnia-listview-page ul.clickMenu.searchAppliedAlert.hidden,
html.somnia-theme body.somnia-listview-page ul.clickMenu.searchAppliedAlertLink.hidden,
html.somnia-theme ul.clickMenu.searchAppliedAlert.hidden,
html.somnia-theme ul.clickMenu.searchAppliedAlertLink.hidden {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Chip «Limpar filtros» (em vez dos badges vermelhos SuiteP) */
html.somnia-theme body.somnia-listview-page ul.clickMenu.searchAppliedAlertLink:not(.hidden),
html.somnia-theme ul.clickMenu.searchAppliedAlertLink:not(.hidden) {
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
  overflow: visible !important;
  vertical-align: middle;
  margin: 0 8px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Só um botão: esconder o duplicado mobile (especificidade > regra do chip) */
html.somnia-theme body.somnia-listview-page ul.searchAppliedAlertLink:not(.hidden) > li.sugar_action_button.mobileOnly,
html.somnia-theme ul.searchAppliedAlertLink:not(.hidden) > li.sugar_action_button.mobileOnly,
html.somnia-theme body.somnia-listview-page ul.searchAppliedAlertLink:not(.hidden) > li.sugar_action_button ~ li.sugar_action_button {
  display: none !important;
}

@media (max-width: 767px) {
  html.somnia-theme body.somnia-listview-page ul.searchAppliedAlertLink:not(.hidden) > li.sugar_action_button.desktopOnly {
    display: none !important;
  }
  html.somnia-theme body.somnia-listview-page ul.searchAppliedAlertLink:not(.hidden) > li.sugar_action_button.mobileOnly {
    display: inline-flex !important;
  }
  /* No mobile o ~li esconde o 2.º; repor só o mobileOnly */
  html.somnia-theme body.somnia-listview-page ul.searchAppliedAlertLink:not(.hidden) > li.sugar_action_button.desktopOnly ~ li.sugar_action_button.mobileOnly {
    display: inline-flex !important;
  }
}

html.somnia-theme body.somnia-listview-page ul.searchAppliedAlertLink:not(.hidden) > li.sugar_action_button,
html.somnia-theme ul.searchAppliedAlertLink:not(.hidden) > li.sugar_action_button {
  position: relative !important;
  overflow: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  background: #f0f9f9 !important;
  border: 1px solid #b6e2e0 !important;
  box-shadow: none !important;
  color: var(--somnia-brand) !important;
}

html.somnia-theme body.somnia-listview-page ul.searchAppliedAlertLink:not(.hidden) > li.sugar_action_button:hover {
  background: #e6f5f5 !important;
  border-color: var(--somnia-brand) !important;
}

/* Esconder ícone list-alt; o × passa a ser o chip completo */
html.somnia-theme body.somnia-listview-page ul.searchAppliedAlertLink .glyphicon-list-alt,
html.somnia-theme ul.searchAppliedAlertLink .glyphicon-list-alt,
html.somnia-theme body.somnia-listview-page ul.searchAppliedAlertLink .clearSearchIcon {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page ul.searchAppliedAlertLink .glyphicon-remove,
html.somnia-theme ul.searchAppliedAlertLink .glyphicon-remove {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--somnia-brand) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-align: left !important;
  overflow: visible !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

/* Remover &Cross; / texto cru do SuiteCRM */
html.somnia-theme body.somnia-listview-page ul.searchAppliedAlertLink .glyphicon-remove {
  font-size: 0 !important;
}

html.somnia-theme body.somnia-listview-page ul.searchAppliedAlertLink .glyphicon-remove::before,
html.somnia-theme ul.searchAppliedAlertLink .glyphicon-remove::before {
  content: "" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 14px;
  background-color: currentColor !important;
  -webkit-mask: var(--somnia-ico-x) center / contain no-repeat;
  mask: var(--somnia-ico-x) center / contain no-repeat;
  opacity: 0.85;
}

html.somnia-theme body.somnia-listview-page ul.searchAppliedAlertLink .glyphicon-remove::after,
html.somnia-theme ul.searchAppliedAlertLink .glyphicon-remove::after {
  content: "Limpar filtros";
  font-family: var(--somnia-font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: inherit !important;
  letter-spacing: 0 !important;
}

html.somnia-theme body.somnia-listview-page span.searchAppliedAlert,
html.somnia-theme span.searchAppliedAlert {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .paginationActionButtons ul.clickMenu > li.sugar_action_button,
html.somnia-theme body.somnia-listview-page ul.clickMenu.listViewLinkButton:not(.hidden) > li.sugar_action_button,
html.somnia-theme body.somnia-listview-page #actionLinkTop > li.sugar_action_button,
html.somnia-theme body.somnia-listview-page #selectLinkTop > li.sugar_action_button {
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: none !important;
  color: var(--somnia-ink-2) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

html.somnia-theme body.somnia-listview-page ul.clickMenu.searchLink.listViewLinkButton > li.sugar_action_button,
html.somnia-theme body.somnia-listview-page ul.clickMenu.columnsFilterLink.listViewLinkButton > li.sugar_action_button {
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  position: relative !important;
  overflow: visible !important;
  cursor: pointer;
}

/* Hit-area: o <a> preenche todo o botão (ícone + rótulo) */
html.somnia-theme body.somnia-listview-page ul.clickMenu.searchLink.listViewLinkButton > li.sugar_action_button > a,
html.somnia-theme body.somnia-listview-page ul.clickMenu.columnsFilterLink.listViewLinkButton > li.sugar_action_button > a,
html.somnia-theme body.somnia-listview-page ul.clickMenu.searchLink a.somnia-tool-hit,
html.somnia-theme body.somnia-listview-page ul.clickMenu.columnsFilterLink a.somnia-tool-hit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-height: 34px !important;
  height: 100% !important;
  padding: 0 12px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  color: var(--somnia-ink-2) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

/* glyphicon no <a>: não limitar o tamanho ao ícone */
html.somnia-theme body.somnia-listview-page ul.clickMenu.searchLink.listViewLinkButton > li.sugar_action_button > a.glyphicon,
html.somnia-theme body.somnia-listview-page ul.clickMenu.columnsFilterLink.listViewLinkButton > li.sugar_action_button > a.glyphicon {
  font-size: 13px !important;
}

html.somnia-theme body.somnia-listview-page ul.clickMenu.searchLink.listViewLinkButton > li.sugar_action_button > a.glyphicon::before,
html.somnia-theme body.somnia-listview-page ul.clickMenu.columnsFilterLink.listViewLinkButton > li.sugar_action_button > a.glyphicon::before {
  display: inline-block;
  margin: 0;
  vertical-align: middle;
  font-size: 14px;
  line-height: 1;
}

html.somnia-theme body.somnia-listview-page ul.clickMenu.searchLink .somnia-tool-label,
html.somnia-theme body.somnia-listview-page ul.clickMenu.columnsFilterLink .somnia-tool-label {
  display: inline-block;
  font-family: var(--somnia-font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  line-height: 1 !important;
  color: inherit !important;
  speak: normal;
}

/* Carets / spans soltos dentro de botões-ícone da toolbar */
html.somnia-theme body.somnia-listview-page ul.clickMenu.searchLink .suitepicon-action-caret,
html.somnia-theme body.somnia-listview-page ul.clickMenu.columnsFilterLink .suitepicon-action-caret,
html.somnia-theme body.somnia-listview-page ul.clickMenu.searchLink > li > span:not([class]),
html.somnia-theme body.somnia-listview-page ul.clickMenu.columnsFilterLink > li > span:not([class]) {
  display: none !important;
}

/* Contagem de seleccionados: pill limpa (não campo cinzento) */
html.somnia-theme body.somnia-listview-page #selectedRecordsTop {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  vertical-align: middle;
  margin: 0 6px 0 4px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--somnia-ink-2) !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}

html.somnia-theme body.somnia-listview-page #selectedRecordsTop[style*="display: none"],
html.somnia-theme body.somnia-listview-page #selectedRecordsTop[style*="display:none"] {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page #selectedRecordsTop #selectCountTop,
html.somnia-theme body.somnia-listview-page #selectCountTop {
  display: inline-block !important;
  width: 2.5ch !important;
  min-width: 1.5ch !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  vertical-align: baseline;
  text-align: center;
}

/* SuiteP: .selectedRecords fica hidden até haver selecção */
html.somnia-theme body.somnia-listview-page .selectedRecords.hidden {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .selectedRecords:not(.hidden) {
  display: inline-block !important;
  vertical-align: middle;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--somnia-muted) !important;
  margin: 0 4px !important;
}

html.somnia-theme body.somnia-listview-page .paginationActionButtons input[type="search"] {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--somnia-ink) !important;
  font-size: 13px !important;
  vertical-align: middle;
}

/* Placeholder "Acção" desactivado — era o bloco cinzento largo na toolbar */
html.somnia-theme body.somnia-listview-page .selectActionsDisabled,
html.somnia-theme body.somnia-listview-page #select_actions_disabled_top,
html.somnia-theme body.somnia-listview-page #select_actions_disabled_bottom {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .pageNumbers {
  display: inline-block !important;
  vertical-align: middle;
  padding: 0 10px;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--somnia-ink-2) !important;
  line-height: 34px;
  white-space: nowrap;
}

html.somnia-theme body.somnia-listview-page .list-view-pagination-button,
html.somnia-theme table.list.view .list-view-pagination-button,
html.somnia-theme button.list-view-pagination-button {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: none !important;
  color: var(--somnia-ink-2) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer;
  vertical-align: middle;
  margin: 0 2px !important;
}

html.somnia-theme body.somnia-listview-page .list-view-pagination-button:hover:not(:disabled) {
  background: var(--somnia-brand-tint) !important;
  color: var(--somnia-brand) !important;
}

html.somnia-theme body.somnia-listview-page .list-view-pagination-button:disabled {
  opacity: 0.4 !important;
  cursor: default !important;
}

/* ========== Table headers ========== */
html.somnia-theme table.list.view th,
html.somnia-theme table.list th {
  background: #f8fafc !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid #eef2f6 !important;
  border-top: none !important;
  padding: 11px 14px !important;
  white-space: nowrap;
  vertical-align: middle !important;
}

html.somnia-theme table.list.view th a,
html.somnia-theme table.list th a,
html.somnia-theme a.listViewThLinkS1 {
  color: #64748b !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html.somnia-theme table.list.view th a:hover,
html.somnia-theme a.listViewThLinkS1:hover {
  color: var(--somnia-brand) !important;
}

html.somnia-theme table.list.view th.td_alt,
html.somnia-theme table.list.view th.quick_view_links {
  width: 40px;
  padding-left: 12px !important;
  padding-right: 8px !important;
}

/* ========== Rows (densidade mockup) ========== */
html.somnia-theme body.somnia-listview-page table.list.view td,
html.somnia-theme body.somnia-listview-page table.list td,
html.somnia-theme body.somnia-listview-page form#MassUpdate table.list.view tbody tr td {
  padding: 8px 12px !important;
  border-bottom: 1px solid #e8ecf0 !important;
  border-top: none !important;
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  vertical-align: middle !important;
  /* background definido no zebra abaixo — não forçar #fff aqui */
  line-height: 1.3 !important;
}

html.somnia-theme body.somnia-listview-page table.list.view th,
html.somnia-theme body.somnia-listview-page table.list th {
  padding: 8px 12px !important;
}

/*
 * Densidade — contraste forte (o padding sozinho quase não se notava
 * por causa do nome em 2 linhas + ícone).
 */
html.somnia-theme body.somnia-listview-page.somnia-list-density-compact table.list.view tbody tr.oddListRowS1 > td,
html.somnia-theme body.somnia-listview-page.somnia-list-density-compact table.list.view tbody tr.evenListRowS1 > td,
html.somnia-theme.html.somnia-list-density-compact body.somnia-listview-page table.list.view tbody tr.oddListRowS1 > td,
html.somnia-theme.html.somnia-list-density-compact body.somnia-listview-page table.list.view tbody tr.evenListRowS1 > td,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-density-comfortable) table.list.view tbody tr.oddListRowS1 > td,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-density-comfortable) table.list.view tbody tr.evenListRowS1 > td {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  font-size: 12.5px !important;
  line-height: 1.25 !important;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-comfortable table.list.view tbody tr.oddListRowS1 > td,
html.somnia-theme body.somnia-listview-page.somnia-list-density-comfortable table.list.view tbody tr.evenListRowS1 > td,
html.somnia-theme.html.somnia-list-density-comfortable body.somnia-listview-page table.list.view tbody tr.oddListRowS1 > td,
html.somnia-theme.html.somnia-list-density-comfortable body.somnia-listview-page table.list.view tbody tr.evenListRowS1 > td {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
}

/* Compacto: ícone + meta mais baixos */
html.somnia-theme body.somnia-listview-page.somnia-list-density-compact .somnia-list-name-wrap,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-density-comfortable) .somnia-list-name-wrap {
  gap: 8px;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-compact .somnia-list-name-icon,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-density-comfortable) .somnia-list-name-icon,
html.somnia-theme body.somnia-listview-page.somnia-list-density-compact .somnia-list-avatar,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-density-comfortable) .somnia-list-avatar {
  flex-basis: 24px !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-compact .somnia-list-name-icon svg,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-density-comfortable) .somnia-list-name-icon svg {
  width: 12px;
  height: 12px;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-compact .somnia-list-name-meta,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-density-comfortable) .somnia-list-name-meta {
  font-size: 11px !important;
  line-height: 1.15 !important;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-compact .somnia-list-user-avatar,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-density-comfortable) .somnia-list-user-avatar {
  flex-basis: 18px !important;
  width: 18px !important;
  height: 18px !important;
  font-size: 8px !important;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-compact .somnia-list-user-chip,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-density-comfortable) .somnia-list-user-chip {
  padding: 1px 6px 1px 1px;
  gap: 6px;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-compact .somnia-list-edit-pencil,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-density-comfortable) .somnia-list-edit-pencil {
  width: 24px;
  height: 24px;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-compact .somnia-list-edit-pencil svg,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-density-comfortable) .somnia-list-edit-pencil svg {
  width: 14px;
  height: 14px;
}

/* Confortável: mais espaço e elementos maiores */
html.somnia-theme body.somnia-listview-page.somnia-list-density-comfortable .somnia-list-name-wrap {
  gap: 12px;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-comfortable .somnia-list-name-icon,
html.somnia-theme body.somnia-listview-page.somnia-list-density-comfortable .somnia-list-avatar {
  flex-basis: 34px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-comfortable .somnia-list-name-icon svg {
  width: 16px;
  height: 16px;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-comfortable .somnia-list-name-meta {
  font-size: 13px !important;
  line-height: 1.3 !important;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-comfortable .somnia-list-user-avatar {
  flex-basis: 24px !important;
  width: 24px !important;
  height: 24px !important;
  font-size: 10px !important;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-comfortable .somnia-list-user-chip {
  padding: 3px 10px 3px 3px;
  gap: 8px;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-comfortable .somnia-list-edit-pencil {
  width: 32px;
  height: 32px;
}

html.somnia-theme body.somnia-listview-page.somnia-list-density-comfortable .somnia-list-edit-pencil svg {
  width: 17px;
  height: 17px;
}

html.somnia-theme body.somnia-listview-page .somnia-list-density-btn.is-comfortable {
  border-color: var(--somnia-brand) !important;
  color: var(--somnia-brand) !important;
  background: var(--somnia-brand-tint, #f0f9f9) !important;
}

/* Zebra: branco / cinzento pastel (especificidade > regra genérica das células) */
html.somnia-theme body.somnia-listview-page table.list.view tbody tr.oddListRowS1 > td,
html.somnia-theme body.somnia-listview-page form#MassUpdate table.list.view tbody tr.oddListRowS1 td {
  background: #ffffff !important;
}

html.somnia-theme body.somnia-listview-page table.list.view tbody tr.evenListRowS1 > td,
html.somnia-theme body.somnia-listview-page form#MassUpdate table.list.view tbody tr.evenListRowS1 td {
  background: #f5f7f9 !important;
}

html.somnia-theme body.somnia-listview-page table.list.view tbody tr:hover > td,
html.somnia-theme body.somnia-listview-page table.list.view tbody tr.oddListRowS1:hover > td,
html.somnia-theme body.somnia-listview-page table.list.view tbody tr.evenListRowS1:hover > td,
html.somnia-theme body.somnia-listview-page form#MassUpdate table.list.view tbody tr:hover td,
html.somnia-theme body.somnia-listview-page table.list.view tbody tr.somnia-list-hovered > td,
html.somnia-theme body.somnia-listview-page table.list.view tbody tr.oddListRowS1.somnia-list-hovered > td,
html.somnia-theme body.somnia-listview-page table.list.view tbody tr.evenListRowS1.somnia-list-hovered > td,
html.somnia-theme body.somnia-listview-page form#MassUpdate table.list.view tbody tr.somnia-list-hovered td {
  background: #dceeea !important;
}

/* Meta sob o nome — desactivado (só o nome na célula) */
html.somnia-theme body.somnia-listview-page .somnia-list-name-meta {
  display: none !important;
}

html.somnia-theme table.list.view tbody tr:last-child td {
  border-bottom: none !important;
}

/* Links */
html.somnia-theme table.list.view td a,
html.somnia-theme a.listViewTdLinkS1,
html.somnia-theme form#MassUpdate table.list.view td a,
html.somnia-theme form#MassUpdate table.list.view td a:link,
html.somnia-theme form#MassUpdate table.list.view td a:visited {
  color: var(--somnia-brand) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  border-radius: 4px;
  transition: color 0.14s ease, background 0.14s ease, box-shadow 0.14s ease;
}

html.somnia-theme table.list.view td a:hover,
html.somnia-theme a.listViewTdLinkS1:hover,
html.somnia-theme body.somnia-listview-page table.list.view a.somnia-list-hovered {
  color: var(--somnia-brand-hover) !important;
  background: rgba(20, 97, 97, 0.08);
  box-shadow: 0 0 0 3px rgba(20, 97, 97, 0.05);
  text-decoration: underline !important;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(20, 97, 97, 0.35);
}

/* Nome (célula principal): link clicável em verde de marca */
html.somnia-theme table.list.view tr.oddListRowS1 td:nth-child(3) a,
html.somnia-theme table.list.view tr.evenListRowS1 td:nth-child(3) a,
html.somnia-theme body.somnia-listview-page table.list.view td.somnia-list-name-cell a {
  color: var(--somnia-brand) !important;
  font-weight: 650 !important;
  font-size: 14px !important;
}

html.somnia-theme table.list.view tr:hover td:nth-child(3) a,
html.somnia-theme body.somnia-listview-page table.list.view tr:hover td.somnia-list-name-cell a,
html.somnia-theme body.somnia-listview-page table.list.view td.somnia-list-name-cell a:hover,
html.somnia-theme body.somnia-listview-page table.list.view tr.somnia-list-hovered td:nth-child(3) a,
html.somnia-theme body.somnia-listview-page table.list.view tr.somnia-list-hovered td.somnia-list-name-cell a {
  color: var(--somnia-brand-hover) !important;
}

/* ========== Nome: ícone + texto ========== */
html.somnia-theme body.somnia-listview-page .somnia-list-name-wrap {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  vertical-align: middle;
  min-width: 0;
}

/* Coluna favoritos — só estrela, após o checkbox */
html.somnia-theme body.somnia-listview-page table.list.view th.somnia-list-fav-th,
html.somnia-theme body.somnia-listview-page table.list.view td.somnia-list-fav-cell {
  width: 1% !important;
  min-width: 0 !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 2px !important;
  text-align: center !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

html.somnia-theme body.somnia-listview-page table.list.view th.somnia-list-fav-th {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-fav-th-ico {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-fav-th-ico svg {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-fav-star {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  margin: 0 auto;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #cbd5e1;
  cursor: pointer;
  line-height: 1;
  transition: color 0.12s ease, background 0.12s ease, transform 0.12s ease;
}

html.somnia-theme body.somnia-listview-page .somnia-list-fav-star svg {
  width: 16px;
  height: 16px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linejoin: round;
}

html.somnia-theme body.somnia-listview-page .somnia-list-fav-star:hover {
  background: rgba(245, 158, 11, 0.12);
  color: #f59e0b;
  transform: scale(1.06);
}

html.somnia-theme body.somnia-listview-page .somnia-list-fav-star.is-on {
  color: #f59e0b;
}

html.somnia-theme body.somnia-listview-page .somnia-list-fav-star.is-on svg {
  fill: currentColor;
  stroke: currentColor;
}

html.somnia-theme body.somnia-listview-page .somnia-list-fav-star[data-pending="1"] {
  opacity: 0.6;
  pointer-events: none;
}

html.somnia-theme body.somnia-listview-page .somnia-list-name-text {
  display: block;
  min-width: 0;
  max-width: 100%;
  line-height: 1.3;
}

html.somnia-theme body.somnia-listview-page .somnia-list-name-row {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  min-width: 0;
}

html.somnia-theme body.somnia-listview-page .somnia-list-name-row > b,
html.somnia-theme body.somnia-listview-page .somnia-list-name-row > a,
html.somnia-theme body.somnia-listview-page .somnia-list-name-text > b,
html.somnia-theme body.somnia-listview-page .somnia-list-name-text > a {
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
}

html.somnia-theme body.somnia-listview-page .somnia-list-avatar,
html.somnia-theme body.somnia-listview-page .somnia-list-name-icon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  text-transform: uppercase;
  user-select: none;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.04);
}

html.somnia-theme body.somnia-listview-page .somnia-list-name-icon {
  background: #f1f5f9;
  color: #64748b;
  box-shadow: none;
}

/* (tamanhos por densidade: ver bloco Rows) */

html.somnia-theme body.somnia-listview-page .somnia-list-name-wrap > b,
html.somnia-theme body.somnia-listview-page .somnia-list-name-wrap > a,
html.somnia-theme body.somnia-listview-page .somnia-list-name-wrap > span,
html.somnia-theme body.somnia-listview-page .somnia-list-name-text > b,
html.somnia-theme body.somnia-listview-page .somnia-list-name-text > a {
  min-width: 0;
}

/* Lápis laranja (inline-edit): oculto por defeito; só no hover/focus do campo */
html.somnia-theme body.somnia-listview-page .somnia-list-name-wrap .inlineEditIcon,
html.somnia-theme body.somnia-listview-page .somnia-list-name-text .inlineEditIcon,
html.somnia-theme body.somnia-listview-page .somnia-list-name-row .inlineEditIcon,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit .inlineEditIcon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  float: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 0 4px !important;
  padding: 0 !important;
  vertical-align: middle;
  flex: 0 0 auto;
  line-height: 1 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  cursor: pointer !important;
  z-index: 2;
  min-width: 18px;
  min-height: 18px;
  transition: opacity 0.12s ease;
}

html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit:hover > .inlineEditIcon,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit:hover .inlineEditIcon,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit:focus-within .inlineEditIcon,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit:hover .somnia-list-name-wrap .inlineEditIcon,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit:hover .somnia-list-name-row .inlineEditIcon,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit.somnia-list-hovered > .inlineEditIcon,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit.somnia-list-hovered .inlineEditIcon {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 4;
}

html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit .inlineEditIcon svg,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit .inlineEditIcon .suitepicon,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit .inlineEditIcon img,
html.somnia-theme body.somnia-listview-page .inlineEditIcon svg,
html.somnia-theme body.somnia-listview-page .inlineEditIcon .suitepicon,
html.somnia-theme body.somnia-listview-page .inlineEditIcon img {
  display: none !important;
  width: 14px !important;
  height: 14px !important;
  fill: #ea580c !important;
  color: #ea580c !important;
}

html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit:hover .inlineEditIcon svg,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit:hover .inlineEditIcon .suitepicon,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit:hover .inlineEditIcon img,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit:focus-within .inlineEditIcon svg,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit:focus-within .inlineEditIcon .suitepicon,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit:focus-within .inlineEditIcon img,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit.somnia-list-hovered .inlineEditIcon svg,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit.somnia-list-hovered .inlineEditIcon .suitepicon,
html.somnia-theme body.somnia-listview-page table.list.view td.inlineEdit.somnia-list-hovered .inlineEditIcon img {
  display: block !important;
}

/* (densidade aplicada no bloco Rows) */

/* Checkbox — não empurrar a coluna de seleção (tem padding próprio) */
html.somnia-theme table.list.view td:first-child:not(.somnia-list-select-td),
html.somnia-theme table.list th:first-child:not(.somnia-list-select-th) {
  padding-left: 16px !important;
}

html.somnia-theme table.list.view input.listview-checkbox,
html.somnia-theme table.list.view input[name="mass[]"],
html.somnia-theme table.list.view input[name="massall"] {
  accent-color: var(--somnia-brand);
}

/* Células/colunas marcadas para esconder (info antigo, etc.) */
html.somnia-theme body.somnia-listview-page table.list.view .somnia-list-col-hide {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* Edit nativo escondido; lápis Somnia na última coluna à direita */
html.somnia-theme body.somnia-listview-page table.list.view th.quick_view_links,
html.somnia-theme body.somnia-listview-page table.list.view td.quick_view_links {
  display: none !important;
}

/*
 * Larguras automáticas (table-layout:auto):
 * - cada coluna de dados = tamanho do conteúdo
 * - Nome recebe o espaço livre (width:100% no modo auto)
 * - Lápis = só o ícone (1% + nowrap), sem largura fixa em px
 */
html.somnia-theme body.somnia-listview-page table.list.view thead th[width],
html.somnia-theme body.somnia-listview-page table.list.view tbody td[width] {
  width: auto !important;
}

html.somnia-theme body.somnia-listview-page table.list.view th.td_alt:not(.somnia-list-fav-th):not(.somnia-list-actions-th),
html.somnia-theme body.somnia-listview-page table.list.view td:has(> input[name="mass[]"]),
html.somnia-theme body.somnia-listview-page table.list.view td:has(> input.listview-checkbox) {
  width: 1% !important;
  white-space: nowrap !important;
}

html.somnia-theme body.somnia-listview-page table.list.view th.somnia-list-fav-th,
html.somnia-theme body.somnia-listview-page table.list.view td.somnia-list-fav-cell {
  width: 1% !important;
  white-space: nowrap !important;
  max-width: none !important;
  min-width: 0 !important;
}

/* Nome cresce com o espaço que sobra — sem cortar com ellipsis */
html.somnia-theme body.somnia-listview-page table.list.view tbody td[field="name"],
html.somnia-theme body.somnia-listview-page table.list.view tbody td[field="full_name"],
html.somnia-theme body.somnia-listview-page table.list.view tbody td[field="account_name"],
html.somnia-theme body.somnia-listview-page table.list.view tbody td[field="document_name"],
html.somnia-theme body.somnia-listview-page table.list.view tbody td[field="last_name"],
html.somnia-theme body.somnia-listview-page table.list.view tbody td.somnia-list-name-cell,
html.somnia-theme body.somnia-listview-page table.list.view thead th.somnia-list-name-th,
html.somnia-theme body.somnia-listview-page table.list.view thead th[data-toggle="true"] {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

/* Restantes: largura natural do conteúdo */
html.somnia-theme body.somnia-listview-page table.list.view tbody td:not(.somnia-list-name-cell):not(.somnia-list-actions-cell):not(.somnia-list-kebab-cell):not(.somnia-list-fav-cell):not([field="name"]):not([field="full_name"]):not([field="account_name"]):not([field="document_name"]):not([field="last_name"]) {
  width: auto !important;
  white-space: nowrap;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* Lápis: coluna mínima — NÃO engolir espaço */
html.somnia-theme body.somnia-listview-page table.list.view th.somnia-list-actions-th,
html.somnia-theme body.somnia-listview-page table.list.view td.somnia-list-actions-cell,
html.somnia-theme body.somnia-listview-page table.list.view td.somnia-list-kebab-cell {
  width: 1% !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: nowrap !important;
  text-align: center !important;
  padding-left: 6px !important;
  padding-right: 10px !important;
  vertical-align: middle !important;
}

html.somnia-theme body.somnia-listview-page table.list.view th.somnia-list-actions-th {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}

/* Lápis EditView: clicável, acima de overlays da linha */
html.somnia-theme body.somnia-listview-page .somnia-list-edit-pencil {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  color: #ea580c;
  opacity: 0.85;
  text-decoration: none !important;
  position: relative;
  z-index: 3;
  pointer-events: auto !important;
  cursor: pointer !important;
  transition: opacity 0.15s ease, color 0.15s ease, background 0.15s ease;
}

html.somnia-theme body.somnia-listview-page .somnia-list-edit-pencil svg {
  display: block;
  pointer-events: none;
}

html.somnia-theme body.somnia-listview-page table.list.view tr:hover .somnia-list-edit-pencil,
html.somnia-theme body.somnia-listview-page table.list.view tr.somnia-list-hovered .somnia-list-edit-pencil,
html.somnia-theme body.somnia-listview-page .somnia-list-edit-pencil:focus {
  opacity: 1;
  color: #c2410c;
  background: #fff7ed;
}

html.somnia-theme body.somnia-listview-page .somnia-list-edit-pencil:hover {
  opacity: 1;
  color: #c2410c;
  background: #ffedd5;
}

html.somnia-theme body.somnia-listview-page table.list.view td.somnia-list-kebab-cell {
  pointer-events: auto !important;
  position: relative;
  z-index: 2;
  overflow: visible !important;
}

/* Legacy kebab (já não usado) */
html.somnia-theme body.somnia-listview-page .somnia-list-kebab-wrap,
html.somnia-theme body.somnia-listview-page .somnia-list-kebab,
html.somnia-theme body.somnia-listview-page .somnia-list-kebab-menu,
html.somnia-theme body.somnia-listview-page .somnia-list-kebab-item {
  display: none !important;
}

/* Avatar no utilizador (coluna assigned) */
html.somnia-theme body.somnia-listview-page .somnia-list-user-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

html.somnia-theme body.somnia-listview-page .somnia-list-user-avatar {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
}

/* Form wrapper SG — sem card próprio (evita barra vazia / card dentro de card) */
html.somnia-theme body.somnia-listview-page form#MassAssign_SecurityGroups {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
}

/* Grupos de segurança + Atualização massiva — card branco único */
html.somnia-theme body.somnia-listview-page #massassign_form,
html.somnia-theme body.somnia-listview-page #massupdate_form {
  background: #fff !important;
  background-color: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  color: var(--somnia-body, #334155);
  padding: 14px 18px !important;
  margin: 0 0 20px !important;
  box-sizing: border-box;
}

/* Sem barra / sombreado cinzento no topo dos painéis de massa */
html.somnia-theme body.somnia-listview-page #massassign_form .formHeader,
html.somnia-theme body.somnia-listview-page #massassign_form table.h3Row,
html.somnia-theme body.somnia-listview-page #massassign_form table.h3Row td,
html.somnia-theme body.somnia-listview-page #massassign_form table.h3Row th,
html.somnia-theme body.somnia-listview-page #massupdate_form .formHeader,
html.somnia-theme body.somnia-listview-page #massupdate_form table.h3Row,
html.somnia-theme body.somnia-listview-page #massupdate_form table.h3Row td,
html.somnia-theme body.somnia-listview-page #massupdate_form table.h3Row th,
html.somnia-theme body.somnia-listview-page #massassign_form .listViewButtons,
html.somnia-theme body.somnia-listview-page form#MassAssign_SecurityGroups .listViewButtons {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-top: 0 !important;
  box-shadow: none !important;
  padding-top: 0 !important;
}

/* Header SG: título na mesma linha que os botões — sem caixa vazia */
html.somnia-theme body.somnia-listview-page #massassign_form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}

html.somnia-theme body.somnia-listview-page #massassign_form > .formHeader.h3Row,
html.somnia-theme body.somnia-listview-page #massassign_form > table.formHeader {
  width: auto !important;
  flex: 0 1 auto;
  margin: 0 !important;
}

html.somnia-theme body.somnia-listview-page #massassign_form > .formHeader.h3Row + table,
html.somnia-theme body.somnia-listview-page #massassign_form > table.formHeader + table {
  width: auto !important;
  flex: 0 0 auto;
  margin: 0 !important;
}

html.somnia-theme body.somnia-listview-page #massassign_form > #mass_update_table,
html.somnia-theme body.somnia-listview-page #massassign_form > table.tabForm {
  width: auto !important;
  flex: 1 1 auto;
  margin: 0 !important;
}

html.somnia-theme body.somnia-listview-page #massassign_form .formHeader h3,
html.somnia-theme body.somnia-listview-page #massassign_form .formHeader h3 span {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

html.somnia-theme body.somnia-listview-page #massassign_form .tabForm,
html.somnia-theme body.somnia-listview-page #massassign_form #mass_update_table,
html.somnia-theme body.somnia-listview-page #massupdate_form #mass_update_div,
html.somnia-theme body.somnia-listview-page #massupdate_form #mass_update_table,
html.somnia-theme body.somnia-listview-page #massupdate_form table.edit.view {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--somnia-body, #334155);
}

html.somnia-theme body.somnia-listview-page #massassign_form h3,
html.somnia-theme body.somnia-listview-page #massassign_form h3 span,
html.somnia-theme body.somnia-listview-page #massupdate_form h3,
html.somnia-theme body.somnia-listview-page #massupdate_form h3 span,
html.somnia-theme body.somnia-listview-page #mass_update_table td {
  color: var(--somnia-ink, #0f172a);
  background: transparent !important;
  box-shadow: none !important;
}

html.somnia-theme body.somnia-listview-page #massassign_form .button,
html.somnia-theme body.somnia-listview-page #massassign_form input.button,
html.somnia-theme body.somnia-listview-page #massupdate_form .button,
html.somnia-theme body.somnia-listview-page #massupdate_form input.button {
  background: #fff !important;
  color: var(--somnia-ink, #0f172a) !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

html.somnia-theme body.somnia-listview-page #massassign_form select,
html.somnia-theme body.somnia-listview-page #massassign_group,
html.somnia-theme body.somnia-listview-page #massupdate_form select,
html.somnia-theme body.somnia-listview-page #massupdate_form input[type="text"] {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: var(--somnia-ink, #0f172a);
}

/* Evitar sombra pesada da tabela a parecer barra cinza acima dos painéis */
html.somnia-theme body.somnia-listview-page .list-view-rounded-corners {
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-user-chip-name {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--somnia-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 140px;
}

html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-search {
  width: min(240px, 36vw);
  min-height: 38px;
  padding: 0 12px 0 36px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='5.5'/%3E%3Cpath d='M11 11l3.5 3.5'/%3E%3C/svg%3E") no-repeat 12px center / 14px !important;
  box-shadow: none !important;
  font-size: 13px !important;
  color: var(--somnia-ink) !important;
}

html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-search::placeholder {
  color: #94a3b8;
}

/* Contagem de seleção — checkbox do header alinhado 1:1 com as rows */
html.somnia-theme body.somnia-listview-page table.list.view th.somnia-list-select-th,
html.somnia-theme body.somnia-listview-page table.list.view td.somnia-list-select-td,
html.somnia-theme body.somnia-listview-page table.list.view th.somnia-list-select-th.td_alt,
html.somnia-theme body.somnia-listview-page table.list.view th.somnia-list-select-th:first-child,
html.somnia-theme body.somnia-listview-page table.list.view th.somnia-list-select-th.td_alt:first-child,
html.somnia-theme body.somnia-listview-page table.list.view td.somnia-list-select-td:first-child {
  width: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  padding: 6px 2px 6px 12px !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  text-align: left !important;
}

html.somnia-theme body.somnia-listview-page table.list.view th.somnia-list-select-th {
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Densidade: mesmo padding-left que o header */
html.somnia-theme body.somnia-listview-page table.list.view tbody tr.oddListRowS1 > td.somnia-list-select-td,
html.somnia-theme body.somnia-listview-page table.list.view tbody tr.evenListRowS1 > td.somnia-list-select-td,
html.somnia-theme body.somnia-listview-page.somnia-list-density-compact table.list.view tbody tr.oddListRowS1 > td.somnia-list-select-td,
html.somnia-theme body.somnia-listview-page.somnia-list-density-compact table.list.view tbody tr.evenListRowS1 > td.somnia-list-select-td,
html.somnia-theme body.somnia-listview-page.somnia-list-density-comfortable table.list.view tbody tr.oddListRowS1 > td.somnia-list-select-td,
html.somnia-theme body.somnia-listview-page.somnia-list-density-comfortable table.list.view tbody tr.evenListRowS1 > td.somnia-list-select-td,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-density-comfortable) table.list.view tbody tr.oddListRowS1 > td.somnia-list-select-td,
html.somnia-theme body.somnia-listview-page:not(.somnia-list-density-comfortable) table.list.view tbody tr.evenListRowS1 > td.somnia-list-select-td {
  padding-left: 12px !important;
  padding-right: 2px !important;
  text-align: left !important;
}

html.somnia-theme body.somnia-listview-page table.list.view td.somnia-list-select-td input[name="mass[]"],
html.somnia-theme body.somnia-listview-page table.list.view th.somnia-list-select-th input.somnia-list-massall,
html.somnia-theme body.somnia-listview-page table.list.view th.somnia-list-select-th input[name="massall"],
html.somnia-theme body.somnia-listview-page .somnia-list-select-head input.somnia-list-massall,
html.somnia-theme body.somnia-listview-page .somnia-list-select-head input[name="massall"] {
  display: block !important;
  margin: 0 !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  vertical-align: middle !important;
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
}

/*
 * Header: o wrap ocupa exactamente a largura do checkbox (como nas rows).
 * Seta + contagem ficam absolutas à direita — não deslocam o checkbox.
 */
html.somnia-theme body.somnia-listview-page .somnia-list-select-head {
  position: relative;
  display: block;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  box-sizing: content-box;
  overflow: visible;
  line-height: 0;
}

html.somnia-theme body.somnia-listview-page .somnia-list-select-head input.somnia-list-massall,
html.somnia-theme body.somnia-listview-page .somnia-list-select-head input[name="massall"] {
  margin: 0 !important;
  flex: none;
}

/* Setinha nativa: menu Selecionar esta página / tudo / desmarcar */
html.somnia-theme body.somnia-listview-page .somnia-list-select-caret {
  position: absolute !important;
  top: 50%;
  left: 18px;
  transform: translateY(-50%);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 14px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 2px;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  line-height: 1;
  z-index: 2;
}

html.somnia-theme body.somnia-listview-page .somnia-list-select-caret:hover,
html.somnia-theme body.somnia-listview-page .somnia-list-select-caret[aria-expanded="true"] {
  color: var(--somnia-brand, #0f766e);
  background: rgba(15, 118, 110, 0.08);
}

html.somnia-theme body.somnia-listview-page .somnia-list-select-caret svg {
  display: block;
  width: 8px;
  height: 8px;
  pointer-events: none;
}

html.somnia-theme body.somnia-listview-page .somnia-list-select-menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10050;
  min-width: 220px;
  padding: 4px 0;
  margin: 0;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

html.somnia-theme body.somnia-listview-page .somnia-list-select-menu.open {
  display: block;
}

html.somnia-theme body.somnia-listview-page .somnia-list-select-menu-item {
  display: block;
  width: 100%;
  margin: 0;
  padding: 8px 12px;
  border: 0;
  background: transparent;
  color: #334155;
  font-size: 12.5px;
  font-weight: 400;
  text-align: left;
  line-height: 1.3;
  cursor: pointer;
  white-space: nowrap;
}

html.somnia-theme body.somnia-listview-page .somnia-list-select-menu-item:hover {
  background: #f1f5f9;
  color: var(--somnia-ink, #0f172a);
}

html.somnia-theme body.somnia-listview-page .somnia-list-sel-count {
  position: absolute !important;
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  min-width: 1.25ch;
  width: auto;
  max-width: 3.5ch;
  font-size: 11px !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: #64748b !important;
  white-space: nowrap;
  line-height: 1;
  text-align: left;
  overflow: visible;
  visibility: visible !important;
  z-index: 2;
}

html.somnia-theme body.somnia-listview-page .somnia-list-sel-count.is-empty {
  visibility: hidden !important;
  color: transparent !important;
}

/* Remover contagem antiga da toolbar (se restar no DOM) */
html.somnia-theme body.somnia-listview-page .somnia-list-toolbar-end > .somnia-list-sel-count {
  display: none !important;
}

/* ========== Toolbar acima da tabela (layout imagem) ========== */
html.somnia-theme body.somnia-listview-page .somnia-list-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 14px;
  padding: 0;
  background: transparent;
}

html.somnia-theme body.somnia-listview-page .somnia-list-tb-search {
  position: relative;
  flex: 0 1 280px;
  max-width: 320px;
  min-width: 180px;
}

html.somnia-theme body.somnia-listview-page .somnia-list-tb-search .somnia-list-search-ico {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  z-index: 2;
}

html.somnia-theme body.somnia-listview-page .somnia-list-tb-search .somnia-list-search-ico:hover {
  color: var(--somnia-brand);
  background: rgba(20, 97, 97, 0.08);
}

html.somnia-theme body.somnia-listview-page .somnia-list-tb-search .somnia-list-search-ico svg {
  width: 16px;
  height: 16px;
  pointer-events: none;
}

html.somnia-theme body.somnia-listview-page .somnia-list-tb-search .somnia-list-search,
html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-search {
  width: 100%;
  min-height: 40px;
  height: 40px;
  padding: 0 14px 0 38px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 11px !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 13px !important;
  color: var(--somnia-ink) !important;
  outline: none;
}

html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-search {
  width: min(240px, 36vw);
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='5.5'/%3E%3Cpath d='M11 11l3.5 3.5'/%3E%3C/svg%3E") no-repeat 12px center / 14px !important;
}

html.somnia-theme body.somnia-listview-page.somnia-list-has-top-toolbar .moduleTitle .somnia-list-search,
html.somnia-theme body.somnia-listview-page:has(#somnia-list-toolbar) .moduleTitle .somnia-list-search {
  /* search vive na toolbar */
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-tb-search .somnia-list-search:focus {
  border-color: var(--somnia-brand) !important;
  box-shadow: 0 0 0 3px rgba(20, 97, 97, 0.12) !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-tb-search .somnia-list-search::placeholder,
html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-search::placeholder {
  color: #94a3b8;
}

html.somnia-theme body.somnia-listview-page .somnia-list-toolbar-mid {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
  margin-left: 0;
  padding-left: 0;
}

html.somnia-theme body.somnia-listview-page .somnia-list-toolbar-end {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
  flex: 0 0 auto;
  flex-wrap: wrap;
}

html.somnia-theme body.somnia-listview-page .somnia-list-bottom-pager {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0 0 16px;
  padding: 0 2px;
}

html.somnia-theme body.somnia-listview-page .somnia-list-bottom-pager[hidden] {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-filters {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-trigger {
  position: relative;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  gap: 0;
  border-radius: 999px !important;
  justify-content: center;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-trigger.is-active {
  border-color: var(--somnia-brand);
  color: var(--somnia-brand);
  background: #e6f4f4;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-count {
  position: absolute;
  top: -4px;
  right: -4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #334155;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 0 0 2px #fff;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-trigger.is-active .somnia-list-saved-count {
  background: var(--somnia-brand);
  color: #fff;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 220px;
  max-width: min(320px, 70vw);
  max-height: 280px;
  overflow-x: hidden;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
  padding: 6px;
  display: none;
  z-index: 50;
  scrollbar-width: thin;
}

/* Sem barra horizontal cinzenta no fundo do menu */
html.somnia-theme body.somnia-listview-page .somnia-list-saved-menu::-webkit-scrollbar:horizontal {
  height: 0;
  display: none;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-filters.open .somnia-list-saved-menu {
  display: block;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-empty {
  padding: 10px 12px;
  font-size: 13px;
  color: #94a3b8;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-item {
  display: flex;
  align-items: center;
  gap: 2px;
  border-radius: 8px;
  min-width: 0;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-item:hover {
  background: #f1f5f9;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-item.is-active {
  background: rgba(20, 97, 97, 0.08);
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-item.is-active:hover {
  background: rgba(20, 97, 97, 0.12);
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-item__apply {
  flex: 1 1 auto;
  min-width: 0;
  display: block;
  text-align: left;
  padding: 9px 8px 9px 12px;
  border: 0;
  background: transparent;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  color: #334155;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-item.is-active .somnia-list-saved-item__apply {
  color: var(--somnia-brand);
  font-weight: 600;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-item__remove {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-right: 4px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease, color 0.12s ease, background 0.12s ease;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-item:hover .somnia-list-saved-item__remove,
html.somnia-theme body.somnia-listview-page .somnia-list-saved-item:focus-within .somnia-list-saved-item__remove {
  opacity: 1;
  pointer-events: auto;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-item__remove:hover {
  color: #dc2626;
  background: #fef2f2;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-item__remove svg {
  display: block;
}

html.somnia-theme body.somnia-listview-page .somnia-list-saved-menu .somnia-list-overflow-item.is-active {
  background: rgba(20, 97, 97, 0.08);
  color: var(--somnia-brand);
  font-weight: 600;
}

html.somnia-theme body.somnia-listview-page .somnia-list-top-pager {
  display: inline-flex;
  align-items: center;
}

html.somnia-theme body.somnia-listview-page .somnia-list-pager {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

html.somnia-theme body.somnia-listview-page .somnia-list-page {
  min-width: 34px;
  height: 34px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #475569;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

html.somnia-theme body.somnia-listview-page .somnia-list-page.is-text {
  min-width: 34px;
  padding: 0 9px;
  font-size: 14px;
  font-weight: 600;
  text-transform: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-page:hover:not(:disabled):not(.is-active) {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: var(--somnia-brand);
}

html.somnia-theme body.somnia-listview-page .somnia-list-page.is-active {
  background: var(--somnia-brand);
  border-color: var(--somnia-brand);
  color: #fff;
  cursor: default;
}

html.somnia-theme body.somnia-listview-page .somnia-list-page:disabled:not(.is-active) {
  opacity: 0.45;
  cursor: not-allowed;
}

html.somnia-theme body.somnia-listview-page .somnia-list-page.is-edge {
  font-size: 12px;
  letter-spacing: -0.02em;
  border-radius: 999px;
}

html.somnia-theme body.somnia-listview-page .somnia-list-page-meta {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0 6px;
  padding: 0 12px;
  min-width: 0;
  min-height: 34px;
  border-radius: 14px;
  background: #f1f5f9;
  box-sizing: border-box;
}

html.somnia-theme body.somnia-listview-page .somnia-list-page-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 0;
  padding: 0;
  min-height: 0;
  border-radius: 0;
  background: transparent;
  color: #334155;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  line-height: 1.15;
}

html.somnia-theme body.somnia-listview-page .somnia-list-page-status__label {
  color: #64748b;
  font-weight: 500;
  font-size: 12px;
}

html.somnia-theme body.somnia-listview-page .somnia-list-page-status__sep {
  color: #94a3b8;
  font-weight: 500;
  font-size: 12px;
}

html.somnia-theme body.somnia-listview-page .somnia-list-page-status strong {
  font-weight: 700;
  color: var(--somnia-brand);
  font-variant-numeric: tabular-nums;
}

html.somnia-theme body.somnia-listview-page .somnia-list-page-range {
  display: inline-block;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  margin: 0;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
}

html.somnia-theme body.somnia-listview-page .somnia-list-tools {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  overflow: visible;
}

html.somnia-theme body.somnia-listview-page .somnia-list-tool {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 38px;
  min-width: 38px;
  height: 36px;
  padding: 0;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #64748b;
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

html.somnia-theme body.somnia-listview-page .somnia-list-tool svg {
  width: 17px;
  height: 17px;
  display: block;
  flex: 0 0 auto;
  margin: 0 auto;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-trigger {
  position: relative;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-trigger svg {
  width: 17px;
  height: 17px;
  display: block;
  margin: 0 auto;
  flex: 0 0 auto;
}

html.somnia-theme body.somnia-listview-page .somnia-list-tool:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: var(--somnia-brand);
}

html.somnia-theme body.somnia-listview-page .somnia-list-density-btn.is-comfortable {
  background: #f0fdfa;
  border-color: #99d5c9;
  color: var(--somnia-brand);
}

html.somnia-theme body.somnia-listview-page .somnia-list-tool.is-disabled,
html.somnia-theme body.somnia-listview-page .somnia-list-tool.is-disabled:hover {
  opacity: 0.45;
  cursor: not-allowed;
  background: #fff;
  border-color: #e2e8f0;
  color: #94a3b8;
}

html.somnia-theme body.somnia-listview-page .somnia-list-overflow {
  position: relative;
  display: inline-flex;
}

html.somnia-theme body.somnia-listview-page .somnia-list-overflow-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 210px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
  padding: 6px;
  display: none;
  z-index: 50;
}

html.somnia-theme body.somnia-listview-page .somnia-list-overflow.open .somnia-list-overflow-menu {
  display: block;
}

html.somnia-theme body.somnia-listview-page .somnia-list-overflow-item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 9px 12px;
  border: 0;
  background: transparent;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  color: #334155;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
}

html.somnia-theme body.somnia-listview-page .somnia-list-overflow-item:hover {
  background: #f1f5f9;
  color: #334155;
  text-decoration: none;
}

html.somnia-theme body.somnia-listview-page .somnia-list-overflow-item.is-danger {
  color: #dc2626;
}

html.somnia-theme body.somnia-listview-page .somnia-list-overflow-item.is-danger:hover {
  background: #fef2f2;
}

/* ========== Filter popup (estilo copy, limpo) ========== */
html.somnia-theme body.somnia-listview-page .somnia-list-toolbar,
html.somnia-theme body.somnia-listview-page .somnia-list-tools {
  overflow: visible;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-wrap {
  position: relative;
  display: inline-flex;
  align-items: stretch;
  overflow: visible;
  gap: 0;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-trigger.has-count {
  width: auto;
  min-width: 38px;
  padding: 0 8px !important;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-wrap.has-filters .somnia-list-filter-trigger {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #334155;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-trigger.is-active .somnia-list-filter-count {
  background: var(--somnia-brand);
  color: #fff;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-count[hidden] {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  min-width: 28px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 1px solid #99f6e4;
  border-left: 0;
  border-radius: 0 10px 10px 0;
  background: #f0fdfa;
  color: var(--somnia-brand);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-clear:hover {
  background: #ccfbf1;
  color: #0f4f4f;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-clear[hidden] {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-clear svg {
  width: 12px;
  height: 12px;
  display: block;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-trigger.is-active {
  background: #f0fdfa;
  border-color: #99f6e4;
  color: var(--somnia-brand);
}

/* Contagem + limpar passam para o botão de filtros */
html.somnia-theme body.somnia-listview-page ul.clickMenu.searchAppliedAlertLink:not(.hidden),
html.somnia-theme ul.clickMenu.searchAppliedAlertLink:not(.hidden) {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-wrap > .somnia-list-filter-popup {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: auto;
  z-index: 60;
  display: flex;
  flex-direction: column;
  width: min(880px, calc(100vw - 24px));
  max-width: min(880px, calc(100vw - 24px));
  max-height: min(80vh, 720px);
  padding: 0;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow:
    0 18px 40px rgba(15, 23, 42, 0.14),
    0 4px 12px rgba(15, 23, 42, 0.06);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px) scale(0.98);
  transform-origin: top left;
  overflow: hidden;
  transition:
    opacity 0.18s ease,
    transform 0.22s cubic-bezier(0.32, 0.72, 0, 1),
    visibility 0.18s ease;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-wrap > .somnia-list-filter-popup.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

/* Posicionamento fixed (JS) — abaixo da navbar (z-index < 1030 Bootstrap) */
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup.somnia-list-filter-popup--fixed {
  position: fixed !important;
  right: auto !important;
  margin: 0 !important;
  z-index: 1020 !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup__head {
  padding: 10px 14px;
  background: #fff;
  border-bottom: 1px solid #eef2f6;
  flex: 0 0 auto;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup__tabs {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  background: #eef2f7;
  border-radius: 12px;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup__tab {
  min-width: 108px;
  height: 34px;
  padding: 0 16px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #64748b;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup__tab:hover,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup__tab:focus {
  color: #334155;
  outline: none;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup__tab.is-active {
  background: #fff;
  color: var(--somnia-brand);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 12px 14px;
  background: #fff;
}

html.somnia-theme body.somnia-listview-page .somnia-filter-popup-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 10px 14px;
  border-top: 1px solid #eef2f6;
  background: #fff;
}

html.somnia-theme body.somnia-listview-page .somnia-filter-popup-actions__primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-right: auto;
}

html.somnia-theme body.somnia-listview-page .somnia-filter-popup-actions .button {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #334155;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

html.somnia-theme body.somnia-listview-page .somnia-filter-popup-search {
  background: var(--somnia-brand) !important;
  border-color: var(--somnia-brand) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(14, 122, 95, 0.18);
}

html.somnia-theme body.somnia-listview-page .somnia-filter-popup-search:hover {
  background: var(--somnia-brand-hover, #0c6a52) !important;
  border-color: var(--somnia-brand-hover, #0c6a52) !important;
  color: #fff !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .submitButtons,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .submitButtonsAdvanced,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .tabFormAdvLink,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .help,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .help-search,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .helpIcon,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .search-clear,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .dateTimeRangeChoiceClear,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #inlineSavedSearch,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form > .edit.view.search > .row > :not(.search_fields_basic):not(.col-advanced-search),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form > .edit.view.search > .row:not(:has(.search_fields_basic, .col-advanced-search)) {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form.somnia-search-relocated,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .somnia-list-filter-body #search_form {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form > .edit.view.search {
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form > .edit.view.search.somnia-search-tab-inactive {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form > .edit.view.search.somnia-search-tab-active {
  display: block !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form > .edit.view.search > .row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
  margin: 0 !important;
  width: 100% !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form > .edit.view.search > .row::before,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form > .edit.view.search > .row::after {
  content: none !important;
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .search_fields_basic,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  position: relative;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .search_fields_basic > [class*="col-"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search > div,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search [class*="col-xs-"] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  left: auto !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup label {
  display: block;
  margin: 0;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  text-transform: none;
  letter-spacing: normal;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input[type="text"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input[type="email"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input[type="tel"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input[type="number"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form select:not(.datetimecombo_time),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form textarea {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 36px;
  padding: 7px 10px;
  background: #fff;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  color: #0f172a;
  font-size: 13px;
  font-weight: 500;
  box-shadow: none;
  outline: none;
  box-sizing: border-box;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input[type="checkbox"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input[type="radio"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 0 0 18px !important;
  align-self: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  background: #fff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input[type="checkbox"]:checked {
  background-color: var(--somnia-brand) !important;
  border-color: var(--somnia-brand) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 5l3 3 7-7'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 11px 9px !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .search_fields_basic.somnia-filter-bool,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search.somnia-filter-bool,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .search_fields_basic:has(input[type="checkbox"]):not(:has(input[type="text"])):not(:has(select)),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search:has(> div input[type="checkbox"]):not(:has(input[type="text"])):not(:has(select)) {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 10px !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .search_fields_basic.somnia-filter-bool > [class*="col-"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .search_fields_basic:has(input[type="checkbox"]):not(:has(input[type="text"])) > [class*="col-"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search.somnia-filter-bool > div,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search:has(input[type="checkbox"]):not(:has(input[type="text"])) > div,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search:has(input[type="checkbox"]):not(:has(input[type="text"])) [class*="col-xs-"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search:has(input[type="checkbox"]):not(:has(input[type="text"])) .form-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: auto !important;
  flex: 0 0 auto !important;
  min-height: 18px !important;
  overflow: visible !important;
  gap: 8px;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form select[multiple],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form select.templateGroupChooser {
  min-height: 90px;
  max-height: 140px;
  width: 100% !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .form-item:has(.id-ff),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .form-item:has(.yui-ac),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .search_fields_basic > [class*="col-"]:has(.id-ff),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .search_fields_basic > [class*="col-"]:has(.yui-ac) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0;
  position: relative;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .form-item > br,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .search_fields_basic br,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search br {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .form-item > select:not(.datetimecombo_time) {
  flex: 1 1 100%;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .yui-ac {
  position: relative !important;
  display: block !important;
  float: none !important;
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .yui-ac input,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .yui-ac input.sqsEnabled,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .yui-ac input.yui-ac-input {
  width: 100% !important;
  flex: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form .form-item > input[type="text"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form .form-item > input.sqsEnabled,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form .search_fields_basic > [class*="col-"]:has(.id-ff) > input.sqsEnabled,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input.sqsEnabled {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .id-ff,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup span.id-ff.multiple {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center;
  gap: 4px;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  white-space: nowrap;
  vertical-align: middle;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .id-ff::before,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .id-ff::after {
  content: none !important;
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .id-ff button,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup button[name^="btn_"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup button[id$="_trigger"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup button.btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--somnia-canvas-2, #f8fafc) !important;
  border: 1px solid #dfe6ef !important;
  border-radius: 10px !important;
  color: #64748b !important;
  box-shadow: none !important;
  cursor: pointer;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .id-ff button:hover,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup button[name^="btn_"]:hover,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup button[id$="_trigger"]:hover,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup button.btn:hover {
  background: var(--somnia-brand-tint, #e6f2f2) !important;
  border-color: var(--somnia-brand) !important;
  color: var(--somnia-brand) !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .id-ff .suitepicon,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup button[id$="_trigger"] .suitepicon {
  display: block;
  font-size: 14px;
  line-height: 1;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input.date_input,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input.datetimecombo_date,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input.dateRangeInput,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input[id$="_date"] {
  width: auto !important;
  flex: 1 1 148px !important;
  min-width: 128px !important;
  max-width: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .search_fields_basic:has(input.date_input),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .search_fields_basic:has(input.datetimecombo_date),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .search_fields_basic:has(input[id$="_date"]),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search:has(input.date_input),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search:has(input.datetimecombo_date),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search:has(input[id$="_date"]) {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 6px !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .dateTimeRangeChoice {
  white-space: normal !important;
  width: 100%;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup [id$="_range_div"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup [id$="_between_range_div"] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  width: 100%;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup table:has(input.datetimecombo_date),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup table:has(input.date_input),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup table:has(input[id$="_date"]),
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup table:has([id$="_time_section"]) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: 100%;
  border: 0 !important;
  background: transparent !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup table:has(input[id$="_date"]) tbody,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup table:has([id$="_time_section"]) tbody {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup table:has(input[id$="_date"]) tr,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup table:has([id$="_time_section"]) tr {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup table:has(input[id$="_date"]) td,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup table:has([id$="_time_section"]) td {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  white-space: nowrap !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup table:has(input[id$="_date"]) td:first-child,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup table:has([id$="_time_section"]) td:first-child {
  flex: 1 1 auto;
  min-width: 0;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup [id$="_time_section"] {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 2px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 118px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 6px 0 8px !important;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  overflow: visible !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup [id$="_time_section"] > span {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 2px !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form select.datetimecombo_time,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup [id$="_time_section"] select {
  display: inline-block !important;
  width: 3.6em !important;
  min-width: 3.6em !important;
  max-width: none !important;
  min-height: 0 !important;
  height: 28px !important;
  padding: 0 16px 0 4px !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 2px center !important;
  background-size: 10px 6px !important;
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 28px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 auto !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .yui-ac-container {
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: 100% !important;
  float: none !important;
  width: 100% !important;
  min-width: 220px;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow: visible !important;
  z-index: 80;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search:has([name="saved_search_name"]) {
  grid-column: 1 / -1;
  margin-top: 4px;
  padding-top: 12px !important;
  border-top: 1px solid #eef2f6 !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .col-advanced-search:has([name="saved_search_name"]) .form-item {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input[name="saved_search_name"] {
  flex: 1 1 220px !important;
  width: auto !important;
  min-width: 160px !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input[name="saved_search_submit"],
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input#ss_update,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input#ss_delete {
  display: inline-flex !important;
  width: auto !important;
  min-width: 96px !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  border: 1px solid #e2e8f0 !important;
  background: #fff !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .hideUnusedSavedSearchElements {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup .hideUnusedSavedSearchElements[style*="display: none"] {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form input:focus,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form select:focus,
html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form textarea:focus {
  border-color: var(--somnia-brand);
  box-shadow: 0 0 0 3px rgba(20, 97, 97, 0.12);
}

@media (max-width: 720px) {
  html.somnia-theme body.somnia-listview-page .somnia-list-filter-popup #search_form > .edit.view.search > .row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  html.somnia-theme body.somnia-listview-page .somnia-list-toolbar-end {
    margin-left: 0;
    width: 100%;
    justify-content: flex-end;
  }
}

/* Toolbar mockup legado: Filtrar / Colunas / Densidade (se ainda existir na faixa) */
html.somnia-theme body.somnia-listview-page .somnia-list-tool-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 12px !important;
  margin: 0 4px 0 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--somnia-ink-2) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer;
  vertical-align: middle;
  text-decoration: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-tool-btn:hover {
  border-color: #cbd5e1 !important;
  color: var(--somnia-brand) !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-kebab-wrap.is-open .somnia-list-kebab-menu {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-kebab-item {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-kebab-item:hover {
  display: none !important;
}

/* Toolbar mais minimal */
html.somnia-theme body.somnia-listview-page .selected-actions-label-text {
  font-size: 13px !important;
  font-weight: 600 !important;
}

html.somnia-theme body.somnia-listview-page #actionLinkTop > li.sugar_action_button,
html.somnia-theme body.somnia-listview-page #selectLinkTop > li.sugar_action_button {
  background: #fff !important;
}

html.somnia-theme body.somnia-listview-page .paginationActionButtons .selected-actions-label .suitepicon-action-caret {
  margin-left: 4px;
  opacity: 0.55;
}

html.somnia-theme body.somnia-listview-page ul.clickMenu.searchLink.listViewLinkButton,
html.somnia-theme body.somnia-listview-page ul.clickMenu.columnsFilterLink.listViewLinkButton {
  margin-left: 2px !important;
}

/* ========== Empty ========== */
html.somnia-theme body.somnia-listview-page .listViewEmpty,
html.somnia-theme body.somnia-listview-page .listViewEmpty.somnia-list-empty-host,
html.somnia-theme body.somnia-listview-page table.list.view tbody td.somnia-list-empty-host {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 8px 0 16px !important;
  text-align: center;
  margin: 0 0 8px;
}

html.somnia-theme body.somnia-listview-page .somnia-list-empty-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  min-height: 200px;
  padding: 36px 24px;
  border-radius: 16px;
  border: 1px dashed #cbd5e1;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

html.somnia-theme body.somnia-listview-page .somnia-list-empty-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: var(--somnia-brand-light, #e6f2f2);
  color: var(--somnia-brand, #146161);
}

html.somnia-theme body.somnia-listview-page .somnia-list-empty-title {
  margin: 4px 0 0;
  font-size: 17px;
  font-weight: 700;
  color: var(--somnia-ink, #0f172a);
}

html.somnia-theme body.somnia-listview-page .somnia-list-empty-sub {
  margin: 0;
  max-width: 420px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--somnia-muted, #64748b);
}

html.somnia-theme body.somnia-listview-page .somnia-list-empty-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 8px;
}

html.somnia-theme body.somnia-listview-page .somnia-list-empty-all,
html.somnia-theme body.somnia-listview-page .somnia-list-empty-create {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 10px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none !important;
  cursor: pointer;
}

html.somnia-theme body.somnia-listview-page .somnia-list-empty-all {
  border: 1px solid #e2e8f0;
  background: #fff;
  color: var(--somnia-ink-2, #334155);
}

html.somnia-theme body.somnia-listview-page .somnia-list-empty-all:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
}

html.somnia-theme body.somnia-listview-page .somnia-list-empty-create {
  border: 1px solid var(--somnia-brand, #146161);
  background: var(--somnia-brand, #146161);
  color: #fff !important;
}

html.somnia-theme body.somnia-listview-page .somnia-list-empty-create:hover {
  background: var(--somnia-brand-hover, #105454);
  border-color: var(--somnia-brand-hover, #105454);
  color: #fff !important;
}

html.somnia-theme body.somnia-listview-page .listViewEmpty .msg a {
  color: var(--somnia-brand) !important;
  font-weight: 650 !important;
}

html.somnia-theme body.somnia-listview-page .filterContainer {
  margin-bottom: 12px;
}

/* ========== Dashlets (leve) ========== */
html.somnia-theme table.dashletPanel.list.view,
html.somnia-theme table.dashletPanel {
  border-radius: 12px !important;
  border: 1px solid var(--somnia-border) !important;
  box-shadow: none !important;
}

html.somnia-theme table.dashletPanel thead {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
}

html.somnia-theme table.dashletPanel th {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
  color: #64748b !important;
  font-size: 11px !important;
  text-transform: uppercase;
}

html.somnia-theme table.dashletPanel td {
  padding: 10px 12px !important;
}

html.somnia-theme .yui-dt table,
html.somnia-theme .yui-dt-data td {
  font-family: var(--somnia-font);
}

/* ========== Personalizar tabela (ListView columns) ========== */
/* Não mostrar o modal nativo até o chrome Somnia (listas + footer) estar montado. */
html.somnia-theme #columnsFilterDialog.modal:not(.somnia-columns-ready),
html.somnia-theme #columnsFilterDialog.somnia-columns-pending {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html.somnia-theme body:has(#columnsFilterDialog.in:not(.somnia-columns-ready)) .modal-backdrop,
html.somnia-theme body:has(#columnsFilterDialog.show:not(.somnia-columns-ready)) .modal-backdrop,
html.somnia-theme body:has(#columnsFilterDialog.somnia-columns-pending.in) .modal-backdrop,
html.somnia-theme body:has(#columnsFilterDialog.somnia-columns-pending.show) .modal-backdrop {
  opacity: 0 !important;
  visibility: hidden !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-dialog {
  width: min(820px, calc(100vw - 32px)) !important;
  margin: 0 auto !important;
  max-height: calc(100vh - var(--somnia-nav-height, 56px) - 32px);
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-content {
  width: 100% !important;
  max-height: calc(100vh - var(--somnia-nav-height, 56px) - 32px);
  display: flex;
  flex-direction: column;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.16) !important;
  overflow: hidden;
  font-family: var(--somnia-font) !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px;
  padding: 20px 22px 16px !important;
  border-bottom: 1px solid #eef2f6 !important;
  background: #fff !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-header-main {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
  flex: 1 1 auto;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-header-ico {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: var(--somnia-brand, #0f766e);
  box-shadow: 0 8px 18px rgba(15, 118, 110, 0.22);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23fff' stroke-width='1.8'%3E%3Crect x='3' y='4' width='14' height='12' rx='2'/%3E%3Cpath d='M3 8h14M8 4v12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-header-text {
  min-width: 0;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-title {
  margin: 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #0f172a !important;
  line-height: 1.3 !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-subtitle {
  margin: 4px 0 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #64748b !important;
  line-height: 1.4 !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-header .close {
  margin: 0 !important;
  opacity: 1 !important;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #f1f5f9 !important;
  color: #64748b !important;
  text-shadow: none !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 30px !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-header .close:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-body,
html.somnia-theme #columnsFilterDialog.modal-columns-filter #columnsFilterList {
  padding: 16px 22px 18px !important;
  background: #fff !important;
  min-height: 0;
  overflow: auto;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-toolbar {
  display: none !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-search,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-search-ico,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-search-input,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-panel-hint {
  display: none !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 14px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-btn:hover {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-tabs {
  display: none !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .chooserContent {
  display: block;
  margin: 0;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-board {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: stretch;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-panel-head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 10px;
  min-height: 24px;
  margin: 0 0 8px;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-panel-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-native-heading,
html.somnia-theme #columnsFilterDialog.modal-columns-filter #columnsFilterList > div > h1,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .chooserContent > h1 {
  display: none !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter ul.chooserList {
  list-style: none !important;
  margin: 0 !important;
  padding: 8px !important;
  flex: 1 1 auto;
  min-height: 260px !important;
  max-height: min(58vh, 480px);
  overflow: auto;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-panel.is-available ul.chooserList {
  background: #fff !important;
  border-style: dashed !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter ul.chooserList > li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 6px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  border: 1px solid #e2e8f0 !important;
  background: #fff !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  cursor: grab !important;
  user-select: none !important;
  transition: background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter ul.chooserList > li:last-child {
  margin-bottom: 0 !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter ul.chooserList > li::before {
  content: none !important;
  display: none !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter ul.chooserList > li.is-selected {
  background: #ecfdf5 !important;
  border-color: #bbf7d0 !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter ul.chooserList > li:hover {
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter ul.chooserList > li.ui-sortable-helper {
  cursor: grabbing !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.14) !important;
  border-color: #99f6e4 !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter ul.chooserList > li.somnia-col-placeholder {
  height: 42px !important;
  border: 1.5px dashed #99f6e4 !important;
  background: #f0fdfa !important;
  box-shadow: none !important;
  visibility: visible !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter ul.chooserList > li.somnia-col-placeholder * {
  visibility: hidden !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-col-handle {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  opacity: 0.4;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%2364748b' stroke-width='1.75' stroke-linecap='round'%3E%3Cpath d='M5 4h.01M9 4h.01M5 7h.01M9 7h.01M5 10h.01M9 10h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-col-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-col-check {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-col-check.is-on {
  border-color: var(--somnia-brand, #0f766e) !important;
  background: var(--somnia-brand, #0f766e) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 7.5l2.5 2.5 4.5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter #error-displayed-columns {
  margin: 8px 0 0 !important;
  font-size: 12.5px !important;
  color: #dc2626 !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-tip,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-tip-ico,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-tip p {
  display: none !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-preview,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-chips,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-chip {
  display: none !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-footer,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-footer.somnia-columns-footer {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 14px 22px !important;
  border-top: 0 !important;
  background: #fff !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-footer-left,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-footer-right {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-footer-left {
  justify-content: flex-start;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-footer-right {
  justify-content: flex-end;
  margin-left: auto;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-footer > button.btn.button.purple.btn-default,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-footer > button.button.red,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-footer-right > button.btn.button.purple.btn-default,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-footer-right > button.button.red {
  min-height: 40px !important;
  padding: 0 18px !important;
  border-radius: 12px !important;
  border: 1px solid #e2e8f0 !important;
  font-family: inherit !important;
  font-size: 13.5px !important;
  font-weight: 650 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-footer > button.btn.button.purple.btn-default,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-footer-right > button.btn.button.purple.btn-default {
  background: #fff !important;
  color: #475569 !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-footer > button.btn.button.purple.btn-default:hover,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-footer-right > button.btn.button.purple.btn-default:hover {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-footer > button.button.red,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-footer-right > button.button.red {
  background: var(--somnia-brand, #0f766e) !important;
  border-color: var(--somnia-brand, #0f766e) !important;
  color: #fff !important;
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-footer > button.button.red:hover,
html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-footer-right > button.button.red:hover {
  filter: brightness(0.96);
}

html.somnia-theme #columnsFilterDialog.modal-columns-filter .preloading {
  margin: 24px auto;
}

@media (max-width: 640px) {
  html.somnia-theme #columnsFilterDialog.modal-columns-filter .modal-footer.somnia-columns-footer {
    flex-direction: column;
    align-items: stretch;
  }

  html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-footer-left,
  html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-footer-right {
    width: 100%;
    margin-left: 0;
  }

  html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-footer-right {
    justify-content: flex-end;
  }

  html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-btn {
    flex: 1 1 auto;
  }

  html.somnia-theme #columnsFilterDialog.modal-columns-filter .somnia-columns-board {
    grid-template-columns: 1fr;
  }
}

/* source: custom/themes/SuiteP/css/somnia/05-views-record.css */
/**
 * Somnia — DetailView / EditView (CSS-first)
 *
 * Layout Builder contract (future — do NOT reorder DOM in JS runtime):
 *   - Panel/grid host may carry: .somnia-cols-2 | .somnia-cols-3 | .somnia-cols-4 (default 4)
 *   - .detail-view-row-item[data-somnia-span="1|2|3|4"] controls column span
 *   - Native attrs already used: [data-field], .detail-view-field[type][field]
 *   - Builder should persist via viewdefs / template attrs; CSS consumes them here.
 */

/* ========== Page canvas ========== */
html.somnia-theme body.somnia-detailview-page #content,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #content {
  background: transparent !important;
}

/*
 * SVG dos cartões/abas: tamanho próprio, sem depender da classe de vista.
 * Sem isto, no meio segundo da troca Detail→Edit o browser pinta o viewBox
 * 24×24 a 300×150px (ícone gigante).
 */
html.somnia-theme .somnia-tab-icon,
html.somnia-theme .somnia-page-summary-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  overflow: hidden;
  color: inherit;
}
html.somnia-theme .somnia-tab-icon {
  width: 15px;
  height: 15px;
  margin-right: 7px;
}
html.somnia-theme .somnia-page-summary-icon {
  width: 30px;
  height: 30px;
}
html.somnia-theme .somnia-tab-icon svg,
html.somnia-theme .somnia-page-summary-icon svg {
  width: 15px !important;
  height: 15px !important;
  max-width: 15px;
  max-height: 15px;
  display: block;
  overflow: hidden;
  flex-shrink: 0;
}

/* Título nativo some assim que o cabeçalho Somnia está no DOM — qualquer vista. */
html.somnia-theme:has(.somnia-record-head) .moduleTitle {
  display: none !important;
}

html.somnia-theme body.somnia-detailview-page .moduleTitle {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin: 0 0 16px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid var(--somnia-border);
}

html.somnia-theme body.somnia-detailview-page .moduleTitle h2 {
  margin: 0 !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  letter-spacing: var(--somnia-ls-tight);
  color: var(--somnia-ink) !important;
  line-height: 1.2 !important;
}

html.somnia-theme body.somnia-detailview-page .moduleTitle .favorite,
html.somnia-theme body.somnia-detailview-page .moduleTitle .favorites {
  margin: 0 !important;
}

html.somnia-theme body.somnia-detailview-page .moduleTitle .utils {
  margin-left: auto !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}

/* ========== Record head (breadcrumb + título + cartões de resumo) ==========
 * Renderizado no servidor pelo headerTpl do Somnia. O título nativo só é
 * ocultado quando o novo cabeçalho existe, para módulos ainda não migrados
 * continuarem a mostrar o seu título.
 */
html.somnia-theme body.somnia-detailview-page:has(.somnia-record-head) .moduleTitle {
  display: none !important;
}

html.somnia-theme body.somnia-detailview-page .somnia-record-head {
  margin: 0 0 16px;
}

/* Com o menu de ações ativo, a tabela de botões do header nativo fica só com
   o formulário oculto — colapsa-a para não abrir um vazio antes das abas. */
html.somnia-theme body.somnia-detailview-page table:has(> tbody > tr > td.buttons):not(:has(input.button)):not(:has(.button)):not(:has(a)) {
  display: none !important;
}

html.somnia-theme body.somnia-detailview-page .somnia-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--somnia-muted);
}

html.somnia-theme body.somnia-detailview-page .somnia-breadcrumb a,
html.somnia-theme body.somnia-detailview-page .somnia-breadcrumb a:link,
html.somnia-theme body.somnia-detailview-page .somnia-breadcrumb a:visited,
html.somnia-theme body.somnia-detailview-page .somnia-breadcrumb a:focus,
html.somnia-theme body.somnia-detailview-page .somnia-breadcrumb a:active {
  color: var(--somnia-muted);
  font-weight: 500;
  text-decoration: none;
}

html.somnia-theme body.somnia-detailview-page .somnia-breadcrumb a:hover,
html.somnia-theme body.somnia-detailview-page .somnia-breadcrumb a:focus-visible {
  color: var(--somnia-brand);
  text-decoration: none;
}

html.somnia-theme body.somnia-detailview-page .somnia-breadcrumb-sep {
  margin: 0 8px;
  color: #cbd5e1;
}

html.somnia-theme body.somnia-detailview-page .somnia-breadcrumb-current {
  color: #94a3b8;
  font-weight: 500;
}

html.somnia-theme body.somnia-detailview-page .somnia-record-title {
  margin: 0;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -0.025em;
  font-weight: 700;
  color: var(--somnia-ink);
}

html.somnia-theme body.somnia-detailview-page .somnia-page-summary {
  margin: 0 0 16px;
  background: var(--somnia-surface, #fff);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-xl, 14px);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

html.somnia-theme body.somnia-detailview-page .somnia-page-summary:not(:has(.somnia-page-summary-item)) {
  display: none !important;
}

html.somnia-theme body.somnia-detailview-page .somnia-page-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}

html.somnia-theme body.somnia-detailview-page .somnia-page-summary-item {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 68px;
  padding: 13px 12px 13px 16px;
  border-right: 1px solid var(--somnia-border, #e8edf3);
}

html.somnia-theme body.somnia-detailview-page .somnia-page-summary-item:last-child {
  border-right: 0;
}

html.somnia-theme body.somnia-detailview-page .somnia-page-summary-item.is-empty .somnia-page-summary-value {
  color: var(--somnia-faint);
  font-weight: 450;
}

html.somnia-theme body.somnia-detailview-page .somnia-page-summary-icon {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: var(--somnia-brand-soft, rgba(20, 97, 97, 0.08));
  border: 1px solid rgba(20, 97, 97, 0.16);
  color: var(--somnia-brand);
}

html.somnia-theme body.somnia-detailview-page .somnia-page-summary-icon svg {
  width: 15px;
  height: 15px;
  display: block;
}

html.somnia-theme body.somnia-detailview-page .somnia-page-summary-text {
  min-width: 0;
}

html.somnia-theme body.somnia-detailview-page .somnia-page-summary-label {
  margin-bottom: 2px;
  font-size: 11px;
  font-weight: 600;
  color: var(--somnia-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

html.somnia-theme body.somnia-detailview-page .somnia-page-summary-value {
  font-size: 14px;
  font-weight: 700;
  color: var(--somnia-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

html.somnia-theme body.somnia-detailview-page .somnia-page-summary-value a {
  color: var(--somnia-brand);
  text-decoration: none;
}

html.somnia-theme body.somnia-detailview-page .somnia-page-summary-value a:hover {
  text-decoration: underline;
}

html.somnia-theme body.somnia-detailview-page .mobile-pagination,
html.somnia-theme body.somnia-detailview-page .detail-view .mobile-pagination {
  display: none !important;
}

/* ========== Detail shell (main + insights rail) ========== */
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin: 0 0 16px;
}

/* Rail reservado desde o 1º paint (evita reflow quando os cartões montam) */
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-shell:has(> .somnia-detail-insights),
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page).somnia-detail-has-insights .somnia-detail-shell,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page).somnia-detail-await-insights .somnia-detail-shell,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page)[data-module="Accounts"] .somnia-detail-shell {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-main {
  min-width: 0;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-insights {
  position: sticky;
  top: calc(var(--somnia-nav-height) + 12px);
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  min-height: 1px;
}

/* Nunca esconder o rail enquanto esperamos dados */
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page).somnia-detail-has-insights .somnia-detail-insights:empty,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page).somnia-detail-await-insights .somnia-detail-insights:empty,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page)[data-module="Accounts"] .somnia-detail-insights:empty {
  display: flex !important;
  min-height: 380px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-insights:empty:not(.is-pending) {
  display: none !important;
}

/* A coluna acompanha o scroll sem esconder o fundo dos cartões */
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-shell > .somnia-detail-insights {
  max-height: calc(100vh - var(--somnia-nav-height) - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  padding-right: 2px;
}

/* ========== Cartões da coluna direita (cronologia / histórico) ========== */
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-card {
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-xl);
  background: var(--somnia-surface);
  box-shadow: var(--somnia-shadow-card);
  padding: 14px 16px;
  box-sizing: border-box;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-card-title {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: var(--somnia-ls);
  color: var(--somnia-ink);
  text-transform: none;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-card-empty {
  margin: 4px 0 0;
  font-size: 12.5px;
  color: var(--somnia-muted);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-card-more {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 8px 0;
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-md);
  background: var(--somnia-canvas-2);
  font-size: 12px;
  font-weight: 600;
  color: var(--somnia-brand);
  cursor: pointer;
  transition: background var(--somnia-duration) var(--somnia-ease),
    border-color var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-card-more:hover {
  background: var(--somnia-brand-tint);
  border-color: var(--somnia-brand-ring);
}

/* Esqueleto enquanto os dados não chegam */
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-skel {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-skel-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-skel-dot,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-skel-line {
  background: linear-gradient(
    90deg,
    var(--somnia-canvas) 25%,
    var(--somnia-canvas-2) 37%,
    var(--somnia-canvas) 63%
  );
  background-size: 400% 100%;
  animation: somnia-detail-skel 1.4s ease infinite;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-skel-dot {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  border-radius: var(--somnia-radius-md);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-skel-lines {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 3px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-skel-line {
  height: 9px;
  border-radius: var(--somnia-radius-pill);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-skel-line.is-short {
  width: 55%;
}

@keyframes somnia-detail-skel {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}

/* ----- Cronologia ----- */
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-timeline-body.is-loading {
  opacity: 0.55;
  transition: opacity var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl {
  position: relative;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 4px;
  bottom: 4px;
  width: 2px;
  border-radius: 2px;
  background: var(--somnia-border);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-item {
  position: relative;
  padding: 0 0 16px 40px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-future .somnia-tl-item:last-child {
  padding-bottom: 0;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-ico {
  position: absolute;
  left: 0;
  top: 0;
  width: 28px;
  height: 28px;
  border-radius: var(--somnia-radius-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--somnia-canvas);
  border: 1px solid var(--somnia-border);
  color: var(--somnia-muted);
  box-shadow: 0 0 0 3px var(--somnia-surface);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-ico svg {
  width: 15px;
  height: 15px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-item.is-call .somnia-tl-ico,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-item.is-email .somnia-tl-ico {
  background: #fef3c7;
  border-color: #fde68a;
  color: #b45309;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-item.is-meeting .somnia-tl-ico {
  background: #e0f2fe;
  border-color: #bae6fd;
  color: #0369a1;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-item.is-task .somnia-tl-ico {
  background: var(--somnia-brand-tint);
  border-color: var(--somnia-brand-ring);
  color: var(--somnia-brand);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-item.is-note .somnia-tl-ico {
  background: #ede9fe;
  border-color: #ddd6fe;
  color: #6d28d9;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-main {
  min-width: 0;
  padding-top: 3px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-title {
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--somnia-ink);
  text-decoration: none;
  word-break: break-word;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-title:hover {
  color: var(--somnia-brand);
  text-decoration: underline;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-item.is-future .somnia-tl-title {
  color: var(--somnia-brand);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-meta {
  margin-top: 2px;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-who {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--somnia-muted);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-date {
  font-size: 11px;
  color: var(--somnia-faint);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-empty {
  position: relative;
  padding: 0 0 14px 40px;
  font-size: 12px;
  color: var(--somnia-faint);
}

/* Linha "hoje" entre histórico e agendado */
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-today {
  position: relative;
  display: flex;
  align-items: center;
  margin: 2px 0 16px;
  min-height: 14px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-today::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 0;
  top: 50%;
  height: 2px;
  background: var(--somnia-brand);
  opacity: 0.3;
  transform: translateY(-50%);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-today-dot {
  position: relative;
  z-index: 1;
  margin-left: 9px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--somnia-brand);
  box-shadow: 0 0 0 4px var(--somnia-brand-soft);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-tl-today-label {
  position: relative;
  z-index: 1;
  margin-left: auto;
  padding: 1px 6px;
  background: var(--somnia-surface);
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--somnia-brand);
}

/* ----- Histórico de alterações ----- */
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-cl-list {
  list-style: none;
  margin: 0;
  padding: 0 0 0 18px;
  border-left: 2px solid var(--somnia-brand);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-cl-item {
  position: relative;
  padding: 0 0 16px 12px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-cl-item:last-child {
  padding-bottom: 2px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-cl-dot {
  position: absolute;
  left: -25px;
  top: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--somnia-surface);
  border: 2px solid var(--somnia-brand);
  box-sizing: border-box;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-cl-change {
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--somnia-ink);
  word-break: break-word;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-cl-meta {
  margin-top: 3px;
  font-size: 11.5px;
  line-height: 1.35;
  color: var(--somnia-muted);
}

/* ========== Panels / tabs (detail-scoped polish) ========== */
html.somnia-theme body.somnia-detailview-page .detail-view > .panel,
html.somnia-theme body.somnia-detailview-page .detail-view .panel-content > .panel,
html.somnia-theme body.somnia-detailview-page .detail-view .panel.panel-default {
  margin-bottom: 14px !important;
  border-radius: var(--somnia-radius-xl) !important;
  overflow: hidden;
  border: 1px solid var(--somnia-border) !important;
  box-shadow: var(--somnia-shadow-card) !important;
  background: var(--somnia-surface) !important;
}

/* Anular Dawn #66727D em headings de painel Detail */
html.somnia-theme body.somnia-detailview-page .detail-view .panel-default > .panel-heading,
html.somnia-theme body.somnia-detailview-page .detail-view .panel > .panel-heading,
html.somnia-theme body.somnia-detailview-page .detail-view .panel-heading {
  height: auto !important;
  min-height: 0 !important;
  padding: 14px 18px !important;
  margin: 0 !important;
  background: #fff !important;
  border-bottom: 1px solid var(--somnia-border) !important;
  border-color: var(--somnia-border) !important;
  color: var(--somnia-ink) !important;
  line-height: 1.3 !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .panel-default > .panel-heading > div,
html.somnia-theme body.somnia-detailview-page .detail-view .panel-heading > div {
  background: transparent !important;
  color: var(--somnia-ink) !important;
  font-size: inherit !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .panel-heading a,
html.somnia-theme body.somnia-detailview-page .detail-view .panel-default > .panel-heading > a,
html.somnia-theme body.somnia-detailview-page .detail-view .panel-heading a.collapsed,
html.somnia-theme body.somnia-detailview-page .detail-view .panel-heading a.collapsed-override {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--somnia-ink) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
  text-transform: none !important;
  border-radius: 0 !important;
  line-height: 1.3 !important;
}

/* Collapse +/- nativo → chevron tipográfico muted */
html.somnia-theme body.somnia-detailview-page .detail-view .panel-heading a::before,
html.somnia-theme body.somnia-detailview-page .detail-view .panel-heading a.collapsed::before {
  content: "▾" !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--somnia-muted) !important;
  line-height: 1 !important;
  margin-right: 2px;
  vertical-align: middle;
}

html.somnia-theme body.somnia-detailview-page .detail-view .panel-heading a.collapsed::before {
  content: "▾" !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .panel-heading .col-xs-10,
html.somnia-theme body.somnia-detailview-page .detail-view .panel-heading .col-sm-11,
html.somnia-theme body.somnia-detailview-page .detail-view .panel-heading .col-md-11 {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

/*
 * O espaçamento vive no conteúdo, não no elemento que abre e fecha: assim a
 * altura do collapse chega mesmo a zero e o fecho não termina com um salto.
 * Painéis sem .tab-content (e browsers sem :has) mantêm o espaçamento antigo.
 */
html.somnia-theme body.somnia-detailview-page .detail-view .panel-body {
  padding: 20px 24px !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .panel-body:has(> .tab-content) {
  padding: 0 !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .panel-body > .tab-content {
  padding: 20px 24px !important;
  margin: 0 !important;
}

/* ---- Abrir/fechar painéis e subpainéis ---- */
html.somnia-theme body.somnia-detailview-page .detail-view .panel-body.collapsing,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-body.collapsing {
  overflow: hidden !important;
  transition: height var(--somnia-duration-slow) var(--somnia-ease) !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .panel-body.collapse.in > .tab-content,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-body.collapse.in > .tab-content {
  animation: somnia-collapse-in var(--somnia-duration-slow) var(--somnia-ease) both;
}

/* 1ª abertura de um subpainel: o corpo chega por AJAX — mostrar que carrega */
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-body.in div[id^="list_subpanel_"]:empty {
  display: block;
  min-height: 76px;
  background: linear-gradient(
      90deg,
      var(--somnia-canvas) 25%,
      var(--somnia-canvas-2) 37%,
      var(--somnia-canvas) 63%
    )
    0 0 / 400% 100%;
  animation: somnia-detail-skel 1.4s ease infinite;
}

@keyframes somnia-collapse-in {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* O chevron roda em vez de trocar de símbolo */
html.somnia-theme body.somnia-detailview-page .detail-view .panel-heading a::before {
  transform: rotate(0deg);
  transition: transform var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme body.somnia-detailview-page .detail-view .panel-heading a.collapsed::before {
  transform: rotate(-90deg);
}

html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin: 0 0 20px !important;
  padding: 0 2px 2px;
  background: transparent !important;
  border-bottom: none !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs > li {
  float: none !important;
  margin: 0 !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs .somnia-tab-icon {
  display: inline-flex;
  align-items: center;
  margin-right: 7px;
  color: inherit;
}

html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs .somnia-tab-icon svg {
  width: 15px;
  height: 15px;
  display: block;
}

html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs > li > a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: var(--somnia-muted) !important;
  padding: 8px 14px !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: var(--somnia-radius-md) var(--somnia-radius-md) 0 0 !important;
  background: transparent !important;
  text-transform: none !important;
}

/*
 * SuiteP renderiza dois <a> na 1.ª tab (desktop .hidden-xs + mobile .visible-xs).
 * O display:inline-flex acima anula o Bootstrap — ambos ficavam visíveis («Visão geral»×2).
 */
@media (min-width: 768px) {
  html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs > li > a.visible-xs,
  html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs > li > a.visible-sm,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .nav-tabs > li > a.visible-xs {
    display: none !important;
  }
}

@media (max-width: 767px) {
  html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs > li > a.hidden-xs,
  html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs > li > a.hidden-sm,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .nav-tabs > li > a.hidden-xs {
    display: none !important;
  }

  html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs > li > a.visible-xs,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .nav-tabs > li > a.visible-xs {
    display: inline-flex !important;
  }
}

html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs > li.active > a,
html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs > li.active > a:hover,
html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs > li.active > a:focus {
  color: var(--somnia-brand) !important;
  border-bottom-color: var(--somnia-brand) !important;
  background: transparent !important;
}

/* Panel content spacer SuiteCRM inserts */
html.somnia-theme body.somnia-detailview-page .detail-view .panel-content > div:empty,
html.somnia-theme body.somnia-detailview-page .detail-view .panel-content > div:first-child:not(.panel) {
  display: none !important;
}

/* ========== Actions (+) ========== */
html.somnia-theme body.somnia-detailview-page .nav-tabs > li#tab-actions > a.dropdown-toggle,
html.somnia-theme body.somnia-detailview-page #tab-actions > a.dropdown-toggle,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #tab-actions > a.dropdown-toggle,
html.somnia-theme body.somnia-detailview-page .nav-tabs > li#tab-actions > a,
html.somnia-theme body.somnia-detailview-page .nav-tabs > li#tab-actions > a:hover,
html.somnia-theme body.somnia-detailview-page .nav-tabs > li#tab-actions > a:focus {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--somnia-brand) !important;
  color: transparent !important;
  border: none !important;
  border-bottom: none !important;
  border-radius: var(--somnia-radius-md) !important;
  box-shadow: var(--somnia-shadow-primary);
  font-size: 0 !important;
  line-height: 0 !important;
  position: relative;
  overflow: hidden;
  text-indent: 0 !important;
}

html.somnia-theme body.somnia-detailview-page .nav-tabs > li#tab-actions > a.dropdown-toggle::before,
html.somnia-theme body.somnia-detailview-page #tab-actions > a.dropdown-toggle::before,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #tab-actions > a.dropdown-toggle::before,
html.somnia-theme body.somnia-detailview-page .nav-tabs > li#tab-actions > a::before {
  /* Três pontos desenhados com box-shadow: nítidos em qualquer densidade e
     sem depender de tipos de letra com glifos de reticências. */
  content: "" !important;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3.5px;
  height: 3.5px;
  margin: -1.75px 0 0 -1.75px;
  border-radius: 50%;
  background: #fff;
  box-shadow: -6px 0 0 #fff, 6px 0 0 #fff;
}

html.somnia-theme body.somnia-detailview-page #tab-actions > a.dropdown-toggle .suitepicon-action-caret,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #tab-actions > a.dropdown-toggle .suitepicon-action-caret,
html.somnia-theme body.somnia-detailview-page .nav-tabs > li#tab-actions > a .suitepicon {
  display: none !important;
}

html.somnia-theme body.somnia-detailview-page #tab-actions > a.dropdown-toggle:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #tab-actions > a.dropdown-toggle:hover,
html.somnia-theme body.somnia-detailview-page .nav-tabs > li#tab-actions > a:hover {
  background: var(--somnia-brand-hover) !important;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu {
  right: 0;
  left: auto;
  border-radius: var(--somnia-radius-lg) !important;
  padding: 6px !important;
  border: 1px solid var(--somnia-border) !important;
  box-shadow: var(--somnia-shadow-pop) !important;
  min-width: 248px;
  max-width: 340px;
  overflow: visible !important;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu > li {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: none !important;
  overflow: visible !important;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu > li + li {
  margin-top: 2px !important;
}

/* Rótulos longos («Enviar email de confirmação do consentimento») partem em
   várias linhas em vez de transbordarem por cima da opção seguinte. */
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu .button,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu input.button,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu input[type="button"],
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu input[type="submit"],
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu > li > a {
  display: block !important;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  text-align: left;
  white-space: normal !important;
  line-height: 1.35 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--somnia-ink-2) !important;
  border-radius: var(--somnia-radius-md) !important;
  float: none !important;
  text-decoration: none !important;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu .button:hover,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu input.button:hover,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu input[type="button"]:hover,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu input[type="submit"]:hover,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu > li > a:hover {
  background: var(--somnia-brand-tint) !important;
  color: var(--somnia-brand) !important;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) #tab-actions > .dropdown-menu input#DELETE:hover {
  background: var(--somnia-brand-tint) !important;
  color: var(--somnia-brand) !important;
}

/* Prev / next (VCR) pills */
/* Paginação e «+» encostados à direita da barra de abas, por esta ordem —
   o DOM tem o menu de ações primeiro, daí a inversão por `order`. */
html.somnia-theme body.somnia-detailview-page .nav-tabs > li.tab-inline-pagination {
  order: 90;
  margin-left: auto !important;
  float: none !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs > li#tab-actions {
  order: 91;
  margin-left: 10px !important;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination table,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination tbody,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination tr,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination td {
  display: inline-flex !important;
  align-items: center !important;
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 6px;
  vertical-align: middle;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination .button,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination button.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 34px !important;
  height: 34px !important;
  padding: 0 10px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  box-shadow: none !important;
  color: var(--somnia-ink-2) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination .button:hover:not(:disabled),
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination button.button:hover:not(:disabled) {
  border-color: var(--somnia-brand) !important;
  color: var(--somnia-brand) !important;
  background: var(--somnia-brand-soft, rgba(20, 97, 97, 0.06)) !important;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination .button:disabled,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination button.button:disabled {
  opacity: 0.45;
  cursor: default;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination .button .suitepicon,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination button.button .suitepicon {
  font-size: 12px !important;
  color: inherit !important;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination td {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--somnia-muted) !important;
  white-space: nowrap;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination .somnia-vcr,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination span.pagination {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
}
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination .somnia-vcr-pos {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--somnia-muted) !important;
  white-space: nowrap;
  padding: 0 4px;
}
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .tab-inline-pagination .somnia-vcr-btn .suitepicon {
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  font-size: 12px !important;
  color: inherit !important;
}
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .tab-inline-pagination #save_and_continue,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .tab-inline-pagination .saveAndContinue {
  display: none !important;
}

/* ========== Subpanels (cartões claros — anular Dawn) ========== */
html.somnia-theme body.somnia-detailview-page #subpanel_list {
  margin-top: 10px;
  padding: 0;
  list-style: none;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list > li {
  position: relative;
  z-index: 1;
  margin: 0 0 10px !important;
  padding: 0 !important;
  list-style: none !important;
}

/* O dropdown do "Criar..." atravessa o cartão seguinte: o subpainel
   com o menu aberto tem de ficar acima dos irmãos (Histórico, etc.). */
html.somnia-theme body.somnia-detailview-page #subpanel_list > li:hover,
html.somnia-theme body.somnia-detailview-page #subpanel_list > li:focus-within,
html.somnia-theme body.somnia-detailview-page #subpanel_list > li:has(ul.subnav.ddopen),
html.somnia-theme body.somnia-detailview-page #subpanel_list > li:has(ul.subnav[style*="display: block"]) {
  z-index: 40;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel.sub-panel,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel.panel-default.sub-panel,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel {
  margin-bottom: 0 !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-xl) !important;
  box-shadow: var(--somnia-shadow-card) !important;
  background: #fff !important;
  overflow: visible;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel.sub-panel:hover {
  box-shadow: var(--somnia-shadow-pop, 0 8px 24px rgba(15, 23, 42, 0.08)) !important;
}

/* O raio de 12px encurtava a barra verde e deixava as pontas do cartão
   sem cor. O canto esquerdo fica mais fechado para a barra ir até ao topo e à base. */
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel.panel-default.sub-panel {
  border-left: 4px solid var(--somnia-brand) !important;
  border-top-left-radius: 4px !important;
  border-bottom-left-radius: 4px !important;
}

/* Anular Dawn .panel-default > .panel-heading { #66727D } */
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-default > .panel-heading,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel.sub-panel > .panel-heading,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading.panel-heading-collapse,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading {
  display: flex !important;
  align-items: center !important;
  height: auto !important;
  min-height: 52px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
  border: none !important;
  border-bottom: 1px solid transparent !important;
  color: var(--somnia-ink) !important;
  line-height: 1.3 !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-default > .panel-heading > div,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > div {
  background: transparent !important;
  color: var(--somnia-ink) !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-default.sub-panel > .panel-heading > a,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-default > .panel-heading > a,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a.collapsed,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a.collapsed-override,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a.in {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 52px !important;
  padding: 12px 40px 12px 16px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--somnia-ink) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  border-radius: 0 !important;
  line-height: 1.3 !important;
}

/*
 * Indicador +/− desenhado com duas barras: ao abrir, a barra vertical roda e
 * desvanece, em vez de o símbolo saltar de um glifo para o outro.
 */
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a {
  position: relative !important;
  outline: none !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a:focus,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a::before,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a.collapsed::before,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  right: 4px;
  top: 50%;
  width: 13px;
  height: 2px;
  margin: 0 !important;
  border-radius: 2px;
  background: var(--somnia-muted) !important;
  transform: translateY(-50%);
  transition: transform var(--somnia-duration) var(--somnia-ease),
    opacity var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a::after {
  transform: translateY(-50%) rotate(90deg);
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a.in::after,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a:not(.collapsed)::after {
  transform: translateY(-50%) rotate(0deg);
  opacity: 0;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading > a,
html.somnia-theme body.somnia-detailview-page #subpanel_list [id^="subpanel_title_"] {
  cursor: pointer !important;
  user-select: none;
  -webkit-user-select: none;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading.somnia-subpanel-holding,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading.somnia-subpanel-holding > a {
  cursor: grabbing !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading .clickMenu,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading .clickMenu a,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading .sugar_action_button,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading button,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading .btn {
  cursor: pointer !important;
  user-select: auto;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading .col-xs-10,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading .col-sm-11,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading .col-md-11 {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  flex: 1 1 auto;
  padding: 0 !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading .col-xs-10 > div,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading a > div > div {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  background: transparent !important;
  color: var(--somnia-ink) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  text-transform: none !important;
}

/* Ícone módulo em chip teal */
html.somnia-theme body.somnia-detailview-page #subpanel_list .subpanel-icon,
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-heading .suitepicon[class*="suitepicon-module-"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  background: var(--somnia-brand-tint, rgba(20, 97, 97, 0.12)) !important;
  color: var(--somnia-brand) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  flex: 0 0 auto;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-body.collapsing {
  transition: none !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-body.collapse.in > .tab-content {
  animation: none !important;
}

/* Primeira abertura: altura fixa e skeleton até a tabela assentar. */
html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-body.somnia-subpanel-pending {
  position: relative !important;
  height: 148px !important;
  min-height: 148px !important;
  overflow: hidden !important;
  background: #fff !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-body.somnia-subpanel-pending > .tab-content {
  opacity: 0 !important;
  pointer-events: none !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .somnia-subpanel-skel {
  position: absolute;
  z-index: 2;
  left: 16px;
  right: 16px;
  top: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  pointer-events: none;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .somnia-subpanel-skel > span {
  display: block;
  height: 12px;
  border-radius: 6px;
  background: linear-gradient(
    90deg,
    var(--somnia-canvas) 25%,
    var(--somnia-canvas-2) 37%,
    var(--somnia-canvas) 63%
  );
  background-size: 400% 100%;
  animation: somnia-detail-skel 1.4s ease infinite;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .somnia-subpanel-skel > span.is-short {
  width: 46%;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-body {
  padding: 0 !important;
  background: #fff !important;
  border-top: 1px solid var(--somnia-border) !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .panel-body,
html.somnia-theme body.somnia-detailview-page #subpanel_list .table-responsive,
html.somnia-theme body.somnia-detailview-page #subpanel_list .list.view,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.list,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table {
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .list.view,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.list,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table {
  /* auto: a tabela preenche a largura e distribui o espaço pelas colunas */
  table-layout: auto !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
  background: #fff !important;
}

/*
 * Colunas equilibradas (não expandir Assunto pelo texto):
 * spacer/ícone/acções compactos; Assunto limitado (ellipsis); as restantes
 * colunas partilham o espaço livre em layout auto → sem vão à direita.
 * Estrutura: [spacer] [ícone] [Assunto] […cols…] [Editar]
 */
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table thead > tr.footable-header > th[width],
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody > tr > td[width] {
  width: auto !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table thead > tr.footable-header > th.somnia-subpanel-spacer,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody > tr > td.somnia-subpanel-spacer {
  width: 12px !important;
  min-width: 12px !important;
  max-width: 14px !important;
  padding-left: 8px !important;
  padding-right: 0 !important;
  overflow: hidden !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table thead > tr.footable-header > th.somnia-subpanel-icon,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody > tr > td.somnia-subpanel-icon {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 40px !important;
  white-space: nowrap !important;
  text-align: center !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
  overflow: hidden !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table thead > tr.footable-header > th.somnia-subpanel-name-th,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody > tr > td.somnia-subpanel-name-cell {
  /* limite superior (auto respeita como preferido) + ellipsis para não crescer */
  max-width: 280px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody > tr > td.somnia-subpanel-name-cell a {
  display: inline-block !important;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody > tr.oddListRowS1 > td:not(.somnia-subpanel-icon):not(.somnia-subpanel-spacer):not(.somnia-subpanel-actions-cell),
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody > tr.evenListRowS1 > td:not(.somnia-subpanel-icon):not(.somnia-subpanel-spacer):not(.somnia-subpanel-actions-cell),
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table thead > tr.footable-header > th:not(.somnia-subpanel-icon):not(.somnia-subpanel-spacer):not(.somnia-subpanel-actions-th) {
  white-space: nowrap !important;
  vertical-align: middle !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table thead > tr.footable-header > th.somnia-subpanel-actions-th,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody > tr > td.somnia-subpanel-actions-cell {
  width: 1% !important;
  white-space: nowrap !important;
  text-align: right !important;
  padding-left: 6px !important;
  padding-right: 12px !important;
  vertical-align: middle !important;
  overflow: visible !important;
}

/* —— Tipografia cabeçalhos: igual em todas as colunas (como ListView) —— */
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table thead > tr.footable-header > th,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.list.view thead > tr.footable-header > th {
  background: #e6edf4 !important;
  background-color: #e6edf4 !important;
  color: #64748b !important;
  font-family: var(--somnia-font) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 1.35 !important;
  border-bottom: 1px solid #d5dee8 !important;
  border-top: none !important;
  padding: 11px 12px !important;
  min-height: 42px !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table thead > tr.footable-header > th a,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table thead > tr.footable-header > th a.listViewThLinkS1,
html.somnia-theme body.somnia-detailview-page #subpanel_list a.listViewThLinkS1 {
  color: #64748b !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  line-height: inherit !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table thead > tr.footable-header > th a:hover,
html.somnia-theme body.somnia-detailview-page #subpanel_list a.listViewThLinkS1:hover {
  color: var(--somnia-brand) !important;
}

/* —— Células / cores Somnia —— */
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody > tr.oddListRowS1 > td,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody > tr.evenListRowS1 > td {
  padding: 9px 12px !important;
  border-bottom: 1px solid #e8ecf0 !important;
  color: #64748b !important;
  font-family: var(--somnia-font) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  vertical-align: middle !important;
  background: #fff !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody > tr.evenListRowS1 > td {
  background: #fafbfc !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody > tr:hover > td {
  background: #f1f5f9 !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody td a,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody td a.listViewTdLinkS1 {
  color: var(--somnia-brand) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody td a:hover,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody td a.listViewTdLinkS1:hover {
  color: var(--somnia-brand-hover) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tbody td.somnia-subpanel-name-cell a {
  font-weight: 650 !important;
  font-size: 13.5px !important;
}

/*
 * Barra criar + paginação (cobre tabelas normais e uniões/Histórico, com ou sem
 * a classe subpanel-table). O CSS core do tema (cache/themes/SuiteP/css/Noon/style.css)
 * tem ".pagination td{background-color:#c2c3c4}" — como dentro de <tr class="pagination">
 * existe uma tabela aninhada com mais <td> (botão + paginação), é preciso apanhar
 * TODOS os <td> descendentes (não só o filho directo) para não sobrar cinzento.
 */
html.somnia-theme body.somnia-detailview-page #subpanel_list tr.pagination,
html.somnia-theme body.somnia-detailview-page #subpanel_list tr.pagination-unique,
html.somnia-theme body.somnia-detailview-page #subpanel_list tr.pagination td,
html.somnia-theme body.somnia-detailview-page #subpanel_list tr.pagination-unique td,
html.somnia-theme body.somnia-detailview-page #subpanel_list .paginationTable td {
  background: #f1f5f9 !important;
  background-color: #f1f5f9 !important;
  border: none !important;
  padding: 4px 12px !important;
}

/* A tabela interior não pode repetir o padding: senão a faixa cinzenta duplica a altura. */
html.somnia-theme body.somnia-detailview-page #subpanel_list tr.pagination table td,
html.somnia-theme body.somnia-detailview-page #subpanel_list tr.pagination-unique table td,
html.somnia-theme body.somnia-detailview-page #subpanel_list .paginationTable td {
  padding: 0 6px !important;
  background: transparent !important;
  background-color: transparent !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list tr.pagination table,
html.somnia-theme body.somnia-detailview-page #subpanel_list tr.pagination-unique table,
html.somnia-theme body.somnia-detailview-page #subpanel_list .paginationTable {
  width: 100% !important;
  background: transparent !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list tr.pagination table > tbody > tr > td:first-child,
html.somnia-theme body.somnia-detailview-page #subpanel_list tr.pagination-unique table > tbody > tr > td:first-child,
html.somnia-theme body.somnia-detailview-page #subpanel_list .paginationTable > tbody > tr > td:first-child {
  text-align: left !important;
  vertical-align: middle !important;
}

/*
 * Botão "Criar <módulo>..." do subpainel.
 * IMPORTANTE: o jquery.sugarMenu.js (include/javascript/jquery/jquery.sugarMenu.js,
 * core SuiteCRM) esconde o <input type="submit"/button> original (display:none,
 * id passa a "..._old") e cria um <a> novo — esse <a> é o elemento REALMENTE
 * visível e clicável. É o <a> que tem de ser estilizado, não o input escondido.
 * O <a> pode ser filho directo do <form> (quando o botão original estava dentro
 * de um <form>) ou filho directo do próprio <li> (quando não estava).
 */
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button,
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.single {
  background: var(--somnia-brand) !important;
  border: 1px solid var(--somnia-brand) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  padding: 0 8px 0 10px !important;
  margin: 0 !important;
  gap: 4px !important;
  min-height: 26px !important;
  height: 26px !important;
  min-width: 0 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 5;
  transition: background 0.16s ease, border-color 0.16s ease;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu {
  overflow: visible !important;
  position: relative;
  z-index: 30;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu:has(ul.subnav.ddopen),
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button:hover,
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button:focus-within {
  z-index: 80;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .table-responsive,
html.somnia-theme body.somnia-detailview-page #subpanel_list tr.pagination td,
html.somnia-theme body.somnia-detailview-page #subpanel_list tr.pagination-unique td {
  overflow: visible !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu ul.subnav {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  display: none;
  z-index: 50 !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu ul.subnav.ddopen {
  display: block !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button:hover,
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.single:hover {
  background: var(--somnia-brand-hover) !important;
  border-color: var(--somnia-brand-hover) !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button > form,
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.single > form {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* O <a> real e visível criado pelo jquery.sugarMenu.js */
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button > a,
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.single > a,
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button > form > a,
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.single > form > a {
  display: inline-flex !important;
  align-items: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: #fff !important;
  font-family: var(--somnia-font) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  height: auto !important;
  line-height: 1 !important;
  padding: 0 !important;
  overflow: visible !important;
  margin: 0 !important;
  cursor: pointer !important;
  border-radius: 0 !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button > a:hover,
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.single > a:hover,
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button > form > a:hover,
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.single > form > a:hover {
  color: #fff !important;
  text-decoration: none !important;
}

/* O <input> original fica sempre escondido (o JS já faz display:none inline; isto é reforço) */
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button input.button,
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.single input.button {
  display: none !important;
}

/* Caret de dropdown, se existir (o dropdown em si já é estilizado em 11-menus-dropdowns.css) */
html.somnia-theme body.somnia-detailview-page #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button .suitepicon-action-caret {
  color: #fff !important;
  background: transparent !important;
  opacity: 0.9;
  margin: 0 !important;
  width: 12px !important;
  height: 12px !important;
  line-height: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  position: static !important;
  flex: 0 0 auto !important;
}

/* Botão Editar de linha */
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.subpanel.records,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.records {
  opacity: 1 !important;
  overflow: visible !important;
  position: relative;
  z-index: 1;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.records ul.subnav,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.subpanel.records ul.subnav {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  z-index: 50 !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.records ul.subnav.ddopen,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.subpanel.records ul.subnav.ddopen,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.records ul.subnav[style*="display: block"],
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.subpanel.records ul.subnav[style*="display: block"] {
  display: block !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table tr:has(ul.subnav.ddopen),
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td:has(ul.subnav.ddopen) {
  position: relative;
  z-index: 40;
  overflow: visible !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.subpanel.records > li.sugar_action_button,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.records > li.sugar_action_button {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  min-width: 0 !important;
  min-height: 26px !important;
  height: 26px !important;
  padding: 0 8px 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  line-height: 1 !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.subpanel.records > li.sugar_action_button > a,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.records > li.sugar_action_button > a {
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  height: auto !important;
  line-height: 1 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.records > li.sugar_action_button > span,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.subpanel > li.sugar_action_button > span,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.records > li > span.suitepicon-action-caret,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.subpanel > li > span.suitepicon-action-caret {
  margin: 0 !important;
  width: 12px !important;
  height: 12px !important;
  line-height: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  position: static !important;
  flex: 0 0 auto !important;
  color: #64748b !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.records > li.sugar_action_button > span.suitepicon-action-caret::before,
html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.subpanel > li.sugar_action_button > span.suitepicon-action-caret::before {
  width: 12px !important;
  height: 12px !important;
  vertical-align: middle !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.subpanel.records > li.sugar_action_button:hover {
  background: var(--somnia-brand-tint, rgba(20, 97, 97, 0.08)) !important;
  border-color: var(--somnia-brand) !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list table.subpanel-table td ul.clickMenu.subpanel.records > li.sugar_action_button:hover > a {
  color: var(--somnia-brand) !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .pageNumbers,
html.somnia-theme body.somnia-detailview-page #subpanel_list .paginationChangeButtons {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

html.somnia-theme body.somnia-detailview-page #subpanel_list .listViewEmpty,
html.somnia-theme body.somnia-detailview-page #subpanel_list .empty {
  color: var(--somnia-faint);
  font-size: 13px;
  padding: 18px 16px !important;
}

/* ========== Field grid (AJAX UI sem body class) — grelha por linha ========== */
html.somnia-theme .detail-view .somnia-detail-grid,
html.somnia-theme .detail-view .tab-pane-NOBOOTSTRAPTOGGLER.active.somnia-detail-grid,
html.somnia-theme .detail-view .tab-pane-NOBOOTSTRAPTOGGLER.in.somnia-detail-grid {
  display: block !important;
  width: 100% !important;
}

html.somnia-theme .detail-view .detail-view-row.row::before,
html.somnia-theme .detail-view .detail-view-row.row::after {
  content: none !important;
  display: none !important;
}

html.somnia-theme .detail-view .detail-view-row,
html.somnia-theme .detail-view .row.detail-view-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px 14px !important;
  width: 100% !important;
  margin: 0 0 12px !important;
}

html.somnia-theme .detail-view .detail-view-row > .col-sm-6,
html.somnia-theme .detail-view .detail-view-row-item {
  display: block !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
}

html.somnia-theme .detail-view .detail-view-row > .col-sm-6 .col-sm-4,
html.somnia-theme .detail-view .detail-view-row > .col-sm-6 .col-sm-8,
html.somnia-theme .detail-view .detail-view-row-item .label,
html.somnia-theme .detail-view .detail-view-row-item .detail-view-field,
html.somnia-theme .detail-view .detail-view-row-item .col-sm-4,
html.somnia-theme .detail-view .detail-view-row-item .col-sm-8 {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

html.somnia-theme .detail-view .detail-view-row .label {
  display: block !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  text-transform: none !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  color: var(--somnia-muted) !important;
  letter-spacing: 0.01em !important;
  white-space: normal !important;
}



/* ========== Field grid — por LINHA nativa (não flatten) ==========
 * Cada .detail-view-row é uma grelha 4-col; spans via data-somnia-span / heurísticas.
 */
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row.row::before,
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row.row::after,
html.somnia-theme body.somnia-detailview-page .detail-view .row.detail-view-row::before,
html.somnia-theme body.somnia-detailview-page .detail-view .row.detail-view-row::after {
  content: none !important;
  display: none !important;
}

/* Hosts: fluxo em coluna — NÃO grelha flat de todos os campos */
html.somnia-theme body.somnia-detailview-page .detail-view .panel-body > .tab-content,
html.somnia-theme body.somnia-detailview-page .detail-view .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER.active,
html.somnia-theme body.somnia-detailview-page .detail-view .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER.in,
html.somnia-theme body.somnia-detailview-page .detail-view .tab-pane-NOBOOTSTRAPTOGGLER.active,
html.somnia-theme body.somnia-detailview-page .detail-view .tab-pane-NOBOOTSTRAPTOGGLER.in,
html.somnia-theme body.somnia-detailview-page .detail-view .somnia-detail-grid {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

/*
 * Troca de abas (DetailView e EditView): o selectTab do SuiteP esconde as
 * panes com jQuery (style inline) mas nunca lhes retira .active/.in. Como o
 * tema força display:block nessas classes (e em .somnia-detail-grid), as abas
 * já visitadas continuavam visíveis e os campos acumulavam-se.
 * Esta regra tem de ganhar às de .active / .somnia-detail-grid.
 */
html.somnia-theme .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER[style*="display: none"],
html.somnia-theme .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER[style*="display:none"],
html.somnia-theme .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER:not(.active):not(.in),
html.somnia-theme body.somnia-detailview-page .detail-view .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER[style*="display: none"],
html.somnia-theme body.somnia-detailview-page .detail-view .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER[style*="display:none"],
html.somnia-theme body.somnia-detailview-page .detail-view .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER.active[style*="display: none"],
html.somnia-theme body.somnia-detailview-page .detail-view .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER.in[style*="display: none"],
html.somnia-theme body.somnia-detailview-page .detail-view .tab-pane-NOBOOTSTRAPTOGGLER.active[style*="display: none"],
html.somnia-theme body.somnia-detailview-page .detail-view .tab-pane-NOBOOTSTRAPTOGGLER.in[style*="display: none"],
html.somnia-theme body.somnia-detailview-page .detail-view .somnia-detail-grid[style*="display: none"],
html.somnia-theme body.somnia-detailview-page .detail-view .somnia-detail-grid[style*="display:none"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER.active[style*="display: none"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER.in[style*="display: none"] {
  display: none !important;
}

/* Painéis colapsáveis fora da aba ativa (.tab-panel-N alternados por jQuery) */
html.somnia-theme .panel-content > .panel[style*="display: none"],
html.somnia-theme .panel-content > .panel[style*="display:none"],
html.somnia-theme body.somnia-detailview-page .detail-view .panel-content > .panel[style*="display: none"],
html.somnia-theme body.somnia-detailview-page .detail-view .panel-content > .panel[style*="display:none"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-content > .panel[style*="display: none"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-content > .panel[style*="display:none"] {
  display: none !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row,
html.somnia-theme body.somnia-detailview-page .detail-view .row.detail-view-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px 20px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  min-width: 0 !important;
  float: none !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row.somnia-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row.somnia-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* Anular Dawn: .detail-view-row>.col-sm-6{display:inline-block;width:50%} */
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row > .col-sm-6,
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row > [class*="col-sm-"],
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row > [class*="col-xs-"],
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item,
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[class*="col-sm-"],
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[class*="col-xs-"] {
  display: block !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-column: span 1;
  box-sizing: border-box !important;
  vertical-align: top !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item.somnia-row-slot-empty {
  display: none !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-somnia-span="1"] {
  grid-column: span 1 !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-somnia-span="2"] {
  grid-column: span 2 !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-somnia-span="3"] {
  grid-column: span 3 !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item.col-sm-12:not([data-somnia-span]):not(:has(.somnia-sp)),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-somnia-span="4"] {
  grid-column: span 4 !important;
}

/*
 * Full-width só para descrição / rich text.
 * Email e moradas: o JS define data-somnia-span (full se sozinhos; metade em par).
 * Não forçar aqui — anulava pares Código/NIF e Facturação/Envio.
 * Excluídas células geridas pelo Layout Builder (.somnia-sp = span explícito).
 */
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-field="description"],
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-field="description"]:has(.somnia-sp),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-field="description"]:has(.somnia-sp[data-sp="1"]),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-field="description_html"],
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-field="description_html"]:has(.somnia-sp),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item:has(.detail-view-field[type="wysiwyg"]),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item:has(.detail-view-field[type="iframe"]),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item:has(.detail-view-field[field="description"]),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item:has(.detail-view-field[field="description_html"]) {
  grid-column: span 4 !important;
}

/* ========== Layout Builder — aplicação puro-CSS no primeiro paint ==========
 * A metadata gerada pelo builder injecta <i class="somnia-sp" data-sp data-cols>
 * em cada célula. Estas regras aplicam colunas e spans sem esperar pelo JS
 * (o somnia-detail-enhance.js confirma depois via data-somnia-span).
 */
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row:has(.somnia-sp[data-cols="2"]) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row:has(.somnia-sp[data-cols="3"]) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item:not([data-somnia-span]):has(.somnia-sp[data-sp="1"]) {
  grid-column: span 1 !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item:not([data-somnia-span]):has(.somnia-sp[data-sp="2"]) {
  grid-column: span 2 !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item:not([data-somnia-span]):has(.somnia-sp[data-sp="3"]) {
  grid-column: span 3 !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item:not([data-somnia-span]):has(.somnia-sp[data-sp="4"]) {
  grid-column: span 4 !important;
}

/* Stack label above value — anular Dawn inline-block 40%/50%.
   NÃO incluir .detail-view-field: o padding-left/right:0 colava o texto à borda da caixa. */
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item > .label,
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item > [class*="col-"]:not(.detail-view-field),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row > .col-sm-6 .col-sm-4:not(.detail-view-field),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row > .col-sm-6 .col-sm-8:not(.detail-view-field),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item .col-sm-2:not(.detail-view-field),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item .col-sm-4:not(.detail-view-field),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item .col-sm-8:not(.detail-view-field),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item .col-sm-10:not(.detail-view-field),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row .label {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  vertical-align: top !important;
  white-space: normal !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item > .detail-view-field,
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row .detail-view-field {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  vertical-align: top !important;
  white-space: normal !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item > .label,
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row .label {
  display: block !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: var(--somnia-ink-2, #334155) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.2 !important;
  border: none !important;
}

/* ========== Field values (caixa suave, como o padrão Somnia) ========== */
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item > .detail-view-field,
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item > [class*="col-"].detail-view-field,
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item > .col-sm-8.detail-view-field,
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row .col-sm-8.detail-view-field,
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row .detail-view-field,
html.somnia-theme body.somnia-detailview-page .detail-view-field,
html.somnia-theme body.somnia-detailview-page td.detail-view-field {
  display: block !important;
  width: 100% !important;
  min-height: 38px;
  margin: 0 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  color: var(--somnia-ink) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  background: #f3f5f8 !important;
  border: none !important;
  border-radius: var(--somnia-radius-md) !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  word-break: break-word;
  text-indent: 0 !important;
  transition: background 0.14s ease, box-shadow 0.14s ease;
}

/* Affordance de edição inline: a caixa acende ao passar o rato */
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit:hover,
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit:focus-within {
  background: var(--somnia-hover) !important;
  cursor: pointer;
}

/*
 * Lápis de edição rápida. O espaço à direita é reservado sempre — aparecer só
 * no hover faria o valor saltar. Alinhado ao topo para que num campo de várias
 * linhas fique à altura da primeira, e centrado nos campos de uma só linha.
 */
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit {
  position: relative;
  padding-right: 36px !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit > .inlineEditIcon {
  position: absolute;
  top: 8px;
  right: 8px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  float: none !important;
  width: 22px;
  height: 22px;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: var(--somnia-radius-sm);
  line-height: 1 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: auto;
  cursor: pointer;
  transition: opacity 0.12s ease, background 0.12s ease;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit:hover > .inlineEditIcon,
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit:focus-within > .inlineEditIcon {
  opacity: 1;
  visibility: visible;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit > .inlineEditIcon:hover {
  background: var(--somnia-brand-tint);
}

html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit > .inlineEditIcon .suitepicon,
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit > .inlineEditIcon img,
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit > .inlineEditIcon svg {
  display: block !important;
  width: 13px !important;
  height: 13px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  color: var(--somnia-brand) !important;
  fill: var(--somnia-brand) !important;
}

/* Em edição, o campo passa a formulário: a caixa não deve parecer clicável. */
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit:has(input, select, textarea) {
  background: var(--somnia-surface) !important;
  cursor: default;
  padding-right: 12px !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEditActive > .inlineEditIcon,
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit:has(form) > .inlineEditIcon {
  display: none !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit input[type="text"],
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit select,
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEdit textarea {
  width: 100%;
  max-width: 100%;
  padding: 6px 10px;
  background: var(--somnia-surface);
  border: 1px solid var(--somnia-brand);
  border-radius: var(--somnia-radius-md);
  box-shadow: 0 0 0 3px var(--somnia-brand-ring);
  color: var(--somnia-ink);
  font-family: var(--somnia-font);
  font-size: 13.5px;
}

/* Formulário inline: input + certo na mesma linha, dentro da caixa do campo. */
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEditActive,
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEditActive:has(form) {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 4px 8px !important;
  min-height: 38px;
  background: var(--somnia-surface) !important;
  cursor: default;
}
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEditActive:has(textarea) {
  align-items: flex-start;
}
html.somnia-theme body.somnia-detailview-page .detail-view-field form#EditView,
html.somnia-theme body.somnia-detailview-page .detail-view-field form[name="EditView"] {
  display: flex !important;
  flex: 1 1 auto;
  align-items: center;
  gap: 8px;
  width: auto !important;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
html.somnia-theme body.somnia-detailview-page .detail-view-field #inline_edit_field {
  flex: 1 1 auto;
  min-width: 0;
  display: block;
}
html.somnia-theme body.somnia-detailview-page .detail-view-field #inlineEditSaveButton {
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: var(--somnia-radius-sm);
  color: var(--somnia-success);
  text-decoration: none !important;
  cursor: pointer;
}

/* O visto nasce onde estava o lápis; ignorar o clique de abrir. */
html.somnia-theme .inlineEditActive.somnia-inline-edit-pending #inlineEditSaveButton {
  pointer-events: none !important;
}
html.somnia-theme body.somnia-detailview-page .detail-view-field #inlineEditSaveButton .suitepicon {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  font-size: 16px !important;
  color: var(--somnia-success) !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field .sugar_field,
html.somnia-theme body.somnia-detailview-page .detail-view-field .sugar_field * {
  font-size: inherit;
  line-height: inherit;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field a {
  color: var(--somnia-brand) !important;
  font-weight: 600 !important;
  text-decoration: none;
  border-radius: 4px;
  transition: color 0.14s ease, background 0.14s ease, box-shadow 0.14s ease;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field a:hover,
html.somnia-theme body.somnia-detailview-page .sugar_field a:hover,
html.somnia-theme body.somnia-detailview-page .panel-content table.list td a:hover,
html.somnia-theme body.somnia-detailview-page .list.view td a:hover {
  color: var(--somnia-brand-hover) !important;
  background: rgba(20, 97, 97, 0.08);
  box-shadow: 0 0 0 3px rgba(20, 97, 97, 0.05);
  text-decoration: underline !important;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(20, 97, 97, 0.35);
}

html.somnia-theme body.somnia-detailview-page .detail-view-field.is-empty,
html.somnia-theme body.somnia-detailview-page .detail-view-field.somnia-field-empty {
  color: transparent !important;
  font-weight: 450 !important;
  font-style: normal;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field.is-empty::before,
html.somnia-theme body.somnia-detailview-page .detail-view-field.somnia-field-empty::before {
  content: none !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field.is-empty .sugar_field,
html.somnia-theme body.somnia-detailview-page .detail-view-field.somnia-field-empty .sugar_field {
  display: none !important;
}

/* Em edição inline (ou com valor visível) o travessão e o cinzento não se aplicam. */
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEditActive,
html.somnia-theme body.somnia-detailview-page .detail-view-field.is-empty.inlineEditActive,
html.somnia-theme body.somnia-detailview-page .detail-view-field.is-empty:has(form, input, select, textarea) {
  color: var(--somnia-ink) !important;
  font-weight: 500 !important;
}
html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEditActive::before,
html.somnia-theme body.somnia-detailview-page .detail-view-field.is-empty.inlineEditActive::before,
html.somnia-theme body.somnia-detailview-page .detail-view-field.is-empty:has(form, input, select, textarea)::before,
html.somnia-theme body.somnia-detailview-page .detail-view-field.somnia-field-empty:has(form, input, select, textarea)::before {
  content: none !important;
}

/* Field types */
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="relate"] .sugar_field,
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="parent"] .sugar_field {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field[type="enum"] .sugar_field,
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="dynamicenum"] .sugar_field,
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="radioenum"] .sugar_field {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 3px 10px;
  border-radius: var(--somnia-radius-pill);
  background: var(--somnia-brand-tint);
  color: var(--somnia-brand);
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.3;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field[type="multienum"] .sugar_field {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  white-space: normal;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field[type="currency"],
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="decimal"],
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="int"],
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="float"] {
  font-variant-numeric: tabular-nums;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field[type="date"],
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="datetime"],
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="datetimecombo"] {
  color: var(--somnia-body) !important;
  font-variant-numeric: tabular-nums;
  font-weight: 550 !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field.phone,
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="phone"],
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item > .detail-view-field:has(.clickToCall),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row .detail-view-field:has(.clickToCall) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field:has(.clickToCall) .sugar_field {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field.inlineEditActive .clickToCall {
  display: none !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field[type="url"] .sugar_field,
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="link"] .sugar_field {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field[type="bool"] {
  display: flex !important;
  align-items: center;
  min-height: 38px;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field[type="image"],
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="file"],
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="Attachment"] {
  background: var(--somnia-surface, #fff) !important;
  box-shadow: inset 0 0 0 1px var(--somnia-border, #e8edf3) !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field[type="image"] img {
  max-width: 100%;
  height: auto;
  border-radius: var(--somnia-radius-sm);
}

html.somnia-theme body.somnia-detailview-page .detail-view-field[type="text"],
html.somnia-theme body.somnia-detailview-page .detail-view-field[type="wysiwyg"] {
  min-height: 64px;
  white-space: pre-wrap;
  line-height: 1.55 !important;
}

/* Botões utilitários dentro de campos (ex.: «Copiar…» das moradas) — ghost */
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item .button:not(.inlineEditSaveButton):not(.inlineEditCancelButton):not(.somnia-click-to-call),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item input.button {
  display: inline-flex !important;
  align-items: center !important;
  height: 26px !important;
  margin: 4px 0 0 !important;
  padding: 0 10px !important;
  background: #fff !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  box-shadow: none !important;
  color: var(--somnia-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  line-height: 1 !important;
  cursor: pointer;
  transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
}

html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item .button:not(.inlineEditSaveButton):not(.inlineEditCancelButton):not(.somnia-click-to-call):hover,
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item input.button:hover {
  border-color: var(--somnia-brand) !important;
  color: var(--somnia-brand) !important;
  background: var(--somnia-brand-soft, rgba(20, 97, 97, 0.06)) !important;
}

/* Ícone de editar fora da ficha (o lápis da ficha está no bloco Field values). */
html.somnia-theme .suitepicon-action-edit {
  color: var(--somnia-faint);
  transition: color var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme .suitepicon-action-edit:hover {
  color: var(--somnia-brand);
}

/* ========== Insights / charts cards ========== */
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-card {
  background: var(--somnia-surface);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-xl);
  box-shadow: var(--somnia-shadow-card);
  padding: 14px 14px 12px;
  min-width: 0;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-card.is-loading,
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-charts.is-loading .somnia-detail-chart-card {
  opacity: 1;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-title {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 700;
  color: var(--somnia-ink);
  letter-spacing: var(--somnia-ls-tight);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-body {
  min-height: 168px;
  position: relative;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-body canvas {
  width: 100% !important;
  max-height: 180px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0;
  min-height: 148px;
  padding: 20px 14px;
  text-align: center;
  color: var(--somnia-faint);
  font-size: 13px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-empty-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 4px;
  border-radius: 12px;
  background: var(--somnia-brand-tint, rgba(20, 97, 97, 0.1));
  color: var(--somnia-brand);
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-empty-title {
  margin: 0;
  font-size: 13.5px;
  font-weight: 650;
  color: var(--somnia-ink-2, #334155);
  line-height: 1.3;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-empty-sub {
  margin: 0;
  max-width: 220px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--somnia-muted);
  line-height: 1.4;
}

/* Skeleton lazy-load — espaço reservado logo no 1º paint */
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-skeleton {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
  min-height: 148px;
  padding: 8px 2px 4px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-skeleton__bar {
  display: block;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    #e8eef4 0%,
    #f1f5f9 45%,
    #e8eef4 100%
  );
  background-size: 200% 100%;
  animation: somniaDetailChartShimmer 1.1s ease-in-out infinite;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-skeleton__bar:nth-child(1) {
  width: 92%;
}
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-skeleton__bar:nth-child(2) {
  width: 78%;
}
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-skeleton__bar:nth-child(3) {
  width: 86%;
}
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-skeleton__bar:nth-child(4) {
  width: 64%;
}
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-skeleton__bar:nth-child(5) {
  width: 72%;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-skeleton.is-funnel .somnia-detail-chart-skeleton__bar:nth-child(1) {
  width: 100%;
}
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-skeleton.is-funnel .somnia-detail-chart-skeleton__bar:nth-child(2) {
  width: 82%;
  margin-left: 9%;
}
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-skeleton.is-funnel .somnia-detail-chart-skeleton__bar:nth-child(3) {
  width: 64%;
  margin-left: 18%;
}
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-skeleton.is-funnel .somnia-detail-chart-skeleton__bar:nth-child(4) {
  width: 46%;
  margin-left: 27%;
}
html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-skeleton.is-funnel .somnia-detail-chart-skeleton__bar:nth-child(5) {
  width: 30%;
  margin-left: 35%;
}

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

@media (prefers-reduced-motion: reduce) {
  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-chart-skeleton__bar {
    animation: none;
  }
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-funnel-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-funnel-stat {
  background: var(--somnia-canvas-2);
  border: 1px solid var(--somnia-border-2);
  border-radius: var(--somnia-radius-md);
  padding: 8px 10px;
  min-width: 0;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-funnel-stat-label {
  display: block;
  font-size: 10.5px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--somnia-muted);
  margin-bottom: 4px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-funnel-stat-value {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--somnia-ink);
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-funnel-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-funnel-visual {
  width: 100%;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-funnel-visual svg {
  width: 100%;
  height: auto;
  display: block;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-funnel-legend {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 180px;
  overflow: auto;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-funnel-legend-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--somnia-body);
  min-width: 0;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-funnel-swatch {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 3px;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-funnel-legend-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-funnel-legend-meta {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  color: var(--somnia-muted);
  font-weight: 600;
}

/* ========== EditView leftovers (shared) ========== */
html.somnia-theme .detail-view-row,
html.somnia-theme .edit-view-row {
  margin: 0 !important;
}

html.somnia-theme body:not(.somnia-detailview-page) .detail-view-row-item,
html.somnia-theme .edit-view-row-item {
  padding: 8px 6px !important;
}

html.somnia-theme body:not(.somnia-detailview-page) .detail-view-field,
html.somnia-theme body:not(.somnia-detailview-page) td.detail-view-field {
  color: var(--somnia-ink) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  background: var(--somnia-canvas-2) !important;
  border: 1px solid var(--somnia-border-2) !important;
  border-radius: var(--somnia-radius-md) !important;
  padding: 9px 12px !important;
  min-height: 38px;
}

html.somnia-theme body:not(.somnia-detailview-page) .detail-view .label,
html.somnia-theme td.label.col-sm-2,
html.somnia-theme .edit-view-field label,
html.somnia-theme body:not(.somnia-detailview-page) .detail-view-row-item .label {
  color: var(--somnia-muted) !important;
  font-size: 11.5px !important;
  font-weight: 650 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding-top: 10px !important;
}

html.somnia-theme .edit-view-field input[type="text"],
html.somnia-theme .edit-view-field input[type="password"],
html.somnia-theme .edit-view-field select,
html.somnia-theme .edit-view-field textarea,
html.somnia-theme #EditView input[type="text"],
html.somnia-theme #EditView select,
html.somnia-theme #EditView textarea {
  width: 100%;
  max-width: 100%;
}

html.somnia-theme #EditView .buttons,
html.somnia-theme .detail-view .buttons,
html.somnia-theme .actionsContainer {
  margin-bottom: 12px;
}

html.somnia-theme #EditView .buttons .button,
html.somnia-theme .detail-view .buttons .button {
  margin-right: 6px;
  min-height: 36px;
  padding: 8px 14px !important;
}

html.somnia-theme #EditView input[type="submit"]#SAVE_HEADER,
html.somnia-theme #EditView input[title*="Save"],
html.somnia-theme #EditView input[value="Save"],
html.somnia-theme #EditView input#SAVE,
html.somnia-theme input#SAVE_HEADER,
html.somnia-theme input#SAVE_FOOTER {
  background: var(--somnia-brand) !important;
  border-color: var(--somnia-brand) !important;
  color: #fff !important;
  box-shadow: var(--somnia-shadow-primary);
}

html.somnia-theme #EditView input[type="submit"]#SAVE_HEADER:hover,
html.somnia-theme input#SAVE_HEADER:hover,
html.somnia-theme input#SAVE_FOOTER:hover {
  background: var(--somnia-brand-hover) !important;
}

html.somnia-theme #activity_stream,
html.somnia-theme .activity-stream {
  background: var(--somnia-surface);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-xl);
  box-shadow: var(--somnia-shadow-card);
  padding: 12px;
}

html.somnia-theme .settingsbox,
html.somnia-theme .other.view,
html.somnia-theme table.edit.view {
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-xl) !important;
  box-shadow: var(--somnia-shadow-card);
  overflow: hidden;
}

html.somnia-theme table.edit.view td {
  padding: 10px 12px !important;
}

html.somnia-theme table.edit.view .td_alt,
html.somnia-theme table.edit.view th {
  background: var(--somnia-canvas-2) !important;
  color: var(--somnia-muted) !important;
}

/* Users / admin — keep native flow. Project uses the same record grid as the other modules. */
html.somnia-theme body.somnia-detailview-page[data-module="Users"] .detail-view .panel-body > .tab-content,
html.somnia-theme body.somnia-detailview-page[data-module="Employees"] .detail-view .panel-body > .tab-content {
  display: block !important;
}

html.somnia-theme body.somnia-detailview-page[data-module="Users"] .detail-view-row,
html.somnia-theme body.somnia-detailview-page[data-module="Employees"] .detail-view-row {
  display: flex !important;
  flex-wrap: wrap;
}

/* source: custom/themes/SuiteP/css/somnia/06-views-home.css */
/**
 * Somnia — Home / Dashlets premium (alinhado ao orcinus-copy)
 */

/* Canvas = o mesmo cinzento do #content (#f8fafc). Não forçar #f1f5f9
   nos wrappers dos dashlets — isso criava um “rectângulo” mais escuro. */
html.somnia-theme:has(.somnia-home-entry),
html.somnia-theme:has(.somnia-home-entry) #content,
html.somnia-theme:has(.somnia-home-entry) #content.content,
html.somnia-theme:has(.somnia-home-entry) #bootstrap-container,
html.somnia-theme:has(.somnia-home-entry) #bootstrap-container.main,
html.somnia-theme:has(.somnia-home-entry) #pageContainer,
html.somnia-theme:has(.somnia-home-entry) #pagecontent,
html.somnia-theme:has(.somnia-home-entry) .dashboard,
html.somnia-theme:has(.somnia-home-entry) .tab-content,
html.somnia-theme:has(.somnia-home-entry) .tab-pane,
html.somnia-theme:has(.somnia-home-entry) [id^="pageNum_"],
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletTable,
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletTable > tbody > tr > td,
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer,
html.somnia-theme:has(.somnia-home-entry) td.dashletcontainer,
html.somnia-theme:has(.somnia-home-entry) #pageContainer ul.noBullet,
html.somnia-theme:has(.somnia-home-entry) #pageContainer li[id^="dashlet_"],
html.somnia-theme:has(.somnia-home-entry) #pageContainer li.noBullet {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
}

/* SuiteP .tab-content tem padding:24px — era o inset vs os KPIs */
html.somnia-theme:has(.somnia-home-entry) .dashboard .tab-content,
html.somnia-theme:has(.somnia-home-entry) .dashboard .tab-pane,
html.somnia-theme:has(.somnia-home-entry) .dashboard #pageContainer {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

html.somnia-theme:has(.somnia-home-entry) .moduleTitle {
  border-bottom: none !important;
  padding: 4px 0 10px !important;
  margin-bottom: 4px !important;
}

html.somnia-theme:has(.somnia-home-entry) .moduleTitle h2 {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  letter-spacing: -0.02em !important;
}

/* Dashboard tabs (Painel CRM) */
html.somnia-theme .nav-dashboard,
html.somnia-theme ul.nav-dashboard {
  border: none !important;
  margin: 0 0 18px !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

html.somnia-theme .nav-dashboard > li > a,
html.somnia-theme ul.nav-dashboard > li > a {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  color: #334155 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 8px 16px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.3 !important;
}

html.somnia-theme .nav-dashboard > li > a:hover {
  border-color: #146161 !important;
  color: #146161 !important;
  background: #e6f2f2 !important;
}

html.somnia-theme .nav-dashboard > li.active > a,
html.somnia-theme ul.nav-dashboard > li.active > a,
html.somnia-theme .nav-dashboard > li.active > a:hover,
html.somnia-theme .nav-dashboard > li.active > a:focus {
  background: #146161 !important;
  background-image: none !important;
  border-color: #146161 !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(20, 97, 97, 0.28);
}

/* =========================================================
   Dashlet cards
   ========================================================= */
html.somnia-theme:has(.somnia-home-entry) #pageContainer [id^="dashlet_entire_"],
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"],
html.somnia-theme:has(.somnia-home-entry) div.dashletPanel[id^="dashlet_entire_"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 8px 24px rgba(15, 23, 42, 0.06) !important;
  overflow: hidden !important;
  margin: 0 0 20px !important;
  min-height: 0 !important;
  background: #ffffff !important;
  transition: box-shadow 0.2s ease;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:hover {
  box-shadow:
    0 2px 4px rgba(15, 23, 42, 0.05),
    0 12px 28px rgba(15, 23, 42, 0.08) !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .bd,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .bd > .bd-center {
  display: block !important;
  width: 100% !important;
  background: #fff !important;
  padding: 0 !important;
  border: none !important;
}

/* Header — branco + accent (mata barra cinzenta SuiteP) */
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd,
html.somnia-theme:has(.somnia-home-entry) .dashletPanel > .hd,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .hd.hd-wrap {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: none !important;
  border-bottom: 1px solid #e8edf3 !important;
  border-left: 3px solid #146161 !important;
  border-radius: 0 !important;
  min-height: 58px !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #0f172a !important;
  box-shadow: none !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd .hd-center {
  display: block !important;
  width: 100% !important;
  padding: 14px 16px 14px 14px !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-sizing: border-box !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd table.h3Row {
  width: 100% !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  border-collapse: collapse !important;
  table-layout: fixed !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd table.h3Row tr {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd table.h3Row td,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd table.h3Row th {
  display: block !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  vertical-align: middle !important;
  width: auto !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] td.dashlet-title {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

/* Célula das acções — nunca esmagar actualizar / remover */
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd table.h3Row td:last-child {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 108px !important;
  max-width: none !important;
  overflow: visible !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd h3,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd h3 a,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd h3 span:not(.suitepicon) {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  color: #0f172a !important;
  text-transform: none !important;
  letter-spacing: -0.015em !important;
  background: transparent !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd h3 {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Ícone do módulo no título (não os botões de acção) */
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd h3 > span.suitepicon[class*="suitepicon-module-"] {
  color: #146161 !important;
  font-size: 17px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}

/* Primeiro paint: ícone correcto sem esperar pelo JS (classe vazia = suitepicon-module-) */
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(#calendarContainer) > .hd h3 > span.suitepicon.suitepicon-module-::before,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(#calendarContainer) > .hd h3 > span.suitepicon.suitepicon-module-calendar::before {
  -webkit-mask-image: var(--somnia-ico-calendar) !important;
  mask-image: var(--somnia-ico-calendar) !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(canvas.resizableCanvas) > .hd h3 > span.suitepicon.suitepicon-module-::before,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(.aor_report_contents) > .hd h3 > span.suitepicon.suitepicon-module-::before,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(canvas.resizableCanvas) > .hd h3 > span.suitepicon.suitepicon-module-aor-reports::before,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(.aor_report_contents) > .hd h3 > span.suitepicon.suitepicon-module-aor-reports::before {
  -webkit-mask-image: var(--somnia-ico-bar-chart) !important;
  mask-image: var(--somnia-ico-bar-chart) !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  float: none !important;
  width: auto !important;
  min-width: 102px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  border-radius: 8px !important;
  color: #64748b !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  transition: color 0.15s ease, background 0.15s ease !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet a:hover {
  color: #146161 !important;
  background: #f0fdfa !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet a:last-child:hover {
  color: #dc2626 !important;
  background: #fef2f2 !important;
}

/* Editar / actualizar / remover — sempre visíveis no header branco */
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet .suitepicon,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet .suitepicon-action-edit,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet .suitepicon-action-reload,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet .suitepicon-action-clear {
  display: inline-block !important;
  color: inherit !important;
  font-size: 15px !important;
  line-height: 1 !important;
  width: 1em !important;
  height: 1em !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet .suitepicon::before,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet .suitepicon-action-edit::before,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet .suitepicon-action-reload::before,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet .suitepicon-action-clear::before {
  display: inline-block !important;
  content: "" !important;
  width: 1em !important;
  height: 1em !important;
  background-color: currentColor !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* =========================================================
   Tabelas internas (dashlets de lista)
   ========================================================= */
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel.list.view,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .bd table.dashletPanel {
  width: 100% !important;
  max-width: 100% !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  background: #fff !important;
  border-collapse: collapse !important;
  /* auto: as colunas partilham a largura; fixed + max-width na última coluna
     deixava o header “cortado” a meio com branco à direita */
  table-layout: auto !important;
}

/* Anular Noon `.dashletPanel thead { background:#929798 }` */
html.somnia-theme:has(.somnia-home-entry) .dashletPanel thead,
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel thead,
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel.list.view thead {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
}

/* Linha de headers: th + td.td_alt (o template mete <td> nas acções) */
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel.list.view thead tr:not(.pagination) > th,
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel thead tr:not(.pagination) > th,
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel.list.view thead tr:not(.pagination) > td,
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel thead tr:not(.pagination) > td {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  border: none !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 11px 14px !important;
  vertical-align: middle !important;
}

html.somnia-theme:has(.somnia-home-entry) table.dashletPanel.list.view thead th a,
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel.list.view thead th a.listViewThLinkS1 {
  color: #64748b !important;
  font-weight: 650 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
}

html.somnia-theme:has(.somnia-home-entry) table.dashletPanel.list.view thead th a:hover {
  color: #146161 !important;
}

/* Coluna de acções: estreita, sem max-width que impeça o resto de crescer */
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel.list.view thead tr:not(.pagination) > td.td_alt,
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel.list.view tbody td.td_alt,
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel.list.view tbody td:last-child:has(.list-view-data-icon) {
  width: 1% !important;
  white-space: nowrap !important;
  text-align: right !important;
  padding-left: 6px !important;
  padding-right: 12px !important;
}

html.somnia-theme:has(.somnia-home-entry) table.dashletPanel.list.view tbody td,
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel tbody td {
  padding: 12px 14px !important;
  border: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
  color: #334155 !important;
  font-size: 13.5px !important;
  background: #fff !important;
  vertical-align: middle !important;
}

html.somnia-theme:has(.somnia-home-entry) table.dashletPanel.list.view tr.evenListRowS1 td {
  background: #fafbfc !important;
}

html.somnia-theme:has(.somnia-home-entry) table.dashletPanel.list.view tbody tr:hover td,
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel tbody tr:hover td {
  background: #f0fdfa !important;
}

html.somnia-theme:has(.somnia-home-entry) table.dashletPanel td a {
  color: #146161 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

html.somnia-theme:has(.somnia-home-entry) table.dashletPanel td a:hover {
  color: #105454 !important;
}

/* Empty state */
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel .emptyResults,
html.somnia-theme:has(.somnia-home-entry) table.dashletPanel tbody td[colspan] {
  color: #94a3b8 !important;
  font-weight: 500 !important;
  text-align: center !important;
  padding: 28px 16px !important;
}

/* =========================================================
   Paginação dashlet — mínima; anula Noon #c2c3c4 / #f1f5f9
   ========================================================= */
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer table.dashletPanel thead tr.pagination,
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer table.dashletPanel tr.pagination,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] table.dashletPanel thead tr.pagination,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] table.dashletPanel tr.pagination {
  background: #fff !important;
  background-color: #fff !important;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer .pagination td,
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer table.dashletPanel thead tr.pagination > td,
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer table.dashletPanel tr.pagination > td,
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer table.dashletPanel tr.pagination td table,
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer table.dashletPanel tr.pagination td table td,
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer .list .pagination td table td,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] table.dashletPanel thead tr.pagination > td,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] table.dashletPanel tr.pagination > td,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] table.dashletPanel tr.pagination td table,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] table.dashletPanel tr.pagination td table td {
  background: #fff !important;
  background-color: #fff !important;
  border: none !important;
  padding: 0 8px !important;
  height: 24px !important;
  min-height: 0 !important;
  max-height: 28px !important;
  line-height: 1 !important;
  color: #94a3b8 !important;
  vertical-align: middle !important;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer table.dashletPanel tr.pagination:hover > td,
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer table.dashletPanel tr.pagination:hover td table td,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] table.dashletPanel tr.pagination:hover > td,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] table.dashletPanel tr.pagination:hover td table td {
  background: #fff !important;
  background-color: #fff !important;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer .pageNumbers,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .pageNumbers,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] tr.pagination span.pageNumbers,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] tr.pagination span {
  color: #94a3b8 !important;
  font-weight: 600 !important;
  font-size: 10px !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  margin: 0 1px !important;
  line-height: 1 !important;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer tr.pagination button.button,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] tr.pagination button.button {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  padding: 0 !important;
  border-radius: 5px !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  color: #64748b !important;
  box-shadow: none !important;
  margin: 0 !important;
  line-height: 1 !important;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer tr.pagination button.button .suitepicon,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] tr.pagination button.button .suitepicon {
  font-size: 9px !important;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer tr.pagination button.button:hover,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] tr.pagination button.button:hover {
  background: #f0fdfa !important;
  color: #146161 !important;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer tr.pagination button.button:disabled,
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer tr.pagination button.button[disabled],
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] tr.pagination button.button:disabled,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] tr.pagination button.button[disabled] {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  color: #cbd5e1 !important;
  opacity: 1 !important;
}

/* =========================================================
   Grelha de colunas — mesma largura útil que a linha de KPIs
   (KPI: padding 16px no .somnia-home-entry; dashlets viviam
   12px mais para dentro por célula + margens -15px do .row).
   ========================================================= */
html.somnia-theme:has(.somnia-home-entry) #pageContainer [id^="pageNum_"],
html.somnia-theme:has(.somnia-home-entry) #pageContainer [id^="pageNum_"].row,
html.somnia-theme:has(.somnia-home-entry) #pageContainer .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletTable {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  table-layout: fixed !important;
  margin: 0 !important;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer,
html.somnia-theme:has(.somnia-home-entry) td.dashletcontainer,
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletcontainer[class*="col-"],
html.somnia-theme:has(.somnia-home-entry) td.dashletcontainer[class*="col-"] {
  vertical-align: top !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background: transparent !important;
  background-color: transparent !important;
  float: none !important;
}

/* Gutter entre colunas = gap dos KPIs (16px), sem inset nas extremidades */
html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletTable > tbody > tr > td.dashletcontainer:first-child {
  padding-right: 8px !important;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer .dashletTable > tbody > tr > td.dashletcontainer + td.dashletcontainer {
  padding-left: 8px !important;
}

/* Margens do painel SuiteP — o gap tem de ser canvas, não branco */
html.somnia-theme:has(.somnia-home-entry) .dashletPanel,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"].dashletPanel {
  margin: 8px 0 !important;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer ul.noBullet {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer li[id^="dashlet_"] {
  margin-bottom: 4px !important;
  list-style: none !important;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer li[id*="_hidden"] {
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  font-size: 0 !important;
  list-style: none !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd.dashlet,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_header_"],
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd h3,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd h3 a,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd h3 span {
  cursor: grab !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd.dashlet,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_header_"] {
  position: relative;
  z-index: 3;
  user-select: none;
  -webkit-user-select: none;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd:active,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd.dashlet:active,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_header_"]:active,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd h3:active,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] > .hd h3 a:active {
  cursor: grabbing !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .dashletToolSet a {
  cursor: pointer !important;
  user-select: none;
}

#ygddfdiv.somnia-dashlet-drag-proxy,
.somnia-dashlet-drag-proxy {
  pointer-events: none !important;
  z-index: 10050 !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.16) !important;
  overflow: hidden !important;
}

.somnia-dashlet-drag-proxy__bar {
  display: flex;
  align-items: center;
  height: 52px;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 650;
  color: #0f172a;
  background: #ffffff;
  border-left: 3px solid #146161;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Calendário dentro do dashlet Home (detalhe em 15-calendar-dashlet.css) */
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .fc,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] #calendar,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] #calendarContainer {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  background: #fff !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .fc-event {
  border-radius: 6px !important;
  font-weight: 600 !important;
}

/* =========================================================
   Charts / JotPad / RSS / iFrame / News / Invaders
   ========================================================= */
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd canvas,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd svg,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd img.chart {
  max-width: 100% !important;
  height: auto !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd > .chartContainer,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd .sc-chart,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd [id^="chart_"] {
  padding: 12px 14px 16px !important;
  box-sizing: border-box !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] [id^="jotpad_"],
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] textarea[id^="jotpad_textarea_"] {
  width: calc(100% - 28px) !important;
  min-height: 160px !important;
  box-sizing: border-box !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  margin: 12px 14px 16px !important;
  font-family: var(--somnia-font, inherit) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #334155 !important;
  background: #f8fafc !important;
  box-shadow: none !important;
  resize: vertical;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] [id^="jotpad_"]:hover,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] textarea[id^="jotpad_textarea_"]:focus {
  outline: none !important;
  border-color: #99d5c9 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(20, 97, 97, 0.12) !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] iframe {
  width: 100% !important;
  border: none !important;
  border-radius: 0 !important;
  background: #fff !important;
  min-height: 280px;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd .rssItemList,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd ul.rss {
  list-style: none !important;
  margin: 0 !important;
  padding: 8px 0 !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd .rssItemList li,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd ul.rss li {
  padding: 10px 16px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  margin: 0 !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd .rssItemList a,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd ul.rss a {
  color: #146161 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd .sugarFeedDashlet,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd .sugarNewsDashlet,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd .byline {
  padding: 12px 16px !important;
  color: #475569 !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .bd .sugarFeedDashlet a {
  color: #146161 !important;
  font-weight: 600 !important;
}

/* Invaders / jogos embutidos */
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] canvas#invaders,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] #invaders {
  display: block !important;
  margin: 12px auto !important;
  max-width: 100% !important;
}

/* =========================================================
   Acções do dashboard (tabs + dropdown)
   ========================================================= */
html.somnia-theme:has(.somnia-home-entry) .nav-dashboard > li#tab-actions {
  margin-left: auto;
}

html.somnia-theme:has(.somnia-home-entry) .nav-dashboard > li#tab-actions > a {
  background: #146161 !important;
  color: #fff !important;
  border: 1px solid #146161 !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 14px rgba(20, 97, 97, 0.28) !important;
  min-width: 42px;
  justify-content: center;
}

html.somnia-theme:has(.somnia-home-entry) .nav-dashboard > li#tab-actions > a:hover {
  background: #105454 !important;
  border-color: #105454 !important;
  color: #fff !important;
}

html.somnia-theme:has(.somnia-home-entry) .nav-dashboard > li#tab-actions .dropdown-menu.tab-actions {
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14) !important;
  padding: 8px !important;
  min-width: 220px;
  margin-top: 8px !important;
}

html.somnia-theme:has(.somnia-home-entry) .nav-dashboard > li#tab-actions .dropdown-menu.tab-actions > li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.somnia-theme:has(.somnia-home-entry) .nav-dashboard > li#tab-actions .dropdown-menu.tab-actions .button,
html.somnia-theme:has(.somnia-home-entry) .nav-dashboard > li#tab-actions .dropdown-menu.tab-actions input.button {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  margin: 0 0 4px !important;
  padding: 10px 12px !important;
  border: none !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #334155 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

html.somnia-theme:has(.somnia-home-entry) .nav-dashboard > li#tab-actions .dropdown-menu.tab-actions .button:hover,
html.somnia-theme:has(.somnia-home-entry) .nav-dashboard > li#tab-actions .dropdown-menu.tab-actions input.button:hover {
  background: #f0fdfa !important;
  color: #146161 !important;
}

/* Modais Bootstrap Add/Edit dashlets */
html.somnia-theme:has(.somnia-home-entry) .modal-add-dashlet .modal-content,
html.somnia-theme:has(.somnia-home-entry) .modal-add-dashboard .modal-content,
html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .modal-content {
  border-radius: 16px !important;
  border: 1px solid #e2e8f0 !important;
  overflow: hidden;
}

html.somnia-theme:has(.somnia-home-entry) .modal-add-dashlet .modal-header,
html.somnia-theme:has(.somnia-home-entry) .modal-add-dashboard .modal-header,
html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .modal-header {
  background: #fff !important;
  border-bottom: 1px solid #eef2f6 !important;
  padding: 18px 22px !important;
}

html.somnia-theme:has(.somnia-home-entry) .modal-add-dashlet .modal-title,
html.somnia-theme:has(.somnia-home-entry) .modal-add-dashboard .modal-title,
html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .modal-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

html.somnia-theme:has(.somnia-home-entry) .modal-add-dashlet .modal-body,
html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .modal-body {
  padding: 16px 20px !important;
  overflow: auto;
}

html.somnia-theme:has(.somnia-home-entry) .modal-add-dashlet .modal-footer,
html.somnia-theme:has(.somnia-home-entry) .modal-add-dashboard .modal-footer,
html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .modal-footer {
  background: #fff !important;
  border-top: 1px solid #eef2f6 !important;
  padding: 14px 20px !important;
}

/* =========================================================
   Adicionar miniaplicações — conteúdo SuiteP legacy (tabelas
   e subpanelTablist) reconstruído como painel premium.
   ========================================================= */
html.somnia-theme .modal-add-dashlet .modal-dialog {
  max-width: min(920px, calc(100vw - 32px));
  margin: 24px auto !important;
}

/* Coluna flex: header/footer fixos, corpo com scroll e espaço real */
html.somnia-theme .modal-add-dashlet .modal-content,
html.somnia-theme:has(.somnia-home-entry) .modal-add-dashlet .modal-content {
  display: flex !important;
  flex-direction: column !important;
  max-height: calc(100vh - 48px) !important;
  border-radius: 18px !important;
  border: 1px solid var(--somnia-border) !important;
  box-shadow: var(--somnia-shadow-pop) !important;
  overflow: hidden !important;
}

html.somnia-theme .modal-add-dashlet .modal-header,
html.somnia-theme .modal-add-dashlet .modal-footer {
  flex: 0 0 auto !important;
}

html.somnia-theme .modal-add-dashlet .modal-body,
html.somnia-theme:has(.somnia-home-entry) .modal-add-dashlet .modal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: var(--somnia-surface) !important;
}

html.somnia-theme .modal-add-dashlet #dashletsList > div,
html.somnia-theme .modal-add-dashlet #dashletsList > ul {
  margin: 0 !important;
}

/* ---- Barra de pesquisa ---- */
html.somnia-theme .modal-add-dashlet #dashletSearch {
  text-align: left !important;
  padding: 16px 22px 12px !important;
  background: var(--somnia-canvas-2) !important;
  border-bottom: 1px solid var(--somnia-border-2) !important;
}

html.somnia-theme .modal-add-dashlet #dashletSearch table,
html.somnia-theme .modal-add-dashlet #dashletSearch tbody,
html.somnia-theme .modal-add-dashlet #dashletSearch tr {
  display: block !important;
  width: 100% !important;
  border: none !important;
  background: transparent !important;
}

html.somnia-theme .modal-add-dashlet #dashletSearch td {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center !important;
  gap: 8px;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--somnia-body) !important;
}

html.somnia-theme .modal-add-dashlet #dashletSearch br {
  display: none !important;
}

html.somnia-theme .modal-add-dashlet #dashletSearch #search_string {
  flex: 1 1 220px;
  min-width: 180px;
  height: 38px !important;
  padding: 0 12px 0 34px !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-lg) !important;
  background: var(--somnia-surface)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='5.5'/%3E%3Cpath d='M11 11l3.5 3.5'/%3E%3C/svg%3E")
    no-repeat 11px center / 15px !important;
  font-family: var(--somnia-font) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--somnia-ink) !important;
  box-shadow: none !important;
}

html.somnia-theme .modal-add-dashlet #dashletSearch #search_string:focus {
  border-color: var(--somnia-brand) !important;
  box-shadow: 0 0 0 3px var(--somnia-brand-ring) !important;
  outline: none !important;
}

html.somnia-theme .modal-add-dashlet #dashletSearch input.button,
html.somnia-theme .modal-add-dashlet #dashletSearch input[type="button"] {
  flex: 0 0 auto;
  height: 38px !important;
  padding: 0 16px !important;
  border-radius: var(--somnia-radius-lg) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  letter-spacing: 0.02em;
  text-transform: none !important;
  cursor: pointer;
}

/* Primeiro botão = Pesquisar (primário), segundo = Limpar (neutro) */
html.somnia-theme .modal-add-dashlet #dashletSearch input.button:first-of-type {
  background: var(--somnia-brand) !important;
  background-image: none !important;
  border: 1px solid var(--somnia-brand) !important;
  color: #fff !important;
}

html.somnia-theme .modal-add-dashlet #dashletSearch input.button:first-of-type:hover {
  background: var(--somnia-brand-hover) !important;
  border-color: var(--somnia-brand-hover) !important;
}

/* ---- Tabs de categoria (segmented control) ----
   SuiteP força #dashletCategories { height:28px; border-bottom-color }
   — isso desenha a linha cinzenta a meio das pills. */
html.somnia-theme .modal-add-dashlet #dashletCategories,
html.somnia-theme .modal-add-dashlet ul.subpanelTablist#dashletCategories {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 12px 22px !important;
  list-style: none !important;
  border: none !important;
  border-bottom: 1px solid var(--somnia-border-2) !important;
  border-bottom-color: var(--somnia-border-2) !important;
  background: var(--somnia-surface) !important;
  overflow: visible !important;
  line-height: normal !important;
}

html.somnia-theme .modal-add-dashlet #dashletCategories > li {
  display: inline-flex !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  list-style: none !important;
  height: auto !important;
  line-height: normal !important;
}

html.somnia-theme .modal-add-dashlet #dashletCategories > li > a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px;
  height: 34px !important;
  padding: 0 14px !important;
  border: 1px solid transparent !important;
  border-radius: var(--somnia-radius-pill) !important;
  background: var(--somnia-canvas) !important;
  color: var(--somnia-body) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: background var(--somnia-duration) ease, color 0.16s ease,
    border-color 0.16s ease;
}

html.somnia-theme .modal-add-dashlet #dashletCategories > li > a .suitepicon {
  font-size: 12px !important;
  line-height: 1 !important;
  color: inherit !important;
}

html.somnia-theme .modal-add-dashlet #dashletCategories > li > a:hover {
  background: var(--somnia-brand-tint) !important;
  color: var(--somnia-brand) !important;
}

html.somnia-theme .modal-add-dashlet #dashletCategories > li.active > a,
html.somnia-theme .modal-add-dashlet #dashletCategories > li > a.current {
  background: var(--somnia-brand) !important;
  border-color: var(--somnia-brand) !important;
  color: #fff !important;
  box-shadow: var(--somnia-shadow-primary);
}

/* ---- Painéis de conteúdo ----
   SuiteP: #moduleDashletsList { max-height:375px } + inline height:394px
   cortavam a lista a meio. Forçar altura livre; o scroll fica no .modal-body. */
html.somnia-theme .modal-add-dashlet #moduleDashlets,
html.somnia-theme .modal-add-dashlet #chartDashlets,
html.somnia-theme .modal-add-dashlet #toolsDashlets,
html.somnia-theme .modal-add-dashlet #webDashlets,
html.somnia-theme .modal-add-dashlet #searchResults {
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  padding: 6px 22px 24px !important;
  overflow: visible !important;
}

html.somnia-theme .modal-add-dashlet #moduleDashletsList,
html.somnia-theme .modal-add-dashlet #basicChartDashletsList,
html.somnia-theme .modal-add-dashlet #toolsDashletsList,
html.somnia-theme .modal-add-dashlet #webDashletsList,
html.somnia-theme .modal-add-dashlet #searchResults {
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding-bottom: 8px !important;
}

html.somnia-theme .modal-add-dashlet #dashletsList h3 {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  margin: 14px 0 10px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--somnia-faint) !important;
}

html.somnia-theme .modal-add-dashlet #dashletsList h3 .suitepicon {
  font-size: 12px !important;
  color: var(--somnia-brand) !important;
}

/* Grelha: tabelas legacy passam a grid de cartões */
html.somnia-theme .modal-add-dashlet #moduleDashletsList table,
html.somnia-theme .modal-add-dashlet #basicChartDashletsList table,
html.somnia-theme .modal-add-dashlet #toolsDashletsList table,
html.somnia-theme .modal-add-dashlet #searchResults table {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 6px;
  border: none !important;
  background: transparent !important;
}

html.somnia-theme .modal-add-dashlet #moduleDashletsList tbody,
html.somnia-theme .modal-add-dashlet #moduleDashletsList tr,
html.somnia-theme .modal-add-dashlet #basicChartDashletsList tbody,
html.somnia-theme .modal-add-dashlet #basicChartDashletsList tr,
html.somnia-theme .modal-add-dashlet #toolsDashletsList tbody,
html.somnia-theme .modal-add-dashlet #toolsDashletsList tr,
html.somnia-theme .modal-add-dashlet #searchResults tbody,
html.somnia-theme .modal-add-dashlet #searchResults tr {
  display: contents !important;
}

html.somnia-theme .modal-add-dashlet #moduleDashletsList td,
html.somnia-theme .modal-add-dashlet #basicChartDashletsList td,
html.somnia-theme .modal-add-dashlet #toolsDashletsList td,
html.somnia-theme .modal-add-dashlet #searchResults td {
  display: block !important;
  width: auto !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  text-align: left !important;
}

html.somnia-theme .modal-add-dashlet #dashletsList table br {
  display: none !important;
}

/* Cartão de item (módulo / gráfico / ferramenta) */
html.somnia-theme .modal-add-dashlet #dashletsList table td > a {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  min-height: 40px;
  padding: 8px 12px !important;
  border: 1px solid transparent !important;
  border-radius: var(--somnia-radius-lg) !important;
  background: transparent !important;
  color: var(--somnia-ink-2) !important;
  font-size: 13px !important;
  font-weight: 550 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

html.somnia-theme .modal-add-dashlet #dashletsList table td > a:hover,
html.somnia-theme .modal-add-dashlet #dashletsList table td > a:focus {
  background: var(--somnia-brand-tint) !important;
  border-color: var(--somnia-brand-ring) !important;
  color: var(--somnia-brand) !important;
  text-decoration: none !important;
}

html.somnia-theme .modal-add-dashlet #dashletsList table td > a .suitepicon {
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: var(--somnia-canvas) !important;
  color: var(--somnia-brand) !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

html.somnia-theme .modal-add-dashlet #dashletsList table td > a:hover .suitepicon {
  background: rgba(255, 255, 255, 0.75) !important;
}

html.somnia-theme .modal-add-dashlet #dashletsList table td .mbLBLL,
html.somnia-theme .modal-add-dashlet #dashletsList table td a.mbLBLL {
  color: inherit !important;
  font-size: 13px !important;
  font-weight: 550 !important;
  text-decoration: none !important;
}

/* Gráficos/ferramentas: ícone e etiqueta vêm em <a> irmãos */
html.somnia-theme .modal-add-dashlet #dashletsList table td:has(> a + a) {
  display: flex !important;
  align-items: center !important;
  gap: 4px;
  border-radius: var(--somnia-radius-lg) !important;
  transition: background 0.16s ease;
}

html.somnia-theme .modal-add-dashlet #dashletsList table td:has(> a + a):hover {
  background: var(--somnia-brand-tint) !important;
}

html.somnia-theme .modal-add-dashlet #dashletsList table td:has(> a + a) > a {
  background: transparent !important;
  border-color: transparent !important;
}

html.somnia-theme .modal-add-dashlet #dashletsList table td:has(> a + a) > a + a {
  flex: 1 1 auto;
  padding-left: 0 !important;
}

/* ---- Separador Internet (URL / RSS) ---- */
html.somnia-theme .modal-add-dashlet #webDashletsList table {
  display: block !important;
}

html.somnia-theme .modal-add-dashlet #webDashletsList tbody {
  display: block !important;
}

html.somnia-theme .modal-add-dashlet #webDashletsList tr {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center !important;
  gap: 10px;
  margin-bottom: 10px;
}

html.somnia-theme .modal-add-dashlet #webDashletsList td {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--somnia-body) !important;
}

html.somnia-theme .modal-add-dashlet #webDashletsList input[type="text"] {
  width: min(420px, 60vw) !important;
  height: 38px !important;
  padding: 0 12px !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-lg) !important;
  font-family: var(--somnia-font) !important;
  font-size: 13px !important;
  color: var(--somnia-ink) !important;
}

html.somnia-theme .modal-add-dashlet #webDashletsList input[type="text"]:focus {
  border-color: var(--somnia-brand) !important;
  box-shadow: 0 0 0 3px var(--somnia-brand-ring) !important;
  outline: none !important;
}

html.somnia-theme .modal-add-dashlet #webDashletsList input[type="button"] {
  height: 38px !important;
  padding: 0 16px !important;
  border: 1px solid var(--somnia-brand) !important;
  border-radius: var(--somnia-radius-lg) !important;
  background: var(--somnia-brand) !important;
  background-image: none !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  cursor: pointer;
}

html.somnia-theme .modal-add-dashlet #webDashletsList input[type="button"]:hover {
  background: var(--somnia-brand-hover) !important;
  border-color: var(--somnia-brand-hover) !important;
}

/* ---- Scrollbar do corpo ---- */
html.somnia-theme .modal-add-dashlet .modal-body {
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}

html.somnia-theme .modal-add-dashlet .modal-body::-webkit-scrollbar {
  width: 10px;
}

html.somnia-theme .modal-add-dashlet .modal-body::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border: 3px solid var(--somnia-surface);
  border-radius: var(--somnia-radius-pill);
}

/* ---- Botão Concluir ---- */
html.somnia-theme .modal-add-dashlet .modal-footer .btn-default,
html.somnia-theme:has(.somnia-home-entry) .modal-add-dashlet .modal-footer .btn-default {
  background: var(--somnia-brand) !important;
  background-image: none !important;
  border: 1px solid var(--somnia-brand) !important;
  border-radius: var(--somnia-radius-lg) !important;
  color: #fff !important;
  font-weight: 650 !important;
  padding: 8px 20px !important;
}

html.somnia-theme .modal-add-dashlet .modal-footer .btn-default:hover,
html.somnia-theme .modal-add-dashlet .modal-footer .btn-default:focus {
  background: var(--somnia-brand-hover) !important;
  border-color: var(--somnia-brand-hover) !important;
  color: #fff !important;
}

/* Adicionar separador: primário de marca (nunca vermelho Bootstrap danger) */
html.somnia-theme .modal-add-dashboard .btn-add-dashboard,
html.somnia-theme .modal-add-dashboard .btn-add-dashboard.btn-danger,
html.somnia-theme .modal-add-dashboard .btn-add-dashboard.btn-primary,
html.somnia-theme:has(.somnia-home-entry) .modal-add-dashboard .btn-add-dashboard {
  background: var(--somnia-brand, #146161) !important;
  background-image: none !important;
  border-color: var(--somnia-brand, #146161) !important;
  color: #fff !important;
  box-shadow: none !important;
}

html.somnia-theme .modal-add-dashboard .btn-add-dashboard:hover,
html.somnia-theme .modal-add-dashboard .btn-add-dashboard:focus,
html.somnia-theme .modal-add-dashboard .btn-add-dashboard.btn-danger:hover,
html.somnia-theme:has(.somnia-home-entry) .modal-add-dashboard .btn-add-dashboard:hover {
  background: var(--somnia-brand-hover, #0f4f4f) !important;
  border-color: var(--somnia-brand-hover, #0f4f4f) !important;
  color: #fff !important;
}

html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .panel-template,
html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .panel.panel-default {
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  margin-bottom: 10px !important;
  overflow: hidden;
}

html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .panel-heading {
  background: #f8fafc !important;
  border: none !important;
  padding: 12px 14px !important;
  display: flex !important;
  align-items: center !important;
  min-height: 52px;
  box-sizing: border-box;
}

/* Neutralizar floats Bootstrap (col-*) que desalinhavam o conteúdo no card */
html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .panel-heading > div,
html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .panel-heading [class*="col-"] {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .edit-dashboard-tabs {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  width: 100%;
  min-height: 28px;
}

html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .edit-dashboard-tabs > .suitepicon {
  flex: 0 0 auto;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .edit-dashboard-tabs .panel-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  color: #0f172a !important;
  flex: 1 1 auto;
  min-width: 0;
}

/* Botão remover separador: neutro (não vermelho Bootstrap danger) */
html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .somnia-tab-remove,
html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .panel-title .btn.somnia-tab-remove {
  flex: 0 0 auto;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  background: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  color: #475569 !important;
  box-shadow: none !important;
  vertical-align: middle;
}

html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .somnia-tab-remove:hover,
html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .panel-title .btn.somnia-tab-remove:hover {
  background: #e2e8f0 !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}

html.somnia-theme:has(.somnia-home-entry) .modal-edit-dashboard .somnia-tab-remove .suitepicon {
  color: inherit !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

/* =========================================================
   Isolar dashlets da ListView (mesmo se o body classificar mal)
   ========================================================= */
html.somnia-theme #pageContainer table.list.view,
html.somnia-theme .dashletcontainer table.list.view,
html.somnia-theme [id^="dashlet_entire_"] table.list.view,
html.somnia-theme table.dashletPanel.list.view {
  display: table !important;
  width: 100% !important;
  table-layout: auto !important;
}

html.somnia-theme #pageContainer table.list.view thead,
html.somnia-theme .dashletcontainer table.list.view thead,
html.somnia-theme [id^="dashlet_entire_"] table.list.view thead,
html.somnia-theme table.dashletPanel.list.view thead {
  display: table-header-group !important;
}

html.somnia-theme #pageContainer table.list.view tbody,
html.somnia-theme .dashletcontainer table.list.view tbody,
html.somnia-theme [id^="dashlet_entire_"] table.list.view tbody,
html.somnia-theme table.dashletPanel.list.view tbody {
  display: table-row-group !important;
}

html.somnia-theme #pageContainer table.list.view tr,
html.somnia-theme .dashletcontainer table.list.view tr,
html.somnia-theme [id^="dashlet_entire_"] table.list.view tr,
html.somnia-theme table.dashletPanel.list.view tr {
  display: table-row !important;
  visibility: visible !important;
  height: auto !important;
  max-height: none !important;
}

html.somnia-theme #pageContainer table.list.view th,
html.somnia-theme #pageContainer table.list.view td,
html.somnia-theme .dashletcontainer table.list.view th,
html.somnia-theme .dashletcontainer table.list.view td,
html.somnia-theme [id^="dashlet_entire_"] table.list.view th,
html.somnia-theme [id^="dashlet_entire_"] table.list.view td,
html.somnia-theme table.dashletPanel.list.view th,
html.somnia-theme table.dashletPanel.list.view td {
  display: table-cell !important;
}

html.somnia-theme #pageContainer table.list.view > thead > tr.pagination,
html.somnia-theme .dashletcontainer table.list.view > thead > tr.pagination,
html.somnia-theme [id^="dashlet_entire_"] table.list.view > thead > tr.pagination,
html.somnia-theme table.dashletPanel > thead > tr.pagination {
  display: table-row !important;
  visibility: visible !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

html.somnia-theme #pageContainer table.list.view thead th a::after,
html.somnia-theme #pageContainer a.listViewThLinkS1::after,
html.somnia-theme .dashletcontainer table.list.view thead th a::after,
html.somnia-theme [id^="dashlet_entire_"] table.list.view thead th a::after,
html.somnia-theme table.dashletPanel.list.view thead th a::after {
  content: none !important;
}

/* Pesquisa global (Home&action=Search) — canvas, barra e tabelas no idioma da ListView */
html.somnia-theme body.somnia-search-page,
html.somnia-theme body:has(#search-wrapper-form) {
  background: var(--somnia-canvas, #f1f5f9) !important;
}

html.somnia-theme body.somnia-search-page #content,
html.somnia-theme body.somnia-search-page #bootstrap-container,
html.somnia-theme body.somnia-search-page #pagecontent,
html.somnia-theme body.somnia-search-page #content.content,
html.somnia-theme body:has(#search-wrapper-form) #content,
html.somnia-theme body:has(#search-wrapper-form) #bootstrap-container,
html.somnia-theme body:has(#search-wrapper-form) #pagecontent {
  background: var(--somnia-canvas, #f1f5f9) !important;
  background-color: var(--somnia-canvas, #f1f5f9) !important;
}

html.somnia-theme body.somnia-search-page .moduleTitle,
html.somnia-theme body:has(#search-wrapper-form) .moduleTitle {
  display: flex !important;
  align-items: center !important;
  margin: 4px 0 18px !important;
  padding: 4px 0 0 !important;
  border-bottom: none !important;
  background: transparent !important;
}

html.somnia-theme body.somnia-search-page .moduleTitle h2,
html.somnia-theme body.somnia-search-page h2.moduleTitle,
html.somnia-theme body.somnia-search-page h2.module-title-text,
html.somnia-theme body:has(#search-wrapper-form) .moduleTitle h2,
html.somnia-theme body:has(#search-wrapper-form) h2.moduleTitle,
html.somnia-theme body:has(#search-wrapper-form) h2.module-title-text {
  margin: 0 0 16px !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  color: var(--somnia-ink, #0f172a) !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  background: transparent !important;
  border: 0 !important;
}

html.somnia-theme body.somnia-search-page #search-wrapper-form,
html.somnia-theme body.somnia-search-page form#search-wrapper-form,
html.somnia-theme body:has(#search-wrapper-form) #search-wrapper-form {
  background: #fff !important;
  border: 1px solid #e8eef4 !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 6px 20px rgba(15, 23, 42, 0.04) !important;
  padding: 16px 18px 14px !important;
  margin: 0 0 22px !important;
}

html.somnia-theme body.somnia-search-page #search-wrapper-form table,
html.somnia-theme body.somnia-search-page #search-wrapper-form table.list,
html.somnia-theme body.somnia-search-page #inlineGlobalSearch table,
html.somnia-theme body:has(#search-wrapper-form) #search-wrapper-form table,
html.somnia-theme body:has(#search-wrapper-form) #inlineGlobalSearch table {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  border-collapse: collapse !important;
}

html.somnia-theme body.somnia-search-page #search-wrapper-form td,
html.somnia-theme body.somnia-search-page #search-wrapper-form th,
html.somnia-theme body.somnia-search-page #inlineGlobalSearch td,
html.somnia-theme body:has(#search-wrapper-form) #search-wrapper-form td,
html.somnia-theme body:has(#search-wrapper-form) #search-wrapper-form th,
html.somnia-theme body:has(#search-wrapper-form) #inlineGlobalSearch td {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  vertical-align: middle !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #64748b !important;
}

html.somnia-theme body.somnia-search-page #search-wrapper-form td.submitButtons,
html.somnia-theme body:has(#search-wrapper-form) #search-wrapper-form td.submitButtons {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

html.somnia-theme body.somnia-search-page input.searchField,
html.somnia-theme body.somnia-search-page #searchFieldMain,
html.somnia-theme body:has(#search-wrapper-form) input.searchField,
html.somnia-theme body:has(#search-wrapper-form) #searchFieldMain {
  flex: 1 1 240px !important;
  width: auto !important;
  max-width: none !important;
  min-height: 42px !important;
  height: 42px !important;
  padding: 10px 14px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
  font-family: var(--somnia-font, Inter, sans-serif) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #0f172a !important;
}

html.somnia-theme body.somnia-search-page input.searchField:focus,
html.somnia-theme body.somnia-search-page #searchFieldMain:focus,
html.somnia-theme body:has(#search-wrapper-form) #searchFieldMain:focus {
  outline: none !important;
  border-color: var(--somnia-brand, #146161) !important;
  box-shadow: 0 0 0 3px rgba(20, 97, 97, 0.12) !important;
}

html.somnia-theme body.somnia-search-page #search-wrapper-form input.button.primary,
html.somnia-theme body:has(#search-wrapper-form) #search-wrapper-form input.button.primary {
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 18px !important;
  margin: 0 !important;
  border-radius: 10px !important;
  flex: 0 0 auto !important;
}

html.somnia-theme body.somnia-search-page #inlineGlobalSearch,
html.somnia-theme body:has(#search-wrapper-form) #inlineGlobalSearch {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
  margin-top: 12px !important;
}

html.somnia-theme body.somnia-search-page #inlineGlobalSearch .text-muted,
html.somnia-theme body.somnia-search-page #inlineGlobalSearch label,
html.somnia-theme body:has(#search-wrapper-form) #inlineGlobalSearch label,
html.somnia-theme body:has(#search-wrapper-form) #inlineGlobalSearch .text-muted {
  display: inline-block !important;
  margin: 0 4px 0 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  text-transform: none !important;
}

html.somnia-theme body.somnia-search-page #inlineGlobalSearch select,
html.somnia-theme body.somnia-search-page #search-query-size,
html.somnia-theme body:has(#search-wrapper-form) #inlineGlobalSearch select,
html.somnia-theme body:has(#search-wrapper-form) #search-query-size {
  min-height: 34px !important;
  height: 34px !important;
  padding: 4px 28px 4px 10px !important;
  border-radius: 8px !important;
  margin: 0 !important;
}

html.somnia-theme body.somnia-search-page h2.moduleTitle + *,
html.somnia-theme body:has(#search-wrapper-form) h2.moduleTitle + * {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  margin: 0 0 14px !important;
}

html.somnia-theme body.somnia-search-page h3,
html.somnia-theme body:has(#search-wrapper-form) #content > h3,
html.somnia-theme body:has(#search-wrapper-form) #pagecontent > h3 {
  display: inline-flex !important;
  align-items: center !important;
  margin: 8px 0 10px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: #e6f2f2 !important;
  color: var(--somnia-brand, #146161) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.3 !important;
}

html.somnia-theme body.somnia-search-page table.list.view,
html.somnia-theme body:has(#search-wrapper-form) table.list.view {
  width: 100% !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 6px 20px rgba(15, 23, 42, 0.04) !important;
  overflow: hidden !important;
  margin: 0 0 22px !important;
}

html.somnia-theme body.somnia-search-page table.list.view th,
html.somnia-theme body:has(#search-wrapper-form) table.list.view th {
  background: #f8fafc !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid #eef2f6 !important;
  padding: 11px 14px !important;
  white-space: nowrap;
  vertical-align: middle !important;
}

html.somnia-theme body.somnia-search-page table.list.view td,
html.somnia-theme body:has(#search-wrapper-form) table.list.view td {
  padding: 12px 14px !important;
  border-bottom: 1px solid #e8ecf0 !important;
  border-top: none !important;
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  vertical-align: middle !important;
  line-height: 1.35 !important;
  background: #fff !important;
}

html.somnia-theme body.somnia-search-page table.list.view tbody tr.oddListRowS1 > td,
html.somnia-theme body:has(#search-wrapper-form) table.list.view tbody tr.oddListRowS1 > td {
  background: #ffffff !important;
}

html.somnia-theme body.somnia-search-page table.list.view tbody tr.evenListRowS1 > td,
html.somnia-theme body:has(#search-wrapper-form) table.list.view tbody tr.evenListRowS1 > td {
  background: #f5f7f9 !important;
}

html.somnia-theme body.somnia-search-page table.list.view tbody tr:hover > td,
html.somnia-theme body.somnia-search-page table.list.view tbody tr.oddListRowS1:hover > td,
html.somnia-theme body.somnia-search-page table.list.view tbody tr.evenListRowS1:hover > td,
html.somnia-theme body:has(#search-wrapper-form) table.list.view tbody tr:hover > td,
html.somnia-theme body:has(#search-wrapper-form) table.list.view tbody tr.oddListRowS1:hover > td,
html.somnia-theme body:has(#search-wrapper-form) table.list.view tbody tr.evenListRowS1:hover > td {
  background: #dceeea !important;
}

html.somnia-theme body.somnia-search-page table.list.view tbody tr:last-child td,
html.somnia-theme body:has(#search-wrapper-form) table.list.view tbody tr:last-child td {
  border-bottom: none !important;
}

html.somnia-theme body.somnia-search-page table.list.view td a,
html.somnia-theme body:has(#search-wrapper-form) table.list.view td a {
  color: var(--somnia-brand, #146161) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

html.somnia-theme body.somnia-search-page table.list.view td a:hover,
html.somnia-theme body:has(#search-wrapper-form) table.list.view td a:hover {
  text-decoration: underline !important;
}

html.somnia-theme body.somnia-search-page table.list.view td .suitepicon,
html.somnia-theme body:has(#search-wrapper-form) table.list.view td .suitepicon {
  color: #64748b !important;
  font-size: 16px !important;
}

html.somnia-theme body.somnia-search-page table.list.view td a:hover .suitepicon,
html.somnia-theme body:has(#search-wrapper-form) table.list.view td a:hover .suitepicon {
  color: var(--somnia-brand, #146161) !important;
}

html.somnia-theme body.somnia-search-page ul.nav.nav-tabs,
html.somnia-theme body:has(#search-wrapper-form) ul.nav.nav-tabs {
  display: flex !important;
  justify-content: flex-end !important;
  border: 0 !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  background: transparent !important;
}

html.somnia-theme body.somnia-search-page ul.nav.nav-tabs > li.tab-inline-pagination,
html.somnia-theme body:has(#search-wrapper-form) ul.nav.nav-tabs > li.tab-inline-pagination {
  float: none !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
}

html.somnia-theme body.somnia-search-page ul.nav.nav-tabs table,
html.somnia-theme body.somnia-search-page .paginationWrapper,
html.somnia-theme body:has(#search-wrapper-form) ul.nav.nav-tabs table,
html.somnia-theme body:has(#search-wrapper-form) .paginationWrapper {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.somnia-theme body.somnia-search-page .pagination,
html.somnia-theme body:has(#search-wrapper-form) .pagination {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  float: none !important;
}

html.somnia-theme body.somnia-search-page button.btn-pagination,
html.somnia-theme body:has(#search-wrapper-form) button.btn-pagination {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  color: #334155 !important;
  box-shadow: none !important;
  text-transform: none !important;
}

html.somnia-theme body.somnia-search-page button.btn-pagination:hover:not(:disabled),
html.somnia-theme body:has(#search-wrapper-form) button.btn-pagination:hover:not(:disabled) {
  background: var(--somnia-brand-tint, #f0f9f9) !important;
  color: var(--somnia-brand, #146161) !important;
  border-color: #c5e0dc !important;
}

html.somnia-theme body.somnia-search-page button.btn-pagination:disabled,
html.somnia-theme body:has(#search-wrapper-form) button.btn-pagination:disabled {
  opacity: 0.4 !important;
  cursor: default !important;
}

html.somnia-theme body.somnia-search-page .pagination-range-label,
html.somnia-theme body:has(#search-wrapper-form) .pagination-range-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #64748b !important;
}

html.somnia-theme body.somnia-search-page #search-time,
html.somnia-theme body:has(#search-wrapper-form) #search-time {
  margin: 4px 0 8px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #94a3b8 !important;
}

html.somnia-theme body.somnia-search-page p.error,
html.somnia-theme body:has(#search-wrapper-form) p.error {
  background: #fff !important;
  border: 1px solid #e8eef4 !important;
  border-radius: 12px !important;
  padding: 16px 18px !important;
  color: #64748b !important;
  font-weight: 500 !important;
}

/* source: custom/themes/SuiteP/css/somnia/20-home-analytics.css */
/* Somnia Home analytics */
/**
 * Somnia CRM — Home / Dashboard (mockup Projects layout)
 */

body.somnia-home-dashboard-page,
body[data-module="Home"].somnia-home-dashboard-page {
  background: #f8fafc !important;
}

/*
 * Geometria estrutural independente das classes de body.
 * Na navegação ajaxUI, somnia-home-dashboard-page pode ser retirada e reposta
 * entre callbacks; se o padding depender dela, toda a grelha salta 16px.
 */
.somnia-home-entry,
.somnia-home-entry + .dashboard.somnia-dashboard,
body.somnia-home-dashboard-page .somnia-home-entry,
body.somnia-home-dashboard-page .dashboard.somnia-dashboard {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.somnia-home-entry,
body.somnia-home-dashboard-page .somnia-home-entry {
  padding: 8px var(--somnia-page-inset, 16px) 0 !important;
}

.somnia-home-entry + .dashboard.somnia-dashboard,
body.somnia-home-dashboard-page .dashboard.somnia-dashboard {
  padding: 0 var(--somnia-page-inset, 16px) 32px !important;
}

.somnia-home-shell {
  max-width: none;
  margin: 0;
  padding: 0 var(--somnia-page-inset, 16px) 40px;
}

.somnia-home-entry {
  max-width: none !important;
  margin: 0 !important;
  padding: 8px var(--somnia-page-inset, 16px) 0 !important;
}

html.somnia-theme:has(.somnia-home-entry) #content.content,
html.somnia-theme body.somnia-home-page #content.content,
html.somnia-theme body.somnia-home-dashboard-page #content.content,
html.somnia-theme:has(.somnia-home-entry) #pagecontent,
html.somnia-theme body.somnia-home-dashboard-page #pagecontent {
  background: #f8fafc !important;
  padding-top: 4px !important;
}

body.somnia-home-dashboard-page .moduleTitle {
  display: none !important;
}

body.somnia-home-dashboard-page .somnia-dashboard .tab-pane > img[src*="loading"],
body.somnia-home-dashboard-page .somnia-dashboard-zone .tab-pane > img[src*="loading"],
body.somnia-home-dashboard-page .somnia-dashboard-zone img[src*="loading_home"] {
  display: none !important;
}

body.somnia-list-hydrating .somnia-home-entry,
body.somnia-list-hydrating .somnia-dashboard-zone {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-home-entry,
html.somnia-theme:has(.somnia-home-entry) .somnia-dashboard-zone,
body.somnia-home-dashboard-page .somnia-home-entry,
body.somnia-home-dashboard-page .somnia-dashboard-zone,
body.somnia-home-dashboard-page.somnia-list-ready .somnia-home-entry,
body.somnia-home-dashboard-page.somnia-list-ready .somnia-dashboard-zone {
  opacity: 1;
  visibility: visible;
}

/* ---------- Hero ---------- */
.somnia-home-entry .somnia-home-header,
.somnia-home-entry .somnia-home-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
  flex-wrap: nowrap;
  min-width: 0;
}

.somnia-home-hero__main,
.somnia-home-header__content {
  display: flex;
  align-items: flex-start;
  gap: 0;
  flex: 1;
  min-width: 260px;
}

.somnia-home-hero__icon {
  display: none !important;
}

.somnia-home-title {
  font-size: 30px !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 8px !important;
  line-height: 1.25 !important;
}

.somnia-home-title strong {
  font-weight: 700 !important;
  color: #0f172a !important;
}

.somnia-home-subtitle {
  margin: 0 !important;
  font-size: 15px !important;
  color: #64748b !important;
  line-height: 1.5 !important;
}

.somnia-home-header__actions,
.somnia-home-hero__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-shrink: 0;
  padding-top: 0;
}

.somnia-home-create-dropdown {
  position: relative;
}

.somnia-home-create-dropdown .dropdown-toggle .suitepicon-action-caret {
  margin-left: 2px;
  font-size: 11px;
  opacity: 0.85;
}

.somnia-home-create-menu {
  right: 0;
  left: auto;
  min-width: 240px;
  margin-top: 8px;
  padding: 8px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.14), 0 4px 12px rgba(15, 23, 42, 0.06) !important;
  overflow: hidden;
}

.somnia-home-create-menu > li {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  list-style: none !important;
}

.somnia-home-create-menu .somnia-home-menu-heading {
  padding: 8px 14px 4px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #94a3b8 !important;
  pointer-events: none !important;
  user-select: none !important;
}

.somnia-home-create-menu > li > a,
.somnia-home-create-menu > li > a:hover,
.somnia-home-create-menu > li > a:focus,
.somnia-home-create-menu .somnia-home-menu-item {
  display: block !important;
  width: 100% !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  color: #334155 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
  box-sizing: border-box !important;
}

.somnia-home-create-menu > li > a:hover,
.somnia-home-create-menu > li > a:focus,
.somnia-home-create-menu .somnia-home-menu-item:hover {
  background: #f0fdfa !important;
  color: #146161 !important;
}

.somnia-home-create-menu .divider {
  height: 1px !important;
  margin: 6px 10px !important;
  padding: 0 !important;
  background: #e2e8f0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* Beat legacy SuiteCRM .content .dropdown-menu teal */
body.somnia-home-dashboard-page .content .somnia-home-create-menu,
body[data-module="Home"] .content .somnia-home-create-menu {
  background: #ffffff !important;
}

body.somnia-home-dashboard-page .content .somnia-home-create-menu > li > a,
body.somnia-home-dashboard-page .content .somnia-home-create-menu > li > a:hover,
body.somnia-home-dashboard-page .content .somnia-home-create-menu > li > a:focus,
body[data-module="Home"] .content .somnia-home-create-menu > li > a,
body[data-module="Home"] .content .somnia-home-create-menu > li > a:hover,
body[data-module="Home"] .content .somnia-home-create-menu > li > a:focus,
body.somnia-home-dashboard-page .content .somnia-home-create-menu .somnia-home-menu-item,
body[data-module="Home"] .content .somnia-home-create-menu .somnia-home-menu-item {
  background: transparent !important;
  background-color: transparent !important;
  color: #334155 !important;
  border: none !important;
}

body.somnia-home-dashboard-page .content .somnia-home-create-menu > li > a:hover,
body[data-module="Home"] .content .somnia-home-create-menu > li > a:hover,
body.somnia-home-dashboard-page .content .somnia-home-create-menu .somnia-home-menu-item:hover,
body[data-module="Home"] .content .somnia-home-create-menu .somnia-home-menu-item:hover {
  background: #f0fdfa !important;
  color: #146161 !important;
}

.somnia-home-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 10px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.15s ease;
}

.somnia-home-btn--primary,
.somnia-btn-personalizar {
  background: var(--somnia-brand, #146161) !important;
  color: #fff !important;
  border-color: var(--somnia-brand, #146161) !important;
  box-shadow: 0 4px 12px rgba(20, 97, 97, 0.22) !important;
}

.somnia-home-btn--primary:hover,
.somnia-btn-personalizar:hover {
  background: var(--somnia-brand-dark, #105454) !important;
  border-color: var(--somnia-brand-dark, #105454) !important;
  color: #fff !important;
}

.somnia-home-btn--ghost {
  background: #fff !important;
  color: #334155 !important;
  border-color: #e2e8f0 !important;
}

.somnia-home-btn--ghost:hover {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}

.somnia-home-btn__ico {
  font-size: 16px;
  line-height: 1;
}

/* Personalizar — dropdown do hero */
.somnia-home-entry .somnia-home-hero__actions .somnia-home-actions-dropdown {
  position: relative;
  display: inline-block;
}

.somnia-home-entry .somnia-home-hero__actions .dropdown-menu.somnia-home-actions-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  left: auto;
  float: none;
  z-index: 1200;
  min-width: 280px;
  width: 100%;
  max-width: 320px;
  margin: 0;
  padding: 6px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.12);
  list-style: none;
}

.somnia-home-entry .somnia-home-actions-menu > li {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none !important;
  background: transparent !important;
  float: none;
}

.somnia-home-entry .somnia-home-actions-menu > li + li {
  margin-top: 2px;
}

.somnia-home-entry .somnia-home-menu-item,
.somnia-home-entry .somnia-home-actions-menu .button,
.somnia-home-entry .somnia-home-actions-menu input.button,
.somnia-home-entry .somnia-home-actions-menu button.button {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  text-align: left;
  text-decoration: none;
  background: transparent !important;
  border: none !important;
  border-radius: 8px !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  cursor: pointer;
}

.somnia-home-entry .somnia-home-menu-item:hover,
.somnia-home-entry .somnia-home-menu-item:focus,
.somnia-home-entry .somnia-home-actions-menu .button:hover,
.somnia-home-entry .somnia-home-actions-menu input.button:hover,
.somnia-home-entry .somnia-home-actions-menu button.button:hover {
  background: #f0fdfa !important;
  color: #146161 !important;
  outline: none;
}

/* ---------- KPI row ----------
   Colunas iguais desde o 1.º frame. min-width:auto nos items (default da
   grelha) fazia a 1.ª carta (valor+montante) puxar a track e, ao sair o
   skeleton, as quatro cartas saltavam em bloco para a esquerda. */
.somnia-home-entry .somnia-kpi-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 20px;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  height: 118px;
  min-height: 118px;
  max-height: 118px;
  contain: layout;
}

.somnia-home-entry .somnia-kpi-row--comercial {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.somnia-home-hero__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.somnia-home-period-filters {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 4px;
  border-radius: 10px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
}

.somnia-home-period-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.75rem;
  box-sizing: border-box;
  text-align: center;
}

.somnia-home-period-btn:hover,
.somnia-home-period-btn:focus {
  color: #146161;
  outline: none;
}

.somnia-home-period-btn.is-active {
  background: #fff;
  color: #146161;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

/* Linha valor+montante nunca quebra: se quebrasse, o cartão crescia quando o
   montante chega por AJAX e a linha inteira de KPIs reajustava. */
.somnia-kpi-value-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: nowrap;
  min-width: 0;
  height: 31px;
  overflow: hidden;
}

.somnia-kpi-amount {
  position: relative;
  font-size: 14px;
  font-weight: 600;
  color: #0f766e;
  letter-spacing: 0.01em;
  min-width: 0;
  min-height: 15px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.somnia-home-entry .somnia-kpi-card {
  position: relative;
  background: #fff !important;
  border: 1px solid #eaeef4 !important;
  border-radius: 16px !important;
  padding: 18px 18px 16px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 22px rgba(15, 23, 42, 0.05) !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 118px !important;
  min-height: 118px !important;
  max-height: 118px !important;
  overflow: hidden !important;
  transform: none !important;
  transition: none !important;
}

.somnia-home-entry .somnia-kpi-icon {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  flex-shrink: 0;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background-image: none !important;
}

.somnia-home-entry .somnia-kpi-icon__svg {
  width: 22px;
  height: 22px;
  display: block;
  flex-shrink: 0;
}

.somnia-kpi-icon.is-contacts {
  background-color: #eff6ff !important;
  color: #3b82f6;
}

.somnia-kpi-icon.is-deals {
  background-color: #ecfdf5 !important;
  color: #146161;
}

.somnia-kpi-icon.is-leads {
  background-color: #eff6ff !important;
  color: #3b82f6;
}

.somnia-kpi-icon.is-accounts {
  background-color: #f5f3ff !important;
  color: #8b5cf6;
}

.somnia-kpi-icon.is-tasks {
  background-color: #fff7ed !important;
  color: #ea580c;
}

.somnia-kpi-icon.is-calls,
.somnia-kpi-icon.is-projects {
  background-color: #f5f3ff !important;
  color: #8b5cf6;
}

.somnia-kpi-icon.is-activities {
  background-color: #ecfeff !important;
  color: #0891b2;
}

.somnia-kpi-row--comercial .somnia-kpi-card:nth-child(1) .somnia-kpi-icon {
  background-color: #ecfdf5 !important;
  color: #146161;
}

.somnia-kpi-row--comercial .somnia-kpi-card:nth-child(2) .somnia-kpi-icon {
  background-color: #eff6ff !important;
  color: #3b82f6;
}

.somnia-kpi-row--comercial .somnia-kpi-card:nth-child(3) .somnia-kpi-icon {
  background-color: #f5f3ff !important;
  color: #8b5cf6;
}

.somnia-kpi-row--comercial .somnia-kpi-card:nth-child(4) .somnia-kpi-icon {
  background-color: #ecfeff !important;
  color: #0891b2;
}

.somnia-kpi-card__body {
  display: grid;
  grid-template-rows: 16px 31px 16px;
  gap: 8px;
  padding-right: 52px;
  min-width: 0;
  height: 79px;
  overflow: hidden;
}

.somnia-kpi-label {
  display: block;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #64748b !important;
  line-height: 16px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.somnia-kpi-value {
  display: block;
  position: relative;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  letter-spacing: -0.03em !important;
  line-height: 1.1 !important;
  height: 31px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.somnia-kpi-trend,
.somnia-kpi-meta {
  display: block;
  position: relative;
  font-size: 12px !important;
  color: #94a3b8 !important;
  line-height: 16px !important;
  height: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.somnia-kpi-trend.is-up,
.somnia-kpi-meta.is-up {
  color: #146161 !important;
  font-weight: 600;
}

.somnia-kpi-trend.is-down,
.somnia-kpi-meta.is-down {
  color: #ef4444 !important;
  font-weight: 600;
}

.somnia-kpi-trend[hidden] {
  display: none !important;
}

/* =========================================================
   Home: altura reservada + esqueleto (sem reflow pós-AJAX)
   ========================================================= */

/* A linha de tendência ocupa sempre espaço, mesmo antes de os dados chegarem
   (setTrend só remove [hidden] depois do AJAX). */
.somnia-home-entry .somnia-kpi-trend {
  min-height: 16px;
}

.somnia-home-entry .somnia-kpi-trend[hidden] {
  display: block !important;
  visibility: hidden;
}

/* Esqueleto: só pinta, não muda geometria (width/display/margin).
   Qualquer width extra no 1.º card redistribuía as 4 colunas. */
.somnia-home-entry .somnia-kpi-row.is-loading .somnia-kpi-value,
.somnia-home-entry .somnia-kpi-row.is-loading .somnia-kpi-amount,
.somnia-home-entry .somnia-kpi-row.is-loading .somnia-kpi-trend {
  color: transparent !important;
  position: relative;
  user-select: none;
}

.somnia-home-entry .somnia-kpi-row.is-loading .somnia-kpi-value::after,
.somnia-home-entry .somnia-kpi-row.is-loading .somnia-kpi-amount::after,
.somnia-home-entry .somnia-kpi-row.is-loading .somnia-kpi-trend::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 12px;
  border-radius: 8px;
  background: linear-gradient(90deg, #f1f5f9 0%, #e2e8f0 45%, #f1f5f9 100%);
  background-size: 200% 100%;
  animation: somnia-home-sk-shine 1.1s ease-in-out infinite;
  pointer-events: none;
}

.somnia-home-entry .somnia-kpi-row.is-loading .somnia-kpi-value::after {
  width: 82px;
  height: 22px;
}

.somnia-home-entry .somnia-kpi-row.is-loading .somnia-kpi-amount::after {
  width: 68px;
  height: 14px;
}

.somnia-home-entry .somnia-kpi-row.is-loading .somnia-kpi-trend::after {
  width: min(150px, 78%);
  height: 10px;
}

/* =========================================================
   Zona de dashlets: reserva a altura da última renderização
   ========================================================= */
.somnia-home-page .dashboard .tab-content > .tab-pane > .somnia-dash-zone-skeleton {
  min-height: var(--somnia-dash-zone-h, 720px);
  padding: 0;
}

.somnia-dash-zone-sk-panel {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: inherit;
  padding: 20px;
  border: 1px solid #eaeef4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 22px rgba(15, 23, 42, 0.05);
}

.somnia-dash-zone-sk-bar {
  display: block;
  height: 14px;
  border-radius: 8px;
  background: linear-gradient(90deg, #f1f5f9 0%, #e2e8f0 45%, #f1f5f9 100%);
  background-size: 200% 100%;
  animation: somnia-home-sk-shine 1.1s ease-in-out infinite;
}

.somnia-dash-zone-sk-bar--title {
  width: min(260px, 45%);
  height: 18px;
}

.somnia-dash-zone-sk-bar--short {
  width: 60%;
}

@keyframes somnia-home-sk-shine {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .somnia-home-entry .somnia-kpi-row.is-loading .somnia-kpi-value::after,
  .somnia-home-entry .somnia-kpi-row.is-loading .somnia-kpi-amount::after,
  .somnia-home-entry .somnia-kpi-row.is-loading .somnia-kpi-trend::after,
  .somnia-dash-zone-sk-bar {
    animation: none;
  }
}

/* ---------- Analytics — 2 linhas × 3 colunas (mockup) ---------- */
.somnia-dash-analytics {
  --somnia-dash-row-h: clamp(260px, 32vh, 340px);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: minmax(var(--somnia-dash-row-h, 260px), auto);
  align-items: stretch;
  gap: 12px;
  margin: 0 0 16px;
  min-height: 0;
}

.somnia-dash-donut-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(96px, 34%);
  gap: 8px;
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
  align-items: stretch;
  overflow: hidden;
}

.somnia-dash-legend--side {
  margin-top: 0 !important;
  justify-content: center;
  align-self: stretch;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

.somnia-dash-hbars {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 1.6vh, 14px);
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
  justify-content: space-evenly;
  overflow: hidden;
}

.somnia-dash-hbar-row {
  display: grid;
  grid-template-columns: minmax(0, 72px) minmax(0, 1fr) 28px;
  gap: 6px;
  align-items: center;
  font-size: 11px;
  font-weight: 600;
  color: #475569;
  min-width: 0;
}

.somnia-dash-hbar-row .lbl {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.somnia-dash-hbar-row .track {
  height: clamp(10px, 2.2vh, 16px);
  background: #f1f5f9;
  border-radius: 999px;
  overflow: hidden;
}

.somnia-dash-hbar-row .fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  min-width: 3px;
}

.somnia-dash-hbar-row .val {
  text-align: right;
  color: #0f172a;
  font-weight: 700;
}

.somnia-dash-vfunnel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(4px, 0.8vh, 8px);
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
  justify-content: stretch;
  padding: 0;
}

.somnia-dash-vfunnel-seg {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  min-height: 28px;
  width: 100%;
  max-width: 100%;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  border-radius: 4px;
  text-align: center;
  padding: 4px 8px;
  box-sizing: border-box;
}

.somnia-dash-vfunnel-svg {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 180px;
  max-width: 100%;
  overflow: hidden;
}

.somnia-dash-vfunnel-label {
  fill: #fff;
  font-size: 11px;
  font-weight: 700;
  font-family: inherit;
  pointer-events: none;
}

.somnia-dash-empty {
  margin: 0;
  color: #94a3b8;
  font-size: 13px;
  text-align: center;
  padding: 24px 12px;
}

.somnia-dash-won-summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}

.somnia-dash-won-summary strong {
  font-size: 22px;
  font-weight: 750;
  color: #0f172a;
  letter-spacing: -0.03em;
}

.somnia-dash-won-summary .delta {
  font-size: 12px;
  font-weight: 600;
  color: #146161;
}

.somnia-dash-won-summary .delta.is-down {
  color: #ef4444;
}

.somnia-dash-won-chart {
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
}

.somnia-dash-analytics > .somnia-dash-card {
  height: 100%;
  min-height: 0;
  align-self: stretch;
}

.somnia-dash-card {
  background: #fff !important;
  border: 1px solid #eaeef4 !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: 100%;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 6px 18px rgba(15, 23, 42, 0.05) !important;
}

.somnia-dash-card-head h3 {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
}

.somnia-dash-card-body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.somnia-dash-chart-grow {
  flex: 1 1 0;
  min-height: 0;
  height: auto;
  max-height: none;
  position: relative;
  overflow: hidden;
}

.somnia-dash-chart-grow canvas {
  max-width: 100%;
}

.somnia-dash-line-body {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.somnia-dash-chart-host {
  flex: 1 1 0;
  min-height: 120px;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.somnia-dash-chart-host canvas {
  display: block;
  max-width: 100%;
}

.somnia-dash-line-legend {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding-top: 8px;
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  line-height: 1;
}

.somnia-dash-line-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.somnia-dash-line-legend-item i {
  display: inline-block;
  width: 14px;
  height: 0;
  border-top: 2px solid #146161;
  border-radius: 1px;
}

.somnia-dash-line-legend-item.is-previous i {
  border-top-style: dashed;
  border-top-color: #94a3b8;
}

/* Funnel */
.somnia-dash-funnel {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  justify-content: space-evenly;
}

.somnia-dash-funnel-row {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr) 36px;
  gap: 8px;
  align-items: center;
}

.somnia-dash-funnel-row .lbl {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #475569;
}

.somnia-dash-funnel-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.somnia-dash-funnel-row .track {
  height: 8px;
  background: #f1f5f9;
  border-radius: 999px;
  overflow: hidden;
}

.somnia-dash-funnel-row .fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  min-width: 4px;
}

.somnia-dash-funnel-row .val {
  font-size: 12px;
  font-weight: 700;
  color: #0f172a;
  text-align: right;
}

.somnia-dash-funnel-foot {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #f1f5f9;
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #64748b;
}

.somnia-dash-funnel-foot strong {
  color: #0f172a;
  font-size: 14px;
}

/* Donut */
.somnia-dash-pie-wrap {
  position: relative;
  flex: 1;
  min-height: 130px;
  max-height: 160px;
}

.somnia-dash-pie-wrap canvas {
  width: 100% !important;
  height: 100% !important;
}

.somnia-dash-pie-center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  font-size: 11px;
  color: #64748b;
}

.somnia-dash-pie-center strong {
  font-size: 20px;
  color: #0f172a;
  line-height: 1.1;
}

.somnia-dash-legend {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 6px;
}

.somnia-dash-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #475569;
}

.somnia-dash-legend-item .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.somnia-dash-legend-item .pct {
  margin-left: auto;
  font-weight: 700;
  color: #0f172a;
}

/* Insights */
.somnia-dash-insights-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.somnia-dash-insight {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid #f8fafc;
}

.somnia-dash-insight:last-child {
  border-bottom: 0;
}

.somnia-dash-insight-ring {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}

.somnia-dash-insight-body {
  flex: 1;
  min-width: 0;
}

.somnia-dash-insight-label {
  font-size: 11px;
  color: #64748b;
  font-weight: 600;
}

.somnia-dash-insight-value {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}

.somnia-dash-insight-meta {
  font-size: 10px;
  color: #94a3b8;
}

.somnia-dash-insight-meta.is-up { color: #146161; }
.somnia-dash-insight-meta.is-down { color: #ef4444; }

/* ---------- Dashlets (abaixo dos gráficos) ---------- */
.somnia-dashboard-zone {
  margin-top: 4px;
}

.somnia-dashboard {
  max-width: none;
  margin: 0;
  padding: 0;
}

.somnia-dashboard-tab-content {
  background: transparent !important;
}

.somnia-dashboard .somnia-dashboard-tabs {
  margin: 8px 0 20px;
}

.modal-edit-dashboard .panel-template {
  display: none !important;
}

.somnia-dashboard-loading {
  display: block;
  margin: 24px auto;
}

.somnia-dashlets-mount {
  width: 100%;
}

/* Dashlets nativos: ver somnia-home-dashlets.css (2 colunas) */

@media (max-width: 1280px) {
  .somnia-dash-analytics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: auto;
  }
}

@media (max-width: 1200px) {
  .somnia-home-entry .somnia-kpi-row,
  .somnia-home-entry .somnia-kpi-row--comercial {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: 252px;
    min-height: 252px;
    max-height: 252px;
  }
}

@media (max-width: 900px) {
  .somnia-home-entry .somnia-kpi-row {
    grid-template-columns: 1fr 1fr;
    height: 252px;
    min-height: 252px;
    max-height: 252px;
  }

  .somnia-dash-analytics {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .somnia-dash-donut-layout {
    grid-template-columns: 1fr;
  }

  .somnia-home-header__actions,
  .somnia-home-hero__actions {
    padding-top: 0;
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 560px) {
  .somnia-home-entry .somnia-kpi-row {
    grid-template-columns: 1fr;
    height: 520px;
    min-height: 520px;
    max-height: 520px;
  }
}

/* toggle */
/* Somnia — barra para minimizar / expandir gráficos (Home + ListView) */

.somnia-charts-block {
  margin: 0 0 16px;
}

body.somnia-home-dashboard-page .somnia-charts-block {
  margin: 4px 0 16px;
}

body.somnia-home-dashboard-page .somnia-charts-block--home {
  margin: 0 0 18px;
}

body.somnia-home-dashboard-page .somnia-charts-block--home.is-collapsed {
  margin: 0;
  padding: 0;
  border: none;
}

body.somnia-home-dashboard-page .somnia-charts-block--home .somnia-charts-toggle-bar,
body.somnia-listview-page .somnia-charts-block--listview .somnia-charts-toggle-bar {
  display: none !important;
}

body.somnia-listview-page .somnia-charts-block--listview {
  margin: 0 0 14px;
}

body.somnia-listview-page .somnia-charts-block--listview.is-collapsed {
  margin: 0;
  padding: 0;
  border: none;
}

.somnia-list-charts-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  margin: 0;
  border: 1px solid #e2e6ee;
  border-radius: 10px;
  background: #fff;
  color: #64748b;
  cursor: pointer;
  flex-shrink: 0;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease;
}

.somnia-list-charts-toggle-btn .somnia-charts-toggle-icon {
  display: block;
  line-height: 0;
}

.somnia-list-charts-toggle-btn:hover,
.somnia-list-charts-toggle-btn:focus {
  background: #f7f9fc;
  border-color: #cfd6e4;
  color: #146161;
  outline: none;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.somnia-list-charts-toggle-btn.is-active {
  background: #f0fdfa;
  border-color: #99f6e4;
  color: #146161;
  box-shadow: 0 2px 8px rgba(20, 97, 97, 0.1);
}

.somnia-list-charts-toggle-btn.is-active:hover,
.somnia-list-charts-toggle-btn.is-active:focus {
  background: #ccfbf1;
  border-color: #5eead4;
  color: #0f4f4f;
}

.somnia-home-charts-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  margin: 0;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  color: #64748b;
  cursor: pointer;
  flex-shrink: 0;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease;
}

.somnia-home-charts-toggle-btn__icon {
  display: block;
  line-height: 0;
}

.somnia-home-charts-toggle-btn:hover,
.somnia-home-charts-toggle-btn:focus {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #146161;
  outline: none;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.somnia-home-charts-toggle-btn.is-active {
  background: #f0fdfa;
  border-color: #99f6e4;
  color: #146161;
  box-shadow: 0 2px 8px rgba(20, 97, 97, 0.1);
}

.somnia-home-charts-toggle-btn.is-active:hover,
.somnia-home-charts-toggle-btn.is-active:focus {
  background: #ccfbf1;
  border-color: #5eead4;
  color: #0f4f4f;
}

.somnia-charts-block.is-collapsed {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

.somnia-charts-block.is-collapsed .somnia-charts-block__content {
  display: none !important;
}

.somnia-charts-toggle-bar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px 10px 18px;
  background: #fff;
  border: 1px solid #e8edf3;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.somnia-charts-toggle-bar::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background: #146161;
  border-radius: 0 2px 2px 0;
}

.somnia-charts-toggle-bar__label {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #0f172a;
}

.somnia-charts-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  margin: 0;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  color: #146161;
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease;
}

.somnia-charts-toggle-btn:hover,
.somnia-charts-toggle-btn:focus {
  background: #f0fdfa;
  border-color: #99f6e4;
  color: #0f4f4f;
  outline: none;
  box-shadow: 0 2px 8px rgba(20, 97, 97, 0.12);
}

.somnia-charts-toggle-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.somnia-charts-toggle-btn__icon--expand {
  display: none;
}

.somnia-charts-block.is-collapsed .somnia-charts-toggle-btn__icon--collapse {
  display: none;
}

.somnia-charts-block.is-collapsed .somnia-charts-toggle-btn__icon--expand {
  display: inline-flex;
}

.somnia-charts-block:not(.is-collapsed) .somnia-charts-toggle-bar {
  margin-bottom: 10px;
  border-radius: 12px;
}

body.somnia-listview-page .somnia-charts-block {
  margin-bottom: 14px;
}

/* Bloco de gráficos dentro da secção analytics — sidebar / resumo ficam visíveis */
[class*="somnia-"][class*="-analytics"] > .somnia-charts-block {
  margin-bottom: 12px;
}

[class*="somnia-"][class*="-analytics"] > .somnia-charts-block.is-collapsed {
  margin-bottom: 8px;
}

.somnia-charts-block.is-collapsed #somnia-dash-analytics { display: none !important; }

/* source: custom/themes/SuiteP/css/somnia/07-login.css */
/**
 * Login — visual Orcinus (vídeo + overlay teal + formulário transparente)
 * Sobrepõe SuiteP (barra cinzenta, logo SuiteCRM, ícones nos inputs).
 */

html.somnia-login,
html.somnia-login body {
  background: #000 !important;
}

html.somnia-login body {
  overflow-x: hidden;
}

html.somnia-login div.p_login {
  position: relative;
  overflow: auto;
  min-height: 100vh;
  height: auto;
  background: transparent !important;
  background-color: transparent !important;
}

html.somnia-login .video-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

html.somnia-login .gradient-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 1;
  pointer-events: none;
}

html.somnia-login .animated-gradient-element {
  background: radial-gradient(
    circle at center,
    #008c8c 0%,
    #2c8b9d 25%,
    #3ba9a3 50%,
    #1e9b98 75%,
    #008c8c 100%
  );
  background-size: 200% 100%;
  animation: orcinus-login-gradient 24s ease infinite;
}

@keyframes orcinus-login-gradient {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

html.somnia-login div.p_login .p_login_top {
  position: fixed;
  top: 12px;
  left: 20px;
  z-index: 3;
  float: none;
  width: auto;
  padding: 0 !important;
  background: transparent !important;
}

html.somnia-login div.p_login .p_login_top a {
  display: inline !important;
  color: #fff !important;
  font-weight: bold;
  font-size: 1.1rem;
  text-decoration: none;
  text-indent: 0 !important;
  overflow: visible !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  background-image: none !important;
}

html.somnia-login .p_login_content {
  position: relative;
  z-index: 2;
  min-height: 100vh;
  overflow-y: auto;
  padding: 4rem 1rem 5.5rem !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  background: transparent !important;
}

html.somnia-login .p_login_middle {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 420px;
  float: none;
  background: transparent !important;
}

html.somnia-login div.p_login #loginform {
  width: 100%;
  max-width: 420px;
  margin: 0 auto !important;
  padding: 15px;
  text-align: center;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  animation: none;
}

html.somnia-login .companylogo {
  text-align: center;
  margin-bottom: 12px;
}

html.somnia-login .companylogo img {
  max-width: 95%;
  height: auto;
}

html.somnia-login div.p_login #loginform .form-signin {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
}

html.somnia-login div.p_login #loginform .form-signin > br {
  display: none !important;
}

html.somnia-login div.p_login #loginform .input-group {
  width: 100%;
  display: block;
  margin: 0;
}

html.somnia-login div.p_login #loginform .input-group input,
html.somnia-login div.p_login #loginform .form-signin input.form-control {
  width: 100% !important;
  min-height: 40px;
  color: #111 !important;
  background: rgba(255, 255, 255, 0.9) !important;
  background-image: none !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-radius: 6px !important;
  padding: 10px 12px !important;
  box-shadow: none !important;
}

html.somnia-login div.p_login #loginform .input-group input:focus,
html.somnia-login div.p_login #loginform .form-signin input.form-control:focus {
  outline: none;
  border-color: #008c8c !important;
}

html.somnia-login div.p_login #loginform #bigbutton,
html.somnia-login div.p_login #loginform #bigbutton.btn-primary {
  background: #1a1a1ab5 !important;
  color: #f5f5f5 !important;
  border: none !important;
  border-radius: 6px !important;
  letter-spacing: 0 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

html.somnia-login div.p_login #loginform #bigbutton:hover {
  background: #1a1a1a !important;
  color: #f5f5f5 !important;
}

html.somnia-login #forgotpasslink,
html.somnia-login #forgotpasslink a {
  color: #fff !important;
}

html.somnia-login .login-language-chooser {
  color: #fff !important;
}

html.somnia-login .login-language-chooser select {
  background: #fffffff0;
  border: 1px solid #008c8c;
  color: #111;
}

html.somnia-login div.p_login .p_login_bottom {
  position: fixed !important;
  bottom: 15px;
  left: 0;
  width: 100%;
  z-index: 3;
  float: none;
  padding: 0 20px !important;
  background: transparent !important;
  color: #fff;
  font-size: 0.85rem;
}

html.somnia-login div.p_login .p_login_bottom a,
html.somnia-login div.p_login .p_login_bottom a#modified_by {
  color: #fff !important;
  margin: 0 10px;
  text-decoration: none;
}

html.somnia-login div.p_login .p_login_bottom a:hover {
  color: #fff !important;
  text-decoration: underline;
}

html.somnia-login a:hover,
html.somnia-login a:focus {
  color: #fff;
}

@media (max-width: 767px) {
  html.somnia-login div.p_login #loginform {
    margin: 0 auto !important;
  }

  html.somnia-login div.p_login .p_login_bottom {
    text-align: center;
  }

  html.somnia-login div.p_login .p_login_bottom a#modified_by {
    float: none !important;
    display: block;
    margin: 6px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.somnia-login .animated-gradient-element {
    animation: none !important;
  }
}

/* source: custom/themes/SuiteP/css/somnia/08-calendar.css */
/**
 * Somnia — Calendar page + stock month view polish
 * FullCalendar skin: ver 13-fullcalendar-skin.css + 14-calendar-colors.css
 */

html.somnia-theme body.somnia-calendar-page #content,
html.somnia-theme body.somnia-calendar-page #bootstrap-container {
  background: #f8fafc !important;
}

html.somnia-theme body.somnia-calendar-page .moduleTitle {
  border-bottom: none !important;
}

html.somnia-theme body.somnia-calendar-page .moduleTitle h2 {
  font-size: 26px !important;
  font-weight: 700 !important;
}

html.somnia-theme body.somnia-calendar-page .somnia-cal-page-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  margin: 0 0 16px;
}

html.somnia-theme body.somnia-calendar-page .somnia-cal-page-tabs,
html.somnia-theme body.somnia-calendar-page .somnia-cal-page-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

html.somnia-theme body.somnia-calendar-page .somnia-cal-goto-date {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  color: #146161 !important;
  box-shadow: none !important;
  cursor: pointer;
}

html.somnia-theme body.somnia-calendar-page .somnia-cal-goto-date:hover {
  background: #e6f2f2 !important;
  border-color: #99d5c9 !important;
}

html.somnia-theme body.somnia-calendar-page .somnia-cal-goto-date .suitepicon {
  font-size: 16px;
  line-height: 1;
}

html.somnia-theme .sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

html.somnia-theme body.somnia-calendar-page .somnia-cal-month-header {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  float: none !important;
  width: auto !important;
  box-sizing: border-box !important;
  padding: 12px 16px !important;
  margin: 0 0 12px !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
}

html.somnia-theme body.somnia-calendar-page .somnia-cal-month-header > div {
  float: none !important;
  width: auto !important;
}

html.somnia-theme body.somnia-calendar-page .somnia-cal-nav-title {
  flex: 1 1 auto;
  text-align: center;
}

html.somnia-theme body.somnia-calendar-page .somnia-cal-month-header h3 {
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

html.somnia-theme body.somnia-calendar-page h5.calSharedUser,
html.somnia-theme body.somnia-calendar-page .monthCalBody h5.calSharedUser {
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: center;
  margin: 0 0 10px !important;
  padding: 0 !important;
  background: transparent !important;
  opacity: 1 !important;
}

html.somnia-theme body.somnia-calendar-page .monthCalBody,
html.somnia-theme body.somnia-calendar-page #calendarContainer .monthCalBody {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Toolbar / filtros calendário */
html.somnia-theme body.somnia-calendar-page .button,
html.somnia-theme body.somnia-calendar-page input.button,
html.somnia-theme #cal-header .button {
  border-radius: 8px !important;
  font-family: var(--somnia-font) !important;
  font-weight: 600 !important;
}

html.somnia-theme body.somnia-calendar-page input.button[selected],
html.somnia-theme body.somnia-calendar-page .button[selected],
html.somnia-theme body.somnia-calendar-page input.button.selected {
  background: #146161 !important;
  border-color: #146161 !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(20, 97, 97, 0.25) !important;
}

/* Month view legado SuiteCRM */
html.somnia-theme .monthHeader,
html.somnia-theme .monthCalBody {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
  overflow: hidden;
}

html.somnia-theme .monthHeader {
  background: #fff !important;
  color: #0f172a !important;
  border-color: #e2e8f0 !important;
  border-bottom: 1px solid #e8edf3 !important;
  border-radius: 14px 14px 0 0 !important;
  border-left: 3px solid #146161 !important;
}

html.somnia-theme .monthHeader a,
html.somnia-theme .monthHeader h3 {
  color: #0f172a !important;
  font-weight: 650 !important;
}

html.somnia-theme .monthCalBody th {
  background: #f8fafc !important;
  color: #64748b !important;
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700 !important;
  border-color: #f1f5f9 !important;
}

html.somnia-theme .monthCalBody td {
  border-color: #f1f5f9 !important;
  background: #fff;
}

html.somnia-theme .monthCalBody td:hover {
  background: #f8fafc !important;
}

html.somnia-theme .monthCalBodyTodayWeekDay,
html.somnia-theme .monthCalBodyTodayWeekEnd,
html.somnia-theme td.today {
  background: #e6f2f2 !important;
  box-shadow: inset 0 0 0 1px rgba(20, 97, 97, 0.12);
}

/* Shell FC genérico (além do skin dedicado) */
html.somnia-theme #calendarContainer,
html.somnia-theme #calendar {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 8px 22px rgba(15, 23, 42, 0.05);
  padding: 12px;
  overflow: hidden;
}

/* Página do módulo: sem padding interno — o FC alinha head/body como no dashlet.
   Ganha sempre à regra genérica e à CSS da dashlet Home (SPA). */
html.somnia-theme body.somnia-calendar-page #calendarContainer,
html.somnia-theme body.somnia-calendar-page #calendar,
html.somnia-theme body.somnia-calendar-page.somnia-home-page #calendarContainer,
html.somnia-theme body.somnia-calendar-page.somnia-home-page #calendar {
  padding: 0 !important;
  overflow: hidden;
  box-sizing: border-box;
}

html.somnia-theme body.somnia-calendar-page #calendarContainer .fc,
html.somnia-theme body.somnia-calendar-page #calendarContainer .fc-view,
html.somnia-theme body.somnia-calendar-page #calendarContainer .fc-head,
html.somnia-theme body.somnia-calendar-page #calendarContainer .fc-body,
html.somnia-theme body.somnia-calendar-page #calendarContainer .fc-widget-header,
html.somnia-theme body.somnia-calendar-page #calendarContainer .fc-widget-content {
  border-left-color: #e2e8f0 !important;
}

html.somnia-theme .fc {
  font-family: var(--somnia-font) !important;
}

html.somnia-theme .fc .fc-button-primary {
  background: #146161 !important;
  border-color: #146161 !important;
}

html.somnia-theme .fc .fc-button-primary:not(:disabled).fc-button-active,
html.somnia-theme .fc .fc-button-primary:hover {
  background: #105454 !important;
  border-color: #105454 !important;
}

html.somnia-theme .fc .fc-daygrid-day.fc-day-today,
html.somnia-theme .fc .fc-today {
  background: rgba(20, 97, 97, 0.06) !important;
}

/* No Home o modal nasce dentro do dashlet (overflow:hidden) — depois de
   hoistCalendarModals() fica no body e tem de parecer o do módulo. */
html.somnia-theme body > .modal-cal-edit,
html.somnia-theme body > .modal-cal-tasks-edit,
html.somnia-theme body > .modal-cal-events-edit {
  z-index: 1060 !important;
}

html.somnia-theme body > .modal-cal-edit .modal-dialog {
  max-width: 980px;
  width: calc(100% - 32px);
  margin: 30px auto;
}

html.somnia-theme .modal-cal-edit #invitees_search {
  width: auto !important;
  min-width: 110px;
}

/* Modal de criar/editar reunião — chrome Somnia, sem o cinzento/verde SuiteP */
html.somnia-theme .modal-cal-edit .modal-footer,
html.somnia-theme .modal-cal-tasks-edit .modal-footer,
html.somnia-theme .modal-cal-events-edit .modal-footer,
html.somnia-theme .modal-calendar-settings .modal-footer,
html.somnia-theme .modal-calendar-user-list .modal-footer {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 18px !important;
}

html.somnia-theme .modal-cal-edit .modal-footer .button,
html.somnia-theme .modal-cal-tasks-edit .modal-footer .button,
html.somnia-theme .modal-cal-events-edit .modal-footer .button {
  min-height: 38px;
  padding: 8px 14px !important;
  border-radius: 8px !important;
}

html.somnia-theme .modal-cal-edit .modal-footer #btn-save,
html.somnia-theme .modal-cal-edit .modal-footer #btn-send-invites,
html.somnia-theme .modal-cal-edit #invitees_search,
html.somnia-theme .modal-cal-edit #create_invitee_as_contact,
html.somnia-theme .modal-cal-edit #create_invitee_as_lead,
html.somnia-theme .modal-cal-edit #create-invitee-btn,
html.somnia-theme .modal-calendar-settings .modal-footer #btn-save-settings,
html.somnia-theme .modal-calendar-user-list .modal-footer .btn-danger {
  background: #146161 !important;
  background-image: none !important;
  border: 1px solid #146161 !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(20, 97, 97, 0.22) !important;
}

html.somnia-theme .modal-cal-edit .modal-footer #btn-save:hover,
html.somnia-theme .modal-cal-edit .modal-footer #btn-send-invites:hover,
html.somnia-theme .modal-cal-edit #invitees_search:hover,
html.somnia-theme .modal-cal-edit #create_invitee_as_contact:hover,
html.somnia-theme .modal-cal-edit #create_invitee_as_lead:hover,
html.somnia-theme .modal-cal-edit #create-invitee-btn:hover,
html.somnia-theme .modal-calendar-settings .modal-footer #btn-save-settings:hover,
html.somnia-theme .modal-calendar-user-list .modal-footer .btn-danger:hover {
  background: #105454 !important;
  border-color: #105454 !important;
  color: #fff !important;
}

html.somnia-theme .modal-cal-edit .modal-footer #btn-delete {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  color: #334155 !important;
  box-shadow: none !important;
}

html.somnia-theme .modal-cal-edit .modal-footer #btn-delete:hover {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}

html.somnia-theme .modal-cal-edit a.listViewTdToolsS1,
html.somnia-theme .modal-cal-edit .schedulerAttendeeDeleteCell a,
html.somnia-theme .modal-cal-edit .schedulerAttendeeDeleteCell a:visited {
  color: #146161 !important;
  text-decoration: none !important;
}

html.somnia-theme .modal-cal-edit a.listViewTdToolsS1:hover,
html.somnia-theme .modal-cal-edit .schedulerAttendeeDeleteCell a:hover {
  color: #105454 !important;
}

html.somnia-theme .modal-cal-edit #search_first_name,
html.somnia-theme .modal-cal-edit #search_last_name,
html.somnia-theme .modal-cal-edit #search_email,
html.somnia-theme .modal-cal-edit #createInviteeForm input[type="text"],
html.somnia-theme .modal-cal-edit select:not(.datetimecombo_time) {
  min-height: 38px !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 8px 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #0f172a !important;
  box-shadow: none !important;
}

html.somnia-theme .modal-cal-edit select:not(.datetimecombo_time):not([multiple]) {
  padding-right: 32px !important;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #64748b 50%),
    linear-gradient(135deg, #64748b 50%, transparent 50%) !important;
  background-position: calc(100% - 17px) calc(50% + 1px), calc(100% - 12px) calc(50% + 1px) !important;
  background-size: 5px 5px, 5px 5px !important;
  background-repeat: no-repeat !important;
}

/* source: custom/themes/SuiteP/css/somnia/09-brand-remap.css */
/**
 * Somnia — remapear acentos Noon (#008c8c) → marca #146161
 * Carregar no fim (após SuiteP + colourSelector).
 */

html.somnia-theme a:hover,
html.somnia-theme a:focus {
  color: var(--somnia-brand);
}

/* Links e ícones admin / studio frequentemente em #008c8c */
html.somnia-theme .admin-panel .suitepicon,
html.somnia-theme .admin-panel .button-toggle-expanded span,
html.somnia-theme .admin-panel .button-toggle-collapsed span,
html.somnia-theme .admin-panel .panel-heading a,
html.somnia-theme .admin-panel .panel-heading a.collapsed,
html.somnia-theme .suitepicon[style*="008c8c"],
html.somnia-theme .suitepicon[style*="008C8C"] {
  color: var(--somnia-brand) !important;
}

html.somnia-theme .btn-info,
html.somnia-theme .label-info,
html.somnia-theme .badge-info,
html.somnia-theme .progress-bar-info,
html.somnia-theme .bg-info {
  background-color: var(--somnia-brand) !important;
  border-color: var(--somnia-brand) !important;
}

html.somnia-theme .text-info {
  color: var(--somnia-brand) !important;
}

html.somnia-theme .alert-info {
  background: var(--somnia-brand-tint) !important;
  border-color: rgba(20, 97, 97, 0.25) !important;
  color: var(--somnia-brand-deep) !important;
}

/* Pagination / list tools */
html.somnia-theme .listViewPaginationLinkS1:hover,
html.somnia-theme .utilsLink:hover,
html.somnia-theme a.listViewTdToolsS1:hover,
html.somnia-theme .paginationButton:hover {
  color: var(--somnia-brand) !important;
}

/* Selected / checked states */
html.somnia-theme input[type="checkbox"]:checked,
html.somnia-theme input[type="radio"]:checked {
  accent-color: var(--somnia-brand);
}

/* YUI / legacy selected tabs */
html.somnia-theme .yui-navset .yui-nav .selected a,
html.somnia-theme .yui-navset .yui-nav .selected a:focus,
html.somnia-theme .yui-navset .yui-nav .selected a:hover {
  background: var(--somnia-brand) !important;
  color: #fff !important;
}

/* Wizard / campaign */
html.somnia-theme #wizard .button-group .button.selected,
html.somnia-theme .wizard-content .button.primary {
  background: var(--somnia-brand) !important;
  border-color: var(--somnia-brand) !important;
}

/* Chart legend / links */
html.somnia-theme .chartContainer a,
html.somnia-theme .sc-chart a {
  color: var(--somnia-brand);
}

/* Focus rings genericos SuiteP */
html.somnia-theme .form-control:focus,
html.somnia-theme input:focus,
html.somnia-theme select:focus,
html.somnia-theme textarea:focus {
  border-color: var(--somnia-brand) !important;
  box-shadow: 0 0 0 3px var(--somnia-brand-ring) !important;
}

/* colourSelector leftovers — forçar navbar brand */
html.somnia-theme .navbar-inverse,
html.somnia-theme .navbar-inverse.navbar-fixed-top {
  background-color: var(--somnia-brand) !important;
  background-image: none !important;
}

/* Links "More" / create */
html.somnia-theme .btn-success,
html.somnia-theme .button.btn-success,
html.somnia-theme a.btn-success {
  background: var(--somnia-brand) !important;
  border-color: var(--somnia-brand) !important;
  color: #fff !important;
}

html.somnia-theme .btn-success:hover {
  background: var(--somnia-brand-hover) !important;
  border-color: var(--somnia-brand-hover) !important;
}

/* source: custom/themes/SuiteP/css/somnia/10-admin-misc.css */
/**
 * Somnia — Admin, Studio, Module Builder, popups
 */

/* ==========================================================================
 * Menu da Administração (index) — grelha de cartões
 * HTML Somnia: section.somnia-admin-section + a.somnia-admin-tile
 * Fallback legado: p + table.other.view (tr = opção)
 * Não aplicar a wizards de campanha (.wizard.import).
 * ========================================================================== */

/* Studio / ModuleBuilder: o canvas YUI não é ListView — nunca esconder #content */
html.somnia-theme:has(#mblayout) #content,
html.somnia-theme:has(#mbcenter) #content,
html.somnia-theme:has(#mbtabs) #content,
html.somnia-theme #mblayout,
html.somnia-theme #mbcenter,
html.somnia-theme #mbtabs {
  opacity: 1 !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

html.somnia-theme:has(.dashletPanelMenu.wizard .admin-panel) .moduleTitle,
html.somnia-theme body.somnia-admin-page .moduleTitle {
  border-bottom: none !important;
  margin: 0 0 18px !important;
  padding: 4px 0 4px !important;
}

html.somnia-theme:has(.dashletPanelMenu.wizard .admin-panel) .moduleTitle h2,
html.somnia-theme body.somnia-admin-page .moduleTitle h2,
html.somnia-theme body.somnia-admin-page .moduleTitle h2 span {
  font-size: 26px !important;
  font-weight: 700 !important;
  letter-spacing: var(--somnia-ls-tight) !important;
  text-transform: none !important;
}

html.somnia-theme .dashletPanelMenu.wizard,
html.somnia-theme .dashletPanelMenu.wizard > .bd {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: none !important;
}

html.somnia-theme .dashletPanelMenu.wizard .bd .screen.admin-panel,
html.somnia-theme .dashletPanelMenu.wizard .admin-panel {
  display: flex !important;
  flex-direction: column;
  gap: 18px;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

html.somnia-theme .somnia-admin-section {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: var(--somnia-surface);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-xl);
  box-shadow: var(--somnia-shadow-card);
  overflow: hidden;
}

html.somnia-theme .somnia-admin-section-head {
  padding: 16px 20px 12px;
  border-bottom: 1px solid var(--somnia-border);
}

html.somnia-theme .somnia-admin-section-head h3,
html.somnia-theme .dashletPanelMenu.wizard .admin-panel .somnia-admin-section-head h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: var(--somnia-ls-tight);
  color: var(--somnia-ink) !important;
  line-height: 1.3 !important;
}

html.somnia-theme .somnia-admin-section-desc {
  margin: 4px 0 0 !important;
  padding: 0 !important;
  color: var(--somnia-muted);
  font-size: 13px;
  font-weight: 450;
  line-height: 1.45;
}

html.somnia-theme .somnia-admin-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 12px 16px 16px;
}

html.somnia-theme a.somnia-admin-tile,
html.somnia-theme a.somnia-admin-tile:link,
html.somnia-theme a.somnia-admin-tile:visited {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
  min-width: 0;
  margin: 0 !important;
  padding: 14px !important;
  background: var(--somnia-canvas-2) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-lg) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  color: var(--somnia-ink) !important;
  transition: border-color var(--somnia-duration) var(--somnia-ease),
    background var(--somnia-duration) var(--somnia-ease),
    box-shadow var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme a.somnia-admin-tile:hover,
html.somnia-theme a.somnia-admin-tile:focus {
  background: var(--somnia-surface) !important;
  border-color: var(--somnia-brand) !important;
  box-shadow: var(--somnia-shadow-xs);
  color: var(--somnia-ink) !important;
  text-decoration: none !important;
}

html.somnia-theme a.somnia-admin-tile:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--somnia-brand-ring);
}

html.somnia-theme a.somnia-admin-tile .suitepicon {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  position: static !important;
  top: auto !important;
  font-size: 18px !important;
  color: var(--somnia-brand) !important;
  background: var(--somnia-brand-tint);
  border-radius: var(--somnia-radius-md);
}

html.somnia-theme a.somnia-admin-tile .suitepicon::before {
  font-size: 18px !important;
  line-height: 1 !important;
  vertical-align: middle;
}

html.somnia-theme a.somnia-admin-tile .suitepicon.suitepicon-admin-default::before,
html.somnia-theme a.somnia-admin-tile .suitepicon.suitepicon-admin-::before,
html.somnia-theme a.somnia-admin-tile .suitepicon.suitepicon-admin-administration::before {
  content: "\f16c";
}

html.somnia-theme .somnia-admin-tile-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

html.somnia-theme .somnia-admin-tile-title {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: var(--somnia-ls-tight);
  line-height: 1.3;
  color: var(--somnia-ink);
}

html.somnia-theme a.somnia-admin-tile:hover .somnia-admin-tile-title {
  color: var(--somnia-brand);
}

html.somnia-theme .somnia-admin-tile-desc {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--somnia-muted);
  font-size: 12.5px;
  font-weight: 450;
  line-height: 1.4;
}

@media (max-width: 1199px) {
  html.somnia-theme .somnia-admin-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  html.somnia-theme .somnia-admin-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Fallback: HTML nativo (p + table.other.view) */
html.somnia-theme .dashletPanelMenu.wizard .admin-panel > p:empty,
html.somnia-theme .dashletPanelMenu.wizard .admin-panel > p:not(:has(h3)) {
  display: none !important;
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel > p {
  display: block !important;
  margin: 0 !important;
  padding: 16px 20px 0 !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border);
  border-bottom: 0;
  border-radius: var(--somnia-radius-xl) var(--somnia-radius-xl) 0 0;
  box-shadow: var(--somnia-shadow-card);
  color: var(--somnia-muted);
  font-size: 13px;
  line-height: 1.45;
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel > p > h3 {
  margin: 0 0 4px !important;
  padding: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: var(--somnia-ls-tight);
  color: var(--somnia-ink) !important;
  line-height: 1.3 !important;
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view {
  display: block !important;
  width: 100% !important;
  margin: 0 0 2px !important;
  padding: 12px 16px 16px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-top: 0 !important;
  border-radius: 0 0 var(--somnia-radius-xl) var(--somnia-radius-xl) !important;
  box-shadow: var(--somnia-shadow-card);
  overflow: visible !important;
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view > tbody,
html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view tbody {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: 100% !important;
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view tr:not(:has(a)) {
  display: none !important;
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view tr {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 4px;
  align-items: start;
  position: relative;
  margin: 0 !important;
  padding: 14px !important;
  min-height: 0 !important;
  height: auto !important;
  float: none !important;
  background: var(--somnia-canvas-2) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-lg) !important;
  box-shadow: none !important;
  transition: border-color var(--somnia-duration) var(--somnia-ease),
    background var(--somnia-duration) var(--somnia-ease),
    box-shadow var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view tr:hover {
  background: var(--somnia-surface) !important;
  border-color: var(--somnia-brand) !important;
  box-shadow: var(--somnia-shadow-xs);
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view td,
html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view td[scope="row"],
html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view td:nth-of-type(1),
html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view td:nth-of-type(2),
html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view td:nth-of-type(3),
html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view td:nth-of-type(4) {
  display: block !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  background: transparent !important;
  border: 0 !important;
  white-space: normal !important;
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view td[scope="row"] {
  display: contents !important;
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view td:nth-of-type(2) {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  color: var(--somnia-muted) !important;
  font-size: 12.5px !important;
  font-weight: 450 !important;
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view .suitepicon {
  display: flex !important;
  align-items: center;
  justify-content: center;
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 36px;
  height: 36px;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  float: none !important;
  position: static !important;
  top: auto !important;
  font-size: 18px !important;
  color: var(--somnia-brand) !important;
  background: var(--somnia-brand-tint);
  border-radius: var(--somnia-radius-md);
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view .suitepicon::before {
  font-size: 18px !important;
  line-height: 1 !important;
  vertical-align: middle;
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel a.tabDetailViewDL2Link,
html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view td a {
  display: block !important;
  grid-column: 2;
  grid-row: 1;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  height: auto !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: var(--somnia-ink) !important;
  text-decoration: none !important;
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel a.tabDetailViewDL2Link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel tr:hover a.tabDetailViewDL2Link,
html.somnia-theme .dashletPanelMenu.wizard .admin-panel a.tabDetailViewDL2Link:hover {
  color: var(--somnia-brand) !important;
}

html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view img,
html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view svg {
  float: none !important;
  margin: 0 !important;
  width: 20px !important;
  height: 20px !important;
}

@media (max-width: 1199px) {
  html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view > tbody,
  html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view tbody {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view > tbody,
  html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view tbody {
    grid-template-columns: minmax(0, 1fr);
  }

  html.somnia-theme .dashletPanelMenu.wizard .admin-panel > table.other.view tr {
    grid-template-columns: 40px minmax(0, 1fr);
  }
}

html.somnia-theme .admin .panel {
  border-radius: var(--somnia-radius-xl) !important;
  border: 1px solid var(--somnia-border) !important;
  box-shadow: var(--somnia-shadow-card) !important;
  overflow: hidden;
  margin-bottom: 14px !important;
}

html.somnia-theme .admin-panel .panel-heading {
  background: var(--somnia-canvas-2) !important;
}

html.somnia-theme .admin-panel .panel-body a {
  color: var(--somnia-ink-2);
  font-weight: 500;
}

html.somnia-theme .admin-panel .panel-body a:hover {
  color: var(--somnia-brand);
}

/* Studio / ModuleBuilder frames */
html.somnia-theme #mbfooter,
html.somnia-theme .mbLBLL,
html.somnia-theme .wizard-content {
  font-family: var(--somnia-font);
}

html.somnia-theme .other view,
html.somnia-theme table.other.view {
  border-radius: var(--somnia-radius-xl);
  overflow: hidden;
  border: 1px solid var(--somnia-border) !important;
  box-shadow: var(--somnia-shadow-card);
}

/* Popup windows */
html.somnia-theme .popupBody,
body.popupBody {
  font-family: var(--somnia-font);
  background: var(--somnia-canvas);
}

/* Email / Compose */
html.somnia-theme #emailUIContainer,
html.somnia-theme .email-container {
  font-family: var(--somnia-font);
}

/* qTip / tooltips */
html.somnia-theme .qtip-default,
html.somnia-theme .qtip {
  border-radius: var(--somnia-radius-md) !important;
  font-family: var(--somnia-font) !important;
  box-shadow: var(--somnia-shadow-pop) !important;
}

/* Select2 if present */
html.somnia-theme .select2-container .select2-choice,
html.somnia-theme .select2-dropdown {
  border-radius: var(--somnia-radius-md) !important;
  border-color: var(--somnia-border) !important;
  font-family: var(--somnia-font);
}

html.somnia-theme .select2-container-active .select2-choice,
html.somnia-theme .select2-drop-active {
  border-color: var(--somnia-brand) !important;
  box-shadow: 0 0 0 3px var(--somnia-brand-ring) !important;
}

/* Quickcreate / drawer-ish panels */
html.somnia-theme .dcQuickEdit,
html.somnia-theme .dccontent {
  border-radius: var(--somnia-radius-xl) !important;
  border: 1px solid var(--somnia-border) !important;
  box-shadow: var(--somnia-shadow-pop) !important;
  background: var(--somnia-surface) !important;
}

/* List action menus */
html.somnia-theme ul.clickMenu,
html.somnia-theme .sugar_action_button {
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  box-shadow: var(--somnia-shadow-xs) !important;
}

html.somnia-theme ul.clickMenu > li a:hover {
  background: var(--somnia-brand-tint) !important;
  color: var(--somnia-brand) !important;
}

/* Breadcrumb-ish module links */
html.somnia-theme .moduleTitle .module-title-text {
  font-weight: 700;
  color: var(--somnia-ink);
}

/* Favorites star */
html.somnia-theme .favorite .suitepicon-favorite-star-outline,
html.somnia-theme .favorite .suitepicon {
  color: var(--somnia-faint);
}

html.somnia-theme .favorite:hover .suitepicon,
html.somnia-theme .favorite.active .suitepicon {
  color: var(--somnia-brand) !important;
}

/* source: custom/themes/SuiteP/css/somnia/11-menus-dropdowns.css */
/**
 * Somnia — Menus, dropdowns, clickMenus, subnavs (premium, a fundo)
 * Alta especificidade para ganhar a SuiteP Noon.
 */

html.somnia-theme {
  --somnia-menu-bg: #ffffff;
  --somnia-menu-border: #e2e8f0;
  --somnia-menu-radius: 12px;
  --somnia-menu-radius-item: 8px;
  --somnia-menu-shadow: 0 16px 48px rgba(15, 23, 42, 0.14), 0 4px 12px rgba(15, 23, 42, 0.06);
  --somnia-menu-item: #334155;
  --somnia-menu-hover-bg: #e6f2f2;
  --somnia-menu-hover-color: #146161;
  --somnia-menu-section: #94a3b8;
  --somnia-menu-z: 1200;
  --somnia-action-btn-bg: #ffffff;
  --somnia-action-btn-border: #e2e8f0;
  --somnia-action-btn-hover: #f8fafc;
}

/* =========================================================
   0) Base Bootstrap dropdown (global)
   ========================================================= */
/* Exclui painel do timer (fundo brand #146161 em 18-header-timer.css) */
html.somnia-theme .dropdown-menu:not(.orc-header-timer-menu),
html.somnia-theme .navbar-inverse .dropdown-menu:not(.orc-header-timer-menu),
html.somnia-theme .navbar-main-menu-bg {
  background: var(--somnia-menu-bg) !important;
  border: 1px solid var(--somnia-menu-border) !important;
  border-radius: var(--somnia-menu-radius) !important;
  box-shadow: var(--somnia-menu-shadow) !important;
  padding: 8px !important;
  margin-top: 8px !important;
  min-width: 220px !important;
  overflow: visible !important;
  z-index: var(--somnia-menu-z) !important;
  font-family: var(--somnia-font) !important;
}

html.somnia-theme .dropdown-menu > li,
html.somnia-theme .navbar-inverse .dropdown-menu > li {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  overflow: visible !important;
}

html.somnia-theme .dropdown-menu > li > a,
html.somnia-theme .dropdown-menu > li > a:focus,
html.somnia-theme .dropdown-menu > li > a:hover,
html.somnia-theme .navbar-inverse .dropdown-menu > li > a,
html.somnia-theme .navbar-inverse .dropdown-menu li a,
html.somnia-theme .content .dropdown-menu > li > a,
html.somnia-theme .content .dropdown-menu > li > a:focus,
html.somnia-theme .content .dropdown-menu > li > a:hover {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 12px !important;
  margin: 0 !important;
  border: none !important;
  border-bottom: none !important;
  border-radius: var(--somnia-menu-radius-item) !important;
  background: transparent !important;
  color: var(--somnia-menu-item) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  letter-spacing: var(--somnia-ls) !important;
  text-transform: none !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.18s var(--somnia-ease), color 0.18s var(--somnia-ease);
}

html.somnia-theme .dropdown-menu > li > a:hover,
html.somnia-theme .dropdown-menu > li > a:focus,
html.somnia-theme .navbar-inverse .dropdown-menu > li > a:hover,
html.somnia-theme .navbar-inverse .dropdown-menu li a:hover,
html.somnia-theme .content .dropdown-menu > li > a:hover,
html.somnia-theme .content .dropdown-menu > li > a:focus {
  background: var(--somnia-menu-hover-bg) !important;
  color: var(--somnia-menu-hover-color) !important;
}

html.somnia-theme .dropdown-menu .divider {
  height: 1px !important;
  margin: 6px 4px !important;
  background: var(--somnia-menu-border) !important;
  border: none !important;
}

/* =========================================================
   1) Navbar module dropdowns (All / Sales / …)
   ========================================================= */
html.somnia-theme .navbar-inverse .nav > .topnav,
html.somnia-theme .navbar-inverse .navbar-nav > li.topnav {
  position: relative !important;
}

html.somnia-theme .navbar-inverse .nav > .topnav > .dropdown-menu,
html.somnia-theme .navbar-inverse .nav > .topnav > span.notCurrentTab > .dropdown-menu,
html.somnia-theme .navbar-inverse .nav > .topnav > span.currentTab > .dropdown-menu,
html.somnia-theme .navbar-inverse .navbar-nav > li.topnav > .dropdown-menu,
html.somnia-theme .navbar-inverse .nav > .topnav .dropdown-menu.somnia-nav-dropdown {
  top: calc(100% - 4px) !important;
  left: 0 !important;
  right: auto !important;
  margin: 0 !important;
  margin-top: 0 !important;
  min-width: 240px !important;
  max-width: 300px !important;
  max-height: min(70vh, 520px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 8px !important;
  border-radius: 14px !important;
  z-index: var(--somnia-menu-z) !important;
  line-height: 1.35 !important;
}

html.somnia-theme .navbar-inverse li.topnav.all .dropdown-menu > li.somnia-all-search,
html.somnia-theme .navbar-inverse li.topnav.all ul.All > li.somnia-all-search {
  position: sticky !important;
  top: -8px !important;
  z-index: 2 !important;
  margin: -8px -8px 4px !important;
  padding: 6px 8px 4px !important;
  background: #fff !important;
  list-style: none !important;
}

html.somnia-theme .navbar-inverse li.topnav.all .somnia-all-search-box {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 28px !important;
  padding: 3px 8px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 7px !important;
  background: #f8fafc !important;
}

html.somnia-theme .navbar-inverse li.topnav.all .somnia-all-search-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  color: #64748b !important;
  pointer-events: none !important;
}

html.somnia-theme .navbar-inverse li.topnav.all .somnia-all-search-icon svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
}

html.somnia-theme .navbar-inverse li.topnav.all .somnia-all-search-input {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #334155 !important;
  font-family: var(--somnia-font) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 22px !important;
  outline: none !important;
  box-shadow: none !important;
}

html.somnia-theme .navbar-inverse li.topnav.all .somnia-all-search-input::placeholder {
  color: #94a3b8 !important;
  font-weight: 400 !important;
}

html.somnia-theme .navbar-inverse li.topnav.all .somnia-all-search-box:focus-within {
  border-color: #cbd5e1 !important;
  background: #fff !important;
}

html.somnia-theme .navbar-inverse li.topnav.all .somnia-all-search-input:focus {
  border-color: transparent !important;
  background: transparent !important;
}

html.somnia-theme .navbar-inverse li.topnav.all .dropdown-menu > li[hidden],
html.somnia-theme .navbar-inverse li.topnav.all ul.All > li[hidden],
html.somnia-theme .navbar-inverse li.topnav.all .dropdown-menu li.somnia-all-search-hidden,
html.somnia-theme .navbar-inverse li.topnav.all ul.All li.somnia-all-search-hidden,
html.somnia-theme .navbar-inverse li.topnav.all .dropdown-menu > li.somnia-all-search-hidden {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}

html.somnia-theme .navbar-inverse li.topnav.all > .dropdown-menu,
html.somnia-theme .navbar-inverse li.topnav.all > span > .dropdown-menu {
  z-index: 40000 !important;
  pointer-events: auto !important;
}

html.somnia-theme .navbar-inverse .nav > .topnav.somnia-dropdown-align-right > .dropdown-menu,
html.somnia-theme .navbar-inverse .nav > .topnav.somnia-dropdown-align-right > span > .dropdown-menu {
  left: auto !important;
  right: 0 !important;
}

/* Bridge hover gap */
html.somnia-theme .navbar-inverse .nav > .topnav > .dropdown-menu::before,
html.somnia-theme .navbar-inverse .nav > .topnav > span > .dropdown-menu::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 10px;
  background: transparent;
}

html.somnia-theme .navbar-inverse .nav > .topnav.somnia-dropdown-open > .dropdown-menu,
html.somnia-theme .navbar-inverse .nav > .topnav.somnia-dropdown-open > span.notCurrentTab > .dropdown-menu,
html.somnia-theme .navbar-inverse .nav > .topnav.somnia-dropdown-open > span.currentTab > .dropdown-menu,
html.somnia-theme .navbar-inverse .navbar-nav > li.topnav.open > .dropdown-menu,
html.somnia-theme .navbar-inverse .navbar-nav > li.topnav.open > span > .dropdown-menu {
  display: block !important;
}

html.somnia-theme .navbar-inverse .nav > .topnav > .dropdown-menu li a,
html.somnia-theme .navbar-inverse .nav > .topnav > span > .dropdown-menu li a,
html.somnia-theme .navbar-inverse .navbar-nav > li.topnav > .dropdown-menu li a {
  font-size: 13.5px !important;
  padding: 9px 12px !important;
  border-radius: 8px !important;
  color: var(--somnia-menu-item) !important;
  background: transparent !important;
  border-bottom: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

html.somnia-theme .navbar-inverse .nav > .topnav > .dropdown-menu li a:hover,
html.somnia-theme .navbar-inverse .nav > .topnav > span > .dropdown-menu li a:hover,
html.somnia-theme .navbar-inverse .navbar-nav > li.topnav > .dropdown-menu li a:hover {
  background: var(--somnia-menu-hover-bg) !important;
  color: var(--somnia-menu-hover-color) !important;
}

/* Secções Recent / Favorites */
html.somnia-theme .navbar-inverse .dropdown-menu .recent-links-title,
html.somnia-theme .navbar-inverse .dropdown-menu .favorite-links-title,
html.somnia-theme .navbar-inverse .dropdown-menu .recent-links-title a,
html.somnia-theme .navbar-inverse .dropdown-menu .favorite-links-title a,
html.somnia-theme .navbar-inverse .dropdown-menu .action-links-title,
html.somnia-theme .navbar-inverse .dropdown-menu .action-links-title a {
  color: var(--somnia-menu-section) !important;
  font-size: 10.5px !important;
  font-weight: 650 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  pointer-events: none !important;
  background: transparent !important;
  padding: 10px 12px 4px !important;
  margin-top: 4px !important;
}

html.somnia-theme .navbar-inverse .dropdown-menu .recentlinks a,
html.somnia-theme .navbar-inverse .dropdown-menu .favoritelinks a,
html.somnia-theme .navbar-inverse .dropdown-menu .recent-links-detail,
html.somnia-theme .navbar-inverse .dropdown-menu .favorite-links-detail {
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* estilos de edit/detail recentes → bloco flex abaixo */

/* Últimos acessos / Favoritos — layout estável (anula line-height da navbar) */
html.somnia-theme .navbar-inverse .nav > .topnav .dropdown-menu li.recentlinks,
html.somnia-theme .navbar-inverse .nav > .topnav .dropdown-menu li.favoritelinks,
html.somnia-theme .navbar-inverse .dropdown-menu li.recentlinks,
html.somnia-theme .navbar-inverse .dropdown-menu li.favoritelinks,
html.somnia-theme .topnav .dropdown-menu li.recentlinks,
html.somnia-theme .topnav .dropdown-menu li.favoritelinks,
html.somnia-theme .with-actions .dropdown-menu li.recentlinks,
html.somnia-theme .with-actions .dropdown-menu li.favoritelinks,
html.somnia-theme .navbar-inverse .dropdown-menu .current-module-recent-links li.recentlinks,
html.somnia-theme .navbar-inverse .dropdown-menu .current-module-favorite-links li.favoritelinks {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 4px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 2px 4px !important;
  border-bottom: 1px solid #eef2f6 !important;
  box-sizing: border-box !important;
  line-height: 1.25 !important;
  float: none !important;
  clear: both !important;
  overflow: visible !important;
}

html.somnia-theme .navbar-inverse .dropdown-menu ul.recent-list,
html.somnia-theme .navbar-inverse .dropdown-menu ul.favorite-list,
html.somnia-theme .navbar-inverse .dropdown-menu .current-module-recent-links > ul,
html.somnia-theme .navbar-inverse .dropdown-menu .current-module-favorite-links > ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  line-height: 1.25 !important;
}

html.somnia-theme .navbar-inverse .dropdown-menu li.recentlinks:last-child,
html.somnia-theme .navbar-inverse .dropdown-menu li.favoritelinks:last-child,
html.somnia-theme .navbar-inverse .dropdown-menu li.recentlinks:last-of-type,
html.somnia-theme .navbar-inverse .dropdown-menu li.favoritelinks:last-of-type {
  border-bottom: none !important;
}

html.somnia-theme .navbar-inverse .dropdown-menu li.recentlinks > a.recent-links-detail,
html.somnia-theme .navbar-inverse .dropdown-menu li.favoritelinks > a.favorite-links-detail,
html.somnia-theme .navbar-inverse .dropdown-menu li.favoritelinks > a.recent-links-detail,
html.somnia-theme .topnav .dropdown-menu li a.recent-links-detail,
html.somnia-theme .topnav .dropdown-menu li a.favorite-links-detail,
html.somnia-theme .with-actions .dropdown-menu li a.recent-links-detail,
html.somnia-theme .with-actions .dropdown-menu li a.favorite-links-detail,
html.somnia-theme .navbar-inverse .dropdown-menu li a.recent-links-detail,
html.somnia-theme .navbar-inverse .dropdown-menu li a.favorite-links-detail {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 1 auto !important;
  float: none !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-bottom: 0 !important;
  border-radius: 8px !important;
  line-height: 1.25 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html.somnia-theme .navbar-inverse .dropdown-menu li.recentlinks > a.recent-links-edit,
html.somnia-theme .navbar-inverse .dropdown-menu li.favoritelinks > a.favorite-links-edit,
html.somnia-theme .navbar-inverse .dropdown-menu li.favoritelinks > a.recent-links-edit,
html.somnia-theme .topnav .dropdown-menu li a.recent-links-edit,
html.somnia-theme .topnav .dropdown-menu li a.favorite-links-edit,
html.somnia-theme .with-actions .dropdown-menu li a.recent-links-edit,
html.somnia-theme .with-actions .dropdown-menu li a.favorite-links-edit,
html.somnia-theme .navbar-inverse .dropdown-menu li a.recent-links-edit,
html.somnia-theme .navbar-inverse .dropdown-menu li a.favorite-links-edit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 32px !important;
  float: none !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 0 !important;
  border-radius: 8px !important;
  color: #64748b !important;
  line-height: 1 !important;
  align-self: center !important;
  position: relative !important;
  z-index: 2 !important;
}

html.somnia-theme .navbar-inverse .dropdown-menu li a.recent-links-edit .glyphicon,
html.somnia-theme .navbar-inverse .dropdown-menu li a.favorite-links-edit .glyphicon,
html.somnia-theme .topnav .dropdown-menu li a.recent-links-edit .glyphicon,
html.somnia-theme .topnav .dropdown-menu li a.favorite-links-edit .glyphicon {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  top: 0 !important;
  position: static !important;
  width: 14px !important;
  height: 14px !important;
}

html.somnia-theme .navbar-inverse .dropdown-menu li a.recent-links-edit:hover,
html.somnia-theme .navbar-inverse .dropdown-menu li a.favorite-links-edit:hover {
  color: var(--somnia-brand) !important;
  background: var(--somnia-menu-hover-bg) !important;
}

html.somnia-theme .navbar-inverse .dropdown-menu .suitepicon {
  margin-right: 0;
  color: var(--somnia-muted);
  flex: 0 0 auto;
}

/* =========================================================
   2) User menu + Quick Create + Notifications
   ========================================================= */
html.somnia-theme .navbar-inverse .globalLinks-desktop .dropdown-menu.user-menu,
html.somnia-theme .navbar-inverse .globalLinks-desktop .dropdown-menu.user-dropdown,
html.somnia-theme .navbar-inverse .globalLinks-mobile .dropdown-menu {
  top: 100% !important;
  margin-top: 0 !important;
  right: 0 !important;
  left: auto !important;
  min-width: 220px !important;
  max-width: 260px !important;
  border-radius: 14px !important;
  padding: 8px !important;
}

html.somnia-theme .navbar-inverse .globalLinks-desktop .dropdown-menu.user-menu::before,
html.somnia-theme .navbar-inverse .globalLinks-desktop .dropdown-menu.user-dropdown::before {
  content: "";
  position: absolute;
  top: -18px;
  left: 0;
  right: 0;
  height: 18px;
  background: transparent;
}

html.somnia-theme .navbar-inverse .globalLinks-desktop.open .dropdown-menu,
html.somnia-theme .navbar-inverse .globalLinks-desktop.somnia-dropdown-open .dropdown-menu,
html.somnia-theme .navbar-inverse .globalLinks-desktop:hover .dropdown-menu.user-menu {
  display: block !important;
}

html.somnia-theme .navbar-inverse #globalLinks > a,
html.somnia-theme .navbar-inverse .user-menu-button,
html.somnia-theme .navbar-inverse .globalLinks-desktop > a {
  border-radius: 8px !important;
  transition: background 0.18s var(--somnia-ease);
}

html.somnia-theme .navbar-inverse #globalLinks > a:hover,
html.somnia-theme .navbar-inverse .user-menu-button:hover {
  background: rgba(255, 255, 255, 0.14) !important;
}

/* Quick create — botão uniforme em 16-navbar-toolbar.css */

html.somnia-theme .navbar-inverse #quickcreatetop .dropdown-menu,
html.somnia-theme .navbar-inverse .quickcreatetop .dropdown-menu {
  top: 100% !important;
  margin-top: 0 !important;
  right: 0 !important;
  left: auto !important;
  min-width: 220px !important;
  border-radius: 14px !important;
  padding: 8px !important;
  /* Ponte de hover: evita fechar ao atravessar o espaço sob o botão */
}

html.somnia-theme .navbar-inverse #quickcreatetop .dropdown-menu::before,
html.somnia-theme .navbar-inverse .quickcreatetop .dropdown-menu::before {
  content: "";
  position: absolute;
  top: -16px;
  left: 0;
  right: 0;
  height: 16px;
  background: transparent;
}

html.somnia-theme .navbar-inverse #quickcreatetop .dropdown-menu li a,
html.somnia-theme .navbar-inverse .quickcreatetop .dropdown-menu li a {
  border-bottom: none !important;
  border-radius: 8px !important;
  padding: 9px 12px !important;
  color: var(--somnia-menu-item) !important;
  background: transparent !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html.somnia-theme .navbar-inverse #quickcreatetop .dropdown-menu li a:hover,
html.somnia-theme .navbar-inverse .quickcreatetop .dropdown-menu li a:hover {
  background: var(--somnia-menu-hover-bg) !important;
  color: var(--somnia-menu-hover-color) !important;
}

/* Notifications (exclui o painel do timer — cores brand em 18-header-timer.css) */
html.somnia-theme .navbar-inverse #desktop_notifications:not(#orc-header-timer) .dropdown-menu,
html.somnia-theme .navbar-inverse .desktop_notifications:not(#orc-header-timer) .dropdown-menu,
html.somnia-theme .navbar-inverse #alerts,
html.somnia-theme .navbar-inverse .somnia-alerts-panel {
  border-radius: 14px !important;
  padding: 8px !important;
  min-width: 300px !important;
  max-width: 360px !important;
  top: calc(100% - 4px) !important;
  right: 0 !important;
  left: auto !important;
}

html.somnia-theme .navbar-inverse #desktop_notifications .alert,
html.somnia-theme .navbar-inverse #alerts .alert,
html.somnia-theme .navbar-inverse .somnia-alerts-panel .alert {
  border-radius: 10px !important;
  border: 1px solid var(--somnia-menu-border) !important;
  background: var(--somnia-canvas-2) !important;
  color: var(--somnia-ink-2) !important;
  margin: 4px 0 !important;
  padding: 10px 12px !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

/* Empty state — só quando o dropdown está aberto (não forçar display permanente) */
html.somnia-theme .navbar-inverse #desktop_notifications.open:not(.has-alerts) #alerts:not(.has-alerts),
html.somnia-theme .navbar-inverse #desktop_notifications.somnia-dropdown-open:not(.has-alerts) #alerts:not(.has-alerts),
html.somnia-theme .navbar-inverse .desktop_notifications.open:not(.has-alerts) .somnia-alerts-panel:not(.has-alerts),
html.somnia-theme .navbar-inverse .desktop_notifications.somnia-dropdown-open:not(.has-alerts) .somnia-alerts-panel:not(.has-alerts) {
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  color: var(--somnia-ink-3, #64748b) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  padding: 18px 16px !important;
}

html.somnia-theme .navbar-inverse #alerts .somnia-alerts-empty,
html.somnia-theme .navbar-inverse .somnia-alerts-panel .somnia-alerts-empty {
  display: block;
  width: 100%;
  text-align: center;
  color: var(--somnia-ink-3, #64748b);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.4;
  padding: 8px 4px;
}

/* Estilo dos botões de alerta/timer fica em 16-navbar-toolbar.css */
html.somnia-theme .navbar-inverse .alertsButton,
html.somnia-theme .navbar-inverse .desktop_notifications .dropdown-toggle {
  color: #fff !important;
}

html.somnia-theme .navbar-inverse .alert_count {
  background: #fff !important;
  color: var(--somnia-brand) !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  min-width: 18px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

/* Painel de notificações — cartões premium, sem header cinzento nem botão amarelo */
html.somnia-theme .navbar-inverse #alerts.somnia-alerts-panel.has-alerts,
html.somnia-theme .navbar-inverse .somnia-alerts-panel.has-alerts {
  padding: 0 !important;
  min-width: 340px !important;
  max-width: 400px !important;
  max-height: 480px !important;
  overflow: auto !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--somnia-shadow-pop) !important;
}

html.somnia-theme .somnia-alerts-toolbar {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 12px 8px 11px 14px;
  border-bottom: 1px solid var(--somnia-border);
  background: var(--somnia-surface);
}

html.somnia-theme .somnia-alerts-toolbar-title {
  font-size: 13px;
  font-weight: 650;
  letter-spacing: -0.01em;
  line-height: 1.2;
  color: var(--somnia-ink);
}

html.somnia-theme .somnia-alerts-clear,
html.somnia-theme #alerts .clear-all-alerts-btn,
html.somnia-theme .somnia-alerts-panel .clear-all-alerts-btn {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 6px 8px;
  border: 0 !important;
  border-radius: 8px;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--somnia-brand) !important;
  font-family: var(--somnia-font);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
}

html.somnia-theme .somnia-alerts-clear:hover,
html.somnia-theme .somnia-alerts-clear:focus,
html.somnia-theme #alerts .clear-all-alerts-btn:hover,
html.somnia-theme .somnia-alerts-panel .clear-all-alerts-btn:hover {
  background: var(--somnia-brand-tint) !important;
  color: var(--somnia-brand-hover) !important;
  outline: none;
}

html.somnia-theme .navbar-inverse #alerts .somnia-alert-card,
html.somnia-theme .navbar-inverse .somnia-alerts-panel .somnia-alert-card,
html.somnia-theme .desktop_notifications .has-alerts #alerts .alert {
  position: relative;
  display: block;
  margin: 8px !important;
  padding: 12px 36px 12px 14px !important;
  background: var(--somnia-canvas-2) !important;
  border: 1px solid var(--somnia-border) !important;
  border-left: 3px solid var(--somnia-brand) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--somnia-ink-2) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

html.somnia-theme .navbar-inverse #alerts .somnia-alert-card.alert-warning,
html.somnia-theme .navbar-inverse .somnia-alerts-panel .somnia-alert-card.alert-warning {
  border-left-color: var(--somnia-warning) !important;
}

html.somnia-theme .navbar-inverse #alerts .somnia-alert-card.alert-danger,
html.somnia-theme .navbar-inverse #alerts .somnia-alert-card.alert-error,
html.somnia-theme .navbar-inverse .somnia-alerts-panel .somnia-alert-card.alert-danger,
html.somnia-theme .navbar-inverse .somnia-alerts-panel .somnia-alert-card.alert-error {
  border-left-color: var(--somnia-danger) !important;
}

html.somnia-theme .navbar-inverse #alerts .somnia-alert-card.alert-success,
html.somnia-theme .navbar-inverse .somnia-alerts-panel .somnia-alert-card.alert-success {
  border-left-color: var(--somnia-success) !important;
}

html.somnia-theme #alerts .somnia-alert-kicker,
html.somnia-theme .somnia-alerts-panel .somnia-alert-kicker {
  margin: 0 0 3px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--somnia-brand);
}

html.somnia-theme #alerts .somnia-alert-title,
html.somnia-theme .somnia-alerts-panel .somnia-alert-title {
  display: block;
  margin: 0;
  font-size: 13.5px;
  font-weight: 650;
  line-height: 1.35;
  color: var(--somnia-ink) !important;
  text-decoration: none !important;
}

html.somnia-theme #alerts a.somnia-alert-title:hover,
html.somnia-theme .somnia-alerts-panel a.somnia-alert-title:hover {
  color: var(--somnia-brand) !important;
}

html.somnia-theme .desktop_notifications .has-alerts p.somnia-alert-text,
html.somnia-theme #alerts .somnia-alert-text,
html.somnia-theme .somnia-alerts-panel .somnia-alert-text {
  display: block;
  max-width: none !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--somnia-muted) !important;
  font-size: 12.5px !important;
  font-weight: 450 !important;
  line-height: 1.45 !important;
}

html.somnia-theme #alerts .somnia-alert-dismiss,
html.somnia-theme .somnia-alerts-panel .somnia-alert-dismiss,
html.somnia-theme .desktop_notifications #alerts .close {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  float: none !important;
  width: 24px;
  height: 24px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--somnia-faint) !important;
  font-size: 18px;
  font-weight: 400 !important;
  line-height: 22px;
  opacity: 1 !important;
  text-shadow: none !important;
  filter: none !important;
}

html.somnia-theme #alerts .somnia-alert-dismiss:hover,
html.somnia-theme .somnia-alerts-panel .somnia-alert-dismiss:hover,
html.somnia-theme .desktop_notifications #alerts .close:hover {
  background: var(--somnia-surface);
  color: var(--somnia-ink) !important;
}

html.somnia-theme #alerts .somnia-alert-dismiss span,
html.somnia-theme .somnia-alerts-panel .somnia-alert-dismiss span,
html.somnia-theme .desktop_notifications #alerts .close span {
  color: inherit !important;
  margin: 0 !important;
}

/* =========================================================
   3) clickMenu / SugarActionMenu — botão + subnav
   ========================================================= */
html.somnia-theme ul.clickMenu,
html.somnia-theme ul.SugarActionMenu,
html.somnia-theme ul.clickMenu.SugarActionMenu {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 4px 0 0 !important;
  padding: 0 !important;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  font-family: var(--somnia-font) !important;
  font-size: 13px !important;
  z-index: auto;
}

html.somnia-theme ul.clickMenu:hover,
html.somnia-theme ul.clickMenu:focus-within,
html.somnia-theme ul.clickMenu:has(ul.subnav.ddopen),
html.somnia-theme ul.clickMenu:has(ul.subnav[style*="display: block"]) {
  z-index: 80;
}

html.somnia-theme ul.clickMenu > li.sugar_action_button,
html.somnia-theme #actionLinkTop li.sugar_action_button,
html.somnia-theme #actionLinkBottom li.sugar_action_button,
html.somnia-theme .action-link-top li.sugar_action_button,
html.somnia-theme .action-link-bottom li.sugar_action_button,
html.somnia-theme #selectLinkTop li.sugar_action_button,
html.somnia-theme #selectLinkBottom li.sugar_action_button,
html.somnia-theme #selectLink.clickMenu li.sugar_action_button,
html.somnia-theme .subpanel-table li.sugar_action_button,
html.somnia-theme .subpanel-table .pagination .sugar_action_button,
html.somnia-theme ul.clickMenu.listViewLinkButton > li.sugar_action_button,
html.somnia-theme ul.clickMenu.fancymenu > li.sugar_action_button {
  background: var(--somnia-action-btn-bg) !important;
  background-image: none !important;
  border: 1px solid var(--somnia-action-btn-border) !important;
  border-radius: 8px !important;
  box-shadow: var(--somnia-shadow-xs) !important;
  min-height: 34px !important;
  min-width: 34px !important;
  padding: 0 8px 0 10px !important;
  margin: 0 2px !important;
  line-height: 32px !important;
  transition: background 0.18s var(--somnia-ease), border-color 0.18s var(--somnia-ease), box-shadow 0.18s var(--somnia-ease);
}

html.somnia-theme ul.clickMenu > li.sugar_action_button:hover,
html.somnia-theme #actionLinkTop li.sugar_action_button:hover,
html.somnia-theme #actionLinkBottom li.sugar_action_button:hover,
html.somnia-theme .action-link-top li.sugar_action_button:hover,
html.somnia-theme .action-link-bottom li.sugar_action_button:hover,
html.somnia-theme #selectLinkTop li.sugar_action_button:hover,
html.somnia-theme #selectLinkBottom li.sugar_action_button:hover,
html.somnia-theme .subpanel-table li.sugar_action_button:hover,
html.somnia-theme .subpanel-table .pagination .sugar_action_button:hover,
html.somnia-theme .subpanel-table .pagination li.sugar_action_button:hover > form > a,
html.somnia-theme .subpanel-table .pagination .sugar_action_button:hover > form > a,
html.somnia-theme ul.clickMenu.listViewLinkButton > li.sugar_action_button:hover,
html.somnia-theme ul.clickMenu.fancymenu > li.sugar_action_button:hover {
  background: var(--somnia-action-btn-hover) !important;
  border-color: #cbd5e1 !important;
  box-shadow: var(--somnia-shadow-card) !important;
}

html.somnia-theme ul.clickMenu > li.sugar_action_button > a,
html.somnia-theme #actionLinkTop li.sugar_action_button > a,
html.somnia-theme #actionLinkBottom li.sugar_action_button > a,
html.somnia-theme .subpanel-table li.sugar_action_button > a,
html.somnia-theme .subpanel-table .pagination .sugar_action_button > form > a,
html.somnia-theme .sugar_action_button a {
  color: var(--somnia-ink-2) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  border: none !important;
  background: transparent !important;
  padding: 0 4px 0 0 !important;
  letter-spacing: var(--somnia-ls) !important;
}

html.somnia-theme ul.clickMenu .suitepicon-action-caret,
html.somnia-theme li.sugar_action_button .suitepicon-action-caret {
  color: var(--somnia-muted) !important;
  font-size: 10px !important;
  margin-left: 4px;
  transition: color 0.18s var(--somnia-ease), transform 0.18s var(--somnia-ease);
}

html.somnia-theme ul.clickMenu li.sugar_action_button:hover .suitepicon-action-caret,
html.somnia-theme ul.clickMenu .suitepicon-action-caret.subhover {
  color: var(--somnia-brand) !important;
}

/* ---- Subnav panels (o submenu que abre) ---- */
html.somnia-theme ul.clickMenu ul.subnav,
html.somnia-theme ul.SugarActionMenu ul.subnav,
html.somnia-theme #actionLinkTop ul.subnav,
html.somnia-theme #actionLinkBottom ul.subnav,
html.somnia-theme #selectLinkTop ul.subnav,
html.somnia-theme #selectLinkBottom ul.subnav,
html.somnia-theme #selectLink ul.subnav,
html.somnia-theme .action-link-top ul.subnav,
html.somnia-theme .action-link-bottom ul.subnav,
html.somnia-theme .subpanel-table ul.subnav,
html.somnia-theme ul.clickMenu.fancymenu ul.subnav,
html.somnia-theme ul.clickMenu.listViewLinkButton ul.subnav,
html.somnia-theme ul.clickMenu.subpanel ul.subnav,
html.somnia-theme .SugarActionMenuIESub {
  background: var(--somnia-menu-bg) !important;
  background-image: none !important;
  border: 1px solid var(--somnia-menu-border) !important;
  border-radius: var(--somnia-menu-radius) !important;
  box-shadow: var(--somnia-menu-shadow) !important;
  padding: 8px !important;
  margin: 4px 0 0 !important;
  min-width: 200px !important;
  z-index: 1300 !important;
  list-style: none !important;
  display: none !important;
  position: absolute !important;
  top: 100%;
  left: 0;
  right: auto;
}

html.somnia-theme ul.clickMenu ul.subnav.ddopen,
html.somnia-theme ul.clickMenu ul.subnav[style*="display: block"],
html.somnia-theme ul.clickMenu ul.subnav[style*="display:block"],
html.somnia-theme #actionLinkTop ul.subnav.ddopen,
html.somnia-theme #actionLinkBottom ul.subnav.ddopen,
html.somnia-theme #selectLinkTop ul.subnav.ddopen,
html.somnia-theme #selectLinkBottom ul.subnav.ddopen,
html.somnia-theme .subpanel-table ul.subnav.ddopen,
html.somnia-theme .subpanel-table ul.subnav[style*="display: block"] {
  display: block !important;
}

html.somnia-theme table.list.view tr:has(ul.subnav.ddopen),
html.somnia-theme table.list.view tr:has(ul.subnav[style*="display: block"]),
html.somnia-theme .subpanel-table tr:has(ul.subnav.ddopen),
html.somnia-theme .subpanel-table tr:has(ul.subnav[style*="display: block"]),
html.somnia-theme table.list.view td:has(ul.subnav.ddopen),
html.somnia-theme .subpanel-table td:has(ul.subnav.ddopen) {
  position: relative;
  z-index: 40;
  overflow: visible !important;
}

html.somnia-theme ul.clickMenu ul.subnav li,
html.somnia-theme #actionLinkTop ul.subnav li,
html.somnia-theme #actionLinkBottom ul.subnav li,
html.somnia-theme .subpanel-table ul.subnav li,
html.somnia-theme .SugarActionMenuIESub li {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
  line-height: 1.35 !important;
}

html.somnia-theme ul.clickMenu ul.subnav li a,
html.somnia-theme ul.clickMenu ul.subnav a.menuItem,
html.somnia-theme ul.clickMenu ul.subnav a.menuItemHilite,
html.somnia-theme #actionLinkTop ul.subnav li a,
html.somnia-theme #actionLinkBottom ul.subnav li a,
html.somnia-theme #selectLinkTop ul.subnav li a,
html.somnia-theme #selectLinkBottom ul.subnav li a,
html.somnia-theme #selectLinkTop .sugar_action_button .subnav.ddopen a,
html.somnia-theme #actionLinkTop .sugar_action_button .subnav.ddopen a,
html.somnia-theme #actionLinkBottom .sugar_action_button .subnav.ddopen a,
html.somnia-theme .subpanel-table ul.subnav a,
html.somnia-theme .sub-panel .table-responsive.list > tbody > tr > td ul.subnav a,
html.somnia-theme .SugarActionMenuIESub li a {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  float: none !important;
  padding: 9px 12px !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 8px !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--somnia-menu-item) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  white-space: nowrap;
  transition: background 0.16s var(--somnia-ease), color 0.16s var(--somnia-ease);
}

html.somnia-theme ul.clickMenu ul.subnav li a:hover,
html.somnia-theme ul.clickMenu ul.subnav a.menuItem:hover,
html.somnia-theme ul.clickMenu ul.subnav a.menuItemHilite,
html.somnia-theme ul.clickMenu ul.subnav a.menuItemHilite:hover,
html.somnia-theme #actionLinkTop ul.subnav li a:hover,
html.somnia-theme #actionLinkBottom ul.subnav li a:hover,
html.somnia-theme #selectLinkTop ul.subnav li a:hover,
html.somnia-theme #selectLinkBottom ul.subnav li a:hover,
html.somnia-theme #actionLinkTop .sugar_action_button .subnav.ddopen a:hover,
html.somnia-theme #actionLinkBottom .sugar_action_button .subnav.ddopen a:hover,
html.somnia-theme #selectLinkTop .sugar_action_button .subnav.ddopen a:hover,
html.somnia-theme .subpanel-table ul.subnav a:hover,
html.somnia-theme .sub-panel .table-responsive.list > tbody > tr > td ul.subnav a:hover,
html.somnia-theme .SugarActionMenuIESub li a:hover {
  background: var(--somnia-menu-hover-bg) !important;
  background-color: var(--somnia-menu-hover-bg) !important;
  color: var(--somnia-menu-hover-color) !important;
}

/* Nested sub-sub menus */
html.somnia-theme ul.clickMenu ul.subnav-sub,
html.somnia-theme ul.clickMenu ul.subnav ul.subnav {
  background: var(--somnia-menu-bg) !important;
  border: 1px solid var(--somnia-menu-border) !important;
  border-radius: 10px !important;
  box-shadow: var(--somnia-menu-shadow) !important;
  padding: 6px !important;
}

html.somnia-theme ul.clickMenu ul.subnav-sub.hover,
html.somnia-theme ul.clickMenu ul.subnav li.hover > ul.subnav {
  display: block !important;
}

/* Select menu (checkbox + caret) */
html.somnia-theme #selectLinkTop,
html.somnia-theme #selectLinkBottom,
html.somnia-theme #selectLink.clickMenu {
  line-height: normal !important;
  min-height: 34px !important;
  height: auto !important;
}

html.somnia-theme #selectLinkTop .massall,
html.somnia-theme #selectLinkBottom .massall,
html.somnia-theme .paginationActionButtons .clickMenu .massall,
html.somnia-theme #selectLink.clickMenu .massall {
  margin: 8px 6px 0 2px !important;
  accent-color: var(--somnia-brand);
}

html.somnia-theme .selectActionsDisabled,
html.somnia-theme #selectLinkTop .selectActionsDisabled {
  opacity: 0.55;
  border-radius: 8px !important;
}

/* ListView tool buttons (filter / columns) — área clicável no ListView via 04-tables */
html.somnia-theme ul.clickMenu.searchLink.listViewLinkButton > li.sugar_action_button,
html.somnia-theme ul.clickMenu.columnsFilterLink.listViewLinkButton > li.sugar_action_button {
  min-width: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html.somnia-theme body:not(.somnia-listview-page) ul.clickMenu.searchLink.listViewLinkButton > li.sugar_action_button,
html.somnia-theme body:not(.somnia-listview-page) ul.clickMenu.columnsFilterLink.listViewLinkButton > li.sugar_action_button {
  width: 34px !important;
}

html.somnia-theme ul.clickMenu.searchAppliedAlert.hidden,
html.somnia-theme ul.clickMenu.searchAppliedAlertLink.hidden {
  display: none !important;
}

html.somnia-theme ul.clickMenu.searchLink .suitepicon,
html.somnia-theme ul.clickMenu.columnsFilterLink .suitepicon {
  color: var(--somnia-muted) !important;
  margin: 0 !important;
}

html.somnia-theme ul.clickMenu.searchLink:hover .suitepicon,
html.somnia-theme ul.clickMenu.columnsFilterLink:hover .suitepicon {
  color: var(--somnia-brand) !important;
}

/* Badge legado SuiteP — esconder no tema Somnia (chip em 04-tables) */
html.somnia-theme span.searchAppliedAlert {
  display: none !important;
}

/* =========================================================
   4) Detail / Edit / Dashboard #tab-actions dropdown
   ========================================================= */
html.somnia-theme .content #tab-actions > .dropdown-menu,
html.somnia-theme #tab-actions > .dropdown-menu,
html.somnia-theme .nav-dashboard > li#tab-actions > .dropdown-menu,
html.somnia-theme ul.nav-dashboard > li#tab-actions > .dropdown-menu.tab-actions,
html.somnia-theme #overflow-menu.dropdown-menu,
html.somnia-theme #first-tab-menu-xs.dropdown-menu {
  background: var(--somnia-menu-bg) !important;
  border: 1px solid var(--somnia-menu-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--somnia-menu-shadow) !important;
  padding: 8px !important;
  margin-top: 8px !important;
  min-width: 220px !important;
  left: auto !important;
  right: 0 !important;
}

html.somnia-theme .content #tab-actions > .dropdown-menu li,
html.somnia-theme #tab-actions > .dropdown-menu li,
html.somnia-theme .nav-dashboard #tab-actions > .dropdown-menu li,
html.somnia-theme #first-tab-menu-xs.dropdown-menu > li {
  background: transparent !important;
  border-bottom: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

html.somnia-theme .content #tab-actions > .dropdown-menu a,
html.somnia-theme #tab-actions > .dropdown-menu a,
html.somnia-theme .content #tab-actions > .dropdown-menu .button,
html.somnia-theme #tab-actions > .dropdown-menu .button,
html.somnia-theme #tab-actions > .dropdown-menu input[type="button"],
html.somnia-theme #tab-actions > .dropdown-menu input.button,
html.somnia-theme .nav-dashboard #tab-actions > .dropdown-menu .button,
html.somnia-theme .nav-dashboard #tab-actions > .dropdown-menu input.button,
html.somnia-theme #first-tab-menu-xs.dropdown-menu > li > a {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: var(--somnia-menu-item) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.35 !important;
  padding: 10px 12px !important;
  margin: 0 !important;
  min-height: 0 !important;
}

html.somnia-theme .content #tab-actions > .dropdown-menu a:hover,
html.somnia-theme #tab-actions > .dropdown-menu a:hover,
html.somnia-theme .content #tab-actions > .dropdown-menu .button:hover,
html.somnia-theme #tab-actions > .dropdown-menu .button:hover,
html.somnia-theme #tab-actions > .dropdown-menu input[type="button"]:hover,
html.somnia-theme #tab-actions > .dropdown-menu input.button:hover,
html.somnia-theme #tab-actions > .dropdown-menu .button:focus,
html.somnia-theme #tab-actions > .dropdown-menu .button:active,
html.somnia-theme .nav-dashboard #tab-actions > .dropdown-menu .button:hover,
html.somnia-theme #first-tab-menu-xs.dropdown-menu > li > a:hover {
  background: var(--somnia-menu-hover-bg) !important;
  background-color: var(--somnia-menu-hover-bg) !important;
  color: var(--somnia-menu-hover-color) !important;
  transform: none !important;
}

/* Trigger #tab-actions — já estilizado noutros ficheiros; reforço */
html.somnia-theme .content #tab-actions > a,
html.somnia-theme #tab-actions > a.dropdown-toggle {
  border-color: var(--somnia-brand) !important;
}

html.somnia-theme .nav-dashboard > li#tab-actions > a,
html.somnia-theme ul.nav-dashboard > li#tab-actions > a {
  background: var(--somnia-surface) !important;
  color: var(--somnia-brand) !important;
  border: 1px dashed rgba(20, 97, 97, 0.45) !important;
  border-radius: 999px !important;
  letter-spacing: 0 !important;
  font-weight: 650 !important;
  box-shadow: none !important;
}

html.somnia-theme .nav-dashboard > li#tab-actions > a:hover,
html.somnia-theme ul.nav-dashboard > li#tab-actions.open > a {
  background: var(--somnia-menu-hover-bg) !important;
  border-style: solid !important;
  color: var(--somnia-brand-hover) !important;
}

/* =========================================================
   5) Subpanel Create / Select / row Actions
   ========================================================= */
html.somnia-theme .subpanel-table ul.subpanel,
html.somnia-theme .subpanel-table ul.clickMenu.subpanel {
  background: transparent !important;
  border: none !important;
}

html.somnia-theme .subpanel-table .pagination li.sugar_action_button > form > a,
html.somnia-theme .subpanel-table .pagination .sugar_action_button > form > a {
  background: transparent !important;
  border: none !important;
  color: var(--somnia-ink-2) !important;
  font-weight: 600 !important;
  padding: 0 4px !important;
}

html.somnia-theme .panel.sub-panel .clickMenu.fancymenu > li.sugar_action_button,
html.somnia-theme .sub-panel ul.clickMenu.fancymenu > li.sugar_action_button {
  background: var(--somnia-brand) !important;
  border-color: var(--somnia-brand) !important;
  box-shadow: var(--somnia-shadow-primary) !important;
}

html.somnia-theme .panel.sub-panel .clickMenu.fancymenu > li.sugar_action_button > a,
html.somnia-theme .sub-panel ul.clickMenu.fancymenu > li.sugar_action_button > a,
html.somnia-theme .panel.sub-panel .clickMenu.fancymenu > li.sugar_action_button .suitepicon-action-caret {
  color: #fff !important;
}

html.somnia-theme .panel.sub-panel .clickMenu.fancymenu > li.sugar_action_button:hover {
  background: var(--somnia-brand-hover) !important;
  border-color: var(--somnia-brand-hover) !important;
}

/* Row-level actions: discreet until hover */
html.somnia-theme table.list.view td:has(ul.clickMenu),
html.somnia-theme .subpanel-table td:has(ul.clickMenu),
html.somnia-theme .table-responsive:has(ul.clickMenu.records) {
  overflow: visible !important;
}

html.somnia-theme table.list.view td ul.clickMenu.subpanel.records,
html.somnia-theme .subpanel-table td ul.clickMenu.records {
  opacity: 0.35;
  transition: opacity 0.18s var(--somnia-ease);
}

html.somnia-theme table.list.view tr:hover td ul.clickMenu.subpanel.records,
html.somnia-theme .subpanel-table tr:hover td ul.clickMenu.records {
  opacity: 1;
}

html.somnia-theme table.list.view td ul.clickMenu.subpanel.records > li.sugar_action_button,
html.somnia-theme .subpanel-table td ul.clickMenu.records > li.sugar_action_button {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  min-width: 28px !important;
  padding: 0 4px !important;
}

html.somnia-theme table.list.view td ul.clickMenu.subpanel.records > li.sugar_action_button:hover {
  background: var(--somnia-menu-hover-bg) !important;
  border-color: var(--somnia-menu-border) !important;
}

/* =========================================================
   6) Pagination button cluster
   NÃO usar display:flex em <td> — quebra a tabela ListView.
   ========================================================= */
html.somnia-theme td.paginationActionButtons,
html.somnia-theme td.paginationChangeButtons,
html.somnia-theme .paginationActionButtons {
  vertical-align: middle !important;
}

html.somnia-theme table.list.view td.paginationActionButtons,
html.somnia-theme table.list.view td.paginationChangeButtons {
  display: table-cell !important;
}

html.somnia-theme button.button[name="listViewStartButton"],
html.somnia-theme button.button[name="listViewPrevButton"],
html.somnia-theme button.button[name="listViewNextButton"],
html.somnia-theme button.button[name="listViewEndButton"],
html.somnia-theme .subpanel-table.list tr.pagination button.button[name="listViewStartButton"],
html.somnia-theme .subpanel-table.list tr.pagination button.button[name="listViewPrevButton"],
html.somnia-theme .subpanel-table.list tr.pagination button.button[name="listViewNextButton"],
html.somnia-theme .subpanel-table.list tr.pagination button.button[name="listViewEndButton"] {
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-action-btn-border) !important;
  box-shadow: var(--somnia-shadow-xs) !important;
  color: var(--somnia-ink-2) !important;
}

html.somnia-theme button.button[name="listViewStartButton"]:hover,
html.somnia-theme button.button[name="listViewPrevButton"]:hover,
html.somnia-theme button.button[name="listViewNextButton"]:hover,
html.somnia-theme button.button[name="listViewEndButton"]:hover {
  background: var(--somnia-menu-hover-bg) !important;
  border-color: #cbd5e1 !important;
  color: var(--somnia-brand) !important;
}

/* =========================================================
   7) YUI menus + autocomplete
   ========================================================= */
html.somnia-theme .yuimenu,
html.somnia-theme .yui-module.yui-overlay.yui-panel,
html.somnia-theme div.yuimenu .bd {
  background: var(--somnia-menu-bg) !important;
  border: 1px solid var(--somnia-menu-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--somnia-menu-shadow) !important;
  font-family: var(--somnia-font) !important;
  overflow: hidden;
}

html.somnia-theme a.yuimenuitemlabel,
html.somnia-theme a.yuimenubaritemlabel {
  color: var(--somnia-menu-item) !important;
  font-size: 13px !important;
  border-radius: 6px;
  padding: 8px 12px !important;
}

html.somnia-theme a.yuimenuitemlabel:hover,
html.somnia-theme a.yuimenuitemlabel-selected,
html.somnia-theme .yuimenuitem-selected a.yuimenuitemlabel,
html.somnia-theme .yui-ac-content li.yui-ac-highlight,
html.somnia-theme .yui-ac-content li.yui-ac-prehighlight {
  background: var(--somnia-menu-hover-bg) !important;
  color: var(--somnia-menu-hover-color) !important;
}

html.somnia-theme .yui-ac-content {
  border: 1px solid var(--somnia-menu-border) !important;
  border-radius: 10px !important;
  box-shadow: var(--somnia-menu-shadow) !important;
  background: #fff !important;
  overflow: hidden;
}

/* =========================================================
   8) Native <select> dropdown look (forms)
   ========================================================= */
html.somnia-theme select,
html.somnia-theme select.form-control,
html.somnia-theme #saved_search_select,
html.somnia-theme select[name="saved_search_select"] {
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--somnia-surface) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1.4.6L6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 10px 7px !important;
  padding-right: 32px !important;
  border-radius: 8px !important;
  border: 1px solid var(--somnia-border) !important;
  min-height: 38px;
  cursor: pointer;
}

html.somnia-theme select:hover {
  border-color: #cbd5e1 !important;
}

html.somnia-theme select:focus {
  border-color: var(--somnia-brand) !important;
  box-shadow: 0 0 0 3px var(--somnia-brand-ring) !important;
}

/* =========================================================
   9) Mobile / overflow menus
   ========================================================= */
html.somnia-theme #mobile_menu.dropdown-menu,
html.somnia-theme .mobile_menu.dropdown-menu {
  border-radius: 14px !important;
  padding: 8px !important;
  max-height: 70vh;
  overflow: auto;
}

html.somnia-theme #mobile_menu.dropdown-menu > li > a {
  border-radius: 8px !important;
  padding: 10px 12px !important;
}

/* Search dropdown (mobile navbar) */
html.somnia-theme .navbar-inverse .searchformdropdown.dropdown-menu {
  border-radius: 14px !important;
  padding: 12px !important;
  min-width: 280px !important;
}

/* source: custom/themes/SuiteP/css/somnia/12-sidebar.css */
/**
 * Somnia — Sidebar drawer (overlay)
 * Tokens locais para tipografia/espaçamento compactos e limpos.
 */

:root {
  --somnia-sidebar-w: 300px;
  --somnia-sidebar-duration: 0.38s;
  --somnia-sidebar-ease: cubic-bezier(0.32, 0.72, 0, 1);
  --somnia-sidebar-pad-x: 12px;
  --somnia-sidebar-row-pad: 6px 8px;
  --somnia-sidebar-gap: 8px;
  --somnia-sidebar-font: 12.5px;
  --somnia-sidebar-icon: 15px;
  --somnia-sidebar-radius: 8px;
  --somnia-sidebar-hover: #f1f5f9;
}

/* Conteúdo sempre full-width (drawer não empurra) */
html.somnia-theme #bootstrap-container.main,
html.somnia-theme #bootstrap-container.collapsedSidebar,
html.somnia-theme #bootstrap-container.expandedSidebar {
  margin-left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  float: none !important;
}

html.somnia-theme footer.collapsedSidebar,
html.somnia-theme footer.expandedSidebar {
  margin-left: 0 !important;
  width: 100% !important;
}

/*
 * Stacking: o container cria um stacking context.
 * Tem de ficar ACIMA do backdrop (senão o fundo cobre a sidebar).
 */
#sidebar_container.sidebar_container {
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  z-index: 12050 !important;
  pointer-events: none !important;
  background: transparent !important;
  border: none !important;
}

/* ========== Toggle — patilha colada à esquerda do ecrã ========== */
#buttontoggle.buttontoggle.somnia-sidebar-toggle {
  pointer-events: auto !important;
  position: fixed !important;
  top: calc(var(--somnia-nav-height, 60px) + 2px) !important;
  left: 0 !important;
  z-index: 32050 !important;
  width: 32px !important;
  height: 40px !important;
  min-width: 32px !important;
  min-height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0 10px 10px 0 !important;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  border-left: 0 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  box-shadow: 2px 2px 10px rgba(15, 23, 42, 0.12) !important;
  cursor: grab !important;
  touch-action: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  text-decoration: none !important;
  transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease !important;
}

#buttontoggle.buttontoggle.somnia-sidebar-toggle.is-dragging {
  cursor: grabbing !important;
  transition: none !important;
}

#buttontoggle.buttontoggle.somnia-sidebar-toggle:hover {
  border-color: #99f6e4 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%) !important;
}

html body.somnia-sidebar-drawer-open #buttontoggle.buttontoggle.somnia-sidebar-toggle,
#buttontoggle.buttontoggle.somnia-sidebar-toggle.somnia-sidebar-toggle--open,
#buttontoggle.buttontoggle.somnia-sidebar-toggle[data-somnia-open="true"] {
  cursor: pointer !important;
  border-color: #0d5252 !important;
  border-left: 0 !important;
  background: #146161 !important;
  background-image: linear-gradient(180deg, #167a7a 0%, #146161 55%, #0f4f4f 100%) !important;
  box-shadow: 2px 4px 14px rgba(20, 97, 97, 0.28) !important;
}

#buttontoggle.buttontoggle.somnia-sidebar-toggle * {
  pointer-events: none !important;
  -webkit-user-drag: none !important;
  user-select: none !important;
}

#buttontoggle.buttontoggle.somnia-sidebar-toggle .somnia-sidebar-toggle__icon {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  line-height: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}

#buttontoggle.buttontoggle.somnia-sidebar-toggle .somnia-sidebar-toggle__icon--close,
#buttontoggle.buttontoggle.somnia-sidebar-toggle .somnia-sidebar-toggle__icon--menu span,
#buttontoggle.buttontoggle.somnia-sidebar-toggle > span:not(.somnia-sidebar-toggle__icon) {
  display: none !important;
}

#buttontoggle.buttontoggle.somnia-sidebar-toggle .somnia-sidebar-toggle__icon--menu {
  display: block !important;
}

html body.somnia-sidebar-drawer-open #buttontoggle.buttontoggle.somnia-sidebar-toggle .somnia-sidebar-toggle__icon--menu,
#buttontoggle.buttontoggle.somnia-sidebar-toggle.somnia-sidebar-toggle--open .somnia-sidebar-toggle__icon--menu {
  display: none !important;
}

html body.somnia-sidebar-drawer-open #buttontoggle.buttontoggle.somnia-sidebar-toggle .somnia-sidebar-toggle__icon--close,
#buttontoggle.buttontoggle.somnia-sidebar-toggle.somnia-sidebar-toggle--open .somnia-sidebar-toggle__icon--close {
  display: block !important;
}

#buttontoggle.buttontoggle.somnia-sidebar-toggle::before,
#buttontoggle.buttontoggle.somnia-sidebar-toggle::after,
#buttontoggle.buttontoggle.somnia-sidebar-toggle.button-toggle-expanded span::before,
#buttontoggle.buttontoggle.somnia-sidebar-toggle.button-toggle-collapsed span::before {
  display: none !important;
  content: none !important;
}

/* ========== Drawer ========== */
.sidebar.somnia-sidebar {
  position: fixed !important;
  left: 0 !important;
  top: var(--somnia-nav-height, 60px) !important;
  width: var(--somnia-sidebar-w) !important;
  min-width: var(--somnia-sidebar-w) !important;
  max-width: var(--somnia-sidebar-w) !important;
  height: calc(100vh - var(--somnia-nav-height, 60px)) !important;
  background: #fff !important;
  border-right: 1px solid var(--somnia-border-2, #e8eef4) !important;
  transform: translate3d(-100%, 0, 0);
  transition: transform var(--somnia-sidebar-duration) var(--somnia-sidebar-ease),
    box-shadow var(--somnia-sidebar-duration) var(--somnia-sidebar-ease);
  pointer-events: auto !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  visibility: visible !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  box-shadow: none !important;
  isolation: isolate;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.sidebar.somnia-sidebar:not(.somnia-sidebar-is-collapsed) {
  transform: translate3d(0, 0, 0);
  box-shadow: 8px 0 32px rgba(15, 23, 42, 0.16) !important;
}

.sidebar.somnia-sidebar.somnia-sidebar-is-collapsed {
  transform: translate3d(-100%, 0, 0);
}

.somnia-sidebar-body {
  width: 100%;
  padding: 10px 0 16px !important;
  box-sizing: border-box;
}

/* ========== Secções ========== */
.somnia-sidebar-section,
.sidebar.somnia-sidebar .actionMenuSidebar,
.sidebar.somnia-sidebar .recentlyViewedSidebar,
.sidebar.somnia-sidebar .favoritesSidebar {
  padding: 0 var(--somnia-sidebar-pad-x) !important;
  margin: 0 0 4px !important;
  background: transparent !important;
  border: none !important;
  float: none !important;
  width: auto !important;
}

.sidebar.somnia-sidebar .recentlyViewedSidebar,
.sidebar.somnia-sidebar .favoritesSidebar {
  margin-top: 8px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--somnia-border-2, #e8eef4) !important;
}

.somnia-sidebar-section-title,
.sidebar.somnia-sidebar .recent_h3 {
  font-size: 10px !important;
  font-weight: 650 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--somnia-faint, #94a3b8) !important;
  margin: 0 0 4px !important;
  padding: 0 2px !important;
  background: transparent !important;
  border: none !important;
  line-height: 1.3 !important;
}

.sidebar.somnia-sidebar ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* ========== Linhas (acções / recentes / favoritos) ========== */
.sidebar.somnia-sidebar .actionmenulinks,
.sidebar.somnia-sidebar .recently_viewed_link_container_sidebar,
.sidebar.somnia-sidebar .recentlinks {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

.sidebar.somnia-sidebar .recently_viewed_link_container_sidebar {
  display: block;
  margin: 0;
}

.sidebar.somnia-sidebar .recently_viewed_link_container_sidebar .recentlinks,
.sidebar.somnia-sidebar .recently_viewed_link_container_sidebar.recentlinks {
  display: flex !important;
  align-items: center !important;
  gap: 0;
}

.sidebar.somnia-sidebar .actionmenulinks > a,
.sidebar.somnia-sidebar .recentlinks > a.recent-links-detail,
.sidebar.somnia-sidebar .recentlinks > a.favorite-links-detail {
  display: flex !important;
  align-items: center !important;
  gap: var(--somnia-sidebar-gap) !important;
  box-sizing: border-box !important;
  padding: var(--somnia-sidebar-row-pad) !important;
  margin: 0 !important;
  border-radius: var(--somnia-sidebar-radius) !important;
  color: var(--somnia-body, #334155) !important;
  text-decoration: none !important;
  font-size: var(--somnia-sidebar-font) !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  background: transparent !important;
  border: none !important;
  line-height: 1.3 !important;
  min-width: 0 !important;
  transition: color 0.12s ease;
}

.sidebar.somnia-sidebar .actionmenulinks > a {
  width: 100% !important;
  margin: 0 0 2px !important;
}

/* SuiteP força min-height 48px no label — compactar */
.sidebar.somnia-sidebar .actionMenuSidebar li a .actionmenulink,
.sidebar.somnia-sidebar .actionmenulink {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  width: auto !important;
  display: block !important;
}

.sidebar.somnia-sidebar .recentlinks > a.recent-links-detail,
.sidebar.somnia-sidebar .recentlinks > a.favorite-links-detail {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
}

/* Anular hover cinzento nativo SuiteP (#677785) */
.sidebar.somnia-sidebar .recentlyViewedSidebar li:hover,
.sidebar.somnia-sidebar .favoritesSidebar li:hover,
.sidebar.somnia-sidebar .recentlyViewedSidebar li.recentlinks:hover,
.sidebar.somnia-sidebar .favoritesSidebar li.recentlinks:hover,
.sidebar.somnia-sidebar li.recentlinks:hover,
.sidebar.somnia-sidebar .recently_viewed_link_container_sidebar:hover,
.sidebar.somnia-sidebar .nav-pills > li:hover,
.sidebar.somnia-sidebar .nav-pills > li:focus,
.sidebar.somnia-sidebar .nav-pills > li > a:hover,
.sidebar.somnia-sidebar .nav-pills > li > a:focus {
  background: transparent !important;
  background-color: transparent !important;
}

/* Hover único na linha */
.sidebar.somnia-sidebar .actionmenulinks > a:hover {
  background: var(--somnia-sidebar-hover) !important;
  color: var(--somnia-ink, #0f172a) !important;
}

/* Criar — acção primária */
.sidebar.somnia-sidebar .actionmenulinks.somnia-sidebar-action-create > a {
  background: var(--somnia-brand, #146161) !important;
  color: #fff !important;
  font-weight: 650 !important;
  box-shadow: 0 1px 2px rgba(20, 97, 97, 0.22);
}

.sidebar.somnia-sidebar .actionmenulinks.somnia-sidebar-action-create > a .suitepicon,
.sidebar.somnia-sidebar .actionmenulinks.somnia-sidebar-action-create > a .side-bar-action-icon .suitepicon {
  color: #fff !important;
}

.sidebar.somnia-sidebar .actionmenulinks.somnia-sidebar-action-create > a:hover {
  background: var(--somnia-brand-hover, #105454) !important;
  color: #fff !important;
}

.sidebar.somnia-sidebar .recentlinks:hover,
.sidebar.somnia-sidebar .recently_viewed_link_container_sidebar:hover .recentlinks {
  background: var(--somnia-sidebar-hover) !important;
  border-radius: var(--somnia-sidebar-radius) !important;
}

.sidebar.somnia-sidebar .recentlinks:hover > a.recent-links-detail,
.sidebar.somnia-sidebar .recentlinks:hover > a.favorite-links-detail,
.sidebar.somnia-sidebar .recentlinks > a.recent-links-detail:hover,
.sidebar.somnia-sidebar .recentlinks > a.favorite-links-detail:hover {
  background: transparent !important;
  color: var(--somnia-ink, #0f172a) !important;
}

/* Ícones */
.sidebar.somnia-sidebar .side-bar-action-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  float: none !important;
  width: var(--somnia-sidebar-icon) !important;
  height: var(--somnia-sidebar-icon) !important;
  min-width: var(--somnia-sidebar-icon) !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}

.sidebar.somnia-sidebar .side-bar-action-icon .suitepicon,
.sidebar.somnia-sidebar .suitepicon {
  color: var(--somnia-brand, #146161) !important;
  flex-shrink: 0;
  font-size: var(--somnia-sidebar-icon) !important;
  width: var(--somnia-sidebar-icon) !important;
  height: var(--somnia-sidebar-icon) !important;
  line-height: 1 !important;
}

/* Labels — ellipsis só se ainda não couber */
.sidebar.somnia-sidebar .actionmenulink,
.sidebar.somnia-sidebar .recentlinks > a.recent-links-detail > span:not(.suitepicon),
.sidebar.somnia-sidebar .recentlinks > a.favorite-links-detail > span:not(.suitepicon) {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar.somnia-sidebar .recentlinks {
  position: relative;
}

/* Lápis edit — visível, mais forte no hover da linha */
.sidebar.somnia-sidebar .recent-links-edit,
.sidebar.somnia-sidebar .favorite-links-edit {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0.72;
  padding: 4px !important;
  margin: 0 2px 0 0 !important;
  border-radius: 6px !important;
  color: var(--somnia-muted, #64748b) !important;
  background: transparent !important;
  width: 26px !important;
  height: 26px !important;
  line-height: 1 !important;
  transition: opacity 0.12s ease, color 0.12s ease, background 0.12s ease;
}

.sidebar.somnia-sidebar .recent-links-edit .glyphicon,
.sidebar.somnia-sidebar .favorite-links-edit .glyphicon,
.sidebar.somnia-sidebar .recent-links-edit .suitepicon,
.sidebar.somnia-sidebar .favorite-links-edit .suitepicon {
  font-size: 12px !important;
  color: inherit !important;
}

.sidebar.somnia-sidebar .recentlinks:hover .recent-links-edit,
.sidebar.somnia-sidebar .recentlinks:hover .favorite-links-edit,
.sidebar.somnia-sidebar .recent-links-edit:hover,
.sidebar.somnia-sidebar .favorite-links-edit:hover {
  opacity: 1;
  color: var(--somnia-brand, #146161) !important;
  background: var(--somnia-brand-tint, #e6f2f2) !important;
}

/* Tooltip do nome cortado (mais imediato que title nativo) */
.sidebar.somnia-sidebar .recentlinks.is-truncated:hover::after {
  content: attr(data-full-name);
  position: absolute;
  left: 8px;
  right: 8px;
  top: calc(100% + 2px);
  z-index: 6;
  padding: 6px 8px;
  background: #0f172a;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
  white-space: normal;
  word-break: break-word;
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18);
  pointer-events: none;
}

/* ========== Backdrop ========== */
.somnia-sidebar-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: var(--somnia-nav-height, 64px);
  background: rgba(15, 23, 42, 0.42);
  z-index: 1090 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--somnia-sidebar-duration) var(--somnia-sidebar-ease),
    visibility var(--somnia-sidebar-duration) var(--somnia-sidebar-ease);
}

.somnia-sidebar-backdrop.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.somnia-sidebar-drawer-open {
  overflow-x: hidden;
}

@media (max-width: 1199px) {
  :root {
    --somnia-sidebar-w: 280px;
  }
}

@media (max-width: 767px) {
  :root {
    --somnia-sidebar-w: min(92vw, 300px);
    --somnia-sidebar-font: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --somnia-sidebar-duration: 0.01ms;
  }
}

/* source: custom/themes/SuiteP/css/somnia/13-fullcalendar-skin.css */
/**
 * FullCalendar v3 skin — TailAdmin-like (loads AFTER fullcalendar.min.css)
 * Scoped to #calendarContainer only — does not break FC layout math.
 */

#calendarContainer .fc {
  background: #fff;
}

/* ---------- Month view: override SuiteP teal day headers (#008c8c) ---------- */
body.somnia-calendar-page #calendarContainer td.fc-day-top,
body.somnia-calendar-page #calendarContainer .fc-day-top,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer td.fc-day-top,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-day-top,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] #calendarContainer td.fc-day-top,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] #calendarContainer .fc-day-top {
  background: #fff !important;
  border-color: #f1f5f9 !important;
  cursor: default !important;
}

body.somnia-calendar-page #calendarContainer td.fc-day-top.fc-today,
body.somnia-calendar-page #calendarContainer .fc-day-top.fc-today,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer td.fc-day-top.fc-today,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-day-top.fc-today {
  background: #f8fafc !important;
}

body.somnia-calendar-page #calendarContainer thead.fc-head,
body.somnia-calendar-page #calendarContainer thead.fc-head tr,
body.somnia-calendar-page #calendarContainer .fc-head,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer thead.fc-head,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer thead.fc-head tr,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-head {
  background: #f8fafc !important;
}

body.somnia-calendar-page #calendarContainer td.fc-widget-header,
body.somnia-calendar-page #calendarContainer .fc-widget-header,
body.somnia-calendar-page #calendarContainer .fc-widget-header table > thead > tr > th,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer td.fc-widget-header,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-widget-header,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-widget-header table > thead > tr > th {
  background: #f8fafc !important;
  border-color: #f1f5f9 !important;
  padding: 0 !important;
}

body.somnia-calendar-page #calendarContainer .fc-day-header,
body.somnia-calendar-page #calendarContainer .fc-day-header a,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-day-header,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-day-header a {
  color: #64748b !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body.somnia-calendar-page #calendarContainer .fc-day-header.fc-today,
body.somnia-calendar-page #calendarContainer .fc-day-header.fc-today a,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-day-header.fc-today,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-day-header.fc-today a {
  color: var(--somnia-brand, #146161) !important;
}

body.somnia-calendar-page #calendarContainer div.fc-basic-view .fc-body .fc-row,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer div.fc-basic-view .fc-body .fc-row {
  min-height: 5.5em !important;
}

body.somnia-calendar-page #calendarContainer .fc-month-view .fc-content-skeleton .fc-day-top,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-month-view .fc-content-skeleton .fc-day-top {
  padding-bottom: 4px !important;
}

body.somnia-calendar-page #calendarContainer td.fc-day-top.fc-other-month,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer td.fc-day-top.fc-other-month {
  background: #fafbfc !important;
  opacity: 1 !important;
}

#calendarContainer .fc table {
  border-color: #f1f5f9 !important;
}

#calendarContainer .fc td,
#calendarContainer .fc th {
  border-color: #e2e8f0 !important;
}

#calendarContainer .fc-head-container,
#calendarContainer .fc-head {
  background: #fff !important;
}

#calendarContainer .fc-head .fc-row {
  border-color: #f1f5f9 !important;
}

#calendarContainer .fc-head .fc-day-header {
  padding: 12px 8px !important;
  height: 44px !important;
  box-sizing: border-box !important;
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
  color: #475569 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  vertical-align: middle !important;
  line-height: 1.2 !important;
}

#calendarContainer .fc-head .fc-day-header a {
  color: inherit !important;
  text-decoration: none !important;
  font-weight: inherit !important;
}

#calendarContainer .fc-head .fc-day-header.fc-today {
  background: var(--somnia-brand-light, #e6f2f2) !important;
  color: var(--somnia-brand, #146161) !important;
  box-shadow: none !important;
  position: relative;
  top: 0 !important;
}

#calendarContainer .fc-day-grid .fc-row,
#calendarContainer .fc-time-grid .fc-slats,
#calendarContainer .fc-time-grid .fc-bg {
  border-color: #f1f5f9 !important;
}

#calendarContainer .fc-time-grid .fc-slats .fc-minor td {
  border-top-color: transparent !important;
}

#calendarContainer .fc-time-grid .fc-slats td {
  height: 3em !important;
}

#calendarContainer .fc-axis {
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding-left: 8px !important;
  padding-right: 10px !important;
}

#calendarContainer .fc-time-grid .fc-bg .fc-today,
#calendarContainer .fc-day-grid .fc-today {
  background: rgba(20, 97, 97, 0.1) !important;
}

#calendarContainer .fc-agenda-view .fc-day-grid {
  background: #fafbfc !important;
}

#calendarContainer .fc-divider.fc-cell-divider {
  background: #f8fafc !important;
  border-color: #eef2f6 !important;
  padding: 4px 0 !important;
}

#calendarContainer .fc-day-grid .fc-day-number {
  float: right;
  margin: 8px 10px 4px 0;
  padding: 0;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #475569 !important;
}

#calendarContainer .fc-day-grid .fc-today .fc-day-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  margin: 6px 8px 2px 0;
  border-radius: 999px;
  background: var(--somnia-brand, #146161) !important;
  color: #fff !important;
}

#calendarContainer .fc-day-grid .fc-other-month .fc-day-number {
  color: #cbd5e1 !important;
}

#calendarContainer .fc-day-top {
  padding: 2px 0;
}

#calendarContainer .fc-event {
  border: none !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12) !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

/* Mês / all-day: barras horizontais. */
#calendarContainer .fc-day-grid-event {
  margin: 1px 4px !important;
  padding: 2px 7px !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: calc(100% - 8px);
}

/* Agenda: geometria vem do FullCalendar (top/bottom/left/right). */
#calendarContainer .fc-time-grid-event {
  margin: 0 2px 1px 0 !important;
  padding: 2px 6px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  min-height: 0 !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1) !important;
}

#calendarContainer .fc-time-grid-event .fc-content {
  overflow: hidden;
  min-width: 0;
  max-height: 100%;
}

#calendarContainer .fc-event .fc-time {
  font-size: 11px !important;
  font-weight: 700 !important;
  opacity: 0.9;
}

#calendarContainer .fc-event .fc-title {
  font-weight: 600 !important;
}

#calendarContainer .fc-time-grid-event .fc-time,
#calendarContainer .fc-time-grid-event .fc-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

#calendarContainer .fc-time-grid-event.fc-short {
  padding: 1px 5px !important;
}

#calendarContainer .fc-event:hover {
  filter: brightness(0.97);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.14) !important;
  z-index: 8 !important;
}

#calendarContainer .fc-time-grid-event.somnia-cal-event-md,
#calendarContainer .fc-time-grid-event[data-somnia-cal-cols="2"] {
  padding: 2px 5px !important;
  font-size: 11px !important;
}

#calendarContainer .fc-time-grid-event.somnia-cal-event-sm,
#calendarContainer .fc-time-grid-event[data-somnia-cal-cols="3"] {
  padding: 1px 4px !important;
  font-size: 10px !important;
  border-radius: 5px !important;
}

#calendarContainer .fc-time-grid-event.somnia-cal-event-xs,
#calendarContainer .fc-time-grid-event[data-somnia-cal-cols="4"] {
  padding: 1px 3px !important;
  font-size: 9px !important;
  border-radius: 4px !important;
}

#calendarContainer .fc-time-grid-event.somnia-cal-event-xs .fc-time,
#calendarContainer .fc-time-grid-event[data-somnia-cal-cols="4"] .fc-time {
  display: none;
}

#calendarContainer a.fc-more {
  margin: 4px 8px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--somnia-brand, #146161) !important;
}

#calendarContainer .fc-highlight {
  background: rgba(20, 97, 97, 0.12) !important;
  opacity: 1 !important;
}

#calendarContainer .fc-now-indicator-line {
  border-color: #ef4444 !important;
  border-width: 2px !important;
}

#calendarContainer .fc-now-indicator-arrow {
  border-color: #ef4444 !important;
}

/*
 * Não forçar overflow no head (agenda não tem scroller no head).
 * No time-grid deixar o FC gerir via lockOverflow; só esconder overflow-x.
 */
#calendarContainer .fc-scroller {
  overflow-x: hidden !important;
}

#calendarContainer .fc-scroller.fc-time-grid-container {
  overflow-x: hidden !important;
}

/* Reserva o gutter da scrollbar do time-grid desde o 1.º paint — evita o
   salto horizontal das colunas quando o FullCalendar passa a ter scroll. */
html.somnia-theme:has(.somnia-home-entry) #calendarContainer .fc-scroller.fc-time-grid-container,
.somnia-cal-dashlet-wrap #calendarContainer .fc-scroller.fc-time-grid-container {
  scrollbar-gutter: stable;
}

html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-time-grid .fc-axis,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-head .fc-axis,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] #calendarContainer .fc-time-grid .fc-axis,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] #calendarContainer .fc-head .fc-axis,
.somnia-cal-dashlet-wrap #calendarContainer .fc-time-grid .fc-axis,
.somnia-cal-dashlet-wrap #calendarContainer .fc-head .fc-axis,
.somnia-cal-dashlet-wrap #calendarContainer .fc-day-grid .fc-axis {
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  padding-right: 8px !important;
  box-sizing: border-box !important;
}

body.somnia-calendar-page #calendarContainer .fc-head .fc-day-header,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-head .fc-day-header {
  padding: 12px 6px !important;
}

body.somnia-calendar-page #calendarContainer .fc-time-grid .fc-bg td,
body.somnia-calendar-page #calendarContainer .fc-time-grid .fc-slats td,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-time-grid .fc-bg td,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-time-grid .fc-slats td {
  box-sizing: border-box !important;
}

/* Dashlet: table-layout fixed — o gutter JS define a largura útil */
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-time-grid table,
html.somnia-theme:has(.somnia-home-entry) #pageContainer #calendarContainer .fc-head table,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] #calendarContainer .fc-time-grid table,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] #calendarContainer .fc-head table,
.somnia-cal-dashlet-wrap #calendarContainer .fc-time-grid table,
.somnia-cal-dashlet-wrap #calendarContainer .fc-head table,
.somnia-cal-dashlet-wrap #calendarContainer .fc-day-grid table {
  table-layout: fixed !important;
}

/* Página do módulo: o FullCalendar calcula o gutter; não forçar width extra */
body.somnia-calendar-page #calendarContainer .fc-scroller,
body.somnia-calendar-page #calendarContainer .fc-scroller.fc-time-grid-container {
  overflow-x: auto !important;
}

body.somnia-calendar-page #calendarContainer .fc-head .fc-day-header {
  padding: 0 !important;
  height: 44px !important;
}

body.somnia-calendar-page #calendarContainer .fc-head .fc-day-header a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 44px;
  padding: 0 6px;
  box-sizing: border-box;
  background: transparent !important;
  box-shadow: none !important;
}

body.somnia-calendar-page #calendarContainer .fc-head .fc-day-header.fc-today {
  background: var(--somnia-brand-light, #e6f2f2) !important;
}

body.somnia-calendar-page #calendarContainer col.fc-axis,
body.somnia-calendar-page #calendarContainer .fc-axis {
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  box-sizing: border-box !important;
}

/* Gutter aplicado pelo JS em .fc-head-container / .fc-day-grid */
#calendarContainer .fc-head-container,
#calendarContainer .fc-day-grid {
  box-sizing: border-box !important;
}

/* calSharedUser — ver somnia-calendar.css (centrado, marca #146161) */

/* Popovers (outside #calendarContainer) */
.fc-popover.fc-more-popover {
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.16) !important;
  overflow: hidden;
}

.fc-popover .fc-header {
  background: #f8fafc !important;
  padding: 12px 14px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

.fc-popover .fc-body {
  padding: 8px !important;
}

.fc-popover .fc-event {
  border-radius: 6px !important;
  margin-bottom: 4px !important;
}

/* source: custom/themes/SuiteP/css/somnia/14-calendar-colors.css */
/**
 * Somnia — cor por defeito das marcações no calendário (#c5e1dc).
 */
#calendarContainer .fc-event,
#calendarContainer .fc-event.fc-draggable,
#calendarContainer .fc-event.fc-resizable,
#calendarContainer .fc-time-grid-event,
#calendarContainer .fc-day-grid-event {
  background-color: #c5e1dc !important;
  border: 1px solid #a8d4cd !important;
  color: #146161 !important;
}

#calendarContainer .fc-event .fc-time,
#calendarContainer .fc-event .fc-title {
  color: #146161 !important;
}

#calendarContainer .fc-event:hover {
  background-color: #b8d9d3 !important;
  border-color: #9bc9c1 !important;
}

.fc-popover .fc-event {
  background-color: #c5e1dc !important;
  border: 1px solid #a8d4cd !important;
  color: #146161 !important;
}

/* source: custom/themes/SuiteP/css/somnia/15-calendar-dashlet.css */
/**
 * Somnia CRM — Calendar dashlet (Home)
 * Markup: custom/modules/Calendar/tpls/header.tpl + #calendarContainer
 * Classe .somnia-cal-dashlet-wrap injectada por somnia-ui.js
 */

/* ---------- Painel ---------- */
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(#calendarContainer) {
  margin: 0 0 8px !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap > .bd,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(#calendarContainer) > .bd {
  padding: 0 !important;
  background: #fff !important;
  position: relative !important;
  min-height: var(--somnia-cal-h, 620px) !important;
}

html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(#calendarContainer) #calendarContainer {
  min-height: var(--somnia-cal-inner-h, 560px) !important;
}

/* ---------- Toolbar período + link ---------- */
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  padding: 12px 16px 10px !important;
  margin: 0 !important;
  border: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
  background: #fff !important;
  box-shadow: none !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar .somnia-cal-dashlet-nav,
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar .monthHeader {
  display: flex !important;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  border-left: none !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar .somnia-cal-nav-prev,
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar .somnia-cal-nav-next {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

html.somnia-theme .somnia-cal-nav-prev a,
html.somnia-theme .somnia-cal-nav-next a,
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar .somnia-cal-nav-prev a,
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar .somnia-cal-nav-next a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #334155 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer;
  box-sizing: border-box !important;
}

html.somnia-theme .somnia-cal-nav-prev a:hover,
html.somnia-theme .somnia-cal-nav-next a:hover,
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar .somnia-cal-nav-prev a:hover,
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar .somnia-cal-nav-next a:hover {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #146161 !important;
}

html.somnia-theme .somnia-cal-nav-prev a > svg,
html.somnia-theme .somnia-cal-nav-next a > svg,
html.somnia-theme .somnia-cal-nav-prev a > img,
html.somnia-theme .somnia-cal-nav-next a > img,
html.somnia-theme .somnia-cal-nav-prev a > span:not(.somnia-cal-nav-ico),
html.somnia-theme .somnia-cal-nav-next a > span:not(.somnia-cal-nav-ico) {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
  overflow: hidden !important;
}

html.somnia-theme .somnia-cal-nav-prev a::before,
html.somnia-theme .somnia-cal-nav-next a::before,
html.somnia-theme .somnia-cal-nav-ico {
  content: "" !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px;
  background-color: currentColor !important;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 16px 16px;
  mask-size: 16px 16px;
}

html.somnia-theme .somnia-cal-nav-prev a:has(.somnia-cal-nav-ico)::before,
html.somnia-theme .somnia-cal-nav-next a:has(.somnia-cal-nav-ico)::before {
  content: none !important;
  display: none !important;
}

html.somnia-theme .somnia-cal-nav-prev a::before,
html.somnia-theme .somnia-cal-nav-prev .somnia-cal-nav-ico {
  -webkit-mask-image: var(--somnia-ico-chevron-left);
  mask-image: var(--somnia-ico-chevron-left);
}

html.somnia-theme .somnia-cal-nav-next a::before,
html.somnia-theme .somnia-cal-nav-next .somnia-cal-nav-ico {
  -webkit-mask-image: var(--somnia-ico-chevron-right);
  mask-image: var(--somnia-ico-chevron-right);
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar .somnia-cal-nav-title {
  flex: 1 1 auto;
  text-align: center;
  min-width: 0;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar .somnia-cal-period-title,
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  letter-spacing: -0.01em !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar .monthHeader a,
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap .monthHeader a {
  color: var(--somnia-brand, #146161) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar .monthHeader a:hover {
  background: #f8fafc !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-open {
  flex: 0 0 auto;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--somnia-brand, #146161) !important;
  text-decoration: none !important;
  padding: 8px 14px !important;
  border-radius: 10px !important;
  border: 1px solid #e2e8f0 !important;
  background: #f8fafc !important;
  white-space: nowrap;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-open:hover {
  background: var(--somnia-brand-light, #e6f2f2) !important;
  border-color: #99d5c9 !important;
  color: var(--somnia-brand-dark, #105454) !important;
  text-decoration: none !important;
}

/* ---------- Contentor FC ---------- */
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap #calendarContainer,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] #calendarContainer {
  padding: 0 0 12px !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap #calendarContainer .fc,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] #calendarContainer .fc {
  min-height: var(--somnia-cal-inner-h, 560px) !important;
  background: #fff !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap .monthCalBody,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"] .monthCalBody {
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Hoje / indicadores */
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap #calendarContainer .fc-head .fc-day-header.fc-today,
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap #calendarContainer .fc-head .fc-day-header.fc-today a {
  background: var(--somnia-brand-light, #e6f2f2) !important;
  color: var(--somnia-brand, #146161) !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap #calendarContainer .fc-time-grid .fc-bg .fc-today,
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap #calendarContainer .fc-day-grid .fc-today {
  background: rgba(20, 97, 97, 0.06) !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap #calendarContainer .fc-now-indicator-line {
  border-color: #ef4444 !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap #calendarContainer .fc-event {
  border-radius: 6px !important;
  font-weight: 600 !important;
  border: none !important;
}

/* Esconder faixa partilha / legado no dashlet */
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap #calendarContainer .somnia-cal-user-banner,
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap #calendarContainer h5.calSharedUser {
  display: none !important;
}

/* ---------- Skeleton até o FullCalendar renderizar ---------- */
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap.somnia-cal-dashlet-loading > .bd,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(#calendarContainer):not(:has(.fc-view)):not(:has(.fc-view-container)) > .bd {
  position: relative !important;
  min-height: var(--somnia-cal-h, 620px) !important;
}

/* Mantém o FC no fluxo (precisa de largura real) mas invisível */
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap.somnia-cal-dashlet-loading .somnia-cal-dashlet-toolbar,
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap.somnia-cal-dashlet-loading #calendarContainer,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(#calendarContainer):not(:has(.fc-view)):not(:has(.fc-view-container)) .somnia-cal-dashlet-toolbar,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(#calendarContainer):not(:has(.fc-view)):not(:has(.fc-view-container)) #calendarContainer {
  opacity: 0 !important;
  pointer-events: none !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap.somnia-cal-dashlet-loading #calendarContainer,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(#calendarContainer):not(:has(.fc-view)):not(:has(.fc-view-container)) #calendarContainer {
  min-height: var(--somnia-cal-inner-h, 560px) !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-skeleton {
  display: none;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 2;
  padding: 14px 16px 18px;
  min-height: var(--somnia-cal-h, 620px);
  background: #fff;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap.somnia-cal-dashlet-loading .somnia-cal-dashlet-skeleton,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(#calendarContainer):not(:has(.fc-view)):not(:has(.fc-view-container)) .somnia-cal-dashlet-skeleton {
  display: block;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap.somnia-cal-dashlet-ready .somnia-cal-dashlet-skeleton,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(.fc-view) .somnia-cal-dashlet-skeleton,
html.somnia-theme:has(.somnia-home-entry) [id^="dashlet_entire_"]:has(.fc-view-container) .somnia-cal-dashlet-skeleton {
  display: none !important;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap.somnia-cal-dashlet-ready .somnia-cal-dashlet-toolbar,
html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap.somnia-cal-dashlet-ready #calendarContainer {
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: opacity 0.16s ease;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-sk-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-sk-line {
  display: block;
  height: 14px;
  border-radius: 8px;
  background: linear-gradient(90deg, #f1f5f9 0%, #e2e8f0 45%, #f1f5f9 100%);
  background-size: 200% 100%;
  animation: somnia-cal-sk-shine 1.1s ease-in-out infinite;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-sk-line--title {
  width: min(220px, 45%);
  height: 16px;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-sk-line--btn {
  width: 132px;
  height: 34px;
  border-radius: 10px;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-sk-head {
  display: grid;
  grid-template-columns: 48px repeat(7, 1fr);
  gap: 6px;
  margin-bottom: 10px;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-sk-head .somnia-cal-sk-line {
  height: 12px;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-sk-grid {
  display: grid;
  grid-template-columns: 48px repeat(7, 1fr);
  gap: 6px 6px;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-sk-slot {
  height: 36px;
  border-radius: 8px;
  background: linear-gradient(90deg, #f8fafc 0%, #eef2f7 45%, #f8fafc 100%);
  background-size: 200% 100%;
  animation: somnia-cal-sk-shine 1.1s ease-in-out infinite;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-sk-slot--axis {
  height: 36px;
  border-radius: 6px;
  opacity: 0.7;
}

html.somnia-theme:has(.somnia-home-entry) .somnia-cal-sk-slot--event {
  background: linear-gradient(90deg, #e6f2f2 0%, #d5eaea 50%, #e6f2f2 100%);
  background-size: 200% 100%;
}

@keyframes somnia-cal-sk-shine {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

@media (max-width: 768px) {
  html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-open {
    text-align: center;
  }

  html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap #calendarContainer .fc,
  html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-wrap.somnia-cal-dashlet-loading #calendarContainer,
  html.somnia-theme:has(.somnia-home-entry) .somnia-cal-dashlet-skeleton {
    min-height: 300px !important;
  }
}

/* source: custom/themes/SuiteP/css/somnia/16-navbar-toolbar.css */
/**
 * Somnia — Barra superior direita (search, alertas, +, user)
 * - Pill de pesquisa (sem lupa nativa no desktop)
 * - Ícones de acção uniformes (40×40, radius 10)
 * - Alinhamento à extremidade direita
 */

html.somnia-theme {
  --somnia-nav-height: 56px;
  --somnia-nav-icon-size: 36px;
  --somnia-nav-icon-glyph: 18px;
  --somnia-nav-icon-radius: 10px;
  --somnia-nav-search-height: 30px;
  /* Cor sólida ≈ brand #146161 + 12% branco — usada no input p/ matar autofill branco */
  --somnia-nav-search-solid: #307474;
  --somnia-nav-search-fill: rgba(255, 255, 255, 0.12);
}

html.somnia-theme .navbar-inverse.navbar-fixed-top,
html.somnia-theme nav.navbar.navbar-inverse {
  min-height: var(--somnia-nav-height) !important;
  height: var(--somnia-nav-height) !important;
  max-height: none !important;
}

/* ---- Shell: toolbar colada à direita em qualquer largura ---- */
html.somnia-theme .navbar-inverse > .container-fluid {
  padding-left: 4px !important;
  padding-right: 6px !important;
}

html.somnia-theme .desktop-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 0 auto !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  height: var(--somnia-nav-height) !important;
  text-align: right !important;
  visibility: visible !important;
}

html.somnia-theme .desktop-bar > .toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  height: var(--somnia-nav-height) !important;
  float: none !important;
  width: auto !important;
}

html.somnia-theme .desktop-bar > .toolbar > li {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: var(--somnia-nav-icon-size) !important;
  min-height: var(--somnia-nav-icon-size) !important;
  line-height: 1 !important;
  flex: 0 0 auto !important;
}

html.somnia-theme .desktop-bar > .toolbar > li.somnia-search-pill {
  position: relative !important;
  height: var(--somnia-nav-search-height) !important;
  min-height: var(--somnia-nav-search-height) !important;
  margin-right: 6px !important;
  order: 1 !important;
}

/* Ordem: pesquisa → alertas → timer → + → user */
html.somnia-theme .desktop-bar > .toolbar > li#desktop_notifications {
  order: 2 !important;
}

html.somnia-theme .desktop-bar > .toolbar > li#orc-header-timer {
  order: 3 !important;
}

html.somnia-theme .desktop-bar > .toolbar > li#quickcreatetop {
  order: 4 !important;
  align-self: stretch !important;
  height: var(--somnia-nav-height) !important;
  min-height: var(--somnia-nav-height) !important;
}

html.somnia-theme .desktop-bar > .toolbar > li.globalLinks-desktop,
html.somnia-theme .desktop-bar > .toolbar > li#globalLinks {
  order: 5 !important;
  align-self: stretch !important;
  height: var(--somnia-nav-height) !important;
  min-height: var(--somnia-nav-height) !important;
  overflow: visible !important;
}

/* Último item (user) sem folga extra à direita */
html.somnia-theme .desktop-bar > .toolbar > li:last-child {
  margin-right: 0 !important;
}

/* Lupa nativa: esconder em qualquer resíduo / cache */
html.somnia-theme .desktop-bar .navbar-search,
html.somnia-theme .desktop-bar li.navbar-search,
html.somnia-theme .desktop-bar #searchbutton,
html.somnia-theme .desktop-bar .searchbutton {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  pointer-events: none !important;
}

/* ---- Search pill (uma só camada) ---- */
html.somnia-theme .desktop-bar #searchform.searchform,
html.somnia-theme .desktop-bar .somnia-search-pill .searchform,
html.somnia-theme .navbar-inverse .desktop-bar #searchform {
  display: block !important;
  visibility: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 280px !important;
  max-width: min(280px, 32vw) !important;
  min-width: 0 !important;
  border: none !important;
  box-shadow: none !important;
  float: none !important;
  background: transparent !important;
}

/* Grupo: só posicionamento — o fundo vive no input (evita branco ao escrever) */
html.somnia-theme .desktop-bar #searchform .input-group,
html.somnia-theme .desktop-bar .searchform .input-group {
  display: block !important;
  width: 100% !important;
  height: var(--somnia-nav-search-height) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
  position: relative !important;
  margin: 0 !important;
}

/* Fundo da barra no próprio input — focus/active/autofill iguais */
html.somnia-theme .navbar-inverse .desktop-bar #searchform .form-control,
html.somnia-theme .navbar-inverse .desktop-bar #searchform input.form-control.query_string,
html.somnia-theme .desktop-bar #searchform .query_string,
html.somnia-theme .desktop-bar #searchform input.form-control,
html.somnia-theme .desktop-bar #searchform input.form-control:focus,
html.somnia-theme .desktop-bar #searchform input.form-control:focus-visible,
html.somnia-theme .desktop-bar #searchform input.form-control:active,
html.somnia-theme .desktop-bar #searchform input.form-control:hover,
html.somnia-theme .desktop-bar #searchform .query_string:focus,
html.somnia-theme .desktop-bar #searchform .query_string:active {
  display: block !important;
  width: 100% !important;
  height: var(--somnia-nav-search-height) !important;
  min-height: var(--somnia-nav-search-height) !important;
  margin: 0 !important;
  border: 0 !important;
  outline: none !important;
  background: var(--somnia-nav-search-fill) !important;
  background-color: var(--somnia-nav-search-fill) !important;
  background-image: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  padding: 0 14px 0 36px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff !important;
  border-radius: 999px !important;
  line-height: var(--somnia-nav-search-height) !important;
  color-scheme: dark !important;
  filter: none !important;
}

html.somnia-theme .desktop-bar #searchform .query_string::placeholder,
html.somnia-theme .navbar-inverse .desktop-bar #searchform .form-control::placeholder {
  color: rgba(255, 255, 255, 0.55) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.55) !important;
  opacity: 1 !important;
  font-weight: 400 !important;
}

/* Autofill: pinta por cima do branco do browser com a cor da barra */
html.somnia-theme .desktop-bar #searchform input.form-control:-webkit-autofill,
html.somnia-theme .desktop-bar #searchform input.form-control:-webkit-autofill:hover,
html.somnia-theme .desktop-bar #searchform input.form-control:-webkit-autofill:focus,
html.somnia-theme .desktop-bar #searchform input.form-control:-webkit-autofill:active,
html.somnia-theme .desktop-bar #searchform .query_string:-webkit-autofill,
html.somnia-theme .desktop-bar #searchform .query_string:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  transition: background-color 99999s ease-out 0s !important;
  box-shadow: 0 0 0 1000px var(--somnia-nav-search-solid) inset !important;
  -webkit-box-shadow: 0 0 0 1000px var(--somnia-nav-search-solid) inset !important;
}

/* Lupinha absoluta à esquerda, centrada */
html.somnia-theme .desktop-bar #searchform .input-group-btn,
html.somnia-theme .desktop-bar #searchform .somnia-search-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 40px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 2 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

html.somnia-theme .desktop-bar #searchform .somnia-search-icon .btn,
html.somnia-theme .desktop-bar #searchform .somnia-search-icon button,
html.somnia-theme .desktop-bar #searchform .input-group-btn > .btn {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: rgba(255, 255, 255, 0.8) !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  line-height: 1 !important;
  position: static !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

html.somnia-theme .desktop-bar #searchform .somnia-search-icon .btn:hover,
html.somnia-theme .desktop-bar #searchform .somnia-search-icon .btn:focus,
html.somnia-theme .desktop-bar #searchform .somnia-search-icon .btn:active {
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ---- Ícones SVG (estilo orcinus-copy): mesma caixa, centrados com a pesquisa ---- */
html.somnia-theme .desktop-bar .somnia-alerts-btn,
html.somnia-theme .desktop-bar #desktop_notifications .alertsButton,
html.somnia-theme .desktop-bar #orc-header-timer > button.orc-timer-toggle,
html.somnia-theme .desktop-bar #quickcreatetop .somnia-quickcreate-btn,
html.somnia-theme .desktop-bar .navbar-search .searchbutton {
  width: var(--somnia-nav-icon-size) !important;
  height: var(--somnia-nav-icon-size) !important;
  min-width: var(--somnia-nav-icon-size) !important;
  min-height: var(--somnia-nav-icon-size) !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  outline: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
  text-decoration: none !important;
  vertical-align: middle !important;
  transform: none !important;
  transition: opacity 0.15s ease !important;
}

html.somnia-theme .desktop-bar .somnia-alerts-btn:hover,
html.somnia-theme .desktop-bar #orc-header-timer > button.orc-timer-toggle:hover,
html.somnia-theme .desktop-bar #quickcreatetop .somnia-quickcreate-btn:hover {
  background: transparent !important;
  color: #fff !important;
  opacity: 0.85;
  transform: none !important;
}

/* Sem pseudo-glyphs do suitepicon nos botões com SVG */
html.somnia-theme .desktop-bar .somnia-alerts-btn::before,
html.somnia-theme .desktop-bar .somnia-alerts-btn::after,
html.somnia-theme .desktop-bar #orc-header-timer .orc-timer-toggle::before,
html.somnia-theme .desktop-bar #quickcreatetop .somnia-quickcreate-btn::before,
html.somnia-theme .desktop-bar #quickcreatetop .somnia-quickcreate-btn::after {
  content: none !important;
  display: none !important;
}

html.somnia-theme .desktop-bar .somnia-bell-icon,
html.somnia-theme .desktop-bar .somnia-plus-icon,
html.somnia-theme .desktop-bar .somnia-timer-icon,
html.somnia-theme .desktop-bar .somnia-header-timer-icon {
  display: block !important;
  width: var(--somnia-nav-icon-glyph) !important;
  height: var(--somnia-nav-icon-glyph) !important;
  min-width: var(--somnia-nav-icon-glyph) !important;
  min-height: var(--somnia-nav-icon-glyph) !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  flex: 0 0 auto !important;
  transform: none !important;
  position: static !important;
}

html.somnia-theme .desktop-bar .somnia-header-timer-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html.somnia-theme .desktop-bar #orc-header-timer,
html.somnia-theme .desktop-bar .somnia-header-timer {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  overflow: visible !important;
  width: var(--somnia-nav-icon-size) !important;
  height: var(--somnia-nav-icon-size) !important;
  min-width: var(--somnia-nav-icon-size) !important;
  border: none !important;
  background: transparent !important;
}

html.somnia-theme .desktop-bar #orc-header-timer.open {
  z-index: 2147483000 !important;
  overflow: visible !important;
}

html.somnia-theme .desktop-bar #orc-header-timer .suitepicon,
html.somnia-theme .desktop-bar #orc-header-timer .orc-timer-icon {
  display: none !important;
}

html.somnia-theme .desktop-bar #quickcreatetop.quickcreatetop,
html.somnia-theme .desktop-bar li#quickcreatetop {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  height: var(--somnia-nav-height) !important;
  min-height: var(--somnia-nav-height) !important;
  line-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  position: relative !important;
}

/* Mesmo tipo de botão que alertas/timer — anula padding Noon do .quickcreatetop a */
html.somnia-theme .navbar-inverse .desktop-bar #quickcreatetop > button.somnia-quickcreate-btn,
html.somnia-theme .desktop-bar #quickcreatetop > button.dropdown-toggle,
html.somnia-theme .desktop-bar #quickcreatetop .somnia-quickcreate-btn,
html.somnia-theme .desktop-bar .create.quickcreatetop .dropdown-toggle.somnia-quickcreate-btn {
  position: static !important;
  top: auto !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  width: var(--somnia-nav-icon-size) !important;
  height: var(--somnia-nav-icon-size) !important;
  min-width: var(--somnia-nav-icon-size) !important;
  min-height: var(--somnia-nav-icon-size) !important;
  max-width: var(--somnia-nav-icon-size) !important;
  max-height: var(--somnia-nav-icon-size) !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  transform: none !important;
  vertical-align: middle !important;
  color: #fff !important;
}

html.somnia-theme .desktop-bar #quickcreatetop .somnia-quickcreate-btn::before,
html.somnia-theme .desktop-bar #quickcreatetop .somnia-quickcreate-btn::after,
html.somnia-theme .desktop-bar .create.quickcreatetop .dropdown-toggle::after {
  content: none !important;
  display: none !important;
}

html.somnia-theme .desktop-bar #quickcreatetop .somnia-plus-icon {
  display: block !important;
  box-sizing: border-box !important;
  width: var(--somnia-nav-icon-glyph) !important;
  height: var(--somnia-nav-icon-glyph) !important;
  min-width: var(--somnia-nav-icon-glyph) !important;
  min-height: var(--somnia-nav-icon-glyph) !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  flex: 0 0 auto !important;
  transform: none !important;
  position: static !important;
  overflow: visible !important;
  pointer-events: none !important;
}

/* User: sem fundo de pill — só avatar + nome */
html.somnia-theme .desktop-bar .globalLinks-desktop {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  overflow: visible !important;
}

html.somnia-theme .navbar-inverse .desktop-bar .globalLinks-desktop .user-menu-button.somnia-user-menu,
html.somnia-theme .navbar-inverse .desktop-bar .globalLinks-desktop #with-label.somnia-user-menu,
html.somnia-theme .desktop-bar .globalLinks-desktop .user-menu-button.somnia-user-menu,
html.somnia-theme .desktop-bar .globalLinks-desktop #with-label.somnia-user-menu {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: var(--somnia-nav-icon-size) !important;
  min-height: var(--somnia-nav-icon-size) !important;
  padding: 0 2px 0 0 !important;
  margin: 0 0 0 4px !important;
  border-radius: 0 !important;
  border: none !important;
  background: transparent !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
  outline: none !important;
  line-height: 1 !important;
  transform: none !important;
}

html.somnia-theme .globalLinks-desktop .somnia-user-menu:hover,
html.somnia-theme .globalLinks-desktop.open .somnia-user-menu {
  background: transparent !important;
  border: none !important;
  opacity: 0.9;
}

html.somnia-theme .desktop-bar #with-label .somnia-user-avatar,
html.somnia-theme .desktop-bar .somnia-user-menu .somnia-user-avatar,
html.somnia-theme .somnia-user-avatar {
  position: relative !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  border-radius: 50% !important;
  border: none !important;
  outline: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.18) !important;
  flex: 0 0 32px !important;
  letter-spacing: 0.02em;
  box-shadow: none !important;
  overflow: hidden !important;
  visibility: visible !important;
  opacity: 1 !important;
  text-indent: 0 !important;
}

/* Com foto real: mantém a bolinha e substitui o conteúdo */
html.somnia-theme .desktop-bar #with-label .somnia-user-avatar.has-photo,
html.somnia-theme .somnia-user-avatar.has-photo {
  background: rgba(255, 255, 255, 0.18) !important;
  color: transparent !important;
  font-size: 0 !important;
  padding: 0 !important;
}

html.somnia-theme .somnia-user-avatar:not(.has-photo) {
  color: #fff !important;
  font-size: 11px !important;
}

html.somnia-theme .somnia-user-avatar:not(.has-photo) .somnia-user-photo {
  display: none !important;
}

html.somnia-theme .somnia-user-avatar .somnia-user-photo {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  object-fit: cover !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 50% !important;
  flex: 0 0 32px !important;
  z-index: 1;
}

html.somnia-theme .somnia-user-avatar.has-photo .somnia-user-photo {
  display: block !important;
}

html.somnia-theme .somnia-user-name,
html.somnia-theme .globallabel-user.somnia-user-name {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #fff !important;
  display: inline-block !important;
}

html.somnia-theme .somnia-user-menu .suitepicon-action-current-user {
  display: none !important;
}

html.somnia-theme .somnia-user-menu .suitepicon-action-caret {
  font-size: 10px !important;
  color: rgba(255, 255, 255, 0.85) !important;
  margin: 0 !important;
}

html.somnia-theme .globalLinks-desktop .dropdown-menu.user-menu,
html.somnia-theme .globalLinks-desktop .dropdown-menu.user-dropdown {
  border-radius: 16px !important;
  padding: 8px !important;
  min-width: 200px !important;
  margin-top: 0 !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
}

/* Ponte de hover: o rato atravessa o fundo da navbar até ao menu sem perder o :hover */
html.somnia-theme .globalLinks-desktop .dropdown-menu.user-menu::before,
html.somnia-theme .globalLinks-desktop .dropdown-menu.user-dropdown::before {
  content: "";
  position: absolute;
  top: -18px;
  left: 0;
  right: 0;
  height: 18px;
  background: transparent;
}

html.somnia-theme .globalLinks-desktop .dropdown-menu.user-menu > li > a {
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
}

/* Topnav labels */
html.somnia-theme .navbar-inverse .nav > .topnav > a.grouptab,
html.somnia-theme .navbar-inverse .nav > .topnav > span > a {
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

@media (max-width: 1360px) {
  html.somnia-theme .desktop-bar #searchform.searchform,
  html.somnia-theme .desktop-bar .somnia-search-pill .searchform,
  html.somnia-theme .navbar-inverse .desktop-bar #searchform {
    width: 220px !important;
    max-width: min(220px, 28vw) !important;
  }

  html.somnia-theme .somnia-user-name,
  html.somnia-theme .globallabel-user.somnia-user-name {
    max-width: 88px;
  }
}

@media (max-width: 1100px) {
  html.somnia-theme .desktop-bar #searchform.searchform,
  html.somnia-theme .desktop-bar .somnia-search-pill .searchform,
  html.somnia-theme .navbar-inverse .desktop-bar #searchform {
    width: 168px !important;
    max-width: min(168px, 24vw) !important;
  }

  html.somnia-theme .somnia-user-name,
  html.somnia-theme .globallabel-user.somnia-user-name,
  html.somnia-theme .somnia-user-menu .suitepicon-action-caret {
    display: none !important;
  }

  html.somnia-theme .navbar-inverse .nav > .topnav > a.grouptab,
  html.somnia-theme .navbar-inverse .nav > .topnav > span.notCurrentTab > a,
  html.somnia-theme .navbar-inverse .nav > .topnav > span.currentTab > a {
    padding: 0 8px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 900px) {
  html.somnia-theme .desktop-bar > .toolbar {
    gap: 2px !important;
  }

  html.somnia-theme .desktop-bar > .toolbar > li.somnia-search-pill {
    margin-right: 2px !important;
  }

  html.somnia-theme .desktop-bar #searchform.searchform,
  html.somnia-theme .desktop-bar .somnia-search-pill .searchform,
  html.somnia-theme .navbar-inverse .desktop-bar #searchform {
    width: var(--somnia-nav-icon-size) !important;
    max-width: var(--somnia-nav-icon-size) !important;
    min-width: var(--somnia-nav-icon-size) !important;
    overflow: hidden !important;
  }

  html.somnia-theme .desktop-bar #searchform .somnia-search-icon,
  html.somnia-theme .desktop-bar #searchform .input-group-btn {
    pointer-events: none !important;
  }

  html.somnia-theme .desktop-bar #searchform:focus-within {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 30 !important;
    width: min(240px, calc(100vw - 168px)) !important;
    max-width: min(240px, calc(100vw - 168px)) !important;
    min-width: 160px !important;
    overflow: visible !important;
  }

  html.somnia-theme .desktop-bar #searchform:focus-within .somnia-search-icon,
  html.somnia-theme .desktop-bar #searchform:focus-within .input-group-btn {
    pointer-events: auto !important;
  }

  html.somnia-theme .navbar-brand-container .navbar-brand,
  html.somnia-theme a.navbar-brand.with-home-icon,
  html.somnia-theme .navbar-brand.somnia-brand {
    margin: 0 4px 0 2px !important;
  }
}

@media (max-width: 767px) {
  html.somnia-theme {
    --somnia-nav-height: 52px;
    --somnia-nav-icon-size: 34px;
    --somnia-nav-search-height: 28px;
  }
}

/* source: custom/themes/SuiteP/css/somnia/17-icons.css */
/* Somnia premium icon layer — full SuiteCRM suitepicon + glyphicon remap.
   CSS mask-image on existing ::before. Colour via currentColor.
   Generated to cover suitepicon.json inventory + high-traffic glyphicons. */

:root {
  --somnia-ico-activity: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='22 12 18 12 15 21 9 3 6 12 2 12'/></svg>");
  --somnia-ico-arrow-down: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='12' y1='5' x2='12' y2='19'/><polyline points='19 12 12 19 5 12'/></svg>");
  --somnia-ico-arrow-left: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='19' y1='12' x2='5' y2='12'/><polyline points='12 19 5 12 12 5'/></svg>");
  --somnia-ico-arrow-up: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='12' y1='19' x2='12' y2='5'/><polyline points='5 12 12 5 19 12'/></svg>");
  --somnia-ico-bar-chart: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='12' y1='20' x2='12' y2='10'/><line x1='18' y1='20' x2='18' y2='4'/><line x1='6' y1='20' x2='6' y2='16'/></svg>");
  --somnia-ico-bell: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/><path d='M13.73 21a2 2 0 0 1-3.46 0'/></svg>");
  --somnia-ico-book: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/><path d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/></svg>");
  --somnia-ico-bookmark: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z'/></svg>");
  --somnia-ico-box: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/></svg>");
  --somnia-ico-briefcase: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='7' width='20' height='14' rx='2'/><path d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/></svg>");
  --somnia-ico-bug: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='8' y='6' width='8' height='14' rx='4'/><path d='M19 8l-2 2M5 8l2 2M19 16l-2-2M5 16l2-2M12 2v4M9 10h6'/></svg>");
  --somnia-ico-building: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='2' width='16' height='20' rx='2'/><path d='M9 22v-4h6v4'/><path d='M8 6h.01M16 6h.01M8 10h.01M16 10h.01M8 14h.01M16 14h.01'/></svg>");
  --somnia-ico-calendar: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>");
  --somnia-ico-check: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  --somnia-ico-check-circle: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/><polyline points='22 4 12 14.01 9 11.01'/></svg>");
  --somnia-ico-check-square: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 11 12 14 22 4'/><path d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/></svg>");
  --somnia-ico-checked: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 11 12 14 22 4'/><path d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/></svg>");
  --somnia-ico-chevron-down: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  --somnia-ico-chevron-left: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>");
  --somnia-ico-chevron-right: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
  --somnia-ico-chevron-up: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='18 15 12 9 6 15'/></svg>");
  --somnia-ico-chevrons-left: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='11 17 6 12 11 7'/><polyline points='18 17 13 12 18 7'/></svg>");
  --somnia-ico-chevrons-right: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='13 17 18 12 13 7'/><polyline points='6 17 11 12 6 7'/></svg>");
  --somnia-ico-clipboard: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/><rect x='8' y='2' width='8' height='4' rx='1'/></svg>");
  --somnia-ico-clipboard-list: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/><rect x='8' y='2' width='8' height='4' rx='1'/><line x1='8' y1='12' x2='16' y2='12'/><line x1='8' y1='16' x2='16' y2='16'/></svg>");
  --somnia-ico-clock: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polyline points='12 6 12 12 16 14'/></svg>");
  --somnia-ico-cog: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'/><path d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/></svg>");
  --somnia-ico-coins: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='8' cy='8' r='6'/><path d='M18.09 10.37A6 6 0 1 1 10.34 18'/><path d='M7 6h1v4'/><path d='M16.71 13.88l.7.71-2.82 2.82'/></svg>");
  --somnia-ico-contact: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17 18a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2'/><rect x='3' y='4' width='18' height='18' rx='2'/><circle cx='12' cy='10' r='3'/></svg>");
  --somnia-ico-database: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><ellipse cx='12' cy='5' rx='9' ry='3'/><path d='M21 12c0 1.66-4 3-9 3s-9-1.34-9-3'/><path d='M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5'/></svg>");
  --somnia-ico-download: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='15' x2='12' y2='3'/></svg>");
  --somnia-ico-empty: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='4.93' y1='4.93' x2='19.07' y2='19.07'/></svg>");
  --somnia-ico-envelope: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/><polyline points='22,6 12,13 2,6'/></svg>");
  --somnia-ico-external: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/><polyline points='15 3 21 3 21 9'/><line x1='10' y1='14' x2='21' y2='3'/></svg>");
  --somnia-ico-eye: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/><circle cx='12' cy='12' r='3'/></svg>");
  --somnia-ico-file: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/></svg>");
  --somnia-ico-file-text: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/><line x1='16' y1='13' x2='8' y2='13'/><line x1='16' y1='17' x2='8' y2='17'/><polyline points='10 9 9 9 8 9'/></svg>");
  --somnia-ico-filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='none'><polygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/></svg>");
  --somnia-ico-folder: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/></svg>");
  --somnia-ico-folder-open: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 19a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4l2 3h9a2 2 0 0 1 2 2v1'/><path d='M5 19h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2z'/></svg>");
  --somnia-ico-funnel: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/></svg>");
  --somnia-ico-globe: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='2' y1='12' x2='22' y2='12'/><path d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/></svg>");
  --somnia-ico-handshake: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.42 4.58a5.4 5.4 0 0 0-7.65 0l-.77.78-.77-.78a5.4 5.4 0 0 0-7.65 0C1.46 6.7 1.33 10.28 4 13l8 8 8-8c2.67-2.72 2.54-6.3.42-8.42z'/></svg>");
  --somnia-ico-hard-drive: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='22' y1='12' x2='2' y2='12'/><path d='M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/><line x1='6' y1='16' x2='6.01' y2='16'/><line x1='10' y1='16' x2='10.01' y2='16'/></svg>");
  --somnia-ico-heart: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>");
  --somnia-ico-history: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 3v5h5'/><path d='M3.05 13A9 9 0 1 0 6 5.3L3 8'/><path d='M12 7v5l4 2'/></svg>");
  --somnia-ico-home: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/><polyline points='9 22 9 12 15 12 15 22'/></svg>");
  --somnia-ico-id-card: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='5' width='20' height='14' rx='2'/><circle cx='8' cy='12' r='2'/><path d='M14 10h4M14 14h4'/></svg>");
  --somnia-ico-inbox: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='22 12 16 12 14 15 10 15 8 12 2 12'/><path d='M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/></svg>");
  --somnia-ico-info: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='16' x2='12' y2='12'/><line x1='12' y1='8' x2='12.01' y2='8'/></svg>");
  --somnia-ico-key: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4'/></svg>");
  --somnia-ico-languages: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='2' y1='12' x2='22' y2='12'/><path d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/></svg>");
  --somnia-ico-layers: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='12 2 2 7 12 12 22 7 12 2'/><polyline points='2 17 12 22 22 17'/><polyline points='2 12 12 17 22 12'/></svg>");
  --somnia-ico-layout: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='7' height='7'/><rect x='14' y='3' width='7' height='7'/><rect x='14' y='14' width='7' height='7'/><rect x='3' y='14' width='7' height='7'/></svg>");
  --somnia-ico-link: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/><path d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/></svg>");
  --somnia-ico-list: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='8' y1='6' x2='21' y2='6'/><line x1='8' y1='12' x2='21' y2='12'/><line x1='8' y1='18' x2='21' y2='18'/><line x1='3' y1='6' x2='3.01' y2='6'/><line x1='3' y1='12' x2='3.01' y2='12'/><line x1='3' y1='18' x2='3.01' y2='18'/></svg>");
  --somnia-ico-lock: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>");
  --somnia-ico-mail: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/><polyline points='22,6 12,13 2,6'/></svg>");
  --somnia-ico-map: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6'/><line x1='8' y1='2' x2='8' y2='18'/><line x1='16' y1='6' x2='16' y2='22'/></svg>");
  --somnia-ico-map-pin: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>");
  --somnia-ico-megaphone: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 11l18-5v12L3 13v-2z'/><path d='M11.6 16.8a3 3 0 1 1-5.8-1.6'/></svg>");
  --somnia-ico-minus: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/></svg>");
  --somnia-ico-more: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='1' fill='black'/><circle cx='19' cy='12' r='1' fill='black'/><circle cx='5' cy='12' r='1' fill='black'/></svg>");
  --somnia-ico-newspaper: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2'/><path d='M18 14h-8M15 18h-5M10 6h8v4h-8V6z'/></svg>");
  --somnia-ico-ok: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  --somnia-ico-package: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='16.5' y1='9.4' x2='7.5' y2='4.21'/><path d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/><polyline points='3.27 6.96 12 12.01 20.73 6.96'/><line x1='12' y1='22.08' x2='12' y2='12'/></svg>");
  --somnia-ico-palette: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='13.5' cy='6.5' r='.5' fill='black'/><circle cx='17.5' cy='10.5' r='.5' fill='black'/><circle cx='8.5' cy='7.5' r='.5' fill='black'/><circle cx='6.5' cy='12.5' r='.5' fill='black'/><path d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z'/></svg>");
  --somnia-ico-paperclip: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'/></svg>");
  --somnia-ico-pdf: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/><path d='M10 12h1.5a1.5 1.5 0 0 1 0 3H10v2M15 12v5'/></svg>");
  --somnia-ico-pen-tool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 19l7-7 3 3-7 7-3-3z'/><path d='M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z'/><path d='M2 2l7.586 7.586'/></svg>");
  --somnia-ico-pencil: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20h9'/><path d='M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z'/></svg>");
  --somnia-ico-phone: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/></svg>");
  --somnia-ico-pie-chart: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21.21 15.89A10 10 0 1 1 8 2.83'/><path d='M22 12A10 10 0 0 0 12 2v10z'/></svg>");
  --somnia-ico-plug: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22v-5'/><path d='M9 8V2'/><path d='M15 8V2'/><path d='M18 8v5a6 6 0 0 1-12 0V8z'/></svg>");
  --somnia-ico-plus: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='12' y1='5' x2='12' y2='19'/><line x1='5' y1='12' x2='19' y2='12'/></svg>");
  --somnia-ico-radar: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M19.07 4.93A10 10 0 0 0 6.99 3.34'/><path d='M4 6h.01'/><path d='M2.29 9.62A10 10 0 1 0 21.7 9.62'/><path d='M12 12l6-2'/></svg>");
  --somnia-ico-refresh: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='23 4 23 10 17 10'/><polyline points='1 20 1 14 7 14'/><path d='M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15'/></svg>");
  --somnia-ico-search: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>");
  --somnia-ico-send: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='22' y1='2' x2='11' y2='13'/><polygon points='22 2 15 22 11 13 2 9 22 2'/></svg>");
  --somnia-ico-settings: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'/><path d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'/></svg>");
  --somnia-ico-shield: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/></svg>");
  --somnia-ico-shield-check: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/><path d='M9 12l2 2 4-4'/></svg>");
  --somnia-ico-sliders: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='4' y1='21' x2='4' y2='14'/><line x1='4' y1='10' x2='4' y2='3'/><line x1='12' y1='21' x2='12' y2='12'/><line x1='12' y1='8' x2='12' y2='3'/><line x1='20' y1='21' x2='20' y2='16'/><line x1='20' y1='12' x2='20' y2='3'/><line x1='1' y1='14' x2='7' y2='14'/><line x1='9' y1='8' x2='15' y2='8'/><line x1='17' y1='16' x2='23' y2='16'/></svg>");
  --somnia-ico-sort: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='8 9 12 5 16 9'/><polyline points='16 15 12 19 8 15'/></svg>");
  --somnia-ico-square: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='2'/></svg>");
  --somnia-ico-star: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='none'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>");
  --somnia-ico-star-outline: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>");
  --somnia-ico-sticky: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M15.5 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V8.5L15.5 3z'/><polyline points='15 3 15 9 21 9'/></svg>");
  --somnia-ico-tag: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/><line x1='7' y1='7' x2='7.01' y2='7'/></svg>");
  --somnia-ico-target: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><circle cx='12' cy='12' r='6'/><circle cx='12' cy='12' r='2'/></svg>");
  --somnia-ico-ticket: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2z'/><path d='M13 5v2M13 17v2M13 11v2'/></svg>");
  --somnia-ico-time: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polyline points='12 6 12 12 16 14'/></svg>");
  --somnia-ico-trash: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 6 5 6 21 6'/><path d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/><line x1='10' y1='11' x2='10' y2='17'/><line x1='14' y1='11' x2='14' y2='17'/></svg>");
  --somnia-ico-trending: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='23 6 13.5 15.5 8.5 10.5 1 18'/><polyline points='17 6 23 6 23 12'/></svg>");
  --somnia-ico-type: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='4 7 4 4 20 4 20 7'/><line x1='9' y1='20' x2='15' y2='20'/><line x1='12' y1='4' x2='12' y2='20'/></svg>");
  --somnia-ico-unchecked: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='2'/></svg>");
  --somnia-ico-upload: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='17 8 12 3 7 8'/><line x1='12' y1='3' x2='12' y2='15'/></svg>");
  --somnia-ico-user: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>");
  --somnia-ico-user-plus: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='8.5' cy='7' r='4'/><line x1='20' y1='8' x2='20' y2='14'/><line x1='23' y1='11' x2='17' y2='11'/></svg>");
  --somnia-ico-users: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M23 21v-2a4 4 0 0 0-3-3.87'/><path d='M16 3.13a4 4 0 0 1 0 7.75'/></svg>");
  --somnia-ico-workflow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='6' height='6' rx='1'/><rect x='15' y='3' width='6' height='6' rx='1'/><rect x='9' y='15' width='6' height='6' rx='1'/><path d='M6 9v3a3 3 0 0 0 3 3h6a3 3 0 0 0 3-3V9M12 15v-3'/></svg>");
  --somnia-ico-wrench: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/></svg>");
  --somnia-ico-x: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");
  --somnia-ico-zap: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/></svg>");
}


/* Unknown module icons (custom ORC_*, etc.) — fallback moderno */
[class*="suitepicon-module-"]::before {
  content: "" !important;
  font-family: inherit !important;
  speak: none;
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  vertical-align: -0.125em;
  background-color: currentColor !important;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-image: var(--somnia-ico-layout);
  mask-image: var(--somnia-ico-layout);
}

.suitepicon-action-above::before,
.suitepicon-action-add::before,
.suitepicon-action-alerts::before,
.suitepicon-action-alerts-small::before,
.suitepicon-action-back::before,
.suitepicon-action-below::before,
.suitepicon-action-caret::before,
.suitepicon-action-clear::before,
.suitepicon-action-confirm::before,
.suitepicon-action-create::before,
.suitepicon-action-create-contact-vcard::before,
.suitepicon-action-create-group-user::before,
.suitepicon-action-create-person-form::before,
.suitepicon-action-create-security-group::before,
.suitepicon-action-current-user::before,
.suitepicon-action-delete::before,
.suitepicon-action-down::before,
.suitepicon-action-edit::before,
.suitepicon-action-empty-action::before,
.suitepicon-action-first::before,
.suitepicon-action-forward::before,
.suitepicon-action-home::before,
.suitepicon-action-import::before,
.suitepicon-action-import-line-item::before,
.suitepicon-action-info::before,
.suitepicon-action-invade::before,
.suitepicon-action-last::before,
.suitepicon-action-left::before,
.suitepicon-action-list::before,
.suitepicon-action-list-maps::before,
.suitepicon-action-megaphone::before,
.suitepicon-action-minus::before,
.suitepicon-action-move-down::before,
.suitepicon-action-move-left::before,
.suitepicon-action-move-right::before,
.suitepicon-action-move-up::before,
.suitepicon-action-plus::before,
.suitepicon-action-quick-radius-map::before,
.suitepicon-action-reload::before,
.suitepicon-action-resource-chart::before,
.suitepicon-action-right::before,
.suitepicon-action-role-management::before,
.suitepicon-action-schedule::before,
.suitepicon-action-schedule-call::before,
.suitepicon-action-schedule-meeting::before,
.suitepicon-action-search::before,
.suitepicon-action-security-groups::before,
.suitepicon-action-security-suite-settings::before,
.suitepicon-action-select::before,
.suitepicon-action-setup-email::before,
.suitepicon-action-sorting-ascending::before,
.suitepicon-action-sorting-descending::before,
.suitepicon-action-sorting-none::before,
.suitepicon-action-subtract::before,
.suitepicon-action-today::before,
.suitepicon-action-up::before,
.suitepicon-action-user::before,
.suitepicon-action-user-small::before,
.suitepicon-action-vcard::before,
.suitepicon-action-view::before,
.suitepicon-action-view-create-email-templates::before,
.suitepicon-action-view-diagnostics::before,
.suitepicon-action-view-email-templates::before,
.suitepicon-action-view-process-audit::before,
.suitepicon-action-view-project-tasks::before,
.suitepicon-action-view-record::before,
.suitepicon-admin-activity-streams::before,
.suitepicon-admin-address-cache::before,
.suitepicon-admin-aobh-businesshours::before,
.suitepicon-admin-aod-settings::before,
.suitepicon-admin-aop-settings::before,
.suitepicon-admin-aos-settings::before,
.suitepicon-admin-backups::before,
.suitepicon-admin-campaign-email-settings::before,
.suitepicon-admin-configure-module-menu-filters::before,
.suitepicon-admin-connectors::before,
.suitepicon-admin-currencies::before,
.suitepicon-admin-diagnostic::before,
.suitepicon-admin-display-modules-and-subpanels::before,
.suitepicon-admin-donate::before,
.suitepicon-admin-dropdown-editor::before,
.suitepicon-admin-email-queue::before,
.suitepicon-admin-email-settings::before,
.suitepicon-admin-geocode-addresses::before,
.suitepicon-admin-geocoded-counts::before,
.suitepicon-admin-geocoding-test::before,
.suitepicon-admin-global-search::before,
.suitepicon-admin-google-maps-settings::before,
.suitepicon-admin-history-subpanel::before,
.suitepicon-admin-import::before,
.suitepicon-admin-inbound-email::before,
.suitepicon-admin-languages::before,
.suitepicon-admin-locale::before,
.suitepicon-admin-module-builder::before,
.suitepicon-admin-module-loader::before,
.suitepicon-admin-oauth-keys::before,
.suitepicon-admin-oauth2::before,
.suitepicon-admin-outbound-email::before,
.suitepicon-admin-password::before,
.suitepicon-admin-pdf-settings::before,
.suitepicon-admin-rebuild::before,
.suitepicon-admin-releases::before,
.suitepicon-admin-rename-modules::before,
.suitepicon-admin-repair::before,
.suitepicon-admin-roles::before,
.suitepicon-admin-scheduler::before,
.suitepicon-admin-security::before,
.suitepicon-admin-security-suite-group-management::before,
.suitepicon-admin-studio::before,
.suitepicon-admin-system-settings::before,
.suitepicon-admin-themes::before,
.suitepicon-admin-upgrade-wizard::before,
.suitepicon-admin-user-management::before,
.suitepicon-admin-workflow::before,
.suitepicon-dashlet-charts-funnel::before,
.suitepicon-dashlet-charts-groupby::before,
.suitepicon-dashlet-charts-horizontal::before,
.suitepicon-dashlet-charts-pie::before,
.suitepicon-dashlet-charts-vertical::before,
.suitepicon-dashlet-jotpad::before,
.suitepicon-dashlet-sugarnews::before,
.suitepicon-display-folder-closed::before,
.suitepicon-display-folder-open::before,
.suitepicon-favorite-star::before,
.suitepicon-favorite-star-outline::before,
.suitepicon-mimetype-tab::before,
.suitepicon-module-accounts::before,
.suitepicon-module-aclroles::before,
.suitepicon-module-activities::before,
.suitepicon-module-am-tasktemplates::before,
.suitepicon-module-aok-knowledge-base-categories::before,
.suitepicon-module-aok-knowledgebase::before,
.suitepicon-module-aor-reports::before,
.suitepicon-module-aos-contracts::before,
.suitepicon-module-aos-contracts-signature::before,
.suitepicon-module-aos-invoices::before,
.suitepicon-module-aos-pdf-templates::before,
.suitepicon-module-aos-product-categories::before,
.suitepicon-module-aos-products::before,
.suitepicon-module-aos-products-quotes::before,
.suitepicon-module-aos-quotes::before,
.suitepicon-module-aow-workflow::before,
.suitepicon-module-areas-maps::before,
.suitepicon-module-basic::before,
.suitepicon-module-bugs::before,
.suitepicon-module-calendar::before,
.suitepicon-module-calls::before,
.suitepicon-module-campaigns::before,
.suitepicon-module-campaigntrackers::before,
.suitepicon-module-case-updates::before,
.suitepicon-module-cases::before,
.suitepicon-module-company::before,
.suitepicon-module-contacts::before,
.suitepicon-module-default::before,
.suitepicon-module-detailview::before,
.suitepicon-module-direct-reports::before,
.suitepicon-module-document-revisions::before,
.suitepicon-module-documents::before,
.suitepicon-module-editview::before,
.suitepicon-module-email-marketing::before,
.suitepicon-module-email-marketing2::before,
.suitepicon-module-emails::before,
.suitepicon-module-existing-package::before,
.suitepicon-module-fields::before,
.suitepicon-module-file::before,
.suitepicon-module-filter::before,
.suitepicon-module-fp-event-locations::before,
.suitepicon-module-fp-events::before,
.suitepicon-module-history::before,
.suitepicon-module-home::before,
.suitepicon-module-issue::before,
.suitepicon-module-jjwg-maps::before,
.suitepicon-module-jjwg-markers::before,
.suitepicon-module-labels::before,
.suitepicon-module-layouts::before,
.suitepicon-module-leads::before,
.suitepicon-module-listview::before,
.suitepicon-module-meetings::before,
.suitepicon-module-new-module::before,
.suitepicon-module-new-package::before,
.suitepicon-module-notes::before,
.suitepicon-module-opportunities::before,
.suitepicon-module-orc-abandonedcalls::before,
.suitepicon-module-orc-gestaoprojetos::before,
.suitepicon-module-orc-kanban::before,
.suitepicon-module-orc-timeentries::before,
.suitepicon-module-other::before,
.suitepicon-module-overview::before,
.suitepicon-module-person::before,
.suitepicon-module-popupview::before,
.suitepicon-module-process::before,
.suitepicon-module-products::before,
.suitepicon-module-project::before,
.suitepicon-module-project-tasks::before,
.suitepicon-module-projects::before,
.suitepicon-module-projecttask::before,
.suitepicon-module-projecttasks::before,
.suitepicon-module-prospect-lists::before,
.suitepicon-module-prospect_lists::before,
.suitepicon-module-prospectlists::before,
.suitepicon-module-prospects::before,
.suitepicon-module-quickcreate::before,
.suitepicon-module-relationships::before,
.suitepicon-module-sale::before,
.suitepicon-module-securitygroups::before,
.suitepicon-module-spots::before,
.suitepicon-module-srv-supportservice::before,
.suitepicon-module-srv-supportservices::before,
.suitepicon-module-subpanels::before,
.suitepicon-module-survey-responses::before,
.suitepicon-module-surveys::before,
.suitepicon-module-targets::before,
.suitepicon-module-tasks::before,
.suitepicon-module-users::before,
.suitepicon-template-company::before,
.suitepicon-template-file::before,
.suitepicon-template-issue::before,
.glyphicon-bookmark::before,
.glyphicon-briefcase::before,
.glyphicon-calendar::before,
.glyphicon-check::before,
.glyphicon-cog::before,
.glyphicon-comment::before,
.glyphicon-dashboard::before,
.glyphicon-download::before,
.glyphicon-earphone::before,
.glyphicon-edit::before,
.glyphicon-envelope::before,
.glyphicon-exclamation-sign::before,
.glyphicon-eye-open::before,
.glyphicon-file::before,
.glyphicon-filter::before,
.glyphicon-folder-close::before,
.glyphicon-folder-open::before,
.glyphicon-globe::before,
.glyphicon-home::before,
.glyphicon-info-sign::before,
.glyphicon-link::before,
.glyphicon-list-alt::before,
.glyphicon-lock::before,
.glyphicon-map-marker::before,
.glyphicon-minus::before,
.glyphicon-minus-sign::before,
.glyphicon-ok::before,
.glyphicon-ok-sign::before,
.glyphicon-paperclip::before,
.glyphicon-pencil::before,
.glyphicon-plus::before,
.glyphicon-plus-sign::before,
.glyphicon-question-sign::before,
.glyphicon-refresh::before,
.glyphicon-remove::before,
.glyphicon-remove-sign::before,
.glyphicon-search::before,
.glyphicon-share::before,
.glyphicon-star::before,
.glyphicon-star-empty::before,
.glyphicon-tag::before,
.glyphicon-tags::before,
.glyphicon-th-list::before,
.glyphicon-time::before,
.glyphicon-trash::before,
.glyphicon-unchecked::before,
.glyphicon-upload::before,
.glyphicon-user::before,
.glyphicon-wrench::before {
  content: "" !important;
  font-family: inherit !important;
  speak: none;
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  vertical-align: -0.125em;
  background-color: currentColor !important;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* ---------- Icon masks (grouped) ---------- */

.suitepicon-action-view-diagnostics::before,
.suitepicon-admin-activity-streams::before,
.suitepicon-admin-diagnostic::before,
.suitepicon-module-activities::before,
.suitepicon-module-campaigntrackers::before,
.glyphicon-dashboard::before {
  -webkit-mask-image: var(--somnia-ico-activity);
  mask-image: var(--somnia-ico-activity);
}

.suitepicon-action-move-down::before,
.suitepicon-action-sorting-descending::before {
  -webkit-mask-image: var(--somnia-ico-arrow-down);
  mask-image: var(--somnia-ico-arrow-down);
}

.suitepicon-action-back::before {
  -webkit-mask-image: var(--somnia-ico-arrow-left);
  mask-image: var(--somnia-ico-arrow-left);
}

.suitepicon-action-move-up::before,
.suitepicon-action-sorting-ascending::before {
  -webkit-mask-image: var(--somnia-ico-arrow-up);
  mask-image: var(--somnia-ico-arrow-up);
}

.suitepicon-action-resource-chart::before,
.suitepicon-admin-geocoded-counts::before,
.suitepicon-dashlet-charts-horizontal::before,
.suitepicon-dashlet-charts-vertical::before,
.suitepicon-module-aor-reports::before {
  -webkit-mask-image: var(--somnia-ico-bar-chart);
  mask-image: var(--somnia-ico-bar-chart);
}

.suitepicon-action-alerts::before,
.suitepicon-action-alerts-small::before {
  -webkit-mask-image: var(--somnia-ico-bell);
  mask-image: var(--somnia-ico-bell);
}

.suitepicon-module-aok-knowledgebase::before {
  -webkit-mask-image: var(--somnia-ico-book);
  mask-image: var(--somnia-ico-book);
}

.glyphicon-bookmark::before {
  -webkit-mask-image: var(--somnia-ico-bookmark);
  mask-image: var(--somnia-ico-bookmark);
}

.suitepicon-admin-module-builder::before,
.suitepicon-module-new-module::before {
  -webkit-mask-image: var(--somnia-ico-box);
  mask-image: var(--somnia-ico-box);
}

.glyphicon-briefcase::before {
  -webkit-mask-image: var(--somnia-ico-briefcase);
  mask-image: var(--somnia-ico-briefcase);
}

.suitepicon-module-bugs::before {
  -webkit-mask-image: var(--somnia-ico-bug);
  mask-image: var(--somnia-ico-bug);
}

.suitepicon-module-accounts::before,
.suitepicon-module-company::before,
.suitepicon-template-company::before {
  -webkit-mask-image: var(--somnia-ico-building);
  mask-image: var(--somnia-ico-building);
}

.suitepicon-action-schedule::before,
.suitepicon-action-schedule-meeting::before,
.suitepicon-action-today::before,
.suitepicon-module-calendar::before,
.suitepicon-module-fp-events::before,
.suitepicon-module-meetings::before,
.glyphicon-calendar::before {
  -webkit-mask-image: var(--somnia-ico-calendar);
  mask-image: var(--somnia-ico-calendar);
}

.suitepicon-action-confirm::before {
  -webkit-mask-image: var(--somnia-ico-check);
  mask-image: var(--somnia-ico-check);
}

.glyphicon-ok-sign::before {
  -webkit-mask-image: var(--somnia-ico-check-circle);
  mask-image: var(--somnia-ico-check-circle);
}

.suitepicon-action-select::before,
.suitepicon-module-tasks::before {
  -webkit-mask-image: var(--somnia-ico-check-square);
  mask-image: var(--somnia-ico-check-square);
}

.glyphicon-check::before {
  -webkit-mask-image: var(--somnia-ico-checked);
  mask-image: var(--somnia-ico-checked);
}

.suitepicon-action-below::before,
.suitepicon-action-caret::before,
.suitepicon-action-down::before {
  -webkit-mask-image: var(--somnia-ico-chevron-down);
  mask-image: var(--somnia-ico-chevron-down);
}

.suitepicon-action-left::before,
.suitepicon-action-move-left::before {
  -webkit-mask-image: var(--somnia-ico-chevron-left);
  mask-image: var(--somnia-ico-chevron-left);
}

.suitepicon-action-forward::before,
.suitepicon-action-move-right::before,
.suitepicon-action-right::before {
  -webkit-mask-image: var(--somnia-ico-chevron-right);
  mask-image: var(--somnia-ico-chevron-right);
}

.suitepicon-action-above::before,
.suitepicon-action-up::before {
  -webkit-mask-image: var(--somnia-ico-chevron-up);
  mask-image: var(--somnia-ico-chevron-up);
}

.suitepicon-action-first::before {
  -webkit-mask-image: var(--somnia-ico-chevrons-left);
  mask-image: var(--somnia-ico-chevrons-left);
}

.suitepicon-action-last::before {
  -webkit-mask-image: var(--somnia-ico-chevrons-right);
  mask-image: var(--somnia-ico-chevrons-right);
}

.suitepicon-module-surveys::before {
  -webkit-mask-image: var(--somnia-ico-clipboard);
  mask-image: var(--somnia-ico-clipboard);
}

.suitepicon-action-create-person-form::before,
.suitepicon-action-view-project-tasks::before,
.suitepicon-module-am-tasktemplates::before,
.suitepicon-module-project-tasks::before,
.suitepicon-module-projecttask::before,
.suitepicon-module-projecttasks::before,
.suitepicon-module-survey-responses::before {
  -webkit-mask-image: var(--somnia-ico-clipboard-list);
  mask-image: var(--somnia-ico-clipboard-list);
}

.suitepicon-admin-aobh-businesshours::before,
.suitepicon-admin-scheduler::before,
.suitepicon-module-orc-timeentries::before {
  -webkit-mask-image: var(--somnia-ico-clock);
  mask-image: var(--somnia-ico-clock);
}

.glyphicon-cog::before {
  -webkit-mask-image: var(--somnia-ico-cog);
  mask-image: var(--somnia-ico-cog);
}

.suitepicon-admin-currencies::before,
.suitepicon-module-sale::before {
  -webkit-mask-image: var(--somnia-ico-coins);
  mask-image: var(--somnia-ico-coins);
}

.suitepicon-action-create-contact-vcard::before {
  -webkit-mask-image: var(--somnia-ico-contact);
  mask-image: var(--somnia-ico-contact);
}

.suitepicon-admin-address-cache::before {
  -webkit-mask-image: var(--somnia-ico-database);
  mask-image: var(--somnia-ico-database);
}

.glyphicon-download::before {
  -webkit-mask-image: var(--somnia-ico-download);
  mask-image: var(--somnia-ico-download);
}

.suitepicon-action-empty-action::before {
  -webkit-mask-image: var(--somnia-ico-empty);
  mask-image: var(--somnia-ico-empty);
}

.glyphicon-envelope::before {
  -webkit-mask-image: var(--somnia-ico-envelope);
  mask-image: var(--somnia-ico-envelope);
}

.suitepicon-action-invade::before,
.suitepicon-module-popupview::before,
.glyphicon-share::before {
  -webkit-mask-image: var(--somnia-ico-external);
  mask-image: var(--somnia-ico-external);
}

.suitepicon-action-view::before,
.suitepicon-action-view-record::before,
.suitepicon-module-detailview::before,
.glyphicon-eye-open::before {
  -webkit-mask-image: var(--somnia-ico-eye);
  mask-image: var(--somnia-ico-eye);
}

.suitepicon-module-documents::before,
.suitepicon-module-file::before,
.suitepicon-template-file::before,
.glyphicon-file::before {
  -webkit-mask-image: var(--somnia-ico-file);
  mask-image: var(--somnia-ico-file);
}

.suitepicon-action-view-create-email-templates::before,
.suitepicon-module-aos-invoices::before,
.suitepicon-module-aos-products-quotes::before,
.suitepicon-module-aos-quotes::before {
  -webkit-mask-image: var(--somnia-ico-file-text);
  mask-image: var(--somnia-ico-file-text);
}

.suitepicon-admin-configure-module-menu-filters::before,
.suitepicon-module-filter::before,
.glyphicon-filter::before {
  -webkit-mask-image: var(--somnia-ico-filter);
  mask-image: var(--somnia-ico-filter);
}

.suitepicon-display-folder-closed::before,
.suitepicon-module-aok-knowledge-base-categories::before,
.suitepicon-module-project::before,
.suitepicon-module-projects::before,
.glyphicon-folder-close::before {
  -webkit-mask-image: var(--somnia-ico-folder);
  mask-image: var(--somnia-ico-folder);
}

.suitepicon-display-folder-open::before,
.glyphicon-folder-open::before {
  -webkit-mask-image: var(--somnia-ico-folder-open);
  mask-image: var(--somnia-ico-folder-open);
}

.suitepicon-dashlet-charts-funnel::before {
  -webkit-mask-image: var(--somnia-ico-funnel);
  mask-image: var(--somnia-ico-funnel);
}

.suitepicon-admin-locale::before,
.glyphicon-globe::before {
  -webkit-mask-image: var(--somnia-ico-globe);
  mask-image: var(--somnia-ico-globe);
}

.suitepicon-module-aos-contracts::before {
  -webkit-mask-image: var(--somnia-ico-handshake);
  mask-image: var(--somnia-ico-handshake);
}

.suitepicon-admin-backups::before {
  -webkit-mask-image: var(--somnia-ico-hard-drive);
  mask-image: var(--somnia-ico-hard-drive);
}

.suitepicon-admin-donate::before {
  -webkit-mask-image: var(--somnia-ico-heart);
  mask-image: var(--somnia-ico-heart);
}

.suitepicon-action-view-process-audit::before,
.suitepicon-admin-history-subpanel::before,
.suitepicon-module-document-revisions::before,
.suitepicon-module-history::before {
  -webkit-mask-image: var(--somnia-ico-history);
  mask-image: var(--somnia-ico-history);
}

.suitepicon-action-home::before,
.suitepicon-module-home::before,
.glyphicon-home::before {
  -webkit-mask-image: var(--somnia-ico-home);
  mask-image: var(--somnia-ico-home);
}

.suitepicon-action-vcard::before {
  -webkit-mask-image: var(--somnia-ico-id-card);
  mask-image: var(--somnia-ico-id-card);
}

.suitepicon-admin-email-queue::before,
.suitepicon-admin-inbound-email::before {
  -webkit-mask-image: var(--somnia-ico-inbox);
  mask-image: var(--somnia-ico-inbox);
}

.suitepicon-action-info::before,
.glyphicon-exclamation-sign::before,
.glyphicon-info-sign::before,
.glyphicon-question-sign::before {
  -webkit-mask-image: var(--somnia-ico-info);
  mask-image: var(--somnia-ico-info);
}

.suitepicon-admin-oauth-keys::before,
.suitepicon-admin-oauth2::before {
  -webkit-mask-image: var(--somnia-ico-key);
  mask-image: var(--somnia-ico-key);
}

.suitepicon-admin-languages::before {
  -webkit-mask-image: var(--somnia-ico-languages);
  mask-image: var(--somnia-ico-languages);
}

.suitepicon-dashlet-charts-groupby::before,
.suitepicon-module-overview::before,
.suitepicon-module-subpanels::before {
  -webkit-mask-image: var(--somnia-ico-layers);
  mask-image: var(--somnia-ico-layers);
}

.suitepicon-admin-display-modules-and-subpanels::before,
.suitepicon-mimetype-tab::before,
.suitepicon-module-default::before,
.suitepicon-module-layouts::before,
.suitepicon-module-orc-kanban::before {
  -webkit-mask-image: var(--somnia-ico-layout);
  mask-image: var(--somnia-ico-layout);
}

.suitepicon-module-relationships::before,
.glyphicon-link::before {
  -webkit-mask-image: var(--somnia-ico-link);
  mask-image: var(--somnia-ico-link);
}

.suitepicon-action-list::before,
.suitepicon-admin-dropdown-editor::before,
.suitepicon-module-listview::before,
.glyphicon-list-alt::before,
.glyphicon-th-list::before {
  -webkit-mask-image: var(--somnia-ico-list);
  mask-image: var(--somnia-ico-list);
}

.suitepicon-admin-password::before,
.glyphicon-lock::before {
  -webkit-mask-image: var(--somnia-ico-lock);
  mask-image: var(--somnia-ico-lock);
}

.suitepicon-action-setup-email::before,
.suitepicon-action-view-email-templates::before,
.suitepicon-admin-email-settings::before,
.suitepicon-module-emails::before {
  -webkit-mask-image: var(--somnia-ico-mail);
  mask-image: var(--somnia-ico-mail);
}

.suitepicon-action-list-maps::before,
.suitepicon-admin-google-maps-settings::before,
.suitepicon-module-areas-maps::before,
.suitepicon-module-jjwg-maps::before {
  -webkit-mask-image: var(--somnia-ico-map);
  mask-image: var(--somnia-ico-map);
}

.suitepicon-admin-geocode-addresses::before,
.suitepicon-module-fp-event-locations::before,
.suitepicon-module-jjwg-markers::before,
.suitepicon-module-spots::before,
.glyphicon-map-marker::before {
  -webkit-mask-image: var(--somnia-ico-map-pin);
  mask-image: var(--somnia-ico-map-pin);
}

.suitepicon-action-megaphone::before,
.suitepicon-admin-campaign-email-settings::before,
.suitepicon-module-campaigns::before,
.suitepicon-module-email-marketing::before,
.suitepicon-module-email-marketing2::before {
  -webkit-mask-image: var(--somnia-ico-megaphone);
  mask-image: var(--somnia-ico-megaphone);
}

.suitepicon-action-minus::before,
.suitepicon-action-subtract::before,
.glyphicon-minus::before,
.glyphicon-minus-sign::before {
  -webkit-mask-image: var(--somnia-ico-minus);
  mask-image: var(--somnia-ico-minus);
}

.suitepicon-module-other::before {
  -webkit-mask-image: var(--somnia-ico-more);
  mask-image: var(--somnia-ico-more);
}

.suitepicon-dashlet-sugarnews::before {
  -webkit-mask-image: var(--somnia-ico-newspaper);
  mask-image: var(--somnia-ico-newspaper);
}

.glyphicon-ok::before {
  -webkit-mask-image: var(--somnia-ico-ok);
  mask-image: var(--somnia-ico-ok);
}

.suitepicon-admin-module-loader::before,
.suitepicon-module-aos-products::before,
.suitepicon-module-existing-package::before,
.suitepicon-module-new-package::before,
.suitepicon-module-products::before {
  -webkit-mask-image: var(--somnia-ico-package);
  mask-image: var(--somnia-ico-package);
}

.suitepicon-admin-themes::before {
  -webkit-mask-image: var(--somnia-ico-palette);
  mask-image: var(--somnia-ico-palette);
}

.glyphicon-paperclip::before {
  -webkit-mask-image: var(--somnia-ico-paperclip);
  mask-image: var(--somnia-ico-paperclip);
}

.suitepicon-admin-pdf-settings::before,
.suitepicon-module-aos-pdf-templates::before {
  -webkit-mask-image: var(--somnia-ico-pdf);
  mask-image: var(--somnia-ico-pdf);
}

.suitepicon-module-aos-contracts-signature::before {
  -webkit-mask-image: var(--somnia-ico-pen-tool);
  mask-image: var(--somnia-ico-pen-tool);
}

.suitepicon-action-edit::before,
.suitepicon-module-editview::before,
.glyphicon-edit::before,
.glyphicon-pencil::before {
  -webkit-mask-image: var(--somnia-ico-pencil);
  mask-image: var(--somnia-ico-pencil);
}

.suitepicon-action-schedule-call::before,
.suitepicon-module-calls::before,
.suitepicon-module-orc-abandonedcalls::before,
.glyphicon-earphone::before {
  -webkit-mask-image: var(--somnia-ico-phone);
  mask-image: var(--somnia-ico-phone);
}

.suitepicon-dashlet-charts-pie::before {
  -webkit-mask-image: var(--somnia-ico-pie-chart);
  mask-image: var(--somnia-ico-pie-chart);
}

.suitepicon-admin-connectors::before {
  -webkit-mask-image: var(--somnia-ico-plug);
  mask-image: var(--somnia-ico-plug);
}

.suitepicon-action-add::before,
.suitepicon-action-create::before,
.suitepicon-action-plus::before,
.suitepicon-module-quickcreate::before,
.glyphicon-plus::before,
.glyphicon-plus-sign::before {
  -webkit-mask-image: var(--somnia-ico-plus);
  mask-image: var(--somnia-ico-plus);
}

.suitepicon-action-quick-radius-map::before,
.suitepicon-admin-geocoding-test::before {
  -webkit-mask-image: var(--somnia-ico-radar);
  mask-image: var(--somnia-ico-radar);
}

.suitepicon-action-reload::before,
.suitepicon-admin-rebuild::before,
.glyphicon-refresh::before {
  -webkit-mask-image: var(--somnia-ico-refresh);
  mask-image: var(--somnia-ico-refresh);
}

.suitepicon-action-search::before,
.suitepicon-admin-aod-settings::before,
.suitepicon-admin-global-search::before,
.glyphicon-search::before {
  -webkit-mask-image: var(--somnia-ico-search);
  mask-image: var(--somnia-ico-search);
}

.suitepicon-admin-outbound-email::before {
  -webkit-mask-image: var(--somnia-ico-send);
  mask-image: var(--somnia-ico-send);
}

.suitepicon-admin-aop-settings::before,
.suitepicon-admin-aos-settings::before,
.suitepicon-admin-system-settings::before {
  -webkit-mask-image: var(--somnia-ico-settings);
  mask-image: var(--somnia-ico-settings);
}

.suitepicon-action-create-security-group::before,
.suitepicon-action-security-suite-settings::before,
.suitepicon-admin-security::before,
.suitepicon-module-securitygroups::before {
  -webkit-mask-image: var(--somnia-ico-shield);
  mask-image: var(--somnia-ico-shield);
}

.suitepicon-action-role-management::before,
.suitepicon-admin-roles::before,
.suitepicon-module-aclroles::before {
  -webkit-mask-image: var(--somnia-ico-shield-check);
  mask-image: var(--somnia-ico-shield-check);
}

.suitepicon-admin-studio::before,
.suitepicon-module-fields::before {
  -webkit-mask-image: var(--somnia-ico-sliders);
  mask-image: var(--somnia-ico-sliders);
}

.suitepicon-action-sorting-none::before {
  -webkit-mask-image: var(--somnia-ico-sort);
  mask-image: var(--somnia-ico-sort);
}

.suitepicon-module-basic::before {
  -webkit-mask-image: var(--somnia-ico-square);
  mask-image: var(--somnia-ico-square);
}

.suitepicon-favorite-star::before {
  -webkit-mask-image: var(--somnia-ico-star);
  mask-image: var(--somnia-ico-star);
}

.suitepicon-favorite-star-outline::before,
.glyphicon-star::before,
.glyphicon-star-empty::before {
  -webkit-mask-image: var(--somnia-ico-star-outline);
  mask-image: var(--somnia-ico-star-outline);
}

.suitepicon-dashlet-jotpad::before,
.suitepicon-module-case-updates::before,
.suitepicon-module-notes::before,
.glyphicon-comment::before {
  -webkit-mask-image: var(--somnia-ico-sticky);
  mask-image: var(--somnia-ico-sticky);
}

.suitepicon-admin-releases::before,
.suitepicon-module-aos-product-categories::before,
.glyphicon-tag::before,
.glyphicon-tags::before {
  -webkit-mask-image: var(--somnia-ico-tag);
  mask-image: var(--somnia-ico-tag);
}

.suitepicon-module-prospects::before,
.suitepicon-module-targets::before {
  -webkit-mask-image: var(--somnia-ico-target);
  mask-image: var(--somnia-ico-target);
}

.suitepicon-module-cases::before,
.suitepicon-module-issue::before,
.suitepicon-module-srv-supportservice::before,
.suitepicon-module-srv-supportservices::before,
.suitepicon-template-issue::before {
  -webkit-mask-image: var(--somnia-ico-ticket);
  mask-image: var(--somnia-ico-ticket);
}

.glyphicon-time::before {
  -webkit-mask-image: var(--somnia-ico-time);
  mask-image: var(--somnia-ico-time);
}

.suitepicon-action-delete::before,
.glyphicon-trash::before {
  -webkit-mask-image: var(--somnia-ico-trash);
  mask-image: var(--somnia-ico-trash);
}

.suitepicon-module-opportunities::before {
  -webkit-mask-image: var(--somnia-ico-trending);
  mask-image: var(--somnia-ico-trending);
}

.suitepicon-admin-rename-modules::before,
.suitepicon-module-labels::before {
  -webkit-mask-image: var(--somnia-ico-type);
  mask-image: var(--somnia-ico-type);
}

.glyphicon-unchecked::before {
  -webkit-mask-image: var(--somnia-ico-unchecked);
  mask-image: var(--somnia-ico-unchecked);
}

.suitepicon-action-import::before,
.suitepicon-action-import-line-item::before,
.suitepicon-admin-import::before,
.glyphicon-upload::before {
  -webkit-mask-image: var(--somnia-ico-upload);
  mask-image: var(--somnia-ico-upload);
}

.suitepicon-action-current-user::before,
.suitepicon-action-user::before,
.suitepicon-action-user-small::before,
.suitepicon-module-contacts::before,
.suitepicon-module-person::before,
.glyphicon-user::before {
  -webkit-mask-image: var(--somnia-ico-user);
  mask-image: var(--somnia-ico-user);
}

.suitepicon-action-create-group-user::before,
.suitepicon-module-leads::before {
  -webkit-mask-image: var(--somnia-ico-user-plus);
  mask-image: var(--somnia-ico-user-plus);
}

.suitepicon-action-security-groups::before,
.suitepicon-admin-security-suite-group-management::before,
.suitepicon-admin-user-management::before,
.suitepicon-module-direct-reports::before,
.suitepicon-module-orc-gestaoprojetos::before,
.suitepicon-module-prospect-lists::before,
.suitepicon-module-prospect_lists::before,
.suitepicon-module-prospectlists::before,
.suitepicon-module-users::before {
  -webkit-mask-image: var(--somnia-ico-users);
  mask-image: var(--somnia-ico-users);
}

.suitepicon-admin-workflow::before,
.suitepicon-module-aow-workflow::before,
.suitepicon-module-process::before {
  -webkit-mask-image: var(--somnia-ico-workflow);
  mask-image: var(--somnia-ico-workflow);
}

.suitepicon-admin-repair::before,
.glyphicon-wrench::before {
  -webkit-mask-image: var(--somnia-ico-wrench);
  mask-image: var(--somnia-ico-wrench);
}

.suitepicon-action-clear::before,
.glyphicon-remove::before,
.glyphicon-remove-sign::before {
  -webkit-mask-image: var(--somnia-ico-x);
  mask-image: var(--somnia-ico-x);
}

.suitepicon-admin-upgrade-wizard::before {
  -webkit-mask-image: var(--somnia-ico-zap);
  mask-image: var(--somnia-ico-zap);
}

/* ---------- contextual ---------- */
.navbar-search.open .btn-default.searchbutton::before,
li.navbar-search.open .searchbutton::before {
  -webkit-mask-image: var(--somnia-ico-x) !important;
  mask-image: var(--somnia-ico-x) !important;
}

/* ---------- SCSS / dynamic aliases ---------- */

.suitepicon-action-create-lead-vcard::before,
.suitepicon-module-sugarfeed::before,
.suitepicon-dashlet-sugarfeeddashlet::before,
.suitepicon-module-jjwg-areas::before,
.suitepicon-module-outboundemailaccounts::before,
.suitepicon-module-aow-processed::before,
.suitepicon-module-aos-products::before,
.suitepicon-module-projecttask::before,
.suitepicon-module-project::before,
.suitepicon-module-am-projecttemplates::before,
.suitepicon-module-projects::before,
.suitepicon-module-projecttasks::before,
.suitepicon-module-surveyquestionoptions::before,
.suitepicon-module-surveyquestionresponses::before,
.suitepicon-module-surveyresponses::before,
.suitepicon-module-surveyquestions::before,
.suitepicon-dashlet-invadersdashlet::before,
.suitepicon-dashlet-sugarnewsdashlet::before,
.suitepicon-dashlet-jotpaddashlet::before,
.suitepicon-dashlet-spotsdashlet::before,
.suitepicon-module-user::before,
.suitepicon-module-contact::before,
.suitepicon-module-lead::before,
.suitepicon-module-home::before,
.suitepicon-module-prospects::before,
.suitepicon-module-prospect-lists::before,
.suitepicon-module-prospectlists::before,
.suitepicon-module-srv-supportservice::before,
.suitepicon-module-srv-supportservices::before,
.suitepicon-module-orc-gestaoprojetos::before,
.suitepicon-module-orc-timeentries::before,
.suitepicon-module-orc-kanban::before,
.suitepicon-module-orc-abandonedcalls::before,
.suitepicon-module-aos-products-quotes::before {
  content: "" !important;
  font-family: inherit !important;
  speak: none;
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  vertical-align: -0.125em;
  background-color: currentColor !important;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.suitepicon-action-create-lead-vcard::before {
  -webkit-mask-image: var(--somnia-ico-contact);
  mask-image: var(--somnia-ico-contact);
}

.suitepicon-module-sugarfeed::before,
.suitepicon-dashlet-sugarfeeddashlet::before {
  -webkit-mask-image: var(--somnia-ico-bell);
  mask-image: var(--somnia-ico-bell);
}

.suitepicon-module-jjwg-areas::before {
  -webkit-mask-image: var(--somnia-ico-map);
  mask-image: var(--somnia-ico-map);
}

.suitepicon-module-outboundemailaccounts::before {
  -webkit-mask-image: var(--somnia-ico-layout);
  mask-image: var(--somnia-ico-layout);
}

.suitepicon-module-aow-processed::before {
  -webkit-mask-image: var(--somnia-ico-workflow);
  mask-image: var(--somnia-ico-workflow);
}

.suitepicon-module-aos-products::before {
  -webkit-mask-image: var(--somnia-ico-package);
  mask-image: var(--somnia-ico-package);
}

.suitepicon-module-projecttask::before,
.suitepicon-module-project::before,
.suitepicon-module-am-projecttemplates::before,
.suitepicon-module-projects::before,
.suitepicon-module-projecttasks::before {
  -webkit-mask-image: var(--somnia-ico-clipboard-list);
  mask-image: var(--somnia-ico-clipboard-list);
}

.suitepicon-module-surveyquestionoptions::before,
.suitepicon-module-surveyquestionresponses::before,
.suitepicon-module-surveyresponses::before,
.suitepicon-module-surveyquestions::before {
  -webkit-mask-image: var(--somnia-ico-clipboard);
  mask-image: var(--somnia-ico-clipboard);
}

.suitepicon-dashlet-invadersdashlet::before {
  -webkit-mask-image: var(--somnia-ico-external);
  mask-image: var(--somnia-ico-external);
}

.suitepicon-dashlet-sugarnewsdashlet::before {
  -webkit-mask-image: var(--somnia-ico-newspaper);
  mask-image: var(--somnia-ico-newspaper);
}

.suitepicon-dashlet-jotpaddashlet::before {
  -webkit-mask-image: var(--somnia-ico-sticky);
  mask-image: var(--somnia-ico-sticky);
}

.suitepicon-dashlet-spotsdashlet::before {
  -webkit-mask-image: var(--somnia-ico-map-pin);
  mask-image: var(--somnia-ico-map-pin);
}

.suitepicon-module-user::before {
  -webkit-mask-image: var(--somnia-ico-users);
  mask-image: var(--somnia-ico-users);
}

.suitepicon-module-contact::before {
  -webkit-mask-image: var(--somnia-ico-user);
  mask-image: var(--somnia-ico-user);
}

.suitepicon-module-lead::before {
  -webkit-mask-image: var(--somnia-ico-user-plus);
  mask-image: var(--somnia-ico-user-plus);
}

.suitepicon-module-home::before {
  -webkit-mask-image: var(--somnia-ico-home);
  mask-image: var(--somnia-ico-home);
}

.suitepicon-module-prospects::before {
  -webkit-mask-image: var(--somnia-ico-target);
  mask-image: var(--somnia-ico-target);
}

.suitepicon-module-prospect-lists::before,
.suitepicon-module-prospectlists::before {
  -webkit-mask-image: var(--somnia-ico-users);
  mask-image: var(--somnia-ico-users);
}

.suitepicon-module-srv-supportservice::before,
.suitepicon-module-srv-supportservices::before {
  -webkit-mask-image: var(--somnia-ico-ticket);
  mask-image: var(--somnia-ico-ticket);
}

.suitepicon-module-orc-gestaoprojetos::before {
  -webkit-mask-image: var(--somnia-ico-users);
  mask-image: var(--somnia-ico-users);
}

.suitepicon-module-orc-timeentries::before {
  -webkit-mask-image: var(--somnia-ico-clock);
  mask-image: var(--somnia-ico-clock);
}

.suitepicon-module-orc-kanban::before {
  -webkit-mask-image: var(--somnia-ico-layout);
  mask-image: var(--somnia-ico-layout);
}

.suitepicon-module-orc-abandonedcalls::before {
  -webkit-mask-image: var(--somnia-ico-phone);
  mask-image: var(--somnia-ico-phone);
}

.suitepicon-module-aos-products-quotes::before {
  -webkit-mask-image: var(--somnia-ico-file-text);
  mask-image: var(--somnia-ico-file-text);
}

/* Tecto: um ::before com mask sem tamanho herdado de um contentor largo
   não pode encher o viewport (FOUC da ListView). */
html.somnia-theme .suitepicon::before,
html.somnia-theme .suitepicon:before {
  max-width: 48px;
  max-height: 48px;
}

/* source: custom/themes/SuiteP/css/somnia/18-header-timer.css */
/**
 * Timer no header — ícone + painel brand (alinhado ao orcinus-copy)
 */

#orc-header-timer {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  z-index: 20;
  margin: 0 2px 0 0;
  list-style: none;
}

html.somnia-theme #orc-header-timer.open,
html.somnia-theme #orc-header-timer:focus-within {
  z-index: 30;
}

#orc-header-timer .orc-timer-toggle.somnia-alerts-btn,
#orc-header-timer .orc-timer-toggle {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  overflow: visible !important;
  vertical-align: middle !important;
}

#orc-header-timer .orc-timer-toggle:hover,
#orc-header-timer .orc-timer-toggle:focus,
#orc-header-timer.open .orc-timer-toggle {
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  color: #fff !important;
}

#orc-header-timer .somnia-header-timer-icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

#orc-header-timer .somnia-header-timer-icon .somnia-timer-icon {
  display: block;
  width: 22px;
  height: 22px;
  color: #fff;
}

#orc-header-timer .orc-header-timer-header-elapsed {
  position: absolute !important;
  top: 0 !important;
  right: -2px !important;
  display: none;
  min-width: 30px;
  padding: 1px 5px;
  border-radius: 999px;
  background: #146161;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
  z-index: 4;
  pointer-events: none;
}

#orc-header-timer .orc-header-timer-header-elapsed.is-visible {
  display: block;
}

#orc-header-timer .orc-header-timer-header-elapsed.is-support {
  background: #c2410c;
}

#orc-header-timer .orc-header-timer-header-elapsed.is-project {
  background: #66bb6a;
}

/* Painel do timer — sempre no document.body, nunca dentro da navbar */
html body #orc-header-timer-menu,
html body > .orc-header-timer-menu,
html.somnia-theme body #orc-header-timer-menu,
html.somnia-theme body > .orc-header-timer-menu {
  display: none;
}

html body #orc-header-timer-menu.orc-timer-menu-open,
html body > .orc-header-timer-menu.orc-timer-menu-open,
html.somnia-theme body #orc-header-timer-menu.orc-timer-menu-open,
html.somnia-theme body > .orc-header-timer-menu.orc-timer-menu-open {
  display: block !important;
  position: fixed !important;
  background: var(--somnia-brand, #146161) !important;
  background-color: var(--somnia-brand, #146161) !important;
  border: 1px solid rgba(20, 97, 97, 0.35) !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.08) !important;
  padding: 11px 11px 9px !important;
  min-width: 420px !important;
  max-width: min(560px, 94vw) !important;
  width: max-content !important;
  margin: 0 !important;
  z-index: 2147483000 !important;
  color: #fff !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

html body #orc-header-timer-menu .orc-header-timer-title,
html body #orc-header-timer-menu .orc-header-timer-label,
html body #orc-header-timer-menu .orc-header-timer-label-note,
html body #orc-header-timer-menu .orc-header-timer-worktype:not(.is-active),
html body #orc-header-timer-menu .orc-header-timer-tab:not(.is-active),
html body #orc-header-timer-menu .orc-header-timer-mode-btn:not(.is-active),
html.somnia-theme #orc-header-timer-menu .orc-header-timer-title,
html.somnia-theme #orc-header-timer-menu .orc-header-timer-label,
html.somnia-theme #orc-header-timer-menu .orc-header-timer-label-note,
html.somnia-theme #orc-header-timer-menu .orc-header-timer-worktype:not(.is-active),
html.somnia-theme #orc-header-timer-menu .orc-header-timer-tab:not(.is-active),
html.somnia-theme #orc-header-timer-menu .orc-header-timer-mode-btn:not(.is-active) {
  color: #fff !important;
}

html body #orc-header-timer-menu .orc-header-timer-status,
html body #orc-header-timer-menu .orc-header-timer-status-manual,
html.somnia-theme #orc-header-timer-menu .orc-header-timer-status,
html.somnia-theme #orc-header-timer-menu .orc-header-timer-status-manual {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
}

html body #orc-header-timer-menu .orc-header-timer-block,
html.somnia-theme #orc-header-timer-menu .orc-header-timer-block {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

html body .desktop-bar #orc-header-timer,
html body .tablet-bar #orc-header-timer,
html body .mobile-bar #orc-header-timer,
html.somnia-theme .desktop-bar #orc-header-timer {
  float: none;
}

@media (max-width: 768px) {
  #orc-header-timer .somnia-header-timer-icon,
  #orc-header-timer .somnia-header-timer-icon .somnia-timer-icon {
    width: 20px;
    height: 20px;
  }

  html body #orc-header-timer-menu,
  html.somnia-theme #orc-header-timer-menu {
    min-width: 340px !important;
    max-width: 94vw !important;
  }
}

/* source: custom/themes/SuiteP/css/somnia/19-dashlet-configure.css */
/**
 * Somnia — Modal «Opções» dos dashlets (ícone lápis/pincel)
 * O YUI posiciona o contentor #dlg_c (width:100%), não só #dlg.
 */

/* Contentor YUI — só quando o modal está aberto (não forçar #dlg_c no resto do tempo).
   Fundo transparente: se o YUI deixar o contentor a 100% não pinta um rectângulo branco. */
html.somnia-theme #dlg_c {
  background: transparent !important;
  background-color: transparent !important;
}

/* Opções do dashlet: esconder o painel YUI nativo até o layout Somnia estar aplicado. */
html.somnia-theme body.somnia-dashlet-configure-pending #dlg_c,
html.somnia-theme body.somnia-dashlet-configure-pending #dlg_mask,
html.somnia-theme #dlg.SuiteP-configureDashlet:not(.somnia-dashlet-configure-ready) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html.somnia-theme #dlg_c.somnia-dashlet-configure-wrap,
body.yui-skin-sam.masked #dlg_c.somnia-dashlet-configure-wrap,
body.yui-skin-sam.masked .yui-panel-container#dlg_c.somnia-dashlet-configure-wrap,
html.somnia-theme body.masked #dlg_c:has(#dlg.SuiteP-configureDashlet) {
  position: fixed !important;
  top: 32px !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: min(960px, calc(100vw - 40px)) !important;
  max-width: 960px !important;
  max-height: calc(100vh - 48px) !important;
  height: auto !important;
  z-index: 20010 !important;
  overflow: visible !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

html.somnia-theme #dlg_c > .underlay,
html.somnia-theme #dlg_c.somnia-dashlet-configure-wrap > .underlay {
  display: none !important;
  background: transparent !important;
}

.yui-skin-sam.masked #dlg.SuiteP-configureDashlet,
#dlg.SuiteP-configureDashlet {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  max-height: calc(100vh - 48px) !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.16), 0 4px 12px rgba(15, 23, 42, 0.08) !important;
  overflow: hidden;
  font-family: inherit;
}

#dlg.SuiteP-configureDashlet .hd,
#dlg.SuiteP-configureDashlet .somnia-dashlet-configure-header {
  background: #fff !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 22px 56px 18px 28px !important;
  font-size: 17px !important;
  margin: 0 !important;
  border-bottom: 1px solid #eef2f6 !important;
  border-radius: 0 !important;
  line-height: 1.35 !important;
  height: auto !important;
  letter-spacing: -0.01em;
}

.yui-skin-sam.masked #dlg.SuiteP-configureDashlet.yui-module.yui-overlay.yui-panel .container-close,
#dlg.SuiteP-configureDashlet .container-close {
  position: absolute !important;
  top: 18px !important;
  right: 20px !important;
  margin: 0 !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border-radius: 50% !important;
  background: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  border-bottom: none !important;
  font-size: 0 !important;
  font-weight: 400 !important;
  line-height: 0 !important;
  text-align: center !important;
  text-indent: 0 !important;
  text-decoration: none !important;
  color: transparent !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  transition: background 0.15s ease, border-color 0.15s ease;
}

#dlg.SuiteP-configureDashlet .container-close::after {
  content: "\00d7";
  display: block;
  font-size: 17px;
  font-weight: 400;
  line-height: 1;
  color: #64748b;
  pointer-events: none;
}

.yui-skin-sam.masked #dlg.SuiteP-configureDashlet.yui-module.yui-overlay.yui-panel .container-close:hover,
#dlg.SuiteP-configureDashlet .container-close:hover {
  background: #e2e8f0 !important;
  border-color: #cbd5e1 !important;
  color: transparent !important;
}

#dlg.SuiteP-configureDashlet .container-close:hover::after {
  color: #0f172a;
}

.yui-skin-sam.masked #dlg.SuiteP-configureDashlet.yui-module.yui-overlay.yui-panel .bd,
#dlg.SuiteP-configureDashlet .bd,
#dlg.SuiteP-configureDashlet .somnia-dashlet-configure-body {
  background: #fff !important;
  padding: 0 !important;
  flex: 0 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  border-radius: 0 0 16px 16px !important;
}

#dlg.SuiteP-configureDashlet .bd.somnia-dashlet-configure-body--scroll,
#dlg.SuiteP-configureDashlet .somnia-dashlet-configure-body.somnia-dashlet-configure-body--scroll {
  flex: 1 1 auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

/* Override SuiteP: #dlg .bd { max-height: 500px } em ecrãs < 1360px */
@media (max-width: 1360px) {
  #dlg.SuiteP-configureDashlet .bd,
  #dlg.SuiteP-configureDashlet .somnia-dashlet-configure-body {
    max-height: none !important;
  }
}

#dlg.SuiteP-configureDashlet .bd > div {
  padding: 0;
}

/* ---------- Anular float/width legado do SuiteCRM nas linhas do formulário ---------- */
.yui-skin-sam.masked #dlg.SuiteP-configureDashlet .bd form table.edit > tbody > tr.somnia-dashlet-configure-field-row td,
.yui-skin-sam.masked #dlg.SuiteP-configureDashlet .bd form table.edit > tbody > tr.somnia-dashlet-configure-filter-row td,
#dlg.SuiteP-configureDashlet .bd form table.edit > tbody > tr.somnia-dashlet-configure-field-row td,
#dlg.SuiteP-configureDashlet .bd form table.edit > tbody > tr.somnia-dashlet-configure-filter-row td {
  float: none !important;
  width: auto !important;
}

@media (min-width: 800px) {
  .yui-skin-sam.masked #dlg.SuiteP-configureDashlet .bd form table.edit #edit_tabs {
    position: static !important;
    top: auto !important;
    right: auto !important;
  }

  .yui-skin-sam.masked #dlg.SuiteP-configureDashlet .bd form table.edit > tbody > tr.somnia-dashlet-configure-field-row td[scope="row"],
  .yui-skin-sam.masked #dlg.SuiteP-configureDashlet .bd form table.edit > tbody > tr.somnia-dashlet-configure-field-row td[valign="top"] {
    width: auto !important;
    float: none !important;
  }
}

/* ---------- Formulário ---------- */
#dlg.SuiteP-configureDashlet form table.edit,
#dlg.SuiteP-configureDashlet form table.edit.view,
#dlg.SuiteP-configureDashlet form table.edit.view.somnia-dashlet-configure-form {
  width: 100% !important;
  border: 0 !important;
  margin: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  display: block !important;
  table-layout: auto !important;
}

#dlg.SuiteP-configureDashlet form table.edit > tbody,
#dlg.SuiteP-configureDashlet form table.edit.view > tbody {
  display: block !important;
  width: 100% !important;
}

/* Linhas de campo: flex corrigido (o tema usa flex + float e esmaga os inputs) */
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr:has(> td[scope="row"]:not([colspan="4"])):not(:has(#edit_tabs)):not(:has(input.button)):not(.somnia-dashlet-configure-filter-row):not(.somnia-dashlet-configure-chooser-row),
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-field-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 20px !important;
  border-bottom: none !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-filter-row {
  display: grid !important;
  grid-template-columns: minmax(108px, 0.9fr) minmax(0, 1.2fr) minmax(108px, 0.9fr) minmax(0, 1.2fr) !important;
  align-items: start !important;
  column-gap: 16px !important;
  row-gap: 12px !important;
  width: 100% !important;
  padding: 10px 20px !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr:has(> td[scope="row"]:not([colspan="4"])):not(:has(#edit_tabs)):not(:has(input.button)):not(.somnia-dashlet-configure-filter-row):not(.somnia-dashlet-configure-chooser-row) > td,
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-field-row > td,
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-filter-row > td {
  display: block !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  vertical-align: middle !important;
  padding: 0 !important;
  border: 0 !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr:has(> td[scope="row"]:not([colspan="4"])):not(:has(#edit_tabs)):not(:has(input.button)):not(.somnia-dashlet-configure-filter-row) > td[scope="row"],
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-field-row > td[scope="row"] {
  flex: 0 1 auto !important;
  min-width: 9.5rem !important;
  max-width: 46% !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr:has(> td[scope="row"]:not([colspan="4"])):not(:has(#edit_tabs)):not(:has(input.button)):not(.somnia-dashlet-configure-filter-row) > td:not([scope="row"]),
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-field-row > td:not([scope="row"]) {
  flex: 1 1 280px !important;
  min-width: 200px !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-filter-row > td[scope="row"] {
  flex: none !important;
  min-width: 0 !important;
  max-width: none !important;
  padding-top: 10px !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-filter-row > td:not([scope="row"]) {
  flex: none !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* Labels longos (ex.: «País - endereço principal») nunca truncar */
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-field-row > td[scope="row"],
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-filter-row > td[scope="row"],
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr:has(> td[scope="row"]:not([colspan="4"])):not(:has(#edit_tabs)):not(:has(input.button)) > td[scope="row"] {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.35 !important;
  hyphens: auto;
}

#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-section-row {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-section-row > td {
  display: block !important;
  width: 100% !important;
  padding: 18px 20px 8px !important;
  float: none !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view h2,
#dlg.SuiteP-configureDashlet .somnia-dashlet-configure-section-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #94a3b8 !important;
  border: 0 !important;
  background: transparent !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view tr td[scope="row"][colspan="4"] br {
  display: none !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr:has(> td[scope="row"]:not([colspan="4"])):not(:has(#edit_tabs)):not(:has(input.button)):not(.somnia-dashlet-configure-filter-row) input[type="text"],
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr:has(> td[scope="row"]:not([colspan="4"])):not(:has(#edit_tabs)):not(:has(input.button)):not(.somnia-dashlet-configure-filter-row) select:not([multiple]),
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-field-row input[type="text"],
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-field-row select:not([multiple]),
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-filter-row input[type="text"],
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-filter-row select:not([multiple]) {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 40px;
  height: 40px;
  padding: 8px 12px !important;
  font-size: 14px !important;
  color: #0f172a !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

#dlg.SuiteP-configureDashlet form table.edit.view select:not([multiple]) {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  cursor: pointer;
  background-color: #f8fafc !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 12px 12px !important;
  padding-right: 36px !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-filter-row select[multiple] {
  width: 100% !important;
  min-height: 96px !important;
  height: 96px !important;
  max-height: 96px !important;
  padding: 6px 8px !important;
  font-size: 13px !important;
  color: #1e293b !important;
  background: #fff !important;
  background-image: none !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  appearance: auto !important;
  -webkit-appearance: auto !important;
  box-sizing: border-box;
}

#dlg.SuiteP-configureDashlet form table.edit.view input[type="text"]:focus,
#dlg.SuiteP-configureDashlet form table.edit.view select:focus {
  outline: none;
  border-color: #146161 !important;
  box-shadow: 0 0 0 3px rgba(20, 97, 97, 0.12) !important;
  background: #fff !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 8px 0 0 !important;
  accent-color: #146161;
  vertical-align: middle;
}

/* Linha do column chooser — largura total */
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-chooser-row {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-chooser-row > td {
  display: block !important;
  width: 100% !important;
  padding: 8px 20px 20px !important;
  float: none !important;
}

/* ---------- Column chooser (#edit_tabs) ---------- */
#dlg.SuiteP-configureDashlet #edit_tabs.somnia-dashlet-column-chooser {
  position: static !important;
  top: auto !important;
  right: auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 20px 24px !important;
  min-height: min(380px, 42vh) !important;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-sizing: border-box;
}

#dlg.SuiteP-configureDashlet #edit_tabs > table {
  width: 100% !important;
  border: 0 !important;
}

#dlg.SuiteP-configureDashlet #edit_tabs > table > tbody > tr {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: 10px 14px;
  border: 0 !important;
}

#dlg.SuiteP-configureDashlet #edit_tabs > table > tbody > tr > td {
  display: block !important;
  float: none !important;
  width: auto !important;
  padding: 4px !important;
  vertical-align: top !important;
}

#dlg.SuiteP-configureDashlet #chooser_display_tabs_text,
#dlg.SuiteP-configureDashlet #chooser_hide_tabs {
  display: block !important;
  margin-bottom: 6px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #94a3b8 !important;
  text-align: center !important;
}

#dlg.SuiteP-configureDashlet #display_tabs_td,
#dlg.SuiteP-configureDashlet #hide_tabs_td {
  min-width: 280px;
  flex: 1 1 280px;
}

#dlg.SuiteP-configureDashlet #edit_tabs select[multiple],
#dlg.SuiteP-configureDashlet #display_tabs,
#dlg.SuiteP-configureDashlet #hide_tabs,
#dlg.SuiteP-configureDashlet select.templateGroupChooser,
#dlg.SuiteP-configureDashlet select.groupChooser {
  width: 100% !important;
  min-width: 260px !important;
  height: 280px !important;
  min-height: 280px !important;
  max-height: 280px !important;
  max-width: none !important;
  padding: 8px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1e293b !important;
  background: #fff !important;
  background-image: none !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 10px !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
  appearance: auto !important;
  -webkit-appearance: auto !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
}

#dlg.SuiteP-configureDashlet #edit_tabs select[multiple] option,
#dlg.SuiteP-configureDashlet #display_tabs option,
#dlg.SuiteP-configureDashlet #hide_tabs option,
#dlg.SuiteP-configureDashlet select.templateGroupChooser option,
#dlg.SuiteP-configureDashlet select.groupChooser option {
  padding: 6px 8px;
  border-radius: 4px;
}

#dlg.SuiteP-configureDashlet select#display_tabs option {
  background: #e6f2f2;
  color: #146161;
}

#dlg.SuiteP-configureDashlet select#hide_tabs option {
  background: #fff;
  color: #64748b;
}

/* Botões setas (substituem GIFs) */
#dlg.SuiteP-configureDashlet a.somnia-dashlet-chooser-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 2px 0 !important;
  padding: 0 !important;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #fff;
  text-decoration: none !important;
  transition: background 0.15s ease, border-color 0.15s ease;
}

#dlg.SuiteP-configureDashlet a.somnia-dashlet-chooser-btn:hover {
  background: #e6f2f2;
  border-color: #b8ddd9;
}

#dlg.SuiteP-configureDashlet a.somnia-dashlet-chooser-btn img {
  display: none !important;
}

#dlg.SuiteP-configureDashlet a.somnia-dashlet-chooser-btn::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background-color: #146161;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

#dlg.SuiteP-configureDashlet a.somnia-dashlet-chooser-btn.is-up::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='18 15 12 9 6 15'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='18 15 12 9 6 15'/></svg>");
}

#dlg.SuiteP-configureDashlet a.somnia-dashlet-chooser-btn.is-down::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
}

#dlg.SuiteP-configureDashlet a.somnia-dashlet-chooser-btn.is-left::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>");
}

#dlg.SuiteP-configureDashlet a.somnia-dashlet-chooser-btn.is-right::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
}

/* Coluna central das setas esquerda/direita */
#dlg.SuiteP-configureDashlet #edit_tabs a[id*="_left_arrow"],
#dlg.SuiteP-configureDashlet #edit_tabs a[id*="_left_to_right"] {
  display: inline-flex !important;
  vertical-align: middle;
}

/* ---------- Rodapé (Guardar / Limpar) ---------- */
#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-actions {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-actions > td {
  display: flex !important;
  justify-content: flex-end !important;
  flex-wrap: wrap;
  gap: 10px !important;
  width: 100% !important;
  padding: 16px 20px 20px !important;
  border-top: 1px solid #eef2f6 !important;
  background: #fff;
  float: none !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view input.button[type="submit"],
#dlg.SuiteP-configureDashlet form table.edit.view input.button {
  appearance: none;
  min-width: 100px;
  height: 40px;
  padding: 0 18px !important;
  margin: 0 !important;
  float: none !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
  border: 1px solid #dbe3ee !important;
  background: #fff !important;
  color: #334155 !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#dlg.SuiteP-configureDashlet form table.edit.view input.button[type="submit"]:first-of-type,
#dlg.SuiteP-configureDashlet form table.edit.view tr.somnia-dashlet-configure-actions input.button:first-of-type {
  background: #146161 !important;
  border-color: #146161 !important;
  color: #fff !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view input.button[type="submit"]:first-of-type:hover,
#dlg.SuiteP-configureDashlet form table.edit.view tr.somnia-dashlet-configure-actions input.button:first-of-type:hover {
  background: #105454 !important;
  border-color: #105454 !important;
}

#dlg.SuiteP-configureDashlet form table.edit.view input.button:hover {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}

/* Overlay — SuiteP usa .mask { z-index: 2 }, abaixo dos dashlets (hd z-index: 3)
   e do OverlayManager YUI. Sem isto os cartões brancos ficam à frente da máscara. */
html.somnia-theme .mask,
html.somnia-theme body.masked .mask,
html.somnia-theme .yui-skin-sam .mask,
html.somnia-theme #dlg_mask,
.yui-skin-sam .mask {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 20000 !important;
  background-color: rgba(15, 23, 42, 0.45) !important;
  opacity: 1 !important;
}

html.somnia-theme body.masked #pageContainer [id^="dashlet_entire_"],
html.somnia-theme body.masked #pageContainer [id^="dashlet_entire_"] > .hd,
html.somnia-theme body.masked #pageContainer [id^="dashlet_header_"],
html.somnia-theme body.masked #pageContainer li[id^="dashlet_"],
html.somnia-theme body.masked #pageContainer .dashletcontainer,
html.somnia-theme body.masked #pageContainer .dashletPanel {
  z-index: 0 !important;
}

@media (max-width: 640px) {
  #dlg.SuiteP-configureDashlet {
    top: 16px !important;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
  }

  #dlg.SuiteP-configureDashlet form table.edit.view tr td[scope="row"] {
    display: block !important;
    width: 100% !important;
    padding-bottom: 4px !important;
  }

  #dlg.SuiteP-configureDashlet form table.edit.view tr td:not([scope="row"]) {
    display: block !important;
    width: 100% !important;
    padding-top: 0 !important;
  }

  #dlg.SuiteP-configureDashlet #edit_tabs > table > tbody > tr {
    flex-direction: column;
    align-items: stretch;
  }

  #dlg.SuiteP-configureDashlet form table.edit.view > tbody > tr.somnia-dashlet-configure-filter-row {
    grid-template-columns: minmax(108px, 0.9fr) minmax(0, 1.2fr) !important;
  }

  #dlg.SuiteP-configureDashlet #edit_tabs select[multiple],
  #dlg.SuiteP-configureDashlet #display_tabs,
  #dlg.SuiteP-configureDashlet #hide_tabs {
    min-width: 0 !important;
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
  }
}

/* source: custom/themes/SuiteP/css/somnia/21-qtip.css */
/**
 * Somnia — tooltip nativo do calendário (qTip stock SuiteCRM)
 * Apenas CSS; sem alterações ao JS do CRM.
 */

html body .qtip.ui-widget,
html body .qtip.qtip-default {
  border-radius: 12px !important;
  border: 1px solid #cfe4e4 !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.18) !important;
  overflow: hidden !important;
  max-width: min(360px, 92vw) !important;
  min-width: 260px !important;
  z-index: 12050 !important;
  background: #fff !important;
}

html body .qtip.ui-widget .qtip-titlebar,
html body .qtip.ui-widget .ui-widget-header,
html body .qtip.qtip-default .qtip-titlebar {
  background: linear-gradient(135deg, #146161 0%, #0f4f4f 100%) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 11px 36px 11px 14px !important;
}

html body .qtip.ui-widget .qtip-titlebar,
html body .qtip.ui-widget .qtip-titlebar *,
html body .qtip.qtip-default .qtip-titlebar,
html body .qtip.qtip-default .qtip-titlebar * {
  color: #fff !important;
}

html body .qtip.ui-widget .qtip-title-text,
html body .qtip.qtip-default .qtip-title-text {
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  float: none !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body .qtip.ui-widget .qtip-content,
html body .qtip.ui-widget .ui-widget-content,
html body .qtip.qtip-default .qtip-content {
  background: #fff !important;
  color: #334155 !important;
  padding: 10px 12px 12px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

html body .qtip.ui-widget .qtip-content b,
html body .qtip.qtip-default .qtip-content b {
  display: block;
  margin: 8px 0 3px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #64748b;
}

html body .qtip.ui-widget .qtip-content b:first-child,
html body .qtip.qtip-default .qtip-content b:first-child {
  margin-top: 0;
}

html body .qtip.ui-widget .qtip-content a,
html body .qtip.qtip-default .qtip-content a {
  color: #146161 !important;
  font-weight: 600 !important;
}

html body .qtip.ui-widget .qtip-icon,
html body .qtip.qtip-default .qtip-icon,
html body .qtip .qtip-titlebar .qtip-close,
html body .qtip .qtip-close {
  position: absolute !important;
  top: 50% !important;
  right: 10px !important;
  margin-top: -14px !important;
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.28) !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  opacity: 1 !important;
  z-index: 2 !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

html body .qtip.ui-widget .qtip-icon:hover,
html body .qtip.qtip-default .qtip-icon:hover,
html body .qtip .qtip-titlebar .qtip-close:hover,
html body .qtip .qtip-close:hover {
  background: rgba(255, 255, 255, 0.42) !important;
  border-color: rgba(255, 255, 255, 0.85) !important;
}

/* Ícone stock (sprite/jQuery UI) costuma ficar invisível — X tipográfico */
html body .qtip.ui-widget .qtip-icon .ui-icon,
html body .qtip.qtip-default .qtip-icon .ui-icon,
html body .qtip .qtip-close .ui-icon {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  text-indent: -9999px !important;
  background: none !important;
  color: transparent !important;
}

html body .qtip.ui-widget .qtip-icon::after,
html body .qtip.qtip-default .qtip-icon::after,
html body .qtip .qtip-titlebar .qtip-close::after,
html body .qtip .qtip-close::after {
  content: "×" !important;
  display: block !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  text-indent: 0 !important;
}

html body .qtip.ui-widget .qtip-tip,
html body .qtip.qtip-default .qtip-tip {
  background: #146161 !important;
  border-color: #146161 !important;
}

html body .somnia-cal-qtip-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

html body .somnia-cal-qtip-row {
  padding: 8px 10px;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #e8edf3;
  font-size: 12px;
  line-height: 1.45;
  color: #334155;
}

html body .somnia-cal-qtip-row b {
  display: block;
  margin-bottom: 2px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

/* source: custom/themes/SuiteP/css/somnia/22-checkboxes.css */
/**
 * Somnia — checkboxes premium (CRM inteiro)
 * Substitui o sprite legado check.png (X vermelho) por checkmark.
 */
html.somnia-theme input[type="checkbox"]:not(.somnia-switch),
html.somnia-theme input[type="checkbox"].checkbox:not(.somnia-switch) {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: var(--somnia-surface, #ffffff) !important;
  background-image: none !important;
  border: 1.5px solid var(--somnia-border, #e2e8f0) !important;
  border-radius: 5px !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  box-shadow: none !important;
  opacity: 1 !important;
  overflow: visible !important;
  position: relative !important;
  flex-shrink: 0 !important;
  outline: none !important;
}

html.somnia-theme input[type="checkbox"]:not(.somnia-switch):hover {
  border-color: var(--somnia-brand) !important;
}

html.somnia-theme input[type="checkbox"]:not(.somnia-switch):focus {
  border-color: var(--somnia-brand) !important;
  box-shadow: 0 0 0 3px var(--somnia-brand-ring) !important;
}

html.somnia-theme input[type="checkbox"]:not(.somnia-switch):checked,
html.somnia-theme input[type="checkbox"].checkbox:not(.somnia-switch):checked {
  background-color: var(--somnia-brand) !important;
  border-color: var(--somnia-brand) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 5l3 3 7-7'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 11px 9px !important;
}

html.somnia-theme input[type="checkbox"]:not(.somnia-switch):disabled:not(:checked) {
  background: var(--somnia-canvas-2) !important;
  background-image: none !important;
  border-color: var(--somnia-border) !important;
  cursor: default !important;
  opacity: 0.7 !important;
}

html.somnia-theme input[type="checkbox"]:disabled:checked {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
}

html.somnia-theme input[type="radio"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: var(--somnia-surface) !important;
  background-image: none !important;
  border: 1.5px solid var(--somnia-border) !important;
  border-radius: 50% !important;
  width: 18px !important;
  height: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  vertical-align: middle !important;
  cursor: pointer !important;
}

html.somnia-theme input[type="radio"]:checked {
  border-color: var(--somnia-brand) !important;
  background-image: radial-gradient(circle, var(--somnia-brand) 0 40%, transparent 42%) !important;
}

/* source: custom/themes/SuiteP/css/somnia/23-list-analytics.css */
/**
 * Somnia — KPI strip leve na ListView (Accounts).
 * CSS-first; valores hidratados por JS (textContent).
 */

html.somnia-theme #somnia-list-kpi-row,
html.somnia-theme #somnia-list-kpi-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 16px;
  width: 100%;
  box-sizing: border-box;
}

html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-card {
  position: relative;
  background: var(--somnia-surface, #fff);
  border: 1px solid #eaeef4;
  border-radius: 16px;
  padding: 16px 16px 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 22px rgba(15, 23, 42, 0.05);
  min-height: 96px;
  box-sizing: border-box;
}

html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-icon,
html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-icon {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  max-width: 40px;
  max-height: 40px;
  overflow: hidden;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
}

html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-icon svg,
html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-icon svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  display: block;
  flex: 0 0 auto;
}

html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-icon.is-total {
  background: #ecfdf5;
  color: #146161;
}

html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-icon.is-active {
  background: #eff6ff;
  color: #3b82f6;
}

html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-icon.is-new {
  background: #f5f3ff;
  color: #8b5cf6;
}

html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-icon.is-inactive {
  background: #fff7ed;
  color: #ea580c;
}

html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-right: 48px;
  min-width: 0;
}

html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-label {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--somnia-muted, #64748b);
  line-height: 1.3;
}

html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-value {
  font-size: 26px;
  font-weight: 700;
  color: var(--somnia-ink, #0f172a);
  letter-spacing: -0.03em;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-value.is-loading {
  color: var(--somnia-faint, #94a3b8);
  font-weight: 600;
}

html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-meta {
  font-size: 11.5px;
  color: var(--somnia-faint, #94a3b8);
  line-height: 1.3;
}

@media (max-width: 1100px) {
  html.somnia-theme #somnia-list-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  html.somnia-theme #somnia-list-kpi-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-card {
    min-height: 84px;
    padding: 14px;
  }

  html.somnia-theme #somnia-list-kpi-row .somnia-list-kpi-value {
    font-size: 22px;
  }
}

/* ---------- Analytics colapsável (Accounts) ---------- */
html.somnia-theme #somnia-acc-charts-block,
html.somnia-theme #somnia-list-charts-block {
  margin: 0 0 14px;
}

html.somnia-theme #somnia-acc-charts-block.is-collapsed,
html.somnia-theme #somnia-list-charts-block.is-collapsed {
  margin: 0;
  min-height: 0;
}

html.somnia-theme #somnia-acc-charts-block.is-collapsed .somnia-charts-block__content,
html.somnia-theme #somnia-list-charts-block.is-collapsed .somnia-charts-block__content {
  display: none !important;
}

html.somnia-theme .somnia-acc-charts-toolbar {
  display: none !important;
}

html.somnia-theme .somnia-acc-charts-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  appearance: none;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #64748b;
  border-radius: 10px;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

html.somnia-theme .somnia-acc-charts-toggle--icon,
html.somnia-theme .moduleTitle .somnia-acc-charts-toggle {
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  flex-shrink: 0;
}

html.somnia-theme .somnia-acc-charts-toggle-label {
  display: none !important;
}

html.somnia-theme .somnia-acc-charts-toggle:hover,
html.somnia-theme .somnia-acc-charts-toggle:focus {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #146161;
  outline: none;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}

html.somnia-theme .somnia-acc-charts-toggle.is-active {
  background: #f0fdfa;
  border-color: #99f6e4;
  color: #146161;
  box-shadow: 0 2px 8px rgba(20, 97, 97, 0.1);
}

html.somnia-theme .somnia-acc-charts-toggle svg {
  width: 18px;
  height: 18px;
  display: block;
  flex-shrink: 0;
}

html.somnia-theme .somnia-acc-analytics-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  grid-template-columns: none;
  gap: 14px;
  margin-top: 12px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

html.somnia-theme .somnia-acc-chart-card {
  background: var(--somnia-surface, #fff);
  border: 1px solid #eaeef4;
  border-radius: 16px;
  padding: 16px 18px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 22px rgba(15, 23, 42, 0.05);
  min-height: 240px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

html.somnia-theme .somnia-acc-chart-card__title {
  margin: 0 0 14px;
  font-size: 14px;
  font-weight: 600;
  color: var(--somnia-ink, #0f172a);
  letter-spacing: -0.01em;
}

html.somnia-theme .somnia-acc-donut-wrap {
  position: relative;
  flex: 1;
  min-height: 168px;
  display: flex;
  align-items: center;
  gap: 18px;
}

html.somnia-theme .somnia-acc-donut-canvas-box {
  position: relative;
  width: 156px;
  height: 156px;
  flex-shrink: 0;
}

html.somnia-theme .somnia-acc-donut-canvas-box canvas {
  width: 100% !important;
  height: 100% !important;
}

html.somnia-theme .somnia-acc-donut-center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  text-align: center;
}

html.somnia-theme .somnia-acc-donut-center strong {
  font-size: 22px;
  font-weight: 700;
  color: var(--somnia-ink, #0f172a);
  letter-spacing: -0.03em;
  line-height: 1.1;
}

html.somnia-theme .somnia-acc-donut-center span {
  font-size: 11px;
  color: var(--somnia-muted, #64748b);
  margin-top: 2px;
}

html.somnia-theme .somnia-acc-legend {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 168px;
  overflow: auto;
  padding-right: 2px;
}

html.somnia-theme .somnia-acc-legend-item {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  color: var(--somnia-body, #334155);
}

html.somnia-theme .somnia-acc-legend-item .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

html.somnia-theme .somnia-acc-legend-item .name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.somnia-theme .somnia-acc-legend-item .pct {
  font-weight: 600;
  color: var(--somnia-muted, #64748b);
  font-variant-numeric: tabular-nums;
  text-align: right;
}

html.somnia-theme .somnia-acc-bars {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
  justify-content: center;
}

html.somnia-theme .somnia-acc-bar-row {
  display: grid;
  grid-template-columns: minmax(72px, 110px) minmax(0, 1fr) 40px;
  gap: 10px;
  align-items: center;
}

html.somnia-theme .somnia-acc-bar-row .label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--somnia-body, #334155);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.somnia-theme .somnia-acc-bar-row .track {
  height: 10px;
  border-radius: 999px;
  background: #f1f5f9;
  overflow: hidden;
}

html.somnia-theme .somnia-acc-bar-row .fill {
  height: 100%;
  border-radius: 999px;
  background: #146161;
  width: 0;
  min-width: 0;
}

html.somnia-theme .somnia-acc-bar-row .val {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--somnia-muted, #64748b);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

html.somnia-theme .somnia-acc-chart-empty {
  margin: auto;
  font-size: 13px;
  color: var(--somnia-faint, #94a3b8);
}

@media (max-width: 900px) {
  html.somnia-theme .somnia-acc-analytics-grid {
    grid-auto-columns: minmax(220px, 1fr);
  }
}

/* ---------- Insights (Calls) ---------- */
html.somnia-theme #somnia-list-insights-block {
  margin: 0 0 14px;
}

html.somnia-theme #somnia-list-insights-block.is-collapsed {
  margin: 0;
  min-height: 0;
}

html.somnia-theme #somnia-list-insights-block.is-collapsed .somnia-list-insights-content {
  display: none !important;
}

html.somnia-theme .somnia-list-insights-content {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 12px;
}

html.somnia-theme .somnia-list-insight-card {
  background: var(--somnia-surface, #fff);
  border: 1px solid #eaeef4;
  border-radius: 16px;
  padding: 16px 18px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 22px rgba(15, 23, 42, 0.05);
  min-height: 96px;
  box-sizing: border-box;
}

html.somnia-theme .somnia-list-insight-label {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--somnia-muted, #64748b);
  margin-bottom: 8px;
}

html.somnia-theme .somnia-list-insight-value {
  font-size: 20px;
  font-weight: 700;
  color: var(--somnia-ink, #0f172a);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 4px;
}

html.somnia-theme .somnia-list-insight-sub {
  font-size: 12px;
  color: var(--somnia-faint, #94a3b8);
}

html.somnia-theme .somnia-list-insight-card.is-direction {
  border-top: 3px solid #146161;
}

html.somnia-theme .somnia-list-insight-card.is-result {
  border-top: 3px solid #3b82f6;
}

html.somnia-theme .somnia-list-insight-card.is-hours {
  border-top: 3px solid #8b5cf6;
}

html.somnia-theme .somnia-list-insight-card.is-nofollow {
  border-top: 3px solid #ea580c;
}

@media (max-width: 1100px) {
  html.somnia-theme .somnia-list-insights-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  html.somnia-theme .somnia-list-insights-content {
    grid-template-columns: 1fr;
  }
}

/* ---------- Funil Opportunities ---------- */
html.somnia-theme .somnia-list-funnel {
  flex: 1;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}

html.somnia-theme .somnia-list-funnel-svg {
  width: 100%;
  max-width: 320px;
  height: auto;
  display: block;
}

html.somnia-theme .somnia-list-funnel-label {
  fill: #fff;
  font-size: 11px;
  font-weight: 600;
  font-family: inherit;
  paint-order: stroke;
  stroke: rgba(15, 23, 42, 0.25);
  stroke-width: 0.4px;
}

html.somnia-theme .somnia-acc-analytics-grid--funnel {
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  grid-template-columns: none;
}

html.somnia-theme .somnia-list-month-bars {
  flex: 1;
  min-height: 168px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 2px 0;
}

html.somnia-theme .somnia-list-month-col {
  flex: 1;
  min-width: 0;
  height: 100%;
  min-height: 168px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

html.somnia-theme .somnia-list-month-col .bar {
  width: 100%;
  max-width: 34px;
  border-radius: 7px 7px 3px 3px;
  background: #146161;
  min-height: 3px;
  transition: height 0.2s ease;
}

html.somnia-theme .somnia-list-month-col .val {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--somnia-ink, #0f172a);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

html.somnia-theme .somnia-list-month-col .lbl {
  font-size: 11px;
  color: var(--somnia-muted, #64748b);
  line-height: 1;
}

@media (max-width: 1100px) {
  html.somnia-theme .somnia-acc-analytics-grid--funnel {
    grid-auto-columns: minmax(200px, 1fr);
  }
}

/* source: custom/themes/SuiteP/css/somnia/24-views-edit.css */
/**
 * Somnia — EditView (CSS-first)
 *
 * A EditView do SuiteP produz o mesmo esqueleto da DetailView (nav-tabs,
 * panel-default, tab-content) mas com linhas .edit-view-row cujos filhos são
 * colunas Bootstrap flutuantes. Aqui desmonta-se a flutuação e monta-se a
 * mesma grelha da ficha, com o rótulo por cima do campo, para as duas vistas
 * ficarem indistinguíveis ao alternar entre ver e editar.
 *
 * Tudo é preso a body.somnia-editview-page ou, no 1.º paint AJAX, a
 * body:has(.somnia-editview-shell) — a classe pode chegar um frame depois
 * do HTML, e sem este fallback a grelha Bootstrap aparece um instante.
 */

/* ==========================================================================
   1. Casca da página
   ========================================================================== */

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs {
  max-width: 100%;
}

/* O clearfix do Bootstrap vira célula fantasma dentro de uma grelha. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row.row::before,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row.row::after,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .row.edit-view-row::before,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .row.edit-view-row::after {
  content: none !important;
  display: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row > .clear,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item > .clear {
  display: none !important;
}

/*
 * O atalho «Criar» do título ainda saía com o GIF de themes/default. Fica com
 * o mesmo botão da lista, mas em secundário para não competir com o Guardar.
 */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .moduleTitle .utils {
  display: inline-flex !important;
  float: none !important;
  align-items: center;
  gap: 8px;
  margin-left: auto !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .moduleTitle #create_image {
  display: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .moduleTitle a#create_link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
  min-height: 34px !important;
  padding: 0 13px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  color: var(--somnia-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .moduleTitle a#create_link::before {
  content: "+";
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .moduleTitle a#create_link:hover {
  background: var(--somnia-brand-tint) !important;
  border-color: var(--somnia-brand) !important;
  color: var(--somnia-brand) !important;
}

/* ==========================================================================
   2. Abas — espelho exacto das da ficha
   ========================================================================== */

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin: 0 0 20px !important;
  padding: 0 2px 2px;
  background: transparent !important;
  border-bottom: none !important;
  position: relative;
  z-index: 3;
  overflow: visible;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .tab-content,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .panel-content {
  position: relative;
  z-index: 1;
  clear: both;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li {
  float: none !important;
  margin: 0 !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li > a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  padding: 8px 14px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: var(--somnia-muted) !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: var(--somnia-radius-md) var(--somnia-radius-md) 0 0 !important;
  text-transform: none !important;
  cursor: pointer;
  transition: color var(--somnia-duration) var(--somnia-ease),
    border-color var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li > a:hover {
  color: var(--somnia-ink) !important;
  border-bottom-color: var(--somnia-border) !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.active > a,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.active > a:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.active > a:focus {
  color: var(--somnia-brand) !important;
  border-bottom-color: var(--somnia-brand) !important;
  background: transparent !important;
}

/* A regra display:inline-flex acima ligava também o link móvel (.visible-xs)
   de cada aba, anulando o .visible-xs{display:none} do Bootstrap e mostrando
   o rótulo a dobrar ("Geral Geral"). No desktop só aparece o link .hidden-xs. */
@media (min-width: 768px) {
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li:not(#tab-actions) > a.visible-xs,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li:not(#tab-actions) > a.first-tab,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li:not(#tab-actions) > a.dropdown-toggle {
    display: none !important;
  }
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li:not(#tab-actions) > .dropdown-menu {
    display: none !important;
  }
}

/* ==========================================================================
   3. Painéis — cartão igual ao da ficha
   ========================================================================== */

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel.panel-default {
  margin-bottom: 14px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-xl) !important;
  box-shadow: var(--somnia-shadow-card) !important;
  overflow: hidden;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel > .panel-heading,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-heading {
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  background: #fff !important;
  border-bottom: 1px solid var(--somnia-border) !important;
  border-color: var(--somnia-border) !important;
  color: var(--somnia-ink) !important;
  line-height: 1.3 !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-heading > a,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-heading a.collapsed {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--somnia-ink) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  text-transform: none !important;
  border-radius: 0 !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-heading a::before {
  content: "▾" !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--somnia-muted) !important;
  line-height: 1 !important;
  transition: transform var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-heading a.collapsed::before {
  transform: rotate(-90deg);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-heading .col-xs-10,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-heading .col-sm-11,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-heading .col-md-11 {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-body {
  padding: 0 !important;
}

/* O cartão de email dos utilizadores não tem .tab-content: o corpo ia a zero
   e os campos e o botão Configurações começavam na borda do cartão. */
html.somnia-theme form.somnia-users-edit-form #email_options > .panel-body {
  padding: 20px 24px 18px !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-body > .tab-content {
  margin: 0 !important;
  padding: 20px 24px !important;
}

/* O painel fechado tem de chegar mesmo a zero. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-body.collapse:not(.in) {
  display: none !important;
}

/* O separador vazio que o SuiteP insere antes dos painéis. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-content > div:first-child:not(.panel) {
  display: none !important;
}

/* ==========================================================================
   3b. Painel default de cada aba
   O SuiteP desenha o 1.º painel de cada aba no .tab-content de topo (sem
   cabeçalho) e os painéis nomeados no .panel-content (com cartão). Sem o YUI
   TabView, as tab-panes inativas ficavam visíveis e o painel default ficava
   "a flutuar" sem cartão. Aqui só a aba ativa aparece e o painel default
   ganha o mesmo cartão dos restantes.
   ========================================================================== */

/* Visibilidade: esconde as inativas (por classe ou por style inline do JS),
   igual ao padrão da ficha — sem !important que impeça o .show() do JS. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER[style*="display: none"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER[style*="display:none"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER:not(.active):not(.in) {
  display: none !important;
}

/* Cartão do painel default (aplica-se a todas; só a visível é que se vê). */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER {
  margin: 0 0 14px !important;
  padding: 20px 24px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-xl) !important;
  box-shadow: var(--somnia-shadow-card) !important;
}

/* O .tab-content de topo é só um contentor — sem moldura própria. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .tab-content {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

/* ==========================================================================
   4. Grelha de campos — espelho exacto da ficha (4 colunas + .somnia-sp)
   ========================================================================== */

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .row.edit-view-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px 20px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  min-width: 0 !important;
  float: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row.row::before,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row.row::after,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .row.edit-view-row::before,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .row.edit-view-row::after {
  content: none !important;
  display: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row:has(.somnia-sp[data-cols="2"]) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row:has(.somnia-sp[data-cols="3"]) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[class*="col-sm-"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[class*="col-xs-"] {
  display: block !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-column: span 1;
  box-sizing: border-box !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field=""] {
  display: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item:has(.somnia-sp[data-sp="1"]) {
  grid-column: span 1 !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item:has(.somnia-sp[data-sp="2"]) {
  grid-column: span 2 !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item:has(.somnia-sp[data-sp="3"]) {
  grid-column: span 3 !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item:has(.somnia-sp[data-sp="4"]),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item.col-sm-12:not(:has(.somnia-sp)) {
  grid-column: span 4 !important;
}

/* Descrição / rich text ocupam a linha toda. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="description"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="description"]:has(.somnia-sp),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="description_html"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="description_html"]:has(.somnia-sp),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item:has(.edit-view-field[type="wysiwyg"]):not(:has(.somnia-sp)),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item:has(.edit-view-field[type="wysiwyg"]) {
  grid-column: span 4 !important;
}

/* Morada e email seguem o span do Layout Builder (.somnia-sp), como na ficha. */

/* Rótulo por cima do campo, como na ficha. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item > .label,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item > .edit-view-field,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item > [class*="col-"] {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item > .label {
  margin: 0 0 6px !important;
  color: var(--somnia-ink-2, #334155) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  text-transform: none !important;
  white-space: normal !important;
  border: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item > .label label {
  margin: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  text-transform: none !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item > .label .required {
  margin-left: 3px;
  color: var(--somnia-danger) !important;
  font-weight: 700;
}

/* Morada: fieldset nativo vira cartão empilhado, sem tabela desalinhada. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field fieldset {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-md);
  background: var(--somnia-canvas-2, #f8fafc);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field fieldset legend {
  padding: 0 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--somnia-ink);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field fieldset table,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field fieldset tbody,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field fieldset tr,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field fieldset td {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field fieldset tr {
  margin: 0 0 10px;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field fieldset td[scope="row"] {
  margin: 0 0 4px;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field fieldset td[scope="row"] label,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field label {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--somnia-muted) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Widget de email: anular floats Bootstrap dentro da célula. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-add-line-container,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-lines-container,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field > .col-xs-12 {
  float: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field fieldset textarea {
  min-height: 52px !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-options-container {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  align-items: center;
  float: none !important;
  width: 100% !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-option {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

/* ==========================================================================
   5. Controlos do formulário
   ========================================================================== */

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input[type="text"]:not(.datetimecombo_date):not(.date_input),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input[type="password"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input[type="email"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input[type="number"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input[type="tel"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input[type="url"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field select:not(.datetimecombo_time),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 38px;
  margin: 0 !important;
  padding: 8px 12px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  color: var(--somnia-ink) !important;
  font-family: var(--somnia-font) !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
  box-shadow: var(--somnia-shadow-xs);
  transition: border-color var(--somnia-duration) var(--somnia-ease),
    box-shadow var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field textarea {
  min-height: 96px;
  padding: 10px 12px !important;
  resize: vertical;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input[type="text"]:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field select:not(.datetimecombo_time):hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field textarea:hover {
  border-color: var(--somnia-faint) !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input:focus,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field select:not(.datetimecombo_time):focus,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field textarea:focus {
  outline: none !important;
  border-color: var(--somnia-brand) !important;
  box-shadow: 0 0 0 3px var(--somnia-brand-ring) !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input[readonly],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input:disabled,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field select:not(.datetimecombo_time):disabled,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field textarea:disabled {
  background: var(--somnia-canvas-2) !important;
  color: var(--somnia-muted) !important;
  cursor: not-allowed;
}

/* A seta nativa do select desaparece em vários browsers com border custom. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field select:not([multiple]):not(.datetimecombo_time) {
  padding-right: 32px !important;
  background-image: linear-gradient(45deg, transparent 50%, var(--somnia-muted) 50%),
    linear-gradient(135deg, var(--somnia-muted) 50%, transparent 50%) !important;
  background-position: calc(100% - 17px) calc(50% + 1px), calc(100% - 12px) calc(50% + 1px) !important;
  background-size: 5px 5px, 5px 5px !important;
  background-repeat: no-repeat !important;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field select[multiple] {
  min-height: 120px;
  padding: 4px !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field select[multiple] option {
  padding: 5px 8px;
  border-radius: var(--somnia-radius-sm);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input[type="checkbox"]:not(.somnia-switch),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input[type="radio"] {
  margin: 0 6px 0 0;
  cursor: pointer;
}

/* ==========================================================================
   6. Campos relacionados, datas e outros botões inline
   ========================================================================== */

/* O input e os botões de escolher/limpar ficam na mesma linha. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field:has(> input.sqsEnabled) {
  display: flex !important;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  width: 100%;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field:has(> input.sqsEnabled) > input.sqsEnabled {
  flex: 1 1 0;
  width: 100% !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .suitepicon-action-select,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .suitepicon-action-clear,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input.button.firstChild,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input.button.lastChild {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 34px;
  min-width: 34px;
  height: 34px;
  padding: 0 !important;
  background: var(--somnia-canvas-2) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  color: var(--somnia-muted) !important;
  cursor: pointer;
  transition: background var(--somnia-duration) var(--somnia-ease),
    color var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .suitepicon-action-select:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .suitepicon-action-clear:hover {
  background: var(--somnia-brand-tint) !important;
  border-color: var(--somnia-brand) !important;
  color: var(--somnia-brand) !important;
}

/* Sugestões do autocomplete (QuickSearch) com o mesmo cartão dos menus.
   Estilizar .yui-ac-content — o container SuiteP é float 90% e desenha um traço. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .yui-ac-container {
  float: none !important;
  width: auto !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .yui-ac-content,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .sqsSuggest {
  margin-top: 4px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-lg) !important;
  box-shadow: var(--somnia-shadow-pop) !important;
  overflow: hidden;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .yui-ac-container li {
  padding: 8px 12px !important;
  border: none !important;
  color: var(--somnia-body) !important;
  font-size: 13px !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .yui-ac-container li.yui-ac-highlight,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .yui-ac-container li:hover {
  background: var(--somnia-brand-tint) !important;
  color: var(--somnia-brand) !important;
}

/* ==========================================================================
   7. Acções na barra de abas (Guardar visível + três pontos, como a ficha)
   ========================================================================== */

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) form.somnia-edit-form > table.dcQuickEdit,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) form#EditView > table.dcQuickEdit,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) form[name="EditView"] > table.dcQuickEdit,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) form#EditView > table:not(.dcQuickEdit),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) form[name="EditView"] > table:not(.dcQuickEdit),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) form#EditView > table:not(.dcQuickEdit),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) form[name="EditView"] > table:not(.dcQuickEdit),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) form.somnia-edit-form > .buttons,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) form#EditView > .buttons,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-pagination-mobile-container,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-pagination-desktop-container {
  display: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools {
  order: 99;
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  float: none !important;
  position: relative;
  z-index: 4;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .tab-inline-pagination {
  margin-left: 0 !important;
  float: none !important;
  flex-shrink: 0;
  display: inline-flex !important;
  align-items: center;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .tab-inline-pagination:not(:has(table, .button, a, .somnia-vcr, .pagination)) {
  display: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs .somnia-tab-icon svg {
  width: 15px !important;
  height: 15px !important;
  display: block;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools #tab-actions {
  position: relative;
  flex-shrink: 0;
  margin-left: 0 !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools #tab-actions.open {
  z-index: 30;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action > input.button,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action > .button,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action input#SAVE,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action input#SAVE_HEADER {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  background: var(--somnia-brand) !important;
  border: none !important;
  border-radius: var(--somnia-radius-md) !important;
  box-shadow: var(--somnia-shadow-primary);
  color: #fff !important;
  font-family: var(--somnia-font) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer;
  float: none !important;
  transition: background var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action > input.button:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action > .button:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action input#SAVE:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action input#SAVE_HEADER:hover {
  background: var(--somnia-brand-hover) !important;
  color: #fff !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action input#CANCEL,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action input[id^="CANCEL"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action input[id*="CANCEL"] {
  background: #fff !important;
  color: var(--somnia-brand) !important;
  border: 1px solid var(--somnia-brand) !important;
  box-shadow: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action input#CANCEL:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action input[id^="CANCEL"]:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-edit-primary-action input[id*="CANCEL"]:hover {
  background: var(--somnia-brand-tint, rgba(20, 97, 97, 0.08)) !important;
  color: var(--somnia-brand-hover) !important;
  border-color: var(--somnia-brand-hover) !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #tab-actions > .dropdown-menu > li:has([id^="CANCEL"]),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #tab-actions > .dropdown-menu > li:has([id*="CANCEL"]) {
  display: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs #tab-actions > a,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs #tab-actions > a.dropdown-toggle,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs #tab-actions > a:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs #tab-actions > a:focus {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--somnia-brand) !important;
  color: transparent !important;
  border: none !important;
  border-bottom: none !important;
  border-radius: var(--somnia-radius-md) !important;
  box-shadow: var(--somnia-shadow-primary);
  font-size: 0 !important;
  line-height: 0 !important;
  position: relative;
  overflow: hidden;
  text-indent: 0 !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs #tab-actions > a::before,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs #tab-actions > a.dropdown-toggle::before {
  content: "" !important;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3.5px;
  height: 3.5px;
  margin: -1.75px 0 0 -1.75px;
  border-radius: 50%;
  background: #fff;
  box-shadow: -6px 0 0 #fff, 6px 0 0 #fff;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs #tab-actions > a .suitepicon,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs #tab-actions > a.dropdown-toggle .suitepicon-action-caret {
  display: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs #tab-actions > a:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs #tab-actions.open > a {
  background: var(--somnia-brand-hover) !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs #tab-actions.open > .dropdown-menu {
  display: block !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #tab-actions > .dropdown-menu > li:not(:has(:is(input, button, a, .button))) {
  display: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .buttons .button.primary,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .buttons input#SAVE,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .buttons input#SAVE_HEADER,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .buttons input#SAVE_FOOTER {
  background: var(--somnia-brand) !important;
  border-color: var(--somnia-brand) !important;
  color: #fff !important;
  box-shadow: var(--somnia-shadow-primary) !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .buttons .button.primary:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .buttons input#SAVE:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .buttons input#SAVE_HEADER:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .buttons input#SAVE_FOOTER:hover {
  background: var(--somnia-brand-hover) !important;
  border-color: var(--somnia-brand-hover) !important;
}

/* ==========================================================================
   8. Ecrãs estreitos
   ========================================================================== */

@media (max-width: 991px) {
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .row.edit-view-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs .panel-body > .tab-content,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER {
    padding: 16px !important;
  }
}

@media (max-width: 767px) {
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools {
    margin-left: auto !important;
    flex-wrap: wrap;
    justify-content: flex-end;
    max-width: 100%;
  }

  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .tab-inline-pagination {
    width: 100%;
    margin-left: 0 !important;
    justify-content: flex-end;
    order: 3;
  }

  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .row.edit-view-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item.col-sm-12,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="description"],
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="email1"],
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item:has(fieldset[id$="_address_fieldset"]) {
    grid-column: span 1 !important;
  }
}

/* ============================================================================
 * Casca do registo na edição — espelho da ficha (05-views-record.css)
 * Breadcrumb + título + cartões de resumo + casca de coluna única, para a
 * edição ficar visualmente igual à ficha mas em modo de edição. Sem coluna de
 * insights (cronologia/gráficos), que depende do JS da ficha.
 * ========================================================================== */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)):has(.somnia-record-head) .moduleTitle {
  display: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-record-head {
  margin: 0 0 16px;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--somnia-muted);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-breadcrumb a,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-breadcrumb a:link,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-breadcrumb a:visited,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-breadcrumb a:focus,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-breadcrumb a:active,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-breadcrumb a.somnia-breadcrumb-record {
  color: var(--somnia-muted) !important;
  font-weight: 500;
  text-decoration: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-breadcrumb a:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-breadcrumb a:focus-visible {
  color: var(--somnia-brand) !important;
  text-decoration: none !important;
}

html.somnia-theme .somnia-editview-head .somnia-breadcrumb .somnia-breadcrumb-current:not(.somnia-breadcrumb-mode) {
  color: var(--somnia-muted);
  cursor: pointer;
}

html.somnia-theme .somnia-editview-head .somnia-breadcrumb .somnia-breadcrumb-current:not(.somnia-breadcrumb-mode):hover {
  color: var(--somnia-brand);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-breadcrumb-sep {
  margin: 0 8px;
  color: #cbd5e1;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-breadcrumb-current {
  color: #94a3b8;
  font-weight: 500;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-record-title {
  margin: 0;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -0.025em;
  font-weight: 700;
  color: var(--somnia-ink);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-page-summary {
  margin: 0 0 16px;
  background: var(--somnia-surface, #fff);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-xl, 14px);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-page-summary:not(:has(.somnia-page-summary-item)) {
  display: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-page-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-page-summary-item {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 68px;
  padding: 13px 12px 13px 16px;
  border-right: 1px solid var(--somnia-border, #e8edf3);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-page-summary-item:last-child {
  border-right: 0;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-page-summary-item.is-empty .somnia-page-summary-value {
  color: var(--somnia-faint);
  font-weight: 450;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-page-summary-icon {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: var(--somnia-brand-soft, rgba(20, 97, 97, 0.08));
  border: 1px solid rgba(20, 97, 97, 0.16);
  color: var(--somnia-brand);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-page-summary-icon svg {
  width: 15px;
  height: 15px;
  display: block;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-page-summary-text {
  min-width: 0;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-page-summary-label {
  margin-bottom: 2px;
  font-size: 11px;
  font-weight: 600;
  color: var(--somnia-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-page-summary-value {
  font-size: 14px;
  font-weight: 700;
  color: var(--somnia-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-page-summary-value a {
  color: var(--somnia-brand);
  text-decoration: none;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-page-summary-value a:hover {
  text-decoration: underline;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .mobile-pagination {
  display: none !important;
}

/* Casca de duas colunas: registo à esquerda, gráficos/cronologia à direita,
   igual à ficha. O rail só aparece quando o servidor desenha .somnia-detail-insights. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-detail-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin: 0 0 16px;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-detail-shell:has(> .somnia-detail-insights),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)).somnia-detail-has-insights .somnia-detail-shell,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)).somnia-detail-await-insights .somnia-detail-shell,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell))[data-module="Accounts"] .somnia-detail-shell {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .somnia-detail-main {
  min-width: 0;
}

/* ==========================================================================
 * Users EditView — abas extra (password / avançada / EAPM / disposição)
 * e chrome legado (YUI / actionsContainer) que o header antigo ainda podia
 * deixar no DOM. Os campos extra vêm em table.edit.view; aqui ficam iguais
 * aos cartões da edição.
 * ========================================================================== */
html.somnia-theme form.somnia-users-edit-form > #email_options,
html.somnia-theme form.somnia-users-edit-form > #somnia-users-extra-tabs,
html.somnia-theme form.somnia-users-edit-form > #somnia-users-extra-panes,
html.somnia-theme form.somnia-users-edit-form > #somnia-users-reset-actions,
html.somnia-theme .somnia-users-edit-form ~ .actionsContainer,
html.somnia-theme form.somnia-users-edit-form .actionsContainer,
html.somnia-theme .somnia-editview-shell ~ .actionsContainer {
  display: none !important;
}

html.somnia-theme form.somnia-users-edit-form #EditView_tabs table.edit.view,
html.somnia-theme form.somnia-users-edit-form #email_options table.edit.view {
  width: 100%;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible;
}

html.somnia-theme form.somnia-users-edit-form #EditView_tabs table.edit.view td,
html.somnia-theme form.somnia-users-edit-form #email_options table.edit.view td {
  padding: 8px 10px !important;
  vertical-align: top;
}

html.somnia-theme form.somnia-users-edit-form #EditView_tabs table.edit.view th,
html.somnia-theme form.somnia-users-edit-form #EditView_tabs table.edit.view h4,
html.somnia-theme form.somnia-users-edit-form #email_options table.edit.view h4 {
  background: transparent !important;
  color: var(--somnia-ink) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 4px 10px 12px !important;
  border: 0 !important;
}

html.somnia-theme form.somnia-users-edit-form #EditView_tabs table.edit.view input[type="text"],
html.somnia-theme form.somnia-users-edit-form #EditView_tabs table.edit.view input[type="password"],
html.somnia-theme form.somnia-users-edit-form #EditView_tabs table.edit.view select:not([multiple]):not([size]),
html.somnia-theme form.somnia-users-edit-form #email_options select {
  min-height: 36px;
  padding: 6px 10px;
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-md);
  background: var(--somnia-surface);
  max-width: 100%;
}

html.somnia-theme form.somnia-users-edit-form #settingsButton {
  margin: 8px 10px 4px;
}

html.somnia-theme form.somnia-users-edit-form img.somnia-user-photo-preview {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid var(--somnia-border);
  margin: 0 0 8px;
  background: var(--somnia-canvas-2);
}

html.somnia-theme form.somnia-users-edit-form #photo_old {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

html.somnia-theme form.somnia-users-edit-form #display_tabs_td select,
html.somnia-theme form.somnia-users-edit-form #hide_tabs_td select,
html.somnia-theme form.somnia-users-edit-form #remove_tabs_td select {
  min-height: 180px;
  width: 100%;
  max-width: none;
}

/* --------------------------------------------------------------------------
 * 1) EAPM — tirar o cinzento SuiteP (#c2c3c4) da barra Novo/paginação
 * -------------------------------------------------------------------------- */
html.somnia-theme form.somnia-users-edit-form #eapm_area,
html.somnia-theme form.somnia-users-edit-form [data-users-pane="eapm"] {
  min-height: 80px;
}

html.somnia-theme form.somnia-users-edit-form #eapm_area table.list,
html.somnia-theme form.somnia-users-edit-form #eapm_area table.subpanel-table,
html.somnia-theme form.somnia-users-edit-form [data-users-pane="eapm"] table.list {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html.somnia-theme form.somnia-users-edit-form #eapm_area tr.pagination,
html.somnia-theme form.somnia-users-edit-form #eapm_area tr.pagination-unique,
html.somnia-theme form.somnia-users-edit-form #eapm_area tr.pagination td,
html.somnia-theme form.somnia-users-edit-form #eapm_area tr.pagination-unique td,
html.somnia-theme form.somnia-users-edit-form #eapm_area .paginationTable,
html.somnia-theme form.somnia-users-edit-form #eapm_area .paginationTable td,
html.somnia-theme form.somnia-users-edit-form #eapm_area td.paginationActionButtons,
html.somnia-theme form.somnia-users-edit-form #eapm_area td.paginationChangeButtons,
html.somnia-theme form.somnia-users-edit-form [data-users-pane="eapm"] tr.pagination td,
html.somnia-theme form.somnia-users-edit-form [data-users-pane="eapm"] .paginationTable td {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  padding: 8px 0 !important;
}

html.somnia-theme form.somnia-users-edit-form #eapm_area tr.pagination table,
html.somnia-theme form.somnia-users-edit-form #eapm_area .paginationTable {
  width: 100% !important;
  background: transparent !important;
}

html.somnia-theme form.somnia-users-edit-form #eapm_area ul.clickMenu.fancymenu > li.sugar_action_button,
html.somnia-theme form.somnia-users-edit-form #eapm_area ul.clickMenu.fancymenu > li.single {
  background: var(--somnia-brand) !important;
  border: 1px solid var(--somnia-brand) !important;
  border-radius: var(--somnia-radius-md) !important;
  box-shadow: none !important;
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
}

html.somnia-theme form.somnia-users-edit-form #eapm_area ul.clickMenu.fancymenu > li.sugar_action_button > a,
html.somnia-theme form.somnia-users-edit-form #eapm_area ul.clickMenu.fancymenu > li.single > a,
html.somnia-theme form.somnia-users-edit-form #eapm_area ul.clickMenu.fancymenu > li.sugar_action_button > form > a,
html.somnia-theme form.somnia-users-edit-form #eapm_area ul.clickMenu.fancymenu > li.single > form > a {
  color: #fff !important;
  font-weight: 650 !important;
  padding: 6px 12px !important;
}

html.somnia-theme form.somnia-users-edit-form #eapm_area table.list th,
html.somnia-theme form.somnia-users-edit-form #eapm_area table.subpanel-table th,
html.somnia-theme form.somnia-users-edit-form #eapm_area .listViewThS1 {
  background: transparent !important;
  color: var(--somnia-muted) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--somnia-border) !important;
  padding: 8px 10px !important;
}

/* --------------------------------------------------------------------------
 * 2) Widget de email (não está em .edit-view-field — o CSS de 26-fields
 *    não lhe chega). SuiteP ainda força .email-address-users-profile { 248px }.
 * -------------------------------------------------------------------------- */
html.somnia-theme form.somnia-users-edit-form #email_options table.edit.view > tbody > tr,
html.somnia-theme form.somnia-users-edit-form #email_options table.edit.view > tr {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
  gap: 8px 16px;
  align-items: start;
  margin: 0 0 14px;
}

html.somnia-theme form.somnia-users-edit-form #email_options table.edit.view > tbody > tr > td,
html.somnia-theme form.somnia-users-edit-form #email_options table.edit.view > tr > td {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  float: none !important;
  padding: 4px 0 !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options table.edit.view td[scope="row"] {
  color: var(--somnia-muted) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  padding-top: 12px !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .somnia-users-email-widget,
html.somnia-theme form.somnia-users-edit-form #email_options .somnia-users-email-widget > .col-xs-12,
html.somnia-theme form.somnia-users-edit-form #email_options .emailaddresses,
html.somnia-theme form.somnia-users-edit-form #email_options .email-address-lines-container,
html.somnia-theme form.somnia-users-edit-form #email_options .email-address-add-line-container,
html.somnia-theme form.somnia-users-edit-form #email_options .email-address-users-profile {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-line-container.hidden,
html.somnia-theme form.somnia-users-edit-form #email_options .email-address-line-container.template {
  display: none !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-line-container:not(.hidden):not(.template) {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-input-container,
html.somnia-theme form.somnia-users-edit-form #email_options .email-address-options-container {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-input-group,
html.somnia-theme form.somnia-users-edit-form #email_options .input-group.email-address-input-group {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 6px;
  width: 100% !important;
  max-width: 520px !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-input-group > input[type="email"],
html.somnia-theme form.somnia-users-edit-form #email_options .email-address-input-group > input.form-control {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 8px 12px !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  background: var(--somnia-surface) !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-input-group .input-group-btn {
  display: flex !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  float: none !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-remove-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  background: var(--somnia-canvas-2) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  color: var(--somnia-muted) !important;
  box-shadow: none !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-options-container {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-option {
  display: inline-flex !important;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  float: none !important;
  width: auto !important;
  height: auto !important;
  padding: 4px 10px !important;
  margin: 0 !important;
  background: var(--somnia-canvas-2);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-pill);
  text-align: left !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-option > label,
html.somnia-theme form.somnia-users-edit-form #email_options .email-address-option .text-sm,
html.somnia-theme form.somnia-users-edit-form #email_options .email-address-option label.col-xs-12 {
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  color: var(--somnia-muted) !important;
  white-space: nowrap;
  visibility: visible !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-option > div {
  display: flex !important;
  align-items: center;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-add-line-container {
  display: flex !important;
  justify-content: flex-start;
  margin-top: 4px !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-add-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  gap: 8px;
  font-size: 13px !important;
  font-weight: 650 !important;
  color: var(--somnia-brand) !important;
  background: transparent !important;
  border: 1px dashed var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options .email-address-add-button:hover {
  background: var(--somnia-brand-tint) !important;
  border-style: solid !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options #settingsButton {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  margin: 14px 0 0 !important;
  min-height: 36px;
  padding: 6px 14px !important;
  background: #fff !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  box-shadow: none !important;
  color: var(--somnia-ink) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  float: none !important;
}

html.somnia-theme form.somnia-users-edit-form #email_options #settingsButton img {
  display: none !important;
}

/* --------------------------------------------------------------------------
 * 3) Seletor de módulos da barra (TemplateGroupChooser #edit_tabs)
 * -------------------------------------------------------------------------- */
html.somnia-theme form.somnia-users-edit-form .somnia-users-tab-chooser-wrap,
html.somnia-theme form.somnia-users-edit-form td.somnia-users-tab-chooser-wrap {
  display: block !important;
  width: 100% !important;
  padding: 8px 0 16px !important;
}

html.somnia-theme form.somnia-users-edit-form #edit_tabs {
  width: 100% !important;
  max-width: none;
  margin: 0 !important;
  padding: 16px 18px !important;
  background: var(--somnia-canvas-2);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-lg);
  box-sizing: border-box;
}

html.somnia-theme form.somnia-users-edit-form #edit_tabs > h4 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--somnia-ink) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

html.somnia-theme form.somnia-users-edit-form #edit_tabs > table,
html.somnia-theme form.somnia-users-edit-form #edit_tabs > table table {
  width: 100% !important;
  max-width: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html.somnia-theme form.somnia-users-edit-form #edit_tabs > table > tbody > tr {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px 12px;
}

html.somnia-theme form.somnia-users-edit-form #edit_tabs > table > tbody > tr > td {
  display: block !important;
  float: none !important;
  width: auto !important;
  padding: 4px !important;
}

html.somnia-theme form.somnia-users-edit-form #display_tabs_td,
html.somnia-theme form.somnia-users-edit-form #hide_tabs_td,
html.somnia-theme form.somnia-users-edit-form #remove_tabs_td {
  flex: 1 1 240px;
  min-width: 220px;
  max-width: 320px;
}

html.somnia-theme form.somnia-users-edit-form #edit_tabs select[multiple],
html.somnia-theme form.somnia-users-edit-form #display_tabs,
html.somnia-theme form.somnia-users-edit-form #hide_tabs,
html.somnia-theme form.somnia-users-edit-form #edit_tabs select.templateGroupChooser,
html.somnia-theme form.somnia-users-edit-form #edit_tabs select.groupChooser {
  width: 100% !important;
  min-width: 220px !important;
  max-width: none !important;
  height: 220px !important;
  min-height: 220px !important;
  padding: 8px !important;
  font-size: 13px !important;
  color: var(--somnia-ink) !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  box-sizing: border-box !important;
}

html.somnia-theme form.somnia-users-edit-form #chooser_display_tabs_text,
html.somnia-theme form.somnia-users-edit-form #chooser_hide_tabs {
  display: block !important;
  margin-bottom: 6px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--somnia-muted) !important;
  text-align: center;
}

html.somnia-theme form.somnia-users-edit-form #edit_tabs a[id^="chooser_"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 2px 0 !important;
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-md);
  background: var(--somnia-surface);
  text-decoration: none !important;
}

html.somnia-theme form.somnia-users-edit-form #edit_tabs a[id^="chooser_"] img {
  display: none !important;
}

html.somnia-theme form.somnia-users-edit-form #edit_tabs a[id^="chooser_"]::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background-color: var(--somnia-brand);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

html.somnia-theme form.somnia-users-edit-form #edit_tabs a[id$="_up_arrow"]::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='18 15 12 9 6 15'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='18 15 12 9 6 15'/></svg>");
}

html.somnia-theme form.somnia-users-edit-form #edit_tabs a[id$="_down_arrow"]::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
}

html.somnia-theme form.somnia-users-edit-form #edit_tabs a[id$="_left_arrow"]::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>");
}

html.somnia-theme form.somnia-users-edit-form #edit_tabs a[id*="_left_to_right"]::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
}

/* --------------------------------------------------------------------------
 * 4) Avançada + Opções de disposição — mesma grelha de 4 colunas da ficha
 * -------------------------------------------------------------------------- */
html.somnia-theme form.somnia-users-edit-form [data-users-pane="advanced"] > div + div,
html.somnia-theme form.somnia-users-edit-form [data-users-pane="layout"] > div + div {
  margin-top: 22px;
}

html.somnia-theme form.somnia-users-edit-form .somnia-users-section-title {
  margin: 0 0 12px;
}

html.somnia-theme form.somnia-users-edit-form .somnia-users-section-title h4 {
  margin: 0;
  padding: 0 0 8px;
  background: transparent !important;
  border: 0 !important;
  color: var(--somnia-ink) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

html.somnia-theme form.somnia-users-edit-form #use_group_tabs_row[style*="display: none"],
html.somnia-theme form.somnia-users-edit-form #use_group_tabs_row[style*="display:none"] {
  display: none !important;
}

html.somnia-theme form.somnia-users-edit-form #reminders {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px 18px;
  margin: 0 0 8px;
}

html.somnia-theme form.somnia-users-edit-form #reminders .col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  float: none !important;
  width: auto !important;
  min-width: 0;
  padding: 0 !important;
  gap: 6px;
}

html.somnia-theme form.somnia-users-edit-form #reminders select {
  width: auto !important;
  min-width: 160px;
  max-width: 100% !important;
}

html.somnia-theme form.somnia-users-edit-form .somnia-users-enable-notifications {
  margin-top: 4px;
  width: auto !important;
}

html.somnia-theme form.somnia-users-edit-form [data-users-pane="advanced"] .calendar_publish_ok,
html.somnia-theme form.somnia-users-edit-form [data-users-pane="advanced"] .calendar_publish_none {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-all;
  font-size: 13px;
}

html.somnia-theme form.somnia-users-edit-form [data-users-pane="advanced"] .edit-view-field input[type="button"],
html.somnia-theme form.somnia-users-edit-form [data-users-pane="advanced"] .edit-view-field .btn {
  width: auto !important;
  margin-top: 6px;
}

/* source: custom/themes/SuiteP/css/somnia/25-legacy-surfaces.css */
/**
 * Somnia — superfícies legadas (YUI e afins)
 *
 * Sobra do SuiteCRM original um conjunto de widgets que nunca passaram pelo
 * tema: o calendário YUI dos campos de data, os menus «>>» dos subpainéis, os
 * menus de contexto YUI e a janela de escolha de registo relacionado. Como o
 * CSS do Noon continua carregado, tudo o que não for reescrito aqui mantém o
 * aspecto antigo. Estas regras não são presas a uma página porque estes
 * widgets aparecem em toda a aplicação, incluindo dentro de popups.
 */

/* ==========================================================================
   1. Calendário YUI (campos de data e data/hora)
   ========================================================================== */

/* Painel SimpleDialog (filtros / mass update) — um único cartão, sem chrome Noon. */
html.somnia-theme .yui-panel-container:has(.cal_panel),
html.somnia-theme .yui-panel-container.shadow:has(.cal_panel) {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

html.somnia-theme .yui-panel-container:has(.cal_panel) .underlay {
  display: none !important;
}

html.somnia-theme .yui-module.yui-overlay.yui-panel.cal_panel,
html.somnia-theme .yui-panel.cal_panel,
html.somnia-theme .cal_panel {
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--somnia-shadow-pop) !important;
  font-family: var(--somnia-font) !important;
  overflow: visible !important;
  padding: 0 !important;
}

html.somnia-theme .cal_panel .hd,
html.somnia-theme .yui-panel.cal_panel .hd,
html.somnia-theme .yui-module.cal_panel .hd {
  background: var(--somnia-surface) !important;
  background-image: none !important;
  background-color: var(--somnia-surface) !important;
  color: var(--somnia-ink) !important;
  border: none !important;
  border-bottom: 1px solid var(--somnia-border) !important;
  border-radius: 16px 16px 0 0 !important;
  margin: 0 !important;
  padding: 12px 44px 12px 16px !important;
  font-family: var(--somnia-font) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: var(--somnia-ls);
  line-height: 1.3 !important;
}

html.somnia-theme .cal_panel .bd,
html.somnia-theme .yui-panel.cal_panel .bd {
  background: var(--somnia-surface) !important;
  padding: 10px 14px 16px !important;
  margin: 0 !important;
  border: none !important;
}

html.somnia-theme .cal_panel .container-close,
html.somnia-theme .yui-panel.cal_panel .container-close {
  top: 10px !important;
  right: 10px !important;
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--somnia-canvas-2) !important;
  background-image: none !important;
  border: none !important;
  border-radius: 8px !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: 0 !important;
  overflow: hidden !important;
  cursor: pointer !important;
  opacity: 1 !important;
}

html.somnia-theme .cal_panel .container-close::before {
  content: "×";
  display: block;
  font-size: 18px;
  font-weight: 500;
  line-height: 28px;
  text-align: center;
  color: var(--somnia-muted);
}

html.somnia-theme .cal_panel .container-close:hover {
  background: var(--somnia-brand-tint) !important;
}

html.somnia-theme .cal_panel .container-close:hover::before {
  color: var(--somnia-brand);
}

html.somnia-theme .cal_panel .callnav_today,
html.somnia-theme p.callnav_today {
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1 !important;
  clear: none !important;
}

html.somnia-theme .cal_panel .callnav_today a,
html.somnia-theme a#callnav_today,
html.somnia-theme p.callnav_today a {
  display: inline-flex !important;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  background: var(--somnia-brand-tint) !important;
  border-radius: 8px !important;
  color: var(--somnia-brand) !important;
  font-family: var(--somnia-font) !important;
  font-size: 12.5px !important;
  font-weight: 650 !important;
  text-decoration: none !important;
}

html.somnia-theme .cal_panel .callnav_today a:hover,
html.somnia-theme a#callnav_today:hover {
  background: var(--somnia-brand) !important;
  color: #fff !important;
}

/* Dentro do painel: o cartão já tem borda — o contentor interior não duplica. */
html.somnia-theme .cal_panel .yui-calcontainer,
html.somnia-theme .cal_panel .yui-calcontainer.multi {
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

html.somnia-theme .yui-calcontainer,
html.somnia-theme .yui-calcontainer.multi {
  position: relative !important;
  overflow: visible !important;
  padding: 8px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-xl) !important;
  box-shadow: var(--somnia-shadow-pop) !important;
  font-family: var(--somnia-font) !important;
}

html.somnia-theme .yui-calcontainer .title {
  position: static !important;
  margin: 0 0 6px !important;
  padding: 4px 2px 8px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--somnia-border) !important;
  color: var(--somnia-ink) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: left !important;
}

html.somnia-theme .yui-calcontainer .calclose,
html.somnia-theme .yui-calcontainer .close-icon {
  top: 8px !important;
  right: 8px !important;
  background: none !important;
  border-radius: var(--somnia-radius-sm);
  opacity: 0.6;
}

html.somnia-theme .yui-calcontainer .calclose:hover {
  opacity: 1;
}

html.somnia-theme .yui-calendar {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-spacing: 1px !important;
  font-family: var(--somnia-font) !important;
}

/* Cabeçalho com o mês e as setas de navegação (mata a barra teal do Noon). */
html.somnia-theme .yui-calendar .calhead,
html.somnia-theme .yui-calendar th.calhead {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

html.somnia-theme .yui-calendar .calheader {
  position: relative;
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) 32px;
  align-items: center;
  justify-items: center;
  gap: 8px;
  height: auto !important;
  min-height: 36px;
  padding: 4px 2px 10px !important;
  line-height: 1.2 !important;
  background: transparent !important;
  border: none !important;
  color: var(--somnia-ink) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: center !important;
}

html.somnia-theme .yui-calendar a.calnav,
html.somnia-theme .yui-calendar .calnav {
  justify-self: center;
  background: var(--somnia-canvas-2) !important;
  background-color: var(--somnia-canvas-2) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: 8px !important;
  color: var(--somnia-ink) !important;
  font-family: var(--somnia-font) !important;
  font-size: 12.5px !important;
  font-weight: 650 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 6px 10px !important;
  width: auto !important;
  max-width: 100%;
  height: auto !important;
  line-height: 1.2 !important;
  text-indent: 0 !important;
  overflow: visible !important;
}

html.somnia-theme .yui-calendar a.calnav:hover {
  background: var(--somnia-brand-tint) !important;
  border-color: var(--somnia-brand-ring) !important;
  color: var(--somnia-brand) !important;
}

html.somnia-theme .yui-calendar .calnavleft,
html.somnia-theme .yui-calendar .calnavright,
html.somnia-theme .yui-calendar a.calnavleft,
html.somnia-theme .yui-calendar a.calnavright,
html.somnia-theme body.popupBody .yui-calendar a.calnavleft,
html.somnia-theme body.popupBody .yui-calendar a.calnavright {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--somnia-canvas-2) !important;
  background-image: none !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: 8px !important;
  color: transparent !important;
  cursor: pointer;
  text-indent: 0 !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

html.somnia-theme .yui-calendar .calnavleft,
html.somnia-theme .yui-calendar a.calnavleft {
  justify-self: start;
}

html.somnia-theme .yui-calendar .calnavright,
html.somnia-theme .yui-calendar a.calnavright {
  justify-self: end;
}

html.somnia-theme .yui-calendar .calnavleft::before,
html.somnia-theme .yui-calendar a.calnavleft::before,
html.somnia-theme .yui-calendar .calnavright::before,
html.somnia-theme .yui-calendar a.calnavright::before {
  display: block !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 32px !important;
  text-align: center !important;
  color: var(--somnia-ink) !important;
  width: 32px;
  height: 32px;
}

html.somnia-theme .yui-calendar .calnavleft::before,
html.somnia-theme .yui-calendar a.calnavleft::before {
  content: "‹" !important;
}

html.somnia-theme .yui-calendar .calnavright::before,
html.somnia-theme .yui-calendar a.calnavright::before {
  content: "›" !important;
}

html.somnia-theme .yui-calendar .calnavleft:hover,
html.somnia-theme .yui-calendar .calnavright:hover,
html.somnia-theme .yui-calendar a.calnavleft:hover,
html.somnia-theme .yui-calendar a.calnavright:hover {
  background: var(--somnia-brand-tint) !important;
  background-image: none !important;
  border-color: var(--somnia-brand-ring) !important;
}

html.somnia-theme .yui-calendar .calnavleft:hover::before,
html.somnia-theme .yui-calendar .calnavright:hover::before,
html.somnia-theme .yui-calendar a.calnavleft:hover::before,
html.somnia-theme .yui-calendar a.calnavright:hover::before {
  color: var(--somnia-brand) !important;
}

/* Iniciais dos dias da semana — sem faixa cinzenta Noon. */
html.somnia-theme .yui-calendar .calweekdayrow,
html.somnia-theme .yui-calendar tr.calweekdayrow {
  background: transparent !important;
}

html.somnia-theme .yui-calendar .calweekdayrow th,
html.somnia-theme .yui-calendar .calweekdaycell {
  padding: 6px 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  color: var(--somnia-faint) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

html.somnia-theme .yui-calendar .calbody,
html.somnia-theme .yui-calendar .calbody td {
  background: transparent !important;
  background-color: transparent !important;
}

html.somnia-theme .yui-calendar .calcell {
  width: 32px !important;
  height: 30px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: var(--somnia-radius-sm) !important;
  color: var(--somnia-body) !important;
  font-size: 12.5px !important;
  line-height: 30px !important;
  text-align: center !important;
}

html.somnia-theme .yui-calendar .calcell a,
html.somnia-theme .yui-calendar td.calcell a {
  display: block;
  width: 100% !important;
  height: 100% !important;
  line-height: 30px !important;
  background: transparent !important;
  border-radius: var(--somnia-radius-sm);
  color: var(--somnia-brand) !important;
  text-decoration: none !important;
}

html.somnia-theme .yui-calendar .calcell.calcellhover,
html.somnia-theme .yui-calendar .calcell.calcellhover a {
  background: var(--somnia-brand-tint) !important;
  color: var(--somnia-brand) !important;
}

html.somnia-theme .yui-calendar .calcell.today {
  box-shadow: inset 0 0 0 1px var(--somnia-brand) !important;
  color: var(--somnia-brand) !important;
  font-weight: 700 !important;
}

html.somnia-theme .yui-calendar .calcell.selected,
html.somnia-theme .yui-calendar .calcell.selected a,
html.somnia-theme .yui-calendar td.calcell.selected,
html.somnia-theme .yui-calendar td.calcell.selected a {
  background: var(--somnia-brand) !important;
  background-color: var(--somnia-brand) !important;
  color: #fff !important;
  font-weight: 600 !important;
}

html.somnia-theme .yui-calendar .calcell.oom,
html.somnia-theme .yui-calendar .calcell.previous,
html.somnia-theme .yui-calendar .calcell.next,
html.somnia-theme .yui-calendar .calcell.oom a,
html.somnia-theme .yui-calendar .calcell.previous a,
html.somnia-theme .yui-calendar .calcell.next a {
  background: transparent !important;
  color: var(--somnia-faint) !important;
}

html.somnia-theme .yui-calendar .calrowhead,
html.somnia-theme .yui-calendar .calrowfoot {
  background: transparent !important;
  border: none !important;
  color: var(--somnia-faint) !important;
  font-style: normal !important;
  font-size: 11px !important;
}

/* Painel de escolha rápida de mês e ano. */
html.somnia-theme .yui-calcontainer .yui-cal-nav,
html.somnia-theme .yui-cal-nav {
  left: 8px !important;
  right: 8px !important;
  top: 40px !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: 12px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-lg) !important;
  box-shadow: var(--somnia-shadow-pop) !important;
  font-family: var(--somnia-font) !important;
  z-index: 5 !important;
}

html.somnia-theme .yui-calcontainer.withtitle .yui-cal-nav {
  top: 64px !important;
}

html.somnia-theme .yui-calcontainer .yui-cal-nav-m,
html.somnia-theme .yui-calcontainer .yui-cal-nav-y {
  padding: 0 0 10px !important;
}

html.somnia-theme .yui-cal-nav label {
  display: block !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--somnia-muted) !important;
}

html.somnia-theme .yui-cal-nav-mc,
html.somnia-theme .yui-cal-nav-yc,
html.somnia-theme .yui-cal-nav-y input {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  min-height: 36px !important;
  padding: 6px 10px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  color: var(--somnia-ink) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  box-shadow: none !important;
  outline: none !important;
}

html.somnia-theme .yui-cal-nav-y input:focus,
html.somnia-theme .yui-cal-nav-mc:focus {
  border-color: var(--somnia-brand) !important;
  box-shadow: 0 0 0 3px var(--somnia-brand-ring) !important;
  outline: none !important;
}

html.somnia-theme .yui-calcontainer .yui-cal-nav-b {
  display: flex !important;
  flex-direction: row-reverse;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 8px;
  padding: 2px 0 0 !important;
  margin: 0 !important;
  text-align: center;
}

html.somnia-theme .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn,
html.somnia-theme .yui-cal-nav .yui-cal-nav-btn {
  display: block !important;
  flex: 1 1 0;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html.somnia-theme .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn button,
html.somnia-theme .yui-cal-nav-b button,
html.somnia-theme .yui-cal-nav-btn button {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 34px !important;
  padding: 6px 10px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  color: var(--somnia-body) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer;
  white-space: nowrap;
}

html.somnia-theme .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn.yui-default button,
html.somnia-theme .yui-cal-nav-b .yui-default button,
html.somnia-theme .yui-cal-nav-btn.yui-default button {
  background: var(--somnia-brand) !important;
  border-color: var(--somnia-brand) !important;
  color: #fff !important;
}

html.somnia-theme .yui-calcontainer .yui-cal-nav-mask,
html.somnia-theme .yui-cal-nav-mask {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 0 !important;
  filter: none !important;
}

/* ==========================================================================
   2. Campo de data/hora dentro do formulário
   O SugarField ainda desenha uma tabela; alinhá-la com os restantes campos.
   ========================================================================== */

html.somnia-theme .edit-view-field table.dateTime,
html.somnia-theme .edit-view-field table.dateTime tbody,
html.somnia-theme .edit-view-field table.dateTime tr {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
}

/* O botão que abre o calendário: quadrado, discreto, ao lado do campo. */
html.somnia-theme .edit-view-field img.ui-datepicker-trigger,
html.somnia-theme .edit-view-field .suitepicon-action-calendar,
html.somnia-theme .edit-view-field [id$="_trigger"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-md);
  background: var(--somnia-canvas-2);
  color: var(--somnia-muted);
  cursor: pointer;
}

html.somnia-theme .edit-view-field [id$="_trigger"]:hover {
  background: var(--somnia-brand-tint);
  border-color: var(--somnia-brand);
  color: var(--somnia-brand);
}

/* ==========================================================================
   3. Menus «>>» dos subpainéis e outros menus .menu/.menuItem
   ========================================================================== */

html.somnia-theme div.menu,
html.somnia-theme #MorePanelMenu.menu,
html.somnia-theme [id^="MoreSub"][id$="PanelMenu"].menu {
  padding: 6px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-lg) !important;
  box-shadow: var(--somnia-shadow-pop) !important;
  font-family: var(--somnia-font) !important;
}

html.somnia-theme div.menu a.menuItem,
html.somnia-theme div.menu a.menuItemHilite,
html.somnia-theme div.menu a.menuItemX,
html.somnia-theme div.menu a.menuItemHiliteX {
  display: block !important;
  padding: 8px 12px !important;
  background: transparent !important;
  border: none !important;
  border-radius: var(--somnia-radius-md) !important;
  color: var(--somnia-body) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

html.somnia-theme div.menu a.menuItemHilite,
html.somnia-theme div.menu a.menuItemHiliteX,
html.somnia-theme div.menu a.menuItem:hover,
html.somnia-theme div.menu a.menuItemX:hover {
  background: var(--somnia-brand-tint) !important;
  color: var(--somnia-brand) !important;
}

/* ==========================================================================
   4. Menus de contexto e painéis YUI genéricos
   ========================================================================== */

html.somnia-theme .yuimenu .bd,
html.somnia-theme .yuimenu.yui-overlay .bd {
  padding: 6px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-lg) !important;
  box-shadow: var(--somnia-shadow-pop) !important;
}

html.somnia-theme .yuimenu ul,
html.somnia-theme .yuimenu li.yuimenuitem {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  list-style: none !important;
}

html.somnia-theme .yuimenu .topscrollbar,
html.somnia-theme .yuimenu .bottomscrollbar {
  background-color: var(--somnia-canvas-2) !important;
}

/* ==========================================================================
   5. Janela de escolha de registo relacionado
   ========================================================================== */

/* Skin completo dos popups: 27-popups.css (injectado no ViewPopup). */
html.somnia-theme body.popupBody,
body.popupBody {
  padding: 12px !important;
  background: var(--somnia-canvas) !important;
  font-family: var(--somnia-font) !important;
}

html.somnia-theme body.popupBody #popup_query_form,
body.popupBody #popup_query_form {
  margin-bottom: 12px;
  padding: 14px 16px;
  background: var(--somnia-surface);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-xl);
  box-shadow: var(--somnia-shadow-card);
}

body.popupBody .moduleTitle h2,
body.popupBody h2 {
  margin: 0 0 10px !important;
  color: var(--somnia-ink) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: var(--somnia-ls-tight);
}

body.popupBody input[type="text"],
body.popupBody select {
  padding: 7px 10px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  color: var(--somnia-ink) !important;
  font-family: var(--somnia-font) !important;
  font-size: 13px !important;
}

body.popupBody input[type="text"]:focus,
body.popupBody select:focus {
  outline: none !important;
  border-color: var(--somnia-brand) !important;
  box-shadow: 0 0 0 3px var(--somnia-brand-ring) !important;
}

body.popupBody input.button,
body.popupBody button.button {
  min-height: 34px;
  padding: 7px 14px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  color: var(--somnia-body) !important;
  font-family: var(--somnia-font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer;
}

body.popupBody input.button:hover,
body.popupBody button.button:hover {
  background: var(--somnia-brand-tint) !important;
  border-color: var(--somnia-brand) !important;
  color: var(--somnia-brand) !important;
}

/* ==========================================================================
   6. Gatilhos soltos do Bootstrap que ficaram sem tema
   ========================================================================== */

/* A setinha do Bootstrap 3 aparecia como triângulo preto ao lado de botões. */
html.somnia-theme .btn-group > .dropdown-toggle > .caret,
html.somnia-theme .dropdown-toggle > .caret {
  margin-left: 6px;
  border-top-color: currentColor;
  opacity: 0.7;
}

html.somnia-theme .btn-group > .dropdown-toggle,
html.somnia-theme button.btn.btn-default.dropdown-toggle {
  min-height: 36px;
  background: var(--somnia-surface);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-md);
  color: var(--somnia-body);
  font-family: var(--somnia-font);
  font-size: 13.5px;
  font-weight: 600;
}

html.somnia-theme .btn-group > .dropdown-toggle:hover,
html.somnia-theme button.btn.btn-default.dropdown-toggle:hover {
  background: var(--somnia-hover);
  border-color: var(--somnia-faint);
  color: var(--somnia-ink);
}

/* Menu de utilizador e pesquisa em tablet: o gatilho ainda era cinzento. */
html.somnia-theme .btn.btn-default.usermenucollapsed,
html.somnia-theme #searchbutton.btn,
html.somnia-theme button.btn.btn-default.searchbutton {
  min-height: 38px;
  min-width: 38px;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: var(--somnia-radius-md) !important;
  color: #fff !important;
  box-shadow: none !important;
}

html.somnia-theme .btn.btn-default.usermenucollapsed:hover,
html.somnia-theme #searchbutton.btn:hover,
html.somnia-theme button.btn.btn-default.searchbutton:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
}

/* source: custom/themes/SuiteP/css/somnia/26-fields.css */
/**
 * Somnia — contrato de campos (Detail + Edit)
 *
 * Um campo = uma célula: rótulo 13/700, valor min-height 38px, raio md.
 * Widgets compostos (email, data, ficheiro, editor, morada) entram aqui
 * para não furar a grelha. Tokens só — zero hex soltos.
 */

/* ==========================================================================
   0. Acções à direita do input (lupa, calendário, limpar, +)
   ========================================================================== */

html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page, :has(.somnia-editview-shell)) .somnia-field-action,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field button.somnia-field-action,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-remove-button,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field [id$="_trigger"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field button.button.firstChild,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field button.button.lastChild {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--somnia-canvas-2) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  box-shadow: none !important;
  color: var(--somnia-muted) !important;
  cursor: pointer;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-remove-button,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field [id$="_trigger"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field button.button.firstChild,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field button.button.lastChild {
  background: var(--somnia-canvas-2) !important;
  border-color: var(--somnia-border) !important;
  color: var(--somnia-muted) !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-remove-button:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field [id$="_trigger"]:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field button.button.firstChild:hover,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field button.button.lastChild:hover,
html.somnia-theme .somnia-field-action:hover {
  background: var(--somnia-brand-tint) !important;
  border-color: var(--somnia-brand) !important;
  color: var(--somnia-brand) !important;
}

/* Nunca vermelho SuiteP nos campos */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .btn-danger,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field button.btn-danger {
  background: var(--somnia-canvas-2) !important;
  border: 1px solid var(--somnia-border) !important;
  color: var(--somnia-muted) !important;
  box-shadow: none !important;
}

/* ==========================================================================
   1. Relate / parent — uma linha, sem wrap
   ========================================================================== */

html.somnia-theme .somnia-relate,
html.somnia-theme .somnia-parent,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field:has(> input.sqsEnabled),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field:has(input.sqsEnabled):not(:has(#lineItems)) {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0;
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

html.somnia-theme .somnia-relate input.sqsEnabled,
html.somnia-theme .somnia-relate input.yui-ac-input,
html.somnia-theme .somnia-parent input.sqsEnabled,
html.somnia-theme .somnia-parent input.yui-ac-input,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input.sqsEnabled,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input.yui-ac-input {
  flex: 1 1 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

html.somnia-theme .somnia-parent > select[name="parent_type"],
html.somnia-theme .somnia-parent > select#parent_type {
  flex: 0 0 140px !important;
  width: 140px !important;
  max-width: 140px !important;
}

html.somnia-theme .somnia-relate > .id-ff,
html.somnia-theme .somnia-parent > .id-ff,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .id-ff,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field span.id-ff.multiple {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center;
  gap: 4px;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  white-space: nowrap;
}

html.somnia-theme .somnia-relate > .id-ff::before,
html.somnia-theme .somnia-relate > .id-ff::after,
html.somnia-theme .somnia-parent > .id-ff::before,
html.somnia-theme .somnia-parent > .id-ff::after,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .id-ff::before,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .id-ff::after {
  content: none !important;
  display: none !important;
}

/* O dropdown QuickSearch não pode ocupar sítio na linha (SuiteP: float + 90% = traço). */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .yui-ac-container,
html.somnia-theme .somnia-relate .yui-ac-container,
html.somnia-theme .somnia-parent .yui-ac-container {
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: 100% !important;
  float: none !important;
  width: 100% !important;
  min-width: 220px;
  height: auto !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow: visible !important;
  z-index: 40;
}

/* ==========================================================================
   2. Data / data+hora
   ========================================================================== */

html.somnia-theme .somnia-datetime,
html.somnia-theme .edit-view-field table.dateTime,
html.somnia-theme .edit-view-field span.dateTime,
html.somnia-theme table.dateTime {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100%;
  min-width: 0;
  background: transparent !important;
  border: none !important;
  border-collapse: separate !important;
}

html.somnia-theme table.dateTime > tbody,
html.somnia-theme .edit-view-field table.dateTime tbody {
  display: contents !important;
}

html.somnia-theme table.dateTime > tbody > tr,
html.somnia-theme .edit-view-field table.dateTime tr {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100%;
}

html.somnia-theme .somnia-datetime input.date_input,
html.somnia-theme .somnia-datetime input.datetimecombo_date,
html.somnia-theme .edit-view-field input.datetimecombo_date,
html.somnia-theme .edit-view-field input.date_input,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input.datetimecombo_date,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field input.date_input {
  flex: 1 1 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

html.somnia-theme .somnia-datetime-time,
html.somnia-theme .datetimecombo_time_section,
html.somnia-theme .edit-view-field .datetimecombo_time_section {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 4px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 8px !important;
  box-sizing: border-box;
  background: var(--somnia-surface);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-md);
  overflow: visible !important;
}

html.somnia-theme .datetimecombo_time_section span,
html.somnia-theme .somnia-datetime-time span {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
}

html.somnia-theme .somnia-datetime-time select,
html.somnia-theme .datetimecombo_time_section select,
html.somnia-theme select.datetimecombo_time,
html.somnia-theme .edit-view-field select.datetimecombo_time,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell), .popupBody) .edit-view-field select.datetimecombo_time,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell), .popupBody) .datetimecombo_time_section select {
  display: inline-block !important;
  width: auto !important;
  min-width: 3.2em !important;
  max-width: 4.75em !important;
  min-height: 0 !important;
  height: 28px !important;
  padding: 0 18px 0 6px !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 2px center !important;
  background-size: 10px 6px !important;
  flex: 0 0 auto !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
}

/* Input de data + botão calendário na mesma linha (Edit, Search, filtros) */
html.somnia-theme .edit-view-field:has(> input.date_input),
html.somnia-theme .edit-view-field:has(input.date_input),
html.somnia-theme .search_fields_basic:has(input.date_input),
html.somnia-theme .col-advanced-search:has(input.date_input),
html.somnia-theme td:has(> input.date_input) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
}

html.somnia-theme input.date_input,
html.somnia-theme input.datetimecombo_date {
  flex: 1 1 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

html.somnia-theme button.btn-danger:has(.suitepicon-module-calendar),
html.somnia-theme button.btn-danger[id$="_trigger"],
html.somnia-theme [id$="_trigger"].btn-danger,
html.somnia-theme [id$="_trigger"].button,
html.somnia-theme img[id$="_trigger"],
html.somnia-theme button#goto_date_trigger,
html.somnia-theme #goto_date_trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--somnia-canvas-2, #f8fafc) !important;
  border: 1px solid var(--somnia-border, #e2e8f0) !important;
  border-radius: var(--somnia-radius-md, 8px) !important;
  box-shadow: none !important;
  color: var(--somnia-muted, #64748b) !important;
  vertical-align: middle !important;
}

html.somnia-theme button.btn-danger:has(.suitepicon-module-calendar):hover,
html.somnia-theme [id$="_trigger"]:hover,
html.somnia-theme #goto_date_trigger:hover {
  background: var(--somnia-brand-tint, #e6f2f2) !important;
  border-color: var(--somnia-brand, #146161) !important;
  color: var(--somnia-brand, #146161) !important;
}

html.somnia-theme .edit-view-field table.dateTime td,
html.somnia-theme table.dateTime td {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* Datas de auditoria (date_entered / date_modified) vêm como texto DetailView. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="date_entered"] .edit-view-field,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="date_modified"] .edit-view-field {
  display: flex !important;
  align-items: center;
  min-height: 38px;
  padding: 8px 12px;
  background: var(--somnia-canvas-2);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-md);
  color: var(--somnia-muted);
  font-size: 13.5px;
  line-height: 1.45;
}

/* Descrição / wysiwyg ocupam a linha toda, mesmo com span 1 no Layout Builder. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="description"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="description"]:has(.somnia-sp),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="description"]:has(.somnia-sp[data-sp="1"]),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="description_html"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item:has(.edit-view-field[type="wysiwyg"]),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-field="description"],
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-field="description"]:has(.somnia-sp),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-field="description"]:has(.somnia-sp[data-sp="1"]),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-field="description_html"],
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item:has(.detail-view-field[field="description"]),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item:has(.detail-view-field[field="description_html"]),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item:has(.detail-view-field[type="wysiwyg"]) {
  grid-column: span 4 !important;
}

/* ==========================================================================
   3. Email
   ========================================================================== */

html.somnia-theme .somnia-email,
html.somnia-theme .edit-view-field .col-xs-12.emailaddresses,
html.somnia-theme .edit-view-field .email-address-lines-container,
html.somnia-theme .edit-view-field .email-address-add-line-container {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

html.somnia-theme .somnia-email {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* A linha-template tem .hidden — sem isto o flex !important torna-a visível. */
html.somnia-theme .edit-view-field .email-address-line-container.hidden,
html.somnia-theme .edit-view-field .email-address-line-container.template,
html.somnia-theme .somnia-email .email-address-line-container.hidden,
html.somnia-theme .somnia-email .email-address-line-container.template {
  display: none !important;
}

html.somnia-theme .edit-view-field .email-address-line-container:not(.hidden):not(.template),
html.somnia-theme .somnia-email-line:not(.hidden):not(.template) {
  display: flex !important;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 4px;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 0 10px !important;
}

html.somnia-theme .edit-view-field .email-address-input-container,
html.somnia-theme .edit-view-field .email-address-options-container,
html.somnia-theme .somnia-email-flags {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

html.somnia-theme .edit-view-field .email-address-input-group,
html.somnia-theme .edit-view-field .input-group.email-address-input-group {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 6px;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-input-group > input[type="email"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-input-group > input.form-control[type="email"] {
  flex: 1 1 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 38px !important;
  height: 38px !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-input-group .input-group-btn {
  display: flex !important;
  flex: 0 0 34px !important;
  align-items: center;
  justify-content: center;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  float: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-input-group .email-address-remove-button {
  flex: 0 0 34px !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
}

html.somnia-theme .edit-view-field .email-address-input-group .input-group-addon,
html.somnia-theme .edit-view-field .email-opt-in-container,
html.somnia-theme .edit-view-field .email-opt-in,
html.somnia-theme .somnia-email .suitepicon-action-confirm,
html.somnia-theme .edit-view-field .email-address-option:has(.email-address-opted-in-flag) {
  display: none !important;
}

html.somnia-theme .edit-view-field .email-address-options-container,
html.somnia-theme .somnia-email-flags {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}

html.somnia-theme .edit-view-field .email-address-option {
  display: inline-flex !important;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  float: none !important;
  width: auto !important;
  height: 28px;
  padding: 0 8px !important;
  margin: 0 !important;
  background: var(--somnia-canvas-2);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-pill);
  text-align: left !important;
}

html.somnia-theme .edit-view-field .email-address-option > div {
  display: flex !important;
  align-items: center;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.somnia-theme .edit-view-field .email-address-option > label,
html.somnia-theme .edit-view-field .email-address-option .text-sm {
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  color: var(--somnia-muted) !important;
  white-space: nowrap;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-add-line-container {
  order: 2;
  display: flex !important;
  justify-content: flex-start;
  margin-top: 2px !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-add-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  gap: 6px;
  font-size: 13px !important;
  font-weight: 650 !important;
  color: var(--somnia-brand) !important;
  background: transparent !important;
  border: 1px dashed var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  box-shadow: none !important;
  white-space: nowrap;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field .email-address-add-button:hover {
  background: var(--somnia-brand-tint) !important;
  border-style: solid !important;
  color: var(--somnia-brand) !important;
}

html.somnia-theme .somnia-email-chip,
html.somnia-theme .detail-view-field .somnia-email-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

html.somnia-theme .somnia-email-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

html.somnia-theme .somnia-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: var(--somnia-radius-pill);
  background: var(--somnia-brand-tint);
  color: var(--somnia-brand);
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.3;
}

html.somnia-theme .somnia-chip.is-muted {
  background: var(--somnia-canvas);
  color: var(--somnia-muted);
}

html.somnia-theme .somnia-email-item.is-opt-out a,
html.somnia-theme .somnia-email-item.is-invalid a {
  text-decoration: line-through;
  color: var(--somnia-muted);
}

/* ==========================================================================
   4. Multiselect chips
   ========================================================================== */

html.somnia-theme .somnia-multienum {
  position: relative;
  width: 100%;
}

html.somnia-theme .somnia-multienum > select[multiple] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none;
  overflow: hidden !important;
}

html.somnia-theme .somnia-multienum-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-height: 38px;
  padding: 4px 8px;
  background: var(--somnia-surface);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-md);
  cursor: pointer;
}

html.somnia-theme .somnia-multienum.is-open .somnia-multienum-box,
html.somnia-theme .somnia-multienum-box:focus-within {
  border-color: var(--somnia-brand);
  box-shadow: 0 0 0 3px var(--somnia-brand-ring);
}

html.somnia-theme .somnia-multienum-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: var(--somnia-radius-pill);
  background: var(--somnia-brand-tint);
  color: var(--somnia-brand);
  font-size: 12.5px;
  font-weight: 650;
}

html.somnia-theme .somnia-multienum-chip button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}

html.somnia-theme .somnia-multienum-placeholder {
  color: var(--somnia-faint);
  font-size: 13.5px;
}

html.somnia-theme .somnia-multienum-menu {
  display: none;
  position: absolute;
  z-index: 20;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 220px;
  overflow: auto;
  padding: 6px;
  background: var(--somnia-surface);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-lg);
  box-shadow: var(--somnia-shadow-pop);
}

html.somnia-theme .somnia-multienum.is-open .somnia-multienum-menu {
  display: block;
}

html.somnia-theme .somnia-multienum-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: var(--somnia-radius-sm);
  font-size: 13.5px;
  cursor: pointer;
}

html.somnia-theme .somnia-multienum-option:hover {
  background: var(--somnia-brand-tint);
}

html.somnia-theme .detail-view-field .somnia-chip-list,
html.somnia-theme .somnia-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

html.somnia-theme .detail-view-field[type="multienum"] li {
  display: inline-flex;
  margin: 0 !important;
  padding: 3px 10px;
  list-style: none;
  border-radius: var(--somnia-radius-pill);
  background: var(--somnia-brand-tint);
  color: var(--somnia-brand);
  font-size: 12.5px;
  font-weight: 650;
}

html.somnia-theme .detail-view-field[type="multienum"] ul,
html.somnia-theme .detail-view-field[type="multienum"] .somnia-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
}

/* ==========================================================================
   5. Bool — interruptor
   ========================================================================== */

html.somnia-theme .somnia-bool {
  display: flex;
  align-items: center;
  min-height: 38px;
  gap: 10px;
}

html.somnia-theme input[type="checkbox"].somnia-switch {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 36px !important;
  height: 20px !important;
  min-width: 36px !important;
  min-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: var(--somnia-radius-pill) !important;
  background: var(--somnia-border) !important;
  background-image: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  position: relative !important;
}

html.somnia-theme input[type="checkbox"].somnia-switch::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--somnia-surface);
  transition: transform var(--somnia-duration) var(--somnia-ease);
}

html.somnia-theme input[type="checkbox"].somnia-switch:checked {
  background: var(--somnia-brand) !important;
  border: none !important;
  background-image: none !important;
}

html.somnia-theme input[type="checkbox"].somnia-switch:checked::after {
  transform: translateX(16px);
}

html.somnia-theme input[type="checkbox"].somnia-switch:focus {
  box-shadow: 0 0 0 3px var(--somnia-brand-ring) !important;
}

html.somnia-theme .somnia-bool-label {
  font-size: 14px;
  font-weight: 500;
  color: var(--somnia-ink);
}

html.somnia-theme .detail-view-field[type="bool"] input[type="checkbox"]:not(.somnia-switch) {
  display: none;
}

/* ==========================================================================
   6. Moeda
   ========================================================================== */

html.somnia-theme .somnia-currency {
  display: flex;
  align-items: stretch;
  width: 100%;
  min-height: 38px;
  background: var(--somnia-surface);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-md);
  overflow: hidden;
}

html.somnia-theme .somnia-currency-prefix {
  display: flex;
  align-items: center;
  padding: 0 10px;
  background: var(--somnia-canvas-2);
  color: var(--somnia-muted);
  font-size: 13.5px;
  font-weight: 650;
  border-right: 1px solid var(--somnia-border);
}

html.somnia-theme .somnia-currency > input {
  flex: 1 1 auto;
  width: auto !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  font-variant-numeric: tabular-nums;
}

html.somnia-theme .somnia-currency:focus-within {
  border-color: var(--somnia-brand);
  box-shadow: 0 0 0 3px var(--somnia-brand-ring);
}

/* ==========================================================================
   7. Morada — cartão
   ========================================================================== */

html.somnia-theme .somnia-address,
html.somnia-theme fieldset[id$="_address_fieldset"] {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-lg);
  background: var(--somnia-canvas-2);
}

html.somnia-theme .somnia-address > legend,
html.somnia-theme fieldset[id$="_address_fieldset"] > legend {
  padding: 0 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--somnia-ink-2);
}

html.somnia-theme .somnia-address-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
}

html.somnia-theme .somnia-address-grid .somnia-address-street {
  grid-column: 1 / -1;
}

html.somnia-theme .somnia-address-grid .somnia-address-copy {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 38px;
}

html.somnia-theme .somnia-address-grid label,
html.somnia-theme .somnia-address-cell > span {
  display: block;
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 650;
  color: var(--somnia-muted);
}

html.somnia-theme .somnia-address-grid textarea {
  min-height: 64px !important;
}

html.somnia-theme .somnia-address-grid table,
html.somnia-theme fieldset[id$="_address_fieldset"] > table.edit {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
  width: 100%;
}

html.somnia-theme fieldset[id$="_address_fieldset"] > table.edit tbody,
html.somnia-theme fieldset[id$="_address_fieldset"] > table.edit tr {
  display: contents;
}

html.somnia-theme fieldset[id$="_address_fieldset"] > table.edit td {
  display: block;
  width: auto !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

html.somnia-theme .detail-view-field .somnia-address,
html.somnia-theme .detail-view-field[type="address"] .somnia-address {
  background: transparent;
  border: none;
  padding: 0;
}

html.somnia-theme .somnia-address-read {
  display: grid;
  gap: 2px;
  font-size: 14px;
  line-height: 1.45;
}

html.somnia-theme .detail-view-field[type="address"],
html.somnia-theme .detail-view-field[type="Address"] {
  background: var(--somnia-canvas-2) !important;
  box-shadow: none !important;
}

/* ==========================================================================
   8. Ficheiro / imagem
   ========================================================================== */

html.somnia-theme .somnia-file,
html.somnia-theme .somnia-file-drop {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 0 12px;
  background: var(--somnia-surface);
  border: 1px dashed var(--somnia-border);
  border-radius: var(--somnia-radius-md);
  cursor: pointer;
  color: var(--somnia-muted);
  font-size: 13.5px;
}

html.somnia-theme .somnia-file:hover,
html.somnia-theme .somnia-file-drop:hover {
  border-color: var(--somnia-brand);
  background: var(--somnia-brand-tint);
  color: var(--somnia-brand);
}

html.somnia-theme .somnia-file::before {
  content: "Carregar ficheiro";
}

html.somnia-theme .somnia-file:has(.somnia-file-hint)::before {
  content: none;
}
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
}

html.somnia-theme .edit-view-field input[type="file"] {
  width: 100%;
  min-height: 38px;
  padding: 6px 0;
  font-family: var(--somnia-font);
  font-size: 13px;
  color: var(--somnia-body);
}

html.somnia-theme .edit-view-field input[type="file"]::file-selector-button {
  height: 32px;
  margin-right: 10px;
  padding: 0 12px;
  background: var(--somnia-canvas-2);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-md);
  color: var(--somnia-ink-2);
  font-family: var(--somnia-font);
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}

html.somnia-theme .edit-view-field #remove_button,
html.somnia-theme .edit-view-field input.button[id="remove_button"] {
  height: 34px !important;
  padding: 0 12px !important;
  background: var(--somnia-canvas-2) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  color: var(--somnia-body) !important;
}

html.somnia-theme .detail-view-field[type="image"],
html.somnia-theme .detail-view-field[type="file"],
html.somnia-theme .detail-view-field[type="Attachment"] {
  background: var(--somnia-canvas-2) !important;
  box-shadow: none !important;
}

html.somnia-theme .somnia-file-thumb {
  display: flex;
  align-items: center;
  gap: 10px;
}

html.somnia-theme .somnia-file-thumb img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: var(--somnia-radius-sm);
}

html.somnia-theme .somnia-product-image-field {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  width: 100%;
}

html.somnia-theme .somnia-product-image-current {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

html.somnia-theme .somnia-product-image-preview {
  max-width: 180px;
  max-height: 140px;
  object-fit: contain;
  border-radius: var(--somnia-radius-md);
  border: 1px solid var(--somnia-border);
  background: var(--somnia-canvas-2);
  padding: 4px;
}

html.somnia-theme .somnia-product-image-name {
  font-size: 13px;
  color: var(--somnia-ink-2);
  word-break: break-all;
}

html.somnia-theme .somnia-product-image-field #old_attachment .button,
html.somnia-theme .somnia-product-image-field input.button {
  height: 34px !important;
  padding: 0 12px !important;
}

/* Produtos: Mockup só com Tipo = Mockup. Tem de repetir o prefixo body:is()
   da grelha, senão display:block !important nas células ganha. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item.orc-hidden-by-type,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item.orc-hidden-by-type[class*="col-sm-"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item.orc-hidden-by-type[class*="col-xs-"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row.orc-hidden-by-type,
html.somnia-theme:not(.orc-product-mockup) body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="orc_mockup_html"],
html.somnia-theme:not(.orc-product-mockup) body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="orc_mockup_html"][class*="col-sm-"],
html.somnia-theme:not(.orc-product-mockup) body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="orc_mockup_html"][class*="col-xs-"],
html.somnia-theme:not(.orc-product-mockup) body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row:has(> .edit-view-row-item[data-field="orc_mockup_html"]):not(:has(> .edit-view-row-item:not([data-field="orc_mockup_html"]))),
html.somnia-theme:not(.orc-product-mockup) body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field[field="orc_mockup_html"],
html.somnia-theme:not(.orc-product-mockup) #orc_mockup_html,
html.somnia-theme:not(.orc-product-mockup) #orc_mockup_html + .tox-tinymce,
html.somnia-theme body.somnia-detailview-page:not(.orc-product-mockup) .detail-view-row-item[data-field="orc_mockup_html"],
html.somnia-theme body.somnia-detailview-page .detail-view-row-item.orc-hidden-by-type {
  display: none !important;
}

html.somnia-theme.orc-product-mockup body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="gv_main_objective_c"],
html.somnia-theme.orc-product-mockup body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="gv_target_users_c"],
html.somnia-theme.orc-product-mockup body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="gv_expected_outcome_c"],
html.somnia-theme.orc-product-mockup body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="gv_context_c"],
html.somnia-theme.orc-product-mockup body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="expected_benefits_c"],
html.somnia-theme.orc-product-mockup body.somnia-detailview-page .detail-view-row-item[data-field="gv_main_objective_c"],
html.somnia-theme.orc-product-mockup body.somnia-detailview-page .detail-view-row-item[data-field="gv_target_users_c"],
html.somnia-theme.orc-product-mockup body.somnia-detailview-page .detail-view-row-item[data-field="gv_expected_outcome_c"],
html.somnia-theme.orc-product-mockup body.somnia-detailview-page .detail-view-row-item[data-field="gv_context_c"],
html.somnia-theme.orc-product-mockup body.somnia-detailview-page .detail-view-row-item[data-field="expected_benefits_c"] {
  display: none !important;
}

html.somnia-theme .somnia-product-image-field {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  width: 100%;
}

html.somnia-theme .somnia-product-image-current {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

html.somnia-theme .somnia-product-image-preview {
  max-width: 180px;
  max-height: 140px;
  object-fit: contain;
  border-radius: var(--somnia-radius-md);
  border: 1px solid var(--somnia-border);
  background: var(--somnia-canvas-2);
  padding: 4px;
}

html.somnia-theme .somnia-product-image-name {
  font-size: 13px;
  color: var(--somnia-ink-2);
  word-break: break-all;
}

html.somnia-theme .somnia-product-image-field #old_attachment .button,
html.somnia-theme .somnia-product-image-field input.button {
  height: 34px !important;
  padding: 0 12px !important;
}

/* Produtos: Mockup só com Tipo = Mockup. Tem de repetir o prefixo body:is()
   da grelha, senão display:block !important nas células ganha. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item.orc-hidden-by-type,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item.orc-hidden-by-type[class*="col-sm-"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item.orc-hidden-by-type[class*="col-xs-"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row.orc-hidden-by-type,
html.somnia-theme:not(.orc-product-mockup) body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="orc_mockup_html"],
html.somnia-theme:not(.orc-product-mockup) body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="orc_mockup_html"][class*="col-sm-"],
html.somnia-theme:not(.orc-product-mockup) body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="orc_mockup_html"][class*="col-xs-"],
html.somnia-theme:not(.orc-product-mockup) body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row:has(> .edit-view-row-item[data-field="orc_mockup_html"]):not(:has(> .edit-view-row-item:not([data-field="orc_mockup_html"]))),
html.somnia-theme:not(.orc-product-mockup) body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field[field="orc_mockup_html"],
html.somnia-theme:not(.orc-product-mockup) #orc_mockup_html,
html.somnia-theme:not(.orc-product-mockup) #orc_mockup_html + .tox-tinymce,
html.somnia-theme body.somnia-detailview-page:not(.orc-product-mockup) .detail-view-row-item[data-field="orc_mockup_html"],
html.somnia-theme body.somnia-detailview-page .detail-view-row-item.orc-hidden-by-type {
  display: none !important;
}

html.somnia-theme.orc-product-mockup body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="gv_main_objective_c"],
html.somnia-theme.orc-product-mockup body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="gv_target_users_c"],
html.somnia-theme.orc-product-mockup body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="gv_expected_outcome_c"],
html.somnia-theme.orc-product-mockup body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="gv_context_c"],
html.somnia-theme.orc-product-mockup body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="expected_benefits_c"],
html.somnia-theme.orc-product-mockup body.somnia-detailview-page .detail-view-row-item[data-field="gv_main_objective_c"],
html.somnia-theme.orc-product-mockup body.somnia-detailview-page .detail-view-row-item[data-field="gv_target_users_c"],
html.somnia-theme.orc-product-mockup body.somnia-detailview-page .detail-view-row-item[data-field="gv_expected_outcome_c"],
html.somnia-theme.orc-product-mockup body.somnia-detailview-page .detail-view-row-item[data-field="gv_context_c"],
html.somnia-theme.orc-product-mockup body.somnia-detailview-page .detail-view-row-item[data-field="expected_benefits_c"] {
  display: none !important;
}

/* ==========================================================================
   9. TinyMCE / wysiwyg
   ========================================================================== */

html.somnia-theme .wysiwyg,
html.somnia-theme .mce-tinymce,
html.somnia-theme .mce-panel {
  border-radius: var(--somnia-radius-md) !important;
  overflow: hidden;
}

html.somnia-theme .mce-tinymce,
html.somnia-theme .mce-panel.mce-first {
  border: 1px solid var(--somnia-border) !important;
  box-shadow: none !important;
}

html.somnia-theme .mce-top-part::before,
html.somnia-theme .mce-stack-layout-item {
  border: none !important;
  box-shadow: none !important;
}

html.somnia-theme .mce-toolbar,
html.somnia-theme .mce-container-body .mce-toolbar-grp,
html.somnia-theme .mce-panel {
  background: var(--somnia-canvas-2) !important;
  border-color: var(--somnia-border) !important;
}

html.somnia-theme .mce-btn,
html.somnia-theme .mce-btn button {
  background: transparent !important;
  border: none !important;
  color: var(--somnia-body) !important;
  box-shadow: none !important;
}

html.somnia-theme .mce-btn:hover,
html.somnia-theme .mce-btn.mce-active {
  background: var(--somnia-brand-tint) !important;
}

html.somnia-theme .mce-ico {
  color: var(--somnia-ink-2) !important;
}

html.somnia-theme .mce-edit-area,
html.somnia-theme .mce-edit-area iframe {
  background: var(--somnia-surface) !important;
}

html.somnia-theme .somnia-wysiwyg-html {
  max-height: 9.3em;
  overflow: hidden;
  font-size: 14px;
  line-height: 1.55;
}

html.somnia-theme .somnia-wysiwyg-html.is-open {
  max-height: none;
  overflow: visible;
}

html.somnia-theme .somnia-wysiwyg-more {
  display: none;
  margin-top: 8px;
  padding: 0;
  border: none;
  background: none;
  color: var(--somnia-brand);
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}

html.somnia-theme .somnia-wysiwyg-more.is-needed {
  display: inline;
}

html.somnia-theme .detail-view-field[type="wysiwyg"] iframe {
  width: 100%;
  min-height: 160px;
  border: none;
  border-radius: var(--somnia-radius-sm);
}

/* ==========================================================================
   10. Rádio em grupo; telefone
   ========================================================================== */

html.somnia-theme .edit-view-field[type="radioenum"],
html.somnia-theme .somnia-radios {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  min-height: 38px;
}

html.somnia-theme .edit-view-field input.phone {
  font-variant-numeric: tabular-nums;
}

/* Tratamento (Sr., Eng., …) + nome próprio na mesma linha */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field:has(> #salutation),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="first_name"] .edit-view-field:has(#salutation) {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 8px;
  width: 100%;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field:has(> #salutation) > #salutation,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="first_name"] #salutation {
  flex: 0 0 118px !important;
  width: 118px !important;
  min-width: 118px !important;
  max-width: 118px !important;
  padding-left: 10px !important;
  padding-right: 28px !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-field:has(> #salutation) > #first_name,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="first_name"] #first_name {
  flex: 1 1 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

html.somnia-theme .detail-view-field {
  border-radius: var(--somnia-radius-md) !important;
}

/* Ganha ao padding:0 do Bootstrap .col-sm-8 no mesmo elemento que .detail-view-field */
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item > .col-sm-8.detail-view-field,
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item > [class*="col-"].detail-view-field,
html.somnia-theme body.somnia-detailview-page .detail-view-field[class*="col-"] {
  padding-left: 16px !important;
  padding-right: 16px !important;
  background: #f3f5f8 !important;
}

/* Click-to-call — botão circular premium à beira do número */
html.somnia-theme .clickToCall.somnia-click-to-call {
  display: none;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin: 0 8px 0 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--somnia-brand, #146161);
  color: #fff;
  box-shadow: 0 1px 2px rgba(20, 97, 97, 0.28);
  cursor: pointer;
  vertical-align: middle;
  appearance: none;
  -webkit-appearance: none;
  line-height: 0;
  overflow: hidden;
  position: relative;
  z-index: 3;
  pointer-events: auto;
  transition: background 0.16s var(--somnia-ease, ease), transform 0.16s var(--somnia-ease, ease), box-shadow 0.16s var(--somnia-ease, ease);
}

html.somnia-theme .clickToCall.somnia-click-to-call.somnia-ctc-on {
  display: inline-flex !important;
}

html.somnia-theme body.somnia-detailview-page .detail-view-field .clickToCall.somnia-click-to-call {
  margin: 0 !important;
}

html.somnia-theme .clickToCall.somnia-click-to-call:hover {
  background: var(--somnia-brand-hover, #105454) !important;
  transform: translateY(-1px);
  box-shadow: var(--somnia-shadow-primary, 0 4px 14px rgba(20, 97, 97, 0.28));
}

html.somnia-theme .clickToCall.somnia-click-to-call:focus-visible {
  outline: 2px solid var(--somnia-brand, #146161);
  outline-offset: 2px;
}

html.somnia-theme .clickToCall.somnia-click-to-call::after {
  content: "";
  width: 13px;
  height: 13px;
  background-color: currentColor;
  -webkit-mask: var(--somnia-ico-phone) center / contain no-repeat;
  mask: var(--somnia-ico-phone) center / contain no-repeat;
  pointer-events: none;
}

html.somnia-theme .clickToCall.somnia-click-to-call.calling,
html.somnia-theme .clickToCall.somnia-click-to-call.calling:hover {
  background: var(--somnia-brand-deep, #0c4444) !important;
  animation: somnia-ctc-pulse 1s ease-in-out infinite;
}

@keyframes somnia-ctc-pulse {
  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(20, 97, 97, 0.42);
  }
  50% {
    transform: scale(1.08);
    box-shadow: 0 0 0 6px rgba(20, 97, 97, 0);
  }
}

html.somnia-theme img.clickToCall:not(.somnia-click-to-call) {
  display: none !important;
}

html.somnia-theme body.somnia-listview-page table.list.view td:has(.clickToCall),
html.somnia-theme table.list.view td:has(.clickToCall) {
  white-space: nowrap;
}

html.somnia-theme table.list.view td .clickToCall.somnia-click-to-call {
  display: inline-flex !important;
  vertical-align: middle;
  margin: 0 8px 0 0 !important;
  float: none !important;
}

html.somnia-theme #clickToCallModal,
html.somnia-theme .somnia-ctc-toast {
  position: fixed !important;
  top: 76px !important;
  right: 0 !important;
  left: auto !important;
  background: var(--somnia-brand, #146161) !important;
  color: #fff !important;
  padding: 12px 22px !important;
  border-radius: 12px 0 0 12px !important;
  font-family: var(--somnia-font, inherit) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.35 !important;
  box-shadow: var(--somnia-shadow-pop, 0 10px 28px rgba(15, 23, 42, 0.12)) !important;
  z-index: 10050 !important;
  pointer-events: none !important;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.22s var(--somnia-ease, ease), transform 0.22s var(--somnia-ease, ease);
}

html.somnia-theme .somnia-ctc-toast.is-visible,
html.somnia-theme #clickToCallModal.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ==========================================================================
   Valor + percentagem (Taxa de envio)
   O sugar_field envolve o HTML num span#shipping_tax_amt_span — é esse o
   contentor da linha, não o .edit-view-field.
   ========================================================================== */

html.somnia-theme #shipping_tax_amt_span {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html.somnia-theme #shipping_tax_amt_span > br {
  display: none !important;
}

html.somnia-theme #shipping_tax_amt_span #shipping_tax_amt,
html.somnia-theme #shipping_tax_amt {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

html.somnia-theme #shipping_tax_amt_span #shipping_tax,
html.somnia-theme #shipping_tax {
  flex: 0 0 120px !important;
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
  box-sizing: border-box !important;
}

/* Compromissos: Banco só com Factoring = Sim.
   A grelha põe display:block !important em .edit-view-row-item[class*="col-sm-"],
   por isso a regra tem de repetir esse atributo. */
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="factoring_bank"]:not(.orc-factoring-bank-on),
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="factoring_bank"]:not(.orc-factoring-bank-on)[class*="col-sm-"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="factoring_bank"]:not(.orc-factoring-bank-on)[class*="col-xs-"],
html.somnia-theme .detail-view .detail-view-row-item[data-field="factoring_bank"]:not(.orc-factoring-bank-on),
html.somnia-theme .detail-view .detail-view-row > .col-sm-6[data-field="factoring_bank"]:not(.orc-factoring-bank-on),
html.somnia-theme td[field="factoring_bank"]:not(.orc-factoring-bank-on) {
  display: none !important;
}

html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="factoring_bank"].orc-factoring-bank-on,
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="factoring_bank"].orc-factoring-bank-on[class*="col-sm-"],
html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="factoring_bank"].orc-factoring-bank-on[class*="col-xs-"],
html.somnia-theme .detail-view .detail-view-row-item[data-field="factoring_bank"].orc-factoring-bank-on,
html.somnia-theme .detail-view .detail-view-row > .col-sm-6[data-field="factoring_bank"].orc-factoring-bank-on,
html.somnia-theme td[field="factoring_bank"].orc-factoring-bank-on {
  display: block !important;
}

/* source: custom/themes/SuiteP/css/somnia/28-reports.css */
/**
 * Somnia — módulo Relatórios (AOR_Reports) e gráficos RGraph.
 * Paleta e chrome alinhados com ListView / Home analytics.
 */

html.somnia-theme .somnia-report-charts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  gap: 16px;
  margin: 0 0 20px;
  width: 100%;
  box-sizing: border-box;
}

html.somnia-theme .somnia-report-charts--dashlet {
  margin: 0;
  gap: 12px;
}

html.somnia-theme .somnia-report-chart-host {
  background: #fff;
  border: 1px solid #eaeef4;
  border-radius: 16px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 8px 22px rgba(15, 23, 42, 0.05);
  padding: 16px 16px 10px;
  box-sizing: border-box;
  min-width: 0;
  height: 360px;
  position: relative;
}

html.somnia-theme .somnia-report-charts--dashlet .somnia-report-chart-host {
  height: 320px;
  padding: 12px 12px 8px;
  border: none;
  box-shadow: none;
  border-radius: 0;
}

html.somnia-theme .somnia-report-chart-host canvas,
html.somnia-theme canvas.somnia-report-canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 0;
}

html.somnia-theme .rgraph_chart_tooltips_css,
html.somnia-theme div.RGraph_tooltip,
html.somnia-theme .RGraph_tooltip {
  font-family: var(--somnia-font) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12) !important;
  padding: 8px 12px !important;
}

html.somnia-theme body.somnia-reports-page #content,
html.somnia-theme body[data-module="AOR_Reports"].somnia-detailview-page #content {
  background: #f8fafc !important;
}

html.somnia-theme body.somnia-reports-page #detailpanel_parameters,
html.somnia-theme #detailpanel_parameters.detail.view {
  background: #fff !important;
  border: 1px solid #eaeef4 !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
  padding: 16px 18px 18px !important;
  margin: 0 0 16px !important;
}

html.somnia-theme #detailpanel_parameters h4 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  font-family: var(--somnia-font) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  background: transparent !important;
  border: none !important;
}

html.somnia-theme #updateParametersButton {
  margin-top: 12px !important;
  background: #146161 !important;
  border: 1px solid #146161 !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  padding: 8px 16px !important;
  box-shadow: 0 4px 12px rgba(20, 97, 97, 0.22) !important;
}

html.somnia-theme #updateParametersButton:hover {
  background: #105454 !important;
  border-color: #105454 !important;
}

html.somnia-theme body.somnia-reports-page .panel.panel-default,
html.somnia-theme body[data-module="AOR_Reports"] .panel.panel-default {
  background: #fff !important;
  border: 1px solid #eaeef4 !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 8px 22px rgba(15, 23, 42, 0.05) !important;
  overflow: hidden;
  margin: 0 0 16px !important;
}

html.somnia-theme body.somnia-reports-page .panel.panel-default > .panel-heading,
html.somnia-theme body[data-module="AOR_Reports"] .panel.panel-default > .panel-heading {
  background: #fff !important;
  border-bottom: 1px solid #f1f5f9 !important;
  padding: 14px 18px !important;
}

html.somnia-theme body.somnia-reports-page .panel.panel-default > .panel-heading a,
html.somnia-theme body[data-module="AOR_Reports"] .panel.panel-default > .panel-heading a {
  font-family: var(--somnia-font) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  text-decoration: none !important;
}

html.somnia-theme body.somnia-reports-page #detailpanel_report,
html.somnia-theme body[data-module="AOR_Reports"] #detailpanel_report {
  padding: 8px 8px 16px !important;
  background: #fff !important;
}

html.somnia-theme body.somnia-reports-page #detailpanel_report table.list,
html.somnia-theme body[data-module="AOR_Reports"] #detailpanel_report table,
html.somnia-theme body.somnia-home-page .aor_report_contents table {
  border: none !important;
  border-radius: 12px !important;
}

html.somnia-theme body.somnia-reports-page #detailpanel_report th,
html.somnia-theme body[data-module="AOR_Reports"] #detailpanel_report th,
html.somnia-theme body.somnia-home-page .aor_report_contents th {
  background: #f8fafc !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-color: #f1f5f9 !important;
}

html.somnia-theme body.somnia-reports-page #detailpanel_report td,
html.somnia-theme body[data-module="AOR_Reports"] #detailpanel_report td,
html.somnia-theme body.somnia-home-page .aor_report_contents td {
  border-color: #f1f5f9 !important;
  color: #334155 !important;
  font-size: 13px !important;
}

html.somnia-theme .somnia-report-chart-host--pie {
  height: 380px;
}

html.somnia-theme .somnia-report-charts--dashlet .somnia-report-chart-host--pie {
  height: 340px;
}

html.somnia-theme .somnia-report-charts h3,
html.somnia-theme canvas.resizableCanvas + h3 {
  font-family: var(--somnia-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 0 8px !important;
}

html.somnia-theme .somnia-report-charts h3:only-child {
  padding: 24px 8px;
  text-align: center;
  color: #64748b !important;
  font-weight: 600 !important;
}

/* source: custom/themes/SuiteP/css/somnia/29-assistant.css */
/* Somnia Assistant — painel conversacional premium */
html.somnia-theme .somnia-assistant,
html.somnia-theme .somnia-assistant * {
  box-sizing: border-box;
  font-family: var(--somnia-font);
}

html.somnia-theme .somnia-assistant {
  --sa-ink: #122023;
  --sa-muted: #6f7f82;
  --sa-line: rgba(18, 72, 71, 0.1);
  --sa-teal: #146161;
  --sa-teal-deep: #083f3f;
  --sa-mint: #dff4ee;
  position: relative;
  z-index: 11980;
}

html.somnia-theme .somnia-assistant-launcher {
  position: fixed;
  right: 160px;
  bottom: 20px;
  z-index: 11982;
  display: flex;
  align-items: center;
  gap: 0;
  width: 60px;
  min-width: 60px;
  height: 60px;
  margin: 0;
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 19px;
  background:
    radial-gradient(circle at 18% 12%, rgba(118, 225, 204, 0.35), transparent 36%),
    linear-gradient(145deg, #176f6c 0%, #0d5152 52%, #083d3e 100%);
  color: #fff;
  box-shadow:
    0 18px 42px rgba(6, 59, 59, 0.28),
    0 3px 9px rgba(8, 63, 63, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
  cursor: pointer;
  overflow: visible;
  isolation: isolate;
  transition: transform 0.22s var(--somnia-ease), box-shadow 0.22s ease, padding 0.22s ease;
}

html.somnia-theme .somnia-assistant-launcher:hover,
html.somnia-theme .somnia-assistant-launcher:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 23px 52px rgba(6, 59, 59, 0.34), 0 4px 12px rgba(8, 63, 63, 0.22);
  outline: none;
}

html.somnia-theme .somnia-assistant-launcher-glow {
  position: absolute;
  inset: -5px;
  z-index: -1;
  border-radius: 23px;
  background: rgba(47, 184, 166, 0.2);
  filter: blur(10px);
  opacity: 0;
  transition: opacity 0.2s ease;
}

html.somnia-theme .somnia-assistant-launcher:hover .somnia-assistant-launcher-glow {
  opacity: 1;
}

html.somnia-theme .somnia-assistant-launcher-mark {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.23);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.13);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

html.somnia-theme .somnia-assistant-launcher-mark svg {
  width: 23px;
  height: 23px;
  fill: rgba(255, 255, 255, 0.95);
}

html.somnia-theme .somnia-assistant-launcher-copy {
  display: none;
  min-width: 74px;
  text-align: left;
  line-height: 1.05;
}

html.somnia-theme .somnia-assistant-launcher-copy strong {
  color: #fff;
  font-size: 13.5px;
  font-weight: 720;
  letter-spacing: -0.015em;
}

html.somnia-theme .somnia-assistant-launcher-copy small {
  margin-top: 4px;
  color: rgba(222, 248, 242, 0.7);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

html.somnia-theme .somnia-assistant-panel {
  position: fixed;
  right: 20px;
  bottom: 92px;
  z-index: 11984;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  width: min(448px, calc(100vw - 32px));
  height: min(720px, calc(100vh - 116px));
  min-height: 520px;
  margin: 0;
  border: 1px solid rgba(12, 68, 68, 0.13);
  border-radius: 26px;
  background: rgba(252, 254, 253, 0.98);
  box-shadow:
    0 40px 90px rgba(9, 42, 44, 0.24),
    0 12px 30px rgba(15, 23, 42, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  transform: translateY(18px) scale(0.965);
  transform-origin: bottom right;
  transition: opacity 0.22s ease, transform 0.34s var(--somnia-ease), visibility 0.22s ease;
}

html.somnia-theme .somnia-assistant[data-state="open"] .somnia-assistant-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

html.somnia-theme .somnia-assistant[data-state="open"] .somnia-assistant-launcher {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px) scale(0.92);
}

html.somnia-theme .somnia-assistant-backdrop {
  position: fixed;
  inset: 0;
  z-index: 11983;
  display: none;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(7, 27, 31, 0.45);
  backdrop-filter: blur(3px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}

html.somnia-theme .somnia-assistant-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 82px;
  padding: 16px 16px 15px 18px;
  border: 0;
  color: #fff;
  background:
    radial-gradient(circle at 14% 10%, rgba(106, 225, 197, 0.2), transparent 32%),
    radial-gradient(circle at 92% 0%, rgba(102, 191, 224, 0.13), transparent 31%),
    linear-gradient(135deg, #0f5e5c 0%, #0b4b4c 54%, #073c3e 100%);
  overflow: hidden;
}

html.somnia-theme .somnia-assistant-header::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.14;
  pointer-events: none;
  background-image: radial-gradient(rgba(255,255,255,.8) .55px, transparent .55px);
  background-size: 7px 7px;
  mask-image: linear-gradient(90deg, #000, transparent 76%);
}

html.somnia-theme .somnia-assistant-identity,
html.somnia-theme .somnia-assistant-head-actions {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
}

html.somnia-theme .somnia-assistant-identity { gap: 12px; }
html.somnia-theme .somnia-assistant-head-actions { gap: 5px; }

html.somnia-theme .somnia-assistant-mini-orb {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(255,255,255,.17), rgba(255,255,255,.07));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 8px 24px rgba(3,31,33,.22);
}

html.somnia-theme .somnia-assistant-mark {
  display: block;
  width: 70%;
  height: auto;
  aspect-ratio: 10 / 7;
  overflow: visible;
  pointer-events: none;
  user-select: none;
  fill: currentColor;
}

html.somnia-theme .somnia-assistant-mini-orb .somnia-assistant-mark {
  width: 68%;
  color: #f4fffb;
}

html.somnia-theme .somnia-assistant-title-wrap { display: grid; gap: 4px; }
html.somnia-theme .somnia-assistant-title { color: #fff; font-size: 17px; font-weight: 720; letter-spacing: -0.025em; }

html.somnia-theme .somnia-assistant-status {
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(222,248,242,.72);
  font-size: 10.5px;
  font-weight: 580;
}

html.somnia-theme .somnia-assistant-status::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #8fe3c7;
  box-shadow: 0 0 0 3px rgba(143,227,199,.12);
}

html.somnia-theme .somnia-assistant-status[data-status="loading"]::before { animation: somniaAssistantPulse 1.15s ease infinite; }
html.somnia-theme .somnia-assistant-status[data-status="listening"]::before { background: #ef776f; box-shadow: 0 0 0 3px rgba(239,119,111,.14); animation: somniaAssistantPulse .9s ease infinite; }
html.somnia-theme .somnia-assistant-status[data-status="speaking"]::before { background: #76c9bf; box-shadow: 0 0 0 3px rgba(118,201,191,.14); animation: somniaAssistantPulse 1.1s ease infinite; }
html.somnia-theme .somnia-assistant-status[data-status="error"]::before { background: #fb9b9b; box-shadow: 0 0 0 3px rgba(251,155,155,.12); }
html.somnia-theme .somnia-assistant-status[data-status="limited"]::before { background: #f5cf7d; box-shadow: 0 0 0 3px rgba(245,207,125,.12); }

html.somnia-theme .somnia-assistant-head-btn {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: rgba(230,250,245,.74);
  cursor: pointer;
  transition: color .16s ease, background .16s ease;
}

html.somnia-theme .somnia-assistant-head-btn:hover,
html.somnia-theme .somnia-assistant-head-btn:focus-visible { background: rgba(255,255,255,.11); color: #fff; outline: none; }
html.somnia-theme .somnia-assistant-head-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
html.somnia-theme .somnia-assistant-wake-toggle.is-active { background: rgba(130,235,205,.16); color: #dffff6; box-shadow: inset 0 0 0 1px rgba(177,244,226,.12); }
html.somnia-theme .somnia-assistant-wake-toggle.is-loading { animation: somniaAssistantPulse 1s ease infinite; }

html.somnia-theme .somnia-assistant-messages {
  min-height: 0;
  padding: 22px 19px 16px;
  background:
    radial-gradient(circle at 95% 8%, rgba(21, 129, 122, .045), transparent 25%),
    linear-gradient(#fbfdfc, #f8fbfa);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(20,97,97,.2) transparent;
}

html.somnia-theme .somnia-assistant-welcome {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 17px 3px 4px;
  text-align: center;
}

html.somnia-theme .somnia-assistant-orb {
  position: relative;
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  margin: 0 0 20px;
  border-radius: 27px;
  background: conic-gradient(from 210deg, #0d5555, #229f91, #8ad9bd, #3c88a0, #0d5555);
  box-shadow: 0 18px 38px rgba(16,96,91,.22), 0 4px 12px rgba(15,23,42,.08);
  animation: somniaAssistantFloat 5s ease-in-out infinite;
}

html.somnia-theme .somnia-assistant-orb::before {
  content: "";
  position: absolute;
  inset: 2px;
  border-radius: 25px;
  background:
    radial-gradient(circle at 32% 22%, rgba(255,255,255,.3), transparent 30%),
    linear-gradient(145deg, rgba(9,76,75,.9), rgba(8,55,60,.96));
}

html.somnia-theme .somnia-assistant-orb-core { position: relative; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 18px; background: rgba(255,255,255,.1); backdrop-filter: blur(8px); }
html.somnia-theme .somnia-assistant-orb-core .somnia-assistant-mark { width: 68%; }
html.somnia-theme .somnia-assistant-welcome h2 { margin: 0; color: var(--sa-ink); font-size: 22px; font-weight: 720; letter-spacing: -0.035em; }
html.somnia-theme .somnia-assistant-welcome > p { max-width: 330px; margin: 9px auto 22px; color: var(--sa-muted); font-size: 13px; line-height: 1.62; }

html.somnia-theme .somnia-assistant-suggestions { display: grid; width: 100%; gap: 8px; }
html.somnia-theme .somnia-assistant-suggestion {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-rows: auto auto;
  gap: 3px 12px;
  width: 100%;
  min-height: 59px;
  margin: 0;
  padding: 11px 13px 10px 15px;
  border: 1px solid rgba(13,79,78,.1);
  border-radius: 15px;
  background: rgba(255,255,255,.86);
  color: var(--sa-ink);
  box-shadow: 0 3px 12px rgba(15,23,42,.035), inset 0 1px 0 #fff;
  cursor: pointer;
  text-align: left;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
html.somnia-theme .somnia-assistant-suggestion:hover { transform: translateY(-1px); border-color: rgba(20,97,97,.24); box-shadow: 0 8px 20px rgba(15,64,64,.07); }
html.somnia-theme .somnia-assistant-suggestion span { align-self: end; font-size: 12.5px; font-weight: 680; }
html.somnia-theme .somnia-assistant-suggestion small { color: #879598; font-size: 10.5px; font-weight: 500; }
html.somnia-theme .somnia-assistant-suggestion i { grid-column: 2; grid-row: 1 / 3; align-self: center; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: #edf6f3; color: #347a76; }
html.somnia-theme .somnia-assistant-suggestion svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

html.somnia-theme .somnia-assistant-message { display: flex; align-items: flex-start; gap: 9px; margin: 0 0 16px; animation: somniaAssistantMessageIn .28s var(--somnia-ease) both; }
html.somnia-theme .somnia-assistant-message.is-user { flex-direction: row-reverse; }
html.somnia-theme .somnia-assistant-message-avatar { display: grid; place-items: center; flex: 0 0 27px; width: 27px; height: 27px; margin-top: 2px; border-radius: 9px; background: #e7f3ef; color: #1b706a; font-size: 8px; font-weight: 800; }
html.somnia-theme .somnia-assistant-message-avatar .somnia-assistant-mark { width: 78%; }
html.somnia-theme .somnia-assistant-message.is-user .somnia-assistant-message-avatar { background: #d8e9e5; color: #255b59; }
html.somnia-theme .somnia-assistant-message-content { display: grid; gap: 8px; max-width: calc(100% - 42px); }
html.somnia-theme .somnia-assistant-bubble { max-width: 345px; padding: 11px 13px; border: 1px solid rgba(16,74,73,.08); border-radius: 6px 16px 16px 16px; background: #fff; color: #26383b; box-shadow: 0 3px 12px rgba(15,23,42,.045); font-size: 12.6px; line-height: 1.58; white-space: pre-wrap; word-break: break-word; }
html.somnia-theme .somnia-assistant-message.is-user .somnia-assistant-bubble { border: 0; border-radius: 16px 6px 16px 16px; background: linear-gradient(145deg,#176b68,#105653); color: #fff; box-shadow: 0 7px 18px rgba(16,86,83,.15); }
html.somnia-theme .somnia-assistant-message.is-error .somnia-assistant-bubble { border-color: rgba(190,54,54,.13); background: #fff8f8; color: #8f3232; }

html.somnia-theme .somnia-assistant-artifacts { display: grid; gap: 6px; }
html.somnia-theme .somnia-assistant-record-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; width: 100%; margin: 0; padding: 9px 10px; border: 1px solid rgba(15,80,78,.1); border-radius: 13px; background: #fff; color: var(--sa-ink); text-align: left; cursor: pointer; }
html.somnia-theme .somnia-assistant-record-card:hover { border-color: rgba(20,97,97,.25); background: #fbfefd; }
html.somnia-theme .somnia-assistant-record-icon { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; background: #e9f5f1; color: #26756f; }
html.somnia-theme .somnia-assistant-record-icon .somnia-assistant-mark { width: 72%; }
html.somnia-theme .somnia-assistant-record-copy { display: grid; gap: 2px; min-width: 0; }
html.somnia-theme .somnia-assistant-record-copy strong { overflow: hidden; color: #223437; font-size: 11.5px; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
html.somnia-theme .somnia-assistant-record-copy small { color: #859396; font-size: 9.5px; }
html.somnia-theme .somnia-assistant-record-card > i { color: #668083; }
html.somnia-theme .somnia-assistant-record-card > i svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; }

html.somnia-theme .somnia-assistant-thinking { display: flex; align-items: center; gap: 4px; min-height: 35px; padding: 5px 25px 10px; background: #f8fbfa; color: #809093; }
html.somnia-theme .somnia-assistant-thinking[hidden] { display: none; }
html.somnia-theme .somnia-assistant-thinking span { width: 5px; height: 5px; border-radius: 50%; background: #2e817b; animation: somniaAssistantTyping 1s ease-in-out infinite; }
html.somnia-theme .somnia-assistant-thinking span:nth-child(2) { animation-delay: .13s; }
html.somnia-theme .somnia-assistant-thinking span:nth-child(3) { animation-delay: .26s; }
html.somnia-theme .somnia-assistant-thinking em { margin-left: 5px; font-size: 10px; font-style: normal; font-weight: 570; }

html.somnia-theme .somnia-assistant-confirmation { margin: 2px 0 18px 36px; padding: 14px; border: 1px solid rgba(18,96,91,.15); border-radius: 17px; background: linear-gradient(145deg,#fff,#f8fcfa); box-shadow: 0 10px 25px rgba(15,70,68,.08); animation: somniaAssistantMessageIn .3s var(--somnia-ease) both; }
html.somnia-theme .somnia-assistant-confirm-head { display: flex; align-items: center; gap: 10px; padding-bottom: 11px; border-bottom: 1px solid #eaf0ee; }
html.somnia-theme .somnia-assistant-confirm-head > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: #e5f3ee; color: #1e746d; }
html.somnia-theme .somnia-assistant-confirm-head svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
html.somnia-theme .somnia-assistant-confirm-head > div { display: grid; gap: 3px; min-width: 0; }
html.somnia-theme .somnia-assistant-confirm-head small { color: #6f9691; font-size: 8.5px; font-weight: 760; letter-spacing: .095em; }
html.somnia-theme .somnia-assistant-confirm-head strong { overflow: hidden; color: #213b3d; font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
html.somnia-theme .somnia-assistant-confirm-record { margin: 11px 0 0; color: #40575a; font-size: 11px; font-weight: 650; }
html.somnia-theme .somnia-assistant-changes { display: grid; grid-template-columns: minmax(80px,.72fr) minmax(0,1.4fr); gap: 7px 12px; margin: 11px 0 0; padding: 10px; border-radius: 11px; background: #f2f7f5; }
html.somnia-theme .somnia-assistant-changes dt,
html.somnia-theme .somnia-assistant-changes dd { min-width: 0; margin: 0; font-size: 10px; line-height: 1.4; }
html.somnia-theme .somnia-assistant-changes dt { color: #7b8d8f; font-weight: 580; }
html.somnia-theme .somnia-assistant-changes dd { overflow-wrap: anywhere; color: #31484a; font-weight: 650; }
html.somnia-theme .somnia-assistant-confirm-actions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 12px; }
html.somnia-theme .somnia-assistant-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 35px; margin: 0; padding: 0 14px; border-radius: 11px; font-size: 10.5px; font-weight: 680; cursor: pointer; }
html.somnia-theme .somnia-assistant-btn.is-secondary { border: 1px solid #dce5e3; background: #fff; color: #586d70; }
html.somnia-theme .somnia-assistant-btn.is-primary { border: 1px solid #115a57; background: linear-gradient(145deg,#176d68,#0e5351); color: #fff; box-shadow: 0 5px 13px rgba(16,86,82,.18); }
html.somnia-theme .somnia-assistant-btn svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
html.somnia-theme .somnia-assistant-confirmation.is-complete { opacity: .6; pointer-events: none; }
html.somnia-theme .somnia-assistant-confirmation.is-complete .somnia-assistant-confirm-actions,
html.somnia-theme .somnia-assistant-confirmation.is-cancelled .somnia-assistant-confirm-actions { display: none; }

html.somnia-theme .somnia-assistant-composer-wrap { padding: 10px 14px 12px; border-top: 1px solid rgba(13,72,71,.08); background: rgba(255,255,255,.96); }
html.somnia-theme .somnia-assistant-composer { padding: 9px 9px 7px 12px; border: 1px solid rgba(12,79,77,.15); border-radius: 17px; background: #fff; box-shadow: 0 5px 18px rgba(15,66,64,.055), inset 0 1px 0 #fff; transition: border-color .18s ease, box-shadow .18s ease; }
html.somnia-theme .somnia-assistant-composer:focus-within { border-color: rgba(20,97,97,.38); box-shadow: 0 0 0 3px rgba(20,97,97,.08), 0 8px 20px rgba(15,66,64,.07); }
html.somnia-theme .somnia-assistant-input { display: block; width: 100%; min-height: 28px; max-height: 132px; margin: 0; padding: 3px 4px 5px 0; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: #25383a; font-size: 12.5px; line-height: 1.5; resize: none; outline: none !important; }
html.somnia-theme body #somnia-assistant textarea.somnia-assistant-input:focus,
html.somnia-theme body #somnia-assistant textarea.somnia-assistant-input:focus-visible {
  border: 0 !important;
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}
html.somnia-theme .somnia-assistant-input::placeholder { color: #99a6a8; }
html.somnia-theme .somnia-assistant-composer-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
html.somnia-theme .somnia-assistant-privacy { display: flex; align-items: center; gap: 5px; color: #8b999b; font-size: 8.5px; font-weight: 540; }
html.somnia-theme .somnia-assistant-privacy svg { width: 12px; height: 12px; fill: none; stroke: #5f8984; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
html.somnia-theme .somnia-assistant-input-buttons { display: flex; align-items: center; gap: 5px; }
html.somnia-theme .somnia-assistant-input-btn { display: grid; place-items: center; width: 34px; height: 34px; margin: 0; padding: 0; border-radius: 11px; cursor: pointer; transition: transform .15s ease, opacity .15s ease, background .15s ease; }
html.somnia-theme .somnia-assistant-input-btn:hover:not(:disabled) { transform: translateY(-1px); }
html.somnia-theme .somnia-assistant-input-btn:disabled { opacity: .38; cursor: not-allowed; }
html.somnia-theme .somnia-assistant-input-btn svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
html.somnia-theme .somnia-assistant-mic { border: 1px solid #e1e9e7; background: #f8fbfa; color: #547174; }
html.somnia-theme .somnia-assistant-send { border: 1px solid #115d59; background: linear-gradient(145deg,#17716c,#105553); color: #fff; box-shadow: 0 4px 10px rgba(16,88,84,.18); }
html.somnia-theme .somnia-assistant-disclaimer { margin-top: 7px; color: #9aa5a7; font-size: 8.5px; line-height: 1.35; text-align: center; }

html.somnia-theme .somnia-assistant-voice { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 63px; padding: 9px 10px; border: 1px solid rgba(20,97,97,.14); border-radius: 17px; background: linear-gradient(145deg,#f2faf7,#eaf6f2); box-shadow: inset 0 1px 0 #fff; }
html.somnia-theme .somnia-assistant-voice[hidden] { display: none; }
html.somnia-theme .somnia-assistant-composer-wrap.is-recording .somnia-assistant-composer,
html.somnia-theme .somnia-assistant-composer-wrap.is-recording .somnia-assistant-disclaimer { display: none; }
html.somnia-theme .somnia-assistant-voice-visual { display: flex; align-items: center; gap: 7px; }
html.somnia-theme .somnia-assistant-record-dot { width: 8px; height: 8px; border-radius: 50%; background: #de5a5a; box-shadow: 0 0 0 4px rgba(222,90,90,.1); animation: somniaAssistantPulse 1.15s ease infinite; }
html.somnia-theme .somnia-assistant-wave { display: flex; align-items: center; gap: 2px; height: 25px; }
html.somnia-theme .somnia-assistant-wave i { display: block; width: 2px; height: 7px; border-radius: 2px; background: #438982; animation: somniaAssistantWave .8s ease-in-out infinite alternate; }
html.somnia-theme .somnia-assistant-wave i:nth-child(3n) { animation-delay: -.35s; }
html.somnia-theme .somnia-assistant-wave i:nth-child(4n) { animation-delay: -.55s; }
html.somnia-theme .somnia-assistant-wave i:nth-child(5n) { animation-delay: -.18s; }
html.somnia-theme .somnia-assistant-voice-copy { display: grid; gap: 3px; }
html.somnia-theme .somnia-assistant-voice-copy strong { color: #2f5251; font-size: 11px; font-weight: 680; }
html.somnia-theme .somnia-assistant-voice-copy span { color: #76908e; font-size: 9.5px; font-variant-numeric: tabular-nums; }
html.somnia-theme .somnia-assistant-voice-copy small { color: #78918f; font-size: 8.5px; line-height: 1.25; }
html.somnia-theme .somnia-assistant-voice-copy .somnia-assistant-voice-live { display: block; max-width: 190px; overflow: hidden; color: #166b66; font-size: 10px; font-weight: 610; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
html.somnia-theme .somnia-assistant-voice-copy .somnia-assistant-voice-live:empty { display: none; }
html.somnia-theme .somnia-assistant-voice-controls { display: flex; align-items: center; gap: 6px; }
html.somnia-theme .somnia-assistant-voice-cancel { height: 31px; margin: 0; padding: 0 9px; border: 0; background: transparent; color: #728684; font-size: 9px; font-weight: 620; cursor: pointer; }
html.somnia-theme .somnia-assistant-voice-stop { display: grid; place-items: center; width: 34px; height: 34px; margin: 0; padding: 0; border: 1px solid rgba(193,64,64,.15); border-radius: 11px; background: #fff; color: #c94747; box-shadow: 0 3px 9px rgba(140,43,43,.08); cursor: pointer; }
html.somnia-theme .somnia-assistant-voice-stop svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }

html.somnia-theme .somnia-assistant-notice { margin: 8px 0; padding: 9px 11px; border-radius: 11px; background: #edf6f3; color: #34635f; font-size: 10.5px; line-height: 1.45; transition: opacity .2s ease, transform .2s ease; }
html.somnia-theme .somnia-assistant-notice.is-error { background: #fff1f1; color: #963e3e; }
html.somnia-theme .somnia-assistant-notice.is-leaving { opacity: 0; transform: translateY(-4px); }

html.somnia-theme .somnia-assistant-wake-orb {
  position: fixed;
  left: 50%;
  bottom: 20px;
  z-index: 11985;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 148px;
  height: 48px;
  margin: 0;
  padding: 6px 13px 6px 7px;
  border: 1px solid rgba(181,238,225,.32);
  border-radius: 18px;
  background: linear-gradient(145deg,rgba(9,75,76,.96),rgba(6,49,55,.98));
  color: #fff;
  box-shadow: 0 14px 34px rgba(5,44,48,.24), inset 0 1px 0 rgba(255,255,255,.16);
  cursor: pointer;
  transform: translateX(-50%);
  transform-origin: center bottom;
  transition: width .3s var(--somnia-ease), height .3s var(--somnia-ease), border-radius .3s ease, opacity .2s ease, transform .3s var(--somnia-ease);
}
html.somnia-theme .somnia-assistant-wake-orb[hidden] { display: none; }
html.somnia-theme .somnia-assistant[data-state="open"] .somnia-assistant-wake-orb { opacity: 0; pointer-events: none; transform: translateX(-50%) translateY(8px) scale(.94); }
html.somnia-theme .somnia-assistant-wake-rings { position: relative; display: grid; place-items: center; flex: 0 0 35px; width: 35px; height: 35px; }
html.somnia-theme .somnia-assistant-wake-rings > i { position: absolute; inset: 3px; border: 1px solid rgba(117,224,202,.24); border-radius: 50%; opacity: 0; }
html.somnia-theme .somnia-assistant-wake-rings > b { position: relative; z-index: 2; display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: radial-gradient(circle at 34% 22%,rgba(132,236,208,.35),transparent 38%),linear-gradient(145deg,#14726e,#0a454b); box-shadow: inset 0 1px 0 rgba(255,255,255,.16); }
html.somnia-theme .somnia-assistant-wake-rings .somnia-assistant-mark { width: 68%; color: #f4fffb; }
html.somnia-theme .somnia-assistant-wake-copy { display: grid; min-width: 0; gap: 2px; text-align: left; }
html.somnia-theme .somnia-assistant-wake-copy strong { overflow: hidden; color: #f2fffb; font-size: 10.5px; font-weight: 690; text-overflow: ellipsis; white-space: nowrap; }
html.somnia-theme .somnia-assistant-wake-copy small { overflow: hidden; color: rgba(215,246,238,.66); font-size: 8.5px; font-weight: 560; text-overflow: ellipsis; white-space: nowrap; }
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="listening"],
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="thinking"],
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="speaking"] { width: 232px; height: 76px; padding: 8px 18px 8px 10px; border-radius: 26px; background: radial-gradient(circle at 20% 20%,rgba(80,210,188,.26),transparent 34%),linear-gradient(145deg,#0d6865,#083e48 68%,#182c4f); box-shadow: 0 22px 55px rgba(5,44,48,.32),0 0 0 1px rgba(122,224,205,.08),inset 0 1px 0 rgba(255,255,255,.18); }
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="listening"] .somnia-assistant-wake-rings,
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="thinking"] .somnia-assistant-wake-rings,
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="speaking"] .somnia-assistant-wake-rings { flex-basis: 56px; width: 56px; height: 56px; }
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="listening"] .somnia-assistant-wake-rings > b,
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="thinking"] .somnia-assistant-wake-rings > b,
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="speaking"] .somnia-assistant-wake-rings > b { width: 48px; height: 48px; border-radius: 17px; }
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="listening"] .somnia-assistant-wake-rings > i { opacity: 1; animation: somniaAssistantWakeRing 1.8s ease-out infinite; }
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="listening"] .somnia-assistant-wake-rings > i:nth-child(2) { animation-delay: .55s; }
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="listening"] .somnia-assistant-wake-rings > i:nth-child(3) { animation-delay: 1.1s; }
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="thinking"] .somnia-assistant-wake-rings > b { animation: somniaAssistantWakeThink 1.35s ease-in-out infinite; }
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="speaking"] .somnia-assistant-wake-rings > b { animation: somniaAssistantWakeSpeak .72s ease-in-out infinite alternate; }
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="listening"] .somnia-assistant-wake-copy strong,
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="thinking"] .somnia-assistant-wake-copy strong,
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="speaking"] .somnia-assistant-wake-copy strong { font-size: 13px; }
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="listening"] .somnia-assistant-wake-copy small,
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="thinking"] .somnia-assistant-wake-copy small,
html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="speaking"] .somnia-assistant-wake-copy small { font-size: 9.5px; }
html.somnia-theme .somnia-assistant.is-wake-enabled .somnia-assistant-launcher::after { content: ""; position: absolute; top: 4px; right: 4px; width: 8px; height: 8px; border: 2px solid #0b5352; border-radius: 50%; background: #8ce2c7; box-shadow: 0 0 0 3px rgba(140,226,199,.15); }

/* Dock inferior: Somnia · Assistente Live · Telefone */
html.somnia-theme body #floating_livecoach_widget,
html.somnia-theme body #floating_phone_widget {
  bottom: 20px !important;
  margin: 0 !important;
}

html.somnia-theme body #floating_livecoach_widget { right: 90px !important; }
html.somnia-theme body #floating_phone_widget { right: 20px !important; }

html.somnia-theme body #floating_livecoach_icon,
html.somnia-theme body #floating_phone_icon {
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  width: 60px !important;
  min-width: 60px !important;
  height: 60px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 28px rgba(15,51,61,.2), 0 3px 8px rgba(15,51,61,.14), inset 0 1px 0 rgba(255,255,255,.14) !important;
  font-family: var(--somnia-font) !important;
  transition: transform .2s var(--somnia-ease), box-shadow .2s ease, background-color .2s ease !important;
}

html.somnia-theme body #floating_livecoach_icon {
  background-color: #1f4e5f;
  background-image: linear-gradient(145deg,rgba(255,255,255,.08),rgba(0,0,0,.14)) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  letter-spacing: -.01em !important;
}

html.somnia-theme body #floating_phone_icon {
  background-color: #008c8c;
  background-image: linear-gradient(145deg,rgba(255,255,255,.1),rgba(0,0,0,.1)) !important;
}

html.somnia-theme body #floating_livecoach_icon:hover,
html.somnia-theme body #floating_livecoach_icon:focus-visible,
html.somnia-theme body #floating_phone_icon:hover,
html.somnia-theme body #floating_phone_icon:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 17px 34px rgba(15,51,61,.25), 0 4px 10px rgba(15,51,61,.16), inset 0 1px 0 rgba(255,255,255,.18) !important;
  outline: none !important;
}

html.somnia-theme body #floating_phone_icon img {
  width: 28px !important;
  height: 28px !important;
}

html.somnia-theme body #livecoach_dot {
  bottom: 4px !important;
  left: 4px !important;
  width: 12px !important;
  height: 12px !important;
  box-sizing: border-box !important;
}

html.somnia-theme body #livecoach_badge {
  top: -5px !important;
  right: -5px !important;
  box-shadow: 0 3px 9px rgba(149,35,50,.24) !important;
}

html.somnia-theme body #livecoach_panel,
html.somnia-theme body #phone_panel { bottom: 72px !important; }

@keyframes somniaAssistantFloat { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-6px) rotate(1deg); } }
@keyframes somniaAssistantPulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .55; transform: scale(.82); } }
@keyframes somniaAssistantTyping { 0%,100% { transform: translateY(0); opacity: .35; } 50% { transform: translateY(-3px); opacity: 1; } }
@keyframes somniaAssistantWave { from { height: 5px; opacity: .55; } to { height: 23px; opacity: 1; } }
@keyframes somniaAssistantMessageIn { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@keyframes somniaAssistantWakeRing { 0% { opacity: .52; transform: scale(.72); } 75%,100% { opacity: 0; transform: scale(1.55); } }
@keyframes somniaAssistantWakeThink { 0%,100% { transform: rotate(-4deg) scale(.96); } 50% { transform: rotate(5deg) scale(1.04); } }
@keyframes somniaAssistantWakeSpeak { from { transform: scale(.94); filter: saturate(.9); } to { transform: scale(1.05); filter: saturate(1.3); } }

@media (max-width: 767px) {
  html.somnia-theme body.somnia-assistant-open { overflow: hidden !important; }
  html.somnia-theme .somnia-assistant-backdrop { display: block; }
  html.somnia-theme .somnia-assistant[data-state="open"] .somnia-assistant-backdrop { opacity: 1; pointer-events: auto; }
  html.somnia-theme .somnia-assistant-panel { right: 8px; bottom: 8px; width: calc(100vw - 16px); height: calc(100dvh - 16px); min-height: 0; max-height: none; border-radius: 23px; }
  html.somnia-theme .somnia-assistant-launcher { right: 142px; bottom: 14px; width: 54px; height: 54px; min-width: 54px; padding: 5px; border-radius: 15px; }
  html.somnia-theme .somnia-assistant-launcher-mark { flex-basis: 42px; width: 42px; height: 42px; border-radius: 13px; }
  html.somnia-theme .somnia-assistant-launcher-copy { display: none; }
  html.somnia-theme body #floating_livecoach_widget { right: 78px !important; bottom: 14px !important; }
  html.somnia-theme body #floating_phone_widget { right: 14px !important; bottom: 14px !important; }
  html.somnia-theme body #floating_livecoach_icon,
  html.somnia-theme body #floating_phone_icon { width: 54px !important; min-width: 54px !important; height: 54px !important; border-radius: 15px !important; }
  html.somnia-theme body #livecoach_panel,
  html.somnia-theme body #phone_panel { bottom: 66px !important; }
  html.somnia-theme body #phone_panel { right: 0 !important; width: min(380px,calc(100vw - 28px)) !important; }
  html.somnia-theme .somnia-assistant-wake-orb { bottom: 82px; }
  html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="listening"],
  html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="thinking"],
  html.somnia-theme .somnia-assistant-wake-orb[data-wake-state="speaking"] { width: min(232px,calc(100vw - 32px)); }
  html.somnia-theme .somnia-assistant-header { min-height: 74px; padding: 13px 12px 13px 14px; }
  html.somnia-theme .somnia-assistant-messages { padding: 18px 14px 14px; }
  html.somnia-theme .somnia-assistant-confirmation { margin-left: 0; }
  html.somnia-theme .somnia-assistant-privacy span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html.somnia-theme .somnia-assistant *,
  html.somnia-theme .somnia-assistant *::before,
  html.somnia-theme .somnia-assistant *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Somnia Realtime Dock — experiência principal persistente */
html.somnia-theme .somnia-assistant-dock {
  position: fixed;
  left: 50%;
  bottom: 20px;
  z-index: 11985;
  display: grid;
  grid-template-columns: minmax(210px, .78fr) minmax(300px, 1.55fr) minmax(250px, .9fr) auto;
  align-items: center;
  gap: 18px;
  width: min(1240px, calc(100vw - 48px));
  min-height: 82px;
  margin: 0;
  padding: 9px 15px 9px 12px;
  border: 1px solid rgba(190, 236, 239, .34);
  border-radius: 25px;
  background:
    radial-gradient(circle at 47% -60%, rgba(95, 111, 238, .28), transparent 41%),
    radial-gradient(circle at 8% 0%, rgba(53, 199, 178, .2), transparent 34%),
    linear-gradient(104deg, rgba(17, 77, 84, .95), rgba(28, 55, 77, .96) 52%, rgba(34, 50, 68, .96));
  box-shadow:
    0 22px 55px rgba(5, 34, 43, .29),
    0 6px 18px rgba(11, 54, 66, .2),
    0 0 0 1px rgba(131, 222, 218, .08),
    inset 0 1px 0 rgba(255, 255, 255, .2);
  color: #f5fffd;
  isolation: isolate;
  overflow: hidden;
  transform: translateX(-50%) translateY(0) scale(1);
  transform-origin: center bottom;
  transition: opacity .24s ease, transform .34s var(--somnia-ease), visibility .24s ease, box-shadow .3s ease;
  backdrop-filter: blur(22px) saturate(145%);
  -webkit-backdrop-filter: blur(22px) saturate(145%);
}

html.somnia-theme .somnia-assistant-dock::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(90deg, rgba(61, 224, 203, .28), transparent 24%, rgba(125, 109, 255, .16) 57%, transparent 82%),
    radial-gradient(circle at 50% 110%, rgba(118, 91, 255, .23), transparent 36%);
  pointer-events: none;
}

html.somnia-theme .somnia-assistant-dock::after {
  content: "";
  position: absolute;
  right: 2%;
  bottom: 0;
  left: 2%;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, #28cab7, #59b8e7 28%, #9b62ff 54%, #45b8e7 78%, #74d7cb);
  box-shadow: 0 -2px 15px rgba(119, 97, 255, .65);
  opacity: .84;
  pointer-events: none;
}

html.somnia-theme .somnia-assistant[data-state="open"] .somnia-assistant-dock,
html.somnia-theme .somnia-assistant.is-dock-collapsed .somnia-assistant-dock {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(12px) scale(.975);
}

html.somnia-theme .somnia-assistant-launcher {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

html.somnia-theme .somnia-assistant.is-dock-collapsed:not([data-state="open"]) .somnia-assistant-launcher {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

html.somnia-theme .somnia-assistant-wake-orb { display: none !important; }

html.somnia-theme .somnia-assistant-dock-brand {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 56px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

html.somnia-theme .somnia-assistant-dock-brand:focus-visible,
html.somnia-theme .somnia-assistant-dock-orb:focus-visible,
html.somnia-theme .somnia-assistant-dock-action:focus-visible {
  outline: 2px solid rgba(140, 242, 222, .92);
  outline-offset: 3px;
}

html.somnia-theme .somnia-assistant-dock-brand-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(208, 255, 246, .28);
  border-radius: 15px;
  background:
    radial-gradient(circle at 28% 19%, rgba(171, 255, 234, .34), transparent 38%),
    linear-gradient(145deg, rgba(59, 155, 148, .74), rgba(30, 98, 106, .7));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 8px 18px rgba(2, 32, 39, .2);
}

html.somnia-theme .somnia-assistant-dock-brand-mark .somnia-assistant-mark {
  width: 68%;
  color: #f4fffb;
  filter: drop-shadow(0 2px 6px rgba(105, 238, 212, .28));
}

html.somnia-theme .somnia-assistant-dock-brand-copy,
html.somnia-theme .somnia-assistant-dock-title {
  display: flex;
  align-items: center;
  min-width: 0;
}

html.somnia-theme .somnia-assistant-dock-brand-copy { flex-direction: column; align-items: flex-start; gap: 5px; }
html.somnia-theme .somnia-assistant-dock-title { gap: 8px; width: 100%; }
html.somnia-theme .somnia-assistant-dock-title strong { overflow: hidden; color: #f8fffd; font-size: 13px; font-weight: 720; letter-spacing: -.015em; text-overflow: ellipsis; white-space: nowrap; }
html.somnia-theme .somnia-assistant-dock-title em { flex: 0 0 auto; padding: 3px 6px; border: 1px solid rgba(179, 210, 255, .18); border-radius: 7px; background: rgba(116, 137, 208, .3); color: #dce8ff; font-size: 7px; font-style: normal; font-weight: 780; letter-spacing: .08em; }

html.somnia-theme .somnia-assistant-dock-status {
  display: flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  overflow: hidden;
  color: rgba(221, 246, 242, .72);
  font-size: 9.5px;
  font-weight: 560;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.somnia-theme .somnia-assistant-dock-status::before {
  content: "";
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4ee0cb;
  box-shadow: 0 0 0 4px rgba(78, 224, 203, .1), 0 0 11px rgba(78, 224, 203, .55);
}

html.somnia-theme .somnia-assistant-dock-stage {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  height: 64px;
}

html.somnia-theme .somnia-assistant-dock-wave {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  opacity: .55;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
}

html.somnia-theme .somnia-assistant-dock-wave i {
  display: block;
  flex: 1 1 2px;
  max-width: 3px;
  min-width: 1px;
  height: 7px;
  border-radius: 99px;
  background: linear-gradient(180deg, #5fe4d1, #47a9d6 54%, #9383ff);
  box-shadow: 0 0 7px rgba(83, 202, 216, .35);
  transform: scaleY(.45);
  transform-origin: center;
  transition: opacity .25s ease;
}

html.somnia-theme .somnia-assistant-dock-wave i:nth-child(3n) { height: 15px; }
html.somnia-theme .somnia-assistant-dock-wave i:nth-child(4n) { height: 24px; }
html.somnia-theme .somnia-assistant-dock-wave i:nth-child(7n) { height: 34px; }
html.somnia-theme .somnia-assistant-dock-wave i:nth-child(11n) { height: 44px; }

html.somnia-theme .somnia-assistant-dock-orb {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(229, 236, 255, .68);
  border-radius: 50%;
  background: transparent;
  box-shadow: 0 0 0 5px rgba(104, 112, 244, .13), 0 0 30px rgba(99, 102, 241, .5), 0 8px 20px rgba(3, 28, 37, .32);
  cursor: pointer;
}

html.somnia-theme .somnia-assistant-dock-orb-halo {
  position: absolute;
  inset: -7px;
  border-radius: 50%;
  background: conic-gradient(from 20deg, rgba(85, 232, 210, .06), #55d9df, #826cff, #f070dc, #62d8d2, rgba(85, 232, 210, .06));
  filter: blur(6px);
  opacity: .74;
}

html.somnia-theme .somnia-assistant-dock-orb-core {
  position: relative;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border: 1px solid rgba(255, 255, 255, .44);
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 25%, rgba(255, 255, 255, .78), transparent 17%),
    radial-gradient(circle at 58% 58%, #f9a8ff 0, #8d7cff 28%, #3dc9ce 63%, #173f69 100%);
  box-shadow: inset 0 1px 7px rgba(255, 255, 255, .54), inset 0 -6px 14px rgba(27, 37, 97, .35);
  overflow: hidden;
  isolation: isolate;
}

html.somnia-theme .somnia-assistant-dock-orb-core::before {
  content: "";
  position: absolute;
  inset: 4px;
  z-index: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 44%, rgba(255, 255, 255, .16), transparent 64%);
  pointer-events: none;
}

html.somnia-theme .somnia-assistant-dock-orb-core::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 50%;
  z-index: 3;
  width: 18px;
  height: 8px;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, 0));
  transform: translateX(-50%);
  filter: blur(1.2px);
  pointer-events: none;
}

html.somnia-theme .somnia-assistant-dock-orb-core .somnia-assistant-mark {
  position: relative;
  z-index: 2;
  width: 70%;
  color: #fff;
  filter:
    drop-shadow(0 1px 1px rgba(8, 20, 40, .38))
    drop-shadow(0 0 7px rgba(255, 255, 255, .22));
}

html.somnia-theme .somnia-assistant-dock-transcript {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
  height: 48px;
  padding: 0 14px;
  border: 1px solid rgba(207, 234, 238, .2);
  border-radius: 14px;
  background: rgba(219, 241, 241, .075);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  color: rgba(239, 249, 249, .84);
  backdrop-filter: blur(10px);
}

html.somnia-theme .somnia-assistant-dock-quote { color: rgba(144, 225, 215, .74); font-family: Georgia, serif; font-size: 19px; line-height: 1; }
html.somnia-theme #somnia-assistant-dock-transcript-text { overflow: hidden; font-size: 10.5px; font-weight: 520; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }

html.somnia-theme .somnia-assistant-dock-actions { display: flex; align-items: center; gap: 9px; }
html.somnia-theme .somnia-assistant-dock-action {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(219, 242, 242, .32);
  border-radius: 14px;
  background: rgba(219, 241, 241, .07);
  color: rgba(239, 252, 250, .82);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
  cursor: pointer;
  transition: transform .17s ease, background .17s ease, border-color .17s ease, box-shadow .17s ease;
}
html.somnia-theme .somnia-assistant-dock-action:hover { transform: translateY(-2px); border-color: rgba(194, 244, 237, .55); background: rgba(219, 241, 241, .13); }
html.somnia-theme .somnia-assistant-dock-action[hidden] { display: none !important; }
html.somnia-theme .somnia-assistant-dock-action.is-primary { border-color: rgba(85, 232, 211, .4); background: linear-gradient(145deg, rgba(25, 173, 159, .92), rgba(15, 123, 132, .92)); color: #fff; box-shadow: 0 7px 18px rgba(9, 121, 123, .24), inset 0 1px 0 rgba(255, 255, 255, .22); }
html.somnia-theme .somnia-assistant-dock-action svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
html.somnia-theme .somnia-assistant-dock-action.is-insight {
  display: grid;
  grid-template-rows: 18px auto;
  align-content: center;
  justify-items: center;
  gap: 2px;
  flex: 0 0 48px;
  width: 48px;
  padding: 4px 2px 3px;
}
html.somnia-theme .somnia-assistant-dock-action.is-insight .somnia-assistant-insight-mark {
  display: grid;
  place-items: center;
  width: 22px;
  height: 16px;
  line-height: 0;
}
html.somnia-theme .somnia-assistant-dock-action.is-insight .somnia-assistant-mark {
  width: 20px;
  height: auto;
  fill: currentColor;
  stroke: none;
}
html.somnia-theme .somnia-assistant-insight-caption {
  font-size: 7.5px;
  font-weight: 750;
  letter-spacing: 0.02em;
  line-height: 1;
  text-transform: lowercase;
  color: rgba(239, 252, 250, .88);
}
html.somnia-theme .somnia-assistant-dock-action.is-insight[aria-pressed="true"] {
  border-color: rgba(85, 232, 211, .45);
  background: rgba(25, 173, 159, .28);
  color: #f4fffb;
}
html.somnia-theme .somnia-assistant-dock-divider { width: 1px; height: 34px; margin: 0 1px; background: rgba(222, 242, 241, .16); }

html.somnia-theme .somnia-assistant-insight-sheet {
  position: fixed;
  left: auto;
  right: max(24px, calc((100vw - min(1240px, calc(100vw - 48px))) / 2));
  bottom: 118px;
  z-index: 11980;
  display: flex;
  flex-direction: column;
  width: min(420px, calc(100vw - 36px));
  height: min(640px, calc(100vh - 148px));
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(190, 236, 239, .38);
  border-radius: 22px;
  background:
    radial-gradient(circle at 18% -40%, rgba(61, 224, 203, .22), transparent 42%),
    radial-gradient(circle at 92% 0%, rgba(125, 109, 255, .18), transparent 36%),
    linear-gradient(180deg, rgba(17, 77, 84, .98), rgba(22, 58, 76, .98) 52%, rgba(24, 42, 62, .98));
  box-shadow:
    0 28px 70px rgba(5, 24, 34, .42),
    0 8px 22px rgba(11, 54, 66, .22),
    0 0 0 1px rgba(131, 222, 218, .1),
    inset 0 1px 0 rgba(255, 255, 255, .2);
  color: #f5fffd;
  transform: none;
  backdrop-filter: blur(26px) saturate(150%);
  -webkit-backdrop-filter: blur(26px) saturate(150%);
}
html.somnia-theme .somnia-assistant-insight-sheet::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(126, 232, 216, .7), rgba(155, 140, 255, .45), transparent);
  pointer-events: none;
}
html.somnia-theme .somnia-assistant-insight-sheet[hidden] { display: none !important; }
html.somnia-theme .somnia-assistant-insight-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  height: 48px;
  padding: 0 12px 0 14px;
  border-bottom: 1px solid rgba(222, 242, 241, .14);
  background: linear-gradient(180deg, rgba(255, 255, 255, .05), transparent);
  flex-shrink: 0;
}
html.somnia-theme .somnia-assistant-insight-title {
  font-size: 13px;
  font-weight: 720;
  letter-spacing: -0.03em;
}
html.somnia-theme .somnia-assistant-insight-bar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
html.somnia-theme .somnia-assistant-insight-open {
  color: #7ee8d8;
  font-size: 11px;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}
html.somnia-theme .somnia-assistant-insight-open:hover { text-decoration: underline; color: #f5fffd; }
html.somnia-theme .somnia-assistant-insight-close {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(219, 242, 242, .28);
  border-radius: 10px;
  background: rgba(219, 241, 241, .07);
  color: rgba(239, 252, 250, .82);
  cursor: pointer;
}
html.somnia-theme .somnia-assistant-insight-close svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
html.somnia-theme .somnia-assistant-insight-frame {
  flex: 1;
  width: 100%;
  min-height: 0;
  border: 0;
  background: #133c4c;
}

html.somnia-theme .somnia-assistant[data-voice-state="listening"] .somnia-assistant-dock,
html.somnia-theme .somnia-assistant[data-voice-state="speaking"] .somnia-assistant-dock { box-shadow: 0 24px 65px rgba(5, 34, 43, .34), 0 0 34px rgba(50, 195, 185, .14), inset 0 1px 0 rgba(255, 255, 255, .22); }
html.somnia-theme .somnia-assistant[data-voice-state="listening"] .somnia-assistant-dock-status::before { background: #62ead3; animation: somniaAssistantDockDot .9s ease infinite; }
html.somnia-theme .somnia-assistant[data-voice-state="speaking"] .somnia-assistant-dock-status::before { background: #a88cff; animation: somniaAssistantDockDot .72s ease infinite; }
html.somnia-theme .somnia-assistant[data-voice-state="thinking"] .somnia-assistant-dock-status::before { background: #80b6ff; animation: somniaAssistantDockDot 1.15s ease infinite; }
html.somnia-theme .somnia-assistant[data-voice-state="confirming"] .somnia-assistant-dock-status::before { background: #ffd27c; box-shadow: 0 0 0 4px rgba(255, 210, 124, .1), 0 0 12px rgba(255, 210, 124, .56); }
html.somnia-theme .somnia-assistant[data-voice-state="error"] .somnia-assistant-dock-status::before { background: #ff8f91; box-shadow: 0 0 0 4px rgba(255, 143, 145, .1); }

html.somnia-theme .somnia-assistant[data-voice-state="listening"] .somnia-assistant-dock-wave,
html.somnia-theme .somnia-assistant[data-voice-state="speaking"] .somnia-assistant-dock-wave,
html.somnia-theme .somnia-assistant[data-voice-state="thinking"] .somnia-assistant-dock-wave { opacity: .94; }
html.somnia-theme .somnia-assistant[data-voice-state="listening"] .somnia-assistant-dock-wave i { animation: somniaAssistantDockWave .72s ease-in-out infinite alternate; animation-delay: calc(var(--sa-wave-index) * -31ms); }
html.somnia-theme .somnia-assistant[data-voice-state="speaking"] .somnia-assistant-dock-wave i { animation: somniaAssistantDockWave .56s ease-in-out infinite alternate; animation-delay: calc(var(--sa-wave-index) * -24ms); background: linear-gradient(180deg, #88e8da, #7ea8ff 50%, #ce83ff); }
html.somnia-theme .somnia-assistant[data-voice-state="thinking"] .somnia-assistant-dock-wave i { animation: somniaAssistantDockThink 1.3s ease-in-out infinite; animation-delay: calc(var(--sa-wave-index) * -20ms); }
html.somnia-theme .somnia-assistant[data-voice-state="listening"] .somnia-assistant-dock-orb-halo,
html.somnia-theme .somnia-assistant[data-voice-state="speaking"] .somnia-assistant-dock-orb-halo { animation: somniaAssistantDockHalo 1.45s linear infinite; opacity: 1; }
html.somnia-theme .somnia-assistant[data-voice-state="speaking"] .somnia-assistant-dock-orb-core { animation: somniaAssistantDockSpeak .68s ease-in-out infinite alternate; }
html.somnia-theme .somnia-assistant[data-voice-state="listening"] .somnia-assistant-dock-orb-core .somnia-assistant-mark,
html.somnia-theme .somnia-assistant[data-voice-state="speaking"] .somnia-assistant-dock-orb-core .somnia-assistant-mark {
  filter:
    drop-shadow(0 1px 1px rgba(8, 20, 40, .38))
    drop-shadow(0 0 10px rgba(255, 255, 255, .48));
}
html.somnia-theme .somnia-assistant[data-voice-state="thinking"] .somnia-assistant-dock-orb { animation: somniaAssistantDockThinkOrb 1.4s ease-in-out infinite; }
html.somnia-theme .somnia-assistant[data-voice-state="confirming"] .somnia-assistant-dock-transcript { border-color: rgba(255, 211, 126, .34); background: rgba(255, 211, 126, .08); }
html.somnia-theme .somnia-assistant[data-voice-state="confirming"] .somnia-assistant-dock-quote { color: #ffd986; }

html.somnia-theme body:has(.somnia-assistant:not(.is-dock-collapsed)) #floating_livecoach_widget,
html.somnia-theme body:has(.somnia-assistant:not(.is-dock-collapsed)) #floating_phone_widget { bottom: 118px !important; }
html.somnia-theme body:has(.somnia-assistant:not(.is-dock-collapsed)) #livecoach_panel,
html.somnia-theme body:has(.somnia-assistant:not(.is-dock-collapsed)) #phone_panel { bottom: 170px !important; }
html.somnia-theme body:has(.somnia-assistant.is-insight-open) #floating_livecoach_widget,
html.somnia-theme body:has(.somnia-assistant.is-insight-open) #floating_phone_widget { bottom: 560px !important; }
html.somnia-theme body:has(.somnia-assistant.is-insight-open) #livecoach_panel,
html.somnia-theme body:has(.somnia-assistant.is-insight-open) #phone_panel { bottom: 612px !important; }

@keyframes somniaAssistantDockWave { from { transform: scaleY(.24); opacity: .5; } to { transform: scaleY(1); opacity: 1; } }
@keyframes somniaAssistantDockThink { 0%,100% { transform: scaleY(.3); opacity: .45; } 50% { transform: scaleY(.82); opacity: .88; } }
@keyframes somniaAssistantDockDot { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(.68); opacity: .5; } }
@keyframes somniaAssistantDockHalo { to { transform: rotate(360deg); } }
@keyframes somniaAssistantDockSpeak { from { transform: scale(.96); filter: saturate(.94); } to { transform: scale(1.045); filter: saturate(1.2); } }
@keyframes somniaAssistantDockThinkOrb { 0%,100% { transform: rotate(-2deg) scale(.97); } 50% { transform: rotate(3deg) scale(1.03); } }

@media (max-width: 1120px) {
  html.somnia-theme .somnia-assistant-dock { grid-template-columns: 58px minmax(250px, 1fr) minmax(220px, .8fr) auto; gap: 12px; }
  html.somnia-theme .somnia-assistant-dock-brand { grid-template-columns: 46px; }
  html.somnia-theme .somnia-assistant-dock-brand-copy { display: none; }
}

@media (max-width: 820px) {
  html.somnia-theme .somnia-assistant-dock { grid-template-columns: 48px minmax(0, 1fr) auto; min-height: 74px; width: calc(100vw - 18px); padding: 8px 10px; border-radius: 21px; }
  html.somnia-theme .somnia-assistant-dock-brand { min-height: 46px; }
  html.somnia-theme .somnia-assistant-dock-brand-mark { width: 44px; height: 44px; border-radius: 14px; }
  html.somnia-theme .somnia-assistant-dock-stage { display: none; }
  html.somnia-theme .somnia-assistant-dock-transcript { height: 44px; padding: 0 11px; }
  html.somnia-theme .somnia-assistant-dock-action { flex-basis: 42px; width: 42px; height: 42px; border-radius: 13px; }
  html.somnia-theme .somnia-assistant-dock-action.is-insight { flex-basis: 46px; width: 46px; height: 44px; }
  html.somnia-theme .somnia-assistant-dock-action:not(.is-primary):not(.is-close):not(.is-insight),
  html.somnia-theme .somnia-assistant-dock-divider { display: none; }
  html.somnia-theme body:has(.somnia-assistant:not(.is-dock-collapsed)) #floating_livecoach_widget,
  html.somnia-theme body:has(.somnia-assistant:not(.is-dock-collapsed)) #floating_phone_widget { bottom: 104px !important; }
  html.somnia-theme .somnia-assistant-insight-sheet {
    left: 9px;
    right: 9px;
    width: auto;
    height: min(68vh, calc(100vh - 130px));
    bottom: 104px;
    border-radius: 18px;
  }
  html.somnia-theme body:has(.somnia-assistant.is-insight-open) #floating_livecoach_widget,
  html.somnia-theme body:has(.somnia-assistant.is-insight-open) #floating_phone_widget { bottom: 72vh !important; }
}

@media (max-width: 520px) {
  html.somnia-theme .somnia-assistant-dock { grid-template-columns: minmax(0, 1fr) auto; }
  html.somnia-theme .somnia-assistant-dock-brand { display: none; }
  html.somnia-theme .somnia-assistant-dock-action.is-close { display: none; }
  html.somnia-theme #somnia-assistant-dock-transcript-text { font-size: 9.5px; }
}

/* Somnia Orb + Dock 2.0 — única interface visível */
html.somnia-theme .somnia-assistant-panel,
html.somnia-theme .somnia-assistant-backdrop,
html.somnia-theme .somnia-assistant-panel[hidden],
html.somnia-theme .somnia-assistant-backdrop[hidden] {
  display: none !important;
}

html.somnia-theme .somnia-assistant-launcher {
  right: auto;
  left: 50%;
  bottom: 22px;
  display: grid;
  place-items: center;
  width: 66px;
  min-width: 66px;
  height: 66px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  box-shadow: none;
  overflow: visible;
  transform: translateX(-50%);
  cursor: grab;
  touch-action: none;
  user-select: none;
  -webkit-user-drag: none;
  appearance: none;
  -webkit-appearance: none;
}

html.somnia-theme .somnia-assistant-launcher:not(.is-dragging):hover,
html.somnia-theme .somnia-assistant-launcher:not(.is-dragging):focus-visible {
  transform: translateX(-50%) translateY(-4px) scale(1.035);
  box-shadow: none;
  outline: none;
}

html.somnia-theme .somnia-assistant-launcher.is-dragging {
  transform: translateX(-50%);
  transition: none;
  cursor: grabbing;
}

html.somnia-theme .somnia-assistant-launcher-glow {
  inset: -9px;
  border-radius: 50%;
  background: conic-gradient(from 20deg, rgba(85, 232, 210, .18), rgba(85, 217, 223, .8), rgba(130, 108, 255, .85), rgba(240, 112, 220, .82), rgba(98, 216, 210, .8), rgba(85, 232, 210, .18));
  filter: blur(9px);
  opacity: .7;
}

html.somnia-theme .somnia-assistant-launcher-halo {
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  background: conic-gradient(from 14deg, transparent, rgba(104, 224, 219, .88), rgba(126, 108, 255, .92), rgba(240, 112, 220, .88), rgba(89, 219, 217, .86), transparent);
  filter: blur(4px);
  opacity: .8;
  animation: somniaAssistantDockHalo 6s linear infinite;
}

html.somnia-theme .somnia-assistant-launcher-core {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border: 0;
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 22%, rgba(255, 255, 255, .84), transparent 16%),
    radial-gradient(circle at 58% 58%, #f7a8ff 0, #8d7cff 29%, #3dc9ce 64%, #173f69 100%);
  box-shadow: inset 0 1px 8px rgba(255, 255, 255, .58), inset 0 -7px 16px rgba(27, 37, 97, .36);
  overflow: hidden;
  isolation: isolate;
}

html.somnia-theme .somnia-assistant-launcher-core::before {
  content: "";
  position: absolute;
  inset: 5px;
  z-index: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 44%, rgba(255, 255, 255, .16), transparent 64%);
  pointer-events: none;
}

html.somnia-theme .somnia-assistant-launcher-core::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 50%;
  z-index: 3;
  width: 20px;
  height: 9px;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, 0));
  transform: translateX(-50%);
  filter: blur(1.2px);
  pointer-events: none;
}

html.somnia-theme .somnia-assistant-launcher-core .somnia-assistant-mark {
  position: relative;
  z-index: 2;
  width: 70%;
  color: #fff;
  filter:
    drop-shadow(0 1px 1px rgba(8, 20, 40, .38))
    drop-shadow(0 0 7px rgba(255, 255, 255, .22));
}

html.somnia-theme .somnia-assistant.is-wake-enabled .somnia-assistant-launcher::after {
  top: 1px;
  right: 1px;
  z-index: 4;
  width: 9px;
  height: 9px;
  border-color: rgba(236, 255, 252, .92);
  background: #63ead4;
  box-shadow: 0 0 0 4px rgba(99, 234, 212, .15), 0 0 13px rgba(99, 234, 212, .8);
}

html.somnia-theme .somnia-assistant.is-wake-saved:not(.is-wake-enabled) .somnia-assistant-launcher::after {
  content: "";
  position: absolute;
  top: 1px;
  right: 1px;
  z-index: 4;
  width: 9px;
  height: 9px;
  border: 2px solid rgba(255, 250, 231, .94);
  border-radius: 50%;
  background: #f4c96f;
  box-shadow: 0 0 0 4px rgba(244, 201, 111, .14), 0 0 13px rgba(244, 201, 111, .68);
}

html.somnia-theme .somnia-assistant-dock {
  overflow: hidden;
  transition: min-height .3s var(--somnia-ease), opacity .24s ease, transform .34s var(--somnia-ease), visibility .24s ease, box-shadow .3s ease;
}

html.somnia-theme .somnia-assistant-dock-transcript {
  min-height: 48px;
  height: auto;
}

html.somnia-theme #somnia-assistant-dock-transcript-text {
  display: -webkit-box;
  overflow: hidden;
  white-space: normal;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

html.somnia-theme .somnia-assistant-dock-details {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 22px;
  max-height: 0;
  min-width: 0;
  margin: 0 5px;
  padding: 0 7px;
  border-top: 1px solid transparent;
  opacity: 0;
  overflow: hidden;
  transform: translateY(10px);
  transition: max-height .34s var(--somnia-ease), padding .3s var(--somnia-ease), margin .3s var(--somnia-ease), opacity .22s ease, transform .32s var(--somnia-ease), border-color .25s ease;
}

html.somnia-theme .somnia-assistant.is-detail-expanded .somnia-assistant-dock-details {
  max-height: min(330px, calc(100vh - 150px));
  margin-top: 4px;
  padding-top: 15px;
  padding-bottom: 8px;
  border-top-color: rgba(210, 240, 241, .16);
  opacity: 1;
  overflow-y: auto;
  transform: translateY(0);
}

html.somnia-theme .somnia-assistant-dock-details-copy { min-width: 0; }
html.somnia-theme .somnia-assistant-dock-details-title {
  display: block;
  margin: 0 0 6px;
  color: #f7fffd;
  font-size: 12.5px;
  font-weight: 730;
  letter-spacing: -.01em;
}
html.somnia-theme .somnia-assistant-dock-details-text {
  max-width: 850px;
  margin: 0;
  color: rgba(230, 247, 246, .78);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

html.somnia-theme .somnia-assistant-dock-details-changes {
  display: grid;
  grid-template-columns: minmax(110px, auto) minmax(0, 1fr);
  gap: 5px 13px;
  max-width: 760px;
  margin: 10px 0 0;
}
html.somnia-theme .somnia-assistant-dock-details-changes:empty { display: none; }
html.somnia-theme .somnia-assistant-dock-details-changes dt,
html.somnia-theme .somnia-assistant-dock-details-changes dd { margin: 0; font-size: 10.5px; line-height: 1.45; }
html.somnia-theme .somnia-assistant-dock-details-changes dt { color: rgba(162, 225, 217, .72); font-weight: 680; }
html.somnia-theme .somnia-assistant-dock-details-changes dd { color: rgba(246, 253, 252, .9); overflow-wrap: anywhere; }

html.somnia-theme .somnia-assistant-dock-details-controls {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  min-width: 270px;
}

html.somnia-theme .somnia-assistant-dock-provider {
  display: grid;
  gap: 6px;
  width: 100%;
}

html.somnia-theme .somnia-assistant-dock-provider-label {
  color: rgba(186, 224, 222, .66);
  font-size: 8.5px;
  font-weight: 720;
  letter-spacing: .105em;
  text-align: right;
  text-transform: uppercase;
}

html.somnia-theme .somnia-assistant-dock-provider-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px;
  width: 100%;
  padding: 3px;
  border: 1px solid rgba(205, 235, 235, .14);
  border-radius: 13px;
  background: rgba(3, 29, 42, .26);
  box-shadow: inset 0 1px 4px rgba(1, 16, 25, .18);
}

html.somnia-theme .somnia-assistant-dock-provider-option {
  position: relative;
  min-height: 31px;
  margin: 0;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(220, 239, 239, .64);
  font-size: 9.5px;
  font-weight: 680;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease, opacity .18s ease;
}

html.somnia-theme .somnia-assistant-dock-provider-option:hover,
html.somnia-theme .somnia-assistant-dock-provider-option:focus-visible {
  color: #f5fffd;
  background: rgba(218, 244, 242, .08);
  outline: none;
}

html.somnia-theme .somnia-assistant-dock-provider-option.is-active {
  color: #fff;
  background: linear-gradient(145deg, rgba(46, 184, 170, .82), rgba(45, 119, 154, .78));
  box-shadow: 0 5px 14px rgba(5, 60, 78, .24), inset 0 1px 0 rgba(255, 255, 255, .18);
}

html.somnia-theme .somnia-assistant-dock-provider-option.is-unavailable:not(.is-active) {
  opacity: .42;
}

html.somnia-theme .somnia-assistant-dock-preferences,
html.somnia-theme .somnia-assistant-dock-confirm-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
html.somnia-theme .somnia-assistant-dock-confirm-actions[hidden] { display: none !important; }

html.somnia-theme .somnia-assistant-dock-chip,
html.somnia-theme .somnia-assistant-dock-confirm {
  min-height: 34px;
  margin: 0;
  padding: 0 13px;
  border: 1px solid rgba(213, 239, 240, .24);
  border-radius: 11px;
  background: rgba(218, 241, 241, .075);
  color: rgba(239, 251, 250, .82);
  font-size: 10px;
  font-weight: 650;
  cursor: pointer;
  transition: transform .17s ease, border-color .17s ease, background .17s ease, opacity .17s ease;
}
html.somnia-theme .somnia-assistant-dock-chip:hover,
html.somnia-theme .somnia-assistant-dock-confirm:hover { transform: translateY(-1px); border-color: rgba(183, 239, 231, .5); background: rgba(218, 241, 241, .13); }
html.somnia-theme .somnia-assistant-dock-chip.is-active { border-color: rgba(91, 229, 207, .45); background: rgba(60, 191, 173, .16); color: #cffff6; }
html.somnia-theme .somnia-assistant-dock-chip.is-saved { border-color: rgba(244, 201, 111, .4); background: rgba(244, 201, 111, .1); color: #ffe7a8; }
html.somnia-theme .somnia-assistant-dock-confirm { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 88px; }
html.somnia-theme .somnia-assistant-dock-confirm.is-primary { border-color: rgba(103, 235, 215, .5); background: linear-gradient(145deg, rgba(30, 181, 165, .94), rgba(18, 127, 139, .94)); color: #fff; box-shadow: 0 7px 17px rgba(6, 103, 111, .22); }
html.somnia-theme .somnia-assistant-dock-confirm svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; }
html.somnia-theme .somnia-assistant-dock-confirm:disabled,
html.somnia-theme .somnia-assistant-dock-chip:disabled { cursor: wait; opacity: .52; transform: none; }

html.somnia-theme body:has(.somnia-assistant.is-detail-expanded:not(.is-dock-collapsed)) #floating_livecoach_widget,
html.somnia-theme body:has(.somnia-assistant.is-detail-expanded:not(.is-dock-collapsed)) #floating_phone_widget {
  bottom: var(--somnia-assistant-clearance, 220px) !important;
  transition: bottom .3s var(--somnia-ease);
}

@media (max-width: 820px) {
  html.somnia-theme .somnia-assistant-launcher { bottom: 16px; width: 60px; min-width: 60px; height: 60px; }
  html.somnia-theme .somnia-assistant-launcher-core { width: 51px; height: 51px; }
  html.somnia-theme .somnia-assistant-dock-details { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  html.somnia-theme .somnia-assistant-dock-details-controls { align-items: flex-start; min-width: 0; width: 100%; }
  html.somnia-theme .somnia-assistant-dock-provider-label { text-align: left; }
  html.somnia-theme .somnia-assistant-dock-preferences,
  html.somnia-theme .somnia-assistant-dock-confirm-actions { justify-content: flex-start; flex-wrap: wrap; }
}

@media (max-width: 520px) {
  html.somnia-theme .somnia-assistant-dock-action.is-close { display: grid; }
  html.somnia-theme .somnia-assistant-dock-details { margin-right: 0; margin-left: 0; }
  html.somnia-theme .somnia-assistant-dock-details-changes { grid-template-columns: minmax(86px, auto) minmax(0, 1fr); }
  html.somnia-theme .somnia-assistant-dock-chip { padding: 0 10px; }
}

/* source: custom/themes/SuiteP/css/somnia/99-responsive.css */
/**
 * Somnia — breakpoints
 */

@media (max-width: 1199px) {
  :root {
    --somnia-sidebar-w: 280px;
    --somnia-gutter: 16px;
  }
}

@media (max-width: 991px) {
  :root {
    --somnia-nav-height: 56px;
    --somnia-gutter: 14px;
  }

  html.somnia-theme #content.content {
    padding: 14px var(--somnia-gutter) 32px !important;
  }
  html.somnia-theme body:not(.somnia-embed-page):not(.somnia-layout-builder-page):not(.somnia-login):not(.somnia-login-page):not(.somnia-popup):not(.popupBody):not(.somnia-home-page):not(.somnia-home-dashboard-page):not(:has(.somnia-home-entry)):not(:has(.slb-page)) #content.content {
    padding-left: calc(var(--somnia-gutter) + var(--somnia-page-inset, 16px)) !important;
    padding-right: calc(var(--somnia-gutter) + var(--somnia-page-inset, 16px)) !important;
  }
  html.somnia-theme body.somnia-home-page #content.content,
  html.somnia-theme body.somnia-home-dashboard-page #content.content,
  html.somnia-theme body:has(.somnia-home-entry) #content.content {
    padding-left: var(--somnia-gutter) !important;
    padding-right: var(--somnia-gutter) !important;
  }
  html.somnia-theme body.somnia-embed-page #content.content,
  html.somnia-theme body.somnia-layout-builder-page #content.content,
  html.somnia-theme body:has(.slb-page) #content.content {
    padding: 0 !important;
  }

  html.somnia-theme .moduleTitle h2 {
    font-size: 20px !important;
  }

  html.somnia-theme .navbar-inverse .navbar-nav > li.topnav > a {
    padding: 7px 9px !important;
    font-size: 12.5px !important;
  }

  html.somnia-theme body.somnia-home-page .moduleTitle h2 {
    font-size: 24px !important;
  }

  html.somnia-theme body.somnia-listview-page .moduleTitle h2 {
    font-size: 24px !important;
  }

  html.somnia-theme body.somnia-listview-page .moduleTitle #create_link.utilsLink,
  html.somnia-theme body.somnia-listview-page .moduleTitle a#create_link {
    min-height: 38px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
  }

  html.somnia-theme body.somnia-listview-page #search_form,
  html.somnia-theme body.somnia-listview-page form[name="search_form"] {
    padding: 14px !important;
  }

  /* DetailView: grelha por linha — 3 cols em tablet; rail mantém-se à direita */
  html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row,
  html.somnia-theme body.somnia-detailview-page .detail-view .row.detail-view-row,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .row.edit-view-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html.somnia-theme body.somnia-detailview-page .detail-view .panel-body > .tab-content,
  html.somnia-theme body.somnia-detailview-page .detail-view .tab-pane-NOBOOTSTRAPTOGGLER.active:not([style*="display: none"]),
  html.somnia-theme body.somnia-detailview-page .detail-view .tab-pane-NOBOOTSTRAPTOGGLER.in:not([style*="display: none"]),
  html.somnia-theme body.somnia-detailview-page .detail-view .somnia-detail-grid {
    display: block !important;
  }

  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-shell:has(> .somnia-detail-insights),
  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page).somnia-detail-has-insights .somnia-detail-shell,
  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page).somnia-detail-await-insights .somnia-detail-shell,
  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page)[data-module="Accounts"] .somnia-detail-shell {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 300px) !important;
  }

  html.somnia-theme body.somnia-detailview-page .detail-view .nav-tabs {
    gap: 8px;
  }

  html.somnia-theme body.somnia-detailview-page .nav-tabs > li.tab-inline-pagination,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .tab-inline-pagination {
    margin-left: 0 !important;
    width: 100%;
    justify-content: flex-end;
  }
}

@media (max-width: 767px) {
  :root {
    --somnia-nav-height: 52px;
    --somnia-gutter: 12px;
  }

  html.somnia-theme #content.content {
    margin-top: var(--somnia-nav-height) !important;
    padding: 12px 10px 28px !important;
  }
  html.somnia-theme body:not(.somnia-embed-page):not(.somnia-layout-builder-page):not(.somnia-login):not(.somnia-login-page):not(.somnia-popup):not(.popupBody):not(.somnia-home-page):not(.somnia-home-dashboard-page):not(:has(.somnia-home-entry)):not(:has(.slb-page)) #content.content {
    padding-left: calc(10px + var(--somnia-page-inset, 16px)) !important;
    padding-right: calc(10px + var(--somnia-page-inset, 16px)) !important;
  }
  html.somnia-theme body.somnia-home-page #content.content,
  html.somnia-theme body.somnia-home-dashboard-page #content.content,
  html.somnia-theme body:has(.somnia-home-entry) #content.content {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  html.somnia-theme body.somnia-embed-page #content.content,
  html.somnia-theme body.somnia-layout-builder-page #content.content,
  html.somnia-theme body:has(.slb-page) #content.content {
    padding: 0 !important;
  }

  html.somnia-theme table.list.view,
  html.somnia-theme table.list {
    border-radius: var(--somnia-radius-lg) !important;
  }

  html.somnia-theme table.list.view th,
  html.somnia-theme table.list.view td {
    font-size: 13px !important;
  }

  /* Não forçar padding aqui — a densidade da ListView controla-o */
  html.somnia-theme body:not(.somnia-listview-page) table.list.view th,
  html.somnia-theme body:not(.somnia-listview-page) table.list.view td {
    padding: 10px 10px !important;
  }

  html.somnia-theme .panel-heading,
  html.somnia-theme .panel-body {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Nos painéis que abrem/fecham o espaçamento está no conteúdo */
  html.somnia-theme body.somnia-detailview-page .detail-view .panel-body:has(> .tab-content) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html.somnia-theme body.somnia-detailview-page .detail-view .panel-body > .tab-content {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  html.somnia-login div.p_login #loginform {
    margin: 0 8px !important;
  }

  html.somnia-login div.p_login .p_login_bottom {
    padding: 0 16px !important;
  }

  html.somnia-theme .somnia-brand-text {
    display: none;
  }

  /* ListView: toolbar + pagination wrap cleanly */
  html.somnia-theme body.somnia-listview-page .moduleTitle {
    gap: 8px;
    padding-bottom: 12px !important;
  }

  html.somnia-theme body.somnia-listview-page .list-view-rounded-corners {
    border-radius: var(--somnia-radius-lg);
  }

  html.somnia-theme body.somnia-listview-page .list-view-rounded-corners > table.list.view {
    min-width: 520px;
  }

  html.somnia-theme body.somnia-listview-page .paginationActionButtons,
  html.somnia-theme body.somnia-listview-page td.paginationActionButtons,
  html.somnia-theme body.somnia-listview-page td.paginationChangeButtons {
    white-space: normal;
  }

  html.somnia-theme body.somnia-listview-page .pageNumbers {
    font-size: 12px !important;
    padding: 0 4px;
    line-height: 28px;
  }

  html.somnia-theme body.somnia-listview-page .somnia-list-avatar {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
    font-size: 11px;
  }

  html.somnia-theme body.somnia-listview-page .somnia-list-name-wrap {
    gap: 10px;
  }

  html.somnia-theme body.somnia-listview-page .somnia-list-filter-pills {
    gap: 6px;
    margin-top: 0;
  }

  html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-filter-pills {
    margin-top: 8px;
  }

  html.somnia-theme body.somnia-listview-page .somnia-list-pill {
    min-height: 30px;
    padding: 0 12px;
    font-size: 12.5px;
  }

  html.somnia-theme body.somnia-listview-page .submitButtons {
    width: 100%;
  }

  html.somnia-theme body.somnia-listview-page .submitButtons .button,
  html.somnia-theme body.somnia-listview-page .submitButtons input.button {
    flex: 1 1 auto;
  }

  html.somnia-theme body.somnia-search-page #search-wrapper-form td.submitButtons,
  html.somnia-theme body:has(#search-wrapper-form) #search-wrapper-form td.submitButtons {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  html.somnia-theme body.somnia-search-page #searchFieldMain,
  html.somnia-theme body.somnia-search-page #search-wrapper-form input.button.primary,
  html.somnia-theme body:has(#search-wrapper-form) #searchFieldMain,
  html.somnia-theme body:has(#search-wrapper-form) #search-wrapper-form input.button.primary {
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  html.somnia-theme body.somnia-search-page table.list.view,
  html.somnia-theme body:has(#search-wrapper-form) table.list.view {
    display: block !important;
    overflow-x: auto !important;
  }

  html.somnia-theme body.somnia-listview-page .listViewEmpty,
  html.somnia-theme body.somnia-listview-page .somnia-list-empty-card {
    padding: 28px 16px !important;
    min-height: 160px;
  }

  html.somnia-theme body.somnia-listview-page .moduleTitle .somnia-list-head-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }

  html.somnia-theme body.somnia-listview-page .somnia-list-toolbar {
    flex-wrap: wrap;
    row-gap: 10px;
  }

  html.somnia-theme body.somnia-listview-page .somnia-list-toolbar-mid {
    flex: 1 1 100%;
    order: 3;
  }

  html.somnia-theme body.somnia-listview-page .somnia-list-toolbar-end {
    margin-left: auto;
  }

  /* DetailView: 1 col mobile — grelha por linha; rail passa para baixo */
  html.somnia-theme body.somnia-detailview-page .moduleTitle h2 {
    font-size: 22px !important;
  }

  html.somnia-theme body.somnia-detailview-page .detail-view .panel-body > .tab-content,
  html.somnia-theme body.somnia-detailview-page .detail-view .tab-pane-NOBOOTSTRAPTOGGLER.active:not([style*="display: none"]),
  html.somnia-theme body.somnia-detailview-page .detail-view .tab-pane-NOBOOTSTRAPTOGGLER.in:not([style*="display: none"]),
  html.somnia-theme body.somnia-detailview-page .detail-view .somnia-detail-grid {
    display: block !important;
  }

  html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row,
  html.somnia-theme body.somnia-detailview-page .detail-view .row.detail-view-row,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .row.edit-view-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item,
  html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-somnia-span="2"],
  html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-somnia-span="3"],
  html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-somnia-span="4"],
  html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item.col-sm-12,
  html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-field="description"],
  html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-field="email1"],
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item.col-sm-12,
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="description"],
  html.somnia-theme body:is(.somnia-editview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="email1"] {
    grid-column: span 1 !important;
  }

  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-shell:has(> .somnia-detail-insights),
  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page).somnia-detail-has-insights .somnia-detail-shell,
  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page).somnia-detail-await-insights .somnia-detail-shell,
  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page)[data-module="Accounts"] .somnia-detail-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-insights,
  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-shell > .somnia-detail-insights {
    position: static;
    max-height: none;
    overflow: visible;
  }

  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-detail-funnel-summary {
    grid-template-columns: 1fr;
  }
}

/**
 * Reforço final (última folha carregada) — botão "Criar..." dos subpainéis.
 * Duplica de propósito as regras de 05-views-record.css para garantir que
 * ganham a qualquer conflito de cascata, independentemente da ordem/origem.
 *
 * IMPORTANTE: o elemento visível é o <a> criado pelo jquery.sugarMenu.js
 * (core SuiteCRM) — o <input type="submit"/button> original fica escondido
 * (display:none inline, id "..._old"). Estilizar o <a>, não o input.
 */
html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button,
html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.single {
  background: var(--somnia-brand) !important;
  border: 1px solid var(--somnia-brand) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  padding: 0 8px 0 10px !important;
  margin: 0 !important;
  gap: 4px !important;
  min-height: 26px !important;
  height: 26px !important;
  min-width: 0 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
  overflow: visible !important;
}

html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button:hover,
html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.single:hover {
  background: var(--somnia-brand-hover) !important;
  border-color: var(--somnia-brand-hover) !important;
}

html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button > form,
html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.single > form {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button > a,
html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.single > a,
html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button > form > a,
html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.single > form > a {
  display: inline-flex !important;
  align-items: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: #fff !important;
  font-family: var(--somnia-font) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  height: auto !important;
  line-height: 1 !important;
  padding: 0 !important;
  overflow: visible !important;
  margin: 0 !important;
  cursor: pointer !important;
  border-radius: 0 !important;
}

html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button > a:hover,
html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.single > a:hover,
html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button > form > a:hover,
html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.single > form > a:hover {
  color: #fff !important;
  text-decoration: none !important;
}

html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button input.button,
html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.single input.button {
  display: none !important;
}

html.somnia-theme #subpanel_list ul.clickMenu.fancymenu > li.sugar_action_button .suitepicon-action-caret {
  color: #fff !important;
  background: transparent !important;
  opacity: 1;
  margin: 0 !important;
  width: 12px !important;
  height: 12px !important;
  line-height: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  position: static !important;
  flex: 0 0 auto !important;
}

/* Seta do Editar/Remover: o SuiteP mete margin-top:13px e a seta cai fora do botão.
   O menu da linha é ul.clickMenu.SugarActionMenu (sem .records e sem .fancymenu). */
html.somnia-theme #subpanel_list ul.clickMenu.SugarActionMenu:not(.fancymenu) > li.sugar_action_button,
html.somnia-theme #subpanel_list table.subpanel-table td ul.clickMenu.records > li.sugar_action_button,
html.somnia-theme #subpanel_list table.subpanel-table td ul.clickMenu.subpanel > li.sugar_action_button,
html.somnia-theme #subpanel_list table.list.view td ul.clickMenu.records > li.sugar_action_button,
html.somnia-theme #subpanel_list table.list.view td ul.clickMenu.subpanel > li.sugar_action_button {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  min-height: 26px !important;
  height: 26px !important;
  padding: 0 8px 0 10px !important;
  line-height: 1 !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

html.somnia-theme #subpanel_list ul.clickMenu.SugarActionMenu:not(.fancymenu) > li.sugar_action_button > a,
html.somnia-theme #subpanel_list table.subpanel-table td ul.clickMenu.records > li.sugar_action_button > a,
html.somnia-theme #subpanel_list table.subpanel-table td ul.clickMenu.subpanel > li.sugar_action_button > a,
html.somnia-theme #subpanel_list table.list.view td ul.clickMenu.records > li.sugar_action_button > a,
html.somnia-theme #subpanel_list table.list.view td ul.clickMenu.subpanel > li.sugar_action_button > a {
  height: auto !important;
  line-height: 1 !important;
  padding: 0 !important;
  color: #475569 !important;
  font-size: 12px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}

html.somnia-theme #subpanel_list ul.clickMenu.SugarActionMenu:not(.fancymenu) > li.sugar_action_button > span,
html.somnia-theme #subpanel_list table.subpanel-table td ul.clickMenu.records > li > span,
html.somnia-theme #subpanel_list table.subpanel-table td ul.clickMenu.subpanel > li > span,
html.somnia-theme #subpanel_list table.list.view td ul.clickMenu.records > li > span,
html.somnia-theme #subpanel_list table.list.view td ul.clickMenu.subpanel > li > span {
  margin: 0 !important;
  width: 12px !important;
  height: 12px !important;
  line-height: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  position: static !important;
  flex: 0 0 auto !important;
  color: #64748b !important;
}

html.somnia-theme #subpanel_list ul.clickMenu > li.sugar_action_button > span.suitepicon-action-caret::before {
  width: 12px !important;
  height: 12px !important;
  vertical-align: middle !important;
}


html.somnia-theme #subpanel_list ul.clickMenu.SugarActionMenu:not(.fancymenu) {
  position: relative;
  overflow: visible !important;
}

html.somnia-theme #subpanel_list ul.clickMenu.SugarActionMenu:not(.fancymenu) > li.sugar_action_button > a {
  order: 1;
}

html.somnia-theme #subpanel_list ul.clickMenu.SugarActionMenu:not(.fancymenu) > li.sugar_action_button > span.suitepicon-action-caret {
  order: 2;
}

html.somnia-theme #subpanel_list ul.clickMenu.SugarActionMenu:not(.fancymenu) > li.sugar_action_button > ul.subnav {
  position: absolute !important;
  top: calc(100% + 4px) !important;
  right: 0 !important;
  left: auto !important;
  margin: 0 !important;
  z-index: 50 !important;
}

/*
 * Reforço: o CSS core (cache/themes/SuiteP/css/Noon/style.css) tem
 * ".pagination td{background-color:#c2c3c4}" — apanhar TODOS os <td>
 * descendentes da barra de paginação, não só o filho directo.
 */
html.somnia-theme #subpanel_list tr.pagination,
html.somnia-theme #subpanel_list tr.pagination-unique,
html.somnia-theme #subpanel_list tr.pagination td,
html.somnia-theme #subpanel_list tr.pagination-unique td,
html.somnia-theme #subpanel_list .paginationTable td {
  background: #f1f5f9 !important;
  background-color: #f1f5f9 !important;
  border: none !important;
  padding: 4px 12px !important;
}

html.somnia-theme #subpanel_list tr.pagination table td,
html.somnia-theme #subpanel_list tr.pagination-unique table td,
html.somnia-theme #subpanel_list .paginationTable td {
  padding: 0 6px !important;
}

html.somnia-theme #subpanel_list tr.pagination table,
html.somnia-theme #subpanel_list tr.pagination-unique table,
html.somnia-theme #subpanel_list .paginationTable {
  background: transparent !important;
}

/* Imprimir: o link traz uma borda rectangular (#929798) por cima do botão arredondado. */
html.somnia-theme #subpanel_list #list_subpanel_projecttask tr.pagination li.ptg-print-action a#ptg-subpanel-print-btn {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

html.somnia-theme #subpanel_list tr.pagination li.ptg-print-action,
html.somnia-theme #subpanel_list tr.pagination-unique li.ptg-print-action {
  overflow: visible !important;
  border-radius: 8px !important;
}

/* Botões da barra e "(1 - n de n)" na mesma linha, centrados na faixa cinzenta. */
html.somnia-theme #subpanel_list tr.pagination td,
html.somnia-theme #subpanel_list tr.pagination-unique td {
  vertical-align: middle !important;
}

html.somnia-theme #subpanel_list tr.pagination ul.clickMenu.fancymenu,
html.somnia-theme #subpanel_list tr.pagination-unique ul.clickMenu.fancymenu {
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
}

html.somnia-theme #subpanel_list tr.pagination button.button,
html.somnia-theme #subpanel_list tr.pagination-unique button.button {
  width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 2px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

html.somnia-theme #subpanel_list tr.pagination button.button > .suitepicon,
html.somnia-theme #subpanel_list tr.pagination-unique button.button > .suitepicon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  line-height: 1 !important;
}

html.somnia-theme #subpanel_list tr.pagination button.button > .suitepicon::before,
html.somnia-theme #subpanel_list tr.pagination-unique button.button > .suitepicon::before {
  width: 14px !important;
  height: 14px !important;
  vertical-align: middle !important;
}

html.somnia-theme #subpanel_list table.somnia-subpanel-toolbar {
  width: 100% !important;
  margin: 0 !important;
  border: none !important;
  border-collapse: collapse !important;
  background: #f1f5f9 !important;
}

html.somnia-theme #subpanel_list table.subpanel-table > tbody > tr.footable-empty > td {
  display: table-cell !important;
  text-align: center !important;
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 16px 12px !important;
  background: #fff !important;
  border-bottom: none !important;
}

html.somnia-theme #subpanel_list tr.pagination .pageNumbers,
html.somnia-theme #subpanel_list tr.pagination-unique .pageNumbers,
html.somnia-theme #subpanel_list .subpanel-table.list tr.pagination span.pageNumbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 26px !important;
  line-height: 26px !important;
  vertical-align: middle !important;
  position: static !important;
  top: 0 !important;
  padding: 0 8px !important;
  margin: 0 !important;
}

/*
 * Criar rápido do subpainel. O HTML é o EditView completo injectado na ficha,
 * e a grelha da ficha (coluna lateral de 280px) esmaga os campos. Aqui fica
 * uma caixa só com o formulário, em duas colunas.
 */
html.somnia-theme div.quickcreate {
  display: block !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 4px 4px 8px !important;
  background: #fff !important;
  border: 1px solid #e6edf4 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

html.somnia-theme div.quickcreate .somnia-breadcrumb,
html.somnia-theme div.quickcreate .somnia-page-summary,
html.somnia-theme div.quickcreate .somnia-detail-insights {
  display: none !important;
}

html.somnia-theme div.quickcreate .somnia-record-head {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 12px 16px 0 !important;
  background: transparent !important;
  border: 0 !important;
}

html.somnia-theme div.quickcreate .somnia-record-title {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
}

html.somnia-theme body.somnia-detailview-page.somnia-detail-has-insights div.quickcreate .somnia-detail-shell,
html.somnia-theme body.somnia-detailview-page.somnia-detail-await-insights div.quickcreate .somnia-detail-shell,
html.somnia-theme div.quickcreate .somnia-detail-shell,
html.somnia-theme div.quickcreate .somnia-editview-shell {
  display: block !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  gap: 0 !important;
}

html.somnia-theme div.quickcreate .somnia-detail-main,
html.somnia-theme div.quickcreate #EditView_tabs,
html.somnia-theme div.quickcreate form.somnia-edit-form {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  min-width: 0 !important;
}

html.somnia-theme div.quickcreate #EditView_tabs > .nav-tabs {
  margin: 0 12px 8px !important;
  padding: 4px 4px 0 !important;
  border-bottom: none !important;
}

/* Contactos, Contas, Leads e Alvos imprimem a fila clássica
   (GUARDAR / CANCELAR / FORMULÁRIO TOTAL) no topo do formulário.
   A barra da direita já tem Guardar, Cancelar e o menu. A tabela
   fica no DOM: os hidden e o id do inlineSave continuam a funcionar. */
html.somnia-theme div.quickcreate form > table:has(input[id*="subpanel_"]),
html.somnia-theme div.quickcreate form > table:has(input[name*="subpanel_"]),
html.somnia-theme div.quickcreate form > table.dcQuickEdit {
  display: none !important;
}

html.somnia-theme div.quickcreate #EditView_tabs #tab-actions > .dropdown-menu > li:has(input[id*="subpanel_save_button"]),
html.somnia-theme div.quickcreate #EditView_tabs #tab-actions > .dropdown-menu > li:has(input[id*="subpanel_cancel_button"]) {
  display: none !important;
}

/* O rodapé do formulário ainda imprime a mesma fila dentro de .buttons. */
html.somnia-theme div.quickcreate .buttons:has(input[id*="subpanel_"]) {
  display: none !important;
}

/* O cartão da aba (painel sem título) não tinha a margem lateral dos
   painéis nomeados, por isso as extremidades não batiam certo. */
html.somnia-theme div.quickcreate #EditView_tabs > .tab-content > .tab-pane-NOBOOTSTRAPTOGGLER {
  margin: 0 12px 12px !important;
}

html.somnia-theme div.quickcreate .panel.panel-default {
  margin: 0 12px 12px !important;
  border: 1px solid #e8edf3 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  overflow: hidden;
  background: #fff !important;
}

html.somnia-theme div.quickcreate .panel-body.panelContainer,
html.somnia-theme div.quickcreate .tab-pane-NOBOOTSTRAPTOGGLER.active {
  display: block !important;
  padding: 14px 16px 8px !important;
}

html.somnia-theme div.quickcreate .edit-view-row,
html.somnia-theme div.quickcreate .row.edit-view-row {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 18px !important;
}

html.somnia-theme div.quickcreate .edit-view-row-item[data-field="description"],
html.somnia-theme div.quickcreate .edit-view-row-item[data-field="description_html"],
html.somnia-theme div.quickcreate .edit-view-row-item:has(textarea),
html.somnia-theme div.quickcreate .edit-view-row-item:has(.somnia-sp[data-sp="3"]),
html.somnia-theme div.quickcreate .edit-view-row-item:has(.somnia-sp[data-sp="4"]),
html.somnia-theme div.quickcreate .edit-view-row-item.col-sm-12 {
  grid-column: 1 / -1 !important;
}

html.somnia-theme div.quickcreate .edit-view-field input.datetimecombo_date,
html.somnia-theme div.quickcreate .edit-view-field input.date_input {
  min-width: 7.5em !important;
  flex: 1 1 7.5em !important;
}

html.somnia-theme div.quickcreate .datetimecombo_time_section,
html.somnia-theme div.quickcreate select.datetimecombo_time {
  max-height: 38px !important;
}

@media (max-width: 767px) {
  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-page-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  html.somnia-theme body:is(.somnia-detailview-page, .somnia-editview-page) .somnia-page-summary-item:nth-child(2n) {
    border-right: 0;
  }
}

/* Diálogos Bootstrap (personalizar colunas, etc.) abriam com margem
   de 30–40px e ficavam debaixo da navbar fixa. Ficam no espaço livre,
   centrados quando cabem, e alinhados ao topo desse espaço quando não. */
html.somnia-theme .modal.in,
html.somnia-theme .modal.show {
  display: flex !important;
  align-items: safe center;
  justify-content: center;
  box-sizing: border-box;
  padding: calc(var(--somnia-nav-height, 56px) + 16px) 16px 16px !important;
  overflow-y: auto !important;
}

html.somnia-theme .modal.in .modal-dialog,
html.somnia-theme .modal.show .modal-dialog {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  html.somnia-theme #content,
  html.somnia-login #loginform,
  html.somnia-login .animated-gradient-element,
  html.somnia-theme * {
    animation: none !important;
    transition: none !important;
  }
}

/* Dropdown dos subpainéis por cima do cartão seguinte (Histórico, etc.) */
html.somnia-theme #subpanel_list > li {
  position: relative;
  z-index: 1;
}
html.somnia-theme #subpanel_list > li:hover,
html.somnia-theme #subpanel_list > li:focus-within,
html.somnia-theme #subpanel_list > li:has(ul.subnav.ddopen),
html.somnia-theme #subpanel_list > li:has(ul.subnav[style*="display: block"]) {
  z-index: 40;
}
html.somnia-theme #subpanel_list ul.clickMenu.fancymenu ul.subnav {
  z-index: 50 !important;
}

/* source: custom/themes/SuiteP/css/somnia/30-emails.css */
/**
 * Somnia — Emails.
 *
 * O módulo usa o mesmo chrome dos outros (lista, ficha 4 colunas, Compose
 * como EditView). Aqui só se corrige o que a grelha genérica parte: corpo e
 * assunto a largura total, botões nativos na toolbar, TinyMCE no Compose.
 */

/* Lista: acções nativas (redigir / pastas / verificar) no sítio das tools */
html.somnia-theme body.somnia-emails-page .somnia-emails-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

html.somnia-theme body.somnia-emails-page .somnia-emails-actions .list-view-action-buttons {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

html.somnia-theme body.somnia-emails-page .somnia-emails-actions .list-view-action-buttons > li {
  margin: 0;
  padding: 0;
  list-style: none;
}

html.somnia-theme body.somnia-emails-page .somnia-emails-actions .list-view-action-buttons .btn,
html.somnia-theme body.somnia-emails-page .somnia-emails-actions .btn-emails-current-folder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 38px;
  height: 36px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid var(--somnia-border, #e2e8f0);
  background: var(--somnia-surface, #fff);
  color: var(--somnia-muted, #64748b);
  box-shadow: none;
  font-size: 14px;
  line-height: 1;
}

html.somnia-theme body.somnia-emails-page .somnia-emails-actions .list-view-action-buttons .btn:hover,
html.somnia-theme body.somnia-emails-page .somnia-emails-actions .btn-emails-current-folder:hover {
  border-color: var(--somnia-brand, #146161);
  color: var(--somnia-brand, #146161);
  background: var(--somnia-brand-tint, #e6f2f2);
}

html.somnia-theme body.somnia-emails-page .somnia-emails-folder {
  display: inline-flex;
  align-items: center;
  margin: 0;
  text-align: left;
}

html.somnia-theme body.somnia-emails-page .emails-list-view-toolbar-header:not(.somnia-emails-folder) {
  display: none !important;
}

/* Ficha: assunto e corpo HTML a largura total, como a descrição nos outros. */
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-field="description_html"],
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item[data-field="description_html"]:has(.somnia-sp),
html.somnia-theme body.somnia-detailview-page .detail-view .detail-view-row-item:has(.detail-view-field[field="description_html"]),
html.somnia-theme body.somnia-emails-page.somnia-detailview-page .detail-view .detail-view-row-item[data-field="name"],
html.somnia-theme body.somnia-emails-page.somnia-detailview-page .detail-view .detail-view-row-item:has(.detail-view-field[field="name"]) {
  grid-column: span 4 !important;
}

html.somnia-theme body.somnia-emails-page.somnia-detailview-page .detail-view .detail-view-field iframe,
html.somnia-theme body.somnia-emails-page.somnia-detailview-page .detail-view .detail-view-field[field="description_html"] {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
}

html.somnia-theme body.somnia-emails-page.somnia-detailview-page .detail-view .detail-view-field iframe {
  min-height: 320px;
  border: 1px solid var(--somnia-border, #e2e8f0);
  border-radius: var(--somnia-radius-md, 8px);
  background: var(--somnia-surface, #fff);
}

/*
 * Compose: a grelha aplica-se no próprio form, para a página Create e o
 * modal (lista) ficarem iguais — sem depender de body.somnia-editview-page,
 * que no modal deixaria a ListView por baixo com CSS de edição.
 */
html.somnia-theme form.compose-view .edit-view-row,
html.somnia-theme form.compose-view .row.edit-view-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px 16px !important;
  margin: 0 0 4px !important;
  width: 100% !important;
  float: none !important;
}

html.somnia-theme form.compose-view .edit-view-row.row::before,
html.somnia-theme form.compose-view .edit-view-row.row::after,
html.somnia-theme form.compose-view .row.edit-view-row::before,
html.somnia-theme form.compose-view .row.edit-view-row::after {
  display: none !important;
  content: none !important;
}

html.somnia-theme form.compose-view .edit-view-row > .clear,
html.somnia-theme form.compose-view .edit-view-row-item > .clear {
  display: none !important;
}

html.somnia-theme form.compose-view .edit-view-row-item,
html.somnia-theme form.compose-view .edit-view-row-item[class*="col-sm-"],
html.somnia-theme form.compose-view .edit-view-row-item[class*="col-xs-"] {
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 8px 6px !important;
  grid-column: span 1;
}

html.somnia-theme form.compose-view .edit-view-row-item:has(.somnia-sp[data-sp="2"]) {
  grid-column: span 2 !important;
}

html.somnia-theme form.compose-view .edit-view-row-item.col-sm-12,
html.somnia-theme form.compose-view .edit-view-row:has(> .edit-view-row-item.empty) > .edit-view-row-item:not(.empty):not(.hidden),
html.somnia-theme form.compose-view .edit-view-row-item[data-field="name"],
html.somnia-theme form.compose-view .edit-view-row-item[data-field="description"],
html.somnia-theme form.compose-view .edit-view-row-item[data-field="from_addr_name"],
html.somnia-theme form.compose-view .edit-view-row-item[data-field="to_addrs_names"],
html.somnia-theme form.compose-view .edit-view-row-item[data-field="cc_addrs_names"],
html.somnia-theme form.compose-view .edit-view-row-item[data-field="bcc_addrs_names"],
html.somnia-theme form.compose-view .edit-view-row-item:has(.somnia-sp[data-sp="4"]),
html.somnia-theme form.compose-view .edit-view-row-item:has(.edit-view-field[field="name"]),
html.somnia-theme form.compose-view .edit-view-row-item:has(.edit-view-field[field="description"]),
html.somnia-theme form.compose-view .edit-view-row-item:has(.edit-view-field[field="from_addr_name"]),
html.somnia-theme form.compose-view .edit-view-row-item:has(.edit-view-field[field="to_addrs_names"]),
html.somnia-theme form.compose-view .edit-view-row-item:has(.edit-view-field[field="cc_addrs_names"]),
html.somnia-theme form.compose-view .edit-view-row-item:has(.edit-view-field[field="bcc_addrs_names"]),
html.somnia-theme form.compose-view .edit-view-row-item:has(textarea#description),
html.somnia-theme form.compose-view .edit-view-row-item:has(.mce-tinymce),
html.somnia-theme form.compose-view .edit-view-row-item:has(.tox-tinymce) {
  grid-column: span 4 !important;
}

html.somnia-theme form.compose-view .edit-view-row-item.empty,
html.somnia-theme form.compose-view .edit-view-row-item.hidden,
html.somnia-theme form.compose-view .edit-view-row-item[data-field="description_html"] {
  display: none !important;
}

html.somnia-theme form.compose-view .edit-view-row-item > .label,
html.somnia-theme form.compose-view .edit-view-row-item > .edit-view-field,
html.somnia-theme form.compose-view .edit-view-row-item > [class*="col-"] {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

html.somnia-theme form.compose-view .edit-view-field,
html.somnia-theme form.compose-view .col-sm-8,
html.somnia-theme form.compose-view .col-sm-8.edit-view-field,
html.somnia-theme form.compose-view .mce-tinymce,
html.somnia-theme form.compose-view .tox-tinymce,
html.somnia-theme form.compose-view textarea#description,
html.somnia-theme form.compose-view input[type="text"],
html.somnia-theme form.compose-view select {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

html.somnia-theme form.compose-view .mce-edit-area iframe,
html.somnia-theme form.compose-view .tox-edit-area iframe {
  width: 100% !important;
  min-height: 280px;
}

html.somnia-theme form.compose-view .attachments {
  margin: 12px 0 0;
}

html.somnia-theme form.compose-view .panel-email-compose {
  display: none !important;
}

/* Botões do compose na barra de abas (Enviar a verde; o resto como tools). */
html.somnia-theme body.somnia-emails-compose #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-compose-actions,
html.somnia-theme form.compose-view .somnia-compose-actions,
html.somnia-theme .panel-email-compose .custom-buttons {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

html.somnia-theme body.somnia-emails-compose #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-compose-actions .btn-send-email,
html.somnia-theme form.compose-view .somnia-compose-actions .btn-send-email {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  height: 38px !important;
  min-width: 38px;
  padding: 0 16px !important;
  background: var(--somnia-brand, #146161) !important;
  border: none !important;
  border-radius: var(--somnia-radius-md, 8px) !important;
  box-shadow: var(--somnia-shadow-primary, none);
  color: #fff !important;
}

html.somnia-theme body.somnia-emails-compose #EditView_tabs > .nav-tabs > li.somnia-edit-tab-tools .somnia-compose-actions .btn:not(.btn-send-email):not(.vertical-separator),
html.somnia-theme form.compose-view .somnia-compose-actions .btn:not(.btn-send-email):not(.vertical-separator) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 38px;
  min-height: 38px !important;
  height: 38px !important;
  padding: 0 10px !important;
  background: var(--somnia-surface, #fff) !important;
  border: 1px solid var(--somnia-border, #e2e8f0) !important;
  border-radius: var(--somnia-radius-md, 8px) !important;
  box-shadow: none !important;
  color: var(--somnia-muted, #64748b) !important;
}

html.somnia-theme form.compose-view .somnia-compose-actions .btn:not(.btn-send-email):not(.vertical-separator):hover {
  border-color: var(--somnia-brand, #146161) !important;
  color: var(--somnia-brand, #146161) !important;
  background: var(--somnia-brand-tint, #e6f2f2) !important;
}

html.somnia-theme form.compose-view .vertical-separator {
  width: 1px;
  min-width: 1px;
  height: 22px;
  padding: 0 !important;
  border: 0 !important;
  background: var(--somnia-border, #e2e8f0) !important;
  box-shadow: none !important;
  min-height: 22px !important;
}

html.somnia-theme .somnia-compose-modal {
  padding: 8px 4px 0;
}

html.somnia-theme .somnia-compose-modal #EditView_tabs > .nav-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--somnia-border, #e2e8f0);
}

html.somnia-theme .somnia-compose-modal #EditView_tabs > .nav-tabs > li {
  float: none;
  margin: 0;
}

html.somnia-theme .somnia-compose-modal #EditView_tabs .panel-content > div:first-child:not(.panel) {
  display: none !important;
}

html.somnia-theme .modal-body form.compose-view .somnia-record-head {
  display: none !important;
}

@media (max-width: 767px) {
  html.somnia-theme form.compose-view .edit-view-row,
  html.somnia-theme form.compose-view .row.edit-view-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.somnia-theme form.compose-view .edit-view-row-item,
  html.somnia-theme body.somnia-emails-page.somnia-detailview-page .detail-view .detail-view-row-item {
    grid-column: 1 / -1 !important;
  }
}

/* source: custom/themes/SuiteP/css/somnia/31-line-items.css */
/**
 * Somnia — itens de linha (AOS Quotes / Invoices / Contracts)
 *
 * O widget é uma tabela gerada por line_items.js. O CSS genérico do EditView
 * (inputs a 100%, flex em .edit-view-field:has(.sqsEnabled)) parte as colunas.
 */

html.somnia-theme body:is(.somnia-editview-page, .somnia-detailview-page, :has(.somnia-editview-shell)) .edit-view-row-item[data-field="line_items"],
html.somnia-theme body:is(.somnia-editview-page, .somnia-detailview-page, :has(.somnia-editview-shell)) .detail-view-row-item[data-field="line_items"] {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  overflow-x: auto;
}

html.somnia-theme .edit-view-row-item[data-field="line_items"] > .edit-view-field,
html.somnia-theme .edit-view-field:has(#lineItems),
html.somnia-theme .edit-view-field[field="line_items"],
html.somnia-theme #line_items_span {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
}

html.somnia-theme table#lineItems {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: collapse;
}

html.somnia-theme #lineItems .group_body,
html.somnia-theme #lineItems .group_body > td {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
}

html.somnia-theme #lineItems .group_body {
  margin: 0 0 20px !important;
}

html.somnia-theme #lineItems table.group {
  display: table !important;
  width: 100% !important;
  table-layout: auto;
  white-space: normal !important;
  background: var(--somnia-surface, #fff);
  border: 1px solid var(--somnia-border);
  border-radius: var(--somnia-radius-xl);
  box-shadow: inset 4px 0 0 var(--somnia-brand), var(--somnia-shadow-card);
  padding: 0;
  overflow: hidden;
}

html.somnia-theme #lineItems .group > thead {
  display: table-header-group !important;
}

html.somnia-theme #lineItems .group > tfoot {
  display: table-footer-group !important;
}

html.somnia-theme #lineItems .group > thead > tr,
html.somnia-theme #lineItems .group > tfoot > tr {
  display: table-row !important;
  background: transparent !important;
  min-height: 0 !important;
}

html.somnia-theme #lineItems .group > thead > tr > td,
html.somnia-theme #lineItems .group > tfoot > tr > td {
  display: table-cell !important;
  background: transparent !important;
  min-height: 0 !important;
  vertical-align: middle;
  padding: 10px 16px !important;
  text-align: left !important;
}

html.somnia-theme #lineItems .group > thead:first-child > tr > td {
  background: var(--somnia-brand-tint) !important;
  border-bottom: 1px solid rgba(20, 97, 97, 0.14) !important;
  padding: 12px 16px !important;
}

html.somnia-theme #lineItems .group > thead:not(:first-child) > tr > td {
  padding: 12px 16px 6px !important;
}

html.somnia-theme #lineItems .group > tfoot > tr > td {
  background: var(--somnia-canvas-2) !important;
  border-top: 1px solid var(--somnia-border) !important;
}

html.somnia-theme #lineItems .group > tfoot > tr > td {
  width: 100% !important;
}

html.somnia-theme #lineItems .group > tfoot > tr:first-child > td .add_product_line,
html.somnia-theme #lineItems .group > tfoot > tr:first-child > td .add_service_line {
  float: left;
}

html.somnia-theme #lineItems .group > tfoot > tr:first-child > td .totals {
  clear: both;
  width: 100%;
  margin: 8px 0 0;
}

html.somnia-theme #lineItems .group > thead > tr > td:nth-of-type(1) {
  width: auto !important;
}

html.somnia-theme #lineItems .group > thead > tr > td:nth-of-type(2) {
  width: 40px !important;
  text-align: right;
}

html.somnia-theme #lineItems .group_name {
  width: min(100%, 560px) !important;
  max-width: 100% !important;
  display: inline-block !important;
  vertical-align: middle;
  background: var(--somnia-surface) !important;
  font-weight: 650 !important;
}

html.somnia-theme #lineItems .product_group,
html.somnia-theme #lineItems .service_group {
  display: table !important;
  width: 100% !important;
  table-layout: auto;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: transparent !important;
  white-space: normal;
}

html.somnia-theme #lineItems .product_group thead,
html.somnia-theme #lineItems .service_group thead {
  display: table-header-group !important;
  background: transparent !important;
}

html.somnia-theme #lineItems .product_group tbody,
html.somnia-theme #lineItems .service_group tbody {
  display: table-row-group !important;
}

html.somnia-theme #lineItems .group_body[style*="display: none"],
html.somnia-theme #lineItems .group_body[style*="display:none"],
html.somnia-theme #lineItems .group_body[style*="display: none"] > td,
html.somnia-theme #lineItems .group_body[style*="display:none"] > td,
html.somnia-theme #lineItems .product_group thead[style*="display: none"],
html.somnia-theme #lineItems .product_group thead[style*="display:none"],
html.somnia-theme #lineItems .service_group thead[style*="display: none"],
html.somnia-theme #lineItems .service_group thead[style*="display:none"],
html.somnia-theme #lineItems .product_group tbody[style*="display: none"],
html.somnia-theme #lineItems .product_group tbody[style*="display:none"],
html.somnia-theme #lineItems .service_group tbody[style*="display: none"],
html.somnia-theme #lineItems .service_group tbody[style*="display:none"],
html.somnia-theme #lineItems tbody[id^="product_body"][style*="display: none"],
html.somnia-theme #lineItems tbody[id^="product_body"][style*="display:none"],
html.somnia-theme #lineItems tbody[id^="service_body"][style*="display: none"],
html.somnia-theme #lineItems tbody[id^="service_body"][style*="display:none"] {
  display: none !important;
}

html.somnia-theme #lineItems .group > thead:has(.service_group):not(:has(tbody[id^="service_body"]:not([style*="display: none"]):not([style*="display:none"]))) {
  display: none !important;
}

html.somnia-theme #lineItems .product_group tr,
html.somnia-theme #lineItems .service_group tr {
  display: table-row !important;
  background: transparent !important;
}

html.somnia-theme #lineItems #product_head,
html.somnia-theme #lineItems #service_head {
  display: table-row !important;
  background: var(--somnia-brand-tint) !important;
}

html.somnia-theme #lineItems .product_group td,
html.somnia-theme #lineItems .service_group td,
html.somnia-theme #lineItems #product_head td,
html.somnia-theme #lineItems #service_head td {
  display: table-cell !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  vertical-align: top !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  white-space: nowrap;
}

html.somnia-theme #lineItems tbody[id^="product_body"] > tr > td,
html.somnia-theme #lineItems tbody[id^="service_body"] > tr > td {
  background: var(--somnia-canvas-2) !important;
  padding: 8px 10px !important;
  border: 0 !important;
  box-shadow: none !important;
}

html.somnia-theme #lineItems tbody[id^="product_body"] + tbody[id^="product_body"] > tr:first-child > td,
html.somnia-theme #lineItems tbody[id^="service_body"] + tbody[id^="service_body"] > tr:first-child > td {
  border-top: 10px solid var(--somnia-surface) !important;
}

html.somnia-theme #lineItems tbody[id^="product_body"] > tr:first-child > td:first-child,
html.somnia-theme #lineItems tbody[id^="service_body"] > tr:first-child > td:first-child {
  border-top-left-radius: var(--somnia-radius-md);
}

html.somnia-theme #lineItems tbody[id^="product_body"] > tr:first-child > td:last-child,
html.somnia-theme #lineItems tbody[id^="service_body"] > tr:first-child > td:last-child {
  border-top-right-radius: var(--somnia-radius-md);
}

html.somnia-theme #lineItems tbody[id^="product_body"] > tr:last-child > td:first-child,
html.somnia-theme #lineItems tbody[id^="service_body"] > tr:last-child > td:first-child {
  border-bottom-left-radius: var(--somnia-radius-md);
}

html.somnia-theme #lineItems tbody[id^="product_body"] > tr:last-child > td:last-child,
html.somnia-theme #lineItems tbody[id^="service_body"] > tr:last-child > td:last-child {
  border-bottom-right-radius: var(--somnia-radius-md);
}

html.somnia-theme #lineItems #product_head,
html.somnia-theme #lineItems #service_head {
  background: var(--somnia-brand-tint) !important;
}

html.somnia-theme #lineItems #product_head td,
html.somnia-theme #lineItems #service_head td {
  color: var(--somnia-muted) !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 8px 10px !important;
  white-space: normal;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html.somnia-theme #lineItems .service_group {
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px dashed var(--somnia-border);
}

html.somnia-theme #lineItems .alignedLabel {
  display: none !important;
  visibility: hidden !important;
}

html.somnia-theme #lineItems input[type="text"],
html.somnia-theme #lineItems input[type="number"],
html.somnia-theme #lineItems textarea,
html.somnia-theme #lineItems select {
  display: inline-block !important;
  flex: none !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  color: var(--somnia-ink) !important;
  font-family: var(--somnia-font) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
}

html.somnia-theme #lineItems textarea {
  min-height: 72px !important;
  resize: vertical;
  white-space: pre-wrap;
}

html.somnia-theme #lineItems .product_qty {
  width: 72px !important;
}

html.somnia-theme #lineItems .product_name,
html.somnia-theme #lineItems input.product_name.sqsEnabled {
  width: 220px !important;
  min-width: 160px !important;
  max-width: 100% !important;
}

html.somnia-theme #lineItems .product_part_number,
html.somnia-theme #lineItems input.product_part_number.sqsEnabled {
  width: 120px !important;
}

html.somnia-theme #lineItems .product_list_price,
html.somnia-theme #lineItems .product_unit_price,
html.somnia-theme #lineItems .product_total_price,
html.somnia-theme #lineItems .service_list_price,
html.somnia-theme #lineItems .service_unit_price,
html.somnia-theme #lineItems .service_total_price {
  width: 96px !important;
}

html.somnia-theme #lineItems .product_discount_text,
html.somnia-theme #lineItems .product_vat_amt_text,
html.somnia-theme #lineItems .service_discount_text,
html.somnia-theme #lineItems .service_vat_text {
  width: 72px !important;
  vertical-align: top;
}

html.somnia-theme #lineItems .product_discount_amount_select,
html.somnia-theme #lineItems .product_vat_amt_select,
html.somnia-theme #lineItems .service_discount_select,
html.somnia-theme #lineItems .service_vat_select {
  width: 72px !important;
  min-width: 72px !important;
  margin-left: 4px !important;
  vertical-align: top;
}

html.somnia-theme #lineItems .service_name {
  width: 100% !important;
  min-width: 220px !important;
  min-height: 72px !important;
}

html.somnia-theme #lineItems .product_item_description,
html.somnia-theme #lineItems .product_description {
  width: 100% !important;
  min-width: 180px !important;
}

html.somnia-theme #lineItems .product_item_description_label,
html.somnia-theme #lineItems .product_description_label {
  display: block;
  color: var(--somnia-muted) !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  margin: 4px 0 6px !important;
  white-space: normal;
}

html.somnia-theme #lineItems .product_group > tbody > tr:nth-of-type(2) > td {
  padding-bottom: 8px !important;
  white-space: normal;
}

html.somnia-theme #lineItems .product_part_number_button,
html.somnia-theme #lineItems .product_delete_line,
html.somnia-theme #lineItems .service_delete_line,
html.somnia-theme #lineItems .delete_group,
html.somnia-theme #lineItems .group button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative;
  z-index: 2;
  cursor: pointer !important;
  pointer-events: auto !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
  margin: 0 0 0 4px !important;
  background: var(--somnia-surface) !important;
  border: 1px solid var(--somnia-border) !important;
  border-radius: var(--somnia-radius-md) !important;
  color: var(--somnia-muted) !important;
  line-height: 1 !important;
}

html.somnia-theme #lineItems .add_product_line,
html.somnia-theme #lineItems .add_service_line,
html.somnia-theme #addGroup {
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 8px 8px 0 !important;
  padding: 8px 14px !important;
}

html.somnia-theme #lineItems .totals {
  float: none !important;
  width: 100%;
  margin: 4px 0 4px auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

html.somnia-theme #lineItems .totals label {
  flex: 0 0 140px;
  width: 140px !important;
  margin: 0 !important;
  color: var(--somnia-muted);
  font-size: 12px;
  font-weight: 650;
  text-align: left;
}

html.somnia-theme #lineItems .totals input,
html.somnia-theme #lineItems .group_total_amt,
html.somnia-theme #lineItems input[id$="total_amt"],
html.somnia-theme #lineItems input[id$="discount_amount"],
html.somnia-theme #lineItems input[id$="subtotal_amount"],
html.somnia-theme #lineItems input[id$="tax_amount"],
html.somnia-theme #lineItems input[id$="total_amount"] {
  width: 120px !important;
  flex: 0 0 120px;
}

html.somnia-theme #lineItems .group > thead > tr > td[colspan="100"] {
  width: 100% !important;
  padding: 8px 0 !important;
}

/* Taxa de envio: o function field vem dentro de #shipping_tax_amt_span. */
html.somnia-theme #shipping_tax_amt_span {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html.somnia-theme #shipping_tax_amt_span #shipping_tax_amt,
html.somnia-theme #shipping_tax_amt {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

html.somnia-theme #shipping_tax_amt_span #shipping_tax,
html.somnia-theme #shipping_tax {
  flex: 0 0 120px !important;
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
}

@media (max-width: 1100px) {
  html.somnia-theme #lineItems .product_name,
  html.somnia-theme #lineItems input.product_name.sqsEnabled {
    width: 160px !important;
  }

  html.somnia-theme #lineItems .product_part_number,
  html.somnia-theme #lineItems input.product_part_number.sqsEnabled {
    width: 96px !important;
  }

  html.somnia-theme #lineItems .product_list_price,
  html.somnia-theme #lineItems .product_unit_price,
  html.somnia-theme #lineItems .product_total_price,
  html.somnia-theme #lineItems .service_list_price,
  html.somnia-theme #lineItems .service_unit_price,
  html.somnia-theme #lineItems .service_total_price {
    width: 80px !important;
  }
}
