:root{--azul-900:#0d2034;--azul-800:#10243a;--azul-500:#1d6aa3;--fundo:#f5f7fb;--borda:#e6eaf0;--txt:#0f172a;--muted:#64748b;--ok:#0e9f6e;--warn:#b45309;--err:#dc2626;--radius:14px}
*{box-sizing:border-box}
body{margin:0;background:var(--fundo);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--txt)}
.wrap{max-width:1100px;margin:36px auto;padding:0 20px}
.card{background:#fff;border:1px solid var(--borda);border-radius:var(--radius);box-shadow:0 10px 30px rgba(16,36,58,.06);padding:26px}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-7{grid-column:span 7}.col-6{grid-column:span 6}
.col-5{grid-column:span 5}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.col-2{grid-column:span 2}
label{font-weight:600;font-size:14px}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--borda);border-radius:12px;background:#fff}
input:invalid,select:invalid,textarea:invalid{border-color:var(--warn)}
input[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--err)}
.hint{font-size:12px;color:var(--muted);margin-top:4px}
.section{border:1px solid var(--borda);border-radius:12px;padding:18px;margin:16px 0}
.section h3{margin:0 0 10px;font-size:18px;color:var(--azul-800)}
.muted{color:var(--muted);font-size:13px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.checks{display:flex;gap:14px;flex-wrap:wrap}
.badge{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;border:1px solid var(--borda);background:#fafbff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.stack{display:flex;gap:10px;flex-wrap:wrap;justify-content: center;}

/* Layout e estilo do cabeçalho */
.header-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 24px;
}
.header-form .logo {
  max-width: 160px;
  height: auto;
  margin-bottom: 12px;
}
.header-form h1 {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: #0f172a;
}
.header-form .sub {
  display: block;
  color: #64748b;
  font-size: 14px;
  margin-top: 4px;
}
.header-form .descricao {
  font-size: 12px;
  color: #475569;
  margin-top: 8px;
}

/* Estilo para a tabela de horários */
.schedule { 
    display: grid; 
    gap: 12px; 
}
.dia { 
    border: 1px solid var(--borda); 
    border-radius: 10px; 
    padding: 12px; 
    background: #fff; 
}
.dia__titulo { 
    font-weight: 600; 
    color: var(--azul-800); 
    margin-bottom: 8px; 
}
.dia__linha { 
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 8px; 
}
.dia__linha label { 
    display: grid; 
    gap: 4px; 
    font-size: 12px; 
    color: var(--muted); 
    font-weight: 400; /* resetando o font-weight do label principal */
}

/* Estilos para o botão de envio */
button{padding:11px 16px;border:0;border-radius:12px;color:#fff;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#143a5a,#1d6aa3)}
button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* Alinhamento dos checkboxes com o texto */
.checks label {
    display: flex;
    align-items: center;
    gap: 6px; /* espaço entre a caixinha e o texto */
}

/* Media Queries para responsividade */
@media (max-width: 768px) {
    .grid .col-12,
    .grid .col-8,
    .grid .col-7,
    .grid .col-6,
    .grid .col-5,
    .grid .col-4,
    .grid .col-3,
    .grid .col-2 {
        grid-column: span 12;
    }
    body {
        font-size: 16px;
    }
    .wrap {
        padding: 0 10px;
    }
    .card {
        padding: 16px;
    }
    h1 {
        font-size: 22px;
    }
    .sub {
        font-size: 14px;
    }
    .header-form .logo {
      height: 45px;
    }
    .header-form h1 {
        font-size: 18px;
    }
    .header-form .sub {
        font-size: 13px;
    }
    .header-form .descricao {
        font-size: 11px;
    }
    .dia__linha { 
        grid-template-columns: 1fr; 
    }
}

@media (max-width: 480px) {
  .stack {
    flex-direction: column;
  }
  .stack button {
    width: 100%;
  }
}

@media print{
    body{background:#fff}
    .card{box-shadow:none;border:0;padding:0}
    .no-print{display:none!important}
    .section{page-break-inside:avoid}
    @page{size:A4;margin:12mm}
}