:root {
  --brand-blue: #243881;
  --brand-yellow: #ffc107;
  --muted-text: #6b7280;
  --card-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  --mobile-break: 768px;
}

body {
  line-height: 1.4;
}

main {
  width: 100%;
}

.container,
.dashboard-container {
  width: min(1100px, 100% - 32px);
  margin: 0 auto;
}

.mobile-only {
  display: none !important;
}

.desktop-only {
  display: block;
}

.menu-btn {
  display: none;
}

.stack-table {
  width: 100%;
  border-collapse: collapse;
}

.stack-table td,
.stack-table th {
  vertical-align: top;
}

/* Checklist cards (mobile-first) */
.checklist-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.checklist-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-left: 6px solid var(--brand-blue);
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 15px;
}

@media (min-width: 1024px) {
  .checklist-cards {
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  }

  .checklist-card {
    padding: 16px 18px;
  }
}

@media (max-width: 1024px) {
  .container,
  .dashboard-container {
    width: min(1100px, 100% - 12px);
  }
}

@media (max-width: 768px) {
  body {
    background-color: #f3f4f6;
  }

  .desktop-only {
    display: none !important;
  }

  .mobile-only {
    display: block !important;
  }

  .menu-btn {
    display: inline-flex;
  }

  .navbar-line {
    width: 100%;
    justify-content: space-between;
    gap: 10px;
  }

  
  .container,
  .dashboard-container {
    width: 100%;
    margin: 0;
    padding: 8px 6px 18px;
    box-sizing: border-box;
    border-radius: 0;
    box-shadow: none;
  }

  .stack-table {
    display: block;
    border: 0;
  }

  .stack-table thead {
    display: none;
  }

  .stack-table tbody {
    display: block;
  }

  .stack-table tr {
    display: block;
    margin-bottom: 12px;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    background: #fff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.06);
  }

  .stack-table td {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    font-size: 14px;
    border-bottom: 1px solid #eef2f7;
  }

  .stack-table td:last-child {
    border-bottom: none;
  }

  .stack-table td::before {
    content: attr(data-label);
    font-weight: 700;
    color: var(--brand-blue);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-size: 12px;
  }
}

/* Checklist: Turno e Tipo de Turno lado a lado em telas amplas */
