@import url("../assets/vendor/bootstrap/css/bootstrap.min.css");
@import url("../assets/vendor/bootstrap-icons/font/bootstrap-icons.min.css");
@import url("../assets/vendor/select2/css/select2.min.css");
@import url("../assets/vendor/sweetalert2/sweetalert2.min.css");

/* iPoomWeb Agência 360º — estilos da aplicação */
:root {
  --module-heading-gap: 12px;

  /* Tema Verde iPoomWeb ? #32A08F 
  --ip-primary: #119681;
  --ip-primary-hover: #0D7F6D; */
    
  /* Tema ativo: azul */
  --ip-primary: #0051FA;
  --ip-primary-hover: #0044D9;
  --ip-primary-soft: #EEF4FF;
  --ip-primary-soft-strong: #DFEAFF;
  --ip-primary-surface: #F6FAFF;
  --ip-primary-border: #BFD2FF;
  --ip-primary-border-soft: #D7E5FF;
  --ip-primary-focus: #8FB5FF;
  --ip-primary-gradient-start: #2C75FF;
  --ip-primary-gradient-end: #0044D9;
  --ip-primary-shadow: rgba(0, 81, 250, .20);
  --ip-primary-shadow-soft: rgba(0, 81, 250, .15);
  --ip-primary-contrast: #fff;

  /* Tema anterior: verde escuro, preservado para comparação */
  --ip-previous-dark-green-primary: #119681;
  --ip-previous-dark-green-primary-hover: #0D7F6D;
  --ip-previous-dark-green-primary-soft: #E6F6F2;
  --ip-previous-dark-green-primary-soft-strong: #CDEDE7;
  --ip-previous-dark-green-primary-surface: #F4FBF9;
  --ip-previous-dark-green-primary-border: #A7DED3;
  --ip-previous-dark-green-primary-border-soft: #CDEDE7;
  --ip-previous-dark-green-primary-focus: #78CABB;
  --ip-previous-dark-green-primary-gradient-start: #1AAE9B;
  --ip-previous-dark-green-primary-gradient-end: #0D7F6D;
  --ip-previous-dark-green-primary-shadow: rgba(17, 150, 129, .20);
  --ip-previous-dark-green-primary-shadow-soft: rgba(17, 150, 129, .15);

  /* Tema anterior: verde claro, preservado para comparação */
  --ip-previous-green-primary: #44C98B;
  --ip-previous-green-primary-hover: #35B77A;
  --ip-previous-green-primary-soft: #EAF9F1;
  --ip-previous-green-primary-soft-strong: #D7F3E4;
  --ip-previous-green-primary-surface: #F6FCF8;
  --ip-previous-green-primary-border: #B9EBD0;
  --ip-previous-green-primary-border-soft: #D7F2E4;
  --ip-previous-green-primary-focus: #8FDEB5;
  --ip-previous-green-primary-gradient-start: #55D49A;
  --ip-previous-green-primary-gradient-end: #35B77A;
  --ip-previous-green-primary-shadow: rgba(68, 201, 139, .20);
  --ip-previous-green-primary-shadow-soft: rgba(68, 201, 139, .15);

  /* Tema anterior: azul, preservado para um retorno rápido */
  --ip-previous-primary: #0051FA;
  --ip-previous-primary-hover: #0044D9;
  --ip-previous-primary-soft: #EEF4FF;
  --ip-previous-primary-soft-strong: #DFEAFF;
  --ip-previous-primary-surface: #F6FAFF;
  --ip-previous-primary-border: #BFD2FF;
  --ip-previous-primary-border-soft: #D7E5FF;
  --ip-previous-primary-focus: #8FB5FF;
  --ip-previous-primary-gradient-start: #2C75FF;
  --ip-previous-primary-gradient-end: #0044D9;
  --ip-previous-primary-shadow: rgba(0, 81, 250, .20);
  --ip-previous-primary-shadow-soft: rgba(0, 81, 250, .15);
  --ip-bg: #f7f9fc;
  --ip-surface: #fff;
  --ip-border: #e7ecf3;
  --ip-text: #122033;
  --ip-muted: #6b778c;
  --ip-success: #22b76b;
  --ip-warning: #f2a51a;
  --ip-danger: #e94b55;
  --ip-info: #6f63e8;
  --radius-card: 12px;
  --radius-control: 8px;
  --radius-modal: 12px;
  --shadow-card: 0 4px 16px rgba(31, 57, 90, .045);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--ip-text); background: var(--ip-bg); font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 13px; }
button, input { font: inherit; }
button { border: 0; }

