.workspace-hub-launcher {
  position: fixed;
  right: 24px;
  bottom: 30px;
  z-index: 79;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  background: #102a4c;
  color: #fff;
  box-shadow: 0 12px 28px rgba(16,42,76,.28);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.workspace-hub-launcher:hover { transform: translateY(-2px); box-shadow: 0 15px 34px rgba(16,42,76,.34); }
.workspace-hub-launcher:focus-visible { outline: 3px solid rgba(47,111,191,.28); outline-offset: 3px; }
.workspace-hub-icon { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@keyframes workspace-hub-bell-ring {
  0%, 100% { transform: rotate(0deg); }
  12% { transform: rotate(18deg); }
  24% { transform: rotate(-16deg); }
  36% { transform: rotate(13deg); }
  48% { transform: rotate(-10deg); }
  60% { transform: rotate(7deg); }
  72% { transform: rotate(-4deg); }
  84% { transform: rotate(2deg); }
}
.workspace-hub-launcher.has-new-notification .workspace-hub-icon {
  transform-origin: 50% 18%;
  animation: workspace-hub-bell-ring .9s ease-in-out 2;
}
.workspace-hub-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 21px;
  height: 21px;
  padding: 0 5px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #c93434;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 17px;
  text-align: center;
}

.workspace-hub-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(10,25,44,.38);
  backdrop-filter: blur(2px);
}
.workspace-hub-backdrop[hidden] { display: none; }
.workspace-hub-dialog {
  width: min(620px, calc(100vw - 32px));
  max-height: min(720px, calc(100dvh - 48px));
  overflow: auto;
  border: 1px solid #dbe3ec;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(10,25,44,.28);
}
.workspace-hub-header {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid #e7ecf2;
}
.workspace-hub-kicker { margin: 0 0 3px; color: #667085; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.workspace-hub-title { margin: 0; color: #102a4c; font-size: 20px; line-height: 1.2; }
.workspace-hub-subtitle { margin: 6px 0 0; color: #667085; font-size: 12px; line-height: 1.5; }
.workspace-hub-close {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  margin-left: auto;
  border: 1px solid #dce3eb;
  border-radius: 9px;
  background: #fff;
  color: #475467;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.workspace-hub-close:hover { background: #f7f9fb; }
.workspace-hub-body { padding: 20px 24px 24px; }
.hub-foundation {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.hub-foundation-item { padding: 13px 12px; border: 1px solid #e5eaf0; border-radius: 10px; background: #fff; }
.hub-foundation-item strong { display: block; color: #344054; font-size: 12px; }
.hub-foundation-item span { display: block; margin-top: 3px; color: #98a2b3; font-size: 10px; line-height: 1.35; }
body.hub-open { overflow: hidden; }

@media (max-width: 760px) {
  .workspace-hub-launcher { right: 16px; bottom: 22px; }
  .workspace-hub-backdrop { padding: 12px; }
  .workspace-hub-dialog { width: 100%; max-height: calc(100dvh - 24px); border-radius: 13px; }
  .workspace-hub-header, .workspace-hub-body { padding-left: 18px; padding-right: 18px; }
  .hub-foundation { grid-template-columns: 1fr; }
}

/* Notificações em tempo real */
.workspace-hub-dialog { width: min(760px, calc(100vw - 32px)); max-height: min(820px, calc(100dvh - 48px)); }
.hub-notifications { display: block; }
.hub-notifications-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.hub-notifications-heading h3 { margin: 3px 0 0; color: #102a4c; font-size: 18px; }
.hub-primary-action, .hub-action-button {
  border: 1px solid #c9d5e2;
  border-radius: 8px;
  background: #fff;
  color: #17395f;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  padding: 8px 11px;
  cursor: pointer;
}
.hub-primary-action { border-color: #102a4c; background: #102a4c; color: #fff; }
.hub-primary-action:hover { background: #17395f; }
.hub-action-button:hover { background: #f5f8fb; }
.hub-action-secondary { color: #475467; }
.hub-action-button.is-active { border-color: #9db5cf; background: #eef4fa; color: #102a4c; }
.hub-primary-action:disabled, .hub-action-button:disabled { opacity: .55; cursor: wait; }
.hub-notification-tabs { display: flex; gap: 6px; margin-top: 16px; border-bottom: 1px solid #e6ebf1; }
.hub-notification-tab {
  margin-bottom: -1px;
  padding: 8px 11px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: #667085;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.hub-notification-tab.is-active { border-bottom-color: #2f6fbf; color: #17395f; }
.hub-notification-compose { margin-top: 14px; padding: 15px; border: 1px solid #dfe6ee; border-radius: 11px; background: #f9fbfd; }
.hub-compose-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(140px, .8fr); gap: 10px; }
.hub-field { display: grid; gap: 5px; }
.hub-field span { color: #667085; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.hub-field input, .hub-field select, .hub-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cfd9e4;
  border-radius: 8px;
  background: #fff;
  color: #25364b;
  font: inherit;
  font-size: 12px;
  padding: 9px 10px;
}
.hub-field textarea { resize: vertical; min-height: 86px; line-height: 1.45; }
.hub-field input:focus, .hub-field select:focus, .hub-field textarea:focus { outline: 2px solid rgba(47,111,191,.16); border-color: #7fa3c7; }
.hub-field-full { grid-column: 1 / -1; }
.hub-compose-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.hub-inline-error { margin-top: 10px; padding: 9px 10px; border: 1px solid #edcaca; border-radius: 8px; background: #fff6f6; color: #8b2b2b; font-size: 11px; line-height: 1.4; }
.hub-notification-tools { display: flex; justify-content: flex-end; gap: 7px; margin-top: 12px; }
.hub-notification-loading { padding: 9px 0; color: #667085; font-size: 11px; }
.hub-notification-list { display: grid; gap: 9px; margin-top: 10px; }
.hub-notification-card { padding: 13px 14px; border: 1px solid #e0e6ed; border-radius: 10px; background: #fff; }
.hub-notification-card.is-unread { border-left: 3px solid #2f6fbf; background: #fbfdff; }
.hub-notification-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.hub-notification-card-title { display: block; color: #233a56; font-size: 12px; line-height: 1.35; }
.hub-notification-card-meta { margin-top: 3px; color: #8793a3; font-size: 10px; line-height: 1.35; }
.hub-notification-message { margin: 9px 0 0; color: #475467; font-size: 11px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.hub-notification-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 11px; padding-top: 9px; border-top: 1px solid #eef1f5; }
.hub-notification-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.hub-notification-status { color: #667085; font-size: 10px; font-weight: 700; }
.hub-notification-status.is-read { color: #2d6a4f; }
.hub-notification-status.is-delivered { color: #245d91; }
.hub-notification-status.is-sent { color: #667085; }
.hub-notification-status.is-unread-status { color: #9f3a38; }
.hub-priority { flex: 0 0 auto; padding: 4px 7px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
.hub-priority-normal { background: #f0f3f7; color: #5c6675; }
.hub-priority-importante { background: #fff4db; color: #8a5a00; }
.hub-priority-urgente { background: #fde8e8; color: #9c2c2c; }
.hub-notification-empty { padding: 22px 14px; border: 1px dashed #d8e0e8; border-radius: 10px; text-align: center; background: #fbfcfd; }
.hub-notification-empty strong { display: block; color: #475467; font-size: 12px; }
.hub-notification-empty span { display: block; margin-top: 4px; color: #98a2b3; font-size: 10px; line-height: 1.45; }
.hub-foundation-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 760px) {
  .hub-compose-grid { grid-template-columns: 1fr; }
  .hub-field-full { grid-column: auto; }
  .hub-notifications-heading { align-items: flex-start; }
  .hub-notification-card-footer { align-items: flex-start; flex-direction: column; }
  .hub-notification-actions { justify-content: flex-start; }
  .hub-foundation-two { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .workspace-hub-launcher.has-new-notification .workspace-hub-icon {
    animation: none;
  }
}

/* Minhas tarefas */
.hub-section-tabs {
  display: flex;
  gap: 6px;
  margin: -4px 0 18px;
  padding: 4px;
  border: 1px solid #e2e8ef;
  border-radius: 11px;
  background: #f7f9fb;
}
.hub-section-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 1 1 0;
  min-height: 36px;
  padding: 8px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #667085;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.hub-section-tab:hover { color: #17395f; background: #eef3f8; }
.hub-section-tab.is-active { background: #fff; color: #102a4c; box-shadow: 0 1px 4px rgba(16,42,76,.09); }
.hub-section-count {
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border-radius: 999px;
  background: #e9eef4;
  color: #475467;
  font-size: 9px;
  line-height: 19px;
  text-align: center;
}
.hub-section-tab.is-active .hub-section-count { background: #e2ecf8; color: #245d91; }
.hub-section-panel[hidden] { display: none !important; }
.hub-foundation-single { grid-template-columns: 1fr; }

.hub-task-form-title { margin-bottom: 11px; color: #233a56; font-size: 12px; font-weight: 800; }
.hub-task-compose-grid { grid-template-columns: minmax(0, 1.5fr) minmax(130px, .55fr); }
.hub-task-compose-grid .hub-field:nth-of-type(3),
.hub-task-compose-grid .hub-field:nth-of-type(4) { min-width: 0; }
.hub-field input:disabled { background: #f2f4f7; color: #98a2b3; cursor: not-allowed; }

.hub-task-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 15px;
}
.hub-task-summary-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #e3e8ef;
  border-radius: 9px;
  background: #fbfcfd;
}
.hub-task-summary-item span { color: #667085; font-size: 10px; font-weight: 700; }
.hub-task-summary-item strong { color: #233a56; font-size: 16px; line-height: 1; }
.hub-task-summary-item.is-overdue strong { color: #a13333; }
.hub-task-view-tabs { display: flex; gap: 6px; margin-top: 14px; border-bottom: 1px solid #e6ebf1; }
.hub-task-list { display: grid; gap: 12px; margin-top: 10px; }
.hub-task-group { display: grid; gap: 8px; }
.hub-task-group + .hub-task-group { margin-top: 4px; }
.hub-task-group-heading {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 2px 2px 0;
  color: #667085;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.hub-task-group-heading span {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #eef2f6;
  color: #667085;
  font-size: 9px;
  line-height: 18px;
  text-align: center;
}
.hub-task-card {
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr);
  gap: 10px;
  padding: 12px 13px;
  border: 1px solid #e0e6ed;
  border-radius: 10px;
  background: #fff;
}
.hub-task-card.is-overdue { border-left: 3px solid #c94848; background: #fffdfd; }
.hub-task-card.is-today { border-left: 3px solid #2f6fbf; }
.hub-task-card.is-completed { background: #fbfcfd; }
.hub-task-card.is-completed .hub-task-title { color: #7a8796; text-decoration: line-through; text-decoration-thickness: 1px; }
.hub-task-card.is-archived { background: #fbfcfd; opacity: .92; }
.hub-task-toggle {
  width: 29px;
  height: 29px;
  padding: 0;
  border: 1px solid #c9d5e2;
  border-radius: 50%;
  background: #fff;
  color: #2f6fbf;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}
.hub-task-toggle:hover { background: #eef5fb; border-color: #9eb8d3; }
.hub-task-toggle.is-completed { color: #54705f; background: #eef6f1; border-color: #bed3c5; }
.hub-task-toggle:disabled { opacity: .5; cursor: wait; }
.hub-task-card-content { min-width: 0; }
.hub-task-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.hub-task-title { display: block; color: #233a56; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.hub-task-meta { margin-top: 3px; color: #7d8997; font-size: 10px; line-height: 1.35; }
.hub-task-meta.is-overdue { color: #a33b3b; font-weight: 700; }
.hub-task-description { margin: 8px 0 0; color: #596779; font-size: 11px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.hub-task-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; padding-top: 8px; border-top: 1px solid #eef1f5; }
.hub-task-status { color: #7d8997; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.hub-task-status.is-overdue { color: #a33b3b; }

@media (max-width: 760px) {
  .hub-task-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hub-task-compose-grid { grid-template-columns: 1fr; }
  .hub-task-card-footer, .hub-task-footer { align-items: flex-start; flex-direction: column; }
}

/* Avisos institucionais + registro de ciência */
.hub-notices { display: block; }
.hub-notice-pending-summary {
  margin-top: 13px;
  padding: 9px 11px;
  border: 1px solid #ecd8a5;
  border-radius: 9px;
  background: #fffaf0;
  color: #7a5600;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
}
.hub-notice-compose { margin-bottom: 2px; }
.hub-notice-ack-field { align-content: end; }
.hub-checkline {
  display: flex !important;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  box-sizing: border-box;
  padding: 8px 10px;
  border: 1px solid #cfd9e4;
  border-radius: 8px;
  background: #fff;
  color: #344054 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.hub-checkline input { width: 15px; height: 15px; margin: 0; accent-color: #2f6fbf; }
.hub-notice-recipient-selection > span { margin-bottom: 1px; }
.hub-notice-recipient-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  max-height: 190px;
  overflow: auto;
  padding: 9px;
  border: 1px solid #dbe3eb;
  border-radius: 9px;
  background: #fff;
}
.hub-notice-recipient-choice {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid #e5eaf0;
  border-radius: 8px;
  background: #fbfcfd;
  cursor: pointer;
}
.hub-notice-recipient-choice:hover { background: #f4f8fc; border-color: #cad7e5; }
.hub-notice-recipient-choice input { flex: 0 0 auto; width: 15px; height: 15px; margin: 0; accent-color: #2f6fbf; }
.hub-notice-recipient-choice > span { display: grid; min-width: 0; }
.hub-notice-recipient-choice strong { overflow: hidden; color: #344054; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.hub-notice-recipient-choice small { margin-top: 1px; color: #98a2b3; font-size: 9px; font-weight: 700; }
.hub-notice-immutable-note { margin: 10px 1px 0; color: #7a8796; font-size: 10px; line-height: 1.45; }
.hub-notice-card.is-archived { background: #fbfcfd; opacity: .94; }
.hub-notice-message { max-height: 220px; overflow: auto; }
.hub-notice-requires-ack,
.hub-notice-info-chip {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.hub-notice-requires-ack { background: #fff2cc; color: #805800; }
.hub-notice-info-chip { background: #edf2f7; color: #5f6b7a; }
.hub-notice-ack-button { padding: 8px 11px; }
.hub-notification-status.is-acknowledged { color: #3f6d4f; }
.hub-notice-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-top: 11px;
}
.hub-notice-stats > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid #e5eaf0;
  border-radius: 8px;
  background: #fbfcfd;
}
.hub-notice-stats span { color: #7b8795; font-size: 9px; font-weight: 700; }
.hub-notice-stats strong { color: #233a56; font-size: 13px; }
.hub-notice-admin-pending {
  margin-top: 8px;
  color: #8a5a00;
  font-size: 10px;
  font-weight: 800;
}
.hub-notice-recipient-details { margin-top: 10px; }
.hub-notice-recipient-status-list {
  display: grid;
  gap: 6px;
  padding: 9px;
  border: 1px solid #e2e8ef;
  border-radius: 9px;
  background: #f9fbfd;
}
.hub-notice-recipient-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 8px;
  border-radius: 7px;
  background: #fff;
}
.hub-notice-recipient-person { display: grid; min-width: 0; }
.hub-notice-recipient-person strong { overflow: hidden; color: #344054; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.hub-notice-recipient-person span { margin-top: 1px; color: #98a2b3; font-size: 9px; font-weight: 700; }
.hub-notice-recipient-empty { padding: 10px; color: #7a8796; font-size: 10px; text-align: center; }

@media (max-width: 760px) {
  .hub-notice-recipient-choices { grid-template-columns: 1fr; }
  .hub-notice-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hub-notice-recipient-status-row { align-items: flex-start; flex-direction: column; }
}


/* ========================================================================== */
/* PASSO 8A — Centro de Notificações: redesign visual                         */
/* ========================================================================== */
.workspace-hub-launcher {
  width: 60px;
  height: 60px;
  right: 26px;
  bottom: 28px;
  border: 1px solid rgba(255,255,255,.26);
  background: linear-gradient(145deg, #17395f 0%, #102a4c 72%);
  box-shadow: 0 18px 42px rgba(16,42,76,.3), inset 0 1px 0 rgba(255,255,255,.14);
}
.workspace-hub-launcher::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: inherit;
  pointer-events: none;
}
.workspace-hub-launcher:hover { transform: translateY(-3px); box-shadow: 0 22px 48px rgba(16,42,76,.36), inset 0 1px 0 rgba(255,255,255,.16); }
.workspace-hub-icon { width: 25px; height: 25px; stroke-width: 1.65; }
.workspace-hub-badge {
  top: -3px; right: -5px; min-width: 23px; height: 23px; line-height: 18px;
  border-width: 3px; background: #b92d35; font-size: 9px; letter-spacing: -.02em;
}
.workspace-hub-backdrop { background: rgba(7,19,34,.5); backdrop-filter: blur(5px); }
.workspace-hub-dialog {
  width: min(1080px, calc(100vw - 40px));
  max-height: min(840px, calc(100dvh - 40px));
  overflow: hidden;
  border: 1px solid rgba(191,204,218,.72);
  border-radius: 20px;
  box-shadow: 0 32px 90px rgba(7,19,34,.34);
}
.workspace-hub-header {
  align-items: center;
  padding: 20px 26px 17px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
}
.workspace-hub-kicker { color: #6e7c8e; font-size: 9px; letter-spacing: .13em; }
.workspace-hub-title { font-family: Georgia, "Times New Roman", serif; font-size: 23px; font-weight: 700; letter-spacing: -.015em; }
.workspace-hub-subtitle { max-width: 600px; color: #718096; font-size: 11px; }
.workspace-hub-close { border-radius: 50%; width: 36px; height: 36px; border-color: #e0e6ed; color: #617083; }
.workspace-hub-body { padding: 17px 22px 22px; overflow: auto; max-height: calc(min(840px, 100dvh - 40px) - 96px); }
.hub-section-tabs {
  width: max-content;
  max-width: 100%;
  margin: 0 0 17px;
  padding: 3px;
  border-color: #e3e9f0;
  border-radius: 999px;
  background: #f4f6f9;
}
.hub-section-tab { flex: 0 0 auto; min-width: 160px; min-height: 34px; border-radius: 999px; font-size: 10px; letter-spacing: .01em; }
.hub-section-tab.is-active { box-shadow: 0 2px 7px rgba(16,42,76,.09); }

.notification-center { min-height: 560px; }
.notification-center-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:14px; }
.notification-center-hero h3 { margin:4px 0 0; font-family: Georgia, "Times New Roman", serif; color:#142f50; font-size:22px; font-weight:700; letter-spacing:-.015em; }
.notification-center-hero p { margin:6px 0 0; color:#758295; font-size:11px; line-height:1.45; }
.hub-compose-launch { display:inline-flex; align-items:center; gap:7px; padding:10px 14px; border-radius:10px; font-size:11px; }
.hub-compose-launch span { font-size:15px; line-height:1; font-weight:400; }
.hub-compose-card { margin:0 0 14px; padding:17px 18px; border-color:#d9e2ec; border-radius:14px; background:linear-gradient(180deg,#fbfdff,#f7fafc); box-shadow:0 8px 22px rgba(16,42,76,.05); }
.hub-compose-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:14px; }
.hub-compose-title-row strong { display:block; margin-top:3px; color:#1d3858; font-family:Georgia,"Times New Roman",serif; font-size:17px; }
.hub-compose-retention { padding:5px 8px; border:1px solid #dde6ef; border-radius:999px; background:#fff; color:#7a8796; font-size:9px; font-weight:700; }
.hub-field span { font-size:9px; letter-spacing:.08em; }
.hub-field input, .hub-field select, .hub-field textarea { border-color:#d6e0ea; border-radius:9px; padding:10px 11px; font-size:11px; background:#fff; }
.hub-field textarea { min-height:104px; }

.notification-center-shell { display:grid; grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr); min-height:470px; border:1px solid #dfe6ee; border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 10px 30px rgba(16,42,76,.055); }
.notification-center-list-pane { min-width:0; border-right:1px solid #e4eaf0; background:#fbfcfe; }
.notification-center-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:52px; padding:10px 13px 7px; border-bottom:1px solid #e6ebf1; background:#fff; }
.notification-center-toolbar .hub-notification-tabs { margin:0; border:0; gap:3px; }
.notification-center-toolbar .hub-notification-tab { padding:8px 9px 7px; border-bottom-width:2px; font-size:10px; }
.hub-quiet-action { padding:6px 7px; border:0; background:transparent; color:#607087; font:inherit; font-size:9px; font-weight:700; cursor:pointer; }
.hub-quiet-action:hover { color:#17395f; text-decoration:underline; text-underline-offset:3px; }
.hub-inbox-filters { display:flex; gap:6px; padding:10px 13px; border-bottom:1px solid #e8edf2; background:#f9fbfd; }
.hub-inbox-filters[hidden] { display:none; }
.hub-inbox-filter { display:inline-flex; align-items:center; gap:5px; min-height:28px; padding:5px 9px; border:1px solid transparent; border-radius:999px; background:transparent; color:#778496; font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.hub-inbox-filter:hover { background:#eef3f8; color:#294766; }
.hub-inbox-filter.is-active { border-color:#d9e4ef; background:#fff; color:#17395f; box-shadow:0 1px 4px rgba(16,42,76,.06); }
.hub-filter-count { min-width:17px; height:17px; padding:0 4px; border-radius:999px; background:#e5edf6; color:#245d91; font-size:8px; line-height:17px; text-align:center; }
.notification-inbox-list { display:block; margin:0; max-height:430px; overflow:auto; }
.notification-inbox-item { position:relative; display:grid; grid-template-columns:38px minmax(0,1fr); gap:10px; width:100%; padding:13px 13px; border:0; border-bottom:1px solid #e8edf2; background:#fff; color:inherit; text-align:left; cursor:pointer; transition:background .15s ease, box-shadow .15s ease; }
.notification-inbox-item:hover { background:#f6f9fc; }
.notification-inbox-item.is-selected { z-index:1; background:#edf4fb; box-shadow:inset 3px 0 0 #2f6fbf; }
.notification-inbox-item.is-unread:not(.is-selected) { background:#fbfdff; }
.notification-inbox-item.is-unread::after { content:""; position:absolute; right:13px; top:15px; width:6px; height:6px; border-radius:50%; background:#2f6fbf; box-shadow:0 0 0 3px #e7f0f9; }
.notification-avatar { display:grid; place-items:center; width:36px; height:36px; border:1px solid #d6e1ec; border-radius:11px; background:linear-gradient(145deg,#f4f8fc,#e8eff7); color:#284b70; font-size:9px; font-weight:900; letter-spacing:.03em; }
.notification-avatar-large { width:43px; height:43px; border-radius:13px; font-size:10px; }
.notification-inbox-item-body { display:block; min-width:0; }
.notification-inbox-item-line { display:flex; align-items:center; justify-content:space-between; gap:14px; min-width:0; }
.notification-inbox-person { overflow:hidden; color:#41566e; font-size:9px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.notification-inbox-item time { flex:0 0 auto; padding-right:11px; color:#98a2b3; font-size:8px; }
.notification-inbox-subject { display:block; overflow:hidden; margin-top:4px; padding-right:13px; color:#1d3858; font-family:Georgia,"Times New Roman",serif; font-size:12px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.notification-inbox-item.is-unread .notification-inbox-subject { font-weight:700; }
.notification-inbox-excerpt { display:-webkit-box; overflow:hidden; margin-top:4px; color:#778496; font-size:9px; line-height:1.4; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.notification-inbox-flags { display:flex; align-items:center; gap:5px; margin-top:7px; }
.notification-priority-dot, .notification-unread-flag { padding:3px 6px; border-radius:999px; font-size:7px; font-weight:900; letter-spacing:.03em; text-transform:uppercase; }
.notification-priority-dot { background:#eef2f6; color:#667085; }
.notification-priority-dot.is-importante { background:#fff5db; color:#85600b; }
.notification-priority-dot.is-urgente { background:#fdeced; color:#9d3036; }
.notification-unread-flag { background:#e8f1fb; color:#2d6197; }

.notification-preview { position:relative; display:flex; flex-direction:column; min-width:0; padding:29px 31px 24px; background:linear-gradient(180deg,#fff 0%,#fcfdff 100%); }
.notification-preview::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:#d9e2ec; }
.notification-preview.is-importante::before { background:#c49a36; }
.notification-preview.is-urgente::before { background:#b83a43; }
.notification-preview-empty { display:grid; place-items:center; align-content:center; flex:1; min-height:320px; padding:30px; text-align:center; }
.notification-preview-empty-icon { display:grid; place-items:center; width:56px; height:56px; margin-bottom:14px; border:1px solid #dfe6ee; border-radius:18px; background:#f7f9fc; color:#6c7f94; font-size:19px; }
.notification-preview-empty-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.notification-preview-empty strong { color:#334e68; font-family:Georgia,"Times New Roman",serif; font-size:16px; }
.notification-preview-empty span { max-width:310px; margin-top:6px; color:#8a97a7; font-size:10px; line-height:1.5; }
.notification-preview-header { padding-bottom:18px; border-bottom:1px solid #e9edf2; }
.notification-preview-eyebrow { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#8a97a7; font-size:9px; }
.notification-preview-header h4 { margin:13px 0 0; color:#142f50; font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:700; line-height:1.18; letter-spacing:-.02em; }
.notification-priority-badge { display:inline-flex; align-items:center; min-height:23px; padding:4px 8px; border:1px solid #dde4eb; border-radius:999px; background:#f6f8fa; color:#687789; font-size:8px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.notification-priority-badge.is-importante { border-color:#ead7a7; background:#fff9ea; color:#82600f; }
.notification-priority-badge.is-urgente { border-color:#efc8cb; background:#fff4f4; color:#9d3036; }
.notification-preview-sender { display:flex; align-items:center; gap:11px; margin-top:19px; }
.notification-preview-sender > div { display:grid; gap:2px; }
.notification-preview-sender span:not(.notification-avatar) { color:#8b97a6; font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.notification-preview-sender strong { color:#334e68; font-size:11px; }
.notification-preview-message { flex:1; margin-top:22px; padding:18px 20px; border:1px solid #e6ebf1; border-radius:13px; background:#fff; }
.notification-preview-message p { margin:0; color:#3f5063; font-family:Georgia,"Times New Roman",serif; font-size:15px; line-height:1.72; white-space:pre-wrap; overflow-wrap:anywhere; }
.notification-preview-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:18px; padding-top:15px; border-top:1px solid #edf1f4; }
.notification-preview-status { min-width:0; }
.notification-preview-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.notification-highlight-action { border-color:#bbcadd; background:#f7faff; }

.notification-spotlight-backdrop { position:fixed; inset:0; z-index:120; display:grid; place-items:center; padding:24px; background:rgba(7,18,32,.6); backdrop-filter:blur(8px); }
.notification-spotlight-backdrop[hidden] { display:none; }
.notification-spotlight { width:min(680px,calc(100vw - 32px)); overflow:hidden; border:1px solid rgba(216,226,236,.92); border-radius:22px; background:#fff; box-shadow:0 38px 110px rgba(4,15,28,.44); }
.notification-spotlight-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 20px; border-bottom:1px solid #e7ecf2; background:#fbfcfe; }
.notification-spotlight-brand { display:flex; align-items:center; gap:10px; }
.notification-spotlight-mark { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; background:#102a4c; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:14px; font-weight:700; }
.notification-spotlight-brand > div { display:grid; gap:1px; }
.notification-spotlight-brand span:not(.notification-spotlight-mark) { color:#8b97a6; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.notification-spotlight-brand strong { color:#29445f; font-size:10px; }
.notification-spotlight-close { width:34px; height:34px; border:1px solid #dde4eb; border-radius:50%; background:#fff; color:#617083; font-size:21px; line-height:1; cursor:pointer; }
.notification-spotlight-content { padding:30px 34px 32px; }
.notification-spotlight-meta { display:flex; align-items:center; justify-content:space-between; gap:14px; color:#8a97a7; font-size:9px; }
.notification-spotlight-sender { display:flex; align-items:center; gap:11px; margin-top:23px; }
.notification-spotlight-sender > div { display:grid; gap:2px; }
.notification-spotlight-sender > div span { color:#8b97a6; font-size:8px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.notification-spotlight-sender > div strong { color:#334e68; font-size:11px; }
.notification-spotlight-message h2 { margin:25px 0 0; color:#122e4d; font-family:Georgia,"Times New Roman",serif; font-size:30px; line-height:1.15; letter-spacing:-.025em; }
.notification-spotlight-text { margin:20px 0 0; color:#3e5064; font-family:Georgia,"Times New Roman",serif; font-size:17px; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; }
.notification-spotlight-footnote { margin-top:28px; padding-top:15px; border-top:1px solid #e9edf2; color:#8a97a7; font-size:9px; line-height:1.5; }
body.notification-spotlight-open { overflow:hidden; }

/* Tarefas ficam fora da Central durante o Passo 8. A estrutura é preservada no código. */
#hubSectionTasks { display:none !important; }

@media (max-width: 900px) {
  .workspace-hub-dialog { width:min(760px,calc(100vw - 24px)); }
  .notification-center-shell { grid-template-columns:1fr; }
  .notification-center-list-pane { border-right:0; }
  .notification-inbox-list { max-height:280px; border-bottom:1px solid #e4eaf0; }
  .notification-preview { min-height:380px; padding:24px 22px 20px; }
}
@media (max-width: 620px) {
  .workspace-hub-launcher { width:56px; height:56px; right:16px; bottom:20px; }
  .workspace-hub-backdrop { padding:8px; }
  .workspace-hub-dialog { width:100%; max-height:calc(100dvh - 16px); border-radius:16px; }
  .workspace-hub-header { padding:17px 18px 14px; }
  .workspace-hub-body { padding:14px; }
  .hub-section-tabs { width:100%; }
  .hub-section-tab { flex:1 1 0; min-width:0; padding-left:9px; padding-right:9px; }
  .notification-center-hero { align-items:flex-start; flex-direction:column; }
  .hub-compose-launch { width:100%; justify-content:center; }
  .notification-center-toolbar { align-items:flex-start; flex-direction:column; }
  .hub-quiet-action { align-self:flex-end; }
  .notification-preview-header h4 { font-size:21px; }
  .notification-preview-footer { align-items:flex-start; flex-direction:column; }
  .notification-preview-actions { justify-content:flex-start; width:100%; }
  .notification-spotlight-content { padding:24px 22px 26px; }
  .notification-spotlight-message h2 { font-size:25px; }
  .notification-spotlight-text { font-size:15px; }
}

/* PASSO 8B — entrega visual central de mensagens */
.notification-spotlight { position:relative; }
.notification-spotlight::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:#54789f; z-index:2; }
.notification-spotlight.is-importante::before { background:#c49a36; }
.notification-spotlight.is-urgente::before { background:#b83a43; }
.notification-spotlight-meta-right { display:flex; align-items:center; justify-content:flex-end; gap:9px; min-width:0; }
.notification-spotlight-counter { display:inline-flex; align-items:center; min-height:22px; padding:3px 7px; border:1px solid #dce4ec; border-radius:999px; background:#f7f9fb; color:#40576f; font-size:8px; font-weight:900; letter-spacing:.03em; white-space:nowrap; }
.notification-spotlight-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:22px; padding-top:18px; border-top:1px solid #e7ecf2; }
.notification-spotlight-navigation,.notification-spotlight-primary-actions { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.notification-spotlight-primary-actions { justify-content:flex-end; margin-left:auto; }
.notification-spotlight-actions .hub-primary-action,.notification-spotlight-actions .hub-action-button { min-height:36px; }
@media(max-width:620px){
  .notification-spotlight-meta { align-items:flex-start; }
  .notification-spotlight-meta-right { align-items:flex-end; flex-direction:column; gap:4px; }
  .notification-spotlight-actions { align-items:stretch; flex-direction:column; }
  .notification-spotlight-navigation,.notification-spotlight-primary-actions { width:100%; }
  .notification-spotlight-navigation > button,.notification-spotlight-primary-actions > button { flex:1; }
  .notification-spotlight-primary-actions { margin-left:0; }
}

/* PASSO 8C — estado da entrega em tempo real, com polling como contingência. */
.notification-realtime-status{display:inline-flex;align-items:center;gap:6px;margin-top:9px;padding:5px 8px;border:1px solid #dde5ed;border-radius:999px;background:#f8fafc;color:#64748b;font-size:8px;line-height:1.2}
.notification-realtime-status strong{font-size:8px;color:#40556d}
.notification-realtime-status [data-realtime-detail]{color:#7d8997}
.notification-realtime-dot{width:7px;height:7px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.12)}
.notification-realtime-status.is-connected{border-color:#cee6d7;background:#f5fbf7}.notification-realtime-status.is-connected .notification-realtime-dot{background:#2f8f55;box-shadow:0 0 0 3px rgba(47,143,85,.12)}.notification-realtime-status.is-connected strong{color:#246b42}
.notification-realtime-status.is-connecting{border-color:#d8e4f0;background:#f7fafd}.notification-realtime-status.is-connecting .notification-realtime-dot{background:#4b79a7;animation:notification-realtime-pulse 1.4s ease-in-out infinite}
.notification-realtime-status.is-degraded{border-color:#ecdcae;background:#fffaf0}.notification-realtime-status.is-degraded .notification-realtime-dot{background:#b78521}.notification-realtime-status.is-degraded strong{color:#7c5a18}
.notification-realtime-status.is-offline{border-color:#ead3d5;background:#fff8f8}.notification-realtime-status.is-offline .notification-realtime-dot{background:#a64a50}.notification-realtime-status.is-offline strong{color:#8c383e}
.notification-realtime-status.is-idle{opacity:.78}
@keyframes notification-realtime-pulse{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:620px){.notification-realtime-status{max-width:100%;flex-wrap:wrap}}
