:root {



  --ux-control-gap: 12px;



  --ux-stack-gap: 14px;



}







/* Eventos operacionais: ações densas, porém legíveis em tabelas extensas. */



.table-action-form {



  display: grid;



  grid-template-columns: minmax(150px, 1fr) minmax(120px, .8fr) auto;



  gap: 8px;



  align-items: center;



  min-width: 390px;



}







.table-action-form input,



.table-action-form select,



.table-action-form button {



  margin: 0;



  min-height: 44px;



}







.checkbox-option {



  display: flex;



  align-items: flex-start;



  gap: 10px;



  grid-column: 1 / -1;



}







.checkbox-option input {



  flex: 0 0 auto;



  width: 20px;



  height: 20px;



  margin-top: 1px;



}







.contract-needs-fieldset {



  grid-column: 1 / -1;



  margin: 8px 0;



  padding: 16px;



  border: 1px solid var(--line);



  border-radius: var(--radius-card, 10px);



}







.contract-needs-fieldset legend {



  padding: 0 6px;



  color: var(--navy);



  font-weight: 800;



}







.contract-needs-grid {



  display: grid;



  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));



  gap: 12px;



  margin-top: 14px;



}







.contract-total-summary {



  display: grid;



  grid-template-columns: 1fr auto;



  gap: 4px 16px;



  align-items: center;



  margin: 18px 0;



  padding: 16px;



  border: 1px solid var(--line);



  border-radius: var(--radius-card, 10px);



  background: var(--color-surface-selected, var(--soft));



}







.contract-total-summary strong {



  grid-row: span 2;



  font-size: 28px;



  color: var(--navy);



}







.contract-total-summary small {



  color: var(--muted);



}







.builder-program-nav,



.builder-context,



.workspace-heading,



.builder-shift > summary,



.builder-confirm {



  display: flex;



  align-items: center;



  justify-content: space-between;



  gap: 12px;



}







.builder-program-nav {



  flex-wrap: wrap;



  margin: 14px 0;



}







.builder-joint-optimizer {



  display: grid;



  grid-template-columns: minmax(0, 1fr) auto;



  align-items: end;



  gap: 16px;



  margin: 14px 0;



}







.builder-joint-optimizer fieldset {



  min-width: 0;



  margin: 0;



  padding: 0;



  border: 0;



}







.builder-joint-optimizer legend {



  margin-bottom: 4px;



  font-weight: 700;



  color: var(--navy);



}







.builder-joint-programs {



  display: flex;



  flex-wrap: wrap;



  gap: 8px;



  margin-top: 10px;



}







.builder-joint-programs label {



  display: inline-flex;



  align-items: center;



  gap: 8px;



  min-height: 44px;



  padding: 8px 12px;



  border: 1px solid var(--line);



  border-radius: var(--radius-control, 8px);



  background: var(--white);



}







.builder-workspace {



  display: grid;



  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.4fr);



  gap: 18px;



  align-items: start;



}







.builder-pool {



  position: sticky;



  top: 18px;



  max-height: calc(100vh - 36px);



  overflow: auto;



}







.builder-teams,



.builder-card-grid {



  display: grid;



  gap: 10px;



}







.builder-teams {



  gap: 14px;



}







.builder-role-filters,



.builder-shift-toolbar,



.builder-shift-quotas {



  display: flex;



  flex-wrap: wrap;



  align-items: center;



  gap: 8px;



}







.builder-role-filters {



  margin: 12px 0;



}