.app-shell { min-height: 100vh; display: flex; }
.sidebar { width: 248px; flex: 0 0 248px; min-height: 100vh; padding: 26px 14px 22px; display: flex; flex-direction: column; border-right: 1px solid var(--ip-border); background: rgba(255,255,255,.83); }
.brand-lockup { display: flex; align-items: center; height: 64px; padding: 0 12px 7px; border-bottom: 1px solid var(--ip-border); }
.brand-logo { width: 190px; height: auto; display: block; }
.brand-copy { display: grid; gap: 1px; }
.brand-name { font-size: 22px; font-weight: 700; letter-spacing: -.85px; color: #172033; line-height: 1.05; }
.brand-name span { color: var(--ip-primary); }
.brand-subname { width: fit-content; padding: 3px 7px 3px 6px; color: #59708e; border: 1px solid #dbe8f8; border-radius: 999px; background: #f4f8fe; font-size: 11px; font-weight: 700; letter-spacing: .45px; line-height: 1; text-transform: uppercase; }
.brand-subname strong { color: var(--ip-primary); font-size: 11px; letter-spacing: .15px; }
.brand-mark { position: relative; width: 38px; height: 35px; display: inline-flex; align-items: flex-end; gap: 3px; transform: skewY(-9deg); }
.brand-mark i { display: block; width: 9px; background: var(--ip-primary); border-radius: 6px 6px 3px 3px; }
.brand-mark i:nth-child(1) { height: 22px; }
.brand-mark i:nth-child(2) { height: 30px; }
.brand-mark i:nth-child(3) { height: 20px; }
.brand-mark::before, .brand-mark::after { content: ""; position: absolute; border-radius: 50%; background: var(--ip-primary); }
.brand-mark::before { width: 8px; height: 8px; top: 0; left: 2px; }
.brand-mark::after { width: 8px; height: 8px; top: 5px; right: 2px; }
.main-nav { margin-top: 23px; display: grid; gap: 3px; }
.nav-link { min-height: 42px; padding: 0 13px; display: flex; align-items: center; gap: 12px; position: relative; border-radius: 10px; color: #3d4e69; font-size: 14px; text-decoration: none; transition: background .2s ease, color .2s ease, transform .2s ease; }
.nav-link i { width: 19px; text-align: center; font-size: 17px; }
.nav-link:hover { color: var(--ip-primary); background: var(--ip-primary-soft); transform: translateX(2px); }
.nav-link.active { color: var(--ip-primary-contrast); background: linear-gradient(110deg, var(--ip-primary-gradient-start) 0%, var(--ip-primary-gradient-end) 100%); box-shadow: 0 7px 15px var(--ip-primary-shadow); }
.nav-link.active i { color: var(--ip-primary-contrast); }
.nav-count { margin-left: auto; padding: 2px 7px; border-radius: 20px; color: #fff; background: var(--ip-primary); font-size: 11px; }
.nav-link.active .nav-count { color: var(--ip-primary); background: #fff; }
.sidebar-tip { min-height: 177px; margin-top: auto; padding: 18px 17px; position: relative; overflow: hidden; display: flex; border: 1px solid var(--ip-primary-border-soft); border-radius: 15px; background: linear-gradient(130deg, var(--ip-primary-surface) 0%, var(--ip-primary-soft) 100%); }
.tip-copy { max-width: 147px; position: relative; z-index: 1; }
.eyebrow { display: block; font-size: 13px; font-weight: 700; }
.tip-copy p { margin: 7px 0 16px; color: #64728a; font-size: 12px; line-height: 1.38; }
.link-button, .panel-link { padding: 0; color: var(--ip-primary); background: transparent; font-size: 12px; font-weight: 700; text-decoration: none; cursor: pointer; }
.link-button i { margin-left: 7px; font-size: 16px; vertical-align: -1px; }
.tip-illustration { position: absolute; right: -1px; bottom: 8px; width: 94px; height: 92px; border-radius: 50%; background: radial-gradient(circle at 50% 53%, rgba(255,255,255,.95) 0 25%, transparent 26%), linear-gradient(145deg, transparent 30%, rgba(76,143,239,.2) 31% 46%, transparent 47%); transform: rotate(-17deg); }
.tip-illustration i { position: absolute; right: 22px; top: 12px; color: var(--ip-primary); font-size: 40px; filter: drop-shadow(0 7px 4px var(--ip-primary-shadow-soft)); }
.sidebar-footer { display: grid; gap: 5px; margin: 68px 10px 2px; color: #7c8799; font-size: 11px; }

.main-content { min-width: 0; flex: 1; padding: 24px 32px 32px; }
.topbar { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.page-heading h1 { display: inline; margin: 0; font-size: 28px; letter-spacing: -.9px; line-height: 1; }
.heading-line { display: flex; align-items: center; gap: 6px; }
.status-dot { width: 8px; height: 8px; align-self: center; margin-top: 0; border-radius: 50%; background: var(--ip-primary); transform: translateY(4px); }
.page-heading p { margin: 4px 0 0; color: var(--ip-muted); font-size: 13px; line-height: 1.3; }
.topbar-actions { display: flex; align-items: center; gap: 14px; position: relative; }
.search-box { width: 381px; height: 48px; padding: 0 13px; display: flex; align-items: center; gap: 11px; border: 1px solid var(--ip-border); border-radius: 15px; background: #fff; color: #8b98aa; box-shadow: 0 2px 5px rgba(30, 55, 90, .025); }
.search-box > i { font-size: 17px; }
.search-box input { min-width: 0; flex: 1; outline: 0; border: 0; color: var(--ip-text); }
.search-box input::placeholder { color: #8996aa; }
kbd { padding: 3px 7px; color: #8895a9; border: 1px solid #e1e7f0; border-radius: 5px; background: #fafcff; font-size: 11px; white-space: nowrap; }
.icon-button { width: 48px; height: 48px; position: relative; border: 1px solid var(--ip-border); border-radius: 50%; color: #41516a; background: #fff; cursor: pointer; transition: color .2s ease, border-color .2s ease; }
.icon-button:hover { color: var(--ip-primary); border-color: var(--ip-primary-border); }
.icon-button i { font-size: 19px; }
.notification-button span { position: absolute; top: -4px; right: -2px; min-width: 18px; height: 18px; padding: 1px 4px; border: 2px solid var(--ip-bg); border-radius: 50%; color: #fff; background: var(--ip-primary); font-size: 11px; font-weight: 700; }
.profile-button { height: 48px; padding: 0 0 0 2px; display: flex; align-items: center; gap: 9px; color: var(--ip-text); background: transparent; cursor: pointer; }
.profile-copy { display: grid; gap: 2px; text-align: left; white-space: nowrap; }
.profile-copy strong { font-size: 12px; }
.profile-copy small { color: var(--ip-muted); font-size: 11px; }
.profile-button > i { margin-left: 11px; color: #5e6e84; font-size: 13px; }
.avatar { width: 36px; height: 36px; display: inline-grid; place-items: center; flex: 0 0 auto; overflow: hidden; border-radius: 50%; color: #fff; background: var(--ip-primary); font-size: 11px; font-weight: 700; }
.avatar-photo { position: relative; box-shadow: inset 0 0 0 2px #fff, 0 2px 5px rgba(0,0,0,.12); }
.avatar-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.avatar-photo.avatar-fallback::after { content: attr(data-fallback); display: grid; place-items: center; width: 100%; height: 100%; color: var(--ip-primary-contrast); background: var(--ip-primary); font-size: inherit; font-weight: inherit; }
.profile-menu { width: 182px; position: absolute; z-index: 10; right: 0; top: 55px; padding: 7px; border: 1px solid var(--ip-border); border-radius: 11px; background: #fff; box-shadow: 0 15px 35px rgba(18,32,51,.13); }
.profile-menu[hidden] { display: none; }
.profile-menu-header { padding: 5px 8px 8px; display: grid; gap: 2px; border-bottom: 1px solid #edf1f6; }
.profile-menu-header strong { color: var(--ip-text); font-size: 11px; }
.profile-menu-header small { color: var(--ip-muted); font-size: 10px; }
.profile-menu button { width: 100%; padding: 9px; display: flex; align-items: center; gap: 9px; border-radius: 7px; color: var(--ip-text); background: transparent; font-size: 11px; text-align: left; cursor: pointer; }
.profile-menu button i { width: 16px; color: #728097; font-size: 13px; text-align: center; }
.profile-menu button:hover { background: var(--ip-primary-soft); color: var(--ip-primary); }
.profile-menu button:hover i { color: var(--ip-primary); }
.profile-menu-divider { height: 1px; margin: 5px 0; background: #edf1f6; }
.profile-menu .profile-menu-signout { color: var(--ip-danger); }
.profile-menu .profile-menu-signout i { color: var(--ip-danger); }

.dashboard { margin-top: var(--module-heading-gap); }
.metric-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.metric-card { min-width: 0; min-height: 118px; padding: 20px 21px; display: flex; align-items: center; gap: 17px; border: 1px solid var(--ip-border); border-radius: var(--radius-card); background: var(--ip-surface); box-shadow: var(--shadow-card); }
.metric-icon { width: 53px; height: 53px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 14px; color: #fff; font-size: 24px; box-shadow: inset 0 -7px 13px rgba(0,0,0,.08); }
.metric-icon.blue { background: linear-gradient(145deg,var(--ip-primary-gradient-start),var(--ip-primary-gradient-end)); }.metric-icon.yellow { background: linear-gradient(145deg,#ffc42f,#efa500); }.metric-icon.purple { background: linear-gradient(145deg,#9c8af1,#6f5bc9); }.metric-icon.orange { background: linear-gradient(145deg,#ff9b3c,#f27810); }.metric-icon.green { background: linear-gradient(145deg,#48c98c,#14aa61); }
.metric-card div:last-child { display: grid; gap: 4px; min-width: 0; }.metric-card span { color: #283750; font-size: 13px; white-space: nowrap; }.metric-card strong { color: #142239; font-size: 28px; line-height: 1; letter-spacing: -.7px; }.metric-card small { font-size: 11px; white-space: nowrap; }.blue-text { color: var(--ip-primary); }.yellow-text { color: #efa600; }.purple-text { color: #7663d0; }.orange-text { color: #f17418; }.green-text { color: #1aad63; }
.dashboard-grid { display: grid; gap: 12px; margin-top: 16px; }.top-grid { grid-template-columns: minmax(0, 1.48fr) minmax(440px, 1fr); }.middle-grid { grid-template-columns: minmax(0, 1.48fr) minmax(250px, .75fr) minmax(250px, .75fr); }.bottom-grid { grid-template-columns: minmax(0, 1.48fr) minmax(440px, 1fr); }
.panel { min-width: 0; overflow: hidden; border: 1px solid var(--ip-border); border-radius: var(--radius-card); background: #fff; box-shadow: var(--shadow-card); }.panel-header { min-height: 54px; padding: 17px 18px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }.panel-header h2, .day-summary h2 { margin: 0; font-size: 14px; font-weight: 700; letter-spacing: -.15px; }.panel-count { margin-left: 5px; padding: 3px 8px; color: #5f6e86; border: 1px solid #dae3ee; border-radius: 20px; font-size: 11px; font-weight: 600; vertical-align: 1px; }.danger-count { color: var(--ip-danger); border-color: #f7d0d3; }.panel-link { white-space: nowrap; }.panel-link i { margin-left: 6px; font-size: 14px; }.panel-footer { min-height: 42px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #f0f3f8; color: #6b778c; font-size: 11px; }.panel-footer i { margin-right: 5px; color: var(--ip-primary); }.panel-footer.end { justify-content: flex-end; }
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; margin: 0; border-collapse: collapse; white-space: nowrap; }
.data-table th {
  padding: 8px 12px;
  color: #758198;
  background: #fcfdff;
  font-size: 12px;
  font-weight: 600;
}
.data-table th:first-child, .data-table td:first-child { padding-left: 18px; }
.data-table th:last-child, .data-table td:last-child { padding-right: 18px; }
.data-table td {
  height: 43px;
  padding: 11px 12px;
  border-top: 1px solid #f0f3f8;
  color: #4b5a72;
  font-size: 12px;
}
.data-table tbody tr:hover { background: #fbfdff; }
.data-table td:first-child { color: #263650; font-weight: 600; }
.row-icon { width: 17px; margin-right: 9px; color: var(--ip-primary); font-size: 14px; text-align: center; }
.tag, .status-tag { padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; }
.tag-correction { color: #e85a66; background: #fff0f1; }
.tag-adjustment { color: #e9980f; background: #fff7df; }
.tag-evolution { color: #20a86a; background: #eaf9f0; }
.tag-question { color: #795dda; background: #f1edff; }
.tag-infra { color: #71809a; background: #f0f3f7; }
.tag-area { color: var(--ip-primary); background: var(--ip-primary-soft); }
.assume-button { padding: 5px 8px; border: 1px solid var(--ip-primary-border-soft); border-radius: 6px; color: var(--ip-primary); background: #fff; font-size: 11px; font-weight: 700; cursor: pointer; transition: background .2s ease, color .2s ease; }
.assume-button:hover, .assume-button.is-assumed { color: #fff; border-color: var(--ip-primary); background: var(--ip-primary); }
.project-list { padding: 2px 18px 4px; }.project-row { min-height: 63px; display: grid; grid-template-columns: 36px minmax(120px, 1.1fr) minmax(130px, 1fr) 57px; align-items: center; gap: 10px; border-bottom: 1px solid #f0f3f8; }.project-row:last-child { border-bottom: 0; }.project-avatar, .mini-avatar { display: grid; place-items: center; flex: 0 0 auto; color: #fff; border-radius: 50%; font-size: 14px; font-weight: 700; }.project-avatar { width: 36px; height: 36px; }.indigo, .violet { background: #3a55b7; }.emerald { background: #16b56c; }.violet { background: #6646bd; }.project-name { display: grid; gap: 3px; min-width: 0; }.project-name strong { overflow: hidden; color: #25344d; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.project-name small { color: #748197; font-size: 11px; }.progress-wrap { display: flex; align-items: center; gap: 9px; }.progress { height: 5px; flex: 1; overflow: hidden; border-radius: 10px; background: #e8edf3; }.progress span { display: block; height: 100%; border-radius: inherit; background: var(--ip-primary); }.progress-wrap b { color: #34425c; font-size: 11px; font-weight: 500; }.project-deadline { color: #8792a4; font-size: 11px; line-height: 1.5; text-align: right; }.project-deadline strong { color: #40506a; font-weight: 600; }
.activity-table td { height: 43px; }.check-circle { width: 14px; height: 14px; display: inline-block; margin-right: 9px; border: 1px solid #a7b4c6; border-radius: 50%; vertical-align: -2px; }.person { display: inline-flex; align-items: center; gap: 5px; }.avatar-small { width: 22px; height: 22px; font-size: 11px; }.blue-avatar { background: #2a78dc; }.dark-avatar { background: #2c3d72; }.violet-avatar { background: #7c66ca; }.orange-avatar { background: #e78936; }.progress-status { color: var(--ip-primary); background: var(--ip-primary-soft); }.review-status { color: #ea8b24; background: #fff4e5; }.sla-danger { color: var(--ip-danger) !important; }
.compact-list { padding: 0 17px; }.compact-list article { min-height: 52px; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid #f0f3f8; }.compact-list article:last-child { border-bottom: 0; }.mini-avatar { width: 25px; height: 25px; border-radius: 7px; font-size: 11px; }.mini-avatar.violet { background: #644ab9; }.mini-avatar.emerald { background: #18ad69; }.mini-avatar.blue { background: #2d579d; }.mini-avatar.orange { background: #eb851d; }.compact-list article > div { min-width: 0; flex: 1; display: grid; gap: 2px; }.compact-list strong { overflow: hidden; color: #2a3851; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.compact-list small { color: #778399; font-size: 11px; }.compact-list time { color: var(--ip-danger); font-size: 11px; white-space: nowrap; }.returns-list time { color: #65738a; }.returns-list time.today { color: var(--ip-danger); }.return-icon { width: 25px; height: 25px; display: grid; place-items: center; color: #f06e74; border: 1px solid #f6c5c7; border-radius: 7px; background: #fff7f7; font-size: 12px; }
.sla-panel { border-color: #f6dede; background: #fffafa; }.sla-panel .panel-header { padding-bottom: 11px; }.sla-list { padding: 0 8px 10px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.sla-list article { min-width: 0; padding: 10px 10px 8px; display: grid; grid-template-columns: 19px minmax(0, 1fr) auto; gap: 7px; align-items: center; border: 1px solid #f9e7e7; border-radius: 9px; background: #fff; }.sla-list article > i { color: #ed5156; font-size: 17px; }.sla-list article div { min-width: 0; display: grid; gap: 3px; }.sla-list strong { overflow: hidden; color: #303c52; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.sla-list small { overflow: hidden; color: #7b8799; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.sla-list article > span { display: grid; color: var(--ip-danger); font-size: 11px; text-align: right; white-space: nowrap; }.sla-list article > span b { font-weight: 600; }.day-summary { padding: 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }.day-summary > div:first-child { min-width: 105px; display: grid; gap: 8px; }.day-summary > div:first-child > span { color: #728097; font-size: 11px; }.day-summary > div:first-child > strong { font-size: 24px; line-height: 1; }.day-summary > div:first-child > strong small { margin-left: 5px; color: var(--ip-success); font-size: 11px; font-weight: 600; }.chart { flex: 1; min-width: 200px; }.chart svg { display: block; width: 100%; height: 76px; }
.home-demand-row, .home-project-row, .home-conversation-row { cursor: pointer; }
.home-demand-row:focus-visible, .home-project-row:focus-visible, .home-conversation-row:focus-visible { outline: 2px solid var(--ip-primary-focus); outline-offset: -2px; }
.dashboard-empty { margin: 0; padding: 18px; display: block; color: var(--ip-muted); font-size: 12px; text-align: center; }
.today-summary-icon { width: 74px; height: 74px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: var(--ip-success); background: #eaf9f0; font-size: 34px; }
.mobile-menu { display: none; width: 42px; height: 42px; border: 1px solid var(--ip-border); border-radius: 10px; color: var(--ip-text); background: #fff; }
.toast-message { position: fixed; z-index: 30; right: 26px; bottom: 24px; max-width: 310px; padding: 12px 16px; visibility: hidden; opacity: 0; border-radius: 10px; color: #fff; background: #192b45; box-shadow: 0 12px 25px rgba(18,32,51,.18); transform: translateY(10px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; font-size: 12px; }.toast-message.show { visibility: visible; opacity: 1; transform: translateY(0); }

/* Leitura do conteúdo operacional */
.project-name strong { font-size: 13px; }
.compact-list strong { font-size: 12px; }
.compact-list small, .compact-list time { font-size: 11px; }
.sla-list strong { font-size: 11px; }
.sla-list small { font-size: 11px; }

/* Ajustes da identidade verde */
.tag-area { color: var(--ip-primary); background: var(--ip-primary-soft); }
.assume-button { border-color: var(--ip-primary-border); }
.delegate-button:hover, .delegate-button.is-delegated { border-color: #a8dbe1; }
.dialog-body input:focus, .dialog-body select:focus, .dialog-body textarea:focus { border-color: var(--ip-primary-focus); box-shadow: 0 0 0 3px var(--ip-primary-soft); }

.entry-header-actions { display: flex; align-items: center; gap: 14px; }
.primary-action, .secondary-action { min-height: 35px; padding: 8px 16px; border-radius: 8px; font-size: 11px; font-weight: 700; cursor: pointer; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.primary-action { color: #fff; background: var(--ip-primary); box-shadow: 0 4px 9px var(--ip-primary-shadow-soft); }
.primary-action:hover { background: var(--ip-primary-hover); }
.primary-action i { margin-right: 5px; }
.entry-actions { display: flex; align-items: center; gap: 5px; }
.delegate-button { padding: 7px 14px; border: 1px solid #dfe6ef; border-radius: 7px; color: #5b6a80; background: #fff; font-size: 11px; font-weight: 700; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.delegate-button:hover, .delegate-button.is-delegated { color: var(--ip-primary); border-color: var(--ip-primary-border); background: var(--ip-primary-soft); }
.task-dialog { width: min(510px, calc(100% - 32px)); padding: 0; overflow: hidden; border: 1px solid var(--ip-border); border-radius: 16px; color: var(--ip-text); background: #fff; box-shadow: 0 25px 80px rgba(18,32,51,.24); }
.task-modal { position: fixed; z-index: 25; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.task-modal[hidden] { display: none; }
.task-modal.is-open { display: block !important; }
.new-demand-modal.is-editing-detail { z-index: 30; }
.demand-client-modal.is-quick-triage { z-index: 35; }
.demand-client-modal.is-editing-detail,
.demand-contact-modal.is-editing-detail { z-index: 31; }
#demandStatusField[hidden] { display: none !important; }
body.modal-open::before { content: ""; position: fixed; z-index: 24; inset: 0; background: rgba(18,32,51,.35); backdrop-filter: blur(2px); }
.task-dialog::backdrop { background: rgba(18,32,51,.35); backdrop-filter: blur(2px); }
.dialog-header { padding: 18px 24px 12px; display: flex; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid #eff3f8; }.dialog-header .eyebrow { margin-bottom: 2px; color: var(--ip-primary); font-size: 11px; letter-spacing: .35px; text-transform: uppercase; }.dialog-header h2 { margin: 0; color: #17243a; font-size: 22px; letter-spacing: -.45px; }.dialog-close { width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 0; color: #718198; background: transparent; font-size: 20px; box-shadow: none; cursor: pointer; transition: color .2s ease, transform .2s ease; }.dialog-close:hover { color: var(--ip-primary); background: transparent; box-shadow: none; transform: scale(1.08); }
.dialog-body { padding: 20px 22px 6px; display: grid; gap: 15px; }.dialog-body label { display: grid; gap: 4px; color: #41516a; font-size: 11px; font-weight: 700; }.dialog-body input, .dialog-body select, .dialog-body textarea { width: 100%; padding: 10px 11px; outline: 0; border: 1px solid #dfe6ef; border-radius: 8px; color: var(--ip-text); background: #fff; font-size: 12px; font-weight: 400; transition: border-color .2s ease, box-shadow .2s ease; }.dialog-body input::placeholder, .dialog-body textarea::placeholder { color: #9aa6b7; }.dialog-body input:focus, .dialog-body select:focus, .dialog-body textarea:focus { border-color: var(--ip-primary-focus); box-shadow: 0 0 0 3px var(--ip-primary-soft); }.dialog-body textarea { resize: vertical; }.dialog-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.dialog-actions { padding: 15px 22px 20px; display: flex; align-items: center; justify-content: flex-start; gap: 9px; }.secondary-action { color: #5d6b80; border: 1px solid #dfe6ef; background: #fff; }.secondary-action:hover { color: var(--ip-text); border-color: #b9c8da; background: #f8fafd; }

.account-modal { width: min(560px, calc(100% - 32px)); }
.account-dialog-body { gap: 16px; }
.account-modal .account-dialog-body { max-height: calc(100vh - 205px); overflow-y: auto; }
.account-profile-identity { min-width: 0; padding: 2px 0 4px; display: flex; align-items: center; gap: 11px; }
.account-profile-photo { width: 48px; height: 48px; font-size: 13px; }
.account-profile-identity > div { min-width: 0; flex: 1; display: grid; gap: 2px; }
.account-profile-identity strong { overflow: hidden; color: #263650; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.account-profile-identity small { overflow: hidden; color: #7b8799; font-size: 10px; line-height: 1.3; text-overflow: ellipsis; }
.account-password-details { border-top: 1px solid #edf1f6; padding-top: 11px; }
.account-password-details summary { color: var(--ip-primary); font-size: 11px; font-weight: 700; cursor: pointer; }
.account-password-fields { display: grid; gap: 12px; padding-top: 12px; }
.account-form-note { display: flex; align-items: flex-start; gap: 7px; color: #7b8799; font-size: 10px; line-height: 1.35; }
.account-form-note i { margin-top: 1px; color: var(--ip-primary); }
.account-check-row { min-height: 48px; padding: 10px 11px; display: flex !important; align-items: center; gap: 10px !important; border: 1px solid #e3e9f1; border-radius: 8px; cursor: pointer; }
.account-check-row:has(input:checked) { border-color: var(--ip-primary-border); background: var(--ip-primary-soft); }
.account-check-row input { width: 15px; height: 15px; flex: 0 0 auto; accent-color: var(--ip-primary); }
.account-check-row span { min-width: 0; display: grid; gap: 2px; }
.account-check-row strong { color: #3f4f67; font-size: 11px; }
.account-check-row small { color: #7b8799; font-size: 11px; font-weight: 400; line-height: 1.3; }
.account-push-panel { padding: 12px; display: grid; gap: 10px; border: 1px solid #e3e9f1; border-radius: 8px; background: #fbfcfe; }
.account-push-heading { display: flex; align-items: center; gap: 9px; }
.account-push-heading > span { width: 32px; height: 32px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--ip-primary); background: var(--ip-primary-soft); }
.account-push-heading > div { min-width: 0; display: grid; gap: 2px; }
.account-push-heading strong, .account-push-devices > strong { color: #3f4f67; font-size: 12px; }
.account-push-heading small, .account-push-status, .account-push-note { margin: 0; color: #7b8799; font-size: 11px; line-height: 1.4; }
.account-push-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.account-push-actions .secondary-action { min-height: 31px; padding: 6px 10px; font-size: 11px; }
.account-push-devices { display: grid; gap: 6px; }
.account-push-devices ul { max-height: 112px; margin: 0; padding: 0; overflow-y: auto; list-style: none; }
.account-push-devices li { min-height: 33px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid #edf1f6; }
.account-push-device-copy { min-width: 0; display: grid; gap: 1px; }
.account-push-device-copy strong { overflow: hidden; color: #42516a; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.account-push-device-copy small { color: #8995a6; font-size: 11px; }
.account-push-device-remove { padding: 4px 6px; border: 0; color: #77859a; background: transparent; font-size: 11px; cursor: pointer; }
.account-push-device-remove:hover { color: #c33c4a; }
.account-push-devices .account-push-empty { padding: 5px 0; color: #8995a6; font-size: 11px; }
.account-push-status.is-error { color: #bd3948; }
.account-push-invite { position: fixed; z-index: 23; right: 24px; bottom: 24px; width: min(380px, calc(100vw - 32px)); padding: 16px; display: flex; align-items: flex-start; gap: 11px; border: 1px solid #dfe6ef; border-radius: 12px; color: var(--ip-text); background: #fff; box-shadow: 0 16px 42px rgba(18,32,51,.18); }
.account-push-invite[hidden] { display: none; }
.account-push-invite-icon { width: 36px; height: 36px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--ip-primary); background: var(--ip-primary-soft); }
.account-push-invite-content { min-width: 0; display: grid; gap: 5px; }
.account-push-invite-content > strong { font-size: 14px; }
.account-push-invite-content > p { margin: 0; color: var(--ip-muted); font-size: 12px; line-height: 1.4; }
.account-push-invite-content > .account-push-invite-status { color: #bd3948; }
.account-push-invite-actions { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 7px; }
.account-push-invite-actions button { min-height: 33px; padding: 7px 11px; font-size: 12px; }
.pwa-install-invite { z-index: 24; }
.pwa-install-help { margin-top: 5px; padding: 10px; display: grid; gap: 7px; border: 1px solid #e3e9f1; border-radius: 8px; background: #f8faff; }
.pwa-install-help[hidden] { display: none; }
.pwa-install-help > strong { color: #3f4f67; font-size: 12px; }
.pwa-install-help > p { margin: 0; color: var(--ip-muted); font-size: 12px; line-height: 1.45; }
.pwa-install-help > button { justify-self: start; }
@media (max-width: 620px) { .account-push-actions { align-items: flex-start; flex-direction: column; } }
@media (max-width: 620px) { .account-push-invite { right: 16px; bottom: 16px; } }
.team-photo-field { display: grid; gap: 5px; }
.team-photo-control { display: flex; align-items: center; gap: 10px; }
.team-photo-picker { min-height: 32px; padding: 7px 10px; display: inline-flex !important; align-items: center; justify-content: center; gap: 5px; font-size: 10px; line-height: 1; white-space: nowrap; }
.team-photo-picker i { margin-right: 4px; }
.field-help { color: #7b8799; font-size: 11px; font-weight: 400; line-height: 1.3; }
@media (max-width: 620px) { .entry-header-actions { gap: 8px; }.entry-header-actions .panel-link { display: none; }.entry-header-actions .primary-action { padding: 6px 8px; }.dialog-grid { grid-template-columns: 1fr; gap: 15px; } }

@media (max-width: 1440px) { .main-content { padding-right: 24px; padding-left: 24px; }.sidebar { width: 232px; flex-basis: 232px; }.search-box { width: 315px; }.metric-card { padding: 17px 15px; gap: 12px; }.metric-icon { width: 46px; height: 46px; font-size: 20px; }.metric-card span { font-size: 12px; } }
@media (max-width: 1180px) { .topbar { align-items: flex-start; }.topbar-actions { flex-wrap: wrap; justify-content: flex-end; }.search-box { order: 5; width: min(100%, 470px); }.metric-grid { grid-template-columns: repeat(3, 1fr); }.top-grid, .bottom-grid { grid-template-columns: 1fr; }.middle-grid { grid-template-columns: 1.4fr 1fr; }.activities-panel { grid-row: span 2; }.sla-list { grid-template-columns: 1fr; } }
@media (max-width: 800px) { .sidebar { width: 220px; flex-basis: 220px; }.main-content { padding: 18px; }.profile-copy, .profile-button > i { display: none; }.topbar-actions { gap: 8px; }.middle-grid { grid-template-columns: 1fr; }.activities-panel { grid-row: auto; } }
@media (max-width: 620px) { .app-shell { display: block; }.sidebar { width: min(292px, 87vw); position: fixed; z-index: 20; top: 0; bottom: 0; left: 0; transform: translateX(-102%); transition: transform .25s ease; box-shadow: 15px 0 35px rgba(18,32,51,.12); }.sidebar.open { transform: translateX(0); }.mobile-menu { display: inline-grid; place-items: center; }.topbar { gap: 10px; }.page-heading h1 { font-size: 24px; }.topbar-actions { margin-left: auto; }.topbar-actions .search-box { display: none; }.metric-grid { grid-template-columns: repeat(2, 1fr); }.metric-card { min-height: 103px; }.metric-card:last-child { grid-column: span 2; }.metric-card strong { font-size: 24px; }.top-grid, .middle-grid, .bottom-grid { margin-top: 12px; }.panel-header { padding-left: 14px; padding-right: 14px; }.project-row { grid-template-columns: 31px minmax(110px, 1fr) 52px; }.progress-wrap { display: none; }.data-table { min-width: 630px; }.activities-panel .data-table { min-width: 680px; }.sla-list { padding: 0 12px 12px; }.day-summary { align-items: flex-start; flex-direction: column; }.chart { width: 100%; }.sidebar-footer { margin-top: 40px; } }
.dialog-body input:focus, .dialog-body select:focus, .dialog-body textarea:focus { border-color: var(--ip-primary-focus); box-shadow: 0 0 0 3px var(--ip-primary-soft); }
.assume-button:hover, .assume-button.is-assumed { color: #fff; }
.inbox-dashboard { margin-top: var(--module-heading-gap); }
.inbox-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 21px; }
.inbox-intro .eyebrow { margin-bottom: 6px; color: var(--ip-primary); font-size: 11px; letter-spacing: .55px; text-transform: uppercase; }
.inbox-intro h2 { margin: 0; color: var(--ip-text); font-size: 22px; letter-spacing: -.45px; }
.inbox-intro p { margin: 6px 0 0; color: var(--ip-muted); font-size: 13px; }
.inbox-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.inbox-stat { min-height: 94px; padding: 16px 17px; display: flex; align-items: center; gap: 13px; border: 1px solid var(--ip-border); border-radius: var(--radius-card); background: #fff; box-shadow: var(--shadow-card); }
.inbox-stat-icon { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; color: #fff; font-size: 19px; }.inbox-stat-icon.blue { background: var(--ip-primary-soft-strong); color: var(--ip-primary); }.inbox-stat-icon.red { background: #fff0f1; color: var(--ip-danger); }.inbox-stat-icon.purple { background: #f0edff; color: #7865d3; }.inbox-stat-icon.green { background: #e8f9f1; color: var(--ip-success); }
.inbox-stat div { min-width: 0; display: grid; gap: 3px; }.inbox-stat small { color: #5c6b82; font-size: 11px; }.inbox-stat strong { color: var(--ip-text); font-size: 24px; line-height: 1; }.stat-note { font-size: 11px; }.red-text { color: var(--ip-danger); }.inbox-stat .blue-text { color: var(--ip-primary); }.inbox-stat .purple-text { color: #7865d3; }.inbox-stat .green-text { color: var(--ip-success); }
.inbox-panel { margin-top: 16px; }.inbox-toolbar { padding: 18px 18px 15px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }.inbox-toolbar h2 { margin: 0; font-size: 15px; }.inbox-toolbar p { margin: 5px 0 0; color: var(--ip-muted); font-size: 11px; }.inbox-tools { display: flex; align-items: center; gap: 8px; }.inbox-search { width: 205px; height: 34px; padding: 0 10px; display: flex; align-items: center; gap: 7px; border: 1px solid var(--ip-border); border-radius: 8px; color: #8591a4; background: #fff; }.inbox-search i { font-size: 13px; }.inbox-search input { width: 100%; outline: 0; border: 0; color: var(--ip-text); font-size: 11px; }.inbox-search input::placeholder { color: #98a3b3; }.filter-select, .filter-button { height: 34px; padding: 0 10px; border: 1px solid var(--ip-border); border-radius: 8px; color: #56657c; background: #fff; font-size: 11px; }.filter-select { outline: 0; }.filter-button { cursor: pointer; }.filter-button i { margin-right: 4px; }.filter-button:hover, .filter-select:focus, .inbox-search:focus-within { color: var(--ip-primary); border-color: var(--ip-primary-border); }
.inbox-tabs { padding: 0 18px; display: flex; align-items: center; gap: 21px; border-bottom: 1px solid #edf1f6; }.inbox-tab { padding: 0 0 11px; position: relative; color: #7a879b; background: transparent; font-size: 11px; cursor: pointer; }.inbox-tab b { margin-left: 4px; padding: 2px 6px; border-radius: 12px; color: #7b8798; background: #f1f4f8; font-size: 11px; }.inbox-tab.active { color: var(--ip-primary); font-weight: 700; }.inbox-tab.active::after { content: ""; height: 2px; position: absolute; right: 0; bottom: -1px; left: 0; border-radius: 3px; background: var(--ip-primary); }.inbox-tab.active b { color: var(--ip-primary); background: var(--ip-primary-soft); }
.inbox-table-wrap { overflow-x: auto; }.inbox-table { min-width: 1050px; }.inbox-table td { height: 54px; }.inbox-table th { padding-top: 11px; padding-bottom: 11px; }.origin { display: inline-flex; align-items: center; gap: 5px; color: #7a8799; }.origin i { color: #9aa7b7; }.sla-pill { padding: 5px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; white-space: nowrap; }.sla-pill.critical { color: var(--ip-danger); background: #fff0f1; }.sla-pill.warning { color: #d88b0d; background: #fff7df; }.sla-pill.comfortable { color: var(--ip-success); background: #eaf9f1; }.assigned-label { display: inline-flex; align-items: center; gap: 6px; color: #53627a; font-size: 11px; white-space: nowrap; }.inbox-footer { min-height: 50px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #f0f3f8; color: #7b8799; font-size: 11px; }.pagination { display: flex; align-items: center; gap: 5px; }.pagination button { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid #e2e8f0; border-radius: 6px; color: #6d7b90; background: #fff; font-size: 11px; cursor: pointer; }.pagination button:hover:not(:disabled), .pagination button.current { color: var(--ip-primary); border-color: var(--ip-primary-border); background: var(--ip-primary-soft); }.pagination button:disabled { cursor: not-allowed; opacity: .45; }
.entry-bottom-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 12px; margin-top: 16px; }.entry-guide .panel-header, .entry-legend .panel-header { min-height: 50px; }.guide-steps { padding: 2px 20px 18px; display: flex; align-items: center; gap: 14px; }.guide-steps article { display: flex; align-items: center; gap: 9px; flex: 1; }.guide-steps article > span { width: 27px; height: 27px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: var(--ip-primary); background: var(--ip-primary-soft); font-size: 11px; font-weight: 700; }.guide-steps article div { display: grid; gap: 3px; }.guide-steps strong { color: #33425a; font-size: 11px; }.guide-steps small { color: #7c899c; font-size: 11px; line-height: 1.3; }.guide-steps > i { color: #b5c0cf; font-size: 13px; }.legend-list { padding: 2px 18px 20px; display: flex; flex-wrap: wrap; gap: 12px 18px; color: #66758b; font-size: 11px; }.legend-list span { display: inline-flex; align-items: center; gap: 6px; }.legend-dot { width: 8px; height: 8px; display: inline-block; border-radius: 50%; }.legend-dot.critical { background: var(--ip-danger); }.legend-dot.warning { background: var(--ip-warning); }.legend-dot.comfortable { background: var(--ip-success); }.legend-dot.neutral { background: #aab5c3; }
@media (max-width: 1180px) { .inbox-stat-grid { grid-template-columns: repeat(2, 1fr); }.inbox-toolbar { flex-direction: column; }.inbox-tools { width: 100%; }.inbox-search { flex: 1; }.entry-bottom-grid { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .inbox-intro { align-items: flex-start; flex-direction: column; gap: 14px; }.inbox-intro .primary-action { width: 100%; }.inbox-stat-grid { grid-template-columns: repeat(2, 1fr); }.inbox-stat { padding: 13px; gap: 9px; }.inbox-stat-icon { width: 36px; height: 36px; font-size: 16px; }.inbox-stat strong { font-size: 21px; }.inbox-tools { align-items: stretch; flex-wrap: wrap; }.inbox-search { width: 100%; flex: 0 0 100%; }.filter-select, .filter-button { flex: 1; }.inbox-tabs { gap: 15px; overflow-x: auto; }.inbox-tab { flex: 0 0 auto; }.guide-steps { align-items: flex-start; flex-direction: column; gap: 10px; }.guide-steps > i { display: none; }.entry-bottom-grid { margin-top: 12px; } }

/* Entrada: conversa, identificação e triagem */
.inbox-table { min-width: 1320px; }
.inbox-table th:last-child, .inbox-table td:last-child { position: sticky !important; z-index: 1; right: 0; background: #fff; box-shadow: -8px 0 10px rgba(32,52,78,.04); }
.inbox-table th:last-child { z-index: 2; }
.panel-subtitle { margin: 4px 0 0; color: var(--ip-muted); font-size: 11px; font-weight: 400; }
.inbox-table td:first-child { min-width: 235px; }
.inbox-table td:nth-child(2) { min-width: 185px; }
.row-subline { display: block; margin-top: 4px; color: #8995a7; font-size: 11px; font-weight: 400; line-height: 1.25; }
.unassigned-label { display: inline-flex; align-items: center; padding: 4px 7px; border: 1px dashed #cbd5e1; border-radius: 6px; color: #7b8798; background: #fafbfd; font-size: 11px; white-space: nowrap; }
.triage-button, .restore-button { padding: 5px 8px; border: 1px solid var(--ip-primary-border); border-radius: 6px; color: var(--ip-primary); background: #fff; font-size: 11px; font-weight: 700; cursor: pointer; }
.triage-button:hover, .restore-button:hover { color: #fff; border-color: var(--ip-primary); background: var(--ip-primary); }
.quick-menu-button { width: 25px; height: 25px; padding: 0; border: 1px solid #dfe6ef; border-radius: 6px; color: #77859a; background: #fff; cursor: pointer; }
.quick-menu-button:hover { color: var(--ip-primary); border-color: var(--ip-primary-border); background: var(--ip-primary-soft); }
.triage-modal { width: min(760px, calc(100% - 32px)); max-height: calc(100vh - 32px); overflow: auto; }
.triage-modal .dialog-header { position: sticky; z-index: 2; top: 0; background: #fff; }
.dialog-subtitle { margin: 2px 0 0; color: #27364c; font-size: 12px; line-height: 1.25; font-weight: 500; }
.triage-body { padding: 18px 22px 6px; display: grid; gap: 13px; }
.message-preview { padding: 13px 14px; border: 1px solid #e7edf4; border-radius: 10px; background: #f8fafc; }
.message-preview-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.message-preview strong { display: block; color: #2e3d55; font-size: 13px; }
.message-preview p { margin: 6px 0 7px; color: #68768b; font-size: 11px; line-height: 1.45; }
.message-preview .link-button { padding: 0; font-size: 11px; }
.identification-card { padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #bfe2e6; border-radius: 10px; background: #f1fbfc; }
.identification-card .eyebrow { display: block; margin-bottom: 4px; color: var(--ip-primary); font-size: 11px; letter-spacing: .4px; text-transform: uppercase; }
.identification-card strong { color: #26495a; font-size: 12px; }
.identification-card p { margin: 4px 0 0; color: #657b87; font-size: 11px; }
.confidence-pill { flex: 0 0 auto; padding: 5px 7px; border-radius: 999px; color: #187b7c; background: #dff4f2; font-size: 11px; font-weight: 700; white-space: nowrap; }
.triage-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.triage-actions .secondary-action { min-height: 29px; padding: 5px 9px; }
.triage-actions .link-button { padding: 0; }
.triage-fields { gap: 12px; }
.optional-label { color: #9aa6b7; font-size: 11px; font-weight: 400; }
.inline-form { padding: 13px 14px; display: grid; gap: 11px; border: 1px solid var(--ip-primary-border-soft); border-radius: 10px; background: #fbfdff; }
.inline-form-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.inline-form-heading strong { color: #34445d; font-size: 11px; }
.inline-form .link-button { padding: 0; font-size: 11px; }
.inline-form .secondary-action { justify-self: start; min-height: 29px; padding: 5px 9px; }
.triage-assignment { min-height: 44px; padding: 8px 10px; display: flex; align-items: center; gap: 8px; border-top: 1px solid #edf1f6; color: #6b788c; font-size: 11px; }
.triage-assignment span { display: inline-flex; align-items: center; gap: 5px; }
.triage-assignment strong { margin-right: auto; color: #42516a; font-size: 11px; }
.triage-assignment .secondary-action { min-height: 27px; padding: 4px 8px; }
@media (max-width: 620px) { .triage-modal { width: calc(100% - 18px); max-height: calc(100vh - 18px); }.triage-body { padding-right: 14px; padding-left: 14px; }.triage-assignment { align-items: flex-start; flex-wrap: wrap; }.triage-assignment strong { margin-right: 0; }.identification-card { align-items: flex-start; flex-direction: column; }.message-preview-head { align-items: flex-start; flex-direction: column; } }

/* Controles de interface: escala, Select2, SweetAlert2 e modais padronizados */
.assume-button, .delegate-button, .triage-button, .restore-button { min-height: 29px; padding: 6px 14px; }
.quick-menu-button { width: 31px; height: 31px; }
.quick-menu-button::after { display: none !important; }
.entry-actions { gap: 6px; }
.triage-modal, .delegate-modal { border-radius: 14px; }
.delegate-modal { width: min(560px, calc(100% - 32px)); }
.triage-body label, .inline-form label { display: grid; gap: 4px; color: #41516a; font-size: 11px; font-weight: 700; }
.triage-body input, .triage-body textarea, .inline-form input, .inline-form textarea { width: 100%; padding: 10px 11px; outline: 0; border: 1px solid #dfe6ef; border-radius: 8px; color: var(--ip-text); background: #fff; font-size: 12px; font-weight: 400; }
.triage-body textarea, .inline-form textarea { resize: vertical; }
.triage-body input:focus, .triage-body textarea:focus, .inline-form input:focus, .inline-form textarea:focus { border-color: var(--ip-primary-focus); box-shadow: 0 0 0 3px var(--ip-primary-soft); }
.select2-container { font-size: 12px; }
.select2-container--default .select2-selection--single { height: 39px; padding: 5px 10px; border: 1px solid #dfe6ef; border-radius: 8px; color: var(--ip-text); background: #fff; }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; color: var(--ip-text); line-height: 27px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 37px; right: 8px; }
.select2-container--default.select2-container--focus .select2-selection--single, .select2-container--default.select2-container--open .select2-selection--single { border-color: var(--ip-primary-focus); box-shadow: 0 0 0 3px var(--ip-primary-soft); }
.select2-dropdown { overflow: hidden; border-color: #dfe6ef; border-radius: 8px; box-shadow: 0 12px 28px rgba(18,32,51,.12); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { color: #fff; background: var(--ip-primary); }
.select2-container--default .select2-search--dropdown .select2-search__field { padding: 7px 9px; border: 1px solid #dfe6ef; border-radius: 6px; }
.dropdown-menu { min-width: 178px; padding: 6px; border: 1px solid var(--ip-border); border-radius: 9px; box-shadow: 0 14px 32px rgba(18,32,51,.14); }
.dropdown-item { padding: 8px 10px; border-radius: 6px; color: #4b5a72; font-size: 11px; }
.dropdown-item:hover { color: var(--ip-primary); background: var(--ip-primary-soft); }
.dropdown-item.danger-action { color: var(--ip-danger); }
.dropdown-item.danger-action:hover { color: #fff; background: var(--ip-danger); }
.ip-swal-popup { width: min(440px, calc(100vw - 32px)) !important; max-height: calc(100vh - 32px); overflow-y: auto; padding: 28px 24px 22px; border: 1px solid var(--ip-border); border-radius: var(--radius-modal); color: var(--ip-text); box-shadow: 0 24px 64px rgba(18,32,51,.18); font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
.ip-swal-icon { width: 60px !important; height: 60px !important; margin: 0 auto 18px !important; display: grid !important; place-items: center; border: 0 !important; border-radius: 50% !important; font-size: 26px !important; }
.ip-swal-icon--info { color: var(--ip-primary) !important; background: var(--ip-primary-soft) !important; }
.ip-swal-icon--warning { color: #c97900 !important; background: #fff4dd !important; }
.ip-swal-icon--danger { color: var(--ip-danger) !important; background: #fff0f1 !important; }
.ip-swal-icon .swal2-icon-content { display: grid; place-items: center; font-size: 26px !important; line-height: 1 !important; }
.ip-swal-icon i { font-size: 26px !important; line-height: 1; }
.ip-swal-title { margin: 0 !important; padding: 0 !important; color: var(--ip-text); font-size: 18px !important; font-weight: 700 !important; line-height: 1.3 !important; }
.ip-swal-text { margin: 10px auto 0 !important; padding: 0 !important; color: var(--ip-muted) !important; font-size: 13px !important; line-height: 1.55 !important; }
.ip-swal-actions { width: 100% !important; margin: 26px 0 0 !important; display: flex !important; flex-wrap: wrap; justify-content: center !important; align-items: center; gap: 8px; }
.ip-swal-confirm, .ip-swal-danger, .ip-swal-cancel, .ip-swal-deny { min-width: 108px; height: 39px; min-height: 39px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid transparent; border-radius: var(--radius-control); font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1; cursor: pointer; }
.ip-swal-confirm { color: #fff; background: var(--ip-primary); }
.ip-swal-confirm:hover { background: var(--ip-primary-hover); }
.ip-swal-danger { color: #fff; border-color: var(--ip-danger); background: var(--ip-danger); }
.ip-swal-danger:hover { border-color: #cf3742; background: #cf3742; }
.ip-swal-cancel { color: var(--ip-primary); border: 1px solid var(--ip-primary); background: #fff; }
.ip-swal-cancel:hover { color: var(--ip-primary); border-color: var(--ip-primary); background: var(--ip-primary-soft); }
.ip-swal-deny { color: var(--ip-primary); border-color: var(--ip-primary); background: #fff; }
.ip-swal-deny:hover { background: var(--ip-primary-soft); }
.ip-swal-confirm:focus-visible, .ip-swal-danger:focus-visible, .ip-swal-cancel:focus-visible, .ip-swal-deny:focus-visible { outline: 3px solid var(--ip-primary-focus); outline-offset: 2px; }
.ip-swal-confirm i, .ip-swal-danger i, .ip-swal-cancel i, .ip-swal-deny i { font-size: 14px; line-height: 1; }
.ip-swal-toast { border: 1px solid #d9e8f5; border-radius: 10px; color: var(--ip-text); box-shadow: 0 14px 30px rgba(18,32,51,.16); font-size: 12px; }

/* Ajustes finais da Entrada: controles maiores, foco único e menus confiáveis */
.primary-action, .secondary-action {
  min-height: 37px;
  padding: 9px 16px;
  font-size: 13px;
}
.triage-actions .secondary-action, .inline-form .secondary-action, .triage-assignment .secondary-action {
  min-height: 37px;
  padding: 9px 16px;
  font-size: 13px;
}
.inbox-search {
  width: 270px;
  height: 39px;
  padding: 0 14px;
}
.inbox-search input { font-size: 12px; }
.filter-select, .filter-button {
  height: 39px;
  padding: 0 14px;
  font-size: 12px;
}
.filter-button { height: 37px; }
.filter-button { display: inline-flex; align-items: center; gap: 6px; }
.filter-button i { margin-right: 0; }
.inbox-search:focus-within, .filter-select:focus, .filter-button:focus,
.dialog-body input:focus, .dialog-body select:focus, .dialog-body textarea:focus,
.triage-body input:focus, .triage-body select:focus, .triage-body textarea:focus,
.inline-form input:focus, .inline-form select:focus, .inline-form textarea:focus {
  border-color: var(--ip-primary) !important;
  box-shadow: 0 0 0 3px var(--ip-primary-soft) !important;
  outline: 0;
}
.dialog-body select, .triage-body select, .inline-form select, .filter-select {
  appearance: none;
  padding-right: 34px;
  background-image: linear-gradient(45deg, transparent 50%, #6b778c 50%), linear-gradient(135deg, #6b778c 50%, transparent 50%);
  background-position: calc(100% - 15px) 50%, calc(100% - 10px) 50%;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #6b778c transparent transparent transparent;
  border-width: 5px 4px 0 4px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow { right: 9px; }
.select2-container--default .select2-selection--single { border-color: #dfe6ef; }
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--ip-primary) !important;
  box-shadow: 0 0 0 3px var(--ip-primary-soft) !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
  border-color: var(--ip-primary) !important;
  box-shadow: 0 0 0 3px var(--ip-primary-soft) !important;
  outline: 0;
}

/* Estrutura fixa: navegação e conta permanecem na esquerda enquanto o conteúdo rola */
body { overflow: hidden; }
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; z-index: 20; top: 0; bottom: 0; left: 0; overflow-y: auto; }
.main-content { height: 100vh; margin-left: 248px; overflow-y: auto; }
.topbar { justify-content: flex-start; }
.entry-page .new-demand-button { margin-left: auto; white-space: nowrap; }
.sidebar-account { position: relative; display: flex; align-items: center; gap: 6px; margin: auto 4px 0; padding-top: 14px; border-top: 1px solid var(--ip-border); }
.notification-control { position: relative; flex: 0 0 auto; }
.sidebar-account .icon-button { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; }
.sidebar-account .icon-button i { font-size: 16px; }
.notification-link { width: 100%; min-height: 42px; padding: 0 13px; display: flex; align-items: center; gap: 12px; position: relative; border-radius: 10px; color: #3d4e69; background: transparent; font-size: 14px; text-align: left; cursor: pointer; transition: background .2s ease, color .2s ease; }
.notification-link i { width: 19px; text-align: center; font-size: 17px; }
.notification-link .nav-count { color: #fff; background: var(--ip-primary); }
.notification-link:hover { color: var(--ip-primary); background: var(--ip-primary-soft); }
.notification-link[aria-expanded="true"] { color: #fff; background: var(--ip-primary); }
.notification-link[aria-expanded="true"] .nav-count { color: var(--ip-primary); background: #fff; }
.notification-menu { width: min(292px, calc(100vw - 28px)); position: absolute; z-index: 30; left: 0; bottom: calc(100% + 8px); padding: 8px; border: 1px solid var(--ip-border); border-radius: 12px; background: #fff; box-shadow: 0 15px 35px rgba(18,32,51,.15); }
.notification-menu[hidden] { display: none; }
.notification-menu-floating { position: fixed !important; z-index: 2000 !important; top: auto; right: auto; bottom: auto !important; margin: 0; transform: none !important; max-height: calc(100vh - 16px); overflow-y: auto; }
.notification-menu-header { padding: 4px 6px 8px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #edf1f6; }
.notification-menu-header strong { color: var(--ip-text); font-size: 12px; }
.notification-menu-header span { color: var(--ip-primary); font-size: 11px; font-weight: 700; }
.notification-menu-header form { margin: 0; }
.notification-menu-header button { padding: 0; border: 0; color: var(--ip-primary); background: transparent; font-size: 11px; font-weight: 700; cursor: pointer; }
.notification-menu-header button:hover { text-decoration: underline; }
.notification-form { margin: 0; }
.notification-item { width: 100%; min-height: 47px; padding: 8px 6px; display: flex; align-items: center; gap: 9px; border-radius: 8px; color: var(--ip-text); background: transparent; text-align: left; cursor: pointer; }
.notification-item:hover { background: var(--ip-primary-soft); }
.notification-item.is-unread { background: #f7faff; }
.notification-item.is-unread strong { color: var(--ip-primary); }
.notification-item > i { width: 24px; height: 24px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 7px; color: var(--ip-primary); background: var(--ip-primary-soft); font-size: 12px; }
.notification-item > span { min-width: 0; display: grid; gap: 2px; }
.notification-item strong { overflow: hidden; color: #35445c; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.notification-item small { overflow: hidden; color: #7b8799; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.notification-empty { min-height: 70px; display: grid; place-items: center; align-content: center; gap: 5px; color: var(--ip-muted); font-size: 11px; }
.notification-empty i { color: #9aa7b7; font-size: 17px; }
.sidebar-account .profile-button { min-width: 0; width: 100%; height: auto; flex: 1; padding: 7px 0; gap: 8px; text-decoration: none; }
.sidebar-account .profile-copy { min-width: 0; display: grid; gap: 1px; line-height: 1.15; }
.sidebar-account .profile-copy strong, .sidebar-account .profile-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-account .profile-copy strong { line-height: 1.2; }
.sidebar-account .profile-copy small { line-height: 1.15; }
.sidebar-account .profile-button > i { margin-left: auto; }
.sidebar-account .profile-menu { top: auto; right: 0; bottom: calc(100% + 8px); width: 100%; }
.sidebar-footer { margin-top: 16px; }

@media (max-width: 1440px) { .main-content { margin-left: 232px; } }
@media (max-width: 800px) { .main-content { margin-left: 220px; }.sidebar-account .profile-copy { display: grid; }.sidebar-account .profile-button > i { display: block; } }
@media (max-width: 620px) { .main-content { width: 100%; margin-left: 0; }.sidebar { overflow-y: auto; }.sidebar-account .profile-copy { display: grid; }.sidebar-account .profile-button > i { display: block; } }
.inbox-table .tag + .row-subline { display: none; }
.inbox-table { min-width: 1050px; }
.inbox-table td:first-child { min-width: 250px; }
.inbox-table th:nth-child(5), .inbox-table td:nth-child(5) { min-width: 100px; }
.inbox-table th:last-child, .inbox-table td:last-child {
  position: static !important;
  z-index: auto !important;
  box-shadow: none;
}
.inbox-table tbody .entry-row[data-status="triage"], .inbox-table tbody .entry-row[data-status="assigned"] { cursor: pointer; }
.inbox-table tbody .entry-row[data-status="triage"]:hover td, .inbox-table tbody .entry-row[data-status="assigned"]:hover td { background: #fbfdff; }
.inbox-table tbody .entry-row[data-status="archived"] { cursor: default; }
.inbox-table td { vertical-align: middle; }
.origin-icon { width: 36px; height: 36px; padding: 0; margin-right: 8px; display: inline-grid; place-items: center; flex: 0 0 36px; border-radius: 50%; color: var(--ip-primary); background: var(--ip-primary-soft); font-size: 16px; line-height: 1; text-align: center; vertical-align: middle; }
.origin-icon--normal { color: var(--ip-primary); background: var(--ip-primary-soft); }
.origin-icon--comfortable { color: #16815b; background: #eaf8f1; }
.origin-icon--warning { color: #ad7a0b; background: #fff7df; }
.origin-icon--high { color: #c8751b; background: #fff4e8; }
.origin-icon--critical { color: var(--ip-danger); background: #fff0f1; }
.priority-dot { width: 9px; height: 9px; display: inline-block; flex: 0 0 auto; margin: 0 6px 0 2px; border-radius: 50%; vertical-align: middle; }
.priority-critical { background: var(--ip-danger); }
.priority-warning { background: #f2c14e; }
.priority-high { background: #e58b2a; }
.priority-normal { background: var(--ip-success); }
.priority-neutral { background: #aab5c3; }
.inbox-table td:first-child { min-width: 320px; }
.inbox-table td:first-child > span { display: inline-block; max-width: 270px; vertical-align: middle; }
.entry-summary { max-width: 270px; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.relative-time { color: #53627a; font-size: 11px; white-space: nowrap; }
.entry-actions .dropdown.is-open .dropdown-menu,
.entry-menu-floating {
  position: fixed !important;
  z-index: 2000 !important;
  margin: 0;
  transform: none !important;
}
.entry-actions button i, .dialog-actions button i, .triage-actions button i,
.triage-assignment button i, .dropdown-item i, .inbox-tab i, .inline-form button i {
  margin-right: 5px;
}
.triage-fields > label { min-width: 0; }
.task-modal .select2-container {
  width: 100% !important;
  min-width: 0;
}
.select2-container--open, .select2-dropdown {
  z-index: 2005 !important;
}
.select2-container--default .select2-selection--single {
  display: flex;
  align-items: center;
  min-width: 0;
  height: 39px;
  padding: 0 38px 0 12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 39px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 0;
  right: 8px;
  height: 39px;
}
.select2-results__option { padding: 8px 10px; font-size: 12px; line-height: 1.35; white-space: normal; }
.field-label { display: inline-flex; align-items: baseline; gap: 4px; }
.field-label .optional-label { white-space: nowrap; }
.primary-action, .secondary-action, .danger-action-button { display: inline-flex; align-items: center; justify-content: center; gap: 4px; line-height: 1; }
.primary-action i, .secondary-action i, .danger-action-button i { margin: 0; line-height: 1; }
.triage-footer-actions { align-items: center; flex-wrap: wrap; gap: 8px; }
.danger-action-button {
  min-height: 37px;
  padding: 9px 16px;
  border: 1px solid var(--ip-danger);
  border-radius: 8px;
  color: var(--ip-danger);
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.danger-action-button:hover { color: var(--ip-danger); border-color: var(--ip-danger); background: #fff4f5; }
.archive-action-button { color: var(--ip-primary); border-color: var(--ip-primary-border); }

@media (max-width: 620px) {
  .entry-header-actions .primary-action { min-height: 39px; padding: 10px 12px; font-size: 13px; }
}

/* Projeto: briefing, materiais e demandas sem pipeline de etapas fixas. */
.project-detail-page > .topbar .project-detail-actions { margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
.project-task-layout { grid-template-columns: minmax(0, 1.65fr) minmax(285px, .62fr); }
.project-brief-panel,
.project-materials-panel,
.project-tasks-panel { overflow: hidden; }
.project-brief-content { padding: 0 18px 16px; }
.project-brief-intro { margin: 0; color: #53637b; font-size: 12px; line-height: 1.45; }
.project-brief-content .project-material-list { margin-top: 14px; padding: 12px 0 0; border-top: 1px solid #eef2f7; }
.project-brief-facts { margin: 13px 0 0; padding-top: 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; border-top: 1px solid #eef2f7; }
.project-brief-facts > div { min-width: 0; display: grid; gap: 4px; }
.project-brief-facts dt { color: #8490a2; font-size: 11px; font-weight: 500; }
.project-brief-facts dd { margin: 0; color: #40506a; font-size: 11px; font-weight: 600; line-height: 1.35; }
.project-material-list { padding: 0 18px 16px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.project-material-item { min-width: 0; padding: 9px; display: grid; grid-template-columns: 28px minmax(0, 1fr) 13px; align-items: center; gap: 8px; border: 1px solid #e0e7f0; border-radius: 8px; color: inherit; text-decoration: none; }
.project-material-item:hover { border-color: var(--ip-primary-border); background: var(--ip-primary-soft); }
.project-material-item > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.project-material-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; color: var(--ip-primary); background: var(--ip-primary-soft); font-size: 13px; }
.project-material-icon--image { color: #9a56d9; background: #f4ebff; }
.project-material-icon--archive { color: #b47b13; background: #fff6df; }
.project-material-item strong,
.project-material-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-material-item strong { color: #40506a; font-size: 11px; font-weight: 700; }
.project-material-item small { color: #8490a2; font-size: 11px; }
.project-material-item > i { color: #8290a3; font-size: 11px; }
.project-inline-action { min-height: 34px; padding: 0 11px; font-size: 11px; text-decoration: none; }
.project-task-list { padding-bottom: 10px; }
.project-tasks-panel .panel-header { min-height: 54px; }
.project-tasks-table-wrap { overflow-x: auto; }
.project-tasks-table { width: 100%; min-width: 700px; table-layout: fixed; }
.project-tasks-table th { padding-top: 11px; padding-bottom: 11px; }
.project-tasks-table td { height: 54px; vertical-align: middle; }
.project-tasks-table th,
.project-tasks-table td { padding-right: 8px; padding-left: 8px; }
.project-tasks-table th:first-child,
.project-tasks-table td:first-child { padding-left: 18px; }
.project-tasks-table th:last-child,
.project-tasks-table td:last-child { padding-right: 12px; }
.project-tasks-table th:first-child,
.project-tasks-table td:first-child { width: auto; min-width: 0; }
.project-tasks-table th:nth-child(2),
.project-tasks-table td:nth-child(2) { width: 145px; min-width: 145px; }
.project-tasks-table th:nth-child(3),
.project-tasks-table td:nth-child(3) { width: 78px; min-width: 78px; }
.project-tasks-table th:nth-child(4),
.project-tasks-table td:nth-child(4) { width: 132px; min-width: 132px; }
.project-tasks-table th:nth-child(5),
.project-tasks-table td:nth-child(5) { width: 70px; min-width: 70px; }
.demand-row-content { min-width: 0; display: flex; align-items: center; gap: 10px; }
.demand-row-content > .origin-icon { flex: 0 0 auto; margin-right: 0; }
.demand-row-content > .work-title-copy { min-width: 0; max-width: none; flex: 1 1 auto; display: block; }
.demand-row-content .row-subline { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-tasks-table td { overflow: hidden; text-overflow: ellipsis; }
.project-tasks-table .work-title-copy strong { font-size: 12px; }
.project-task-table-row { cursor: pointer; }
.project-task-table-row:hover td { background: #fbfdff; }
.project-task-table-row--done .work-title-copy strong { color: #6f7d91; text-decoration: line-through; }
.project-task-assignee { min-width: 0; display: inline-flex; align-items: center; gap: 6px; color: #5f6e83; font-size: 11px; font-weight: 600; white-space: nowrap; }
.project-task-assignee .mini-avatar { width: 24px; height: 24px; display: inline-grid; place-items: center; flex: 0 0 auto; overflow: hidden; border-radius: 50%; color: #fff; font-size: 11px; font-weight: 700; }
.project-task-assignee .mini-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }
.project-task-status-tag { padding: 5px 6px; display: inline-flex; align-items: center; border-radius: 999px; color: #718099; background: #f0f3f8; font-size: 11px; font-weight: 600; white-space: nowrap; }
.project-task-status-tag--done { color: var(--ip-success); background: #effbf4; }
.project-task-status-tag--doing { color: var(--ip-primary); background: var(--ip-primary-soft); }
.project-task-status-tag--waiting { color: #9a6d0b; background: #fff6df; }
.project-task-list .project-task-row { min-height: 57px; grid-template-columns: 21px minmax(0, 1fr) 142px 58px; gap: 9px; }
.project-task-row .project-task-status-icon { width: 19px; height: 19px; }
.project-task-row > div { min-width: 0; display: grid; gap: 2px; }
.project-task-row .project-task-owner { min-width: 0; display: inline-flex; align-items: center; justify-content: flex-start; gap: 6px; overflow: hidden; text-align: left; }
.project-task-row .mini-avatar { width: 24px; height: 24px; display: inline-grid; place-items: center; flex: 0 0 auto; overflow: hidden; border-radius: 50%; color: #fff; font-size: 11px; font-weight: 700; }
.project-task-row .mini-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }
.project-task-row time { color: #65748b; font-size: 11px; font-weight: 700; text-align: right; white-space: nowrap; }
.project-task-row--done .project-task-status-icon { color: var(--ip-success); border-color: #bfe8d1; background: #effbf4; }
.project-task-row--done strong { color: #6f7d91; text-decoration: line-through; }
.project-task-row--doing .project-task-status-icon { color: var(--ip-primary); border-color: var(--ip-primary-border); background: var(--ip-primary-soft); }
.project-task-row--doing strong { color: var(--ip-primary); }
.project-task-row--waiting .project-task-status-icon { color: #b47b13; border-color: #efd9a8; background: #fff6df; }
.project-task-row--waiting strong { color: #806222; }
.project-side-actions { padding: 12px 16px; display: grid; gap: 7px; }
.project-side-actions .secondary-action { min-height: 33px; justify-content: flex-start; padding: 0 10px; color: var(--ip-primary); border-color: var(--ip-primary-border); background: #fff; font-size: 11px; text-decoration: none; }
.project-side-actions .secondary-action:hover { background: var(--ip-primary-soft); }
.project-side-actions button.secondary-action { width: 100%; }
.project-side-actions-list { display: grid; gap: 8px; }
.project-side-actions-list article { min-width: 0; display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: 8px; }
.project-side-actions-list > article > div { min-width: 0; display: grid; gap: 2px; }
.project-side-actions-list strong { overflow: hidden; color: #40506a; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.project-side-actions-list small { overflow: hidden; color: #8490a2; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 1180px) {
  .project-task-layout { grid-template-columns: 1fr; }
  .project-side-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-material-list { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .project-task-layout { grid-template-columns: 1fr; }
  .project-side-actions { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .project-brief-content { padding-right: 13px; padding-left: 13px; }
  .project-brief-facts { grid-template-columns: 1fr; gap: 9px; }
  .project-material-list { padding-right: 13px; padding-left: 13px; }
  .project-brief-content .project-material-list { padding-right: 0; padding-left: 0; }
  .project-tasks-table-wrap { overflow-x: auto; }
  .project-tasks-table { min-width: 700px; }
  .project-task-list .project-task-row { grid-template-columns: 21px minmax(0, 1fr) auto; padding: 7px 0; }
  .project-task-row .project-task-owner { grid-column: 2; }
  .project-task-row time { grid-column: 3; grid-row: 1 / span 2; }
  .project-side-actions { display: grid; grid-template-columns: 1fr; }
}

/* Modal de triagem simplificado: mensagem, identificação, classificação e ações */
.triage-modal { width: min(680px, calc(100% - 32px)); }
.triage-body { padding: 14px 20px 8px; gap: 10px; }
.triage-section { padding: 12px 13px; border: 1px solid #e7edf4; border-radius: 10px; background: #fff; }
.triage-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.triage-section-kicker { display: block; color: var(--ip-primary); font-size: 11px; font-weight: 800; letter-spacing: .35px; text-transform: uppercase; }
.triage-help { margin: 3px 0 0; color: #7d8a9d; font-size: 11px; line-height: 1.35; }
.triage-message-section { background: #f8fafc; }
.triage-time { color: #8b97a8; font-size: 11px; white-space: nowrap; }
.triage-message-section > strong { display: block; color: #263650; font-size: 13px; }
.triage-message-section > p { margin: 5px 0 0; color: #68768b; font-size: 11px; line-height: 1.4; }
.triage-identification-section { border-color: #c7e5ea; background: #f5fcfd; }
.triage-identification-summary { margin-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.triage-identification-copy { min-width: 0; display: grid; gap: 3px; }
.triage-identification-copy strong { color: #26495a; font-size: 12px; }
.triage-identification-copy small { overflow: hidden; color: #657b87; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.triage-inline-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.triage-inline-actions .secondary-action { min-height: 33px; padding: 7px 11px; font-size: 12px; }
.triage-inline-actions .link-button { padding: 0; font-size: 11px; }
.triage-identity-fields[hidden] { display: none; }
.triage-identity-fields .triage-section-heading { margin-bottom: 10px; }
.triage-classification-section { background: #fbfdff; }
.triage-classification-section .dialog-grid { margin-top: 10px; }
.triage-keep-link { margin-top: 10px; display: inline-flex; align-items: center; gap: 4px; font-size: 11px; }
.triage-flow-note { margin: 0; padding: 0 2px; display: flex; align-items: center; gap: 5px; color: #7d8a9d; font-size: 11px; line-height: 1.35; }
.triage-flow-note i { color: var(--ip-primary); }
.triage-footer-actions { padding: 12px 20px 16px; display: grid; grid-template-columns: 1fr; gap: 10px; }
.triage-footer-buttons { display: flex; align-items: center; justify-content: flex-start; gap: 8px; flex-wrap: wrap; }
.triage-footer-buttons button { flex: 0 0 auto; }
.triage-footer-buttons > .triage-flow-note { flex: 1 0 100%; }

@media (max-width: 620px) {
  .triage-modal { width: calc(100% - 18px); }
  .triage-body { padding-right: 14px; padding-left: 14px; }
  .triage-section-heading, .triage-identification-summary { align-items: flex-start; flex-direction: column; }
  .triage-inline-actions { justify-content: flex-start; }
  .triage-footer-actions { align-items: flex-start; flex-direction: column; }
  .triage-footer-buttons { width: 100%; }
  .triage-footer-buttons button { flex: 1 1 auto; }
}

.inbox-tools > .select2-container { width: 180px !important; flex: 0 0 180px; }
@media (max-width: 620px) { .inbox-tools > .select2-container { width: auto !important; flex: 1 1 0; } }

/* Contexto da triagem e leitura confortável da mensagem original */
.triage-context-grid { margin-top: 10px; display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 12px; align-items: end; }
.triage-context-grid > label { min-width: 0; }
.triage-sla-suggestion { min-height: 39px; padding: 8px 10px; display: grid; gap: 2px; border: 1px dashed #d7e1ec; border-radius: 8px; background: #fbfdff; }
.triage-sla-suggestion > span { color: #7d8a9d; font-size: 11px; font-weight: 800; letter-spacing: .25px; text-transform: uppercase; }
.triage-sla-suggestion strong { overflow: hidden; color: #52627a; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.triage-sla-suggestion small { overflow: hidden; color: #8c98a8; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.triage-sla-suggestion.has-suggestion { border-color: #bfe2e6; background: #f1fbfc; }
.triage-sla-suggestion.has-suggestion strong { color: #187b7c; }
.message-preview-modal { width: min(820px, calc(100% - 32px)); max-height: calc(100vh - 32px); overflow: hidden; z-index: 27; }
.message-preview-body { max-height: calc(100vh - 190px); padding: 18px 20px 8px; display: grid; gap: 12px; overflow-y: auto; }
.message-preview-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #748197; font-size: 11px; }
.message-preview-meta .origin { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.message-preview-meta .origin i { margin-right: 4px; color: var(--ip-primary); }
.message-preview-paper { min-height: 250px; padding: 18px; border: 1px solid #e4ebf3; border-radius: 10px; background: #fff; }
.message-preview-paper h3 { margin: 0; color: #24344e; font-size: 15px; }
.message-preview-paper p { margin: 14px 0 0; color: #4f6078; font-size: 12px; line-height: 1.7; white-space: pre-wrap; }
.message-attachments { padding: 12px 0 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; border-top: 1px solid #edf1f6; }
.message-attachments .triage-section-kicker { display: inline-flex; align-items: center; gap: 5px; }
.attachment-chip { padding: 6px 9px; border: 1px solid #dfe7f0; border-radius: 7px; color: #52627a; background: #f8fafc; font-size: 11px; }

@media (max-width: 620px) {
  .triage-context-grid { grid-template-columns: 1fr; }
  .message-preview-modal { width: calc(100% - 18px); max-height: calc(100vh - 18px); }
  .message-preview-body { max-height: calc(100vh - 145px); padding-right: 14px; padding-left: 14px; }
}

/* Nova demanda: abertura completa, com contexto opcional e rolagem interna */
.new-demand-modal { width: min(760px, calc(100% - 32px)); max-height: calc(100vh - 28px); }
.new-demand-modal form { max-height: calc(100vh - 28px); display: flex; flex-direction: column; }
.new-demand-modal .dialog-header { flex: 0 0 auto; }
.new-demand-modal .dialog-header .dialog-subtitle { margin: 3px 0 0; color: #7b8799; font-size: 11px; line-height: 1.3; }
.new-demand-body { min-height: 0; padding: 16px 22px 8px; gap: 13px; overflow-y: auto; }
.new-demand-body > label, .new-demand-body .demand-client-row > label, .new-demand-body .demand-contact-grid > label, .new-demand-body .demand-context-grid > label, .new-demand-body .demand-assignment-grid > label { min-width: 0; }
.demand-source-grid, .demand-contact-grid, .demand-context-grid, .demand-assignment-grid { gap: 12px; }
.demand-client-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; }
.demand-add-button { min-height: 39px; padding: 9px 12px; white-space: nowrap; }
.demand-inline-form { margin-top: -3px; }
.field-counter { color: #8a96a8; font-size: 11px; font-weight: 400; line-height: 1; text-align: right; }
.demand-context-grid { grid-template-columns: minmax(0, 1fr) 205px; align-items: end; }
.demand-sla-suggestion { min-height: 39px; padding: 8px 10px; display: grid; gap: 2px; border: 1px dashed #d7e1ec; border-radius: 8px; background: #fbfdff; }
.demand-sla-suggestion > span { color: #7d8a9d; font-size: 11px; font-weight: 800; letter-spacing: .25px; text-transform: uppercase; }
.demand-sla-suggestion strong { overflow: hidden; color: #52627a; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.demand-sla-suggestion small { overflow: hidden; color: #8c98a8; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.demand-sla-suggestion.has-suggestion { border-color: #bfe2e6; background: #f1fbfc; }
.demand-sla-suggestion.has-suggestion strong { color: #187b7c; }
.priority-select-wrap { min-width: 0; display: flex; align-items: center; }
.priority-select-wrap .select2-container { min-width: 0; flex: 1; }
.priority-select-wrap .select2-selection__rendered { display: flex; align-items: center; line-height: 1.2 !important; }
.priority-selection { display: inline-flex; align-items: center; gap: 7px; }
.priority-selection .priority-dot { width: 8px; height: 8px; margin: 0; }
.priority-option { min-width: 0; display: flex; align-items: flex-start; gap: 8px; }
.priority-option .priority-dot { width: 8px; height: 8px; margin: 4px 0 0; }
.priority-option-copy { min-width: 0; display: grid; gap: 2px; }
.priority-option-copy strong { color: inherit; font-size: 12px; font-weight: 700; }
.priority-option-copy small { color: #778399; font-size: 11px; line-height: 1.25; }
.select2-results__option--highlighted .priority-option-copy small { color: rgba(255,255,255,.86); }
.user-option { min-width: 0; display: flex; align-items: center; gap: 8px; }
.user-option strong { min-width: 0; overflow: hidden; color: inherit; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.select-user-avatar { width: 26px; height: 26px; display: inline-grid; place-items: center; flex: 0 0 auto; overflow: hidden; border-radius: 50%; color: var(--ip-primary-contrast); background: var(--ip-primary); font-size: 11px; font-weight: 700; }
.select-user-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }
.user-selection { gap: 7px; }
.user-selection .select-user-avatar { width: 24px; height: 24px; font-size: 11px; }
.attachment-field { display: grid; gap: 5px; }
.attachment-field > .field-label { color: #41516a; font-size: 11px; font-weight: 700; }
.attachment-dropzone { min-height: 65px; margin: 0; padding: 11px 14px; position: relative; display: flex !important; align-items: center; justify-content: center; gap: 9px; border: 1px dashed #cbd8e8; border-radius: 8px; color: #63728a !important; background: #fbfdff; font-size: 11px !important; font-weight: 400 !important; text-align: center; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.attachment-dropzone:hover { border-color: var(--ip-primary); background: var(--ip-primary-soft); }
.attachment-dropzone.is-dragging { border-color: var(--ip-primary); background: var(--ip-primary-soft); box-shadow: 0 0 0 3px rgba(0,81,250,.08); }
.attachment-dropzone > i { color: var(--ip-primary); font-size: 21px; }
.attachment-dropzone > span { display: grid; gap: 3px; }
.attachment-copy-line { display: block; white-space: nowrap; }
.attachment-dropzone strong { color: var(--ip-primary); font-weight: 700; }
.attachment-dropzone small { color: #8b98aa; font-size: 11px; }
.attachment-dropzone input { width: 1px !important; height: 1px; padding: 0 !important; position: absolute; opacity: 0; pointer-events: none; }
.attachment-status { color: #8b98aa; font-size: 11px; text-align: right; }
.new-demand-modal .dialog-actions { flex: 0 0 auto; }

@media (max-width: 620px) {
  .new-demand-modal { width: calc(100% - 18px); max-height: calc(100vh - 18px); }
  .new-demand-modal form { max-height: calc(100vh - 18px); }
  .new-demand-body { padding-right: 14px; padding-left: 14px; }
  .demand-source-grid, .demand-contact-grid, .demand-assignment-grid { grid-template-columns: 1fr; }
  .demand-context-grid { grid-template-columns: 1fr; }
  .demand-client-row { grid-template-columns: 1fr; }
  .demand-add-button { justify-self: start; }
}

/* Nova demanda: mesma sequência visual da triagem — identificação, conteúdo,
   classificação e anexos — sem esconder os campos adicionais do cadastro. */
.new-demand-body { gap: 12px; }
.demand-section { min-width: 0; display: grid; gap: 11px; }
.demand-identification-section,
.demand-content-section { padding: 0; border: 0; border-radius: 0; background: transparent; }
.demand-identification-section { gap: 10px; }
.demand-origin-client-grid { gap: 12px; align-items: end; }
.demand-content-section { gap: 11px; }
.demand-classification-section { padding: 0 2px 2px; gap: 12px; }
.demand-classification-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.demand-classification-section > label { min-width: 0; }
.demand-context-grid { margin-top: 0; }
.demand-section .demand-inline-form { margin-top: 0; }
.new-demand-body > .attachment-field { padding: 0 2px; }
.demand-client-block { min-width: 0; padding: 11px 12px 12px; border: 1px solid #dfe8f2; border-radius: var(--radius-control); background: #fff; }
.demand-client-block-heading { min-width: 0; display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.demand-client-block-heading > div { min-width: 0; display: grid; gap: 2px; }
.demand-client-block-heading small { color: #74829a; font-size: 11px; line-height: 1.1; }
.demand-client-block-heading strong { overflow: hidden; color: #263650; font-size: 12px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.demand-client-block-heading .triage-client-avatar { width: 34px; height: 34px; font-size: 16px; }
.demand-client-block-heading .mini-icon-button { margin-left: auto; flex: 0 0 auto; }
.demand-origin-contact-grid { gap: 12px; }
.demand-classification-grid { grid-template-columns: minmax(110px, .85fr) minmax(175px, 1.25fr) minmax(175px, 1.25fr); align-items: end; }
.demand-classification-grid > label,
.demand-classification-grid > .demand-sla-suggestion { min-width: 0; }
.demand-classification-grid .demand-sla-suggestion { min-height: 39px; }
.demand-client-modal { width: min(560px, calc(100% - 32px)); max-height: calc(100vh - 28px); overflow: hidden; }
.demand-client-modal > form { max-height: calc(100vh - 28px); display: flex; flex-direction: column; min-height: 0; }
.demand-client-modal .dialog-header,
.demand-client-modal .dialog-actions { flex: 0 0 auto; }
.demand-client-modal .dialog-body { min-height: 0; overflow-y: auto; }
.demand-routing-section { padding: 0 2px 1px; }
.demand-routing-grid,
.demand-client-contact-grid { gap: 12px; align-items: end; }
.demand-client-row,
.demand-contact-row { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; }
.demand-client-row > label,
.demand-contact-row > label { min-width: 0; }
.demand-client-row .mini-icon-button,
.demand-contact-row .mini-icon-button { width: 39px; height: 39px; border-radius: var(--radius-control); }
.demand-sla-suggestion { min-width: 0; min-height: 39px; padding: 5px 6px; display: grid; align-content: center; gap: 1px; border: 0; border-left: 1px solid #dfe3eb; border-radius: 0; background: transparent; }
.demand-sla-suggestion > span { color: #7d8a9d; font-size: 11px; font-weight: 800; letter-spacing: .25px; text-transform: uppercase; }
.demand-sla-suggestion strong { overflow: hidden; color: #7d8a9d; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.demand-sla-suggestion small { overflow: hidden; color: #8c98a8; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.demand-sla-suggestion.has-suggestion { border-left-color: #b9e4cc; background: transparent; }
.demand-sla-suggestion.has-suggestion strong { color: var(--ip-success); }
.demand-sla-suggestion.sla-critical { border-left-color: #f2c4c8; }
.demand-sla-suggestion.sla-critical strong { color: var(--ip-danger); }
.demand-sla-suggestion.sla-warning { border-left-color: #f0d38e; }
.demand-sla-suggestion.sla-warning strong { color: var(--ip-warning); }
.demand-sla-suggestion.sla-comfortable { border-left-color: #b9e4cc; }
.demand-sla-suggestion.sla-comfortable strong { color: var(--ip-success); }
.demand-sla-suggestion.sla-neutral strong { color: #7d8a9d; }

@media (max-width: 620px) {
  .demand-origin-contact-grid,
  .demand-routing-grid,
  .demand-client-contact-grid,
  .demand-classification-grid { grid-template-columns: 1fr; }
  .demand-client-modal { width: calc(100% - 18px); max-height: calc(100vh - 18px); }
  .demand-client-modal > form { max-height: calc(100vh - 18px); }
}

/* Padrão dos modais: cabeçalho e rodapé compactos, conteúdo central com rolagem */
.dialog-header { padding: 14px 24px; }
.dialog-header h2 { font-size: 19px; line-height: 1.15; }
.dialog-header .dialog-subtitle { margin: 3px 0 0; color: #7b8799; font-size: 11px; line-height: 1.3; }
.dialog-heading-wrap { min-width: 0; display: flex; align-items: center; gap: 10px; }
.dialog-heading-wrap > div { min-width: 0; }
.dialog-title-icon { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border: 0; border-radius: 50%; color: var(--ip-primary); background: var(--ip-primary-soft); font-size: 23px; }
.dialog-actions { padding: 10px 22px 12px; border-top: 1px solid #eff3f8; }
.triage-footer-actions { padding: 10px 20px 12px; }
.triage-modal, .delegate-modal { max-height: calc(100vh - 28px); }
.triage-modal > form, .delegate-modal > form { max-height: calc(100vh - 28px); display: flex; flex-direction: column; }
.triage-body, .delegate-modal .dialog-body { min-height: 0; overflow-y: auto; }
.triage-body { max-height: calc(100vh - 160px); }
.delegate-modal .dialog-body { max-height: calc(100vh - 145px); }
.triage-modal { overflow: hidden; }
.triage-modal > form { min-height: 0; }
.triage-modal .dialog-header, .triage-modal .dialog-actions { flex: 0 0 auto; }
.triage-modal .triage-body { flex: 1 1 auto; max-height: none; }

/* Botões: ícone e texto no mesmo eixo, secundário com contorno primary */
.primary-action, .secondary-action, .danger-action-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; line-height: 1.2; vertical-align: middle; }
.primary-action i, .secondary-action i, .danger-action-button i { width: 1em; height: 1em; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; margin: 0 !important; line-height: 1; }
.primary-action i::before, .secondary-action i::before, .danger-action-button i::before { display: block; line-height: 1; vertical-align: 0; }
.primary-action, .secondary-action, .danger-action-button { height: 39px; min-height: 39px; padding-top: 0; padding-bottom: 0; }
.primary-action i, .secondary-action i, .danger-action-button i { transform: none; }
.secondary-action { color: var(--ip-primary); border-color: var(--ip-primary); background: #fff; }
.secondary-action:hover { color: var(--ip-primary); border-color: var(--ip-primary); background: var(--ip-primary-soft); }

@media (max-width: 620px) {
  .dialog-header { padding-right: 16px; padding-left: 16px; }
  .dialog-actions { padding-right: 16px; padding-left: 16px; }
  .triage-modal, .delegate-modal { max-height: calc(100vh - 18px); }
  .triage-modal > form, .delegate-modal > form { max-height: calc(100vh - 18px); }
  .triage-body { max-height: calc(100vh - 150px); }
  .delegate-modal .dialog-body { max-height: calc(100vh - 135px); }
}

/* Raios compactos do sistema */
.sidebar-tip, .search-box { border-radius: var(--radius-card); }
.nav-link, .notification-link { border-radius: var(--radius-control); }
.task-dialog, .triage-modal, .delegate-modal { border-radius: var(--radius-modal); }
.dialog-body input, .dialog-body select, .dialog-body textarea,
.triage-body input, .triage-body select, .triage-body textarea,
.inline-form input, .inline-form select, .inline-form textarea,
.select2-container--default .select2-selection--single, .select2-dropdown { border-radius: var(--radius-control); }
.primary-action, .secondary-action, .danger-action-button { border-radius: var(--radius-control); }
.triage-section, .inline-form, .message-preview-paper,
.triage-sla-suggestion, .demand-sla-suggestion { border-radius: var(--radius-control); }

/* Triagem: seleção direta de cliente e contato com o padrão de Nova demanda */
.triage-modal { width: min(820px, calc(100% - 32px)); }
.identification-modal { width: min(560px, calc(100% - 32px)); max-height: calc(100vh - 28px); overflow: hidden; }
.identification-modal > form { max-height: calc(100vh - 28px); display: flex; flex-direction: column; min-height: 0; }
.identification-modal .dialog-header, .identification-modal .dialog-actions { flex: 0 0 auto; }
.identification-body { min-height: 0; overflow-x: hidden; overflow-y: auto; }
.identification-body .dialog-grid, .identification-body label { min-width: 0; }
.identification-body .triage-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.origin-dialog-icon { color: var(--ip-primary); }
.triage-message-scroll { max-height: 180px; padding-right: 5px; overflow-y: auto; }
.triage-message-scroll p { margin: 5px 0 0; color: #68768b; font-size: 11px; line-height: 1.5; white-space: pre-wrap; }
.triage-attachments { padding-top: 10px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; border-top: 1px solid #edf1f6; }
.triage-attachments[hidden] { display: none; }
.triage-identification-label { color: #7d8a9d; font-size: 11px; font-weight: 800; letter-spacing: .25px; text-transform: uppercase; }
.mini-icon-button { width: 32px; height: 32px; padding: 0; display: inline-grid; place-items: center; border: 1px solid var(--ip-primary-border); border-radius: var(--radius-control); color: var(--ip-primary); background: var(--ip-primary-soft); cursor: pointer; }
.mini-icon-button:not(:disabled):hover { color: #fff; border-color: var(--ip-primary); background: var(--ip-primary); }
.mini-icon-button:disabled { opacity: .45; cursor: not-allowed; }
.triage-classification-grid { margin-top: 10px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: end; }
.triage-classification-grid > label { min-width: 0; }
.triage-classification-grid .triage-sla-suggestion { min-height: 39px; }
.triage-context-grid { margin-top: 10px; display: grid; grid-template-columns: 1fr; gap: 12px; align-items: end; }

/* Ajustes da primeira versão operacional da triagem */
.select-user-avatar { line-height: 1; text-align: center; letter-spacing: 0; }
.triage-classification-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.triage-assignee-section { padding-top: 9px; padding-bottom: 9px; background: #fbfdff; }
.triage-assignee-copy { display: flex; align-items: center; gap: 10px; }
.triage-assignee-copy .triage-section-kicker { flex: 0 0 auto; }
.triage-assignee-copy strong { color: #42516a; font-size: 11px; }
.triage-footer-actions { display: flex; align-items: center; justify-content: flex-start; }
.triage-footer-buttons { width: 100%; }

/* Identificação visual: contato, cliente, projeto e SLA no mesmo bloco */
.triage-identification-header { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(150px, .9fr) auto; align-items: center; gap: 12px; }
.triage-contact-card, .triage-client-card { min-width: 0; min-height: 44px; display: flex; align-items: center; gap: 10px; }
.triage-client-card { order: 1; padding-right: 12px; border-right: 1px solid #dce9ee; }
.triage-contact-card { order: 2; }
.triage-inline-actions { order: 3; }
.triage-contact-card > div, .triage-client-card { min-width: 0; }
.triage-contact-card strong, .triage-client-card strong { display: block; overflow: hidden; color: #263650; font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.triage-contact-card small { display: block; overflow: hidden; margin-top: 2px; color: #6c7d92; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.triage-contact-avatar { width: 34px; height: 34px; display: inline-grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #fff; background: var(--ip-primary); font-size: 11px; font-weight: 800; line-height: 1; text-align: center; }
.triage-client-card { display: grid; align-content: center; gap: 3px; }
.triage-client-card .confidence-pill { justify-self: start; margin-top: 1px; font-size: 11px; }
.triage-identification-context { margin-top: 12px; padding-top: 11px; display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 12px; align-items: end; border-top: 1px solid #dce9ee; }
.triage-identification-context > label { min-width: 0; }
.triage-classification-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.inbox-table th:nth-child(3), .inbox-table td:nth-child(3) { display: none; }
.inbox-table { min-width: 900px; }

/* Quando a Entrada não tem registros, o estado vazio ocupa o painel inteiro.
   A largura reduzida evita que o conteúdo fique centralizado em uma tabela
   virtualmente mais estreita que o card. */
.inbox-table-wrap.is-empty { overflow-x: hidden; }
.inbox-table-wrap.is-empty .inbox-table { width: 100%; min-width: 0; }

/* Triagem compacta: identificação em uma linha e resumo de IA no final */
.triage-identification-section { padding: 10px 12px; border-color: #e1e8f0; background: #fff; }
.triage-identification-section { padding: 0 2px; border: 0; background: transparent; }
.triage-client-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; }
.triage-sender-context { min-width: 0; margin-bottom: 12px; padding: 10px 12px; display: grid; gap: 2px; border: 1px solid #dce7f8; border-radius: 10px; background: #f6f9ff; }
.triage-sender-context span { color: #64748b; font-size: 11px; font-weight: 700; }
.triage-sender-context strong { overflow-wrap: anywhere; color: #1d365b; font-size: 13px; }
.triage-sender-context small { color: #64748b; font-size: 11px; line-height: 1.35; }
.triage-identification-header { grid-template-columns: minmax(115px, .8fr) minmax(145px, 1fr) minmax(190px, 1.35fr) 145px auto; gap: 10px; }
.triage-contact-card, .triage-client-card { min-height: 34px; }
.triage-client-card { order: 1; padding-right: 0; border-right: 0; }
.triage-contact-card { order: 2; padding-right: 0; border-right: 0; }
.triage-project-field { order: 3; min-width: 0; }
.triage-project-field .field-label { display: block; margin-bottom: 4px; color: #738198; font-size: 11px; font-weight: 700; }
.triage-sla-inline { order: 4; min-width: 0; min-height: 36px; padding: 5px 8px; display: grid; align-content: center; gap: 1px; border-left: 1px solid #e3e9f1; }
.triage-sla-inline span { color: #7d8a9d; font-size: 11px; font-weight: 800; letter-spacing: .25px; text-transform: uppercase; }
.triage-sla-inline strong { overflow: hidden; color: #52627a; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.triage-sla-inline small { overflow: hidden; color: #8c98a8; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.triage-sla-inline.has-suggestion { border-left-color: #bfe2e6; background: transparent; }
.triage-sla-inline.has-suggestion strong { color: var(--ip-success); }
.triage-sla-inline.sla-critical { border-left-color: #f2c4c8; }
.triage-sla-inline.sla-critical strong { color: var(--ip-danger); }
.triage-sla-inline.sla-warning { border-left-color: #f0d38e; }
.triage-sla-inline.sla-warning strong { color: var(--ip-warning); }
.triage-sla-inline.sla-comfortable { border-left-color: #b9e4cc; }
.triage-sla-inline.sla-comfortable strong { color: var(--ip-success); }
.triage-sla-inline.sla-neutral strong { color: #7d8a9d; }
.triage-identification-header > .triage-inline-actions { order: 5; flex-wrap: nowrap; }
.triage-message-section { padding: 8px 2px 4px; border: 0; background: transparent; }
.triage-message-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.triage-message-heading strong { min-width: 0; overflow: hidden; color: #263650; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.triage-message-section .triage-message-scroll { max-height: 170px; }
.triage-classification-section { padding: 8px 2px 2px; border: 0; background: transparent; }
.triage-ai-summary-card { margin-top: 2px; padding: 9px 11px; display: flex; align-items: flex-start; gap: 9px; border: 1px solid #d5e4ff; border-radius: var(--radius-control); background: #f4f8ff; }
.triage-ai-icon { width: 24px; height: 24px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: var(--ip-primary); background: #e5efff; font-size: 14px; }
.triage-ai-summary-card > div { min-width: 0; flex: 1; }
.triage-ai-summary-card strong { display: block; color: #344a6a; font-size: 12px; }
.triage-ai-summary-card p { margin: 3px 0 0; color: #586b88; font-size: 12px; line-height: 1.4; }
.triage-ai-summary-card small { display: block; margin-top: 4px; color: #7d8ba0; font-size: 12px; line-height: 1.35; }
.triage-ai-actions { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 7px; }
.triage-ai-actions .secondary-action { min-height: 34px; padding: 7px 11px; }

/* Modal padrão: mesmo eixo horizontal do conteúdo e respiro vertical equilibrado */
.task-dialog > form > .dialog-header,
.task-dialog > .dialog-header { padding-left: 22px; }
.task-dialog > form > .dialog-header .dialog-heading-wrap,
.task-dialog > .dialog-header .dialog-heading-wrap,
.task-dialog > form > .dialog-header .dialog-title-icon,
.task-dialog > .dialog-header .dialog-title-icon { margin-left: 0; }
.task-dialog > form > .dialog-body,
.task-dialog > form > .triage-body,
.task-dialog > .message-preview-body { padding-top: 12px; padding-bottom: 16px; }

/* Triagem: mensagem em card e contexto operacional junto da prioridade */
.triage-message-section { padding: 8px 2px 4px; border: 0; border-radius: 0; background: transparent; }
.triage-identification-header { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
.triage-identification-header > .triage-inline-actions { order: 3; }
.triage-classification-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Triagem: cliente destacado, leitura da mensagem e rótulos uniformes */
.triage-client-card { display: flex; align-items: center; gap: 10px; }
.triage-client-card > div { min-width: 0; display: grid; gap: 2px; }
.triage-client-avatar { width: 38px; height: 38px; display: inline-grid; place-items: center; flex: 0 0 auto; border: 1px solid #d9e7ff; border-radius: 50%; color: var(--ip-primary); background: var(--ip-primary-soft); font-size: 18px; }
.triage-client-card small { display: block; color: #74829a; font-size: 11px; line-height: 1.1; }
.triage-client-card strong { font-size: 13px; line-height: 1.25; }
.identification-field-action { justify-self: start; margin-top: 6px; padding: 0; display: inline-flex; align-items: center; gap: 4px; border: 0; color: var(--ip-primary); background: transparent; font-size: 11px; font-weight: 700; cursor: pointer; }
.identification-field-action:hover { color: var(--ip-primary-hover); text-decoration: underline; }
.triage-project-field { white-space: nowrap; }
.triage-project-label { display: inline-flex; align-items: baseline; gap: 4px; white-space: nowrap; }
.inline-form-heading { padding-bottom: 9px; border-bottom: 1px solid #e3eaf3; }
.inline-form-title { min-width: 0; display: inline-flex; align-items: center; gap: 8px; }
.inline-form-title-icon { width: 28px; height: 28px; display: inline-grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: var(--ip-primary); background: var(--ip-primary-soft); font-size: 14px; }
.inline-form-heading strong { color: #263650; font-size: 12px; }
.inline-form-heading .link-button { display: inline-flex; align-items: center; gap: 4px; }
.inline-form-heading .link-button i { margin: 0; }
.triage-message-scroll { max-height: 190px; padding-right: 4px; }
.triage-message-scroll p { margin: 0; color: #53667f; font-size: 13px; line-height: 1.6; }
.triage-waiting-badge { margin-left: 7px; padding: 4px 7px; font-size: 10px; font-weight: 600; vertical-align: 1px; }
#triageWaitingBadge[hidden], #triageMessageSection[hidden] { display: none !important; }
.triage-attachments { margin-top: 14px; padding-top: 14px; }
.triage-classification-section { padding-top: 4px; }
.triage-classification-grid { margin-top: 0; }
.triage-classification-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.triage-sla-inline { min-width: 90px; padding-right: 6px; padding-left: 6px; }

@media (max-width: 620px) {
  .triage-modal, .identification-modal { width: calc(100% - 18px); }
  .triage-client-contact-grid { grid-template-columns: 1fr; }
  .identification-modal > form { max-height: calc(100vh - 18px); }
  .identification-body .triage-fields { grid-template-columns: 1fr; }
  .triage-classification-grid { grid-template-columns: 1fr 1fr; }
  .triage-message-scroll { max-height: 220px; }
  .triage-footer-actions { flex-direction: column; align-items: flex-start; }
  .triage-footer-buttons { width: 100%; }
  .triage-identification-header { grid-template-columns: minmax(0, 1fr) auto; }
  .triage-client-card { order: 1; padding-right: 0; border-right: 0; }
  .triage-contact-card { order: 3; grid-column: 1 / -1; padding-right: 0; padding-bottom: 8px; border-right: 0; border-bottom: 1px solid #e3e9f1; }
  .triage-project-field { order: 4; grid-column: 1 / -1; }
  .triage-sla-inline { order: 5; grid-column: 1 / -1; border-top: 1px solid #e3e9f1; border-left: 0; }
  .triage-identification-header > .triage-inline-actions { order: 2; grid-column: 2; justify-content: flex-end; }
  .triage-identification-context { grid-template-columns: 1fr; }
  .triage-message-heading { align-items: flex-start; flex-direction: column; gap: 2px; }
  .triage-message-heading strong { white-space: normal; }
}

/* Nova demanda: SLA segue o mesmo bloco visual compacto da triagem. */
.new-demand-body .demand-sla-suggestion { border: 0; border-left: 1px solid #dfe3eb; border-radius: 0; background: transparent; }
.new-demand-body .demand-sla-suggestion.has-suggestion { border-left-color: #b9e4cc; background: transparent; }

/* Meu Trabalho: fila pessoal de próximas ações, usando a mesma base da Entrada. */
.work-dashboard { margin-top: var(--module-heading-gap); }
.work-panel { overflow: hidden; }
.work-toolbar { padding: 14px 18px 0; display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; border-bottom: 1px solid #eef2f7; }
.work-tabs { min-width: 0; display: flex; align-items: flex-end; gap: 4px; overflow-x: auto; }
.work-tab { min-height: 39px; padding: 0 11px 10px; white-space: nowrap; }
.work-tab b { margin-left: 4px; padding: 2px 6px; color: #718099; border-radius: 999px; background: #f0f3f8; font-size: 11px; }
.work-tab.active b { color: var(--ip-primary); background: var(--ip-primary-soft); }
.work-tools { padding-bottom: 10px; display: flex; align-items: center; gap: 8px; }
.work-search { width: 235px; }
.work-client-filter { width: 155px; }
.workSlaFilter { width: 135px; }
.work-tools > .select2-container { flex: 0 0 auto; }
.work-list-heading { padding: 18px 18px 13px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.work-list-heading h2 { margin: 0; color: #1d2a40; font-size: 15px; letter-spacing: -.2px; }
.work-list-heading p { margin: 4px 0 0; color: #77859a; font-size: 11px; }
.work-list-note { display: inline-flex; align-items: center; gap: 6px; color: #66758b; font-size: 11px; white-space: nowrap; }
.work-list-note i { color: var(--ip-primary); font-size: 13px; }
.work-table { min-width: 1020px; }
.work-table th, .work-table td { vertical-align: middle; }
.work-table th:first-child, .work-table td:first-child { min-width: 340px; }
.work-table th:nth-child(2), .work-table td:nth-child(2) { min-width: 150px; }
.work-table th:nth-child(3), .work-table td:nth-child(3) { min-width: 165px; }
.work-table th:nth-child(4), .work-table td:nth-child(4) { min-width: 115px; }
.work-table th:nth-child(5), .work-table td:nth-child(5) { min-width: 105px; }
.work-table tbody .work-row { cursor: pointer; }
.work-table tbody .work-row:hover td { background: #fbfdff; }
.assigned-conversation-link { min-width: 0; display: grid; gap: 3px; color: inherit; text-decoration: none; }
.assigned-conversation-link:hover strong { color: var(--ip-primary); }
.assigned-conversation-open { min-width: 118px; white-space: nowrap; text-decoration: none; }
.assigned-conversation-table { min-width: 790px; }
.assigned-conversation-table th:first-child, .assigned-conversation-table td:first-child { min-width: 300px; }
.assigned-conversation-table th:nth-child(2), .assigned-conversation-table td:nth-child(2) { min-width: 190px; }
.assigned-conversation-table th:nth-child(3), .assigned-conversation-table td:nth-child(3) { min-width: 135px; }
.work-title-copy { min-width: 0; display: inline-block; max-width: 285px; vertical-align: middle; }
.work-title-copy strong { display: block; overflow: hidden; color: #263650; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.work-title-copy .entry-summary { max-width: 285px; }
.work-table td > strong { color: #3c4b63; font-size: 11px; }
.work-status-tag { padding: 5px 8px; display: inline-flex; align-items: center; border-radius: 999px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.work-status-doing { color: var(--ip-primary); background: var(--ip-primary-soft); }
.work-status-waiting { color: #9a6d0b; background: #fff6df; }
.work-status-return { color: #d36f1b; background: #fff0e2; }
.work-panel-footer { min-height: 45px; }
.work-panel-footer span:last-child { color: #8a96a8; }
.work-modal { width: min(860px, calc(100% - 32px)); max-height: calc(100vh - 28px); overflow: hidden; }
.work-modal > form { min-height: 0; max-height: calc(100vh - 28px); display: flex; flex-direction: column; }
.work-modal .dialog-header, .work-modal .dialog-actions { flex: 0 0 auto; }
.work-detail-body { min-height: 0; overflow-y: auto; display: grid; gap: 12px; }
.work-detail-context { padding: 12px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(145px, 1fr) minmax(110px, .8fr) minmax(100px, .7fr); gap: 10px; border: 1px solid #e0e8f2; border-radius: var(--radius-control); background: #fff; }
.work-detail-context > div { min-width: 0; display: grid; align-content: center; gap: 3px; }
.work-detail-context > div + div { padding-left: 10px; border-left: 1px solid #edf1f6; }
.work-detail-context span { color: #7b899d; font-size: 11px; font-weight: 800; letter-spacing: .25px; text-transform: uppercase; }
.work-detail-context strong { overflow: hidden; color: #2c3b55; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.work-detail-context small { overflow: hidden; color: #78869a; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.work-detail-status { width: fit-content; padding: 4px 7px; border-radius: 999px; }
.work-detail-message { padding: 12px; border: 1px solid #dfe8f2; border-radius: var(--radius-control); background: #fff; }
.work-detail-message-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.work-detail-message-heading strong { color: #263650; font-size: 13px; }
.work-detail-message-heading span { color: #8793a4; font-size: 11px; white-space: nowrap; }
.work-message-scroll { max-height: 245px; margin-top: 9px; padding-right: 5px; overflow-y: auto; }
.work-message-scroll p { margin: 0; color: #53667f; font-size: 13px; line-height: 1.6; white-space: pre-wrap; }
.work-detail-message .triage-attachments { margin-top: 14px; padding-top: 12px; }
.work-update-section { padding: 12px; border: 1px solid #dfe8f2; border-radius: var(--radius-control); background: #fbfdff; }
.work-section-heading { margin-bottom: 10px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.work-section-heading h3 { margin: 0; color: #263650; font-size: 13px; }
.work-section-heading p { margin: 3px 0 0; color: #7b899d; font-size: 11px; }
.work-section-heading > i { color: var(--ip-primary); font-size: 17px; }
.work-update-section label { display: grid; gap: 4px; color: #41516a; font-size: 11px; font-weight: 700; }
.work-update-section label + label { margin-top: 10px; }
.work-update-section select, .work-update-section textarea { width: 100%; }
.work-update-section textarea { resize: vertical; }
.work-footer-actions { display: flex; align-items: center; justify-content: flex-start; gap: 8px; flex-wrap: wrap; }

@media (max-width: 1200px) {
  .work-toolbar { align-items: stretch; flex-direction: column; gap: 2px; }
  .work-tabs { order: 2; }
  .work-tools { order: 1; padding-bottom: 0; flex-wrap: wrap; }
  .work-search { flex: 1 1 230px; }
  .work-detail-context { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .work-detail-context > div:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width: 620px) {
  .work-dashboard { margin-top: 8px; }
  .work-tools > .select2-container, .work-client-filter, .workSlaFilter { width: 100% !important; flex: 1 1 100%; }
  .work-list-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .work-modal { width: calc(100% - 18px); max-height: calc(100vh - 18px); }
  .work-modal > form { max-height: calc(100vh - 18px); }
  .work-detail-context { grid-template-columns: 1fr; }
  .work-detail-context > div + div, .work-detail-context > div:nth-child(3) { padding-top: 9px; padding-left: 0; border-top: 1px solid #edf1f6; border-left: 0; }
  .work-footer-actions { align-items: stretch; }
.work-footer-actions button { flex: 1 1 calc(50% - 8px); }
}

/* Selects do detalhe da demanda: não herdar o padding vertical dos campos gerais do modal. */
.work-detail-card .work-history-sort {
  width: 170px !important;
  max-width: 170px !important;
  height: 39px !important;
  min-height: 39px !important;
  box-sizing: border-box;
  padding: 0 31px 0 10px !important;
  line-height: 1.2 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
  background-color: #fff !important;
  background-position: calc(100% - 15px) 50%, calc(100% - 10px) 50% !important;
  background-repeat: no-repeat !important;
  background-size: 5px 5px, 5px 5px !important;
}

.work-composer .select2-container--default .select2-selection--single {
  width: 100% !important;
  height: 39px !important;
  min-height: 39px !important;
  box-sizing: border-box;
  padding: 0 38px 0 12px !important;
  display: flex;
  align-items: center;
}

.work-composer .select2-container--default .select2-selection--single .select2-selection__rendered {
  display: block;
  min-width: 0;
  max-width: 100%;
  padding: 0 !important;
  overflow: hidden;
  line-height: 39px !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-composer .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 0;
  right: 8px;
  height: 39px;
}

@media (max-width: 620px) {
  .work-detail-card .work-history-sort {
    width: 150px !important;
    max-width: 150px !important;
  }
}

.work-meta-status--doing { color: var(--ip-primary) !important; }
.work-meta-status--done { color: var(--ip-success) !important; }
.work-meta-status--waiting { color: #b37a0c !important; }
.work-meta-status--return { color: #d36f1b !important; }
.work-priority-critical { color: var(--ip-danger) !important; }
.work-priority-high { color: #e17a15 !important; }
.work-priority-warning { color: #c28a12 !important; }
.work-priority-normal { color: var(--ip-success) !important; }

/* Geração da resposta no compositor e selects do detalhe. */
.work-response-generator-actions {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.work-response-generator-actions .primary-action,
.work-response-generator-actions .secondary-action {
  min-height: 33px;
  height: 33px;
  padding: 7px 11px;
  font-size: 11px;
}
.work-response-generator-actions .primary-action i,
.work-response-generator-actions .secondary-action i { margin-right: 4px; }
.work-history-sort {
  width: 170px;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.work-internal-card .work-history-sort { width: 170px; }
.work-composer .select2-container { width: 100% !important; min-width: 0; }
.work-composer .select2-selection--single { width: 100%; max-width: 100%; }

@media (max-width: 620px) {
  .work-history-sort,
  .work-internal-card .work-history-sort { width: 150px; }
  .work-response-generator-actions { align-items: stretch; }
  .work-response-generator-actions .primary-action,
  .work-response-generator-actions .secondary-action { flex: 1 1 0; }
}

/* Meu Trabalho: mesma hierarquia visual da Entrada na listagem e na toolbar. */
.work-page > .topbar > .primary-action,
.work-page > .topbar > .primary-action:hover,
.work-page > .topbar > .primary-action:focus {
  align-self: center;
  margin-left: auto;
  text-decoration: none;
}

.projects-page > .topbar > .primary-action,
.projects-page > .topbar > .primary-action:hover,
.projects-page > .topbar > .primary-action:focus {
  align-self: center;
  margin-left: auto;
  text-decoration: none;
}

.directory-page > .topbar > .primary-action,
.directory-page > .topbar > .primary-action:hover,
.directory-page > .topbar > .primary-action:focus {
  align-self: center;
  margin-left: auto;
  text-decoration: none;
}

.work-toolbar {
  padding: 18px 18px 15px;
  align-items: flex-start;
  gap: 20px;
  border-bottom: 0;
}
.work-toolbar .work-list-heading {
  min-width: 0;
  flex: 1 1 auto;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.work-toolbar .work-list-heading h2 {
  margin: 0;
  color: var(--ip-text);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
}
.work-toolbar .work-list-heading p {
  margin: 5px 0 0;
  color: var(--ip-muted);
  font-size: 12px;
  font-weight: 400;
}
.work-toolbar .work-list-note {
  margin-top: 0;
  flex: 0 0 auto;
  line-height: 1.2;
}
.work-toolbar .work-list-note i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.work-toolbar .work-tools {
  min-width: 0;
  padding: 0;
  flex: 0 0 auto;
  gap: 8px;
}
.work-toolbar .work-search {
  width: 270px;
  flex: 0 0 270px;
}
.work-tools > #workClientFilter + .select2-container {
  width: 180px !important;
  flex: 0 0 180px;
}
.work-tools > #workSlaFilter + .select2-container {
  width: 155px !important;
  flex: 0 0 155px;
}
.work-tabs {
  min-width: 0;
  padding: 0 18px;
  align-items: center;
  gap: 21px;
  overflow-x: auto;
  overflow-y: hidden;
  border-bottom: 1px solid #edf1f6;
}
.work-tab {
  min-height: 0;
  padding: 0 0 11px;
  flex: 0 0 auto;
}
.work-title-copy strong,
.work-table td > strong {
  font-weight: 600;
}
.work-table {
  min-width: 100%;
}

@media (max-width: 1320px) {
  .work-toolbar {
    flex-direction: column;
    gap: 12px;
  }
  .work-toolbar .work-list-heading,
  .work-toolbar .work-tools {
    width: 100%;
  }
  .work-toolbar .work-tools {
    flex-wrap: wrap;
  }
  .work-toolbar .work-search {
    width: auto;
    flex: 1 1 280px;
  }
}

@media (max-width: 620px) {
  .work-toolbar .work-list-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  .work-toolbar .work-tools {
    align-items: stretch;
  }
  .work-toolbar .work-search,
  .work-tools > #workClientFilter + .select2-container,
  .work-tools > #workSlaFilter + .select2-container {
    width: 100% !important;
    flex: 1 1 100%;
  }
}

@media (max-width: 1000px) {
  .work-table {
    min-width: 980px;
  }
}

/* Detalhe da demanda: contexto completo e área de trabalho com histórico. */
.work-modal {
  width: min(1180px, calc(100% - 28px));
  max-height: calc(100vh - 24px);
}
.work-modal > form {
  max-height: calc(100vh - 24px);
}
.work-detail-body {
  padding: 16px 20px 20px;
  display: block;
  overflow-y: auto;
}
.work-detail-meta {
  padding: 8px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #e1e8f1;
  border-radius: var(--radius-control);
  background: #fff;
}
.work-meta-item {
  min-width: 0;
  min-height: 58px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 9px;
}
.work-meta-item:nth-child(n + 5) {
  border-top: 1px solid #edf1f6;
}
.work-meta-item:not(:nth-child(4n + 1)) {
  border-left: 1px solid #edf1f6;
}
.work-meta-icon {
  width: 29px;
  height: 29px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: var(--ip-primary);
  background: var(--ip-primary-soft);
  font-size: 13px;
}
.work-meta-icon.tone-status { color: var(--ip-primary); background: var(--ip-primary-soft); }
.work-meta-icon.tone-type { color: #e95b64; background: #fff0f1; }
.work-meta-icon.tone-user { color: #6e5bca; background: #f1edff; }
.work-meta-icon.tone-return { color: #d47d18; background: #fff5e5; }
.work-meta-icon.tone-priority { color: var(--ip-danger); background: #fff0f1; }
.work-meta-icon.tone-sla { color: var(--ip-success); background: #eaf9f1; }
.work-meta-icon.tone-client { color: var(--ip-primary); background: var(--ip-primary-soft); }
.work-meta-icon.tone-project { color: #5f6acb; background: #f0efff; }
.work-meta-item > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.work-meta-item small {
  overflow: hidden;
  color: #7c899c;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.work-meta-item strong {
  overflow: hidden;
  color: #24334d;
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.work-meta-item .work-meta-email { overflow-wrap: anywhere; white-space: normal; }
.work-meta-status { color: var(--ip-primary) !important; }
.work-meta-priority { color: var(--ip-danger) !important; }
.work-detail-workspace {
  margin-top: 14px;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr);
  gap: 14px;
  align-items: start;
}
.work-detail-primary,
.work-detail-sidebar {
  min-width: 0;
  display: grid;
  gap: 14px;
  align-content: start;
}
.work-detail-tabs {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid #e9eef5;
}
.work-detail-tab {
  min-height: 38px;
  padding: 0 0 9px;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  color: #77859a;
  background: transparent;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}
.work-detail-tab i { font-size: 13px; }
.work-detail-tab.is-active { color: var(--ip-primary); }
.work-detail-tab.is-active::after {
  content: "";
  height: 2px;
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  border-radius: 4px;
  background: var(--ip-primary);
}
.work-detail-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid #e1e8f1;
  border-radius: var(--radius-control);
  background: #fff;
}
.work-card-heading {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.work-card-heading > div { min-width: 0; }
.work-card-kicker {
  display: block;
  color: var(--ip-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .25px;
  text-transform: uppercase;
}
.work-card-heading h3 {
  margin: 3px 0 0;
  overflow: hidden;
  color: #1e2d45;
  font-size: 14px;
  letter-spacing: -.15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.work-card-time {
  color: #8491a4;
  font-size: 11px;
  white-space: nowrap;
}
.work-card-heading-icon { color: var(--ip-primary); font-size: 17px; }
.work-summary-card > p {
  margin: 10px 0 12px;
  color: #5d6d84;
  font-size: 12px;
  line-height: 1.5;
}
.work-summary-tags {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}
.work-summary-tags span {
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--ip-primary);
  background: var(--ip-primary-soft);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.work-summary-tags span:last-child { color: var(--ip-danger); background: #fff0f1; }
.work-facts {
  padding-top: 10px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
  border-top: 1px solid #edf1f6;
  color: #74839a;
  font-size: 11px;
}
.work-facts span { display: inline-flex; align-items: center; gap: 5px; }
.work-facts i { color: var(--ip-primary); font-size: 12px; }
.work-facts b { color: #465873; font-weight: 600; }
.work-history-card,
.work-internal-card { scroll-margin-top: 10px; }
.work-timeline {
  margin-top: 12px;
  display: grid;
}
.work-timeline-item {
  min-width: 0;
  padding: 9px 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: start;
  border-top: 1px solid #edf1f6;
}
.work-timeline-item:first-child { border-top: 0; }
.work-timeline-icon,
.work-avatar {
  width: 27px;
  height: 27px;
  display: inline-grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  flex: 0 0 auto;
  border-radius: 50%;
  color: var(--ip-primary);
  background: var(--ip-primary-soft);
  font-size: 12px;
  font-weight: 700;
}
.work-timeline-item + .work-timeline-item .work-timeline-icon::before,
.work-timeline-item + .work-timeline-item .work-avatar::before {
  content: "";
  width: 1px;
  height: 18px;
  position: absolute;
  top: -18px;
  left: 13px;
  background: #d8e3f1;
}
.work-timeline-icon.tone-origin { color: var(--ip-primary); background: var(--ip-primary-soft); }
.work-timeline-icon.tone-reply { color: #6c5bc3; background: #f1edff; }
.work-avatar { color: #fff; background: var(--ip-primary); font-size: 11px; }
.work-avatar-secondary { background: #e1843b; }
.work-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }
.work-avatar.avatar-fallback::after { content: attr(data-fallback); display: grid; place-items: center; width: 100%; height: 100%; color: #fff; background: var(--ip-primary); }
.work-timeline-item > div { min-width: 0; }
.work-timeline-item strong { display: block; color: #32435d; font-size: 11px; font-weight: 700; }
.work-timeline-item p { margin: 3px 0 0; overflow: hidden; color: #73829a; font-size: 11px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.work-timeline-item time { color: #7c899c; font-size: 11px; white-space: nowrap; }
.work-message-panel {
  margin-top: 6px;
  padding: 12px;
  border: 1px solid #e1e8f1;
  border-radius: var(--radius-control);
  background: #fbfdff;
}
.work-message-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.work-message-panel-heading strong { color: #2b3c57; font-size: 12px; }
.work-message-panel-heading span { color: #8a96a8; font-size: 11px; }
.work-message-panel .work-message-scroll { max-height: 195px; margin-top: 8px; }
.work-message-panel .work-message-scroll p { color: #596b83; font-size: 12px; line-height: 1.55; }
.work-message-panel .triage-attachments { margin-top: 12px; padding-top: 10px; }
.work-internal-card .work-card-heading { align-items: center; }
.work-history-sort {
  height: 30px;
  max-width: 170px;
  padding: 0 28px 0 9px;
  border: 1px solid #dfe7f1;
  border-radius: var(--radius-control);
  color: #63728a;
  background: #fff;
  font-size: 11px;
}
.work-composer {
  margin-top: 9px;
  padding: 11px;
  border: 1px solid #dfe8f2;
  border-radius: var(--radius-control);
  background: #fbfdff;
}
.work-composer-field { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 9px; align-items: end; }
.work-composer label { display: grid; gap: 4px; color: #40516b; font-size: 11px; font-weight: 700; }
.work-composer select,
.work-composer textarea { width: 100%; }
.work-composer textarea { min-height: 66px; resize: vertical; }
.work-composer-tools { margin-top: 7px; display: flex; align-items: center; gap: 12px; color: #7b899d; font-size: 11px; }
.work-composer-tools span { display: inline-flex; align-items: center; gap: 4px; }
.work-composer-tools i { color: var(--ip-primary); font-size: 12px; }
.work-sla-card { background: #fff; }
.work-sla-list { margin-top: 11px; display: grid; gap: 12px; }
.work-sla-list > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #5f6f87; font-size: 11px; }
.work-sla-list strong { font-size: 11px; font-weight: 700; text-align: right; }
.work-sla-list strong i { margin-right: 4px; }
.sla-ok { color: var(--ip-success); }
.sla-alert { color: var(--ip-danger); }
.sla-priority { color: var(--ip-primary); }
.sla-priority i { font-size: 11px; }
.work-sla-progress { display: grid !important; gap: 6px; }
.work-sla-progress > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #344863; }
.work-sla-progress > div b { color: #78879b; font-size: 11px; font-weight: 600; }
.work-sla-progress progress { width: 100%; height: 5px; appearance: none; border: 0; border-radius: 999px; background: #e6ebf2; }
.work-sla-progress progress::-webkit-progress-bar { border-radius: 999px; background: #e6ebf2; }
.work-sla-progress progress::-webkit-progress-value { border-radius: 999px; background: var(--ip-primary); }
.work-sla-progress progress::-moz-progress-bar { border-radius: 999px; background: var(--ip-primary); }
.work-activity-list { margin-top: 9px; display: grid; }
.work-activity-list article { padding: 10px 0; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 8px; align-items: start; border-top: 1px solid #edf1f6; }
.work-activity-list article:first-child { border-top: 0; }
.work-activity-list article > span { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; color: var(--ip-primary); background: var(--ip-primary-soft); font-size: 11px; }
.work-activity-list article > div { min-width: 0; display: grid; gap: 2px; }
.work-activity-list strong { overflow: hidden; color: #40516b; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.work-activity-list small { color: #8995a7; font-size: 11px; }
.work-activity-list time { color: #8491a4; font-size: 11px; text-align: right; white-space: nowrap; }
.work-footer-actions { padding: 12px 20px 14px; border-top: 1px solid #eff3f8; }

@media (max-width: 900px) {
  .work-detail-workspace { grid-template-columns: 1fr; }
  .work-detail-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .work-detail-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .work-meta-item:nth-child(n + 5) { border-top: 1px solid #edf1f6; }
  .work-meta-item:not(:nth-child(4n + 1)) { border-left: 0; }
  .work-meta-item:not(:nth-child(2n + 1)) { border-left: 1px solid #edf1f6; }
}
@media (max-width: 620px) {
  .work-modal { width: calc(100% - 12px); max-height: calc(100vh - 12px); }
  .work-modal > form { max-height: calc(100vh - 12px); }
  .work-detail-body { padding: 12px; }
  .work-detail-meta { grid-template-columns: 1fr; padding: 6px; }
  .work-meta-item,
  .work-meta-item:nth-child(n + 5),
  .work-meta-item:not(:nth-child(4n + 1)),
  .work-meta-item:not(:nth-child(2n + 1)) { border-top: 1px solid #edf1f6; border-left: 0; }
  .work-meta-item:first-child { border-top: 0; }
  .work-detail-tabs { gap: 14px; overflow-x: auto; }
  .work-detail-tab { flex: 0 0 auto; }
  .work-card-heading h3 { font-size: 13px; }
  .work-summary-tags { gap: 4px; }
  .work-summary-tags span { padding-right: 6px; padding-left: 6px; }
  .work-facts { align-items: flex-start; flex-direction: column; gap: 7px; }
  .work-timeline-item { grid-template-columns: 27px minmax(0, 1fr); }
  .work-timeline-item time { grid-column: 2; }
  .work-composer-field { grid-template-columns: 1fr; }
  .work-detail-sidebar { grid-template-columns: 1fr; }
  .work-footer-actions { align-items: stretch; }
  .work-footer-actions button { flex: 1 1 calc(50% - 8px); }
}

/* Detalhe compacto: remover abas, aproximar textos auxiliares e evitar altura vazia. */
.work-detail-meta {
  padding: 5px;
}
.work-meta-item {
  min-height: 48px;
  padding: 6px 10px;
  gap: 8px;
}
.work-meta-item > div {
  gap: 1px;
}
.work-meta-item small {
  line-height: 1.1;
}
.work-meta-item strong {
  line-height: 1.15;
}
.work-detail-tabs {
  display: none;
}
.work-summary-card,
.work-sla-card {
  height: auto;
  align-self: stretch;
}
.work-summary-card > p {
  margin: 8px 0 9px;
  line-height: 1.35;
}
.work-facts {
  padding-top: 8px;
  gap: 7px 15px;
}
.work-sla-list {
  margin-top: 8px;
  gap: 8px;
}
.work-sla-list > div {
  gap: 8px;
  line-height: 1.15;
}
.work-sla-progress {
  gap: 4px;
}
.work-sla-progress progress {
  height: 4px;
}

@media (max-width: 900px) {
  .work-summary-card { grid-row: 1; }
  .work-sla-card { grid-row: 2; }
  .work-history-card { grid-row: 3; }
  .work-internal-card { grid-row: 4; }
  .work-activity-card { grid-row: 5; }
}

/* Composição final do detalhe: o SLA acompanha o resumo e os dois históricos ficam equilibrados. */
.work-detail-workspace {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}
.work-detail-primary,
.work-detail-sidebar {
  display: contents;
}
.work-history-card { grid-column: 1; grid-row: 1; }
.work-internal-card { grid-column: 2; grid-row: 1; }
.work-activity-card { grid-column: 1 / -1; grid-row: 2; }
.work-history-card,
.work-internal-card,
.work-activity-card { height: 100%; }
.work-composer-actions {
  margin-top: 9px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.work-composer-actions button {
  min-height: 39px;
  height: 39px;
  padding: 0 14px;
}

@media (max-width: 900px) {
  .work-detail-workspace { grid-template-columns: 1fr; }
  .work-detail-tabs,
  .work-summary-card,
  .work-sla-card,
  .work-history-card,
  .work-internal-card,
  .work-activity-card { grid-column: 1; }
  .work-history-card { grid-row: 1; }
  .work-internal-card { grid-row: 2; }
  .work-activity-card { grid-row: 3; }
}

/* Detalhe mais leve: contexto sem divisórias internas e atividade em linha do tempo. */
.work-detail-meta > .work-meta-item,
.work-detail-meta > .work-meta-item:nth-child(n + 5),
.work-detail-meta > .work-meta-item:not(:nth-child(4n + 1)),
.work-detail-meta > .work-meta-item:not(:nth-child(2n + 1)) {
  border-top: 0 !important;
  border-left: 0 !important;
}
.work-activity-card {
  padding-top: 12px;
  padding-bottom: 10px;
}
.work-activity-list {
  margin-top: 6px;
  display: grid;
}
.work-activity-list article {
  min-width: 0;
  min-height: 34px;
  padding: 7px 0;
  position: relative;
  display: grid;
  grid-template-columns: 48px 22px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border-top: 1px solid #edf1f6;
}
.work-activity-list article:first-child { border-top: 0; }
.work-activity-list article > time {
  grid-column: 1;
  color: #7f8ca0;
  font-size: 11px;
  white-space: nowrap;
}
.work-activity-marker {
  width: 22px;
  height: 22px;
  position: relative;
  display: grid;
  place-items: center;
  grid-column: 2;
  border-radius: 50%;
  color: var(--ip-primary);
  background: var(--ip-primary-soft);
  font-size: 11px;
}
.work-activity-list article + article .work-activity-marker::before {
  content: "";
  width: 1px;
  height: 15px;
  position: absolute;
  top: -15px;
  left: 10px;
  background: #cfdbea;
}
.work-activity-list article > div {
  min-width: 0;
  grid-column: 3;
}
.work-activity-list strong {
  display: block;
  overflow: hidden;
  color: #40516b;
  font-size: 11px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.work-activity-actor {
  grid-column: 4;
  color: #7d8a9e;
  font-size: 11px;
  white-space: nowrap;
}
.work-activity-list article > .work-activity-marker {
  width: 22px;
  height: 22px;
}
.work-activity-list article > .work-activity-actor {
  width: auto;
  height: auto;
  display: block;
  position: static;
  border-radius: 0;
  background: transparent;
}
.work-activity-list article > .work-activity-actor { display: inline-flex; align-items: center; gap: 5px; }
.work-activity-list .activity-actor-avatar { width: 20px; height: 20px; display: inline-grid; place-items: center; flex: 0 0 20px; overflow: hidden; border-radius: 50%; font-size: 8px; line-height: 1; }
.work-activity-list .activity-actor-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }
.work-activity-list .activity-actor-avatar--system { color: var(--ip-primary); background: var(--ip-primary-soft); box-shadow: none; }
.work-activity-list .activity-actor-avatar--system i { font-size: 10px; }

/* Demandas funcionais: reaproveita a composição aprovada do detalhe sem sobrepor os cartões. */
.demand-detail-workspace {
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, .8fr);
  align-items: start;
}
.demand-detail-workspace .work-detail-primary,
.demand-detail-workspace .work-detail-sidebar {
  display: grid;
}
.demand-detail-workspace .work-history-card,
.demand-detail-workspace .work-internal-card,
.demand-detail-workspace .work-activity-card {
  height: auto;
  grid-column: auto;
  grid-row: auto;
}
.demand-detail-workspace .project-brief-intro {
  margin: 12px 0 14px;
  white-space: normal;
}
.demand-detail-workspace .work-timeline-item p {
  white-space: normal;
}
.demand-detail-workspace .work-card-heading { align-items: center; }
.demand-detail-workspace .work-card-heading h3 {
  margin: 0;
  color: var(--ip-primary);
  font-size: 12px;
  font-weight: 700;
}
.demand-detail-workspace .work-activity-list article { grid-template-columns: 116px 22px minmax(0, 1fr) auto; }
.demand-detail-workspace .work-activity-list article > time,
.demand-detail-workspace .work-activity-list strong,
.demand-detail-workspace .work-activity-actor { font-size: 12px; }
.demand-detail-workspace .work-internal-timeline .work-conversation-attachments { margin-top: 10px; }
.demand-detail-workspace .work-composer-tools {
  justify-content: flex-end;
}
.demand-detail-workspace .work-detail-meta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.demand-page-actions {
  margin-top: 14px;
  padding: 14px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.demand-page-actions form { margin: 0; }
.demand-page-actions a.secondary-action { text-decoration: none; }
.new-demand-modal .demand-classification-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.new-demand-modal .demand-classification-grid > label,
.new-demand-modal .demand-classification-grid input,
.new-demand-modal .demand-classification-grid .select2-container {
  min-width: 0;
}
.new-demand-modal .demand-classification-extra-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; }
.new-demand-modal .demand-classification-extra-grid > label { min-width: 0; }
.new-demand-modal .attachment-field > .field-label,
.new-demand-modal .attachment-dropzone,
.new-demand-modal .attachment-dropzone small,
.new-demand-modal .attachment-status { font-size: 12px !important; }
.demand-attachment-list { margin-top: 14px; padding: 0; }

@media (max-width: 1180px) {
  .demand-detail-page > .topbar {
    flex-wrap: wrap;
    gap: 12px;
  }
  .demand-detail-page > .topbar .project-page-heading {
    width: 100%;
    min-width: 0;
  }
  .demand-detail-page > .topbar .project-detail-actions {
    margin-left: 0;
  }
  .demand-detail-workspace { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .new-demand-modal .demand-classification-grid,
  .new-demand-modal .demand-classification-extra-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .work-activity-list article {
    grid-template-columns: 42px 22px minmax(0, 1fr) auto;
    gap: 6px;
  }
  .work-activity-actor { font-size: 11px; }
}

.work-internal-note {
  margin-top: 5px;
  padding: 8px 10px;
  border-top: 0;
  border-radius: 8px;
  background: #fff6df;
}
.work-internal-note .work-timeline-icon {
  color: #c97900;
  background: #fff0c7;
}
.work-internal-note > div {
  display: grid;
  gap: 8px;
}
.work-internal-note strong {
  color: #6f4f16;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  white-space: normal;
}
.work-conversation-attachments {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.work-attachment-card {
  min-width: 0;
  padding: 7px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
  border: 1px solid #e0e8f2;
  border-radius: 8px;
  background: #fff;
}
.work-attachment-card:hover { border-color: var(--ip-primary-border); background: #fbfdff; }
.work-attachment-preview {
  min-width: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.work-attachment-icon {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  font-size: 12px;
}
.work-attachment-icon.tone-image { color: var(--ip-primary); background: var(--ip-primary-soft); }
.work-attachment-icon.tone-pdf { color: var(--ip-danger); background: #fff0f1; }
.work-attachment-icon.tone-archive { color: #b47b13; background: #fff6df; }
.work-attachment-icon.tone-document { color: #5d6ac7; background: #eef0ff; }
.work-attachment-icon.tone-file { color: #6f7f95; background: #f0f3f7; }
.work-attachment-copy {
  min-width: 0;
  display: grid;
  gap: 1px;
}
.work-attachment-copy strong {
  overflow: hidden;
  color: #43546e;
  font-size: 11px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.work-attachment-copy small { color: #8995a7; font-size: 11px; }
.work-attachment-download {
  width: 20px;
  height: 24px;
  padding: 0;
  display: grid;
  place-items: center;
  color: #66758b;
  background: transparent;
  font-size: 12px;
  cursor: pointer;
}
.work-attachment-download:hover { color: var(--ip-primary); }
.work-message-accordion { display: grid; gap: 8px; }
.work-message-collapse {
  overflow: hidden;
  border: 1px solid #e0e8f2;
  border-radius: 9px;
  background: #fff;
}
.work-message-summary {
  min-width: 0;
  padding: 10px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto 14px;
  align-items: center;
  gap: 8px;
  list-style: none;
  cursor: pointer;
}
.work-message-summary::-webkit-details-marker { display: none; }
.work-message-summary::marker { display: none; }
.work-message-summary:hover { background: #fbfdff; }
.work-message-summary-copy { min-width: 0; display: grid; gap: 2px; }
.work-message-summary-copy strong { overflow: hidden; color: #31425d; font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.work-message-summary-copy small { overflow: hidden; color: #8190a5; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.work-message-collapse[open] .work-message-summary-copy small { display: none; }
.work-message-summary time { color: #8a96a8; font-size: 11px; white-space: nowrap; }
.work-message-summary-chevron { color: #8491a5; font-size: 12px; transition: transform .18s ease; }
.work-message-collapse[open] .work-message-summary-chevron { transform: rotate(180deg); }
.work-message-collapse-body { padding: 0 10px 11px 46px; }
.work-message-collapse-body > p { margin: 0; color: #53667f; font-size: 12px; line-height: 1.55; white-space: pre-wrap; }
.work-message-collapse-body .work-conversation-attachments { margin-top: 10px; }
.work-client-conversation-start {
  padding-bottom: 0;
  border-bottom: 0;
  border-radius: var(--radius-control) var(--radius-control) 0 0;
}
.work-client-conversation-start .work-message-context { margin-top: 8px; }
.work-client-conversation-middle,
.work-client-conversation-end {
  margin-top: -14px;
  border-top: 0;
  border-radius: 0;
}
.work-client-conversation-middle {
  padding-top: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.work-client-conversation-end {
  padding-top: 8px;
  border-radius: 0 0 var(--radius-control) var(--radius-control);
}
.work-client-conversation-middle > .work-card-heading,
.work-client-conversation-end > .work-card-heading { display: none; }
.work-client-conversation-end .work-response-composer { margin-top: 0; }
.work-client-conversation-card .work-message-accordion { gap: 0; }
.work-client-conversation-card .work-message-collapse {
  border: 0;
  border-bottom: 1px solid #edf1f6;
  border-radius: 0;
}
.work-client-conversation-middle .work-message-collapse:last-child { border-bottom: 0; }
.work-client-conversation-card .work-message-summary { padding: 8px 0; }
.work-client-conversation-card .work-message-summary:hover { background: transparent; }
.work-client-conversation-card .work-message-collapse-body { padding: 0 0 9px 36px; }
.work-message-address { margin: 0 0 7px; display: flex; flex-wrap: wrap; gap: 5px; color: #78879b; font-size: 11px; }
.work-message-address strong { color: #40516b; font-weight: 600; overflow-wrap: anywhere; }
.work-composer { position: relative; }
.work-composer-tool {
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 0;
  color: #7b899d;
  background: transparent;
  font-size: 11px;
  cursor: pointer;
}
.work-composer-tool:hover { color: var(--ip-primary); }
.work-composer-tool i { color: var(--ip-primary); font-size: 12px; }
.work-mention-menu {
  width: 220px;
  padding: 6px;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 10px;
  z-index: 8;
  display: grid;
  gap: 2px;
  border: 1px solid #dfe7f1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(18, 32, 51, .14);
}
.work-mention-option {
  width: 100%;
  padding: 6px 7px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 0;
  border-radius: 6px;
  color: #40516b;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.work-mention-option:hover,
.work-mention-option:focus-visible,
.work-mention-option.is-active { color: var(--ip-primary); background: var(--ip-primary-soft); outline: 0; }
.work-mention-option[hidden] { display: none !important; }
.work-mention-avatar {
  width: 24px;
  height: 24px;
  display: grid !important;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 50%;
  color: #fff;
  background: var(--ip-primary);
  font-size: 11px;
  font-weight: 700;
}
.work-mention-avatar img { width: 100%; height: 100%; object-fit: cover; }
.work-mention-option > span:last-child {
  min-width: 0;
  display: grid !important;
  gap: 1px;
}
.work-mention-option strong { font-size: 11px; font-weight: 700; }
.work-mention-option small { color: #8491a4; font-size: 11px; }
.work-pending-attachments {
  margin-top: 8px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.work-pending-attachment {
  max-width: 100%;
  padding: 4px 6px 4px 8px;
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  border: 1px solid #d9e4ef;
  border-radius: 6px;
  color: #5d6d84;
  background: #fff;
  font-size: 11px;
}
.work-pending-attachment > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.work-pending-attachment-remove {
  width: 16px;
  height: 16px;
  padding: 0;
  display: grid;
  place-items: center;
  color: #7c899c;
  background: transparent;
  font-size: 11px;
  cursor: pointer;
}
.work-pending-attachment-remove:hover { color: var(--ip-danger); }

@media (max-width: 620px) {
  .work-conversation-attachments { grid-template-columns: 1fr; }
  .work-mention-menu { width: min(220px, calc(100vw - 72px)); }
}

.work-detail-body,
.work-detail-workspace {
  overflow-x: hidden;
}

/* Compositor interno: uma única ação de nota, com os controles na mesma linha. */
.work-internal-card .work-composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  padding: 5px 6px 5px 10px;
  background: #fff;
}
.work-internal-card.has-open-mention { position: relative; z-index: 10; }
.work-internal-card .work-composer > textarea {
  width: 100%;
  min-height: 30px;
  height: 30px;
  padding: 4px 0;
  border: 0 !important;
  border-radius: 0;
  outline: 0;
  background: transparent;
  box-shadow: none !important;
  color: #40516b;
  font-size: 11px;
  line-height: 1.45;
  resize: none;
}
.work-internal-card .work-composer > textarea::placeholder { color: #8a96a8; opacity: 1; }
.work-internal-card .work-composer:focus-within { border-color: #dfe8f2; box-shadow: none; }
.work-internal-card .work-composer-tools {
  margin: 0;
  display: flex;
  align-items: center;
  align-self: end;
  padding-bottom: 2px;
  gap: 2px;
  color: #7b899d;
}
.work-internal-card .work-composer-tool {
  width: 28px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  color: #6c7d95;
  font-size: 15px;
  line-height: 1;
}
.work-internal-card .work-composer-tool i { color: #6c7d95; font-size: 16px; }
.work-internal-card .work-composer-tool:hover,
.work-internal-card .work-composer-tool:hover i { color: var(--ip-primary); }
.work-internal-card .work-composer-submit {
  width: 36px;
  height: 36px;
  min-height: 36px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border-radius: 10px;
  font-size: 15px;
  line-height: 1;
}
.work-internal-card .work-composer-submit i { margin: 0; color: #fff !important; }
.work-internal-card .work-pending-attachments {
  grid-column: 1 / -1;
  margin: 0 2px 2px;
}
.work-internal-card .work-mention-menu {
  right: 44px;
  left: auto;
  bottom: calc(100% + 6px);
}
@media (max-width: 620px) {
  .work-internal-card .work-composer { padding-left: 8px; }
  .work-internal-card .work-composer-tools { gap: 2px; }
  .work-internal-card .work-composer-submit { width: 34px; height: 34px; min-height: 34px; }
}

.work-internal-card .work-update-editor {
  width: 100%;
  min-height: 30px;
  height: 30px;
  max-height: none;
  overflow-x: hidden;
  overflow-y: hidden;
  padding: 4px 0;
  border: 0 !important;
  border-radius: 0;
  outline: 0;
  background: transparent;
  box-shadow: none !important;
  color: #40516b;
  font-size: 11px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
  cursor: text;
}
.work-update-editor:empty::before {
  content: attr(data-placeholder);
  color: #8a96a8;
  pointer-events: none;
}
.work-update-editor .work-mention-token {
  padding: 1px 3px;
  border-radius: 4px;
  color: var(--ip-primary);
  background: var(--ip-primary-soft);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(0, 81, 250, .45);
  text-underline-offset: 2px;
  white-space: nowrap;
  cursor: default;
}

.work-response-composer {
  margin-top: 9px;
  padding: 7px 6px 7px 10px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  border: 1px solid #dfe8f2;
  border-radius: var(--radius-control);
  background: #fff;
}
.work-response-composer:focus-within {
  border-color: #dfe8f2;
  box-shadow: none;
}
.work-response-recipient { grid-column: 1 / -1; padding: 0 3px 7px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid #edf1f6; color: #40516b; font-size: 11px; font-weight: 700; }
.work-response-recipient > span { flex: 0 0 auto; }
.work-response-recipient i { margin-right: 3px; color: var(--ip-primary); }
.work-response-recipient small { margin-left: 5px; color: #8190a5; font-size: 11px; font-weight: 400; }
.work-response-recipient input { min-width: 0; flex: 1; padding: 6px 8px; outline: 0; border: 1px solid #dfe8f2; border-radius: 6px; color: #30405a; background: #fff; font: inherit; font-weight: 600; }
.work-response-recipient input:focus { border-color: var(--ip-primary); box-shadow: 0 0 0 2px var(--ip-primary-soft); }
@media (max-width: 620px) { .work-response-recipient { align-items: stretch; flex-direction: column; gap: 5px; }.work-response-recipient small { display: block; margin: 3px 0 0; } }
.work-response-message > textarea {
  width: 100%;
  min-height: 30px;
  height: 30px;
  max-height: none;
  overflow-y: hidden;
  padding: 5px 0;
  resize: none;
  outline: 0;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  color: #40516b;
  background: transparent;
  font-size: 12px;
  line-height: 1.45;
}
.work-response-message > textarea::placeholder { color: #8a96a8; opacity: 1; }
.work-response-composer .work-response-tools {
  margin: 0;
  align-self: end;
  padding-bottom: 2px;
  display: flex;
  align-items: center;
  gap: 2px;
}
.work-response-composer .work-composer-tool {
  width: 28px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  color: #6c7d95;
  font-size: 15px;
  line-height: 1;
}
.work-response-composer .work-composer-tool:first-child,
.work-response-composer .work-composer-tool:first-child i { color: #6c7d95; }
.work-response-composer .work-composer-tool:hover,
.work-response-composer .work-composer-tool:hover i { color: var(--ip-primary); }
.work-response-composer .work-composer-submit {
  width: 36px;
  height: 36px;
  min-height: 36px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border-radius: 10px;
  font-size: 15px;
  line-height: 1;
}
.work-response-composer .work-composer-submit i { margin: 0; color: #fff !important; }
.work-response-composer .work-response-tools > span { color: #7b899d; font-size: 12px; }
.work-response-composer .work-composer-tool { cursor: pointer; }
.message-send-status { margin-left: 6px; padding: 2px 6px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.message-send-status.is-pending { color: #9b6a06; background: #fff7df; }
.message-send-status.is-error { color: var(--ip-danger); background: #fff0f1; }

/* Paginação reaproveita os controles compactos já usados nas tabelas. */
.pagination a,
.pagination > span { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid #e2e8f0; border-radius: 6px; color: #6d7b90; background: #fff; font-size: 11px; text-decoration: none; }
.pagination a:hover,
.pagination a.current { color: var(--ip-primary); border-color: var(--ip-primary-border); background: var(--ip-primary-soft); }
.pagination > span.is-disabled { opacity: .45; }
.panel-footer .pagination,
.inbox-footer .pagination { margin-left: auto; }
.work-mention-token { padding: 0 2px; border-radius: 4px; color: var(--ip-primary); background: var(--ip-primary-soft); font-weight: 700; }
.work-response-composer .work-response-pending-attachments {
  grid-column: 1 / -1;
  margin: 0 2px 1px;
}
.work-composer-tool.is-loading i { animation: demand-detail-spin .8s linear infinite; }

@media (max-width: 620px) {
  .work-response-composer { padding-left: 8px; }
  .work-response-composer .work-response-tools { gap: 2px; }
  .work-response-composer .work-composer-submit { width: 34px; height: 34px; min-height: 34px; }
}

/* Compositores: mesmo foco, tamanho e alinhamento para nota interna e resposta. */
.work-internal-card .work-composer-tools,
.work-response-composer .work-response-tools {
  align-self: end;
  gap: 2px;
}
.work-internal-card .work-composer-tool,
.work-response-composer .work-composer-tool {
  width: 28px;
  height: 32px;
  color: #6c7d95;
  font-size: 15px;
}
.work-internal-card .work-composer-tool i,
.work-response-composer .work-composer-tool i {
  color: #6c7d95;
  font-size: 16px;
}
.work-internal-card .work-composer-tool:hover,
.work-internal-card .work-composer-tool:hover i,
.work-response-composer .work-composer-tool:hover,
.work-response-composer .work-composer-tool:hover i {
  color: var(--ip-primary);
}
.work-internal-card .work-composer:focus-within,
.work-response-composer:focus-within {
  border-color: #dfe8f2;
  box-shadow: none;
}
.work-internal-card .work-update-editor:focus,
.work-response-message > textarea:focus {
  outline: 0;
  border: 0 !important;
  box-shadow: none !important;
}

/* Projetos: visão visual e leve do andamento do portfólio. */
.projects-dashboard { margin-top: var(--module-heading-gap); }
.projects-panel { overflow: hidden; }
.projects-toolbar {
  padding: 16px 18px 14px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #eef2f7;
}
.projects-list-heading { min-width: 0; }
.projects-list-heading h2 { margin: 0; color: var(--ip-text); font-size: 15px; font-weight: 700; }
.projects-list-heading p { margin: 5px 0 0; color: var(--ip-muted); font-size: 11px; }
.projects-tools { min-width: 0; display: flex; align-items: center; gap: 8px; }
.projects-search { width: 220px; flex: 0 0 220px; }
.projects-tools > #projectsClientFilter + .select2-container { width: 160px !important; flex: 0 0 160px; }
.projects-tools > #projectsOwnerFilter + .select2-container { width: 175px !important; flex: 0 0 175px; }
.projects-tools > #projectsStatusFilter + .select2-container { width: 145px !important; flex: 0 0 145px; }
.project-grid {
  padding: 16px 18px 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.project-card {
  min-width: 0;
  padding: 14px;
  display: grid;
  gap: 13px;
  border: 1px solid var(--ip-border);
  border-radius: var(--radius-card);
  background: #fff;
  box-shadow: var(--shadow-card);
}
.project-card[hidden] { display: none; }
.project-card--attention { border-color: #f4d9dc; }
.project-card--blocked { border-color: #f0dfbd; }
.project-card-heading { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.project-card-identity { min-width: 0; display: flex; align-items: center; gap: 10px; }
.project-card-avatar { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #fff; font-size: 16px; font-weight: 700; }
.project-avatar-indigo { background: #3a55b7; }
.project-avatar-emerald { background: #16b56c; }
.project-avatar-violet { background: #6646bd; }
.project-avatar-blue { background: var(--ip-primary); }
.project-avatar-orange { background: #e89227; }
.project-avatar-slate { background: #65758d; }
.project-card-identity > div { min-width: 0; }
.project-card-identity h3 { overflow: hidden; margin: 0; color: #263650; font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.project-card-identity p { overflow: hidden; margin: 3px 0 0; color: #758198; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.project-status-badge { padding: 4px 7px; flex: 0 0 auto; border-radius: 999px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.project-status-active { color: #087f55; background: #e9f8f0; }
.project-status-attention { color: var(--ip-danger); background: #fff0f1; }
.project-status-blocked { color: #b47b13; background: #fff6df; }
.project-status-inactive { color: var(--ip-danger); background: #fff0f1; }
.project-status-closed { color: #758198; background: #f0f3f7; }
.project-card-meta { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.project-card-meta > div { min-width: 0; display: grid; gap: 4px; }
.project-card-meta small, .project-progress-label span { color: #8490a2; font-size: 11px; }
.project-card-meta strong { overflow: hidden; color: #41516a; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.project-card-progress { display: grid; gap: 6px; }
.project-progress-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.project-progress-label strong { color: #40506a; font-size: 11px; font-weight: 700; }
.project-card .progress { height: 5px; }
.project-card--attention .progress span { background: var(--ip-danger); }
.project-card--blocked .progress span { background: var(--ip-warning); }
.project-card-footer { padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid #f0f3f8; color: #8490a2; font-size: 11px; }
.project-card-footer i { margin-right: 4px; color: var(--ip-primary); }
.project-card-footer strong { color: #40506a; font-size: 11px; font-weight: 700; }
.project-card-footer--attention i, .project-card-footer--attention strong { color: var(--ip-danger); }
.project-card-footer--blocked i, .project-card-footer--blocked strong { color: #b47b13; }
@media (max-width: 1180px) {
  .projects-toolbar { align-items: stretch; flex-direction: column; }
  .projects-tools { flex-wrap: wrap; }
  .projects-search { flex: 1 1 240px; }
  .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .projects-tools { align-items: stretch; }
  .projects-search { width: 100%; flex: 1 1 100%; }
  .projects-tools > #projectsClientFilter + .select2-container,
  .projects-tools > #projectsOwnerFilter + .select2-container,
  .projects-tools > #projectsStatusFilter + .select2-container { width: auto !important; flex: 1 1 0; }
  .project-grid { grid-template-columns: 1fr; padding-right: 12px; padding-left: 12px; }
}

/* Projetos: listagem operacional no mesmo padrão das filas. */
.projects-toolbar {
  padding: 16px 18px 12px;
  align-items: flex-end;
  border-bottom: 0;
}
.projects-tools { flex-wrap: nowrap; }
/* Projetos usa a mesma base estrutural e visual das abas de Meu Trabalho.
   .project-tab é preservado somente como gancho dos filtros no JavaScript. */
.projects-table { min-width: 0; table-layout: fixed; }
.projects-table th, .projects-table td { vertical-align: middle; }
.projects-table th:first-child, .projects-table td:first-child { width: 26%; }
.projects-table th:nth-child(2), .projects-table td:nth-child(2) { width: 15%; }
.projects-table th:nth-child(3), .projects-table td:nth-child(3) { width: 16%; }
.projects-table th:nth-child(4), .projects-table td:nth-child(4) { width: 20%; }
.projects-table th:nth-child(5), .projects-table td:nth-child(5) { width: 13%; }
.projects-table th:nth-child(6), .projects-table td:nth-child(6) { width: 10%; }
.projects-table tbody .project-table-row { cursor: pointer; }
.projects-table tbody .project-table-row:hover td { background: #fbfdff; }
.projects-table tbody .project-table-row td { height: 54px; padding-top: 11px; padding-bottom: 11px; }
.project-table-identity { min-width: 0; max-width: 100%; display: inline-flex; align-items: center; gap: 8px; }
.project-table-icon { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #fff; font-size: 11px; font-weight: 800; }
.project-table-identity > span:last-child { min-width: 0; display: grid; gap: 2px; }
.project-table-identity strong { overflow: hidden; color: #263650; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.project-table-identity small { overflow: hidden; color: #7b8799; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.project-table-name { color: #7b8799; font-weight: 400; }
.project-category-tag { padding: 4px 7px; display: inline-flex; width: fit-content; border-radius: 999px; color: #61718a; background: #f1f4f8; font-size: 11px; font-weight: 600; white-space: nowrap; }
.project-person { display: inline-flex; align-items: center; gap: 6px; color: #4b5a72; font-size: 11px; white-space: nowrap; }
.projects-table .mini-avatar { width: 25px; height: 25px; display: inline-grid; place-items: center; flex: 0 0 auto; overflow: hidden; border-radius: 50%; color: #fff; font-size: 11px; font-weight: 700; }
.projects-table .mini-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }
.mini-avatar-indigo { background: #3a55b7; }
.mini-avatar-orange { background: #e78936; }
.mini-avatar-slate { background: #65758d; }
.project-stage { display: inline-flex; align-items: center; gap: 5px; color: #56657c; font-size: 11px; white-space: nowrap; }
.project-stage i { color: var(--ip-primary); font-size: 13px; }
.project-table-progress { width: 112px; display: flex; align-items: center; gap: 7px; }
.project-table-progress .progress { height: 5px; min-width: 0; }
.project-table-progress b { color: #40506a; font-size: 11px; font-weight: 700; }
.project-table-progress--attention .progress span { background: var(--ip-danger); }
.project-table-progress--blocked .progress span { background: var(--ip-warning); }
.project-deadline-table { color: #40506a; font-size: 11px; font-weight: 600; white-space: nowrap; }
.project-deadline-table i { margin-right: 4px; }
.project-deadline-table--attention { color: var(--ip-danger); }
.project-deadline-table--blocked { color: #b47b13; }
.project-status-tag { padding: 5px 8px; display: inline-flex; align-items: center; border-radius: 999px; font-size: 11px; font-weight: 600; white-space: nowrap; }

/* Tabelas: estados legíveis, sem competir com o título da linha. */
.inbox-table .sla-pill,
.work-table .sla-pill,
.work-table .work-status-tag,
.projects-table .project-category-tag,
.projects-table .project-status-tag { font-weight: 600; }

@media (max-width: 1180px) {
  .projects-tools { flex-wrap: wrap; }
  .projects-search { flex: 1 1 240px; }
  .projects-page .projects-table th:nth-child(3), .projects-page .projects-table td:nth-child(3) { display: none; }
  .projects-page .projects-table th:first-child, .projects-page .projects-table td:first-child { width: 29%; }
  .projects-page .projects-table th:nth-child(2), .projects-page .projects-table td:nth-child(2) { width: 18%; }
  .projects-page .projects-table th:nth-child(4), .projects-page .projects-table td:nth-child(4) { width: 23%; }
  .projects-page .projects-table th:nth-child(5), .projects-page .projects-table td:nth-child(5) { width: 17%; }
  .projects-page .projects-table th:nth-child(6), .projects-page .projects-table td:nth-child(6) { width: 13%; }
}
@media (max-width: 620px) {
  .projects-tools { align-items: stretch; }
  .projects-search { width: 100%; flex: 1 1 100%; }
  .projects-tools > #projectsClientFilter + .select2-container,
  .projects-tools > #projectsOwnerFilter + .select2-container { width: calc(50% - 4px) !important; flex: 1 1 calc(50% - 4px); }
  .projects-tabs { gap: 15px; padding-right: 14px; padding-left: 14px; }
  .projects-table { min-width: 980px; }
}

/* Detalhe do projeto: etapas e contexto em uma leitura operacional. */
.project-detail-dashboard { margin-top: var(--module-heading-gap); }
.project-detail-actions { display: flex; align-items: center; gap: 8px; }
.project-detail-actions .primary-action,
.project-detail-actions .secondary-action,
.project-detail-actions .danger-action-button { text-decoration: none; white-space: nowrap; }
.project-overview-panel { padding: 16px 18px 15px; }
.project-overview-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.project-overview-identity { min-width: 0; display: flex; align-items: center; gap: 11px; }
.project-overview-icon { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; color: #fff; font-size: 18px; font-weight: 700; }
.project-card-kicker { display: block; margin-bottom: 3px; color: var(--ip-primary); font-size: 11px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; }
.project-overview-identity h2 { overflow: hidden; margin: 0; color: #1e2d45; font-size: 18px; font-weight: 700; letter-spacing: -.25px; text-overflow: ellipsis; white-space: nowrap; }
.project-overview-identity p { overflow: hidden; margin: 3px 0 0; color: #748197; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.project-overview-heading > .project-status-tag { margin-top: 2px; }
.project-detail-meta { margin-top: 15px; padding-top: 13px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; border-top: 1px solid #eef2f7; }
.project-detail-meta > div { min-width: 0; display: grid; gap: 4px; }
.project-detail-meta small { color: #8490a2; font-size: 11px; }
.project-detail-meta strong { overflow: hidden; color: #40506a; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.project-overview-progress { margin-top: 14px; display: grid; gap: 6px; }
.project-overview-progress .progress { height: 6px; }
.project-detail-layout { margin-top: 12px; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .8fr); align-items: start; gap: 12px; }
.project-detail-main, .project-detail-sidebar { min-width: 0; display: grid; gap: 12px; }
.project-panel-summary { color: #7b8799; font-size: 11px; white-space: nowrap; }
.project-stage-list { padding: 0 18px 7px; }
.project-stage-row { min-height: 56px; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 10px; border-top: 1px solid #f0f3f8; }
.project-stage-row:first-child { border-top: 0; }
.project-stage-number { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid #dfe6ef; border-radius: 50%; color: #8490a2; background: #fff; font-size: 11px; font-weight: 700; }
.project-stage-row--done .project-stage-number { color: var(--ip-success); border-color: #bfe8d1; background: #effbf4; }
.project-stage-row--current .project-stage-number { color: #fff; border-color: var(--ip-primary); background: var(--ip-primary); box-shadow: 0 4px 8px var(--ip-primary-shadow-soft); }
.project-stage-row > div { min-width: 0; display: grid; gap: 3px; }
.project-stage-row strong { overflow: hidden; color: #33435c; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.project-stage-row small { overflow: hidden; color: #8290a3; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.project-stage-state { color: #8995a6; font-size: 11px; white-space: nowrap; }
.project-stage-row--done .project-stage-state { color: var(--ip-success); font-weight: 700; }
.project-stage-row--current .project-stage-state { color: var(--ip-primary); font-weight: 700; }
.project-task-list { padding: 0 18px 7px; }
.project-task-list article { min-height: 53px; display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 9px; border-top: 1px solid #f0f3f8; }
.project-task-list article:first-child { border-top: 0; }
.project-task-icon { width: 19px; height: 19px; display: grid; place-items: center; border: 1px solid #dfe6ef; border-radius: 50%; color: #9aa5b5; font-size: 11px; }
.project-task-icon--done { color: var(--ip-success); border-color: #bfe8d1; background: #effbf4; }
.project-task-icon--active { color: var(--ip-primary); border-color: var(--ip-primary-border); background: var(--ip-primary-soft); }
.project-task-list article > div { min-width: 0; display: grid; gap: 3px; }
.project-task-list strong { overflow: hidden; color: #33435c; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.project-task-list small { overflow: hidden; color: #8290a3; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.project-task-type { color: #8490a2; font-size: 11px; white-space: nowrap; }
.project-blocker-item { margin: 0 18px 18px; padding: 12px; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 9px; border: 1px solid #f2e2bd; border-radius: 9px; background: #fffaf0; }
.project-blocker-icon { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: #b47b13; background: #fff0cb; font-size: 13px; }
.project-blocker-item > div { min-width: 0; display: grid; gap: 4px; }
.project-blocker-item strong { color: #6d5422; font-size: 11px; }
.project-blocker-item p { margin: 0; color: #8c7443; font-size: 11px; line-height: 1.4; }
.project-blocker-item small { color: #aa8b4e; font-size: 11px; }
.project-activity-list { padding: 0 18px 10px; }
.project-activity-list article { min-height: 48px; display: grid; grid-template-columns: 38px 22px minmax(0, 1fr); align-items: center; gap: 8px; border-top: 1px solid #f0f3f8; }
.project-activity-list article:first-child { border-top: 0; }
.project-activity-list time { color: #8490a2; font-size: 11px; text-align: right; white-space: nowrap; }
.project-activity-marker { width: 20px; height: 20px; display: grid; place-items: center; border: 1px solid #dfe6ef; border-radius: 50%; color: #8490a2; background: #fff; font-size: 11px; }
.project-activity-marker--primary { color: var(--ip-primary); border-color: var(--ip-primary-border); background: var(--ip-primary-soft); }
.project-activity-list article > div { min-width: 0; display: grid; gap: 3px; }
.project-activity-list strong { overflow: hidden; color: #40506a; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.project-activity-list small { overflow: hidden; color: #8490a2; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }

/* Novo projeto: modal com o mesmo cabeçalho, área rolável e rodapé fixo. */
.new-project-modal { width: min(760px, calc(100% - 32px)); max-height: calc(100vh - 28px); overflow: hidden; }
.new-project-modal > form { min-height: 0; max-height: calc(100vh - 28px); display: flex; flex-direction: column; }
.new-project-modal .dialog-header, .new-project-modal .dialog-actions { flex: 0 0 auto; }
.new-project-body { min-height: 0; padding: 16px 22px 8px; gap: 13px; overflow-y: auto; }
.new-project-body .dialog-grid { gap: 12px; }
.new-project-body textarea { min-height: 78px; }

@media (max-width: 900px) {
  .project-detail-layout { grid-template-columns: 1fr; }
  .project-detail-meta { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .project-detail-actions { gap: 5px; }
  .project-detail-actions .secondary-action { padding-right: 9px; padding-left: 9px; }
  .project-detail-actions .primary-action { padding-right: 10px; padding-left: 10px; }
  .project-overview-panel { padding-right: 14px; padding-left: 14px; }
  .project-overview-heading { gap: 8px; }
  .project-overview-identity p { white-space: normal; }
  .project-detail-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
  .project-stage-list, .project-task-list, .project-activity-list { padding-right: 14px; padding-left: 14px; }
  .project-blocker-item { margin-right: 14px; margin-left: 14px; }
  .new-project-modal { width: calc(100% - 18px); max-height: calc(100vh - 18px); }
  .new-project-modal > form { max-height: calc(100vh - 18px); }
  .new-project-body { padding-right: 14px; padding-left: 14px; }
  .new-project-body .dialog-grid { grid-template-columns: 1fr; gap: 13px; }
}

/* Projeto: acompanhamento operacional com etapas como eixo principal. */
.project-page-heading .heading-line { align-items: center; gap: 8px; }
.project-page-heading h1 { font-size: 26px; white-space: nowrap; }
.project-page-heading .project-status-tag { padding: 4px 8px; gap: 5px; font-size: 11px; }
.project-page-heading .project-status-tag i { font-size: 11px; }
.project-operational-summary {
  min-height: 76px;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1.05fr 1fr 1.15fr 1.15fr .72fr .9fr;
  align-items: stretch;
}
.project-operational-item {
  min-width: 0;
  padding: 13px 12px;
  display: flex;
  align-items: center;
  gap: 9px;
  border-left: 1px solid #eef2f7;
}
.project-operational-item:first-child { padding-left: 0; border-left: 0; }
.project-operational-item:last-child { padding-right: 0; }
.project-operational-icon {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 9px;
  color: var(--ip-primary);
  background: var(--ip-primary-soft);
  font-size: 13px;
}
.project-operational-icon--success { color: var(--ip-success); background: #effbf4; }
.project-operational-icon--warning { color: #b47b13; background: #fff6df; }
.project-operational-item > div { min-width: 0; display: grid; gap: 3px; }
.project-operational-item small { overflow: hidden; color: #8490a2; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.project-operational-item strong { overflow: hidden; color: #33435c; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.project-deadline-status { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.project-deadline-status--success { color: var(--ip-success) !important; }
.project-deadline-status--attention { color: #b47b13 !important; }
.project-deadline-status--danger { color: var(--ip-danger) !important; }
.project-progress-inline { min-width: 0; display: flex; align-items: center; gap: 7px; }
.project-progress-inline .progress { min-width: 52px; height: 5px; }
.project-progress-inline strong { flex: 0 0 auto; color: var(--ip-primary); }

.project-tracking-layout {
  margin-top: 12px;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(285px, .62fr);
  align-items: start;
  gap: 12px;
}
.project-tracking-main { min-width: 0; display: grid; gap: 12px; }
.project-stage-board { overflow: hidden; }
.project-stage-sections { padding: 0 18px 8px; }
.project-stage-section { border-top: 1px solid #eef2f7; }
.project-stage-editable { cursor: pointer; transition: background-color .15s ease; }
.project-stage-editable:hover { background: #fbfcff; }
.project-stage-editable:focus-visible { outline: 2px solid var(--ip-primary); outline-offset: -2px; }
.project-stage-editable .project-stage-header { grid-template-columns: 27px minmax(0, 1fr) auto 80px; }
.project-stage-section:first-child { border-top: 0; }
.project-stage-header {
  min-height: 53px;
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr) auto 68px;
  align-items: center;
  gap: 10px;
}
.project-stage-number {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border: 1px solid #dfe6ef;
  border-radius: 50%;
  color: #8490a2;
  background: #fff;
  font-size: 11px;
  font-weight: 700;
}
.project-stage-copy { min-width: 0; display: grid; gap: 2px; }
.project-stage-copy strong { overflow: hidden; color: #33435c; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.project-stage-copy small { overflow: hidden; color: #8490a2; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.project-stage-tasks-count { color: #748197; font-size: 11px; font-weight: 600; white-space: nowrap; }
.project-stage-badge {
  min-width: 60px;
  padding: 4px 7px;
  justify-self: end;
  border-radius: 999px;
  color: #8490a2;
  background: #f1f4f8;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
.project-stage-section--done .project-stage-number { color: var(--ip-success); border-color: #bfe8d1; background: #effbf4; }
.project-stage-badge--done { color: var(--ip-success); background: #effbf4; }
.project-stage-section--future .project-stage-copy,
.project-stage-section--future .project-stage-tasks-count { opacity: .78; }
.project-stage-section--current {
  margin: 4px -7px;
  padding: 0 7px 7px;
  border: 1px solid var(--ip-primary-border);
  border-radius: var(--radius-box);
  background: #fbfdff;
  box-shadow: 0 5px 15px rgba(0, 81, 250, .045);
}
.project-stage-section--current + .project-stage-section { border-top: 0; }
.project-stage-section--current .project-stage-number { color: #fff; border-color: var(--ip-primary); background: var(--ip-primary); }
.project-stage-section--current .project-stage-copy strong { color: var(--ip-primary); }
.project-stage-badge--current { color: var(--ip-primary); background: var(--ip-primary-soft); }

.project-current-tasks { margin-left: 37px; border-top: 1px solid #e8eef7; }
.project-current-task {
  min-height: 45px;
  display: grid;
  grid-template-columns: 21px minmax(0, 1fr) 112px;
  align-items: center;
  gap: 8px;
  border-top: 1px solid #eef2f7;
}
.project-current-task:first-child { border-top: 0; }
.project-task-status-icon {
  width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  border: 1px solid #dfe6ef;
  border-radius: 50%;
  color: #9aa5b5;
  background: #fff;
  font-size: 11px;
}
.project-current-task > div { min-width: 0; display: grid; gap: 2px; }
.project-current-task strong { overflow: hidden; color: #40506a; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.project-current-task small { overflow: hidden; color: #8490a2; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.project-task-owner { overflow: hidden; color: #68778e; font-size: 11px; font-weight: 600; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.project-current-task--done .project-task-status-icon { color: var(--ip-success); border-color: #bfe8d1; background: #effbf4; }
.project-current-task--done strong { color: #6f7d91; text-decoration: line-through; }
.project-current-task--active .project-task-status-icon { color: var(--ip-primary); border-color: var(--ip-primary-border); background: var(--ip-primary-soft); }
.project-current-task--active strong { color: var(--ip-primary); }
.project-current-task--waiting .project-task-status-icon { color: #b47b13; border-color: #efd9a8; background: #fff6df; }
.project-current-task--waiting strong { color: #806222; }

.project-next-actions-panel { overflow: hidden; }
.project-next-actions { padding: 0 18px 8px; }
.project-next-actions article {
  min-height: 53px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 130px 64px;
  align-items: center;
  gap: 9px;
  border-top: 1px solid #eef2f7;
}
.project-next-actions article:first-child { border-top: 0; }
.project-next-action-order { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 7px; color: var(--ip-primary); background: var(--ip-primary-soft); font-size: 11px; font-weight: 800; }
.project-next-action-order--warning { color: #b47b13; background: #fff6df; }
.project-next-actions article > div { min-width: 0; display: grid; gap: 2px; }
.project-next-actions strong { overflow: hidden; color: #33435c; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.project-next-actions small { overflow: hidden; color: #8490a2; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.project-next-action-owner { min-width: 0; display: inline-flex; align-items: center; gap: 6px; color: #65748b; font-size: 11px; font-weight: 600; white-space: nowrap; }
.project-next-actions .mini-avatar,
.project-team-list .mini-avatar {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 50%;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}
.project-next-actions .mini-avatar img,
.project-team-list .mini-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }
.project-next-actions time { color: #65748b; font-size: 11px; font-weight: 700; text-align: right; white-space: nowrap; }

.project-side-panel { display: grid; gap: 12px; }
.project-side-section { padding: 15px 16px; }
.project-side-heading { margin-bottom: 11px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.project-side-heading h2 { margin: 0; color: var(--ip-text); font-size: 12px; font-weight: 700; }
.project-side-heading > i { color: var(--ip-primary); font-size: 13px; }
.project-side-summary { margin: 0; display: grid; gap: 8px; }
.project-side-summary > div { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.project-side-summary dt { color: #8490a2; font-size: 11px; font-weight: 500; }
.project-side-summary dd { overflow: hidden; margin: 0; color: #40506a; font-size: 11px; font-weight: 700; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.project-side-blocker { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 9px; }
.project-side-blocker > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: #b47b13; background: #fff6df; font-size: 12px; }
.project-side-blocker > div { min-width: 0; display: grid; gap: 3px; }
.project-side-blocker strong { color: #6d5422; font-size: 11px; }
.project-side-blocker p { margin: 0; color: #86724a; font-size: 11px; line-height: 1.35; }
.project-side-blocker small { color: #aa8b4e; font-size: 11px; }
.project-team-list { display: grid; gap: 9px; }
.project-team-list article { min-width: 0; display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; gap: 8px; }
.project-team-list article > div { min-width: 0; display: grid; gap: 2px; }
.project-team-list strong { overflow: hidden; color: #40506a; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.project-team-list small { overflow: hidden; color: #8490a2; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.project-side-activity { display: grid; }
.project-side-activity article { min-height: 43px; display: grid; grid-template-columns: 8px minmax(0, 1fr); align-items: center; gap: 8px; }
.project-side-activity time { flex: 0 0 auto; order: -1; color: #8490a2; font-size: 10px; text-align: left; white-space: nowrap; }
.project-side-activity article > .project-side-activity-marker { position: relative; width: 6px; height: 6px; border-radius: 50%; background: var(--ip-primary); }
.project-side-activity article > .project-side-activity-marker::after { position: absolute; top: 9px; bottom: -34px; left: 2px; width: 1px; background: #dfe6ef; content: ""; }
.project-side-activity article:last-child > .project-side-activity-marker::after { display: none; }
.project-side-activity article > div { min-width: 0; display: grid; gap: 2px; }
.project-side-activity strong { overflow: hidden; color: #40506a; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.project-side-activity small { min-width: 0; min-height: 20px; display: flex; align-items: center; gap: 7px; overflow: hidden; color: #8490a2; font-size: 11px; line-height: 20px; text-overflow: ellipsis; white-space: nowrap; }
.project-side-activity-actor { min-width: 0; margin-left: auto; display: inline-flex; align-items: center; gap: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-side-activity .activity-actor-avatar { width: 20px; min-width: 20px; height: 20px; display: inline-grid; place-items: center; flex: 0 0 20px; overflow: hidden; border-radius: 50%; font-size: 8px; line-height: 1; }
.project-side-activity .activity-actor-avatar--system { color: var(--ip-primary); background: var(--ip-primary-soft); box-shadow: none; }
.project-side-activity .activity-actor-avatar--system i { font-size: 10px; }

/* Projetos: mesmo respiro do cabeçalho usado em Meu Trabalho. */
.projects-toolbar { padding: 18px 18px 15px; align-items: flex-start; gap: 20px; border-bottom: 0; }
.projects-list-heading { min-width: 0; flex: 1 1 auto; }
.projects-tools { min-width: 0; padding: 0; }

.project-detail-page .panel-subtitle,
.project-detail-page .project-panel-summary,
.project-detail-page .panel-count,
.project-detail-page .project-status-tag,
.project-detail-page .project-operational-item small,
.project-detail-page .project-operational-item strong,
.project-detail-page .project-deadline-status,
.project-detail-page .project-stage-number,
.project-detail-page .project-stage-copy strong,
.project-detail-page .project-stage-copy small,
.project-detail-page .project-stage-tasks-count,
.project-detail-page .project-stage-badge,
.project-detail-page .project-current-task strong,
.project-detail-page .project-current-task small,
.project-detail-page .project-task-owner,
.project-detail-page .project-next-action-order,
.project-detail-page .project-next-actions strong,
.project-detail-page .project-next-actions small,
.project-detail-page .project-next-action-owner,
.project-detail-page .project-next-actions time,
.project-detail-page .project-next-actions .mini-avatar,
.project-detail-page .project-team-list .mini-avatar,
.project-detail-page .project-side-summary dt,
.project-detail-page .project-side-summary dd,
.project-detail-page .project-side-blocker strong,
.project-detail-page .project-side-blocker p,
.project-detail-page .project-side-blocker small,
.project-detail-page .project-team-list strong,
.project-detail-page .project-team-list small,
.project-detail-page .project-side-activity time,
.project-detail-page .project-side-activity strong,
.project-detail-page .project-side-activity small { font-size: 11px; }
.project-detail-page .project-side-activity time { font-size: 10px; }

@media (max-width: 1180px) {
  .project-operational-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .project-operational-item:nth-child(4) { padding-left: 0; border-left: 0; border-top: 1px solid #eef2f7; }
  .project-operational-item:nth-child(5),
  .project-operational-item:nth-child(6) { border-top: 1px solid #eef2f7; }
  .project-tracking-layout { grid-template-columns: 1fr; }
  .project-side-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .project-tracking-layout { grid-template-columns: 1fr; }
  .project-side-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .project-page-heading .project-status-tag { display: none; }
  .project-page-heading h1 { font-size: 22px; white-space: normal; }
  .project-detail-actions .secondary-action {
    width: 40px;
    min-width: 40px;
    padding: 0;
    justify-content: center;
    font-size: 0;
  }
  .project-detail-actions .secondary-action i { margin: 0; font-size: 13px; }
  .project-operational-summary { padding: 0 13px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-operational-item,
  .project-operational-item:nth-child(4) { padding: 11px 8px; border-top: 1px solid #eef2f7; border-left: 1px solid #eef2f7; }
  .project-operational-item:nth-child(odd) { padding-left: 0; border-left: 0; }
  .project-operational-item:nth-child(-n+2) { border-top: 0; }
  .project-stage-sections,
  .project-next-actions { padding-right: 13px; padding-left: 13px; }
  .project-stage-header { min-height: 58px; grid-template-columns: 27px minmax(0, 1fr) auto; gap: 8px; }
  .project-stage-tasks-count { grid-column: 2; }
  .project-stage-badge { grid-column: 3; grid-row: 1 / span 2; }
  .project-current-tasks { margin-left: 0; }
  .project-current-task { grid-template-columns: 21px minmax(0, 1fr); padding: 6px 0; }
  .project-task-owner { grid-column: 2; text-align: left; }
  .project-next-actions article { grid-template-columns: 24px minmax(0, 1fr) auto; padding: 7px 0; }
  .project-next-action-owner { grid-column: 2; }
  .project-next-actions time { grid-column: 3; grid-row: 1 / span 2; }
  .project-side-panel { display: block; }
  .project-side-section + .project-side-section { margin-top: 12px; }
}

/* Clientes e serviços: extensões do padrão de Meu Trabalho. */
.directory-dashboard { margin-top: var(--module-heading-gap); }
.directory-panel { overflow: hidden; }
.directory-client-filter + .select2-container { width: 170px !important; flex: 0 0 170px; }
.directory-table { min-width: 1080px; table-layout: fixed; }
.directory-table th, .directory-table td { min-width: 0; vertical-align: middle; }
.clients-table th:first-child, .clients-table td:first-child { width: 23%; }
.clients-table th:nth-child(2), .clients-table td:nth-child(2) { width: 18%; }
.clients-table th:nth-child(3), .clients-table td:nth-child(3) { width: 11%; }
.clients-table th:nth-child(4), .clients-table td:nth-child(4) { width: 13%; }
.clients-table th:nth-child(5), .clients-table td:nth-child(5) { width: 19%; }
.clients-table th:nth-child(6), .clients-table td:nth-child(6) { width: 16%; }
.services-table th:first-child, .services-table td:first-child { width: 24%; }
.services-table th:nth-child(2), .services-table td:nth-child(2) { width: 15%; }
.services-table th:nth-child(3), .services-table td:nth-child(3) { width: 20%; }
.services-table th:nth-child(4), .services-table td:nth-child(4) { width: 16%; }
.services-table th:nth-child(5), .services-table td:nth-child(5) { width: 13%; }
.services-table th:nth-child(6), .services-table td:nth-child(6) { width: 16%; }
.directory-table tbody .directory-table-row { cursor: pointer; }
.directory-table tbody .directory-table-row:hover td { background: #fbfdff; }
.directory-table tbody .directory-table-row td { height: 54px; padding-top: 11px; padding-bottom: 11px; }
.directory-identity { min-width: 0; max-width: 100%; display: inline-flex; align-items: center; gap: 8px; }
.directory-identity > span:last-child, .directory-contact, .directory-client-cell, .directory-service-profile, .directory-hours { min-width: 0; display: grid; gap: 2px; }
.directory-identity strong { overflow: hidden; color: #263650; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.directory-contact strong, .directory-client-cell strong, .directory-service-profile strong, .directory-hours strong { overflow: hidden; color: #3c4b63; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.directory-identity small, .directory-contact small, .directory-client-cell small, .directory-service-profile small, .directory-hours small { overflow: hidden; color: #7b8799; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.directory-avatar { width: 36px; height: 36px; display: inline-grid; place-items: center; flex: 0 0 auto; overflow: hidden; border-radius: 50%; color: #fff; font-size: 11px; font-weight: 800; }
.directory-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }
.directory-avatar i { font-size: 13px; }
.settings-group-avatar { width: 36px; height: 36px; }
.settings-group-avatar i { font-size: 13px; }
.directory-avatar--blue { background: var(--ip-primary); }
.directory-avatar--orange { background: #e89227; }
.directory-avatar--violet { background: #6646bd; }
.directory-avatar--green { background: #16a96a; }
.directory-avatar--slate { background: #65758d; }
.directory-number { color: #3c4b63; font-size: 12px; font-weight: 700; line-height: 1.2; }
.directory-number--muted { color: #9aa6b7; }
.directory-cell-note { display: block; margin-top: 1px; color: #8490a2; font-size: 10px; }
.directory-inline-status { display: inline-flex; max-width: 100%; overflow: hidden; color: #4e6079; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.directory-inline-status--active { color: var(--ip-primary); }
.directory-inline-status--waiting { color: #b47b13; }
.directory-inline-status--muted { color: #8490a2; }
.directory-row-actions { display: flex; align-items: center; gap: 6px; }
.directory-status { padding: 4px 8px; display: inline-flex; align-items: center; border-radius: 999px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.directory-status--active { color: #087f55; background: #e9f8f0; }
.directory-status--inactive { color: var(--ip-danger); background: #fff0f1; }
.directory-status--attention { color: var(--ip-danger); background: #fff0f1; }
.directory-footer { min-height: 48px; }
.directory-footer span { display: inline-flex; align-items: center; gap: 5px; }
.directory-footer i { margin: 0; color: var(--ip-primary); }
.directory-view-modal, .directory-form-modal { width: min(700px, calc(100% - 32px)); max-height: calc(100vh - 28px); overflow: hidden; }
.directory-form-modal { height: min(700px, calc(100vh - 28px)); }
.directory-view-modal .dialog-header, .directory-view-modal .dialog-actions, .directory-form-modal .dialog-header, .directory-form-modal .dialog-actions { flex: 0 0 auto; }
.directory-view-body, .directory-form-body { min-height: 0; padding: 16px 22px 8px; gap: 13px; overflow-y: auto; }
.directory-view-body { max-height: calc(100vh - 155px); }
.directory-view-identity { min-width: 0; padding: 0 0 12px; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid #eef2f7; }
.directory-view-identity > div { min-width: 0; flex: 1; display: grid; gap: 3px; }
.directory-view-identity strong { overflow: hidden; color: #33435c; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.directory-view-identity small { overflow: hidden; color: #728097; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.directory-view-identity .directory-avatar { width: 38px; height: 38px; border-radius: 50%; font-size: 11px; }
.directory-meta-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-bottom: 1px solid #eef2f7; }
.directory-meta-grid.service-meta-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.directory-meta-grid > div { min-width: 0; padding: 0 12px 12px; display: grid; gap: 3px; border-left: 1px solid #eef2f7; }
.directory-meta-grid > div:first-child { padding-left: 0; border-left: 0; }
.directory-meta-grid small { color: #8490a2; font-size: 10px; }
.directory-meta-grid strong { overflow: hidden; color: #40506a; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.directory-view-section { min-width: 0; padding-top: 12px; border-top: 1px solid #eef2f7; }
.directory-view-section + .directory-view-section { margin-top: 1px; }
.directory-meta-grid + .directory-view-section { border-top: 0; }
.directory-section-heading { min-width: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.directory-section-heading > div { min-width: 0; display: flex; align-items: baseline; gap: 6px; }
.directory-section-heading-actions { min-width: 0; display: flex; align-items: center; gap: 8px; }
.directory-add-contact-button { min-height: 28px; padding: 5px 9px; font-size: 10px; }
.directory-section-kicker { color: var(--ip-primary); font-size: 10px; font-weight: 700; }
.directory-section-heading h3 { margin: 0; color: #3c4b63; font-size: 12px; font-weight: 700; }
.directory-section-caption { overflow: hidden; color: #8490a2; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.directory-now-grid, .service-demand-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-bottom: 1px solid #eef2f7; }
.directory-now-item, .service-demand-summary > div { min-width: 0; padding: 0 10px 11px; border-left: 1px solid #eef2f7; background: transparent; }
.directory-now-item:first-child, .service-demand-summary > div:first-child { padding-left: 0; border-left: 0; }
.directory-now-item { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 6px; }
.directory-now-item > i { color: var(--ip-primary); font-size: 12px; }
.directory-now-item--waiting > i { color: #b47b13; }
.directory-now-item--attention > i { color: var(--ip-danger); }
.directory-now-item span { overflow: hidden; color: #52627a; font-size: 11px; font-weight: 600; line-height: 1.3; text-overflow: ellipsis; }
.directory-view-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.directory-view-columns .directory-view-section + .directory-view-section { margin-top: 0; }
.directory-linked-list, .directory-history-list { display: grid; gap: 0; }
.directory-linked-item { min-width: 0; padding: 7px 0; display: flex; align-items: center; gap: 7px; border-bottom: 1px solid #f0f3f8; color: #4e6079; font-size: 11px; }
.directory-linked-item:last-child { border-bottom: 0; }
.directory-linked-item i { color: var(--ip-primary); font-size: 12px; }
.directory-linked-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.directory-linked-item--empty { color: #8b97a7; }
.directory-resource-list { display: grid; gap: 0; }
.directory-resource-item { min-width: 0; min-height: 42px; padding: 7px 0; display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 7px; border-bottom: 1px solid #f0f3f8; }
.directory-resource-item:last-child { border-bottom: 0; }
.directory-resource-item > i { color: var(--ip-primary); font-size: 12px; }
.directory-resource-item > div { min-width: 0; display: grid; gap: 2px; }
.directory-resource-item strong { overflow: hidden; color: #40506a; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.directory-resource-item small { overflow: hidden; color: #8490a2; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.directory-resource-status, .directory-contact-status { display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
.directory-resource-status { padding: 3px 6px; border-radius: 999px; color: #65748b; background: #f0f3f7; font-size: 9px; font-weight: 700; }
.directory-resource-status--active { color: var(--ip-primary); background: var(--ip-primary-soft); }
.directory-resource-status--waiting { color: #a57217; background: #fff5dc; }
.directory-resource-status--done { color: #6c7a8e; background: #f0f3f7; }
.directory-contacts-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.directory-contact-item { min-width: 0; min-height: 50px; padding: 7px 8px; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 7px; border: 1px solid #eef2f7; border-radius: var(--radius-control); background: #fbfdff; }
.directory-contact-item > div { min-width: 0; display: grid; gap: 2px; }
.directory-contact-item strong { overflow: hidden; color: #40506a; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.directory-contact-item small { overflow: hidden; color: #8490a2; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.directory-contact-avatar { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: var(--ip-primary); background: var(--ip-primary-soft); font-size: 9px; font-weight: 800; }
.directory-contact-status { grid-column: 2; justify-self: start; color: #6b7b91; font-size: 9px; }
.directory-edit-contact-button { grid-column: 3; grid-row: 1 / span 2; width: 26px; height: 26px; }
.directory-edit-contact-button i { font-size: 11px; }
.client-contact-modal { z-index: 27; }
.directory-history-item { min-width: 0; display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 7px; }
.directory-history-item > i { color: var(--ip-primary); font-size: 11px; }
.directory-history-item span { overflow: hidden; padding: 7px 0; border-bottom: 1px solid #f0f3f8; color: #56657c; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.directory-history-item:last-child span { border-bottom: 0; }
.directory-view-note { margin: 8px 0 0; display: flex; align-items: flex-start; gap: 6px; color: #7b8799; font-size: 11px; line-height: 1.4; }
.directory-view-note i { margin-top: 1px; color: var(--ip-primary); }
.directory-consumption-track { height: 6px; overflow: hidden; border-radius: 999px; background: #edf2f7; }
.directory-consumption-track span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--ip-primary-gradient-start), var(--ip-primary-gradient-end)); }
.service-demand-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.service-demand-summary > div { display: grid; gap: 2px; text-align: left; }
.service-demand-summary strong { color: #3c4b63; font-size: 13px; line-height: 1; }
.service-demand-summary small { color: #8490a2; font-size: 10px; }
.service-scope-note { padding-top: 11px; border-top: 1px solid #eef2f7; }
.directory-form-modal > form { height: 100%; min-height: 0; max-height: calc(100vh - 28px); display: flex; flex-direction: column; }
.directory-form-modal .directory-form-body { min-height: 0; flex: 1 1 auto; overflow-y: auto; }
.directory-form-body textarea { min-height: 78px; }
.directory-form-note { margin: -2px 0 0; display: flex; align-items: flex-start; gap: 6px; color: #7d8a9d; font-size: 11px; line-height: 1.4; }
.directory-form-note i { margin-top: 1px; color: var(--ip-primary); }

@media (max-width: 1320px) {
  .directory-toolbar .directory-tools { width: 100%; flex-wrap: wrap; }
  .directory-toolbar .directory-search { width: auto; flex: 1 1 280px; }
}
@media (max-width: 900px) {
  .directory-view-columns { grid-template-columns: 1fr; gap: 0; }
  .directory-view-columns .directory-view-section + .directory-view-section { margin-top: 1px; }
  .directory-meta-grid.service-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 0; }
  .directory-meta-grid.service-meta-grid > div:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width: 620px) {
  .directory-client-filter + .select2-container { width: 100% !important; flex: 1 1 100%; }
  .directory-table { min-width: 1080px; }
  .directory-footer { align-items: flex-start; flex-direction: column; gap: 5px; padding-top: 9px; padding-bottom: 9px; }
  .directory-view-modal, .directory-form-modal { width: calc(100% - 18px); max-height: calc(100vh - 18px); }
  .directory-form-modal { height: calc(100vh - 18px); }
  .directory-form-modal > form { max-height: calc(100vh - 18px); }
  .directory-view-body, .directory-form-body { max-height: calc(100vh - 145px); padding-right: 14px; padding-left: 14px; }
  .directory-meta-grid, .directory-meta-grid.service-meta-grid, .directory-now-grid { grid-template-columns: 1fr; gap: 0; }
  .directory-meta-grid > div, .directory-meta-grid > div:first-child, .directory-now-item, .directory-now-item:first-child { padding: 0 0 10px; border-left: 0; }
  .directory-meta-grid > div + div, .directory-now-item + .directory-now-item { padding-top: 10px; border-top: 1px solid #eef2f7; }
  .service-demand-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 0; }
  .service-demand-summary > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .directory-view-identity { align-items: flex-start; flex-wrap: wrap; }
  .directory-view-identity > div { flex-basis: calc(100% - 50px); }
  .directory-view-identity > .directory-status { margin-left: 42px; }
  .directory-form-modal .dialog-grid { grid-template-columns: 1fr; gap: 13px; }
  .directory-section-heading-actions { align-items: flex-end; flex-direction: column; gap: 4px; }
  .directory-contacts-list { grid-template-columns: 1fr; }
}

/* Projetos unificados: entrega e atendimento usam a mesma estrutura-base. */
.projects-tools--unified { flex-wrap: wrap; justify-content: flex-end; }
.projects-tools--unified .projects-search { flex: 1 1 220px; }
.projects-tools > #projectsModalityFilter + .select2-container { width: 170px !important; flex: 0 0 170px; }
@media (min-width: 1181px) {
  .projects-toolbar .projects-list-heading { max-width: 320px; flex: 0 1 320px; }
  .projects-tools--unified { flex: 1 1 auto; flex-wrap: nowrap; }
  .projects-tools--unified .projects-search { width: auto; min-width: 220px; flex: 1 1 260px; }
}
.projects-table--unified { min-width: 0; table-layout: fixed; }
.projects-table--unified th, .projects-table--unified td { padding-right: 8px; padding-left: 8px; }
.projects-table--unified th:first-child, .projects-table--unified td:first-child { width: 26%; padding-left: 18px; }
.projects-table--unified th:nth-child(2), .projects-table--unified td:nth-child(2) { width: 15%; }
.projects-table--unified th:nth-child(3), .projects-table--unified td:nth-child(3) { width: 16%; }
.projects-table--unified th:nth-child(4), .projects-table--unified td:nth-child(4) { width: 20%; }
.projects-table--unified th:nth-child(5), .projects-table--unified td:nth-child(5) { width: 13%; }
.projects-table--unified th:nth-child(6), .projects-table--unified td:nth-child(6) { width: 10%; padding-right: 12px; }
.project-deadline-caption { margin-top: 3px; display: block; color: #8a96a8; font-size: 10px; line-height: 1.2; }
.project-category-tag--continuous { color: #087f69; border-color: #b8e5d9; background: #eefbf7; }
.project-tracking-copy { min-width: 0; display: grid; gap: 3px; }
.project-tracking-copy strong, .project-tracking-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-tracking-copy strong { color: #3b4b63; font-size: 11px; font-weight: 650; }
.project-tracking-copy small { color: #8490a2; font-size: 10px; }
.project-sla-table { display: inline-flex; align-items: center; gap: 4px; color: #3f5069; font-size: 11px; font-weight: 700; }
.project-sla-table--attention { color: var(--ip-danger); }
.project-form-section { display: grid; gap: 11px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.project-form-section + .project-form-section { padding-top: 0; border-top: 0; }
.project-form-section:last-child { padding-bottom: 0; }
.project-date-control { display: flex; min-width: 0; }
.project-date-control input { min-width: 0; border-radius: 8px 0 0 8px !important; cursor: pointer; }
.project-date-control button { width: 42px; flex: 0 0 42px; border: 1px solid #dfe6ef; border-left: 0; border-radius: 0 8px 8px 0; color: var(--ip-primary); background: #f8fbff; transition: background .2s ease, color .2s ease; }
.project-date-control button:hover { color: #fff; background: var(--ip-primary); }
.project-calendar-popover { width: 290px; max-width: calc(100vw - 24px); max-height: calc(100vh - 24px); overflow-y: auto; padding: 12px; position: fixed; z-index: 2100; border: 1px solid #dfe6ef; border-radius: 12px; background: #fff; box-shadow: 0 18px 45px rgba(31, 53, 80, .18); }
.project-calendar-popover[hidden] { display: none; }
.project-calendar-header { display: grid; grid-template-columns: 32px 1fr 32px; align-items: center; margin-bottom: 10px; }
.project-calendar-header strong { color: #31425c; font-size: 12px; text-align: center; }
.project-calendar-header button { width: 32px; height: 32px; border: 0; border-radius: 7px; color: #62718a; background: transparent; }
.project-calendar-header button:hover { color: var(--ip-primary); background: var(--ip-primary-soft); }
.project-calendar-weekdays, .project-calendar-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.project-calendar-weekdays { margin-bottom: 4px; color: #93a0b2; font-size: 10px; font-weight: 700; text-align: center; }
.project-calendar-days span, .project-calendar-day { height: 31px; display: grid; place-items: center; border: 0; border-radius: 7px; font-size: 11px; }
.project-calendar-day { color: #4b5b74; background: transparent; }
.project-calendar-day:hover, .project-calendar-day.is-today { color: var(--ip-primary); background: var(--ip-primary-soft); }
.project-calendar-day.is-selected { color: #fff; background: var(--ip-primary); box-shadow: 0 3px 8px rgba(39, 122, 68, .22); }
.project-calendar-today { width: 100%; margin-top: 10px; padding: 7px; border: 1px solid #dfe6ef; border-radius: 7px; color: var(--ip-primary); background: #fff; font-size: 11px; font-weight: 700; }
.project-calendar-today:hover { background: var(--ip-primary-soft); }
.project-calendar-footer { display: flex; gap: 8px; }
.project-calendar-footer .project-calendar-today { flex: 1; }
.demand-calendar-popover { width: 320px; }
.demand-calendar-time { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #edf1f6; }
.demand-calendar-time label { display: grid; gap: 5px; color: #718099; font-size: 10px; font-weight: 700; }
.demand-calendar-time select { width: 100%; min-width: 0; height: 34px; padding: 0 9px; border: 1px solid #dfe6ef; border-radius: 7px; color: #31425c; background: #fff; font: inherit; font-size: 12px; }
.demand-calendar-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 11px; }
.demand-calendar-actions > div { display: flex; align-items: center; gap: 7px; }
.demand-calendar-clear, .demand-calendar-today { padding: 7px 9px; border: 0; border-radius: 7px; color: var(--ip-primary); background: transparent; font-size: 11px; font-weight: 700; }
.demand-calendar-clear:hover, .demand-calendar-today:hover { background: var(--ip-primary-soft); }
.demand-calendar-actions .primary-action { min-height: 32px; padding: 6px 11px; font-size: 11px; }
.project-support-panel { padding: 16px 18px; }
.project-support-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding: 4px 0 15px; }
.project-support-grid > div { min-width: 0; padding: 0 14px; border-left: 1px solid #edf1f6; }
.project-support-grid > div:first-child { padding-left: 0; border-left: 0; }
.project-support-grid small, .project-consumption-summary small { display: block; color: #8a96a8; font-size: 10px; }
.project-support-grid strong, .project-consumption-summary strong { display: block; margin-top: 3px; color: #36465f; font-size: 12px; }
.project-consumption-summary { display: grid; grid-template-columns: minmax(160px, .45fr) 1fr; align-items: center; gap: 18px; padding: 14px 0; border-top: 1px solid #edf1f6; }
.project-support-note { margin: 0; padding-top: 13px; display: flex; gap: 7px; border-top: 1px solid #edf1f6; color: #6f7d92; font-size: 11px; line-height: 1.45; }
.clients-table th:first-child, .clients-table td:first-child { width: 25%; }
.clients-table th:nth-child(2), .clients-table td:nth-child(2) { width: 23%; }
.clients-table th:nth-child(3), .clients-table td:nth-child(3) { width: 13%; }
.clients-table th:nth-child(4), .clients-table td:nth-child(4) { width: 23%; }
.clients-table th:nth-child(5), .clients-table td:nth-child(5) { width: 16%; }
.legacy-project-redirect { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 12px; padding: 24px; color: #42516a; text-align: center; background: #f6f8fb; }
.legacy-project-redirect > i { color: var(--ip-primary); font-size: 32px; }
.legacy-project-redirect h1, .legacy-project-redirect p { margin: 0; }
.legacy-project-redirect h1 { font-size: 22px; }
.legacy-project-redirect p { color: #7a8799; font-size: 13px; }
.project-context-wrap { display: grid; gap: 2px; }
.project-context-wrap strong { color: #3c4b63; font-size: 11px; }
.project-context-wrap small { color: #8490a2; font-size: 10px; }
.project-stage-progress-wrap { display: grid; gap: 4px; }
.project-stage-progress-line { display: flex; align-items: center; gap: 9px; }
.project-stage-progress-line .progress { min-width: 0; }
.project-stage-progress-wrap > small { overflow: hidden; color: #8490a2; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 900px) {
  .projects-tools > #projectsModalityFilter + .select2-container { width: calc(50% - 4px) !important; flex: 1 1 calc(50% - 4px); }
  .project-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 0; }
  .project-support-grid > div:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width: 620px) {
  .projects-tools--unified .select2-container { width: 100% !important; flex: 1 1 100% !important; }
  .project-support-grid, .project-consumption-summary { grid-template-columns: 1fr; }
  .project-support-grid > div { padding: 10px 0; border-top: 1px solid #edf1f6; border-left: 0; }
  .project-support-grid > div:first-child { padding-top: 0; border-top: 0; }
}

/* Cliente segue a mesma composição de painéis, tabelas e ações das telas aprovadas. */
.client-detail-page > .topbar .project-detail-actions { margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
#clientDetailRoot { display: grid; gap: 12px; margin-top: var(--module-heading-gap); }
.client-operational-summary, .client-detail-section { scroll-margin-top: 20px; }
.client-operational-summary { grid-template-columns: 1.05fr 1.35fr 1.05fr .72fr .72fr .8fr; }
.client-detail-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(285px, .62fr); align-items: start; gap: 12px; }
.client-detail-main, .client-detail-side { min-width: 0; display: grid; gap: 12px; }
.client-detail-section { min-width: 0; }
.client-detail-section .panel-header { min-height: 54px; }
.client-detail-section .panel-header h2 { display: flex; align-items: center; gap: 5px; }
.client-detail-section .panel-header .panel-subtitle { margin-top: 4px; }
.client-detail-table-wrap { overflow: hidden; }
.client-project-table { min-width: 100%; table-layout: fixed; }
.client-project-table th:first-child, .client-project-table td:first-child { width: 25%; }
.client-project-table th:nth-child(2), .client-project-table td:nth-child(2) { width: 18%; }
.client-project-table th:nth-child(3), .client-project-table td:nth-child(3) { width: 27%; }
.client-project-table th:nth-child(4), .client-project-table td:nth-child(4) { width: 17%; }
.client-project-table th:nth-child(5), .client-project-table td:nth-child(5) { width: 13%; }
.client-project-table th, .client-project-table td,
.client-demand-table th, .client-demand-table td { padding-right: 8px; padding-left: 8px; }
.client-project-table th:first-child, .client-project-table td:first-child,
.client-demand-table th:first-child, .client-demand-table td:first-child { padding-left: 18px; }
.client-project-table th:last-child, .client-project-table td:last-child,
.client-demand-table th:last-child, .client-demand-table td:last-child { padding-right: 12px; }
.client-project-table td, .client-demand-table td { overflow: hidden; text-overflow: ellipsis; }
.client-project-link { color: inherit; text-decoration: none; }
.client-project-link:hover strong { color: var(--ip-primary); }
.client-demand-table { min-width: 100%; table-layout: fixed; }
.client-demand-table th:first-child, .client-demand-table td:first-child { width: 35%; }
.client-demand-table th:nth-child(2), .client-demand-table td:nth-child(2) { width: 25%; }
.client-demand-table th:nth-child(3), .client-demand-table td:nth-child(3) { width: 16%; }
.client-demand-table th:nth-child(4), .client-demand-table td:nth-child(4) { width: 14%; }
.client-demand-table th:nth-child(5), .client-demand-table td:nth-child(5) { width: 10%; }
.client-demand-row { cursor: pointer; }
.client-detail-section .directory-contacts-list { grid-template-columns: 1fr; padding: 0 18px 18px; }
.client-detail-section .directory-contact-item { min-height: 50px; grid-template-columns: 28px minmax(0, 1fr) 26px; grid-template-rows: minmax(16px, auto) minmax(16px, auto); column-gap: 8px; row-gap: 2px; }
.client-detail-section .directory-contact-avatar { grid-column: 1; grid-row: 1 / span 2; }
.client-detail-section .directory-contact-item > div { grid-column: 2; grid-row: 1; }
.client-detail-section .directory-contact-status { grid-column: 2; grid-row: 2; justify-self: start; font-size: 10px; line-height: 1.1; }
.client-detail-section .directory-edit-contact-button { grid-column: 3; grid-row: 1 / span 2; justify-self: end; align-self: center; }
.client-detail-section .directory-history-list { padding: 0 18px 15px; }
.client-detail-section .directory-history-item span { padding: 8px 0; white-space: normal; }
.directory-contacts-section .client-contacts-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; column-gap: 8px; row-gap: 2px; }
.client-contacts-header h2 { min-width: 0; align-self: center; }
.client-contacts-header .panel-subtitle { grid-column: 1 / -1; margin-top: 0; }
.client-panel-button { min-height: 25px; padding: 3px 7px; border: 1px solid var(--ip-primary); border-radius: var(--radius-control); color: var(--ip-primary); background: #fff; font-size: 11px; font-weight: 600; }
.directory-contacts-section .client-panel-button { justify-self: end; gap: 4px; white-space: nowrap; }
.client-panel-button:hover { color: var(--ip-primary); border-color: var(--ip-primary-border); background: var(--ip-primary-soft); }
.client-conversation-table { min-width: 100%; table-layout: fixed; }
.client-conversation-table th:first-child { width: 34%; }
.client-conversation-table th:nth-child(2) { width: 31%; }
.client-conversation-table th:nth-child(3) { width: 17%; }
.client-conversation-table th:last-child { width: 18%; }
.client-conversation-table td { overflow: hidden; text-overflow: ellipsis; }
.client-conversation-table td form { margin: 0; }
.client-conversation-action { min-height: 32px; padding: 6px 10px; white-space: nowrap; }

@media (max-width: 1180px) {
  .client-operational-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .client-detail-layout { grid-template-columns: 1fr; }
  .client-detail-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .client-operational-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .client-detail-page > .topbar .project-detail-actions { width: 100%; justify-content: flex-start; }
  .client-detail-side { grid-template-columns: 1fr; }
  .client-detail-section .panel-header { align-items: flex-start; }
  .client-detail-section .panel-header .panel-link { margin-top: 3px; }
}
@media (max-width: 620px) {
  .client-detail-table-wrap { overflow-x: auto; }
  .client-project-table, .client-demand-table, .client-conversation-table { min-width: 620px; }
}

/* Base única das listagens operacionais. As telas específicas definem apenas
   largura de colunas, responsividade e componentes que realmente diferem. */
.inbox-toolbar h2,
.work-list-heading h2,
.projects-list-heading h2 {
  margin: 0;
  color: var(--ip-text);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
}
.inbox-toolbar p,
.work-list-heading p,
.projects-list-heading p {
  margin-top: 5px;
  color: var(--ip-muted);
  font-size: 12px;
  font-weight: 400;
}
.inbox-tab,
.work-tab,
.directory-tab,
.project-tab,
.inbox-tab b,
.work-tab b,
.directory-tab b,
.project-tab b,
.work-list-note,
.inbox-footer,
.work-panel-footer,
.directory-footer { font-size: 12px; }

.data-table th,
.data-table td,
.data-table td > strong,
.data-table .row-subline,
.data-table .relative-time,
.data-table .assigned-label,
.data-table .unassigned-label,
.data-table .sla-pill,
.data-table .work-title-copy strong,
.data-table .work-status-tag,
.data-table .directory-identity strong,
.data-table .directory-identity small,
.data-table .directory-contact strong,
.data-table .directory-contact small,
.data-table .directory-client-cell strong,
.data-table .directory-client-cell small,
.data-table .directory-service-profile strong,
.data-table .directory-service-profile small,
.data-table .directory-hours strong,
.data-table .directory-hours small,
.data-table .directory-number,
.data-table .directory-cell-note,
.data-table .directory-inline-status,
.data-table .directory-status,
.data-table .project-table-identity strong,
.data-table .project-table-identity small,
.data-table .project-category-tag,
.data-table .project-person,
.data-table .project-stage,
.data-table .project-table-progress b,
.data-table .project-deadline-table,
.data-table .project-deadline-caption,
.data-table .project-tracking-copy strong,
.data-table .project-tracking-copy small,
.data-table .project-sla-table,
.data-table .project-status-tag { font-size: 12px; }
.data-table th { font-weight: 600; }
.data-table td { font-weight: 400; }
.data-table td:first-child,
.data-table td > strong,
.data-table .directory-identity strong,
.data-table .directory-contact strong,
.data-table .project-table-identity strong,
.data-table .work-title-copy strong { font-weight: 600; }
.data-table .row-subline,
.data-table .directory-identity small,
.data-table .directory-contact small,
.data-table .project-table-identity small,
.data-table .project-tracking-copy small { font-weight: 400; }
.data-table .directory-status,
.data-table .work-status-tag,
.data-table .project-category-tag,
.data-table .project-status-tag,
.data-table .sla-pill { padding-right: 12px; padding-left: 12px; font-size: 11px; font-weight: 600; }

.work-table th,
.inbox-table th,
.directory-table th,
.projects-table th { padding-top: 11px; padding-bottom: 11px; }
.work-table td,
.inbox-table td,
.directory-table td,
.projects-table td { height: 54px; padding-top: 11px; padding-bottom: 11px; }

.list-empty-state {
  min-height: 180px;
  padding: 28px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  color: #75839a;
  font-weight: 400;
  white-space: normal;
  text-align: center;
}
.list-empty-state[hidden] { display: none; }
.list-empty-state i {
  margin-bottom: 4px;
  color: var(--ip-primary);
  font-size: 26px;
}
.list-empty-state strong {
  color: #3f4f67;
  font-size: 13px;
  font-weight: 600;
}
.list-empty-state span {
  font-size: 12px;
  font-weight: 400;
}

/* O detalhe do cliente mantém o mesmo piso fora das tabelas. */
.client-detail-page .client-operational-summary .project-operational-item small,
.client-detail-page .client-operational-summary .project-operational-item strong,
.client-detail-page .client-detail-section .panel-subtitle,
.client-detail-page .client-detail-section .directory-contact-item strong,
.client-detail-page .client-detail-section .directory-contact-item small,
.client-detail-page .client-detail-section .directory-contact-status,
.client-detail-page .client-history-panel .project-side-activity time,
.client-detail-page .client-history-panel .project-side-activity strong,
.client-detail-page .client-history-panel .project-side-activity small { font-size: 12px; }
.client-detail-page .client-history-panel .project-side-activity time { font-size: 10px; }
.client-detail-section .directory-contact-item { min-height: 44px; padding: 6px 8px; }
.client-detail-section .directory-contact-item small { line-height: 1.25; }

/* Equipe e Configurações repetem a tabela e os controles dos cadastros aprovados. */
.team-table { min-width: 760px; }
.settings-table { min-width: 760px; }
.team-table th:first-child, .team-table td:first-child { width: 30%; }
.team-table th:nth-child(2), .team-table td:nth-child(2) { width: 22%; }
.team-table th:nth-child(3), .team-table td:nth-child(3) { width: 32%; }
.team-table th:nth-child(4), .team-table td:nth-child(4) { width: 16%; }
.settings-table th:first-child, .settings-table td:first-child { width: 45%; }
.settings-table th:nth-child(2), .settings-table td:nth-child(2) { width: 35%; }
.settings-table th:nth-child(3), .settings-table td:nth-child(3) { width: 20%; }
.settings-tabs { overflow-x: auto; }
.settings-tabs .directory-tab { flex: 0 0 auto; }

/* Configurações agrupadas por área para manter uma tarefa por painel. */
.configuracoes-page .settings-main-tabs { display: flex; flex-wrap: wrap; align-items: stretch; gap: 7px; margin-top: var(--module-heading-gap); overflow: visible; border-bottom: 1px solid #e3eaf3; }
.settings-main-tab { position: relative; display: inline-flex; min-height: 44px; flex: 0 0 auto; align-items: center; gap: 8px; padding: 0 13px; border: 0; color: #718097; background: transparent; font-size: 12px; font-weight: 650; cursor: pointer; white-space: nowrap; }
.settings-main-tab:hover { color: #33465f; background: #f7f9fc; }
.settings-main-tab i { font-size: 14px; }
.settings-main-tab b { min-width: 21px; padding: 2px 6px; border-radius: 10px; color: #738098; background: #eef2f7; font-size: 10px; text-align: center; }
.settings-main-tab.is-active { color: var(--ip-primary); }
.settings-main-tab.is-active::after { position: absolute; right: 8px; bottom: -1px; left: 8px; height: 2px; border-radius: 3px; background: var(--ip-primary); content: ""; }
.configuracoes-page .settings-tab-panel { margin-top: 14px; }
.configuracoes-page .settings-tab-panel[hidden], .configuracoes-page #newSettingButton[hidden] { display: none !important; }
.configuracoes-page #settingsPanel-ia .work-detail-card { padding: 18px; }
.configuracoes-page .settings-tab-panel .work-detail-card > form > .dialog-body.account-dialog-body,
.configuracoes-page .settings-tab-panel .work-detail-card > .dialog-body.account-dialog-body,
.configuracoes-page .settings-tab-panel .work-detail-card > form > .dialog-actions { padding-right: 0; padding-left: 0; }
.configuracoes-page .directory-tools #newSettingButton { flex: 0 0 auto; white-space: nowrap; }
.settings-ai-header-actions { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.settings-ai-refresh-form { margin: 0; }
.settings-model-catalog-note .account-form-note { min-width: 0; display: block; }
.settings-model-catalog-note .account-form-note > i { display: none; }
.settings-model-catalog-error { display: block; margin-top: 4px; color: #b54747; }
.settings-field-hint { color: #8490a2; font-size: 10px; font-weight: 400; line-height: 1.35; }
.settings-tab-panel .dialog-grid > .secondary-action { align-self: end; min-height: 38px; }

@media (max-width: 620px) {
  .settings-main-tabs { gap: 2px; }
  .configuracoes-page .directory-tools #newSettingButton { width: 100%; }
  .settings-main-tab { min-height: 42px; padding: 0 10px; font-size: 11px; }
  .settings-ai-header-actions { align-items: flex-end; flex-direction: column; gap: 8px; }
}

/* Integração funcional */
.nav-link-disabled {
  cursor: default;
  opacity: .62;
}

.profile-button {
  width: 100%;
  border: 0;
  text-align: left;
}

.profile-menu form {
  margin: 0;
}

.profile-menu form button {
  border: 0;
}

.functional-start-panel {
  min-height: 220px;
}

.functional-start-links {
  padding: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.auth-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: var(--ip-bg);
}

.auth-shell {
  width: min(100%, 430px);
}

.auth-panel {
  padding: 32px;
}

.auth-brand {
  margin-bottom: 28px;
}

.auth-brand img {
  width: 168px;
  height: auto;
}

.auth-heading {
  margin-bottom: 24px;
}

.auth-heading h1 {
  margin: 0 0 6px;
  color: var(--ip-text);
  font-size: 24px;
}

.auth-heading p {
  margin: 0;
  color: var(--ip-muted);
  font-size: 13px;
}

.auth-form {
  display: grid;
  gap: 16px;
}

.auth-form label {
  display: grid;
  gap: 6px;
}

.auth-form input {
  width: 100%;
  height: 39px;
  padding: 0 11px;
  outline: 0;
  border: 1px solid #dfe6ef;
  border-radius: var(--radius-control);
  color: var(--ip-text);
  background: #fff;
  font: inherit;
  font-size: 12px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.auth-form input:focus {
  border-color: var(--ip-primary-focus);
  box-shadow: 0 0 0 3px var(--ip-primary-soft);
}

.auth-form .auth-remember { display: flex; align-items: center; gap: 9px; color: var(--ip-text); font-size: 12px; font-weight: 500; cursor: pointer; }
.auth-form .auth-remember input { width: 16px; height: 16px; margin: 0; padding: 0; flex: 0 0 auto; accent-color: var(--ip-primary); }

.auth-form .primary-action {
  width: 100%;
  margin-top: 4px;
}

.auth-exit-form { margin-top: 10px; }
.auth-exit-form .secondary-action { width: 100%; }
.auth-links { margin-top: 16px; display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; }
.auth-links a { display: inline-flex; align-items: center; gap: 5px; color: var(--ip-primary); font-size: 12px; font-weight: 700; text-decoration: none; }
.auth-links a:hover { text-decoration: underline; }

.auth-alert {
  margin-bottom: 18px;
  padding: 11px 13px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #fecaca;
  border-radius: var(--radius-control);
  color: #b42318;
  background: #fff1f2;
  font-size: 12px;
}

.auth-alert--info {
  border-color: #bfdbfe;
  color: #175cd3;
  background: #eff6ff;
}

.dialog-actions .danger-action-button[hidden],
.account-form-note[hidden] {
  display: none;
}

.sla-weekdays {
  margin-top: 4px;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.sla-weekdays .account-check-row {
  min-height: 40px;
  padding: 8px 10px;
}

.sla-weekdays .account-check-row strong { font-size: 12px; }

@media (max-width: 1100px) {
  .sla-weekdays { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .auth-page { padding: 12px; }
  .auth-panel { padding: 24px; }
  .sla-weekdays { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Extensões dos componentes aprovados: busca, notificações e perguntas internas. */
.notification-menu-footer {
  min-height: 34px;
  margin-top: 4px;
  display: grid;
  place-items: center;
  border-top: 1px solid #edf1f6;
  color: var(--ip-primary);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.notification-menu-footer:hover { text-decoration: underline; }
.notifications-list { display: grid; }
.notifications-list .notification-form + .notification-form { border-top: 1px solid #edf1f6; }
.notifications-list .notification-item { min-height: 68px; padding: 11px 18px; border-radius: 0; }
.notifications-list .notification-item > i { width: 34px; height: 34px; border-radius: 10px; font-size: 15px; }
.notifications-list .notification-item > span { flex: 1; gap: 4px; }
.notifications-list .notification-item strong,
.notifications-list .notification-item small { font-size: 12px; white-space: normal; }
.notifications-list .notification-item time { color: var(--ip-muted); font-size: 12px; white-space: nowrap; }
.work-timeline-item.work-question { margin: 0 -8px; padding-right: 8px; padding-left: 8px; border-radius: 9px; background: #f7faff; }
.work-timeline-item.work-question.is-resolved { background: #f7fbf9; }
.work-question-status { margin-left: 6px; padding: 2px 7px; border-radius: 999px; color: #b76e00; background: #fff4d6; font-size: 11px; font-weight: 700; }
.work-question.is-resolved .work-question-status { color: #078754; background: #e4f6ed; }
.work-question-resolve { margin-top: 6px; padding: 0; color: var(--ip-primary); background: transparent; font-size: 11px; font-weight: 700; cursor: pointer; }
.work-question-resolve i { margin-right: 3px; }
.work-question-toggle { cursor: pointer; }
.work-question-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.work-question-toggle span { min-height: 32px; padding: 0 8px; border-radius: 8px; color: #6c7d95; font-size: 11px; font-weight: 700; }
.work-question-toggle input:checked + span { color: var(--ip-primary); background: var(--ip-primary-soft); }
.work-question-toggle input:focus-visible + span { outline: 2px solid var(--ip-primary); outline-offset: 2px; }

@media (max-width: 620px) {
  .notifications-list .notification-item { align-items: flex-start; }
  .notifications-list .notification-item time { display: none; }
}

/* Detalhe compartilhado da demanda: o mesmo conteúdo abre sobre qualquer contexto. */
.demand-detail-modal { overflow: visible; }
.demand-detail-modal-content {
  min-height: 0;
  max-height: calc(100vh - 24px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: inherit;
  background: #fff;
}
.demand-detail-modal-header { flex: 0 0 auto; }
.demand-detail-modal .work-detail-body {
  min-height: 0;
  flex: 1 1 auto;
  padding: 12px 18px 0;
  overflow-y: auto;
}
.demand-detail-modal .project-detail-dashboard {
  margin: 0;
  display: grid;
  gap: 12px;
}
.demand-detail-modal .demand-modal-meta { margin: 0; }
.demand-detail-modal .demand-detail-workspace { margin: 0; }
.demand-detail-modal .demand-detail-workspace {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.demand-detail-modal .demand-detail-workspace .work-detail-primary {
  grid-column: 1;
  grid-row: 1;
  display: grid;
}
.demand-detail-modal .demand-detail-workspace .work-detail-sidebar { display: contents; }
.demand-detail-modal .demand-detail-workspace .work-internal-card {
  grid-column: 2;
  grid-row: 1;
}
.demand-detail-modal .demand-detail-workspace .work-activity-card {
  grid-column: 1 / -1;
  grid-row: 2;
}
.demand-detail-modal .work-history-card > .work-detail-meta { display: none; }
.demand-detail-modal .work-detail-card { box-shadow: none; }
.demand-detail-modal .demand-page-actions {
  margin: 0 -18px;
  padding: 12px 18px 14px;
  position: sticky;
  z-index: 2;
  bottom: 0;
  background: #fff;
}
.demand-detail-modal .task-modal { z-index: 29; }
.delegate-modal { overflow: visible; }
.demand-detail-loading {
  min-height: 260px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  color: #6f7f95;
  font-size: 12px;
}
.demand-detail-loading i {
  color: var(--ip-primary);
  font-size: 24px;
  animation: demand-detail-spin .8s linear infinite;
}
@keyframes demand-detail-spin { to { transform: rotate(360deg); } }
.demand-detail-modal .work-response-message > textarea,
.demand-detail-modal .work-internal-card .work-composer > textarea {
  max-height: 180px;
  overflow-y: auto;
}
.demand-detail-modal .work-response-attachment-status {
  max-width: 190px;
  overflow: hidden;
  color: #74839a;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.demand-detail-modal .work-comment-attachment-status {
  max-width: 150px;
  overflow: hidden;
  color: #74839a;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.demand-detail-modal .work-internal-card .work-composer-tools { justify-content: flex-end; }
.demand-detail-modal .work-internal-card .work-mention-menu {
  top: auto;
  right: 0;
  bottom: calc(100% + 7px);
  left: auto;
  z-index: 40;
  max-height: 210px;
}

.attachment-preview-modal {
  width: min(780px, calc(100% - 32px));
  z-index: 35;
  max-height: calc(100vh - 28px);
  overflow: hidden;
  border: 1px solid #dfe7f1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(18, 32, 51, .2);
}
.attachment-preview-modal .dialog-header { padding: 13px 16px 10px; }
.attachment-preview-modal .dialog-header h2 { max-width: 650px; overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.attachment-preview-body { min-height: 180px; max-height: calc(100vh - 115px); padding: 14px; display: grid; place-items: center; overflow: auto; background: #f8fafc; }
.attachment-preview-body img { max-width: 100%; max-height: calc(100vh - 150px); object-fit: contain; border-radius: 8px; box-shadow: 0 8px 22px rgba(18, 32, 51, .12); }
.attachment-preview-body iframe { width: min(100%, 720px); height: min(70vh, 620px); border: 1px solid #dfe7f1; border-radius: 8px; background: #fff; }
.attachment-preview-empty { max-width: 380px; padding: 22px; color: #6f7f95; text-align: center; font-size: 12px; line-height: 1.5; }
.attachment-preview-empty i { display: block; margin-bottom: 8px; color: var(--ip-primary); font-size: 30px; }

@media (max-width: 900px) {
  .demand-detail-modal .demand-detail-workspace { grid-template-columns: 1fr; }
  .demand-detail-modal .demand-detail-workspace .work-detail-primary,
  .demand-detail-modal .demand-detail-workspace .work-internal-card,
  .demand-detail-modal .demand-detail-workspace .work-activity-card { grid-column: 1; }
  .demand-detail-modal .demand-detail-workspace .work-detail-primary { grid-row: 1; }
  .demand-detail-modal .demand-detail-workspace .work-internal-card { grid-row: 2; }
  .demand-detail-modal .demand-detail-workspace .work-activity-card { grid-row: 3; }
}

@media (max-width: 620px) {
  .demand-detail-modal .work-detail-body { padding: 10px 10px 0; }
  .demand-detail-modal .demand-page-actions { margin: 0 -10px; padding-right: 10px; padding-left: 10px; }
  .demand-detail-workspace .work-activity-list article { grid-template-columns: 116px 20px minmax(0, 1fr); gap: 6px; }
  .demand-detail-workspace .work-activity-list article > .work-activity-actor { grid-column: 3; }
}

/* Login — composição aprovada para a entrada da plataforma. */
body.auth-page.auth-page--login { display: block !important; width: 100%; height: 100vh; height: 100dvh; margin: 0; padding: 0; overflow: hidden; background: #fff; }
.login-layout { display: grid; width: 100%; height: 100vh; height: 100dvh; grid-template-columns: minmax(0, 59fr) minmax(0, 41fr); margin: 0; overflow: hidden; }
.login-showcase { position: relative; min-height: 0; overflow: hidden; color: #fff; background: radial-gradient(circle at 90% 0%, rgba(12, 100, 120, .45), transparent 29%), linear-gradient(145deg, #102740 0%, #091b2e 57%, #0c2035 100%); }
.login-showcase-content { position: relative; z-index: 1; display: flex; flex-direction: column; height: 100%; padding: clamp(24px, 4vh, 42px) clamp(34px, 4.2vw, 68px); }
.login-showcase-brand img { display: block; width: 236px; max-width: 100%; height: auto; }
.login-showcase-copy { margin-top: auto; }
.login-showcase-copy h2 { margin: 0; color: #fff; font-size: clamp(23px, 1.76vw, 29px); font-weight: 700; letter-spacing: -.04em; line-height: 1.1; }
.login-showcase-copy h2 span { color: #37d4c8; }
.login-showcase-copy p { margin: 15px 0 0; color: #bec8d6; font-size: clamp(15px, 1.15vw, 18px); line-height: 1.4; }
.login-benefits { display: grid; gap: clamp(8px, 1.5vh, 15px); margin: clamp(24px, 4vh, 40px) 0 0; padding: 0; list-style: none; }
.login-benefits li { display: flex; align-items: center; gap: 16px; }
.login-benefit-icon { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 50%; color: #37d4c8; background: rgba(45, 176, 192, .13); font-size: 19px; }
.login-benefits strong, .login-benefits small { display: block; }
.login-benefits strong { color: #f7fbff; font-size: 14px; font-weight: 600; }
.login-benefits small { margin-top: 3px; color: #afbdce; font-size: 12px; }
.login-showcase-footer { display: flex; align-items: center; gap: 16px; margin: auto 0 0; padding-top: 16px; color: #b7c4d3; font-size: 10px; font-weight: 600; letter-spacing: .21em; line-height: 1.6; text-transform: uppercase; }
.login-showcase-footer span { width: 40px; height: 2px; flex: 0 0 40px; background: #37d4c8; }
.login-orbit { position: absolute; top: 50%; left: 49%; width: min(760px, 80vh); height: min(760px, 80vh); transform: translateY(-50%); pointer-events: none; }
.login-orbit-ring { position: absolute; border: 1px solid rgba(18, 191, 211, .42); border-radius: 50%; }
.login-orbit-ring--outer { inset: 0; border-left-color: #33d7cf; border-top-color: rgba(18, 191, 211, .62); transform: rotate(-14deg); }
.login-orbit-ring--middle { inset: 9%; border-color: rgba(18, 191, 211, .34); }
.login-orbit-ring--dashed { inset: 18%; border-style: dashed; border-color: rgba(28, 155, 203, .45); }
.login-orbit-ring--inner { inset: 29%; border-color: #168ee6; box-shadow: 0 0 32px rgba(0, 127, 255, .08); }
.login-orbit-core { position: absolute; inset: 40%; display: grid; place-items: center; border: 2px solid rgba(46, 215, 207, .48); border-radius: 50%; color: #37d4c8; font-size: clamp(25px, 3vh, 34px); font-style: italic; font-weight: 800; }
.login-orbit-label { position: absolute; display: flex; align-items: center; gap: 10px; color: #e2eaf3; font-size: 13px; white-space: nowrap; }
.login-orbit-label::before { width: 15px; height: 15px; border: 3px solid #36d7d0; border-radius: 50%; background: #fff; box-shadow: 0 0 14px rgba(47, 227, 223, .45); content: ''; }
.login-orbit-label--projects { top: 18%; left: 24%; }
.login-orbit-label--demands { top: 58%; left: 5%; }
.login-orbit-label--results { top: 76%; left: 38%; }
.login-form-side { display: grid; min-width: 0; place-items: center; background: #fff; }
.auth-page--login .auth-shell { display: flex; width: min(calc(100% - 72px), 530px); height: 100%; min-height: 0; flex-direction: column; justify-content: center; }
.auth-page--login .auth-panel { padding: 0; border: 0; box-shadow: none; }
.login-eyebrow { margin-bottom: clamp(13px, 2.4vh, 24px); color: #6d7c91; font-size: 11px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; }
.auth-page--login .auth-heading { margin-bottom: clamp(20px, 3.4vh, 34px); }
.auth-page--login .auth-heading h1 { margin-bottom: 8px; font-size: clamp(27px, 2vw, 33px); font-weight: 740; letter-spacing: -.035em; line-height: 1.16; }
.auth-page--login .auth-heading p { color: #67768a; font-size: 14px; line-height: 1.4; }
.auth-page--login .auth-form { gap: clamp(14px, 2.3vh, 22px); }
.auth-page--login .auth-form label { gap: 7px; }
.auth-page--login .auth-form .field-label { color: #14243a; font-size: 13px; font-weight: 500; }
.login-input-wrap { position: relative; display: flex; align-items: center; }
.login-input-wrap > i { position: absolute; left: 16px; color: #687c97; font-size: 19px; pointer-events: none; }
.auth-page--login .auth-form .login-input-wrap input { height: clamp(43px, 5.4vh, 52px); padding: 0 48px 0 49px; border: 1px solid #c9d8ec; border-radius: 9px; background: #f5f9ff; font-size: 13px; }
.auth-page--login .auth-form .login-input-wrap input::placeholder { color: #687a91; opacity: 1; }
.auth-page--login .auth-form .login-input-wrap input:focus { background: #fff; }
.login-password-toggle { position: absolute; right: 10px; display: grid; width: 38px; height: 38px; place-items: center; border: 0; border-radius: 8px; color: #667b96; background: transparent; cursor: pointer; font-size: 18px; }
.login-password-toggle:hover, .login-password-toggle:focus-visible { color: var(--ip-primary); background: #e7effb; }
.auth-page--login .auth-form .auth-remember { display: flex; gap: 9px; margin-top: 0; font-size: 13px; font-weight: 400; }
.auth-page--login .auth-form .auth-remember input { width: 18px; height: 18px; flex-basis: 18px; border-radius: 4px; }
.auth-page--login .auth-form .primary-action { min-height: clamp(45px, 5.8vh, 56px); margin-top: 4px; border-radius: 8px; font-size: 16px; font-weight: 700; box-shadow: 0 5px 13px rgba(0, 81, 250, .17); }
.auth-page--login .auth-form .primary-action i { margin-right: 5px; font-size: 18px; }
.auth-page--login .auth-links { margin-top: clamp(14px, 2.3vh, 23px); }
.auth-page--login .auth-links a { font-size: 13px; }
.login-copyright { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: clamp(28px, 6vh, 60px); padding-top: 16px; border-top: 1px solid #d4e0ed; color: #697a92; font-size: 12px; }
.login-version { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 1120px) {
  .login-layout { grid-template-columns: minmax(0, 52fr) minmax(0, 48fr); }
  .login-showcase-content { padding-right: 28px; padding-left: 38px; }
  .login-showcase-copy h2 { font-size: 27px; }
  .login-orbit { left: 55%; }
  .auth-page--login .auth-shell { width: min(calc(100% - 52px), 530px); }
}
@media (min-width: 1101px) and (max-width: 1500px) {
  .login-orbit-label { display: none; }
}
@media (max-width: 1100px) {
  .login-layout { grid-template-columns: 1fr; grid-template-rows: clamp(66px, 12vh, 90px) minmax(0, 1fr); }
  .login-showcase, .login-showcase-content { min-height: 0; height: 100%; }
  .login-showcase-content { justify-content: center; padding: 0 28px; }
  .login-showcase-copy { display: none; }
  .login-showcase-copy p, .login-benefits, .login-showcase-footer, .login-orbit { display: none; }
  .login-form-side { min-height: 0; padding: 0; }
  .auth-page--login .auth-shell { height: 100%; min-height: 0; }
}
@media (max-width: 480px) {
  .login-layout { grid-template-rows: 62px minmax(0, 1fr); }
  .login-showcase-content { padding: 0 20px; }
  .auth-page--login .auth-shell { width: min(calc(100% - 36px), 530px); }
  .auth-page--login .auth-heading h1 { font-size: 26px; }
  .auth-page--login .auth-heading p { font-size: 13px; }
  .auth-page--login .auth-form .login-input-wrap input { height: 44px; }
  .auth-page--login .auth-form .primary-action { min-height: 46px; }
}
@media (max-height: 800px) {
  .login-showcase-content { padding-top: 20px; padding-bottom: 20px; }
  .login-showcase-copy { margin-top: auto; }
  .login-showcase-copy h2 { font-size: clamp(22px, 1.76vw, 27px); }
  .login-showcase-copy p { margin-top: 10px; font-size: 14px; }
  .login-benefits { gap: 8px; margin-top: 20px; }
  .login-benefit-icon { width: 38px; height: 38px; flex-basis: 38px; font-size: 16px; }
  .login-showcase-footer { padding-top: 8px; }
  .login-eyebrow { margin-bottom: 12px; }
  .auth-page--login .auth-heading { margin-bottom: 18px; }
  .auth-page--login .auth-form { gap: 13px; }
  .login-copyright { margin-top: 24px; }
}
@media (max-height: 620px) {
  .login-benefits li:last-child, .login-showcase-footer { display: none; }
  .login-showcase-copy h2 { font-size: 22px; }
  .auth-page--login .auth-heading h1 { font-size: 25px; }
  .auth-page--login .auth-form .login-input-wrap input { height: 41px; }
  .auth-page--login .auth-form .primary-action { min-height: 43px; }
  .login-copyright { margin-top: 12px; padding-top: 8px; font-size: 11px; }
}
@media (max-width: 1100px) and (max-height: 800px) {
  .login-showcase-content { justify-content: center; }
  .login-showcase-copy { display: none; }
}
@media (max-width: 1100px) and (max-height: 480px) {
  .login-layout { grid-template-rows: minmax(0, 1fr); }
  .login-showcase, .login-eyebrow, .auth-page--login .auth-heading p { display: none; }
  .auth-page--login .auth-heading { margin-bottom: 12px; }
  .auth-page--login .auth-form { gap: 8px; }
  .login-copyright { margin-top: 8px; padding-top: 6px; font-size: 10px; }
  .auth-page--login .auth-links { margin-top: 8px; }
}

/* Menu lateral recolhido por preferência do usuário. */
.brand-lockup { justify-content: space-between; gap: 6px; padding-right: 4px; padding-left: 4px; }
.brand-logo { width: min(190px, calc(100% - 34px)); min-width: 0; flex: 1; object-fit: contain; object-position: left center; }
.brand-logo-compact { display: none; width: 34px; height: 34px; object-fit: cover; border-radius: 9px; }
.sidebar-toggle { width: 40px; height: 40px; display: inline-grid; flex: 0 0 auto; place-items: center; border: 0; border-radius: 0; color: #52627a; background: transparent; cursor: pointer; }
.sidebar-toggle:hover { color: var(--ip-primary); background: transparent; }
.sidebar-toggle:focus-visible { outline: 2px solid var(--ip-primary-focus); outline-offset: 1px; }
.sidebar-toggle i { font-size: 27px; line-height: 1; }
.sidebar { transition: width .2s ease, flex-basis .2s ease; }
.main-content { transition: margin-left .2s ease; }

/* Hoje: leitura mais confortável e histórico de atividades da equipe. */
.hoje-page .dashboard { display: grid; gap: 24px; }
.today-tabs { display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #e5ebf3; }
.hoje-page .entry-header-actions .new-demand-button { margin-left: auto; color: var(--ip-primary); border: 1px solid var(--ip-primary); background: #fff; box-shadow: none; white-space: nowrap; }
.hoje-page .entry-header-actions .new-demand-button:hover { color: var(--ip-primary); border-color: var(--ip-primary-hover); background: var(--ip-primary-soft); }
.today-tab { min-height: 42px; padding: 10px 15px 12px; display: inline-flex; align-items: center; gap: 8px; position: relative; color: #6a7890; font-size: 13px; font-weight: 600; text-decoration: none; }
.today-tab:hover, .today-tab.is-active { color: var(--ip-primary); }
.today-tab.is-active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--ip-primary); content: ''; }
.hoje-page .metric-grid { gap: 16px; }
.hoje-page .metric-card { min-height: 126px; padding: 22px; gap: 16px; }
.hoje-page .metric-card div:last-child { gap: 7px; }
.hoje-page .metric-card span, .hoje-page .metric-card small { white-space: normal; line-height: 1.35; }
.hoje-page .dashboard-grid { gap: 20px; margin-top: 0; }
.hoje-page .middle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hoje-page .activities-panel { grid-column: 1 / -1; grid-row: auto; }
.hoje-page .panel-header { min-height: 68px; padding: 21px 24px 17px; }
.hoje-page .panel-header h2, .hoje-page .day-summary h2 { font-size: 15px; }
.hoje-page .panel-footer { min-height: 52px; padding: 10px 24px; font-size: 12px; }
.hoje-page .data-table th { padding-top: 13px; padding-bottom: 13px; }
.hoje-page .data-table td { height: 54px; padding-top: 11px; padding-bottom: 11px; }
.hoje-page .data-table th:first-child, .hoje-page .data-table td:first-child { padding-left: 24px; }
.hoje-page .data-table th:last-child, .hoje-page .data-table td:last-child { padding-right: 24px; }
.hoje-page .project-list { padding: 2px 24px 10px; }
.hoje-page .project-row { min-height: 60px; gap: 10px; }
.hoje-page .compact-list { padding: 0 24px 10px; }
.hoje-page .compact-list article { min-height: 60px; gap: 10px; }
.hoje-page .compact-list strong { font-size: 12px; }
.hoje-page .sla-list { padding: 0 16px 16px; gap: 10px; }
.hoje-page .sla-list article { min-height: 65px; padding: 13px; gap: 10px; }
.hoje-page .day-summary { padding: 24px; }
.hoje-page .dashboard-empty { padding: 26px 18px; }
.today-team-list { padding: 2px 24px 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.today-team-member { min-width: 0; min-height: 68px; padding: 12px 14px; display: flex; align-items: center; gap: 11px; border: 1px solid #e8edf4; border-radius: 10px; background: #fbfcfe; }
.today-team-member > .mini-avatar { width: 34px; height: 34px; border-radius: 50%; }
.today-team-member > .mini-avatar, .today-feed-actor .mini-avatar { overflow: hidden; }
.today-team-member > div { min-width: 0; flex: 1; display: grid; gap: 3px; }
.today-team-member strong { overflow: hidden; color: #30405a; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.today-team-member small { color: #8995a6; font-size: 11px; }
.today-team-count { color: var(--ip-primary); font-size: 11px; font-weight: 700; white-space: nowrap; }
.today-team-list > .dashboard-empty { grid-column: 1 / -1; }
.today-feed-panel { width: 100%; }
.today-feed-heading { padding: 28px 30px 22px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.today-feed-eyebrow { color: var(--ip-primary); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.today-feed-heading h2 { margin: 6px 0 7px; color: #263650; font-size: 21px; }
.today-feed-heading p { max-width: 680px; margin: 0; color: var(--ip-muted); font-size: 13px; line-height: 1.5; }
.today-feed-total { padding: 7px 11px; border: 1px solid #dfe7f1; border-radius: 999px; color: #5c6b82; background: #f8fafd; font-size: 12px; white-space: nowrap; }
.today-feed-filters { padding: 17px 30px; display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px; border-top: 1px solid #edf1f6; border-bottom: 1px solid #edf1f6; background: #fbfcfe; }
.today-feed-filters label { min-width: 210px; display: grid; gap: 7px; color: #53627a; font-size: 11px; font-weight: 700; }
.today-feed-filters select { min-height: 38px; padding: 8px 32px 8px 11px; border: 1px solid #dfe6ef; border-radius: 8px; color: #34435a; background: #fff; font-size: 12px; }
.today-feed-filters .secondary-action { min-height: 38px; padding: 8px 13px; }
.today-feed-clear { padding: 10px 2px; color: var(--ip-primary); font-size: 12px; font-weight: 600; text-decoration: none; }
.today-feed-list { padding: 7px 30px 14px; }
.today-feed-date { margin: 14px 0 8px; color: #687790; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.today-feed-item { padding: 11px 0; display: flex; align-items: flex-start; gap: 12px; border-bottom: 1px solid #edf1f6; }
.today-feed-item:last-child { border-bottom: 0; }
.today-feed-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 11px; color: var(--ip-primary); background: var(--ip-primary-soft); font-size: 17px; }
.today-feed-content { min-width: 0; flex: 1; }
.today-feed-item-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.today-feed-kind { color: #62718a; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.today-feed-meta { min-width: 0; display: flex; align-items: center; gap: 12px; }
.today-feed-meta time { color: #8793a5; font-size: 12px; white-space: nowrap; }
.today-feed-content p { margin: 6px 0; color: #2e3e56; font-size: 13px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.today-feed-subject { display: inline-flex; align-items: center; gap: 5px; color: var(--ip-primary); font-size: 12px; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
.today-feed-subject:hover { text-decoration: underline; }
.today-feed-actor { min-width: 0; display: flex; align-items: center; gap: 6px; color: #63718a; font-size: 11px; }
.today-feed-actor-name { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.today-feed-actor .mini-avatar { width: 22px; height: 22px; border-radius: 50%; font-size: 9px; }
.today-feed-system-icon { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: #64748b; background: #edf1f6; }
.hoje-page .today-feed-footer { justify-content: space-between; }
@media (max-width: 1440px) { .hoje-page .metric-card { padding: 18px; }.hoje-page .metric-grid { gap: 12px; } }
@media (max-width: 1180px) { .hoje-page .activities-panel { grid-row: auto; } }
@media (max-width: 800px) { .hoje-page .dashboard { gap: 18px; }.hoje-page .top-grid, .hoje-page .bottom-grid, .hoje-page .middle-grid { grid-template-columns: 1fr; }.hoje-page .activities-panel { grid-column: auto; }.today-team-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }.today-feed-heading, .today-feed-filters { padding-right: 20px; padding-left: 20px; }.today-feed-list { padding-right: 20px; padding-left: 20px; } }
@media (max-width: 620px) { .hoje-page .metric-grid { gap: 10px; }.hoje-page .metric-card { min-height: 152px; padding: 15px; align-items: flex-start; flex-direction: column; gap: 10px; }.hoje-page .metric-icon { width: 40px; height: 40px; border-radius: 11px; font-size: 19px; }.hoje-page .metric-card:last-child { grid-column: span 2; min-height: 105px; align-items: center; flex-direction: row; }.hoje-page .entry-header-actions .new-demand-button { min-height: 39px; padding: 10px 12px; font-size: 13px; }.hoje-page .panel-header { padding: 18px; }.hoje-page .panel-footer { padding: 10px 18px; }.hoje-page .project-list, .hoje-page .compact-list { padding-right: 18px; padding-left: 18px; }.hoje-page .sla-list { grid-template-columns: 1fr; }.today-team-list { grid-template-columns: 1fr; padding-right: 18px; padding-left: 18px; }.today-feed-heading { flex-direction: column; gap: 12px; }.today-feed-filters label { min-width: 100%; }.today-feed-filters .secondary-action { flex: 1; }.today-feed-item { gap: 11px; }.today-feed-icon { width: 34px; height: 34px; font-size: 15px; }.today-feed-item-top { gap: 7px; }.today-feed-meta { gap: 7px; }.today-feed-kind { font-size: 10px; }.today-feed-actor-name { max-width: 100px; }.today-feed-heading h2 { font-size: 19px; } }

@media (min-width: 621px) {
  .app-shell.sidebar-collapsed .sidebar { width: 72px; flex-basis: 72px; padding-right: 10px; padding-left: 10px; }
  .app-shell.sidebar-collapsed .main-content { margin-left: 72px; }
  .app-shell.sidebar-collapsed .brand-lockup { height: auto; min-height: 78px; flex-direction: column; justify-content: center; gap: 6px; padding: 0 0 8px; }
  .app-shell.sidebar-collapsed .brand-logo { display: none; }
  .app-shell.sidebar-collapsed .brand-logo-compact { display: block; }
  .app-shell.sidebar-collapsed .sidebar-toggle { width: 36px; height: 32px; }
  .app-shell.sidebar-collapsed .sidebar-toggle i { font-size: 25px; }
  .app-shell.sidebar-collapsed .main-nav { gap: 5px; }
  .app-shell.sidebar-collapsed .nav-link { width: 50px; min-height: 44px; margin: 0 auto; padding: 0; justify-content: center; }
  .app-shell.sidebar-collapsed .nav-link > span { display: none; }
  .app-shell.sidebar-collapsed .nav-link > i { width: auto; font-size: 18px; }
  .app-shell.sidebar-collapsed .nav-link .nav-count { position: absolute; top: 0; right: 0; min-width: 16px; padding: 1px 4px; font-size: 9px; }
  .app-shell.sidebar-collapsed .sidebar-tip,
  .app-shell.sidebar-collapsed .sidebar-footer { display: none; }
  .app-shell.sidebar-collapsed .sidebar-account { align-items: center; flex-direction: column; gap: 7px; margin-right: 0; margin-left: 0; }
  .app-shell.sidebar-collapsed .sidebar-account .profile-button { width: 42px; height: 42px; flex: 0 0 auto; padding: 3px; justify-content: center; }
  .app-shell.sidebar-collapsed .sidebar-account .profile-copy,
  .app-shell.sidebar-collapsed .sidebar-account .profile-chevron { display: none; }
  .app-shell.sidebar-collapsed .sidebar-account .notification-button { width: 38px !important; height: 38px !important; }
  .app-shell.sidebar-collapsed .sidebar-account .profile-menu { right: auto; bottom: 0; left: calc(100% + 8px); width: min(220px, calc(100vw - 90px)); }
}

@media (max-width: 620px) {
  .brand-lockup { justify-content: flex-start; }
  .sidebar-toggle { display: none; }
  .brand-logo-compact { display: none !important; }
}

@media (min-width: 621px) {
  .app-shell.sidebar-collapsed .sidebar-account .profile-menu.profile-menu-floating {
    position: fixed;
    z-index: 1000;
    right: auto;
    bottom: auto;
    width: min(220px, calc(100vw - 90px));
    max-height: calc(100vh - 16px);
    overflow-y: auto;
  }
}


/* Recipient stays compact; the message editor has its own composer border. */
.work-response-composer { display: block; padding: 0; border: 0; background: transparent; }
.work-response-recipient { display: flex; flex-direction: row; align-items: center; gap: 8px; padding: 0 0 8px; border: 0; }
.work-response-recipient > label { flex: 0 0 auto; font-size: 12px; }
.work-response-recipient input { width: 0; min-height: 34px; flex: 1; font-size: 12px; }
.work-response-recipient input[readonly] { border-color: transparent; box-shadow: none; padding-left: 0; text-overflow: ellipsis; cursor: pointer; }
.work-response-recipient > button { flex: 0 0 36px; width: 36px; height: 36px; }
.work-response-message { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 6px; padding: 7px 6px 7px 10px; border: 1px solid #dfe8f2; border-radius: var(--radius-control); background: #fff; }
.work-response-message:focus-within { border-color: var(--ip-primary); }

/* Recipient and both message composers share the same vertical alignment. */
.work-response-recipient > label { display: inline-flex; flex-direction: row; align-items: center; gap: 5px; white-space: nowrap; margin: 0; }
.work-response-recipient > label i { margin: 0; }
.work-response-message, .work-internal-card .work-composer { align-items: center; padding: 7px 6px 7px 12px; }
.work-response-message > textarea, .work-internal-card .work-composer > textarea, .work-internal-card .work-update-editor { min-height: 30px; padding: 6px 0; font-size: 12px; line-height: 18px; }
.work-response-composer .work-response-tools, .work-internal-card .work-composer-tools { align-self: center; align-items: center; padding-bottom: 0; margin: 0; }

.triage-classification-actions:not([hidden]) { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.triage-classification-actions .secondary-action { min-height: 34px; padding: 7px 10px; font-size: 11px; }

/* Demandas não visualizadas: o título e o fundo distinguem leitura de situação. */
.work-table .work-row .work-title-copy > strong { font-weight: 500; }
.work-table .work-row.is-unread .work-title-copy > strong { font-weight: 750; color: #132e50; }
.work-table .work-row.is-unread { background: #f4f8ff; }

.demand-participants-picker summary { cursor: pointer; color: #40516b; font-size: 12px; font-weight: 600; }
.demand-participant-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin-top: 12px; }
.demand-participants-picker .participant-choice { display: flex; flex-direction: row; align-items: center; gap: 8px; margin-top: 10px; font-size: 12px; }
.demand-participants-picker input[type="checkbox"] { appearance: auto; width: 16px; height: 16px; min-height: 0; margin: 0; padding: 0; flex: 0 0 16px; accent-color: #0757ee; }
.demand-participant-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.demand-participant-chips span { display: inline-flex; align-items: center; gap: 4px; border-radius: 12px; padding: 4px 8px; font-size: 11px; color: #40516b; background: #f0f5ff; }
