@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* Layout de referência. Bootstrap fornece reset, grid, utilitários e componentes.
   As regras abaixo tratam apenas da identidade e da navegação personalizada. */
:root {
  --workspace-bg: #f1f2f4;
  --workspace-surface: #ffffff;
  --workspace-ink: #262d32;
  --workspace-muted: #6c7479;
  --workspace-line: #e1e4e9;
  --workspace-accent: #2458dc;
  --workspace-accent-soft: #edf2ff;
  --workspace-inset: 16px;
  --workspace-rail: 76px;
  --workspace-submenu: 276px;
  --workspace-radius: 22px;
  --bs-body-color: var(--workspace-ink);
  --bs-body-bg: var(--workspace-bg);
  --bs-secondary-color: var(--workspace-muted);
  --bs-border-color: var(--workspace-line);
  --bs-primary: var(--workspace-accent);
  --bs-primary-rgb: 36, 88, 220;
  --bs-link-color: var(--workspace-accent);
  --bs-body-font-size: 1.03125rem;
  --bs-body-font-family: 'Poppins', sans-serif;
}
body { min-width: 280px; margin: 0; font-family: 'Poppins', sans-serif; }
button, a { -webkit-tap-highlight-color: transparent; }
:is(a, button):focus-visible { outline: 3px solid #2458dc; outline-offset: 4px; }
.material-symbols-outlined,
.material-symbols-rounded,
.material-symbols-sharp {
  font-size: 24px;
  line-height: 1;
  flex-shrink: 0;
  font-variation-settings: 'FILL' var(--icon-fill, 0), 'wght' var(--icon-weight, 350), 'GRAD' var(--icon-grade, 0), 'opsz' var(--icon-size, 24);
}
.skip-link { position: fixed; z-index: 1100; top: 8px; left: 110px; padding: 12px; background: white; }

/* A coluna fica acima do submenu, que desliza dentro de uma janela recortada. */
.workspace-sidebar {
  position: fixed;
  z-index: 1040;
  inset: var(--workspace-inset) auto var(--workspace-inset) var(--workspace-inset);
  width: var(--workspace-rail);
}
.icon-rail {
  position: relative;
  z-index: 2;
  width: var(--workspace-rail);
  height: 100%;
  padding: 21px 10px 16px;
  background: var(--workspace-surface);
  border: 1px solid #fff;
  border-radius: var(--workspace-radius);
  box-shadow: 0 3px 14px #26344a05;
  transition: border-top-right-radius .16s, border-bottom-right-radius .16s;
}
.workspace-sidebar.submenu-open .icon-rail {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: none;
}
.rail-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 46px;
  flex-shrink: 0;
  text-decoration: none;
}
.rail-brand img { display: block; width: 46px; height: 46px; border-radius: 12px; object-fit: contain; }
.rail-rule { width: 25px; height: 1px; flex-shrink: 0; background: var(--workspace-line); margin: 9px 0 23px; }
.rail-navigation { width: 100%; overflow-y: auto; overflow-x: hidden; scrollbar-width: none; padding: 4px; flex-shrink: 1; }
.rail-navigation::-webkit-scrollbar { display: none; }
.rail-button {
  --bs-btn-border-width: 0;
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 15px;
  background: #f1f2f4;
  color: #606b7a;
  transition: background .18s, color .18s, transform .18s;
}
.rail-button:hover, .rail-button:focus-visible, .rail-button.is-open { background: #e7e9ed; color: var(--workspace-ink); }
.rail-button.is-active, .rail-button.is-active:hover, .rail-button.is-active:focus-visible {
  background: var(--workspace-accent);
  color: #fff;
  box-shadow: 0 5px 12px #2458dc20;
  --icon-fill: 1;
  --icon-weight: 450;
}
.rail-button:active { transform: scale(.95); }
.rail-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.company-avatar { display: block; height: 38px; width: 38px; border: 1px solid var(--workspace-line); border-radius: 50%; object-fit: cover; }
.submenu-viewport {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--workspace-rail) - 8px);
  width: calc(var(--workspace-submenu) + 8px);
  overflow: hidden;
  pointer-events: none;
  visibility: hidden;
  border-radius: 0 var(--workspace-radius) var(--workspace-radius) 0;
  transition: visibility 0s .24s;
}
.submenu-surface {
  width: 100%;
  height: 100%;
  padding: 25px 22px 24px 30px;
  border: 1px solid #fff;
  border-radius: 0 var(--workspace-radius) var(--workspace-radius) 0;
  background: var(--workspace-surface);
  transform: translateX(-100%);
  transition: transform .26s cubic-bezier(.2,.75,.25,1);
}
.workspace-sidebar.submenu-open .submenu-viewport { visibility: visible; pointer-events: auto; filter: drop-shadow(12px 5px 16px #26344a0d); transition-delay: 0s; }
.workspace-sidebar.submenu-open .submenu-surface { transform: translateX(0); }
.submenu-topline { min-height: 32px; }
.submenu-topline > span { font-size: 11px; letter-spacing: .4px; }
.submenu-close { width: 36px; height: 36px; border: 0; border-radius: 12px; color: var(--workspace-muted); }
.submenu-close:hover { background: #eceef1; }
.submenu-pages { overflow-y: auto; overscroll-behavior: contain; margin: 0 -8px; padding: 7px 8px; }
.submenu-eyebrow { font-size: 9px; font-weight: 600; letter-spacing: 1.8px; color: #78818c; }
.submenu-link {
  --bs-list-group-border-width: 0;
  --bs-list-group-bg: transparent;
  --bs-list-group-action-hover-bg: #f1f2f4;
  --bs-list-group-action-active-bg: #e5e8ed;
  --bs-list-group-active-bg: var(--workspace-accent-soft);
  --bs-list-group-active-color: var(--workspace-accent);
  min-height: 47px;
  padding: 12px;
  font-size: 13px;
  border-radius: 11px !important;
  color: #5c6571;
}
.submenu-link .material-symbols-outlined { font-size: 21px; }
.submenu-link .bi { opacity: 0; font-size: 12px; transition: opacity .15s; }
.submenu-link:hover .bi, .submenu-link.active .bi { opacity: 1; }
.submenu-link.active { font-weight: 600; }
.submenu-footer { border-top: 1px solid var(--workspace-line); padding-top: 20px; margin-top: 22px; color: #818a96; font-size: 10px; }

/* A largura da área central nunca depende do estado do submenu. */
.workspace-shell { margin-left: calc(var(--workspace-inset) + var(--workspace-rail) + 16px); margin-right: 24px; }
.workspace-topbar { min-height: 76px; padding: 14px 0; position: relative; z-index: 1020; }
.company-switcher { min-width: 0; flex-shrink: 0; }
.company-toggle { width: 194px; min-height: 48px; padding: 6px 10px; border: 0; border-radius: 13px; }
.company-toggle:hover, .company-toggle.show, .user-toggle:hover, .user-toggle.show { background: #ffffff; }
.company-toggle > img, .company-option > img { border-radius: 50%; flex-shrink: 0; object-fit: cover; }
.company-caption { display: flex; flex-direction: column; min-width: 0; }
.company-overline { font-size: 9.9px; color: var(--workspace-muted); line-height: 1.5; }
.company-caption strong { font-size: 13.2px; font-weight: 600; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.company-toggle > .bi { font-size: 9.9px; flex-shrink: 0; }
.company-toggle[aria-expanded="true"] > .bi { transform: rotate(180deg); }
.company-menu, .user-menu { --bs-dropdown-bg: #fff; --bs-dropdown-link-hover-bg: #f1f2f4; --bs-dropdown-link-active-bg: #edf2ff; --bs-dropdown-link-active-color: #2458dc; min-width: 260px; padding: 9px; border-radius: 17px; }
.company-menu .dropdown-header, .user-menu .dropdown-header { font-size: 12.1px; padding: 9px 12px 12px; }
.company-option { padding: 10px; min-height: 54px; border-radius: 11px; font-size: 14.3px; }
.company-option > .bi { visibility: hidden; }
.company-option.active > .bi { visibility: visible; }
.company-option.active { font-weight: 600; }
.user-toggle { padding: 5px 8px; min-height: 48px; border: 0; border-radius: 13px; }
.user-toggle > img, .user-avatar { border-radius: 50%; object-fit: cover; }
.user-caption { display: flex; flex-direction: column; min-width: 49px; }
.user-caption > span { font-size: 9.9px; line-height: 1.5; color: var(--workspace-muted); }
.user-caption > strong { font-size: 13.2px; font-weight: 600; }
.user-chevron { font-size: 9.9px; margin-left: 8px; }
.user-menu { min-width: 240px; }
.user-menu strong { font-size: 14.3px; }
.user-actions { border-top: 1px solid var(--workspace-line); }
.user-action { min-height: 44px; padding: 10px 12px; border-radius: 9px; font-size: 14.3px; }
.user-action .material-symbols-outlined { font-size: 19px; color: #6c7479; }
.company-links-empty { color: var(--workspace-muted); font-size: 12.1px; margin: 0; padding: 12px; line-height: 1.6; }
.topbar-divider { height: 22px; width: 1px; background: #dce0e6; }
.quick-toggle, .quick-direct-link { min-height: 42px; color: #505b6a; font-size: 13.2px; font-weight: 600; border-radius: 11px; border: 0; padding: 10px 12px; text-decoration: none; white-space: nowrap; }
.quick-toggle .bi { font-size: 9px; transition: transform .18s; }
.quick-toggle[aria-expanded="true"] .bi { transform: rotate(180deg); }
.quick-toggle:hover, .quick-toggle.show, .quick-direct-link:hover, .quick-direct-link:focus-visible { background: #ffffff; color: #262d32; }
.quick-group .dropdown-menu { --bs-dropdown-bg: #ffffff; --bs-dropdown-link-hover-bg: #eceef1; --bs-dropdown-link-active-bg: #2458dc; --bs-dropdown-font-size: .89375rem; min-width: 224px; padding: 9px; border-radius: 15px; max-height: min(540px, calc(100dvh - 110px)); overflow-y: auto; overscroll-behavior: contain; }
.quick-group .dropdown-menu.show { animation: dropdown-reveal .17s ease-out; }
.quick-group .dropdown-item { padding: 11px 12px; border-radius: 8px; white-space: normal; overflow-wrap: anywhere; }
.quick-menu-separator { height: 1px; margin: 7px 6px; background: var(--workspace-line); list-style: none; }
.topbar-clock { padding-left: 16px; border-left: 1px solid var(--workspace-line); min-width: 76px; }
.topbar-clock time { font-size: 13.2px; font-variant-numeric: tabular-nums; font-weight: 600; }
.workspace-main { padding: 27px 18px 0; }
.content-heading { padding-bottom: 30px; }
.breadcrumb { --bs-breadcrumb-font-size: 12.1px; --bs-breadcrumb-divider-color: #b4bbc5; --bs-breadcrumb-item-active-color: #7b8491; color: #858e9b; }
.content-heading h1 { font-size: clamp(1.705rem, 2.31vw, 2.2rem); letter-spacing: -.9px; }
.reference-label { padding: 9px 13px; border: 1px solid #dce1e8; color: #657287; background: #eceef1; font-size: 11px; margin-top: 8px; }
.reference-canvas { min-height: calc(100dvh - 255px); border: 1px solid #e1e5eb; background: #f7f8fa; border-radius: 22px; }
.reference-canvas .canvas-icon { display: block; font-size: 38px; color: #a4adbb; --icon-weight: 250; }
.reference-canvas h2 { color: #768399; }
.reference-canvas p { max-width: 290px; line-height: 1.7; font-size: 13.2px; }
.workspace-footer { padding: 17px 2px 22px; color: #8993a1; font-size: 11px; }
.mobile-menu-toggle { width: 44px; height: 44px; padding: 0; font-size: 25px; border: 0; border-radius: 13px; background: #ffffff; }
.mobile-links-toggle { font-size: 13.2px; min-height: 44px; padding: 10px 14px; border: 1px solid #dfe4eb; border-radius: 12px; }
.mobile-links-toggle .bi { font-size: 10px; }
.mobile-links-toggle .mobile-links-icon { display: none; }
.sidebar-backdrop { position: fixed; inset: 0; z-index: 1035; background: #1d283b45; backdrop-filter: blur(3px); }
.sidebar-backdrop[hidden] { display: none; }
@keyframes dropdown-reveal { from { opacity: 0; translate: 0 -5px; } to { opacity: 1; translate: 0 0; } }

@media (min-width: 1200px) {
  .quick-links-panel { flex: 1; min-width: 0; }
  .quick-links-panel .offcanvas-body { padding: 0 !important; }
}
@media (min-width: 768px) and (max-width: 1399.98px) {
  .user-caption, .user-chevron { display: none; }
  .user-toggle { padding: 5px; }
  .company-toggle { width: 185px; }
  .quick-toggle, .quick-direct-link { padding-left: 10px; padding-right: 10px; }
}
@media (max-width: 1199.98px) {
  .quick-links-panel { --bs-offcanvas-width: min(360px, 100vw); background: var(--workspace-surface); }
  .quick-links-panel .offcanvas-header { border-bottom: 1px solid var(--workspace-line); padding: 25px 22px; }
  .quick-links-panel .offcanvas-header p { font-size: 11px; letter-spacing: 1.3px; }
  .quick-links-panel .offcanvas-body { padding: 18px; }
  .quick-toggle, .quick-direct-link { width: 100%; min-height: 49px; font-size: 15.4px; padding: 13px 14px; }
  .quick-group .dropdown-menu { position: static !important; transform: none !important; width: 100%; box-shadow: none !important; background: #f1f2f4; min-width: 0; max-height: none; margin: 4px 0 8px !important; }
  .quick-group .dropdown-item { min-height: 44px; }
  .quick-group .dropdown-menu.show { animation: none; }
}
@media (max-width: 767.98px) {
  :root { --workspace-inset: 12px; --workspace-rail: 68px; --workspace-radius: 19px; }
  .workspace-shell { margin: 0 16px; }
  .workspace-topbar { min-height: 80px; padding-top: max(14px, env(safe-area-inset-top)); }
  .company-switcher { flex: 1; min-width: 0; }
  .company-toggle { width: 100%; padding: 4px; gap: 6px !important; min-height: 44px; }
  .company-toggle > img { height: 28px; width: 28px; border-radius: 50%; }
  .company-caption strong { font-size: 12.1px; }
  .company-overline { font-size: 8.8px; }
  .company-toggle > .bi { font-size: 8.8px; }
  .user-toggle { width: 40px; min-height: 44px; padding: 2px; justify-content: center; }
  .user-toggle > img { width: 34px; height: 34px; }
  .user-caption, .user-chevron { display: none; }
  .company-menu { min-width: 246px; max-width: calc(100vw - 24px); }
  .workspace-main { padding: 23px 0 0; }
  .content-heading { padding-bottom: 24px; }
  .reference-canvas { min-height: calc(100dvh - 265px); border-radius: 18px; }
  .workspace-sidebar {
    z-index: 1040;
    width: min(348px, calc(100vw - 24px));
    top: max(12px, env(safe-area-inset-top));
    bottom: max(12px, env(safe-area-inset-bottom));
    visibility: hidden;
    transform: translateX(calc(-100% - 20px));
    transition: transform .26s cubic-bezier(.2,.75,.25,1), visibility 0s .26s;
  }
  .workspace-sidebar.mobile-open { transform: translateX(0); visibility: visible; transition-delay: 0s; }
  .icon-rail { padding: 21px 6px 14px; }
  .rail-button { width: 46px; height: 46px; border-radius: 14px; }
  .rail-rule { margin-bottom: 16px; }
  .submenu-viewport { width: calc(100% - var(--workspace-rail) + 8px); }
  .submenu-surface { padding: 24px 16px 20px 24px; }
  .submenu-link { font-size: 12px; padding: 12px 9px; gap: 10px !important; }
  .submenu-link .bi { display: none; }
  .submenu-topline > span { font-size: 10px; }
  .submenu-footer { font-size: 9px; }
  body.sidebar-is-open { overflow: hidden; }
  .workspace-footer { font-size: 9.9px; }
}
@media (max-width: 360px) {
  .submenu-topline > span { max-width: 96px; }
  .reference-label { padding: 8px 10px; }
}
@media (max-width: 575.98px) {
  .mobile-links-toggle { width: 38px; padding: 0; border-color: transparent; justify-content: center; flex-shrink: 0; }
  .mobile-links-toggle > span, .mobile-links-toggle > .bi-chevron-down { display: none; }
  .mobile-links-toggle .mobile-links-icon { display: inline-block; font-size: 22px; }
  .workspace-topbar { gap: 6px !important; }
}
@media (max-height: 600px) {
  .icon-rail { padding-top: 12px; }
  .rail-brand { height: 38px; }
  .rail-brand img { width: 38px; height: 38px; }
  .rail-rule { margin: 6px 0 10px; }
  .rail-bottom { padding-top: 8px !important; }
  .submenu-footer { padding-top: 10px; margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}


/* Guia visual de tipografia */
.typography-page { padding-bottom: 8px; }
.typography-intro { max-width: 760px; color: var(--workspace-muted); font-size: 14.3px; line-height: 1.75; }
.typography-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; }
.typography-card { grid-column: span 12; background: #fff; border: 1px solid var(--workspace-line); border-radius: 18px; padding: 22px; }
.typography-card.half { grid-column: span 6; }
.typography-card-title { font-size: 15.4px; font-weight: 600; margin: 0; color: var(--workspace-ink); }
.typography-card-note { font-size: 11px; color: var(--workspace-muted); margin: 4px 0 0; }
.type-sample { display: flex; align-items: baseline; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--workspace-line); }
.type-sample:last-child { border-bottom: 0; padding-bottom: 0; }
.type-sample-meta { flex: 0 0 118px; font-size: 11px; color: var(--workspace-muted); line-height: 1.6; }
.type-sample-meta strong { display: block; color: #4d5868; font-size: 12.1px; font-weight: 600; }
.type-sample-preview { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.type-h1 { font-size: 35.2px; font-weight: 600; letter-spacing: -.9px; line-height: 1.2; }
.type-h2 { font-size: 28.6px; font-weight: 600; line-height: 1.25; }
.type-h3 { font-size: 23.1px; font-weight: 600; line-height: 1.3; }
.type-h4 { font-size: 19.8px; font-weight: 600; line-height: 1.35; }
.type-h5 { font-size: 17.6px; font-weight: 600; line-height: 1.4; }
.type-h6 { font-size: 15.4px; font-weight: 600; line-height: 1.4; }
.type-p { font-size: 16.5px; font-weight: 400; line-height: 1.7; }
.type-small { font-size: 13.2px; font-weight: 400; line-height: 1.6; }
.type-span { font-size: 14.3px; font-weight: 400; }
.type-label { font-size: 11px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; }
.type-button { font-size: 13.2px; font-weight: 500; }
.weight-row { display: grid; grid-template-columns: 58px 82px minmax(0, 1fr); align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--workspace-line); }
.weight-row:last-child { border-bottom: 0; }
.weight-number, .weight-name { font-size: 11px; color: var(--workspace-muted); }
.weight-preview { font-size: 19.8px; }
.menu-type-list { display: flex; flex-direction: column; }
.menu-type-row { display: grid; grid-template-columns: minmax(170px, 1.4fr) 74px 74px minmax(180px, 1fr); gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--workspace-line); }
.menu-type-row:last-child { border-bottom: 0; }
.menu-type-row.is-header { padding-top: 4px; color: var(--workspace-muted); font-size: 9.9px; font-weight: 600; letter-spacing: .7px; text-transform: uppercase; }
.menu-type-name { font-size: 12.1px; color: var(--workspace-muted); }
.menu-type-size, .menu-type-weight { font-size: 12.1px; font-variant-numeric: tabular-nums; color: #4f5b6a; }
.menu-type-preview { color: var(--workspace-ink); }
.preview-company-overline { font-size: 9.9px; font-weight: 400; color: var(--workspace-muted); }
.preview-company-name { font-size: 13.2px; font-weight: 600; }
.preview-top-link { font-size: 13.2px; font-weight: 600; }
.preview-top-dropdown { font-size: 14.3px; font-weight: 400; }
.preview-submenu-topline { font-size: 11px; font-weight: 400; }
.preview-submenu-eyebrow { font-size: 9px; font-weight: 600; letter-spacing: 1.8px; }
.preview-submenu-title { font-size: 20px; font-weight: 600; }
.preview-submenu-link { font-size: 13px; font-weight: 400; }
.preview-submenu-active { font-size: 13px; font-weight: 600; color: var(--workspace-accent); }
.preview-user-overline { font-size: 9.9px; font-weight: 400; color: var(--workspace-muted); }
.preview-user-name { font-size: 13.2px; font-weight: 600; }
.preview-dropdown-header { font-size: 12.1px; font-weight: 400; color: var(--workspace-muted); }
.preview-company-option { font-size: 14.3px; font-weight: 400; }
.preview-company-option-active { font-size: 14.3px; font-weight: 600; }
.preview-user-action { font-size: 14.3px; font-weight: 400; }
.preview-footer-menu { font-size: 10px; font-weight: 400; color: #818a96; }
.type-code { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 9px; border-radius: 8px; background: #f3f5f8; color: #5b6674; font-size: 11px; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
@media (max-width: 991.98px) {
  .typography-card.half { grid-column: span 12; }
  .menu-type-row { grid-template-columns: minmax(140px, 1fr) 64px 64px minmax(150px, 1fr); gap: 10px; }
}
@media (max-width: 575.98px) {
  .typography-card { padding: 17px; border-radius: 15px; }
  .type-sample { display: block; }
  .type-sample-meta { margin-bottom: 8px; }
  .menu-type-row { grid-template-columns: 1fr 56px 56px; }
  .menu-type-row > :last-child { grid-column: 1 / -1; }
  .menu-type-row.is-header > :last-child { display: none; }
}


/* FORM.HTML | guia visual de formulários */
.forms-page { padding-bottom: 8px; }
.forms-intro { max-width: 760px; color: #6f7a89; font-size: 14.3px; line-height: 1.7; }
.forms-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; }
.form-showcase-card { grid-column: span 12; background: #fff; border: 0; border-radius: 20px; padding: 22px; }
.form-showcase-card.half { grid-column: span 6; }
.form-showcase-card.third { grid-column: span 4; }
.form-card-title { font-size: 15.4px; font-weight: 600; margin: 0; color: var(--workspace-ink); }
.form-card-note { color: #87909d; font-size: 12.1px; line-height: 1.6; margin: 5px 0 0; }
.form-demo-label { color: #525e6d; font-size: 12.1px; font-weight: 600; margin-bottom: 7px; }
.form-control, .form-select { min-height: 44px; border-color: #dfe4eb; border-radius: 11px; font-size: 13.2px; box-shadow: none; }
.form-control:focus, .form-select:focus { border-color: #8daaf7; box-shadow: 0 0 0 .2rem rgba(36,88,220,.08); }
textarea.form-control { min-height: 118px; resize: vertical; }
.form-text { color: #8993a1; font-size: 11px; }
.input-group-text { border-color: #dfe4eb; background: #f6f7f9; color: #6e7987; font-size: 13.2px; }
.form-check-input { border-color: #cfd6df; width: 1.25em; height: 1.25em; }
.form-check-input:checked { background-color: #2458dc; border-color: #2458dc; }
.form-check-label { font-size: 13.2px; color: #515c69; }
/* Switch 25% mais alto e 35% mais curto; o recuo original preserva o texto e amplia o respiro. */
.form-switch { --workspace-switch-width: 50px; --workspace-switch-height: 28px; }
.form-switch .form-check-input {
  width: var(--workspace-switch-width);
  height: var(--workspace-switch-height);
  min-width: var(--workspace-switch-width);
  margin-top: 0;
  cursor: pointer;
}
.form-password-wrap { position: relative; }
.form-password-wrap .form-control { padding-right: 46px; }
.form-password-toggle { position: absolute; top: 50%; right: 5px; translate: 0 -50%; width: 36px; height: 36px; border: 0; border-radius: 9px; background: transparent; color: #778291; display: inline-flex; align-items: center; justify-content: center; z-index: 3; }
.form-password-toggle:hover { background: #f2f4f7; color: #3f4b59; }
.form-password-toggle:focus-visible { outline: 2px solid #8daaf7; outline-offset: 1px; }
.form-password-toggle .material-symbols-outlined { font-size: 20px; --icon-weight: 250; }
.form-section-divider { height: 1px; background: var(--workspace-line); margin: 20px 0; }
.form-inline-actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.form-inline-actions .btn { min-height: 42px; border-radius: 10px; font-size: 13.2px; font-weight: 500; }
.form-upload-zone { border: 1px dashed #cbd3de; background: #f8f9fb; border-radius: 14px; min-height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 22px; color: #7a8593; }
.form-upload-zone .material-symbols-outlined { font-size: 30px; --icon-weight: 250; margin-bottom: 8px; }
.form-upload-zone strong { color: #424d5a; font-size: 13.2px; }
.form-upload-zone span:not(.material-symbols-outlined) { font-size: 11px; margin-top: 4px; }
.form-status-sample { border-radius: 12px; padding: 14px; border: 1px solid #e0e5eb; background: #fafbfc; }
.form-status-sample strong { display: block; font-size: 12.1px; margin-bottom: 3px; }
.form-status-sample small { color: #7f8996; font-size: 11px; }
.form-floating > .form-control, .form-floating > .form-select { min-height: 56px; height: 56px; }
.form-floating > label { font-size: 13.2px; color: #7a8593; }
.field-required::after { content: " *"; color: #d34242; }
.form-search-wrap { position: relative; }
.form-search-wrap .material-symbols-outlined { position: absolute; left: 13px; top: 50%; translate: 0 -50%; font-size: 20px; color: #8a94a1; --icon-weight: 250; pointer-events: none; }
.form-search-wrap .form-control { padding-left: 42px; }
.form-color-swatch { width: 44px; min-width: 44px; height: 44px; padding: 4px; border-radius: 11px; }
.form-range { accent-color: #2458dc; }
.form-code-note { display: inline-flex; align-items: center; min-height: 29px; border-radius: 8px; background: #f1f3f6; color: #5e6875; font-size: 10px; padding: 6px 9px; }
@media (max-width: 991.98px) { .form-showcase-card.half, .form-showcase-card.third { grid-column: span 12; } }
@media (max-width: 575.98px) { .form-showcase-card { padding: 17px; border-radius: 17px; } }


/* TABLE.HTML | biblioteca visual de listagens e relatórios */
.tables-page { padding-bottom: 24px; }
.tables-intro { max-width: 900px; color: var(--workspace-muted); line-height: 1.7; }
.tables-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; margin-top: 28px; }
.table-showcase-card { background: #fff; border: 0; border-radius: 20px; padding: clamp(18px,2vw,28px); min-width: 0; }
.table-card-title { margin: 0 0 6px; font-size: 1.21rem; font-weight: 600; letter-spacing: -.02em; }
.table-card-note { margin: 0; color: var(--workspace-muted); font-size: .935rem; }
.table-section-head { margin-bottom: 20px; }
.table-tools { display: flex; align-items: center; flex-wrap: nowrap !important; gap: 8px; }
.table-tools .btn { min-height: 44px; border-radius: 11px; flex: 0 0 auto; white-space: nowrap; }
.table-search { position: relative; width: 320px; min-width: 260px; flex: 0 1 320px; }
.table-search .material-symbols-outlined { position: absolute; left: 13px; top: 50%; translate: 0 -50%; font-size: 20px; color: var(--workspace-muted); pointer-events: none; }
.table-search .form-control { min-height: 44px; padding-left: 42px; border-radius: 11px; }
.table-shell { border: 1px solid #e8eaee; border-radius: 14px; overflow: hidden; }
.workspace-table { --bs-table-bg: #fff; --bs-table-hover-bg: #f8f9fb; font-size: .9rem; color: var(--workspace-text); }
.workspace-table > :not(caption) > * > * { padding: 14px 16px; border-bottom-color: #eceef1; vertical-align: middle; }
.workspace-table thead th { background: #f6f7f9; color: #667085; font-size: .77rem; font-weight: 600; letter-spacing: .025em; text-transform: uppercase; white-space: nowrap; }
.workspace-table tbody tr:last-child > * { border-bottom: 0; }
.workspace-table tbody tr:hover > * { background: #fafbfc; }
.entity-cell { display: flex; align-items: center; gap: 11px; min-width: 190px; }
.entity-cell > div { display: flex; flex-direction: column; min-width: 0; }
.entity-cell strong { font-weight: 600; white-space: nowrap; }
.entity-cell div span { color: var(--workspace-muted); font-size: .78rem; }
.entity-avatar { width: 36px; height: 36px; flex: 0 0 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #eef2f7; color: #344054; font-size: .72rem; font-weight: 700; }
.table-main-value, .table-subvalue { display: block; white-space: nowrap; }
.table-subvalue { color: var(--workspace-muted); font-size: .78rem; margin-top: 2px; }
.status-pill { display: inline-flex; align-items: center; gap: 7px; min-height: 28px; padding: 4px 9px; border-radius: 999px; font-size: .76rem; font-weight: 600; white-space: nowrap; background: #f1f3f5; color: #59616d; }
.status-pill i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .75; }
.status-pill.is-active { background: #eaf7ef; color: #18794e; }
.status-pill.is-pending { background: #fff4df; color: #9a6700; }
.status-pill.is-inactive { background: #f5e9ea; color: #a13d48; }
.status-pill.is-muted { background: #eef0f3; color: #667085; }
.table-actions { display: inline-flex; align-items: center; gap: 4px; }
.table-icon-btn { width: 36px; height: 36px; padding: 0; border: 0; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; color: #667085; background: transparent; }
.table-icon-btn:hover, .table-icon-btn:focus-visible { background: #f0f2f5; color: var(--workspace-text); }
.table-icon-btn .material-symbols-outlined { font-size: 19px; }
.table-footerbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 16px; color: var(--workspace-muted); font-size: .82rem; }
.table-footerbar .page-link { color: #49515d; border-color: #e4e7eb; min-width: 32px; text-align: center; }
.table-footerbar .page-item.active .page-link { background: #2458dc; border-color: #2458dc; color: #fff; }
.table-compact > :not(caption) > * > * { padding-top: 9px; padding-bottom: 9px; }
.bulk-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: var(--workspace-muted); font-size: .84rem; }
.check-col { width: 48px; }
.workspace-table .form-check-input { width: 1.05rem; height: 1.05rem; margin: 0; }
.workspace-table tr.is-selected > * { background: #f4f7ff !important; }
.file-cell { display: flex; align-items: center; gap: 10px; min-width: 220px; }
.file-cell .material-symbols-outlined { font-size: 22px; color: #667085; }
.file-cell strong { font-weight: 500; }
.financial-table .money { font-variant-numeric: tabular-nums; white-space: nowrap; }
.delta { display: inline-flex; justify-content: flex-end; min-width: 62px; font-weight: 600; font-variant-numeric: tabular-nums; }
.delta.positive { color: #18794e; }
.delta.negative { color: #b42318; }
.table-total > * { background: #f7f8fa !important; font-weight: 700; border-top: 1px solid #dfe3e8; }
.table-progress { height: 7px; min-width: 150px; background: #e9ecf0; border-radius: 999px; }
.table-progress .progress-bar { background: #2458dc; border-radius: inherit; }
.responsive-records { display: grid; gap: 10px; }
.responsive-record { display: grid; grid-template-columns: minmax(180px,1.15fr) minmax(0,2fr) auto; gap: 18px; align-items: center; padding: 16px 18px; background: #fff; border: 1px solid #e8eaee; border-radius: 14px; }
.record-primary { display: flex; flex-direction: column; min-width: 0; }
.record-primary strong { font-weight: 600; }
.record-primary span { color: var(--workspace-muted); font-size: .8rem; margin-top: 2px; }
.responsive-record dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 0; }
.responsive-record dl div { min-width: 0; }
.responsive-record dt { color: var(--workspace-muted); font-size: .72rem; font-weight: 500; margin-bottom: 3px; }
.responsive-record dd { margin: 0; font-size: .87rem; font-weight: 500; }
@media (max-width: 767.98px) {
  .table-showcase-card { border-radius: 16px; }
  .table-tools { width: 100%; flex-wrap: wrap !important; }
  .table-tools .table-search { width: 100%; min-width: 0; flex: 1 1 100%; }
  .table-tools .btn { flex: 0 0 auto; }
  .table-footerbar { align-items: flex-start; flex-direction: column; }
  .responsive-record { grid-template-columns: 1fr auto; gap: 12px; }
  .responsive-record dl { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding-top: 12px; border-top: 1px solid #eceef1; }
  .responsive-record .table-icon-btn { grid-column: 2; grid-row: 1; }
}
@media (max-width: 479.98px) {
  .responsive-record dl { grid-template-columns: 1fr; }
}

/* Dropdown de ações das tabelas */
.table-row-dropdown { position: relative; }
.table-action-menu { min-width: 190px; padding: 7px; border-radius: 12px; }
.table-action-menu .dropdown-item { min-height: 38px; padding: 8px 10px; border-radius: 8px; color: #344054; font-size: .84rem; font-weight: 500; }
.table-action-menu .dropdown-item:hover,
.table-action-menu .dropdown-item:focus { background: #f5f6f8; color: var(--workspace-text); }
.table-action-menu .material-symbols-outlined { font-size: 18px; }
.table-action-menu .dropdown-divider { margin: 6px 2px; border-color: #e8eaee; }
.table-action-menu .table-action-danger { color: #c93636; }
.table-action-menu .table-action-danger:hover,
.table-action-menu .table-action-danger:focus { background: #fff3f3; color: #b42318; }
@media (min-width: 992px) {
  .tables-page .table-shell { overflow: visible; }
}


/* === CLIENTES VISUAL BOARD === */
.clients-page { padding-bottom: 8px; }
.clients-intro { max-width: 760px; color: var(--workspace-muted); font-size: .935rem; line-height: 1.65; }
.clients-heading-actions .btn { min-height: 44px; border-radius: 11px; }
.clients-toolbar { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 18px; margin-bottom: 24px; }
.owner-filter { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.client-filter-chip { min-height: 46px; padding: 5px 14px 5px 6px; border: 1px solid transparent; border-radius: 999px; background: #fff; color: #344054; display: inline-flex; align-items: center; gap: 9px; font-size: .82rem; font-weight: 600; white-space: nowrap; transition: background .15s, color .15s, border-color .15s, box-shadow .15s; }
.client-filter-chip:hover { border-color: #dce2ea; }
.client-filter-chip.is-active { background: var(--workspace-accent); color: #fff; box-shadow: 0 6px 14px #2458dc18; }
.client-filter-chip:first-child.is-active { background: #fff; color: #26323f; border-color: #e4e8ed; box-shadow: none; }
.filter-avatar, .filter-round-icon { width: 34px; height: 34px; border-radius: 50%; flex: 0 0 34px; object-fit: cover; display: inline-flex; align-items: center; justify-content: center; }
.filter-round-icon { background: #f1f3f6; color: #39485a; }
.filter-round-icon .material-symbols-outlined { font-size: 19px; }
.filter-avatar.initials { font-size: .68rem; font-weight: 700; border: 2px solid #fff; }
.initials.gb, .owner-initials.gb { background: #f1dacb; color: #633b28; }
.initials.ls, .owner-initials.ls { background: #ead7c5; color: #4b3328; }
.view-control { justify-self: center; }
.clients-kanban-btn { min-height: 46px; padding: 8px 18px; border-radius: 999px; background: #153849; color: #fff; border: 0; font-size: .82rem; font-weight: 600; }
.clients-kanban-btn:hover, .clients-kanban-btn:focus-visible { background: #0f2f3f; color: #fff; }
.clients-kanban-btn .material-symbols-outlined { font-size: 19px; }
.client-toolbar-actions { justify-self: end; display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.active-filter-control, .clients-sort-btn { min-height: 46px; background: #fff; border-radius: 999px; border: 1px solid transparent; display: inline-flex; align-items: center; gap: 10px; padding: 7px 15px; color: #344054; font-size: .82rem; font-weight: 600; white-space: nowrap; }
.active-filter-control { cursor: pointer; }
.active-filter-control .form-check-input { width: 2.45em; height: 1.36em; margin-top: 0; cursor: pointer; }
.clients-sort-btn .material-symbols-outlined { font-size: 19px; }
.clients-sort-btn .bi { font-size: 9px; }
.clients-sort-btn:hover, .clients-sort-btn.show { background: #fff; border-color: #dce2ea; }
.clients-sort-menu { min-width: 280px; padding: 10px; border-radius: 20px; }
.clients-sort-menu .dropdown-item { min-height: 50px; border-radius: 14px; font-size: .9rem; font-weight: 600; padding: 11px 14px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #172b3d; }
.clients-sort-menu .dropdown-item:hover,
.clients-sort-menu .dropdown-item:focus { background: #f5f7fa; color: #172b3d; }
.clients-sort-menu .dropdown-item.active { background: #eef0ff; color: var(--workspace-accent); font-weight: 650; }
.client-filter-check { font-size: 1.05rem; opacity: 0; }
.clients-sort-menu .dropdown-item.active .client-filter-check { opacity: 1; }
.clients-board { background: #fff; border-radius: 24px; padding: 28px 28px 20px; min-height: 520px; }
.clients-board-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
.client-column { min-width: 0; }
.client-record { position: relative; display: grid; grid-template-columns: 25px 60px minmax(0,1fr); gap: 13px; min-height: 148px; padding: 18px 4px 18px 0; border-bottom: 1px solid #edf0f3; transition: opacity .15s, background .15s; }
.client-record:last-child { border-bottom: 0; }
.client-record.is-inactive { opacity: .48; }
.client-record:hover { opacity: 1; }
.client-rank { color: #b5bdc8; font-size: .72rem; font-weight: 600; padding-top: 8px; text-align: center; }
.client-logo { width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; align-self: start; font-weight: 700; font-size: .82rem; letter-spacing: -.03em; background: #f0f2f5; color: #435064; overflow: hidden; }
.client-logo-agz { background: #673ab7; color: #fff; font-size: 1rem; }
.client-logo-blue { background: #173df0; color: #fff; font-size: 1rem; }
.client-logo-navy { background: #25336a; color: #fff; }
.client-logo-ghost { background: #f8f8f8; color: #d3d7dc; font-size: 1rem; }
.client-logo-steel { background: #dfe8ef; color: #506d82; }
.client-logo-earth { background: #554838; color: #fff; }
.client-logo-sky { background: #b9d2ef; color: #fff; }
.client-logo-gold { background: #fff; border: 1px solid #dfbd71; color: #b48a42; }
.client-logo-sand { background: #f4e5c0; color: #8f6d38; }
.client-logo-green { background: #e2f1e5; color: #256c3d; }
.client-logo-coral { background: #e98b8b; color: #fff; font-family: Georgia,serif; font-size: 1rem; }
.client-logo-qc { background: #183b46; color: #8ac65d; }
.client-record-main { min-width: 0; }
.client-record-heading { min-width: 0; }
.client-title-wrap { display: flex; align-items: center; gap: 7px; min-width: 0; }
.client-title-wrap h2 { margin: 0; font-size: .95rem; line-height: 1.25; font-weight: 650; letter-spacing: -.02em; color: #172b3d; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.client-location { display: block; margin-top: 3px; color: #8a93a0; font-size: .69rem; font-weight: 500; }
.client-owner-stack { display: flex; flex: 0 0 auto; margin-left: -23px; }
.owner-mini { width: 22px; height: 22px; border-radius: 50%; border: 0; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; box-shadow: none; font-size: .5rem; font-weight: 700; flex: 0 0 22px; }
.client-owner-stack .owner-mini + .owner-mini { margin-left: -5px; }
.client-owner-stack .owner-mini { position: relative; }
.client-owner-stack .owner-mini:nth-child(1) { z-index: 3; }
.client-owner-stack .owner-mini:nth-child(2) { z-index: 2; }
.client-owner-stack .owner-mini:nth-child(3) { z-index: 1; }
.owner-mini img { width: 100%; height: 100%; object-fit: cover; }
.client-progress-line { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; align-items: center; margin-top: 12px; }
.client-progress-track { height: 7px; border-radius: 999px; background: #e9ecef; overflow: hidden; }
.client-progress-track span { display: block; height: 100%; background: #8fd5bb; border-radius: inherit; }
.client-progress-line strong { min-width: 30px; color: #89919d; font-size: .64rem; font-weight: 650; }
.pending-badge { width: fit-content; margin-top: 9px; display: inline-flex; align-items: center; gap: 5px; min-height: 26px; padding: 4px 9px; border-radius: 999px; background: #eef0ff; color: #5466ee; font-size: .62rem; font-weight: 600; }
.pending-badge .material-symbols-outlined { font-size: 15px; }
.client-indicators { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 11px; }
.weekday-list { display: flex; align-items: center; gap: 5px; flex-shrink: 0; }
.weekday { width: 22px; height: 22px; border-radius: 50%; background: #f3f4f6; color: #98a0ac; display: inline-flex; align-items: center; justify-content: center; font-size: .56rem; font-weight: 700; }
.weekday.is-on { background: #c8e9f8; color: #42778f; }
.weekday.week-end { background: #fff; color: var(--workspace-accent); border: 1px solid var(--workspace-accent); }
.client-metrics { display: flex; align-items: center; gap: 10px; color: #7e8895; }
.client-metric { display: inline-flex; align-items: center; gap: 4px; font-size: .68rem; white-space: nowrap; }
.client-metric .material-symbols-outlined { font-size: 18px; }
.client-metric strong { color: #344054; font-size: .66rem; font-weight: 700; }
.client-attention { width: 25px; height: 25px; border-radius: 50%; background: #ed9ca4; color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.client-attention .material-symbols-outlined { font-size: 16px; }
.clients-empty-state { min-height: 400px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--workspace-muted); text-align: center; }
.clients-empty-state[hidden] { display: none; }
.clients-empty-state .material-symbols-outlined { font-size: 38px; color: #b0b8c3; }
.clients-empty-state strong { color: #566273; }
.clients-empty-state span:last-child { font-size: .8rem; }
@media (max-width: 1499.98px) {
  .clients-toolbar { grid-template-columns: 1fr auto; }
  .owner-filter { grid-column: 1 / -1; }
  .view-control { justify-self: start; }
  .client-toolbar-actions { justify-self: end; }
  .clients-board-grid { gap: 22px; }
  .client-record { grid-template-columns: 22px 52px minmax(0,1fr); gap: 10px; }
  .client-logo { width: 52px; height: 52px; }
  .weekday { width: 20px; height: 20px; }
}
@media (max-width: 1199.98px) {
  .clients-board-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .client-column:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
  .client-column:last-child .client-record { border-bottom: 1px solid #edf0f3; }
}
@media (max-width: 767.98px) {
  .clients-toolbar { display: flex; flex-direction: column; align-items: stretch; }
  .owner-filter { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
  .owner-filter::-webkit-scrollbar { display: none; }
  .view-control, .client-toolbar-actions { justify-self: auto; }
  .client-toolbar-actions { justify-content: stretch; }
  .active-filter-control, .clients-sort-btn { flex: 1 1 auto; justify-content: center; }
  .clients-board { padding: 16px; border-radius: 18px; }
  .clients-board-grid { grid-template-columns: 1fr; gap: 0; }
  .client-column:last-child { grid-column: auto; display: block; }
  .client-record { min-height: 144px; grid-template-columns: 20px 48px minmax(0,1fr); padding-right: 0; }
  .client-logo { width: 48px; height: 48px; }
  .client-title-wrap h2 { font-size: .86rem; }
  .client-indicators { align-items: flex-end; flex-direction: column; }
  .weekday-list { align-self: flex-start; }
  .client-metrics { align-self: flex-end; }
}

/* SORTABLE RESULTS -------------------------------------------------------- */
.sortable-results { display: flex; flex-direction: column; gap: 10px; }
.sortable-result-item { min-height: 64px; padding: 10px 12px; border-radius: 15px; background: #f7f8fa; display: grid; grid-template-columns: 38px 34px minmax(0,1fr) auto; gap: 10px; align-items: center; transition: background .16s ease, box-shadow .16s ease, transform .16s ease, opacity .16s ease; }
.sortable-result-item[draggable="true"] { cursor: grab; }
.sortable-result-item.is-dragging { opacity: .48; transform: scale(.995); cursor: grabbing; }
.sortable-result-item.is-drop-target { background: #eef2ff; box-shadow: inset 0 0 0 1px #bcc9ff; }
.sortable-position { width: 34px; height: 34px; border-radius: 10px; background: #fff; display: inline-flex; align-items: center; justify-content: center; color: #7c8796; font-size: .68rem; font-weight: 700; }
.sortable-handle { width: 34px; height: 34px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: #8b95a2; display: inline-flex; align-items: center; justify-content: center; cursor: grab; }
.sortable-handle:hover, .sortable-handle:focus-visible { background: #fff; color: #405064; }
.sortable-handle .material-symbols-outlined { font-size: 21px; }
.sortable-result-copy { min-width: 0; }
.sortable-result-copy strong { display: block; color: #2f3d4d; font-size: .78rem; font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sortable-result-copy span { display: block; margin-top: 2px; color: #8a94a1; font-size: .65rem; }
.sortable-keyboard-actions { display: flex; gap: 4px; }
.sortable-keyboard-actions button { width: 32px; height: 32px; padding: 0; border: 0; border-radius: 9px; background: #fff; color: #778290; display: inline-flex; align-items: center; justify-content: center; }
.sortable-keyboard-actions button:hover:not(:disabled) { color: var(--workspace-accent); background: #edf2ff; }
.sortable-keyboard-actions button:disabled { opacity: .35; }
.sortable-keyboard-actions .material-symbols-outlined { font-size: 18px; }
.sortable-helper { display: flex; align-items: center; gap: 7px; margin-top: 12px; color: #8993a0; font-size: .65rem; line-height: 1.5; }
.sortable-helper .material-symbols-outlined { font-size: 17px; }
@media (max-width: 575.98px) { .sortable-result-item { grid-template-columns: 34px 30px minmax(0,1fr); } .sortable-keyboard-actions { grid-column: 3; justify-self: start; } }

/* ALERTAS & BADGES -------------------------------------------------------- */
.alerts-page { position: relative; }
.alerts-intro { max-width: 820px; color: var(--workspace-muted); font-size: .88rem; line-height: 1.65; }
.alerts-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 28px; }
.alert-showcase-card { background: #fff; border: 0; border-radius: 22px; padding: 24px; min-width: 0; }
.alert-showcase-wide { grid-column: 1 / -1; }
.alert-section-head { margin-bottom: 20px; }
.alert-card-title { margin: 0 0 5px; color: #172b3d; font-size: 1rem; font-weight: 650; letter-spacing: -.02em; }
.alert-card-note { margin: 0; color: #7d8795; font-size: .76rem; line-height: 1.55; }
.badge-showcase-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.agz-badge { min-height: 28px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 5px 10px; border-radius: 999px; font-size: .68rem; line-height: 1; font-weight: 650; white-space: nowrap; }
.agz-badge .material-symbols-outlined { font-size: 15px; }
.badge-dot { width: 7px; height: 7px; border-radius: 50%; flex: 0 0 7px; }
.badge-success { background: #e8f7ef; color: #28704b; } .badge-success .badge-dot { background: #4aaa78; }
.badge-warning { background: #fff5dd; color: #8a651e; } .badge-warning .badge-dot { background: #e0a72f; }
.badge-danger { background: #fdeced; color: #a8434c; } .badge-danger .badge-dot { background: #d95a65; }
.badge-info { background: #e8f3fa; color: #33718f; } .badge-info .badge-dot { background: #4c9bc1; }
.badge-neutral { background: #f0f2f5; color: #66717f; } .badge-neutral .badge-dot { background: #9aa2ad; }
.badge-accent { background: #eef0ff; color: var(--workspace-accent); } .badge-accent .badge-dot { background: var(--workspace-accent); }
.badge-outline-accent { background: #fff; color: var(--workspace-accent); box-shadow: inset 0 0 0 1px #bfc6ff; }
.badge-soft { background: #f3f5f8; color: #49576a; }
.badge-format-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.badge-format-item { min-height: 92px; border-radius: 16px; background: #f8f9fb; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; }
.badge-format-item small { color: #8993a0; font-size: .65rem; font-weight: 500; }
.agz-count-badge { min-width: 30px; height: 30px; padding: 0 8px; border-radius: 999px; background: #172b3d; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .68rem; font-weight: 700; }
.agz-icon-badge { width: 38px; height: 38px; border-radius: 12px; background: #fff; color: #344054; display: inline-flex; align-items: center; justify-content: center; position: relative; box-shadow: inset 0 0 0 1px #e8ebef; }
.agz-icon-badge .material-symbols-outlined { font-size: 20px; }
.agz-icon-badge b { position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 999px; background: var(--workspace-accent); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .52rem; font-weight: 700; box-shadow: 0 0 0 3px #f8f9fb; }
.agz-dot-only { width: 12px; height: 12px; border-radius: 50%; background: var(--workspace-accent); box-shadow: 0 0 0 4px #e9ebff; }
.alert-behavior-chip { min-height: 32px; padding: 6px 10px; border-radius: 999px; background: #f3f5f8; color: #66717f; display: inline-flex; align-items: center; gap: 6px; font-size: .66rem; font-weight: 600; white-space: nowrap; }
.alert-behavior-chip .material-symbols-outlined { font-size: 16px; }
.alert-demo-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.alert-demo-btn { min-height: 42px; padding: 9px 14px; border-radius: 12px; border: 0; display: inline-flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 650; transition: transform .16s ease, filter .16s ease; }
.alert-demo-btn:hover { transform: translateY(-1px); filter: brightness(.985); }
.alert-demo-btn .material-symbols-outlined { font-size: 19px; }
.alert-demo-btn.is-success { background: #e8f7ef; color: #28704b; }
.alert-demo-btn.is-info { background: #e8f3fa; color: #33718f; }
.alert-demo-btn.is-warning { background: #fff5dd; color: #8a651e; }
.alert-demo-btn.is-danger { background: #fdeced; color: #a8434c; }
.alert-demo-description { margin-top: 18px; padding: 16px 18px; border-radius: 16px; background: #f8f9fb; display: flex; align-items: flex-start; gap: 12px; }
.alert-demo-description > .material-symbols-outlined { color: var(--workspace-accent); font-size: 22px; }
.alert-demo-description strong { color: #26384b; font-size: .78rem; font-weight: 650; }
.alert-demo-description p { margin: 3px 0 0; color: #7d8795; font-size: .71rem; line-height: 1.5; }
.workspace-alert-stack { position: fixed; z-index: 1090; top: 82px; left: calc(var(--workspace-inset) + var(--workspace-rail) + 34px); width: min(430px,calc(100vw - (var(--workspace-inset) + var(--workspace-rail) + 58px))); display: flex; flex-direction: column; gap: 10px; pointer-events: none; }
.workspace-floating-alert { --alert-rgb: 51,113,143; position: relative; overflow: hidden; min-height: 72px; padding: 14px 44px 16px 14px; border-radius: 18px; background: rgba(255,255,255,.98); box-shadow: 0 18px 50px rgba(24,39,56,.16); display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 12px; align-items: center; opacity: 0; transform: translateY(-18px) scale(.985); transition: opacity .32s ease, transform .38s cubic-bezier(.2,.8,.2,1); pointer-events: auto; }
.workspace-floating-alert.is-visible { opacity: 1; transform: translateY(0) scale(1); }
.workspace-floating-alert.is-leaving { opacity: 0; transform: translateY(-10px) scale(.985); }
.floating-alert-icon { width: 38px; height: 38px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: rgba(var(--alert-rgb),.12); color: rgb(var(--alert-rgb)); font-size: 22px; animation: alertIconPop .72s cubic-bezier(.2,.9,.2,1) both, alertIconPulse 1.8s ease-in-out .75s infinite; }
.alert-success { --alert-rgb: 53,143,96; } .alert-info { --alert-rgb: 51,113,143; } .alert-warning { --alert-rgb: 188,132,30; } .alert-danger { --alert-rgb: 176,65,77; }
.floating-alert-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.floating-alert-copy strong { color: #233548; font-size: .78rem; font-weight: 650; }
.floating-alert-copy span { color: #7c8795; font-size: .7rem; line-height: 1.45; }
.floating-alert-close { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; padding: 0; border-radius: 9px; color: #8d96a2; display: inline-flex; align-items: center; justify-content: center; }
.floating-alert-close:hover { background: #f2f4f7; color: #3a4654; }
.floating-alert-close .material-symbols-outlined { font-size: 18px; }
.floating-alert-progress { position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: rgba(var(--alert-rgb),.55); transform-origin: left; animation: alertProgress 4s linear forwards; }
@keyframes alertIconPop { 0% { transform: scale(.55) rotate(-15deg); opacity: .2; } 62% { transform: scale(1.12) rotate(5deg); opacity: 1; } 100% { transform: scale(1) rotate(0); } }
@keyframes alertIconPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.08); } }
@keyframes alertProgress { from { transform: scaleX(1); } to { transform: scaleX(0); } }
.inline-alert-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.agz-inline-alert { min-height: 88px; padding: 15px 42px 15px 15px; border-radius: 16px; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 11px; align-items: start; position: relative; transition: opacity .22s ease, transform .22s ease; }
.agz-inline-alert > .material-symbols-outlined { width: 34px; height: 34px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; }
.agz-inline-alert strong { display: block; margin-top: 1px; color: #293a4c; font-size: .76rem; font-weight: 650; }
.agz-inline-alert p { margin: 3px 0 0; color: #6f7b89; font-size: .7rem; line-height: 1.48; }
.inline-info { background: #eef6fb; } .inline-info > .material-symbols-outlined { background: #dceefa; color: #397b9b; }
.inline-warning { background: #fff7e7; } .inline-warning > .material-symbols-outlined { background: #ffedc2; color: #a8771e; }
.inline-success { background: #edf8f2; } .inline-success > .material-symbols-outlined { background: #d9f0e4; color: #337d57; }
.inline-danger { background: #fdf0f1; } .inline-danger > .material-symbols-outlined { background: #f8dfe2; color: #ad4d57; }
.inline-alert-close { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; color: #8993a0; }
.inline-alert-close:hover { background: rgba(255,255,255,.62); color: #344054; }
.inline-alert-close .material-symbols-outlined { font-size: 18px; }
.agz-inline-alert.is-inline-leaving { opacity: 0; transform: translateY(-5px); }
.notification-samples { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.notification-button { min-height: 42px; padding: 7px 11px; border-radius: 12px; background: #f7f8fa; color: #344054; display: inline-flex; align-items: center; gap: 8px; border: 0; font-size: .72rem; font-weight: 600; }
.notification-button > .material-symbols-outlined { font-size: 19px; }
.notification-number { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--workspace-accent); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .55rem; font-weight: 700; }
.notification-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--workspace-accent); box-shadow: 0 0 0 3px #e9ebff; margin-left: 3px; }
.notification-avatar-wrap { display: flex; align-items: center; gap: 10px; position: relative; }
.notification-avatar-wrap img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.notification-online-dot { position: absolute; width: 11px; height: 11px; border-radius: 50%; background: #48ad77; border: 2px solid #fff; left: 30px; top: 28px; }
.notification-avatar-wrap strong { display: block; color: #344054; font-size: .74rem; font-weight: 650; }
.notification-avatar-wrap small { display: block; color: #8d96a2; font-size: .62rem; margin-top: 1px; }
.priority-list { display: flex; flex-direction: column; gap: 8px; }
.priority-list > div { min-height: 52px; padding: 10px 12px; border-radius: 14px; background: #f8f9fb; display: grid; grid-template-columns: 10px 58px minmax(0,1fr); align-items: center; gap: 9px; }
.priority-mark { width: 9px; height: 9px; border-radius: 50%; }
.priority-high { background: #d95a65; } .priority-medium { background: #e0a72f; } .priority-low { background: #67a9c7; }
.priority-list strong { color: #344054; font-size: .72rem; font-weight: 650; }
.priority-list small { color: #8993a0; font-size: .65rem; }
@media (max-width: 991.98px) { .alerts-grid { grid-template-columns: 1fr; } .alert-showcase-wide { grid-column: auto; } .inline-alert-list { grid-template-columns: 1fr; } }
@media (max-width: 767.98px) { .alert-showcase-card { padding: 18px; border-radius: 18px; } .badge-format-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .workspace-alert-stack { top: 82px; left: 16px; width: calc(100vw - 32px); } .alert-demo-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); } .alert-demo-btn { justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .workspace-floating-alert, .floating-alert-icon, .floating-alert-progress, .agz-inline-alert { animation: none !important; transition-duration: .01ms !important; } }


/* Agenda */
.agenda-page { padding-bottom: 40px; }
.agenda-intro { max-width: 760px; color: #7b8592; font-size: .82rem; line-height: 1.55; }
.agenda-toolbar { margin: 22px 0 18px; display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.agenda-segmented { display:inline-flex; gap:5px; padding:5px; border-radius:14px; background:#fff; }
.agenda-filter { border:0; background:transparent; color:#7a8491; border-radius:10px; padding:9px 13px; font-size:.72rem; font-weight:600; transition:.18s ease; }
.agenda-filter:hover { color:#233548; background:#f5f6f8; }
.agenda-filter.is-active { color:#fff; background:var(--workspace-accent); }
.agenda-search-wrap { width:min(320px,100%); min-height:42px; border-radius:13px; background:#fff; display:flex; align-items:center; gap:9px; padding:0 13px; }
.agenda-search-wrap .material-symbols-outlined { color:#96a0ad; font-size:19px; }
.agenda-search-wrap input { width:100%; border:0; outline:0; background:transparent; color:#233548; font-size:.73rem; }
.agenda-search-wrap input::placeholder { color:#a2aab4; }
.agenda-layout { display:grid; grid-template-columns:minmax(300px, .72fr) minmax(560px, 1.55fr); gap:14px; align-items:start; }
.agenda-calendar-panel, .agenda-list-panel { padding:24px; }
.agenda-calendar-panel { background:transparent; border-radius:0; }
.agenda-list-panel { background:#fff; border-radius:28px; }
.agenda-calendar-panel { position:sticky; top:86px; }
.agenda-calendar-head { display:grid; grid-template-columns:40px 1fr 40px; align-items:center; gap:10px; margin-bottom:22px; }
.agenda-calendar-head > div { text-align:center; }
.agenda-calendar-head strong { display:block; color:#1d3143; font-size:1.18rem; font-weight:700; text-transform:uppercase; letter-spacing:-.02em; }
.agenda-calendar-head span { display:block; margin-top:1px; color:#8d96a2; font-size:.68rem; font-weight:600; }
.agenda-month-nav { width:40px; height:40px; border:0; border-radius:12px; background:#f4f5f7; color:#26394b; display:inline-flex; align-items:center; justify-content:center; }
.agenda-month-nav:hover { background:#eaedf1; }
.agenda-month-nav .material-symbols-outlined { font-size:20px; }
.agenda-weekdays, .agenda-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.agenda-weekdays { margin-bottom:7px; }
.agenda-weekdays span { text-align:center; color:#9aa3ae; font-size:.56rem; font-weight:700; }
.agenda-calendar-grid { gap:4px; }
.agenda-day { position:relative; min-width:0; aspect-ratio:1; border:0; border-radius:12px; background:transparent; color:#25384b; display:flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:650; transition:.16s ease; }
.agenda-day:hover { background:#f4f5f8; }
.agenda-day.is-muted { color:#c0c5cc; }
.agenda-day.is-selected { background:var(--workspace-accent); color:#fff; box-shadow:0 7px 18px rgba(26,32,255,.18); }
.agenda-day-dots { position:absolute; left:50%; bottom:4px; transform:translateX(-50%); display:flex; gap:2px; }
.agenda-day-dots b { width:4px; height:4px; border-radius:50%; display:block; }
.agenda-day-dots b.special { background:#6d78ff; } .agenda-day-dots b.holiday { background:#e1a02f; }
.agenda-day.is-selected .agenda-day-dots b { background:#fff; }
.agenda-calendar-legend { margin-top:20px; padding-top:16px; border-top:1px solid #edf0f3; display:flex; gap:16px; flex-wrap:wrap; }
.agenda-calendar-legend span { display:inline-flex; align-items:center; gap:6px; color:#7d8793; font-size:.63rem; font-weight:550; }
.legend-dot { width:7px; height:7px; border-radius:50%; } .legend-dot.is-holiday { background:#e1a02f; } .legend-dot.is-special { background:#6d78ff; }
.agenda-list-panel { min-width:0; }
.agenda-list-head { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:18px; padding:2px 4px; }
.agenda-kicker { display:block; color:#929ba7; font-size:.58rem; font-weight:700; letter-spacing:.14em; }
.agenda-list-head h2 { margin:2px 0 0; color:#193044; font-size:1.6rem; font-weight:750; text-transform:uppercase; letter-spacing:-.035em; }
.agenda-count { display:flex; align-items:baseline; gap:5px; color:#8d97a3; }
.agenda-count strong { color:#25394b; font-size:1rem; font-weight:700; }
.agenda-count span { font-size:.65rem; font-weight:550; }
.agenda-events { display:flex; flex-direction:column; gap:9px; }
.agenda-event { min-height:82px; display:grid; grid-template-columns:64px minmax(0,1fr) 42px; align-items:center; gap:16px; padding:12px 14px 12px 16px; border-radius:18px; background:#f5f6f8; transition:transform .16s ease, background .16s ease; }
.agenda-event:hover { transform:translateY(-1px); background:#f1f3f6; }
.agenda-event[hidden] { display:none !important; }
.agenda-event-date { min-height:54px; border-right:1px solid #e0e4e8; display:grid; grid-template-columns:auto auto; grid-template-rows:auto auto; align-content:center; justify-content:start; column-gap:6px; padding-right:14px; }
.agenda-event-date strong { grid-row:1/3; align-self:center; color:#173044; font-size:1.42rem; line-height:1; font-weight:750; letter-spacing:-.05em; }
.agenda-event-date span { color:#7d8793; font-size:.56rem; font-weight:700; align-self:end; }
.agenda-event-date small { color:#a0a8b2; font-size:.54rem; font-weight:700; align-self:start; }
.agenda-event-copy { min-width:0; }
.agenda-event-copy h3 { margin:4px 0 0; color:#152d40; font-size:.84rem; line-height:1.3; font-weight:650; }
.agenda-event-copy p { margin:3px 0 0; color:#8c96a2; font-size:.63rem; }
.agenda-event-type { display:inline-flex; align-items:center; min-height:22px; padding:4px 7px; border-radius:999px; font-size:.54rem; font-weight:700; }
.agenda-event-type.is-special { color:#5965dc; background:#e9ebff; }
.agenda-event-type.is-holiday { color:#916619; background:#fff0cb; }
.agenda-event-action { width:38px; height:38px; border:0; border-radius:12px; background:#fff; color:#274158; display:inline-flex; align-items:center; justify-content:center; }
.agenda-event-action:hover { color:var(--workspace-accent); }
.agenda-event-action .material-symbols-outlined { font-size:19px; }
.agenda-empty { padding:50px 20px; text-align:center; color:#929ca7; }
.agenda-empty .material-symbols-outlined { font-size:34px; color:#aab2bc; }
.agenda-empty strong { display:block; margin-top:8px; color:#516071; font-size:.82rem; }
.agenda-empty p { margin:4px 0 0; font-size:.68rem; }
@media (max-width:1199.98px){ .agenda-layout{grid-template-columns:1fr;} .agenda-calendar-panel{position:static;} }
@media (max-width:767.98px){ .agenda-calendar-panel,.agenda-list-panel{padding:18px;} .agenda-calendar-panel{border-radius:0;} .agenda-list-panel{border-radius:22px;} .agenda-toolbar{align-items:stretch;} .agenda-segmented{width:100%;} .agenda-filter{flex:1;padding-inline:8px;} .agenda-search-wrap{width:100%;} .agenda-event{grid-template-columns:56px minmax(0,1fr) 38px;gap:10px;padding:11px;} .agenda-event-date{padding-right:9px;} .agenda-event-copy h3{font-size:.76rem;} }


/* Agenda modal de cadastro */
.agenda-date-modal .modal-content{border:0;border-radius:26px;box-shadow:0 24px 70px rgba(16,38,51,.18);overflow:hidden;}
.agenda-date-modal .modal-header{border-bottom:1px solid rgba(16,38,51,.08);padding:22px 24px 18px;}
.agenda-date-modal .modal-body{padding:22px 24px 8px;}
.agenda-date-modal .modal-footer{border-top:0;padding:12px 24px 24px;}
.agenda-date-modal .modal-title{font-size:1.05rem;font-weight:700;color:#102633;}
.agenda-modal-date{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#f1f2f4;color:#52606a;font-size:.78rem;font-weight:600;margin-top:6px;}
.agenda-date-modal .form-label{font-size:.78rem;font-weight:600;color:#102633;margin-bottom:7px;}
.agenda-date-modal .form-control,.agenda-date-modal .form-select{min-height:46px;border-radius:14px;border-color:#dfe3e7;font-size:.86rem;padding-left:14px;}
.agenda-date-modal .form-control:focus,.agenda-date-modal .form-select:focus{border-color:#1f2cff;box-shadow:0 0 0 .18rem rgba(31,44,255,.10);}
.agenda-day-dots b.birthday,.legend-dot.is-birthday{background:#8a5cf6;}
.agenda-event-type.is-birthday{background:#f0eaff;color:#6f42d8;}


/* Formulários: alertas de calendário e modelos de modal */
.calendar-alert-demo-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.calendar-alert-overlay { position:fixed; inset:0; z-index:1085; display:flex; align-items:center; justify-content:center; padding:24px; pointer-events:none; opacity:0; visibility:hidden; background:rgba(246,245,241,.30); -webkit-backdrop-filter:blur(12px) saturate(.78); backdrop-filter:blur(12px) saturate(.78); transition:opacity .28s ease, visibility .28s ease, background-color .28s ease; }
.calendar-alert-overlay.is-visible { opacity:1; visibility:visible; }
.calendar-alert-panel { width:min(520px, 100%); background:rgba(255,255,255,.97); border:1px solid rgba(255,255,255,.72); border-radius:24px; box-shadow:0 28px 90px rgba(20,31,46,.26); padding:24px; pointer-events:auto; transform:translateY(-18px) scale(.985); transition:transform .28s cubic-bezier(.2,.8,.2,1), opacity .22s ease; opacity:0; }
.calendar-alert-overlay.is-visible .calendar-alert-panel { transform:translateY(0) scale(1); opacity:1; }
.calendar-alert-icon { width:58px; height:58px; border-radius:18px; display:inline-flex; align-items:center; justify-content:center; background:#eef2ff; color:var(--workspace-accent); flex:0 0 auto; }
.calendar-alert-icon .material-symbols-outlined { font-size:30px; --icon-weight:360; animation:calendarAlertPulse 1.7s ease-in-out infinite; }
.calendar-alert-date { color:var(--workspace-accent); font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.calendar-alert-title { margin:3px 0 4px; color:#263748; font-size:1.08rem; font-weight:700; }
.calendar-alert-text { margin:0; color:#7f8996; font-size:.73rem; line-height:1.6; }
.calendar-alert-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; margin-top:22px; }
.calendar-alert-actions .btn { min-height:42px; border-radius:11px; font-size:.72rem; font-weight:600; }
@keyframes calendarAlertPulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.12); } }

.modal-model-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.modal-model-card { min-width:0; padding:16px; border-radius:16px; background:#f7f8fa; display:flex; flex-direction:column; gap:12px; }
.modal-model-icon { width:42px; height:42px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background:#fff; color:#536170; }
.modal-model-icon .material-symbols-outlined { font-size:22px; }
.modal-model-card strong { display:block; color:#2f3d4d; font-size:.78rem; }
.modal-model-card p { margin:4px 0 0; color:#8993a0; font-size:.65rem; line-height:1.5; }
.modal-model-card .btn { margin-top:auto; min-height:39px; border-radius:10px; font-size:.68rem; font-weight:600; }
.workspace-modal .modal-content { border:0; border-radius:22px; box-shadow:0 24px 80px rgba(18,30,44,.2); overflow:hidden; }
.workspace-modal .modal-header { padding:20px 22px 12px; border:0; }
.workspace-modal .modal-title { color:#28394a; font-size:.95rem; font-weight:700; }
.workspace-modal .modal-body { padding:12px 22px 20px; color:#75808e; font-size:.74rem; }
.workspace-modal .modal-footer { padding:14px 22px 20px; border:0; gap:8px; }
.workspace-modal .modal-footer .btn { min-height:40px; border-radius:10px; font-size:.7rem; font-weight:600; }
.workspace-modal .modal-header .btn-close { box-shadow:none; }
.modal-detail-list { display:grid; gap:10px; margin:0; }
.modal-detail-row { display:flex; justify-content:space-between; gap:18px; padding:11px 0; border-bottom:1px solid #edf0f3; }
.modal-detail-row:last-child { border-bottom:0; }
.modal-detail-row span { color:#929ba7; }
.modal-detail-row strong { color:#354354; font-weight:600; text-align:right; }
.modal-danger-icon { width:54px; height:54px; margin:2px auto 14px; border-radius:17px; display:flex; align-items:center; justify-content:center; background:#fff0f1; color:#d9454f; }
.modal-danger-icon .material-symbols-outlined { font-size:27px; }
@media (max-width:991.98px) { .modal-model-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:575.98px) { .calendar-alert-overlay { padding:16px; } .calendar-alert-panel { padding:19px; border-radius:20px; } .calendar-alert-actions { flex-direction:column-reverse; } .calendar-alert-actions .btn { width:100%; } .modal-model-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .calendar-alert-overlay,.calendar-alert-panel { transition:none; } .calendar-alert-icon .material-symbols-outlined { animation:none; } }


/* Forms · switch padrão Workspace (refeito conforme referência aprovada) */
.form-page .form-switch { padding-left:0; display:flex; align-items:center; gap:20px; }
.form-page .form-switch .form-check-input {
  float:none; margin:0; width:50px; height:28px; flex:0 0 50px;
  border:1px solid #c9ced4; border-radius:8px; background:#e5e6e8;
  background-image:none !important; position:relative; appearance:none; -webkit-appearance:none;
  cursor:pointer; box-shadow:inset 0 1px 2px rgba(18,30,44,.07); transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.form-page .form-switch .form-check-input::after {
  content:""; position:absolute; top:-1px; left:-1px; width:27px; height:28px;
  border-radius:8px; background:#fff; border:1px solid #c4c9cf;
  box-shadow:0 2px 5px rgba(18,30,44,.14); transition:transform .2s ease,border-color .2s ease;
}
.form-page .form-switch .form-check-input:checked { background:#2f7cf6; border-color:#105cff; }
.form-page .form-switch .form-check-input:checked::after { transform:translateX(23px); border-color:#105cff; }
.form-page .form-switch .form-check-input:focus { box-shadow:0 0 0 3px rgba(26,32,255,.12); }
.form-page .form-switch .form-check-label { margin:0; }

/* Calendário · Caderninho */
.notebook-list-panel { background:#fff; border-radius:28px; padding:28px; min-width:0; }
.notebook-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:22px; }
.notebook-head h2 { margin:2px 0 0; color:#193044; font-size:1.6rem; font-weight:750; letter-spacing:-.035em; }
.notebook-tabs { display:inline-flex; gap:4px; padding:5px; border-radius:14px; background:#f2f3f6; }
.notebook-tab { border:0; border-radius:10px; background:transparent; color:#858e9b; padding:9px 14px; font-size:.7rem; font-weight:700; }
.notebook-tab.is-active { color:var(--workspace-accent); background:#fff; box-shadow:0 4px 14px rgba(24,34,48,.06); }
.notebook-summary { padding:7px 11px; border-radius:999px; background:#f2f3f6; color:#8b94a0; font-size:.62rem; font-weight:700; white-space:nowrap; }
.notebook-bulk { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:14px 16px; margin-bottom:18px; border-radius:18px; background:#eef0ff; }
.notebook-bulk-left,.notebook-bulk-right { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.notebook-bulk label { color:#24384a; font-size:.68rem; font-weight:650; }
.notebook-selected { padding:7px 10px; border-radius:999px; background:#fff2c9; color:#956b13; font-size:.59rem; font-weight:700; }
.notebook-date-label { color:#8d96a2; font-size:.62rem; font-weight:650; }
.notebook-pay-date { min-height:40px; border:0; border-radius:11px; background:#fff; padding:0 12px; color:#24384a; font-size:.68rem; font-weight:650; }
.notebook-pay-btn { min-height:40px; border:0; border-radius:12px; background:#777bff; color:#fff; padding:0 15px; font-size:.67rem; font-weight:700; display:inline-flex; align-items:center; gap:7px; }
.notebook-client { margin-top:18px; }
.notebook-client-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:4px; }
.notebook-client-head h3 { margin:0; color:#193044; font-size:.91rem; font-weight:700; }
.notebook-client-total { padding:6px 9px; border-radius:999px; background:#f2f3f6; color:#89929e; font-size:.58rem; font-weight:700; }
.notebook-item { display:grid; grid-template-columns:34px 58px minmax(0,1fr) auto auto; align-items:center; gap:12px; min-height:76px; border-bottom:1px solid #edf0f3; }
.notebook-item:last-child { border-bottom:0; }
.notebook-item-date strong { display:block; color:#173044; font-size:1.28rem; line-height:1; font-weight:750; }
.notebook-item-date span { display:block; margin-top:4px; color:#919aa5; font-size:.54rem; font-weight:700; }
.notebook-item-copy strong { display:block; color:#173044; font-size:.75rem; line-height:1.35; }
.notebook-item-copy small { display:block; margin-top:3px; color:#9099a5; font-size:.52rem; font-weight:700; text-transform:uppercase; }
.notebook-value { color:#173044; font-size:.72rem; font-weight:750; white-space:nowrap; }
.notebook-status { padding:7px 10px; border-radius:999px; background:#fff2c9; color:#956b13; font-size:.55rem; font-weight:700; white-space:nowrap; }
.notebook-status.is-paid { background:#e6f6ee; color:#34785b; }

/* Calendário · Alertas */
.calendar-alerts-panel { background:#fff; border-radius:28px; padding:28px; min-width:0; }
.calendar-alerts-head { margin-bottom:20px; }
.calendar-alerts-head h2 { margin:2px 0 0; color:#193044; font-size:1.6rem; font-weight:750; letter-spacing:-.035em; }
.calendar-alert-list { display:flex; flex-direction:column; gap:10px; }
.calendar-alert-row { min-height:82px; display:grid; grid-template-columns:48px 60px minmax(0,1fr) 38px; align-items:center; gap:14px; padding:11px 14px; border-radius:18px; background:#f5f6f8; }
.calendar-alert-row.is-shown { opacity:.42; }
.calendar-alert-bell { width:42px; height:42px; border-radius:50%; background:#fff; color:#7682ff; display:flex; align-items:center; justify-content:center; }
.calendar-alert-bell .material-symbols-outlined { font-size:20px; }
.calendar-alert-row.is-pending .calendar-alert-bell { color:var(--workspace-accent); }
.calendar-alert-when strong { display:block; color:#173044; font-size:1.3rem; line-height:1; font-weight:750; }
.calendar-alert-when span { display:block; margin-top:4px; color:#8d96a2; font-size:.54rem; font-weight:700; }
.calendar-alert-copy strong { display:block; color:#173044; font-size:.76rem; font-weight:750; text-transform:uppercase; }
.calendar-alert-copy small { display:block; margin-top:4px; color:#8f98a4; font-size:.54rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.calendar-alert-remove { width:36px; height:36px; border:0; border-radius:50%; background:#fff; color:#8e98a4; display:flex; align-items:center; justify-content:center; }
.calendar-alert-remove:hover { color:#dc3545; }

@media (max-width: 991.98px) {
  .notebook-item { grid-template-columns:34px 52px minmax(0,1fr) auto; }
  .notebook-status { grid-column:3/-1; justify-self:start; margin-bottom:10px; }
  .calendar-alert-row { grid-template-columns:42px 52px minmax(0,1fr) 36px; }
}
@media (max-width: 575.98px) {
  .notebook-list-panel,.calendar-alerts-panel { padding:18px; border-radius:22px; }
  .notebook-bulk-right { width:100%; }
  .notebook-pay-date,.notebook-pay-btn { flex:1; min-width:0; }
  .notebook-item { grid-template-columns:28px 46px minmax(0,1fr); padding:10px 0; }
  .notebook-value,.notebook-status { grid-column:3; justify-self:start; }
  .calendar-alert-row { grid-template-columns:40px 46px minmax(0,1fr); }
  .calendar-alert-remove { grid-column:3; justify-self:end; }
}

/* IA Lab · Prompts */
.prompts-page { padding-bottom: 44px; }
.prompts-intro { max-width: 680px; color:#7c8794; font-size:.82rem; line-height:1.6; }
.prompts-page-actions { padding-top:2px; }
.prompts-action-btn { min-height:42px; padding:0 15px; border-radius:12px; display:inline-flex; align-items:center; gap:7px; font-size:.72rem; font-weight:650; }
.prompts-action-btn .material-symbols-outlined { font-size:18px; }
.prompts-hero { min-height:174px; padding:30px 32px; border-radius:28px; background:#fff; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.prompts-kicker,.prompts-section-label { color:#818a97; font-size:.68rem; font-weight:750; letter-spacing:.14em; }
.prompts-hero h2 { margin:4px 0 8px; color:#193044; font-size:2.55rem; font-weight:780; letter-spacing:-.055em; line-height:1; }
.prompts-hero h2 span { color:var(--workspace-accent); }
.prompts-hero p { margin:0; max-width:none; color:#7b8592; font-size:.8rem; line-height:1.58; white-space:nowrap; }
.prompts-hero-icon { width:64px; height:64px; border-radius:19px; background:#eef0ff; color:var(--workspace-accent); display:flex; align-items:center; justify-content:center; flex:0 0 64px; }
.prompts-hero-icon .material-symbols-outlined { font-size:31px; --icon-weight:320; }
.prompts-controls { margin-top:22px; display:grid; grid-template-columns:1fr; gap:18px; align-items:start; }
.prompts-category-block { min-width:0; }
.prompts-category-list { margin-top:8px; display:flex; flex-wrap:wrap; gap:7px; }
.prompt-category { min-height:40px; padding:0 14px; border:0; border-radius:999px; background:#fff; color:#233649; display:inline-flex; align-items:center; gap:8px; font-size:.82rem; font-weight:650; transition:.18s ease; }
.prompt-category span { min-width:23px; height:23px; padding:0 7px; border-radius:999px; background:#f1f2f5; color:#8b94a0; display:inline-flex; align-items:center; justify-content:center; font-size:.68rem; }
.prompt-category:hover { transform:translateY(-1px); color:var(--workspace-accent); }
.prompt-category.is-active { background:var(--workspace-accent); color:#fff; }
.prompt-category.is-active span { background:rgba(255,255,255,.17); color:#fff; }
.prompts-category-extra { max-height:0; opacity:0; overflow:hidden; transition:max-height .42s cubic-bezier(.2,.75,.25,1), opacity .25s ease; }
.prompts-category-extra.is-open { max-height:520px; opacity:1; }
.prompts-more-btn { margin-top:10px; min-height:38px; padding:0 11px; border:0; border-radius:10px; background:transparent; color:#667283; display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:650; }
.prompts-more-btn:hover { background:#fff; color:#233649; }
.prompts-more-btn i { font-size:.78rem; }
.prompts-search-block { width:100%; min-width:0; display:grid; gap:9px; }
.prompts-search { width:100%; min-height:48px; padding:0 15px; border-radius:13px; background:#fff; display:flex; align-items:center; gap:10px; }
.prompts-search .material-symbols-outlined { color:#98a1ad; font-size:19px; }
.prompts-search input { width:100%; border:0; outline:0; background:transparent; color:#233649; font-size:.82rem; }
.prompts-search input::placeholder { color:#9aa3ae; }
.prompts-clear { justify-self:end; border:0; background:transparent; color:#8b94a0; font-size:.74rem; font-weight:650; padding:4px 0; }
.prompts-clear:hover { color:var(--workspace-accent); }
.prompts-results-head { margin:24px 0 12px; display:flex; justify-content:space-between; gap:12px; color:#8b94a0; font-size:.78rem; }
.prompts-results-head strong { color:#213648; font-weight:700; }
.prompt-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; align-items:stretch; }
.prompt-card { min-width:0; border-radius:22px; background:#fff; overflow:hidden; display:flex; flex-direction:column; }
.prompt-card[hidden] { display:none; }
.prompt-card-media { position:relative; aspect-ratio:1.25/1; overflow:hidden; background:#e9edf2; }
.prompt-card-media img { width:100%; height:100%; object-fit:cover; display:block; }
.prompt-edit { position:absolute; top:10px; right:10px; width:36px; height:36px; border:0; border-radius:11px; background:rgba(255,255,255,.94); color:#233649; display:flex; align-items:center; justify-content:center; box-shadow:0 5px 18px rgba(20,34,48,.1); }
.prompt-edit:hover { color:var(--workspace-accent); transform:translateY(-1px); }
.prompt-edit .material-symbols-outlined { font-size:18px; }
.prompt-card-body { padding:15px; display:flex; flex-direction:column; flex:1; }
.prompt-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.prompt-meta span { color:var(--workspace-accent); font-size:.62rem; font-weight:750; letter-spacing:.05em; }
.prompt-meta small { color:#7d8794; font-size:.59rem; font-weight:650; }
.prompt-card h3 { margin:6px 0 6px; color:#193044; font-size:1.06rem; font-weight:750; letter-spacing:-.03em; line-height:1.16; }
.prompt-type { align-self:flex-start; margin-bottom:9px; padding:4px 8px; border-radius:999px; background:#eff1ff; color:var(--workspace-accent); font-size:.59rem; font-weight:700; }
.prompt-card p { margin:0 0 16px; color:#75808d; font-size:.76rem; line-height:1.55; }
.prompt-card-actions { margin-top:auto; display:grid; gap:7px; }
.prompt-card-actions .btn { min-height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center; gap:7px; font-size:.7rem; font-weight:700; }
.prompt-card-actions .material-symbols-outlined { font-size:17px; }
.prompt-build-btn { border:1px solid #bec5ff; background:#f3f4ff; color:var(--workspace-accent); }
.prompt-build-btn:hover { background:#e9ebff; color:var(--workspace-accent); }
.prompt-copy-btn { border:0; background:#173347; color:#fff; }
.prompt-copy-btn:hover { background:#0f283a; color:#fff; }
.prompt-edit-modal .modal-content { border-radius:28px; }
.prompt-edit-modal .modal-header { padding:24px 28px 14px; }
.prompt-edit-modal .modal-title { font-size:1.45rem; letter-spacing:-.035em; }
.prompt-edit-modal .modal-body { padding:14px 28px 24px; }
.prompt-edit-modal .modal-footer { padding:15px 28px 24px; }
.prompt-image-field { min-height:126px; padding:16px; border:1px solid #e1e5ea; border-radius:20px; display:flex; align-items:center; gap:16px; }
.prompt-image-field img { width:88px; height:88px; border-radius:16px; object-fit:cover; }
.prompt-image-field strong { display:block; color:#213548; font-size:.78rem; font-weight:700; }
.prompt-image-field span { display:block; margin-top:4px; color:#8c95a1; font-size:.66rem; }
.prompt-image-field .btn { min-height:40px; border-radius:11px; display:flex; align-items:center; gap:6px; font-size:.64rem; font-weight:650; }
.prompt-image-field .material-symbols-outlined { font-size:18px; }
.prompt-modal-control { min-height:48px; border:1px solid #dfe3e8; border-radius:13px; background:#f6f7f9; font-size:.75rem; font-weight:550; color:#213548; box-shadow:none !important; }
textarea.prompt-modal-control { min-height:130px; padding-top:13px; }
.prompt-modal-control:focus { border-color:#aeb8ff; background:#fff; }
@media (max-width:1199.98px){.prompt-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:991.98px){.prompt-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:767.98px){.prompts-hero{padding:22px;border-radius:22px;}.prompts-hero h2{font-size:2rem;}.prompts-hero p{white-space:normal;}.prompt-grid{grid-template-columns:1fr;}.prompts-page-actions{width:100%;}.prompts-action-btn{flex:1;justify-content:center;}.prompt-image-field{align-items:flex-start;flex-wrap:wrap;}.prompt-image-field .btn{width:100%;justify-content:center;}.prompt-edit-modal .modal-header,.prompt-edit-modal .modal-body,.prompt-edit-modal .modal-footer{padding-left:18px;padding-right:18px;}}

/* TASKS · painel lateral global */
:root { --tasks-panel-width: 356px; }
.tasks-toggle-button {
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 13px;
  background: #fff;
  color: #6c7785;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 0 0 46px;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.tasks-toggle-button:hover { background: #fff; color: #26394b; }
.tasks-toggle-button:active { transform: scale(.96); }
.tasks-toggle-button .material-symbols-outlined { font-size: 21px; }
.tasks-toggle-button::after {
  content: "";
  position: absolute;
  right: 7px;
  bottom: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #aeb5bf;
  box-shadow: 0 0 0 2px var(--workspace-bg);
}
.tasks-toggle-button[aria-pressed="true"] { color: var(--workspace-accent); background: #fff; }
.tasks-toggle-button[aria-pressed="true"]::after { background: var(--workspace-accent); }

.tasks-panel {
  position: fixed;
  z-index: 1010;
  top: 76px;
  right: 0;
  bottom: 0;
  width: var(--tasks-panel-width);
  background: linear-gradient(180deg, var(--workspace-bg) 0px, #eceef1 92px, #e9ebef 190px, #e9ebef 100%);
  border-left: 1px solid #e0e3e8;
  padding: 24px 18px 24px 20px;
  overflow-y: auto;
  overscroll-behavior: contain;
  transition: transform .28s cubic-bezier(.2,.75,.25,1), visibility 0s 0s;
}
.tasks-panel[hidden] { display: block !important; visibility: hidden; transform: translateX(100%); transition: transform .25s ease, visibility 0s .25s; pointer-events: none; }
.tasks-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; padding: 0 4px; }
.tasks-panel-head h2 { margin: 0; font-size: 1.18rem; font-weight: 700; letter-spacing: -.03em; color: #172b3d; }
.tasks-panel-head span { font-size: .72rem; font-weight: 700; letter-spacing: .13em; color: #8a939f; }
.tasks-count { min-width: 28px; height: 28px; padding: 0 8px; border-radius: 999px; background: #fff; color: #667280; display: inline-flex; align-items: center; justify-content: center; font-size: .7rem; font-weight: 700; }
.tasks-panel-head-actions { display:flex; align-items:center; gap:7px; }
.tasks-popout-button { width:28px; height:28px; border:0; border-radius:50%; background:#fff; color:#667280; display:inline-flex; align-items:center; justify-content:center; transition:color .18s ease, background-color .18s ease, transform .18s ease; }
.tasks-popout-button:hover { color:var(--workspace-accent); background:var(--workspace-accent-soft); }
.tasks-popout-button:active { transform:scale(.95); }
.tasks-popout-button .material-symbols-outlined { font-size:17px; }
.tasks-day { margin-bottom: 22px; }
.tasks-day:last-child { margin-bottom: 0; }
.tasks-day-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; padding: 0 4px; }
.tasks-day-heading strong { font-size: .69rem; letter-spacing: .11em; font-weight: 750; color: #66717f; }
.tasks-day-heading time { font-size: .66rem; font-weight: 600; color: #9aa2ad; }
.tasks-day-list { display: grid; gap: 9px; min-height: 10px; }
.task-job {
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) 26px;
  align-items: center;
  gap: 11px;
  min-height: 76px;
  padding: 11px 10px 11px 11px;
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.8);
  cursor: grab;
  user-select: none;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, opacity .16s ease;
}
.task-job:hover { background: #fff; box-shadow: 0 8px 24px rgba(31,45,61,.06); }
.task-job:active { cursor: grabbing; }
.task-job.is-dragging { opacity: .46; transform: scale(.985); box-shadow: none; }
.task-job.is-overdue { background: #fff7f2; border-color: #ffe3d3; }
.task-client-image { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; background: #fff; }
.task-copy { min-width: 0; }
.task-title { margin: 0 0 3px; font-size: .82rem; line-height: 1.28; font-weight: 650; color: #172b3d; overflow-wrap: anywhere; }
.task-meta { display: flex; align-items: center; gap: 6px; min-width: 0; color: #89939f; font-size: .65rem; font-weight: 500; }
.task-meta .task-client { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.task-overdue-badge { display: inline-flex; align-items: center; gap: 3px; margin-top: 5px; width: fit-content; padding: 3px 7px; border-radius: 999px; background: #ffeadf; color: #c75a26; font-size: .58rem; font-weight: 700; }
.task-drag { color: #a1a9b4; display: inline-flex; align-items: center; justify-content: center; }
.task-drag .material-symbols-outlined { font-size: 20px; }
.tasks-empty { min-height: 54px; border: 1px dashed #d4d8df; border-radius: 16px; color: #9aa2ad; display: flex; align-items: center; justify-content: center; font-size: .67rem; }
.tasks-panel-note { margin-top: 18px; padding: 14px 4px 0; border-top: 1px solid #d9dde3; color: #8b949f; font-size: .66rem; line-height: 1.55; }

@media (min-width: 1200px) {
  body.tasks-enabled .workspace-main { padding-right: calc(var(--tasks-panel-width) + 22px); }
}
@media (max-width: 1199.98px) {
  .tasks-panel { top: 80px; width: min(356px, calc(100vw - 20px)); box-shadow: -18px 18px 40px rgba(24,35,48,.10); }
  body.tasks-enabled .workspace-main { padding-right: 18px; }
}
@media (max-width: 767.98px) {
  .tasks-toggle-button { width: 40px; height: 44px; flex-basis: 40px; }
  .tasks-toggle-button::after { right: 6px; bottom: 7px; }
  .tasks-panel { top: 80px; width: min(340px, calc(100vw - 12px)); padding: 18px 14px 22px; }
  body.tasks-enabled { overflow-x: hidden; }
}

/* Página de referência do painel Tasks */
.tasks-reference-page .content-heading { max-width: 860px; }
.tasks-reference-page .content-heading p { max-width: 720px; font-size: .92rem; line-height: 1.65; }
.tasks-reference-intro { min-height: 260px; max-width: 860px; border-radius: 26px; background: #fff; padding: 34px; display: flex; align-items: center; gap: 24px; }
.tasks-reference-icon { width: 74px; height: 74px; border-radius: 22px; background: var(--workspace-accent-soft); color: var(--workspace-accent); display: flex; align-items: center; justify-content: center; flex: 0 0 74px; }
.tasks-reference-icon .material-symbols-outlined { font-size: 34px; }
.tasks-reference-kicker { display: block; margin-bottom: 7px; color: #8a939e; font-size: .7rem; font-weight: 700; letter-spacing: .14em; }
.tasks-reference-intro h2 { margin: 0 0 10px; color: #172b3d; font-size: clamp(1.7rem,3vw,2.45rem); letter-spacing: -.04em; }
.tasks-reference-intro p { margin: 0; max-width: 620px; color: #7d8794; font-size: .88rem; line-height: 1.7; }
@media (max-width:767.98px){.tasks-reference-intro{padding:24px;align-items:flex-start;flex-direction:column;}.tasks-reference-icon{width:62px;height:62px;flex-basis:62px;}}

/* ===== Jobs do cliente ===== */
.jobs-page{padding-bottom:42px;}
.jobs-client-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:70px;}
.jobs-client-identity{display:flex;align-items:center;gap:16px;min-width:0;}
.jobs-client-logo{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#6539aa;color:#fff;font-size:.9rem;font-weight:750;flex:0 0 auto;}
.jobs-client-title{font-size:1.72rem;font-weight:750;color:#102b3e;letter-spacing:-.035em;line-height:1.05;}
.jobs-client-subtitle{margin-top:6px;color:#87919e;font-size:.72rem;}
.jobs-client-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;color:#74808d}
.jobs-client-link{display:inline-flex;align-items:center;justify-content:center;color:#74808d;text-decoration:none;transition:color .18s ease,background-color .18s ease,transform .18s ease}
.jobs-client-link:hover{color:var(--workspace-accent)}
.jobs-client-link-icon{width:34px;height:34px;border-radius:50%;font-size:1.1rem}
.jobs-client-link-icon .material-symbols-outlined{font-size:1.45rem}
.jobs-client-link-text{gap:7px;min-height:34px;font-size:.86rem;font-weight:500;white-space:nowrap}
.jobs-client-link-text .material-symbols-outlined{font-size:1.45rem}
.jobs-client-links-divider{width:1px;height:24px;background:rgba(16,43,62,.12);margin:0 2px}
@media(max-width:767.98px){.jobs-client-links{gap:8px}.jobs-client-link-text{font-size:.78rem}.jobs-client-links-divider{display:none}}

.jobs-title-edit{border:0;background:transparent;color:#7d8792;padding:2px;display:inline-flex;align-items:center;justify-content:center}.jobs-title-edit .material-symbols-outlined{font-size:20px}.jobs-title-edit:hover{color:var(--workspace-accent)}
.jobs-client-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.jobs-back-btn,.jobs-filter-btn{min-height:44px;border:0;border-radius:999px;padding:0 18px;font-size:.76rem;font-weight:650}.jobs-filter-btn{background:#fff;color:#173044}.jobs-filter-btn:hover{background:#f8f9fa}.jobs-filter-menu{min-width:230px;padding:10px;border-radius:20px}.jobs-filter-menu .dropdown-item{min-height:42px;border-radius:12px;display:flex;align-items:center;color:#66737f;font-size:.78rem;font-weight:600}.jobs-filter-menu .dropdown-item.active{background:#e9ebff;color:var(--workspace-accent)}
.jobs-layout{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(660px,1.55fr);gap:22px;align-items:start;}
.jobs-side-column{background:transparent;display:flex;flex-direction:column;gap:45px;min-width:0;}
.jobs-side-section{padding:0 4px 18px;border-bottom:1px solid rgba(18,45,64,.09);background:transparent;}
.jobs-side-heading{width:100%;border:0;background:transparent;padding:0 0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#102b3e;text-align:left;font-size:.74rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.jobs-side-heading.static{cursor:default}.jobs-side-heading i{font-size:15px;color:#7f8995}.jobs-side-body[hidden]{display:none!important}
.client-task-list{display:flex;flex-direction:column;gap:6px}.client-task-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(18,45,64,.07)}.client-task-date{width:40px;height:40px;border-radius:12px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(16,43,62,.04)}.client-task-date strong{font-size:.84rem;line-height:1;color:#163247}.client-task-date span{font-size:.48rem;color:#8d96a2;font-weight:700;margin-top:3px}.client-task-copy{min-width:0}.client-task-copy h3{margin:0;color:#173044;font-size:.73rem;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-task-copy p{margin:3px 0 0;color:#8c96a1;font-size:.58rem}.task-user-stack{display:flex;align-items:center}.task-user-stack img,.task-user-initials{width:27px;height:27px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:.48rem;font-weight:700;color:#fff;background:#6f50b6;margin-left:-7px}.task-user-stack>*:first-child{margin-left:0}.task-user-initials{background:#31506a}.task-user-initials.is-dark{background:#173044}.task-alarm{width:30px;height:30px;border:0;border-radius:10px;background:#e9ebff;color:#1428ff;display:inline-flex;align-items:center;justify-content:center}.task-alarm .material-symbols-outlined{font-size:17px}
.jobs-expand-calendar{margin-top:12px;border:0;background:transparent;color:#4f6170;font-size:.65rem;font-weight:650;display:flex;align-items:center;gap:7px;padding:6px 0}.jobs-expand-calendar:hover{color:var(--workspace-accent)}.jobs-expand-calendar .material-symbols-outlined{font-size:18px}.jobs-task-calendar-wrap{padding-top:14px}.jobs-mini-calendar-head{margin-bottom:14px}.jobs-task-calendar-wrap .agenda-day{font-size:.65rem;border-radius:10px}.jobs-calendar-help{margin:12px 0 0;color:#8b95a1;font-size:.59rem;line-height:1.45}
.jobs-reference-list{display:flex;flex-direction:column}.jobs-reference-list>div{display:grid;grid-template-columns:28px minmax(0,1fr) 34px;align-items:center;gap:10px;min-height:50px;border-top:1px solid rgba(18,45,64,.08)}.jobs-reference-list span{color:#8e98a4;font-size:.64rem;font-weight:650}.jobs-reference-list strong{color:#173044;font-size:.72rem;font-weight:650}.jobs-reference-list button{width:32px;height:32px;border:0;border-radius:10px;background:#fff;color:#173044;display:flex;align-items:center;justify-content:center}.jobs-reference-list .material-symbols-outlined{font-size:17px}
.jobs-calendar-count{font-size:1rem;color:#173044;letter-spacing:0}.jobs-calendar-caption{margin:-8px 0 10px;color:#8f98a3;font-size:.61rem;font-weight:550}.jobs-date-list>div{display:grid;grid-template-columns:94px minmax(0,1fr) 34px 34px;align-items:center;gap:9px;padding:11px 0;border-top:1px solid rgba(18,45,64,.08)}.jobs-date-list span{min-width:0}.jobs-date-list strong{display:block;color:#173044;font-size:.66rem;line-height:1.25}.jobs-date-list small{display:block;color:#89939f;font-size:.56rem;margin-top:3px}.jobs-date-icon,.jobs-date-check{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}.jobs-date-icon{border:0;background:#e9ebff;color:#1428ff}.jobs-date-check{background:#e7f5f0;color:#15966e}.jobs-date-icon .material-symbols-outlined,.jobs-date-check .material-symbols-outlined{font-size:18px}
.jobs-main-panel{background:#fff;border-radius:28px;padding:26px;min-width:0;box-shadow:0 16px 44px rgba(24,46,62,.04)}.jobs-main-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;margin-bottom:24px}.jobs-kicker{display:block;color:#929ba6;font-size:.55rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.jobs-main-head h2{margin:3px 0 0;color:#102b3e;font-size:1.1rem;font-weight:720}.jobs-main-add{justify-self:end}.jobs-mine-toggle{justify-self:center;display:flex;align-items:center;justify-content:center;gap:10px;color:#173044;font-size:.84rem;font-weight:700}.jobs-mine-toggle>img{width:32px;height:32px;border-radius:50%;object-fit:cover}.jobs-mine-toggle .form-switch{display:flex;align-items:center;margin:0;padding-left:0}.jobs-mine-toggle .form-check-input{float:none;margin:0}.jobs-group{margin-top:50px}.jobs-group:first-child{margin-top:0}.jobs-group h3{margin:0;padding-bottom:9px;border-bottom:1px solid #e8ebee;color:#7d8792;font-size:.69rem;font-weight:500}.job-row{display:grid;grid-template-columns:28px 32px 92px minmax(0,1fr) 142px;align-items:center;gap:10px;min-height:60px;border-bottom:1px solid #edf0f2;padding:7px 0}.job-index{color:#9ca4ae;font-size:.62rem}.job-owner-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.job-owner-avatar.initials{display:flex;align-items:center;justify-content:center;background:#31506a;color:#fff;font-size:.47rem;font-weight:700}.job-status{justify-self:start;border:1px solid #dfe3e7;border-radius:999px;padding:5px 10px;color:#8b949e;font-size:.54rem;font-weight:650;background:#fafafa}.job-status.is-progress{border-color:#cfd4ff;color:#5562d9;background:#eef0ff}.job-copy{min-width:0}.job-copy>div{display:flex;align-items:center;gap:7px;min-width:0}.job-copy strong{color:#173044;font-size:.72rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-code{color:#9ba4ae;background:#f4f5f7;border-radius:7px;padding:3px 6px;font-size:.5rem;font-weight:700}.job-copy small{display:block;margin-top:2px;color:#949da7;font-size:.54rem}.job-actions{display:grid;grid-template-columns:repeat(4,31px);gap:6px;justify-content:end}.job-action-placeholder{width:31px;height:31px;display:block;visibility:hidden;pointer-events:none}.job-actions button{width:31px;height:31px;border:1px solid #dce1e5;border-radius:50%;background:#f8f9fa;color:#8a949e;display:flex;align-items:center;justify-content:center}.job-actions button .material-symbols-outlined{font-size:17px}.job-actions .is-done{color:#169b75;border-color:#bfe4d8;background:#f4fbf8}.job-actions .has-alarm{color:#1428ff;border-color:transparent;background:#e9ebff}.jobs-empty{padding:55px 20px;text-align:center;color:#909aa5}.jobs-empty .material-symbols-outlined{font-size:32px}.jobs-empty strong{display:block;margin-top:8px;color:#526170;font-size:.78rem}.jobs-empty span:last-child{display:block;margin-top:4px;font-size:.64rem}
.task-alarm-control{margin-top:20px;padding:14px 16px;border-radius:16px;background:#f5f6f8;display:flex;align-items:center;justify-content:space-between;gap:18px}.task-alarm-control strong{display:block;color:#173044;font-size:.76rem}.task-alarm-control span{display:block;color:#8a949f;font-size:.6rem;margin-top:2px}.workspace-modal .modal-content{border:0;border-radius:26px;box-shadow:0 24px 70px rgba(16,38,51,.18);overflow:hidden}.workspace-modal .modal-header{border-bottom:1px solid rgba(16,38,51,.08);padding:22px 24px 18px}.workspace-modal .modal-body{padding:22px 24px 8px}.workspace-modal .modal-footer{border-top:0;padding:12px 24px 24px}.workspace-modal .modal-title{font-size:1.05rem;font-weight:700;color:#102633}.workspace-modal .form-label{font-size:.72rem;font-weight:600;color:#102633;margin-bottom:7px}.workspace-modal .form-control,.workspace-modal .form-select{min-height:46px;border-radius:14px;border-color:#dfe3e7;font-size:.8rem;padding-left:14px}.workspace-modal .form-control:focus,.workspace-modal .form-select:focus{border-color:#1f2cff;box-shadow:0 0 0 .18rem rgba(31,44,255,.10)}
.calendar-task-alert{position:fixed;z-index:1085;left:calc(var(--workspace-sidebar-width,76px) + 28px);top:110px;max-width:560px;width:calc(100% - 120px);padding:18px 20px;border-radius:22px;background:#fff;box-shadow:0 22px 65px rgba(16,38,51,.2);display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;opacity:0;transform:translateY(-14px) scale(.98);transition:.22s ease}.calendar-task-alert.is-visible{opacity:1;transform:translateY(0) scale(1)}.calendar-task-alert-icon{width:46px;height:46px;border-radius:15px;background:#e9ebff;color:#1428ff;display:flex;align-items:center;justify-content:center}.calendar-task-alert-icon .material-symbols-outlined{font-size:24px;animation:jobAlarmPulse 1.4s ease-in-out infinite}.calendar-task-alert-copy span{display:block;color:#1428ff;font-size:.52rem;font-weight:750;letter-spacing:.12em}.calendar-task-alert-copy strong{display:block;margin-top:3px;color:#173044;font-size:.82rem}.calendar-task-alert-copy small{display:block;margin-top:3px;color:#8b95a0;font-size:.59rem}.calendar-task-alert-actions{display:flex;gap:8px}.calendar-task-alert-actions .btn{white-space:nowrap;border-radius:999px;font-size:.64rem;font-weight:650}@keyframes jobAlarmPulse{0%,100%{transform:rotate(0)}25%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}75%{transform:rotate(-5deg)}}
@media(max-width:1199.98px){.jobs-layout{grid-template-columns:1fr}.jobs-client-hero{align-items:flex-start}.jobs-side-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.jobs-side-section:first-child{grid-column:1/-1}.calendar-task-alert{left:24px;width:calc(100% - 48px)}}
@media(max-width:767.98px){.jobs-client-hero{flex-direction:column}.jobs-client-identity{align-items:flex-start}.jobs-client-logo{width:52px;height:52px}.jobs-client-title{font-size:1.28rem}.jobs-side-column{display:block}.jobs-side-section{margin-bottom:18px}.jobs-main-panel{padding:18px;border-radius:22px}.jobs-main-head{grid-template-columns:1fr;align-items:flex-start}.jobs-mine-toggle{justify-self:start}.jobs-main-add{justify-self:start}.job-row{grid-template-columns:24px 30px minmax(0,1fr) auto}.job-status{display:none}.job-copy{grid-column:3/4}.job-actions button:not(.is-done):not(.has-alarm){display:none}.jobs-date-list>div{grid-template-columns:86px minmax(0,1fr) 32px}.jobs-date-check{display:none}.calendar-task-alert{grid-template-columns:42px 1fr;top:86px}.calendar-task-alert-actions{grid-column:1/-1}.calendar-task-alert-actions .btn{flex:1}}
/* Jobs left column refinements */
.jobs-side-label{display:block;font-size:.74rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#102b3e}
.jobs-completed-heading,.jobs-calendar-heading{align-items:flex-start;padding-bottom:12px}
.jobs-completed-summary,.jobs-calendar-summary{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.jobs-completed-summary>strong,.jobs-calendar-summary>strong{font-size:1.75rem;line-height:1;font-weight:750;letter-spacing:-.04em;color:#102b3e;margin-top:4px}
.jobs-completed-summary>small,.jobs-calendar-summary>small{font-size:.63rem;letter-spacing:0;text-transform:none;color:#8b95a1;font-weight:600}
.jobs-completed-actions{display:flex;align-items:center;gap:8px;color:#102b3e}.jobs-history-icon{width:34px;height:34px;border-radius:50%;background:#f0f2f5;display:flex;align-items:center;justify-content:center;font-size:18px}.jobs-month-total{min-height:34px;padding:0 13px;border-radius:999px;background:#f0f2f5;display:flex;align-items:center;font-size:.68rem;font-weight:700;letter-spacing:0;text-transform:none}.jobs-completed-actions>i{width:34px;height:34px;border-radius:50%;background:#f0f2f5;display:flex;align-items:center;justify-content:center}
.jobs-completed-list{border-top:1px solid rgba(18,45,64,.08)}.jobs-completed-item{display:grid;grid-template-columns:104px minmax(0,1fr) 82px 34px;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(18,45,64,.08)}.jobs-completed-item time,.jobs-completed-item span{font-size:.61rem;color:#8a949f;font-weight:650}.jobs-completed-item strong{font-size:.72rem;color:#173044;font-weight:700;line-height:1.25}.jobs-completed-item button{width:32px;height:32px;border:0;border-radius:50%;background:#f0f2f5;color:#82909d;display:flex;align-items:center;justify-content:center}.jobs-completed-item button .material-symbols-outlined{font-size:18px}
.client-task-item{grid-template-columns:44px minmax(0,1fr) 58px 32px}.client-task-copy h3{font-size:.82rem;font-weight:700}.client-task-copy p{display:flex;align-items:center;gap:7px;font-size:.61rem}.task-today-badge{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;border-radius:999px;background:#e8eaff;color:#1428ff;font-size:.52rem;font-weight:800;letter-spacing:.04em}.task-alarm-slot{width:32px;min-width:32px;display:flex;align-items:center;justify-content:center}
.jobs-expand-calendar{font-size:.7rem}.jobs-side-heading-with-action{align-items:center}.jobs-heading-tools{display:flex;align-items:center;gap:10px}.jobs-inline-add{display:inline-flex;align-items:center;gap:4px;padding:7px 11px;border-radius:999px;background:var(--workspace-accent);color:#fff;font-size:.6rem;font-weight:700;letter-spacing:0;text-transform:none;cursor:pointer}.jobs-inline-add i{color:#fff;font-size:12px}
.jobs-calendar-heading .jobs-calendar-count{font-size:1.75rem;margin-top:4px}
@media(max-width:575.98px){.jobs-completed-item{grid-template-columns:92px minmax(0,1fr) 34px}.jobs-completed-item>span{display:none}.jobs-completed-actions .jobs-history-icon{display:none}}

/* Jobs: destaque discreto para a área de tarefas */
.jobs-tasks-section{
  margin:0 -10px;
  padding:14px 14px 16px;
  border:1px solid rgba(18,45,64,.055);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.34) 0%,rgba(234,237,242,.52) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}
.jobs-tasks-section .jobs-side-heading{padding-bottom:10px;}
.jobs-tasks-section .client-task-item:last-child{border-bottom-color:rgba(18,45,64,.055);}
@media(max-width:767.98px){.jobs-tasks-section{margin:0;padding:14px 12px 16px}}


/* TASKS dedicado em tasks.html */
.tasks-dedicated-page { padding-bottom:42px; }
.tasks-dedicated-shell { width:min(var(--tasks-panel-width),100%); min-height:calc(100vh - 150px); margin:0 auto; padding:24px 18px 24px 20px; border-radius:28px; background:linear-gradient(180deg, var(--workspace-bg) 0px, #eceef1 92px, #e9ebef 190px, #e9ebef 100%); border:1px solid #e0e3e8; }
body.tasks-dedicated .tasks-toggle-button { display:none !important; }
body.tasks-dedicated.tasks-enabled .workspace-main { padding-right:var(--bs-gutter-x,.75rem); }
@media(max-width:767.98px){.tasks-dedicated-shell{width:100%;min-height:auto;border-radius:22px}.jobs-client-hero{margin-bottom:42px}}
