.cand-container {max-width:720px;margin:2.5rem auto 3.5rem auto;}
.cand-title {font-weight:700;font-size:1.45rem;line-height:1.2;margin-bottom:.2rem;}
.consulta-form .input-wrap {margin-bottom:0;}
.consulta-form label {font-weight:bold;}
#bi-input,#email-input {font-family:inherit;font-weight:400;letter-spacing:normal;}
#bi-input::placeholder,#email-input::placeholder {font-weight:400;}
#bi-input::placeholder {text-transform:none;}
.email-recovery-info {margin:.45rem 0 0;color:#6B7280;font-size:.9rem;line-height:1.4;}
.email-recovery-info a {color:#4B5563;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.email-recovery-info a:hover {color:#1F2937;}
.consulta-result {margin-top:2.5rem;}
.consulta-detalhes {background:#fafcff;padding:1.7rem 2rem 1.2rem 2.2rem;border-radius:7px;border:1px solid #e0e9f3;box-shadow:0 1px 8px #0001;}
.consulta-detalhes-title {color:var(--navy);margin-bottom:.9rem;font-size:1.15rem;font-weight:bold;}
.consulta-detalhes-list .clabel {display:inline-block;width:220px;color:#2f4570;vertical-align:top;}
.cand-list {list-style:none;padding-left:0;font-size:1rem;}
.cand-list li {margin-bottom:.75rem;line-height:1.45;}
.cand-cert-link {color:#14783c;font-weight:bold;}
.estado-badge {display:inline-block;padding:.2rem .65rem;border-radius:4px;font-weight:700;font-size:.92rem;}
.estado-desc {display:block;margin:.25rem 0 0 220px;color:#6B7280;font-size:.9rem;}
.consulta-candidatura .recaptcha-sec{margin:1.5rem auto 0}
@media (max-width:640px){
  .consulta-detalhes-list .clabel,.estado-desc {width:100%;margin-left:0;display:block;}
}

    :root {
      --black: #000;
      --white: #fff;
      --line: #000;
    }

    * { box-sizing: border-box; }

    
    .page {
      width: min(1180px, 100%);
      margin: 0 auto;
    }

    .title {
      background: var(--black);
      color: var(--white);
      text-align: center;
      font-weight: 700;
      font-style: italic;
      font-size: clamp(18px, 2vw, 28px);
      line-height: 1.15;
      padding: 8px 12px;
      margin-bottom: 10px;
    }

    .table-wrap {
      width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }

    table {
      width: 100%;
      border-collapse: collapse;
      table-layout: fixed;
      font-style: italic;
      background: var(--white);
    }

    col.num { width: 7%; }
    col.activity { width: 40%; }
    col.date { width: 24%; }
    col.deadline { width: 14%; }
    col.local { width: 15%; }

    th, td {
      border: 1.35px solid var(--line);
      padding: 9px 10px;
      vertical-align: middle;
      font-size: 16px;
      line-height: 1.16;
    }

    thead th {
      text-align: center;
      font-weight: 700;
      font-size: 17px;
      padding-top: 5px;
      padding-bottom: 5px;
    }

    .phase td {
      background: var(--black);
      color: var(--white);
      font-weight: 700;
      text-transform: uppercase;
      text-align: center;
      padding-top: 3px;
      padding-bottom: 3px;
      line-height: 1.05;
    }

    .phase .phase-no {
      text-align: left;
      width: 7%;
      white-space: nowrap;
    }

    .letter {
      font-weight: 700;
      text-align: left;
      white-space: nowrap;
    }

    .date,
    .deadline,
    .local {
      text-align: center;
    }

    .footer {
      margin-top: 42px;
      text-align: center;
      font-size: clamp(14px, 1.5vw, 18px);
      font-style: italic;
      font-weight: 700;
      line-height: 1.25;
      text-transform: uppercase;
    }

    @media (max-width: 780px) {
      body { padding: 12px; }

      .title {
        font-size: 18px;
        padding: 8px 10px;
      }

      table {
        min-width: 860px;
      }

      th, td {
        font-size: 15px;
        padding: 8px;
      }

      .footer {
        margin-top: 28px;
      }
    }

    @media print {
      @page {
        size: A4 landscape;
        margin: 10mm;
      }

      body {
        padding: 0;
      }

      .page {
        width: 100%;
      }

      .table-wrap {
        overflow: visible;
      }

      table {
        min-width: 0;
        font-size: 10pt;
      }

      th, td {
        font-size: 10pt;
        padding: 4px 5px;
      }

      .title {
        font-size: 14pt;
        margin-bottom: 5px;
      }

      .footer {
        margin-top: 18px;
        font-size: 9.5pt;
      }

      tr {
        break-inside: avoid;
      }
    }