.builder-role-filters .active {



  border-color: var(--steel-blue, #2d7dd2);



  background: var(--color-surface-selected, #edf3fb);



  color: var(--steel-blue, #2d7dd2);



}







.builder-shift-toolbar {



  justify-content: space-between;



  padding: 6px;



  border: 1px solid var(--line);



  border-radius: var(--radius-card, 10px);



  background: var(--white);



}







.builder-segment-label {



  padding-left: 8px;



  color: var(--muted);



  font-size: 12px;



  font-weight: 700;



}







.builder-team-segments {



  display: inline-grid;



  grid-template-columns: repeat(3, auto);



  padding: 3px;



  border-radius: 9px;



  background: var(--color-surface-selected, #edf3fb);



}







.builder-team-segments button {



  min-height: 36px;



  padding: 6px 12px;



  border: 0;



  border-radius: 7px;



  background: transparent;



  color: var(--muted);



  box-shadow: none;



  font-size: 12px;



  white-space: normal;



}







.builder-team-segments button:hover,



.builder-team-segments button:focus-visible {



  background: rgba(255, 255, 255, .7);



  color: var(--navy);



}







.builder-team-segments button.active {



  background: var(--white);



  color: var(--steel-blue, #2d7dd2);



  box-shadow: 0 1px 4px rgba(6, 37, 61, .14);



}







.builder-shift > summary {



  display: flex;



  align-items: center;



  justify-content: space-between;



  gap: 12px;



  cursor: pointer;



  list-style: none;



}







.builder-shift > summary::-webkit-details-marker {



  display: none;



}







.builder-shift > summary::before {



  content: "▸";



  color: var(--steel-blue, #2d7dd2);



  transition: transform .18s ease;



}







.builder-shift[open] > summary::before {



  transform: rotate(90deg);



}







.builder-role-group {



  margin-top: 16px;



  padding-top: 14px;



  border-top: 1px solid var(--line);



}







.builder-role-group > summary {



  display: flex;



  align-items: center;



  justify-content: space-between;



  gap: 12px;



  cursor: pointer;



  list-style: none;



}







.builder-role-group > summary::-webkit-details-marker {



  display: none;



}







.builder-role-group > summary::before {



  content: "▸";



  flex: 0 0 auto;



  color: var(--steel-blue, #2d7dd2);



  transition: transform .18s ease;



}







.builder-role-group[open] > summary::before {



  transform: rotate(90deg);



}







.builder-role-group h3 {



  margin: 0;



  font-size: 15px;



}







.builder-role-group > summary > span {



  margin-left: auto;



}







.builder-card-grid {



  grid-template-columns: repeat(2, minmax(0, 1fr));



  margin-top: 12px;



}







.builder-pool .builder-card-grid {



  grid-template-columns: 1fr;



}







/* Card do Montador de Frentes - Diagramação Refinada MARÉ / Dueto Náutico */



.builder-supervisor-card {



  position: relative;



  padding: 12px 14px;



  border: 1px solid var(--border-subtle, #e2e8f0);



  border-radius: var(--radius-card, 8px);



  background: var(--white, #ffffff);



  display: flex;



  flex-direction: column;



  gap: 8px;



  box-shadow: 0 1px 3px rgba(6, 37, 61, 0.03);



  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;



  user-select: none;



}







.builder-supervisor-card:hover {



  border-color: #cbd5e1;



  box-shadow: 0 3px 6px rgba(6, 37, 61, 0.06);



}







.builder-supervisor-card.is-fixed {



  border-color: var(--brand-real-blue, #1164b4);



  background: #f8fbff;



  box-shadow: 0 0 0 1px var(--brand-real-blue, #1164b4);



}







.builder-fix-badge {



  position: absolute;



  top: 10px;



  right: 10px;



  display: inline-flex;



  align-items: center;



  gap: 4px;



  padding: 2px 8px;



  border-radius: 999px;



  font-size: 10.5px;



  font-weight: 600;



  line-height: 1.2;



}







.builder-fix-badge.fixed {



  background: #eff6ff;



  color: var(--brand-real-blue, #1164b4);



  border: 1px solid #bfdbfe;



}







.builder-fix-badge.suggested {



  background: #f1f5f9;



  color: #64748b;



  border: 1px solid #e2e8f0;



}







.builder-supervisor-card header {



  display: flex;



  align-items: center;



  gap: 10px;



  padding-right: 75px;



}







.builder-avatar {



  display: grid;



  place-items: center;



  width: 38px;



  height: 38px;



  border-radius: 50%;



  font-size: 12.5px;



  font-weight: 700;



  flex-shrink: 0;



}







.builder-supervisor-card.is-supervisor .builder-avatar {



  background: var(--brand-real-blue, #1164b4);



  color: #ffffff;



}







.builder-supervisor-card.is-diver .builder-avatar {



  background: #f1f5f9;



  color: #0f172a;



  border: 1px solid #e2e8f0;



}







.builder-card-identity {



  display: flex;



  flex-direction: column;



  gap: 2px;



  min-width: 0;



}







.builder-role-row {



  display: flex;



  align-items: center;



  gap: 6px;



}







.role-pill {



  display: inline-flex;



  align-items: center;



  padding: 1px 6px;



  border-radius: 4px;



  font-size: 10px;



  font-weight: 600;



  letter-spacing: 0.02em;



}







.badge-role-supervisor {



  background: #eff6ff;



  color: var(--brand-real-blue, #1164b4);



}







.badge-role-diver {



  background: #f1f5f9;



  color: #475569;



}







.builder-level-subtext {



  font-size: 11px;



  color: #64748b;



  white-space: nowrap;



  overflow: hidden;



  text-overflow: ellipsis;



}







.builder-supervisor-card h3 {



  margin: 0;



  font-size: 13.5px;



  font-weight: 700;



  color: var(--brand-deep-space-blue, #06253d);



  white-space: nowrap;



  overflow: hidden;



  text-overflow: ellipsis;



}







.builder-card-scores {



  display: flex;



  align-items: center;



  justify-content: space-between;



  gap: 8px;



  padding: 5px 8px;



  border-radius: 6px;



  background: #f8fafc;



  border: 1px solid #f1f5f9;



  font-size: 11px;



  color: #64748b;



}







.builder-card-scores strong {



  color: var(--brand-deep-space-blue, #06253d);



}







.builder-card-scores .score-note strong {



  color: var(--brand-real-blue, #1164b4);



}







.builder-qualification-list {



  display: flex;



  flex-wrap: wrap;



  gap: 4px;



  align-items: center;



}







.builder-qualification-list span {



  padding: 2px 6px;



  border: 1px solid #e2e8f0;



  border-radius: 4px;



  font-size: 10px;



  font-family: var(--font-mono, monospace);



  font-weight: 600;



  background: #ffffff;



  color: #334155;



}







.builder-qualification-list .is-required {



  border-color: var(--brand-real-blue, #1164b4);



  background: #eff6ff;



  color: var(--brand-real-blue, #1164b4);



  font-weight: 700;



}







.builder-supervisor-card footer {



  margin-top: auto;



  padding-top: 6px;



  border-top: 1px solid #f1f5f9;



}







.builder-card-action-group,



.builder-card-action-form {



  display: flex;



  align-items: center;



  gap: 6px;



  width: 100%;



}







.builder-card-action-group form {



  flex: 1;



  display: flex;



}







.builder-supervisor-card footer button {



  width: 100%;



  padding: 6px 10px;



  font-size: 11.5px;



  font-weight: 600;



  border-radius: 6px;



  text-align: center;



  cursor: pointer;



  transition: all 0.15s ease;



}







.builder-supervisor-card footer .btn-deallocate {



  color: #dc2626;



  border-color: #fecaca;



  background: #fef2f2;



}







.builder-supervisor-card footer .btn-deallocate:hover {



  background: #fee2e2;



  border-color: #fca5a5;



}







.builder-requirement-grid {



  display: grid;



  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));



  gap: 10px;



}







.builder-requirement-grid article {



  display: grid;



  gap: 8px;



  padding: 12px;



  border: 1px solid var(--line);



  border-radius: var(--radius-card, 10px);



}







.builder-requirement-grid article > div {



  display: flex;



  flex-wrap: wrap;



  gap: 6px;



}







.builder-empty-slot {



  display: grid;



  place-items: center;



  min-height: 220px;



  border: 1px dashed var(--line);



  border-radius: var(--radius-card, 10px);



  color: var(--muted);



  text-align: center;



  padding: 16px;



}







.builder-empty-slot > span:first-child {



  font-size: 24px;



}







.builder-empty-slot--supervisor {



  background: color-mix(in srgb, var(--steel-blue, #2d7dd2) 5%, transparent);



}







.builder-empty-slot--diver {



  background: color-mix(in srgb, var(--color-brand-ocean-blue, #0c7790) 5%, transparent);



}







/* builder-fix-badge and is-fixed consolidated above */







.builder-tip-box {



  display: flex;



  align-items: center;



  gap: 10px;



  padding: 10px 14px;



  border-radius: var(--radius-card, 10px);



  background: var(--color-surface-selected, #edf3fb);



  border-left: 3px solid var(--steel-blue, #2d7dd2);



  font-size: 13px;



  color: var(--navy, #06253d);



  margin: 12px 0;



}







.builder-issues-box {



  display: grid;



  gap: 6px;



  padding: 12px 16px;



  border-radius: var(--radius-card, 10px);



  background: #fdf3f0;



  border: 1px solid #f2cfc7;



  color: #9c2810;



  margin-bottom: 14px;



}







.builder-issues-box h4 {



  margin: 0;



  font-size: 13px;



  font-weight: 700;



}







.builder-issues-box ul {



  margin: 0;



  padding-left: 18px;



  font-size: 12px;



}







@media (max-width: 900px) {



  .builder-workspace {



    grid-template-columns: 1fr;



  }



  .builder-pool {



    position: static;



    max-height: none;



  }



  .builder-joint-optimizer {



    grid-template-columns: 1fr;



  }



}







@media (max-width: 620px) {



  .builder-card-grid {



    grid-template-columns: 1fr;



  }



  .builder-shift > summary {



    align-items: flex-start;



    flex-wrap: wrap;



  }



  .builder-shift-toolbar {



    align-items: stretch;



  }



  .builder-segment-label {



    width: 100%;



  }



  .builder-team-segments {



    width: 100%;



    grid-template-columns: 1fr;



  }



}







@media (max-width: 760px) {



  .table-action-form {



    grid-template-columns: 1fr;



    min-width: 220px;



  }



}







/* Navegação textual não deve herdar a aparência de ação primária. */



.text-link,



main .text-link,



main .back-link {



  display: inline-flex;



  align-items: center;



  gap: 6px;



  width: fit-content;



  min-width: 0;



  min-height: 44px;



  margin: 0;



  padding: 6px 0;



  border: 0;



  border-radius: 0;



  background: transparent;



  box-shadow: none;



  color: var(--steel-blue, #2d7dd2);



  text-decoration: none;



}







.text-link:hover,



main .back-link:hover {



  background: transparent;



  color: #174e84;



  text-decoration: underline;



}







/* Primitivas para grupos de controles novos e existentes. */



.action-group {



  display: flex;



  flex-wrap: wrap;



  align-items: center;



  gap: var(--ux-control-gap);



}







.action-group--end {



  justify-content: flex-end;



}







.action-stack {



  display: grid;



  align-items: stretch;



  gap: var(--ux-stack-gap);



}







.control-row {



  display: flex;



  flex-wrap: wrap;



  align-items: center;



  justify-content: space-between;



  gap: var(--ux-control-gap);



}







/* Normalização dos agrupamentos legados que ainda aparecem em várias telas. */



:where(



  .profile-links,



  .auth-links,



  .login-links,



  .document-links,



  .evaluation-actions > div,



  .dialog-actions,



  .profile-edit-actions,



  .development-update-form > div,



  .development-validation-form > div,



  .cycle-form-actions,



  .model-run-actions,



  .criteria-selection-actions,



  .development-card footer,



  .development-history li > div



) {



  align-items: center;



  gap: var(--ux-control-gap);



}







:where(.profile-change-actions, .pending-actions, .user-actions) form + form {



  margin-top: var(--ux-stack-gap);



}







@media (max-width: 560px) {



  .action-group:not(.action-group--inline-mobile),



  .control-row {



    align-items: stretch;



    flex-direction: column;



  }







  .action-group:not(.action-group--inline-mobile) > :where(a, button) {



    width: 100%;



  }







  .text-link,



  main .text-link,



  main .back-link {



    width: fit-content;



  }



}











/* ==========================================================================



   Visão do dia (Daily Overview) & Dashboard Operacional



   ========================================================================== */







.daily-heading {



  display: flex;



  justify-content: space-between;



  align-items: center;



  gap: 16px;



  flex-wrap: wrap;



}







.daily-period-form label {



  display: flex;



  align-items: center;



  gap: 8px;



  color: var(--muted);



  font-size: 12px;



  font-weight: 500;



}







.daily-period-form select {



  min-width: 210px;



  padding: 8px 12px;



  border: 1px solid var(--line);



  border-radius: var(--radius-control);



  background: var(--white);



  color: var(--ink);



  font-size: 13px;



}







.daily-metrics {



  display: grid;



  grid-template-columns: repeat(4, minmax(0, 1fr));



  gap: 12px;



  margin: 18px 0;



}







.daily-metric-card {



  display: grid;



  align-content: center;



  gap: 4px;



  min-height: 96px;



  padding: 16px 18px;



  border: 1px solid var(--line);



  border-radius: var(--radius-card);



  background: var(--white);



  color: var(--ink);



  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);



}







.daily-metric-card strong {



  color: var(--deep-space-blue);



  font-size: 26px;



  font-weight: 700;



  line-height: 1;



}







.daily-metric-card span {



  font-size: 12px;



  font-weight: 600;



  color: var(--ink);



}







.daily-metric-card small {



  color: var(--muted);



  font-size: 11px;



}







.daily-metric-card.metric-attention {



  border-left: 4px solid var(--burnt-peach);



}







.daily-metric-card.metric-attention strong {



  color: var(--burnt-peach);



}







.daily-workspace {



  display: grid;



  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.95fr);



  align-items: stretch;



  gap: 16px;



  margin-top: 14px;



}







.priority-panel,



.movement-panel {



  background: var(--white);



  border: 1px solid var(--line);



  border-radius: var(--radius-card);



  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);



  overflow: hidden;



}







.panel-title {



  min-height: 62px;



  display: flex;



  align-items: center;



  justify-content: space-between;



  gap: 14px;



  padding: 14px 18px;



  border-bottom: 1px solid var(--line);



  background: var(--surface-soft, #fafcff);



}







.panel-title h2 {



  color: var(--deep-space-blue);



  font-size: 15px;



  font-weight: 650;



  margin: 0;



}







.panel-title span {



  display: block;



  color: var(--muted);



  font-size: 11px;



  margin-top: 2px;



}







.priority-list {



  display: grid;



}







.priority-row {



  display: grid;



  grid-template-columns: 36px minmax(0, 1fr) auto;



  align-items: center;



  gap: 12px;



  min-height: 84px;



  padding: 14px 18px;



  border-top: 1px solid var(--line);



}







.priority-row:first-child {



  border-top: 0;



}







.priority-row h3 {



  color: var(--deep-space-blue);



  font-size: 14px;



  font-weight: 600;



  margin: 2px 0;



}







.priority-row p {



  color: var(--muted);



  font-size: 11px;



  margin: 0;



}







.priority-type {



  display: inline-block;



  color: var(--muted);



  font-size: 10px;



  font-weight: 600;



  letter-spacing: 0.05em;



  text-transform: uppercase;



}







.priority-symbol {



  width: 32px;



  height: 32px;



  display: grid;



  place-items: center;



  border-radius: 50%;



  background: var(--surface-selected);



  color: var(--steel-blue);



  font-weight: 700;



  font-size: 14px;



}







.priority-row.critical .priority-symbol,



.priority-row.warning .priority-symbol {



  background: var(--ivory-mist);



  color: var(--burnt-peach);



}







.movement-timeline {



  list-style: none;



  padding: 0 18px;



  margin: 0;



}







.movement-timeline li {



  display: grid;



  grid-template-columns: 46px minmax(0, 1fr);



  gap: 14px;



  align-items: center;



  min-height: 68px;



  padding: 8px 0;



  border-bottom: 1px solid var(--line);



}







.movement-timeline li:last-child {



  border-bottom: 0;



}







.movement-timeline time {



  display: grid;



  place-items: center;



  align-content: center;



  width: 44px;



  height: 46px;



  border-radius: 8px;



  background: var(--surface-selected);



  color: var(--muted);



  font-size: 10px;



  text-transform: uppercase;



}







.movement-timeline time strong {



  color: var(--deep-space-blue);



  font-size: 16px;



  line-height: 1;



}







.movement-timeline div strong {



  display: block;



  color: var(--deep-space-blue);



  font-size: 13px;



  font-weight: 600;



}







.movement-timeline div span {



  display: block;



  color: var(--muted);



  font-size: 11px;



  margin-top: 2px;



}







.movement-panel-footer {



  padding: 14px 18px;



  border-top: 1px solid var(--line);



  background: var(--surface-soft, #fafcff);



}







.empty-priority-state,



.movement-timeline .empty-timeline-item {

  grid-template-columns: minmax(0, 1fr);



  padding: 24px 18px;



  color: var(--muted);



  font-size: 12px;



  text-align: center;



}







@media (max-width: 900px) {



  .daily-workspace {



    grid-template-columns: 1fr;



  }



  .daily-metrics {



    grid-template-columns: repeat(2, minmax(0, 1fr));



  }



}







@media (max-width: 600px) {



  .daily-metrics {



    grid-template-columns: 1fr;



  }



  .daily-heading {



    flex-direction: column;



    align-items: stretch;



  }



  .priority-row {



    grid-template-columns: 32px minmax(0, 1fr);



  }



  .priority-row a.button {



    grid-column: 1 / -1;



    width: 100%;



    margin-top: 6px;



  }



}











/* ==========================================================================



   Minha fila (Evaluator Work Queue)



   ========================================================================== */







.evaluator-heading {



  display: flex;



  justify-content: space-between;



  align-items: center;



  gap: 16px;



  flex-wrap: wrap;



}







.queue-filter-form label {



  display: flex;



  align-items: center;



  gap: 8px;



  color: var(--muted);



  font-size: 12px;



  font-weight: 500;



}







.queue-filter-form select {



  min-width: 170px;



  padding: 8px 12px;



  border: 1px solid var(--line);



  border-radius: var(--radius-control);



  background: var(--white);



  color: var(--ink);



  font-size: 13px;



}







.queue-summary {



  display: grid;



  grid-template-columns: repeat(3, minmax(0, 1fr));



  gap: 1px;



  margin: 18px 0;



  overflow: hidden;



  border: 1px solid var(--line);



  border-radius: var(--radius-card);



  background: var(--line);



  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);



}







.queue-summary > div {



  min-height: 80px;



  display: grid;



  align-content: center;



  gap: 4px;



  padding: 16px 20px;



  background: var(--white);



}







.queue-summary strong {



  color: var(--deep-space-blue);



  font-size: 24px;



  font-weight: 700;



  line-height: 1;



}







.queue-summary span {



  color: var(--muted);



  font-size: 11px;



}







.queue-summary .summary-attention strong {



  color: var(--burnt-peach);



}







.queue-panel {



  overflow: hidden;



  border: 1px solid var(--line);



  border-radius: var(--radius-card);



  background: var(--white);



  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);



}







.queue-panel-heading {



  min-height: 62px;



  display: flex;



  align-items: center;



  justify-content: space-between;



  gap: 14px;



  padding: 14px 18px;



  border-bottom: 1px solid var(--line);



  background: var(--surface-soft, #fafcff);



}







.queue-panel-heading h2 {



  color: var(--deep-space-blue);



  font-size: 15px;



  font-weight: 650;



  margin: 0;



}







.queue-panel-heading div span {



  display: block;



  margin-top: 2px;



  color: var(--muted);



  font-size: 11px;



}







.queue-total {



  padding: 4px 10px;



  border-radius: var(--radius-pill);



  background: var(--surface-selected);



  color: var(--steel-blue);



  font-size: 11px;



  font-weight: 650;



}







.work-queue {



  list-style: none;



  padding: 0;



  margin: 0;



}







.queue-item {



  display: grid;



  grid-template-columns: 36px minmax(0, 1fr) 120px auto;



  align-items: center;



  gap: 14px;



  min-height: 84px;



  padding: 14px 18px;



  border-top: 1px solid var(--line);



}







.queue-item:first-child {



  border-top: 0;



}







.queue-kind {



  width: 32px;



  height: 32px;



  display: grid;



  place-items: center;



  border-radius: 50%;



  background: var(--surface-selected);



  color: var(--steel-blue);



  font-weight: 700;



  font-size: 14px;



}







.queue-kind.overdue {



  background: var(--ivory-mist);



  color: var(--burnt-peach);



}







.queue-copy > span {



  color: var(--muted);



  font-size: 10px;



  font-weight: 600;



  letter-spacing: 0.05em;



  text-transform: uppercase;



}







.queue-copy h3 {



  margin: 2px 0;



  color: var(--deep-space-blue);



  font-size: 14px;



  font-weight: 600;



}







.queue-copy p {



  color: var(--muted);



  font-size: 11px;



  margin: 0;



}







.queue-deadline {



  color: var(--muted);



  font-size: 11px;



  text-align: right;



}







.queue-deadline.attention,



.queue-deadline.overdue {



  color: var(--burnt-peach);



  font-weight: 600;



}







.queue-empty {



  padding: 32px 18px;



  color: var(--muted);



  font-size: 13px;



  text-align: center;



}







@media (max-width: 760px) {



  .queue-item {



    grid-template-columns: 36px minmax(0, 1fr);



  }



  .queue-deadline {



    grid-column: 2;



    text-align: left;



  }



  .queue-item a.button {



    grid-column: 1 / -1;



    width: 100%;



    margin-top: 4px;



  }



}







@media (max-width: 600px) {



  .evaluator-heading {



    flex-direction: column;



    align-items: stretch;



  }



  .queue-summary {



    grid-template-columns: 1fr;



  }



}











/* ==========================================================================



   Frentes Embarcadas (Grade Operacional)



   ========================================================================== */







.onboard-heading {



  display: flex;



  flex-wrap: wrap;



  align-items: center;



  justify-content: space-between;



  gap: var(--ux-control-gap);



  margin-bottom: 20px;



}







.onboard-filters-panel {



  background: var(--white);



  border: 1px solid var(--line);



  border-radius: var(--radius);



  padding: 16px;



  margin-bottom: 24px;



  box-shadow: var(--shadow-card);



}







.fleet-filters {



  display: flex;



  flex-wrap: wrap;



  align-items: flex-end;



  gap: 16px;



}







.fleet-filters label {



  display: flex;



  flex-direction: column;



  gap: 6px;



  color: var(--muted);



  font-size: 12px;



  font-weight: 500;



}







.fleet-filters label:first-child {



  flex: 1;



  min-width: 220px;



}







.fleet-filters input[type="search"],



.fleet-filters select {



  min-height: 40px;



  padding: 8px 12px;



  background: var(--white);



  color: var(--ink);



  border: 1px solid var(--line);



  border-radius: 8px;



  font: inherit;



  font-size: 13px;



}







.fleet-filter-actions {



  display: flex;



  align-items: center;



  gap: 12px;



  margin-bottom: 2px;



}







.onboard-grid {



  display: grid;



  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));



  gap: 20px;



  align-items: start;



}







.onboard-card {



  background: var(--white);



  border: 1px solid var(--line);



  border-radius: var(--radius);



  box-shadow: var(--shadow-card);



  overflow: hidden;



  display: flex;



  flex-direction: column;



}







.front-card-header {



  display: flex;



  align-items: center;



  justify-content: space-between;



  padding: 16px;



  background: var(--surface-soft);



  border-bottom: 1px solid var(--line);



  gap: 12px;



}







.front-card-identity {



  display: flex;



  align-items: center;



  gap: 12px;



  min-width: 0;



}







.front-symbol {



  width: 40px;



  height: 40px;



  border-radius: 8px;



  background: var(--deep-space-blue);



  color: var(--white);



  display: flex;



  align-items: center;



  justify-content: center;



  font-weight: 700;



  font-size: 16px;



  flex-shrink: 0;



}







.front-card-identity h2 {



  font-size: 16px;



  margin: 0;



  color: var(--deep-space-blue);



  font-weight: 600;



  white-space: nowrap;



  overflow: hidden;



  text-overflow: ellipsis;



}







.front-code-badge {



  font-size: 11px;



  color: var(--muted);



}







.front-headcount-badge {



  background: rgba(45, 125, 210, 0.1);



  color: var(--steel-blue);



  border-radius: 8px;



  padding: 6px 10px;



  text-align: center;



  flex-shrink: 0;



}







.front-headcount-badge strong {



  display: block;



  font-size: 18px;



  line-height: 1;



}







.front-headcount-badge span {



  font-size: 10px;



  text-transform: uppercase;



  letter-spacing: 0.5px;



}







.front-card-contract {



  padding: 12px 16px;



  background: #fbfcfd;



  border-bottom: 1px solid var(--line);



  display: flex;



  flex-direction: column;



  gap: 3px;



  font-size: 12px;



}







.contract-ref strong {



  color: var(--deep-space-blue);



}







.client-name {



  color: var(--ink);



  font-weight: 500;



}







.contract-period {



  color: var(--muted);



  font-size: 11px;



}







.front-card-requirements {



  padding: 10px 16px;



  background: #fafafc;



  border-bottom: 1px solid var(--line);



  font-size: 11px;



}







.requirements-title {



  display: block;



  font-weight: 600;



  color: var(--muted);



  margin-bottom: 6px;



  text-transform: uppercase;



  font-size: 10px;



  letter-spacing: 0.4px;



}







.front-card-content {



  padding: 16px;



  flex: 1;



}







.onboard-shifts {



  display: flex;



  flex-direction: column;



  gap: 16px;



}







.onboard-shift-header {



  display: flex;



  align-items: center;



  justify-content: space-between;



  margin-bottom: 10px;



  padding-bottom: 6px;



  border-bottom: 1px dashed var(--line);



}







.onboard-shift-header h3 {



  font-size: 13px;



  font-weight: 600;



  color: var(--deep-space-blue);



  margin: 0;



}







.shift-headcount {



  font-size: 11px;



  font-weight: 600;



  padding: 2px 8px;



  border-radius: 12px;



}







.headcount-complete {



  background: #e8f5ee;



  color: #176b45;



}







.headcount-incomplete {



  background: #fff3c4;



  color: #715400;



}







.onboard-supervisors {



  display: flex;



  flex-direction: column;



  gap: 10px;



}







.onboard-supervisor {



  display: grid;



  grid-template-columns: 38px 1fr auto;



  gap: 10px;



  align-items: start;



  padding: 10px 12px;



  background: var(--surface-soft);



  border: 1px solid var(--line);



  border-radius: 8px;



}







.onboard-supervisor .portrait {



  width: 38px;



  height: 38px;



  border-radius: 50%;



  background: #e4e9f0;



  color: var(--deep-space-blue);



  display: flex;



  align-items: center;



  justify-content: center;



  font-weight: 600;



  font-size: 13px;



}







.sup-card-info {



  display: flex;



  flex-direction: column;



  gap: 3px;



  min-width: 0;



}







.sup-card-name {



  font-size: 13px;



  font-weight: 600;



  color: var(--ink);



  margin: 0;



}







.sup-level-pill {



  font-size: 11px;



  color: var(--muted);



}







.onboard-dates {



  font-size: 10px;



  color: var(--muted);



}







.sup-card-score {



  display: inline-flex;



  align-items: baseline;



  gap: 4px;



  font-size: 11px;



  line-height: 1.2;



}







.sup-card-score .score-label {



  font-size: 11px;



  font-weight: 500;



  color: var(--muted, #64748b);



}







.sup-card-score .score-value {



  font-size: 13px;



  font-weight: 700;



  color: var(--color-brand-deep-space-blue, #06253d);



  font-variant-numeric: tabular-nums;



  letter-spacing: -0.01em;



}







.sup-card-score .score-scale {



  font-size: 10px;



  font-weight: 500;



  color: var(--muted, #64748b);



  opacity: 0.85;



}







.sup-card-score .score-empty {



  font-size: 11px;



  color: var(--muted, #64748b);



  font-style: italic;



}







.familiarity-score {



  background: rgba(45, 125, 210, 0.08);



  color: var(--deep-space-blue);



  border-radius: 6px;



  padding: 4px 6px;



  text-align: center;



  min-width: 65px;



}







.familiarity-score strong {



  display: block;



  font-size: 14px;



  font-weight: 700;



  line-height: 1.1;



}







.familiarity-score small {



  display: block;



  font-size: 9px;



  color: var(--muted);



  text-transform: uppercase;



}







.sup-tags {



  grid-column: 1 / -1;



  display: flex;



  flex-wrap: wrap;



  gap: 4px;



  margin-top: 4px;



}







.tag-qualif {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  line-height: 1.25;
  font-size: 10px;
  padding: 2px 6px;
  background: #ebf0f5;
  color: var(--ink);
  border-radius: 4px;
  font-weight: 500;
}







.tag-qualif.is-required {



  background: #e8f5ee;



  color: #176b45;



  font-weight: 600;



}







.empty-shift-notice {



  padding: 8px 10px;



  background: #f7f8fa;



  border: 1px dashed var(--line);



  border-radius: 6px;



  font-size: 11px;



  color: var(--muted);



}







.front-card-actions {



  padding: 12px 16px;



  border-top: 1px solid var(--line);



  background: var(--surface-soft);



  text-align: right;



  font-size: 12px;



}







.empty-fronts-state {



  grid-column: 1 / -1;



  padding: 48px 24px;



  text-align: center;



  background: var(--white);



  border: 1px solid var(--line);



  border-radius: var(--radius);



  color: var(--muted);



}







@media (max-width: 768px) {



  .onboard-heading {



    flex-direction: column;



    align-items: stretch;



  }



  .fleet-filters {



    flex-direction: column;



    align-items: stretch;



  }



  .fleet-filters label:first-child {



    min-width: 0;



  }



  .onboard-grid {



    grid-template-columns: 1fr;



  }



}











/* ==========================================================================



   Visão do Sistema & Calendário (Governança & Planejamento)



   ========================================================================== */







.system-heading {



  display: flex;



  flex-wrap: wrap;



  align-items: center;



  justify-content: space-between;



  gap: var(--ux-control-gap);



  margin-bottom: 20px;



}







.system-panel {



  min-width: 0;



  overflow: hidden;



  border: 1px solid var(--line);



  border-radius: var(--radius);



  background: var(--white);



  box-shadow: var(--shadow-card);



  margin-bottom: 24px;



}







.system-panel .panel-heading {



  min-height: 60px;



  display: flex;



  align-items: center;



  justify-content: space-between;



  gap: 12px;



  padding: 16px 20px;



  border-bottom: 1px solid var(--line);



  background: var(--surface-soft);



}







.system-panel .panel-heading h2 {



  color: var(--deep-space-blue);



  font-size: 16px;



  margin: 0;



}







.system-panel .panel-heading div > span {



  display: block;



  margin-top: 4px;



  color: var(--muted);



  font-size: 11px;



}







.system-priorities {



  display: flex;



  flex-direction: column;



}







.system-priority {



  display: grid;



  grid-template-columns: 36px minmax(0, 1fr) auto;



  align-items: center;



  gap: 14px;



  padding: 16px 20px;



  border-bottom: 1px solid var(--line);



}







.system-priority:last-child {



  border-bottom: 0;



}







.system-priority .priority-mark {



  width: 34px;



  height: 34px;



  display: grid;



  place-items: center;



  border-radius: 50%;



  background: var(--surface-selected);



  color: var(--steel-blue);



  font-weight: 700;



  font-size: 14px;



}







.system-priority.critical .priority-mark,



.system-priority.warning .priority-mark {



  background: #fff3c4;



  color: #715400;



}







.system-priority div > span {



  color: var(--muted);



  font-size: 10px;



  font-weight: 600;



  letter-spacing: .05em;



  text-transform: uppercase;



}







.system-priority h3 {



  margin: 3px 0;



  color: var(--deep-space-blue);



  font-size: 14px;



}







.system-priority p {



  color: var(--muted);



  font-size: 12px;



  margin: 0;



}







.calendar-heading {



  display: flex;



  align-items: center;



  justify-content: space-between;



  gap: 16px;



  padding: 16px 20px;



  border-bottom: 1px solid var(--line);



  background: var(--surface-soft);



}







.calendar-heading h2 {



  color: var(--deep-space-blue);



  font-size: 16px;



  margin: 0;



}







.calendar-heading > div:first-child span {



  display: block;



  margin-top: 4px;



  color: var(--muted);



  font-size: 11px;



}







.calendar-controls {



  display: flex;



  align-items: center;



  gap: 10px;



}







.calendar-controls strong {



  color: var(--deep-space-blue);



  font-size: 13px;



  min-width: 140px;



  text-align: center;



}







.calendar-nav-btn {



  width: 32px;



  height: 32px;



  min-height: 32px;



  display: inline-flex;



  align-items: center;



  justify-content: center;



  padding: 0;



  font-size: 14px;



  font-weight: 700;



}







.calendar-legend {



  display: flex;



  flex-wrap: wrap;



  justify-content: flex-end;



  gap: 16px;



  padding: 10px 20px;



  border-bottom: 1px solid var(--line);



  background: #fafafc;



}







.legend-item {



  display: inline-flex;



  align-items: center;



  gap: 6px;



  color: var(--muted);



  font-size: 11px;



}







.legend-item::before {



  content: '';



  width: 10px;



  height: 10px;



  border-radius: 2px;



  background: var(--surface-selected);



  border: 1px solid var(--steel-blue);



}







.legend-item.execution::before {



  background: #fff3c4;



  border-color: #e66c3f;



}







.legend-item.publication::before {



  background: var(--deep-space-blue);



  border-color: var(--deep-space-blue);



}







.calendar-scroll {



  overflow-x: auto;



}







.model-calendar {



  min-width: 760px;



  display: flex;



  flex-direction: column;



}







.calendar-weekdays {



  display: grid;



  grid-template-columns: repeat(7, minmax(0, 1fr));



  border-bottom: 1px solid var(--line);



  background: var(--surface-soft);



}







.calendar-weekdays span {



  padding: 10px 12px;



  color: var(--muted);



  font-size: 11px;



  font-weight: 600;



  text-transform: uppercase;



  text-align: center;



}







.calendar-days {



  display: grid;



  grid-template-columns: repeat(7, minmax(0, 1fr));



}







.calendar-day {



  min-height: 96px;



  padding: 8px;



  border-right: 1px solid var(--line);



  border-bottom: 1px solid var(--line);



  background: var(--white);



  display: flex;



  flex-direction: column;



  gap: 4px;



}







.calendar-day:nth-child(7n) {



  border-right: 0;



}







.calendar-day time {



  font-size: 11px;



  font-weight: 600;



  color: var(--muted);



}







.calendar-day.today time {



  color: var(--steel-blue);



  font-weight: 700;



}







.calendar-day.outside {



  background: var(--surface-soft);



  opacity: 0.65;



}







.calendar-day.execution-day {



  background: linear-gradient(180deg, #fffbf0, var(--white));



  box-shadow: inset 0 3px var(--burnt-peach);



}







.calendar-event-tag {



  display: flex;



  align-items: center;



  gap: 4px;



  padding: 3px 6px;



  border-radius: 4px;



  font-size: 10px;



  font-weight: 600;



  line-height: 1.2;



  overflow: hidden;



  text-overflow: ellipsis;



  white-space: nowrap;



}







.calendar-event-tag.evaluation {



  background: var(--surface-selected);



  color: var(--steel-blue);



  border: 1px solid rgba(45, 125, 210, 0.25);



}







.calendar-event-tag.execution {



  background: #fff3c4;



  color: #a04e00;



  border: 1px solid rgba(230, 108, 63, 0.3);



}







.calendar-event-tag.publication {



  background: var(--deep-space-blue);



  color: var(--white);



}







.calendar-event-tag .event-dot {



  width: 6px;



  height: 6px;



  border-radius: 50%;



  flex-shrink: 0;



  background: currentColor;



}







.calendar-event-tag .event-text {



  overflow: hidden;



  text-overflow: ellipsis;



  white-space: nowrap;



}







@media (max-width: 768px) {



  .system-heading {



    flex-direction: column;



    align-items: stretch;



  }



  .system-priority {



    grid-template-columns: 36px 1fr;



  }



  .system-priority .button {



    grid-column: 1 / -1;



    width: 100%;



  }



  .calendar-heading {



    flex-direction: column;



    align-items: stretch;



  }



  .calendar-controls {



    justify-content: space-between;



    width: 100%;



  }



  .calendar-legend {



    justify-content: flex-start;



  }



}





/* Drag and Drop no Montador de Frentes */

.builder-supervisor-card[draggable="true"] {

  cursor: grab;

}



.builder-supervisor-card[draggable="true"]:active {

  cursor: grabbing;

}



.builder-supervisor-card.is-dragging {

  opacity: 0.35;

  transform: scale(0.96);

}



.builder-empty-slot.is-drop-target,

.builder-card-grid.is-drop-target,

.builder-role-group.is-drop-target {

  border-color: var(--brand-real-blue, #1164b4) !important;

  background: #e0f2fe !important;

  transform: scale(1.008);

  transition: all 0.15s ease;

}



.builder-pool.is-drop-target {

  box-shadow: 0 0 0 2px var(--brand-real-blue, #1164b4);

  border-radius: var(--radius-card, 8px);

}



/* Toast de Feedback Dinâmico no Montador */

.draft-feedback {

  display: none;

  padding: 10px 16px;

  border-radius: var(--radius-card, 8px);

  font-size: 13px;

  font-weight: 600;

  margin-bottom: 16px;

  transition: all 0.2s ease;

}



.draft-feedback.is-visible {

  display: block;

}



.draft-feedback.is-success {

  background: #f0fdf4;

  color: #166534;

  border: 1px solid #bbf7d0;

}



.draft-feedback.is-error {

  background: #fef2f2;

  color: #991b1b;

  border: 1px solid #fecaca;

}



/* Equipes Analíticas: Detalhes da Equipe */
.pair-metrics .team-members-span2 {
  grid-column: span 2;
}

@media (max-width: 700px) {
  .pair-metrics .team-members-span2 {
    grid-column: 1 / -1;
  }
}


/* Padronização visual da tabela de equipes com a tabela de duplas */
.analytical-teams-table td:nth-child(2),
.analytical-teams-table td:nth-child(3) {
  min-width: 180px;
  font-weight: normal;
}
.analytical-teams-table td:nth-child(4),
.analytical-teams-table td:nth-child(5) {
  color: var(--deep-space-blue);
  font-weight: 750;
}
.analytical-teams-table th:nth-child(5),
.analytical-teams-table td:nth-child(5) {
  text-align: left;
}


/* ==========================================================================
   Parâmetros operacionais por equipe (protótipo experimentável)
   ========================================================================== */
.operational-view-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0 0 16px;
  border-bottom: 1px solid #dbe5f1;
}
.operational-view-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  margin-bottom: -1px;
  border-bottom: 2px solid transparent;
  color: var(--muted, #52667a);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.operational-view-tab:hover { color: var(--brand-deep-space-blue, #06253d); }
.operational-view-tab.active {
  color: var(--brand-real-blue, #1164b4);
  border-bottom-color: var(--brand-real-blue, #1164b4);
}
.sandbox-badge {
  padding: 2px 7px;
  border-radius: 999px;
  background: #fff1e8;
  color: #c2410c;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.team-params-panel { display: flex; flex-direction: column; gap: 18px; }
.team-sandbox-banner {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 10px 14px;
  border: 1px dashed #f5b48a;
  border-radius: 8px;
  background: #fff8f3;
  color: #7c2d12;
  font-size: 13px;
}
.team-params-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px;
}
.team-front-select { display: flex; flex-direction: column; gap: 6px; flex: 1 1 320px; font-size: 12px; font-weight: 700; }
.team-month-select { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 700; }
.team-front { display: flex; flex-direction: column; gap: 16px; }
.team-front-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--muted, #52667a); font-size: 13px; }
.team-regime { font-weight: 700; color: var(--brand-real-blue, #1164b4); }
.team-shift-pills.slicer-group {
  display: inline-grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(120px, auto);
  grid-template-columns: none;
  width: auto;
  align-self: flex-start;
}
.team-shift-pills .segment-option {
  border: 0;
  background: transparent;
  color: var(--muted, #52667a);
  cursor: pointer;
  box-shadow: none;
}
.team-shift-pills .segment-option.active {
  background: var(--brand-real-blue, #1164b4);
  color: #fff;
}
.team-shift { display: flex; flex-direction: column; gap: 16px; }
.supervisors-team-card {
  padding: 14px 16px;
  border: 1px solid #cfe0f4;
  border-left: 4px solid var(--brand-real-blue, #1164b4);
  border-radius: 10px;
  background: #f6faff;
}
.supervisors-team-card > header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 12px; }
.supervisors-team-card h2 { margin: 0; font-size: 15px; }
.supervisors-team-card > header span { color: var(--muted, #52667a); font-size: 12px; }
.supervisors-team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.supervisor-lead {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #e1ebf6;
}
.supervisor-lead .builder-avatar { background: var(--brand-real-blue, #1164b4); color: #fff; }
.supervisor-lead div { display: flex; flex-direction: column; gap: 2px; }
.supervisor-lead small { color: var(--muted, #52667a); }
.team-shift-summary { display: flex; flex-wrap: wrap; gap: 18px; font-size: 13px; color: var(--muted, #52667a); }
.team-shift-summary strong { color: var(--brand-deep-space-blue, #06253d); }
/* Tabela Mestre Tática de Alta Densidade (Data Grid) */
.team-grid-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: 1px solid #e1ebf6;
  border-radius: 8px;
  background: #f8fafc;
}
.team-grid-search-box {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1 1 auto;
  height: 36px;
  min-width: 180px;
  padding: 0 10px;
  background: #fff;
  border: 1px solid #cbdcf1;
  border-radius: 6px;
  box-sizing: border-box;
}
.team-grid-search-box .search-icon {
  color: var(--muted, #52667a);
  flex-shrink: 0;
}
.team-grid-search {
  width: 100%;
  border: 0;
  outline: 0;
  padding: 2px 0;
  font-size: 13px;
  background: transparent;
  min-height: auto;
}
.team-grid-filter-box {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted, #52667a);
}
.team-status-filter {
  min-height: 32px;
  padding: 2px 8px;
  font-size: 12px;
  border-radius: 6px;
  border: 1px solid #cbdcf1;
  background: #fff;
  font-weight: 600;
  color: var(--brand-deep-space-blue, #06253d);
}
.team-grid-count-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
}
.count-badge-complete {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}
.count-badge-pending {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #fffbeb;
  color: #b45309;
  border: 1px solid #fde68a;
}
.team-grid-totals-pill {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
  font-size: 12px;
  color: var(--muted, #52667a);
}
.team-grid-totals-pill strong {
  color: var(--brand-deep-space-blue, #06253d);
}

.team-data-grid-wrap {
  overflow-x: auto;
  border: 1px solid #e1ebf6;
  border-radius: 10px;
  background: #fff;
}
.team-data-grid-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  text-align: left;
}
.team-data-grid-table thead th {
  padding: 10px 12px;
  background: #f1f5fa;
  border-bottom: 2px solid #cbdcf1;
  color: var(--brand-deep-space-blue, #06253d);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  white-space: nowrap;
}
.team-data-grid-table tbody td {
  padding: 10px 12px;
  border-bottom: 1px solid #eef3f9;
  vertical-align: middle;
}
.team-data-grid-table tbody tr:hover {
  background: #f8fbff;
}
.team-data-grid-table tr.row-diver-first td {
  border-top: 1px solid #cbdcf1;
}
.team-data-grid-table tr.row-diver-subsequent {
  background: #fafcfe;
}
.team-data-grid-table tr[data-new] {
  background: #fffaf5;
}

.diver-cell-identity {
  display: flex;
  align-items: center;
  gap: 10px;
}
.diver-cell-identity .builder-avatar {
  background: #e8f1fb;
  color: var(--brand-real-blue, #1164b4);
  width: 32px;
  height: 32px;
  font-size: 11px;
  flex-shrink: 0;
}
.diver-cell-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.diver-cell-text strong {
  color: var(--brand-deep-space-blue, #06253d);
  font-size: 13px;
  white-space: nowrap;
}
.diver-cell-text small {
  color: var(--muted, #52667a);
  font-size: 11px;
}
.diver-cell-subsequent {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-left: 18px;
}
.diver-subsequent-indicator {
  color: var(--brand-real-blue, #1164b4);
  font-weight: 800;
  font-size: 14px;
}

.embark-period {
  font-family: "DM Mono", monospace;
  font-size: 12px;
  white-space: nowrap;
  color: var(--brand-deep-space-blue, #06253d);
}
.embark-days-pill {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 4px;
  background: #f1f5fa;
  color: #475569;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 750;
  white-space: nowrap;
}
.status-pill.is-complete {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}
.status-pill.is-pending {
  background: #fffbeb;
  color: #b45309;
  border: 1px solid #fde68a;
}
.status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.dive-stepper {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.dive-stepper input {
  width: 48px;
  min-height: 28px;
  padding: 2px 4px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  border: 1px solid #cbdcf1;
  border-radius: 4px;
}
.stepper-btn {
  width: 24px;
  height: 24px;
  min-height: 0;
  padding: 0;
  border: 1px solid #cfe0f4;
  border-radius: 4px;
  background: #f6faff;
  color: var(--brand-real-blue, #1164b4);
  font-weight: 800;
  line-height: 1;
  box-shadow: none;
  cursor: pointer;
}
.stepper-btn:hover {
  background: #e0f2fe;
}

.integration-badge, .manual-badge {
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
.integration-badge {
  background: #e7f6ee;
  color: #15803d;
}
.manual-badge {
  background: #fff1e8;
  color: #c2410c;
}

.team-data-grid-table thead th.th-front,
.team-data-grid-table tbody td.td-front {
  white-space: nowrap;
}

.team-front-pill {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 6px;
  background: #f1f5fa;
  color: var(--brand-deep-space-blue, #06253d);
  border: 1px solid #cbdcf1;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

.compact-action-link {
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
}
.remove-embark-btn {
  border: 0;
  background: none;
  padding: 0;
  min-height: 0;
  color: #b91c1c;
  font-size: 12px;
  cursor: pointer;
  box-shadow: none;
}

.embark-dates {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.embark-dates input {
  min-height: 28px;
  padding: 2px 6px;
  font-size: 11px;
}

.team-params-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid #e1ebf6;
}
.team-params-footer button {
  width: auto;
}
.team-sandbox-status {
  margin-right: auto;
  font-size: 13px;
  font-weight: 700;
  color: var(--muted, #52667a);
}
.team-sandbox-status.is-dirty { color: #c2410c; }
.team-sandbox-status.is-saved { color: #15803d; }

.team-front[hidden],
.team-shift[hidden] {
  display: none;
}

@media (max-width: 800px) {
  .team-grid-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .team-grid-totals-pill {
    margin-left: 0;
  }
  .team-shift-pills.slicer-group {
    width: 100%;
    grid-auto-columns: 1fr;
  }
}

.builder-confirm-dialog {
  width: min(540px, calc(100vw - 32px));
}
.builder-dialog-warning {
  color: var(--ink, #06253d);
  font-weight: 600;
  margin: 12px 0 14px;
}
.builder-dialog-issues {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: var(--radius-sm, 6px);
  padding: 12px 14px 12px 28px;
  margin: 0 0 20px;
  color: #991b1b;
  font-size: 13px;
  line-height: 1.5;
}
.builder-dialog-issues li + li {
  margin-top: 4px;
}

/* Keep intrinsic table widths inside their scroll region, including grid items. */
main, main > *, .panel, .panel > *, .integrations-main,
.integration-view > *, .team-params-panel [data-team-front],
.team-params-panel [data-team-panel] { min-width: 0; }
main > *, .panel, .table-wrap, .team-data-grid-wrap { max-width: 100%; box-sizing: border-box; }
.table-wrap, .team-data-grid-wrap { overflow-x: auto; position: relative; }
.table-wrap:focus-visible { outline: 2px solid var(--color-border-focus); outline-offset: 2px; }
.builder-toolbar > .form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.builder-toolbar label, .builder-toolbar input, .builder-toolbar select,
.contract-needs-fieldset, .contract-needs-grid, .team-params-toolbar > * { min-width: 0; max-width: 100%; }
.operational-events-view { grid-template-columns: minmax(0, 1fr) !important; }
.integration-tabs, .operational-view-tabs { max-width: 100%; flex-wrap: wrap; }
.integration-tab-button { white-space: normal; text-align: center; }
.team-params-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.team-params-toolbar label, .team-dive-form { display: grid; gap: 8px; }
.team-dive-form { min-width: 220px; padding-block: 12px; }
.team-shift-pills { display: flex; gap: 8px; flex-wrap: wrap; margin-block: 16px; }
.team-shift-pills [aria-pressed="true"] { outline: 2px solid var(--color-brand-steel-blue); outline-offset: 2px; }
.team-grid-toolbar { display: block; }
.team-data-grid-table th, .team-data-grid-table td { position: static; }
.team-data-grid-table { min-width: 900px; }
@media (max-width: 900px) {
  .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .builder-toolbar > .form-grid, .team-params-toolbar { grid-template-columns: minmax(0, 1fr) !important; }
  .supervisor-create-panel form.form-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .supervisor-create-panel form.form-grid > * { grid-column: 1 / -1 !important; min-width: 0 !important; max-width: 100%; }
  .supervisor-create-panel form.form-grid input:not([type="checkbox"]):not([type="radio"]), .supervisor-create-panel form.form-grid select { width: 100%; min-width: 0 !important; box-sizing: border-box; }
  .supervisor-create-panel .checkbox-option input[type="checkbox"] { width: 20px; min-width: 20px !important; flex: 0 0 20px; }
  .supervisor-create-panel .checkbox-option span { min-width: 0; flex: 1; overflow-wrap: anywhere; }
  .contract-needs-fieldset { width: auto !important; }
  .contract-needs-grid { grid-template-columns: minmax(0, 1fr); }
  .team-params-panel .team-grid-toolbar { min-width: 0; }
  .model-calendar { min-width: 0; }
  .calendar-weekdays, .calendar-days { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .calendar-day { min-width: 0; }
  .calendar-weekdays span { font-size: 11px; padding-inline: 0; }
  .calendar-event-tag { max-width: 100%; }
  .calendar-event-tag .event-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
}

.cloud-sheet-setup { max-width: 1100px; margin-inline: auto; }
.cloud-sheet-setup .panel { margin-block: 24px; }
.cloud-sheet-setup .form-grid > .form-help,
.cloud-sheet-setup .form-grid > p,
.cloud-sheet-setup .form-grid > .action-group { grid-column: 1 / -1; }
.sheet-steps { display: flex; flex-wrap: wrap; gap: 12px 32px; padding-inline-start: 24px; }
.sheet-preview-scroll { overflow: auto; max-height: 340px; }
.sheet-preview-scroll table { min-width: 100%; }
.sheet-preview-scroll th, .sheet-preview-scroll td { max-width: 280px; overflow-wrap: anywhere; }
.sheet-preview-scroll:focus-visible { outline: 2px solid var(--color-border-focus); outline-offset: 2px; }
@media (max-width: 640px) {
  .cloud-sheet-setup .form-grid { grid-template-columns: minmax(0, 1fr); }
  .cloud-sheet-setup input, .cloud-sheet-setup select { min-width: 0; width: 100%; }
}
