/* ==========================================================
   SECTIONS › COMPANY
   Cadastro/login de empresa (cliente B2B)
   ========================================================== */

.company-page {
    width: min(920px, calc(100% - 40px));
    margin: 36px auto 72px;
}

.company-page-narrow { width: min(540px, calc(100% - 40px)); }

.company-card {
    padding: clamp(24px, 4vw, 42px);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 50px rgb(19 66 43 / 10%);
}

.company-form,
.company-form [data-company-fields] { display: grid; gap: 22px; }

.company-form [hidden] { display: none; }

.company-form label {
    display: grid;
    gap: 8px;
    color: var(--green-950);
    font-size: 0.9rem;
    font-weight: 800;
}

.company-form input {
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid #cadbd1;
    border-radius: 10px;
    background: #fff;
    color: #183a2a;
    font: inherit;
}

.company-form input[readonly] { background: #eef4f0; color: #617269; }

.company-fieldset {
    margin: 0;
    padding: 22px;
    border: 1px solid #dce8e1;
    border-radius: 16px;
}

.company-fieldset legend {
    padding: 0 8px;
    color: var(--green-950);
    font-weight: 900;
}

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

.cnpj-lookup-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
}

.cnpj-status { margin: -10px 0 0; color: #65766d; font-weight: 700; }
.cnpj-status.is-success { color: #167044; }
.cnpj-status.is-error   { color: #a03d2c; }

.company-switch { margin: 24px 0 0; text-align: center; }
.company-switch a { color: var(--green-700); font-weight: 800; }

.company-logout-form { margin-top: 24px; text-align: center; }
