.nav-link{display:block;border-radius:8px;padding:.62rem .8rem;color:rgb(212 212 216);font-weight:650;font-size:.92rem}
.nav-link:hover{background:rgba(255,255,255,.08);color:white}
.nav-active{background:rgb(185 28 28);color:white}
.card,.panel{background:white;border:1px solid rgb(228 228 231);border-radius:10px;box-shadow:0 12px 30px rgba(24,24,27,.06)}
.card{padding:1.15rem}.panel{padding:1.25rem}
.panel-head{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:1rem}
.panel-head h3{font-size:1.05rem;font-weight:800;color:rgb(24 24 27)}
.table{width:100%;border-collapse:collapse;font-size:.9rem}
.table th{text-align:left;padding:.75rem;color:rgb(82 82 91);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid rgb(228 228 231)}
.table td{padding:.78rem .75rem;border-bottom:1px solid rgb(244 244 245);vertical-align:top}
.input{width:100%;border:1px solid rgb(212 212 216);border-radius:8px;padding:.62rem .75rem;background:white;min-height:2.55rem}
.label{display:block;font-size:.78rem;font-weight:800;color:rgb(82 82 91);margin-bottom:.35rem}
.btn-primary,.btn-secondary,.btn-danger,.btn-muted{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:.65rem .95rem;font-weight:800;font-size:.86rem;border:0;cursor:pointer;white-space:nowrap}
.btn-primary{background:rgb(220 38 38);color:white}.btn-secondary{background:rgb(24 24 27);color:white}.btn-danger{background:rgb(239 68 68);color:white}.btn-muted{background:rgb(244 244 245);color:rgb(24 24 27)}
.badge{display:inline-flex;border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:900}
.badge-ativo,.badge-pago,.badge-aprovado{background:rgb(220 252 231);color:rgb(22 101 52)}
.badge-pendente,.badge-planejada{background:rgb(254 249 195);color:rgb(133 77 14)}
.badge-substituido,.badge-em{background:rgb(219 234 254);color:rgb(29 78 216)}
.badge-encerrado,.badge-desligado,.badge-bloqueado,.badge-cancelado,.badge-reprovado{background:rgb(254 226 226);color:rgb(153 27 27)}
.badge-concluida{background:rgb(229 231 235);color:rgb(55 65 81)}
.flash{border-radius:8px;padding:.85rem 1rem;margin-bottom:1rem;font-weight:800}.flash-success{background:rgb(220 252 231);color:rgb(22 101 52)}.flash-error{background:rgb(254 226 226);color:rgb(153 27 27)}
.form-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}}
.actions{display:flex;gap:.45rem;flex-wrap:wrap}.empty{text-align:center;color:rgb(113 113 122);padding:2rem!important}
.bar{height:.7rem;border-radius:999px;background:rgb(220 38 38)}.track{height:.7rem;border-radius:999px;background:rgb(244 244 245);overflow:hidden}


/* UX Cadastro Guiado */
.ux-grid { display: grid; gap: 1rem; }
.ux-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .ux-grid-4 { grid-template-columns: 1fr; } }

.ux-card {
  background: #fff;
  border: 1px solid #e4e4e7;
  border-radius: 1.25rem;
  padding: 1.15rem;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .06);
}

.ux-card.dark {
  background: #09090b;
  color: #fff;
  border-color: #27272a;
}

.ux-card-title {
  font-size: 1rem;
  font-weight: 900;
  color: #18181b;
  margin-bottom: .35rem;
}

.ux-card.dark .ux-card-title { color: #fff; }

.ux-muted {
  color: #71717a;
  font-size: .9rem;
}

.ux-kpi {
  font-size: 2rem;
  font-weight: 950;
  letter-spacing: -0.04em;
  color: #18181b;
}

.ux-help {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  padding: .85rem 1rem;
  border-radius: 1rem;
  font-size: .9rem;
}

.ux-form-section {
  border: 1px solid #e4e4e7;
  border-radius: 1.25rem;
  padding: 1rem;
  background: #fff;
}

.ux-form-section h3 {
  font-size: 1rem;
  font-weight: 900;
  color: #18181b;
  margin-bottom: .75rem;
}

.ux-actions-row {
  display: flex;
  gap: .45rem;
  flex-wrap: wrap;
  align-items: center;
}

.ux-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .28rem .55rem;
  background: #f4f4f5;
  color: #27272a;
  font-size: .75rem;
  font-weight: 800;
}

.ux-pill.red { background: #fee2e2; color: #991b1b; }
.ux-pill.green { background: #dcfce7; color: #166534; }
.ux-pill.yellow { background: #fef9c3; color: #854d0e; }

.quick-action {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border-radius: 999px;
  padding: .65rem .95rem;
  font-weight: 800;
  font-size: .85rem;
  background: #18181b;
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.08);
}

.quick-action.primary { background: #dc2626; }
.quick-action.light { background: #fff; color: #18181b; border: 1px solid #e4e4e7; }


/* Upload de foto */
.upload-photo-box {
  display: flex;
  align-items: center;
  gap: 1rem;
  border: 1px dashed #d4d4d8;
  border-radius: 1rem;
  padding: 1rem;
  background: #fafafa;
}

.upload-photo-preview {
  width: 88px;
  height: 88px;
  border-radius: 999px;
  object-fit: cover;
  border: 3px solid #fff;
  box-shadow: 0 10px 25px rgba(15, 23, 42, .15);
}

.table-avatar {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  object-fit: cover;
  display: flex;
  align-items: center;
  justify-content: center;
}

.avatar-placeholder {
  background: #18181b;
  color: #fff;
  font-weight: 900;
}


/* Evita conflito com classe logo antiga */
.logo.main-logo {
  display: none !important;
}


/* Logo imagem Porsche */
.sidebar-logo-porsche-img {
  padding: 18px 16px 20px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  margin-bottom: 12px;
}

.sidebar-logo-porsche-img a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-decoration: none;
}

.sidebar-logo-porsche-img img {
  width: 190px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Esconde logo textual antigo, se ainda existir */
.logo.main-logo {
  display: none !important;
}


/* Layout base Porsche corrigido */
* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  font-family: Inter, Arial, Helvetica, sans-serif;
  background: #f4f4f5;
  color: #18181b;
}

body {
  display: flex;
  min-height: 100vh;
  overflow-x: hidden;
}

/* Sidebar */
.sidebar {
  width: 252px;
  min-height: 100vh;
  position: fixed;
  inset: 0 auto 0 0;
  background: #09090b;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(255,255,255,.08);
  z-index: 20;
}

.sidebar-logo-porsche-img {
  padding: 20px 18px 22px 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 10px;
}

.sidebar-logo-porsche-img a {
  display: block;
  text-decoration: none;
}

.sidebar-logo-porsche-img img {
  width: 174px;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.sidebar-nav {
  padding: 6px 10px 24px 10px;
  overflow-y: auto;
}

.nav-section {
  margin-bottom: 18px;
}

.nav-section-title {
  padding: 8px 8px 7px 8px;
  font-size: 11px;
  line-height: 1;
  color: #a1a1aa;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.nav-link {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 9px 11px;
  border-radius: 9px;
  color: #e4e4e7;
  text-decoration: none;
  font-size: 13px;
  font-weight: 750;
  margin: 3px 0;
  transition: .15s ease;
}

.nav-link:hover {
  background: rgba(255,255,255,.08);
  color: #ffffff;
}

.nav-link.active {
  background: #dc2626;
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(220,38,38,.28);
}

/* Conteúdo */
.main-content {
  margin-left: 252px;
  width: calc(100% - 252px);
  min-height: 100vh;
  background: #f4f4f5;
}

.page-header {
  min-height: 104px;
  background: #ffffff;
  border-bottom: 1px solid #e4e4e7;
  padding: 26px 32px 22px 32px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.page-header h1 {
  margin: 6px 0 0 0;
  font-size: 25px;
  line-height: 1.15;
  font-weight: 900;
  color: #09090b;
  letter-spacing: -.035em;
}

.page-header p {
  margin: 5px 0 0 0;
  color: #71717a;
  font-size: 14px;
}

.breadcrumbs {
  color: #71717a;
  font-size: 12px;
  font-weight: 600;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.content-area {
  padding: 26px 32px 40px 32px;
}

/* Botões */
.quick-action,
.btn-primary,
.btn-secondary,
.btn-muted,
.btn-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 13px;
  border-radius: 9px;
  border: 0;
  text-decoration: none;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
  transition: .15s ease;
}

.quick-action.primary,
.btn-primary {
  background: #dc2626;
  color: #ffffff;
}

.quick-action.light,
.btn-muted {
  background: #f4f4f5;
  color: #27272a;
  border: 1px solid #e4e4e7;
}

.btn-secondary {
  background: #18181b;
  color: #ffffff;
}

.btn-danger {
  background: #b91c1c;
  color: #ffffff;
}

.btn-primary:hover,
.quick-action.primary:hover {
  background: #b91c1c;
}

/* Cards e painéis */
.panel,
.ux-card,
.ux-table-card {
  background: #ffffff;
  border: 1px solid #e4e4e7;
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .055);
}

.panel {
  margin-bottom: 18px;
}

.panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.panel-head h3,
.ux-card-title {
  margin: 0;
  font-size: 16px;
  font-weight: 900;
  color: #18181b;
}

.ux-muted {
  color: #71717a;
  font-size: 13px;
}

.ux-kpi {
  font-size: 30px;
  line-height: 1.1;
  font-weight: 950;
  letter-spacing: -.04em;
  margin-top: 8px;
}

.ux-grid {
  display: grid;
  gap: 16px;
}

.ux-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ux-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Formulários */
.form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.span-3 {
  grid-column: span 3;
}

.label {
  display: block;
  margin-bottom: 6px;
  color: #3f3f46;
  font-size: 12px;
  font-weight: 800;
}

.input,
select,
textarea {
  width: 100%;
  min-height: 38px;
  border: 1px solid #d4d4d8;
  border-radius: 10px;
  padding: 8px 10px;
  background: #ffffff;
  color: #18181b;
  font-size: 14px;
}

textarea.input,
textarea {
  min-height: 86px;
  resize: vertical;
}

.input:focus,
select:focus,
textarea:focus {
  outline: 2px solid rgba(220,38,38,.16);
  border-color: #dc2626;
}

/* Tabelas */
.table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.table th {
  text-align: left;
  padding: 11px 10px;
  border-bottom: 1px solid #e4e4e7;
  color: #52525b;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.table td {
  padding: 12px 10px;
  border-bottom: 1px solid #f1f1f2;
  vertical-align: middle;
}

.empty {
  text-align: center;
  color: #71717a;
  padding: 28px !important;
}

.badge,
.ux-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 4px 8px;
  background: #f4f4f5;
  color: #27272a;
  font-size: 11px;
  font-weight: 850;
}

.ux-pill.green {
  background: #dcfce7;
  color: #166534;
}

.ux-pill.yellow {
  background: #fef9c3;
  color: #854d0e;
}

.ux-pill.red {
  background: #fee2e2;
  color: #991b1b;
}

.actions,
.ux-actions-row {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

/* Alertas */
.alert {
  margin: 18px 32px 0 32px;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 14px;
  font-weight: 700;
}

.alert.success {
  background: #dcfce7;
  color: #166534;
}

.alert.error {
  background: #fee2e2;
  color: #991b1b;
}

/* Upload de foto */
.upload-photo-box {
  display: flex;
  align-items: center;
  gap: 1rem;
  border: 1px dashed #d4d4d8;
  border-radius: 1rem;
  padding: 1rem;
  background: #fafafa;
}

.upload-photo-preview {
  width: 88px;
  height: 88px;
  border-radius: 999px;
  object-fit: cover;
  border: 3px solid #fff;
  box-shadow: 0 10px 25px rgba(15, 23, 42, .15);
}

.table-avatar {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  object-fit: cover;
  display: flex;
  align-items: center;
  justify-content: center;
}

.avatar-placeholder {
  background: #18181b;
  color: #fff;
  font-weight: 900;
}

/* Responsivo */
@media (max-width: 1100px) {
  .sidebar {
    width: 230px;
  }

  .main-content {
    margin-left: 230px;
    width: calc(100% - 230px);
  }

  .ux-grid-3,
  .ux-grid-4 {
    grid-template-columns: 1fr;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .span-3 {
    grid-column: span 1;
  }
}

@media (max-width: 760px) {
  body {
    display: block;
  }

  .sidebar {
    position: relative;
    width: 100%;
    min-height: auto;
  }

  .main-content {
    margin-left: 0;
    width: 100%;
  }

  .page-header,
  .content-area {
    padding-left: 18px;
    padding-right: 18px;
  }
}


/* Dashboard visual Porsche */
.dash-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: linear-gradient(135deg, #09090b 0%, #18181b 58%, #7f1d1d 100%);
  color: #fff;
  border-radius: 18px;
  padding: 26px;
  margin-bottom: 22px;
  box-shadow: 0 22px 52px rgba(15, 23, 42, .18);
}

.dash-eyebrow {
  color: #fca5a5;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 8px;
}

.dash-hero h2 {
  margin: 0;
  font-size: 30px;
  line-height: 1.05;
  font-weight: 950;
  letter-spacing: -.045em;
}

.dash-hero p {
  max-width: 680px;
  margin: 10px 0 0 0;
  color: rgba(255, 255, 255, .76);
  font-size: 14px;
  line-height: 1.55;
}

.dash-hero-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.dash-hero .btn-muted {
  background: rgba(255,255,255,.1);
  color: #fff;
  border-color: rgba(255,255,255,.16);
}

.dash-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 22px;
}

.dash-kpi-card {
  background: #fff;
  border: 1px solid #e4e4e7;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .055);
}

.dash-kpi-top {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #52525b;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.dash-kpi-icon {
  width: 34px;
  height: 34px;
  border-radius: 11px;
  background: #f4f4f5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dash-kpi-card strong {
  display: block;
  margin-top: 14px;
  font-size: 28px;
  line-height: 1.05;
  font-weight: 950;
  letter-spacing: -.04em;
  color: #09090b;
}

.dash-kpi-foot {
  margin-top: 10px;
  font-size: 12px;
  color: #71717a;
}

.dash-grid-2 {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
}

.dash-panel {
  background: #fff;
  border: 1px solid #e4e4e7;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .055);
}

.dash-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}

.dash-panel-head h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 950;
  color: #09090b;
}

.dash-panel-head p {
  margin: 4px 0 0 0;
  font-size: 13px;
  color: #71717a;
}

.dash-flow {
  display: grid;
  gap: 10px;
}

.dash-flow-step {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid #e4e4e7;
  border-radius: 14px;
  text-decoration: none;
  color: #18181b;
  background: #fafafa;
  transition: .15s ease;
}

.dash-flow-step:hover {
  border-color: #dc2626;
  transform: translateX(2px);
}

.dash-flow-step span {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
  font-size: 12px;
}

.dash-flow-step strong {
  display: block;
  font-size: 14px;
  font-weight: 900;
}

.dash-flow-step small {
  display: block;
  margin-top: 2px;
  color: #71717a;
  font-size: 12px;
}

.dash-actions-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.dash-actions-grid a {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 11px 13px;
  border-radius: 13px;
  background: #f4f4f5;
  border: 1px solid #e4e4e7;
  text-decoration: none;
  color: #18181b;
  font-size: 13px;
  font-weight: 850;
}

.dash-actions-grid a:hover {
  background: #fee2e2;
  border-color: #fecaca;
}

.dash-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.dash-summary-grid div {
  background: #fafafa;
  border: 1px solid #e4e4e7;
  border-radius: 14px;
  padding: 15px;
}

.dash-summary-grid span {
  display: block;
  color: #71717a;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.dash-summary-grid strong {
  display: block;
  margin-top: 8px;
  color: #18181b;
  font-size: 18px;
  font-weight: 950;
}

.dash-summary-grid small {
  display: block;
  margin-top: 6px;
  color: #71717a;
  font-size: 12px;
}

.mt-6 {
  margin-top: 22px;
}

@media (max-width: 1180px) {
  .dash-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dash-grid-2,
  .dash-summary-grid {
    grid-template-columns: 1fr;
  }

  .dash-hero {
    flex-direction: column;
    align-items: flex-start;
  }

  .dash-hero-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 700px) {
  .dash-kpi-grid {
    grid-template-columns: 1fr;
  }

  .dash-hero h2 {
    font-size: 24px;
  }
}


/* Dashboard executivo Porsche */
.exec-hero {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 22px;
  align-items: stretch;
  margin-bottom: 22px;
}

.exec-hero > div:first-child {
  background: linear-gradient(135deg, #09090b 0%, #18181b 60%, #7f1d1d 100%);
  color: #fff;
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 22px 54px rgba(15, 23, 42, .18);
}

.exec-label {
  display: inline-flex;
  color: #fca5a5;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.exec-hero h2 {
  margin: 0;
  font-size: 34px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.05em;
}

.exec-hero p {
  max-width: 760px;
  margin: 12px 0 0 0;
  color: rgba(255, 255, 255, .76);
  font-size: 14px;
  line-height: 1.55;
}

.exec-hero-card {
  background: #fff;
  border: 1px solid #e4e4e7;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .06);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.exec-hero-card span,
.exec-panel-head span,
.exec-cost-main span,
.exec-cost-row span,
.exec-kpi span {
  color: #71717a;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.exec-hero-card strong {
  margin-top: 10px;
  font-size: 26px;
  font-weight: 950;
  color: #16a34a;
}

.exec-hero-card small {
  margin-top: 8px;
  color: #71717a;
}

.exec-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 22px;
}

.exec-kpi {
  background: #fff;
  border: 1px solid #e4e4e7;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .055);
}

.exec-kpi-icon {
  width: 38px;
  height: 38px;
  border-radius: 13px;
  background: #f4f4f5;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.exec-kpi strong {
  display: block;
  margin-top: 10px;
  font-size: 30px;
  font-weight: 950;
  letter-spacing: -.045em;
  color: #09090b;
}

.exec-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 22px;
}

.exec-panel {
  background: #fff;
  border: 1px solid #e4e4e7;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .055);
}

.exec-panel-head {
  margin-bottom: 18px;
}

.exec-panel-head h3 {
  margin: 6px 0 0 0;
  font-size: 19px;
  font-weight: 950;
  color: #09090b;
}

.exec-cost-main {
  background: #09090b;
  color: #fff;
  border-radius: 16px;
  padding: 22px;
  margin-bottom: 14px;
}

.exec-cost-main span {
  color: rgba(255, 255, 255, .64);
}

.exec-cost-main strong {
  display: block;
  margin-top: 8px;
  font-size: 34px;
  font-weight: 950;
  letter-spacing: -.05em;
}

.exec-cost-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.exec-cost-row div {
  background: #fafafa;
  border: 1px solid #e4e4e7;
  border-radius: 14px;
  padding: 16px;
}

.exec-cost-row strong {
  display: block;
  margin-top: 8px;
  font-size: 20px;
  font-weight: 950;
}

.exec-flow {
  display: grid;
  gap: 10px;
}

.exec-flow a {
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: #18181b;
  background: #fafafa;
  border: 1px solid #e4e4e7;
  border-radius: 14px;
  padding: 12px;
}

.exec-flow a:hover {
  border-color: #dc2626;
  background: #fff5f5;
}

.exec-flow b {
  width: 30px;
  height: 30px;
  background: #dc2626;
  color: #fff;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}

.exec-flow strong {
  display: block;
  font-size: 14px;
  font-weight: 900;
}

.exec-flow small {
  color: #71717a;
  font-size: 12px;
}

.exec-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.exec-shortcut {
  background: #fff;
  border: 1px solid #e4e4e7;
  border-radius: 18px;
  padding: 18px;
  text-decoration: none;
  color: #18181b;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .055);
}

.exec-shortcut:hover {
  border-color: #dc2626;
  transform: translateY(-1px);
}

.exec-shortcut span {
  font-size: 22px;
}

.exec-shortcut strong {
  display: block;
  margin-top: 10px;
  font-size: 15px;
  font-weight: 950;
}

.exec-shortcut small {
  display: block;
  margin-top: 5px;
  color: #71717a;
  font-size: 12px;
  line-height: 1.35;
}

@media (max-width: 1180px) {
  .exec-hero,
  .exec-grid {
    grid-template-columns: 1fr;
  }

  .exec-kpis,
  .exec-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .exec-kpis,
  .exec-grid-3,
  .exec-cost-row {
    grid-template-columns: 1fr;
  }

  .exec-hero h2 {
    font-size: 26px;
  }
}


/* Botão Novo Cadastro */
.btn-novo-cadastro {
  white-space: nowrap;
}

/* Login */
.login-page {
  min-height: 100vh;
  margin: 0;
  background: linear-gradient(140deg, #09090b 0%, #18181b 58%, #7f1d1d 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.login-wrap {
  width: 100%;
  max-width: 980px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 18px;
}

.login-hero {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 18px;
  padding: 30px;
  color: #fff;
}

.login-hero h1 {
  margin: 8px 0 0 0;
  font-size: 36px;
  line-height: 1.02;
  letter-spacing: -.05em;
}

.login-hero p {
  margin: 12px 0 0 0;
  color: rgba(255, 255, 255, .78);
  max-width: 520px;
}

.login-card {
  padding: 26px;
}

.login-card h2 {
  margin: 0;
  font-size: 26px;
  letter-spacing: -.03em;
}

.login-form {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.login-submit {
  width: 100%;
  margin-top: 8px;
}

@media (max-width: 900px) {
  .login-wrap {
    grid-template-columns: 1fr;
  }
}



/* EQUIPES VISUAL NOVO */
.equipes-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(420px,1fr));
  gap:18px;
}

.equipe-card{
  background:#fff;
  border:1px solid #ececec;
  border-radius:18px;
  padding:20px;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.equipe-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.equipe-piloto{
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.equipe-avatar{
  width:58px;
  height:58px;
  border-radius:50%;
  background:#13151a;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:800;
  flex-shrink:0;
}

.equipe-piloto h3{
  margin:0 0 6px 0;
  font-size:24px;
  line-height:1.1;
}

.equipe-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  color:#6b7280;
  font-size:13px;
}

.equipe-top-right{
  flex-shrink:0;
}

.equipe-kpis{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-bottom:18px;
}

.equipe-kpi{
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:14px;
}

.equipe-kpi span{
  display:block;
  font-size:12px;
  color:#6b7280;
  margin-bottom:6px;
}

.equipe-kpi strong{
  font-size:22px;
  line-height:1.1;
  color:#111827;
}

.equipe-section{
  margin-top:18px;
}

.equipe-section-title{
  font-size:15px;
  font-weight:800;
  margin-bottom:10px;
  color:#111827;
}

.equipe-membros{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.membro-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:#fcfcfd;
  border:1px solid #eceff3;
  border-radius:14px;
  padding:14px 16px;
}

.membro-left{
  min-width:0;
}

.membro-funcao{
  font-size:12px;
  font-weight:700;
  color:#6b7280;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.membro-nome{
  font-size:18px;
  font-weight:800;
  color:#111827;
  line-height:1.2;
  margin-top:2px;
}

.membro-sub{
  font-size:13px;
  color:#6b7280;
  margin-top:2px;
}

.membro-right{
  display:grid;
  grid-template-columns:repeat(3,auto);
  gap:18px;
  text-align:right;
}

.membro-right span{
  display:block;
  font-size:11px;
  color:#6b7280;
  margin-bottom:2px;
}

.membro-right strong{
  font-size:15px;
  color:#111827;
}

.substituicoes-box{
  background:#fff8e8;
  border:1px solid #fde3a7;
  border-radius:14px;
  padding:14px;
}

.sub-row{
  padding:10px 0;
  border-bottom:1px dashed #ecd59d;
}

.sub-row:last-child{
  border-bottom:0;
}

.sub-main{
  font-size:14px;
  color:#111827;
  margin-bottom:4px;
}

.sub-meta{
  font-size:12px;
  color:#7c6b46;
}

.sub-obs{
  font-size:12px;
  color:#6b7280;
  margin-top:4px;
}

.badge-success{
  background:#e8f7ed;
  color:#166534;
  border:1px solid #b7e2c4;
}

.badge-warning{
  background:#fff2cc;
  color:#92400e;
  border:1px solid #f6d78b;
}

.empty-state{
  padding:24px;
  text-align:center;
  color:#6b7280;
  font-weight:600;
}

@media (max-width: 900px){
  .equipes-grid{
    grid-template-columns:1fr;
  }

  .equipe-kpis{
    grid-template-columns:1fr;
  }

  .membro-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .membro-right{
    width:100%;
    grid-template-columns:repeat(3,1fr);
    text-align:left;
  }

  .equipe-card-top{
    flex-direction:column;
  }
}
