/* CITOVET Área Restrita module v5: layout full-width, sidebar de página e respiro do rodapé. */
.toplab-layout-scope {
    min-height: 100vh;
    background: #f2f7fb;
    color: #193946;
    font-family: Inter, Arial, sans-serif;
}

.toplab-layout-scope * {
    box-sizing: border-box;
}

.toplab-layout-scope a {
    transition: background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.toplab-layout-scope > header.toplab-site-header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 90 !important;
    background: rgba(255, 255, 255, .98) !important;
    border-radius: 0 !important;
    border-bottom: 1px solid #dfebf1;
    box-shadow: 0 8px 24px rgba(0, 68, 86, .07) !important;
    transform: none !important;
}

.toplab-site-header-inner {
    width: 100%;
    max-width: none;
    min-height: 76px;
    padding: 10px 30px;
    display: flex;
    align-items: center;
    gap: 22px;
}

.toplab-site-brand,
.toplab-site-brand:hover,
.toplab-site-brand:focus {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    text-decoration: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    transform: none !important;
}

.toplab-site-brand:before,
.toplab-site-brand:after {
    display: none !important;
    content: none !important;
}

.toplab-site-brand-logo {
    width: 220px;
    height: 56px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible;
    box-shadow: none !important;
}

.toplab-site-brand-logo img {
    width: 205px !important;
    max-width: 205px !important;
    height: auto !important;
    max-height: 52px !important;
    display: block !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

.toplab-site-nav {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    flex-wrap: wrap;
}

.toplab-site-nav a,
.toplab-site-nav a:hover,
.toplab-site-nav a:focus {
    min-height: 32px;
    padding: 7px 10px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #00596e;
    border-radius: 999px;
    text-decoration: none !important;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    white-space: nowrap;
}

.toplab-site-nav a:hover,
.toplab-site-nav a:focus {
    background: #e9f6f8;
}

.toplab-site-nav .material-symbols-outlined {
    font-size: 17px;
    line-height: 1;
}

.toplab-site-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.toplab-site-contact,
.toplab-site-contact:hover,
.toplab-site-contact:focus {
    color: #405e68;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
}

.toplab-site-pill,
.toplab-site-pill:hover,
.toplab-site-pill:focus {
    min-height: 34px;
    padding: 8px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 999px;
    border: 1px solid transparent;
    text-decoration: none !important;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    white-space: nowrap;
}

.toplab-site-pill:hover,
.toplab-site-pill:focus {
    transform: translateY(-1px);
}

.toplab-site-pill.is-green {
    color: #ffffff;
    background: #87bd24;
    box-shadow: 0 8px 18px rgba(135, 189, 36, .18);
}

.toplab-site-pill.is-blue {
    color: #ffffff;
    background: #00596e;
    box-shadow: 0 8px 18px rgba(0, 89, 110, .18);
}

.toplab-site-pill.is-light {
    color: #00596e;
    background: #e9f6f8;
    border-color: #cfe8ef;
}

.toplab-public-page {
    width: 100%;
    max-width: 1180px;
    min-height: calc(100vh - 70px);
    margin: 0 auto;
    padding: 46px 24px 260px;
}

.toplab-restrita-shell {
    width: 100%;
    max-width: none;
    min-height: calc(100vh - 70px);
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 24px 28px 260px;
    background: #f2f7fb;
}

.toplab-restrita-main {
    min-width: 0;
    width: auto;
    flex: 1 1 auto;
    position: relative;
    z-index: 2;
}

.toplab-restrita-main > .container,
.toplab-restrita-main > main > .container,
.toplab-restrita-main > section > .container,
.toplab-restrita-main .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.toplab-restrita-main .row {
    margin-left: -8px;
    margin-right: -8px;
}

.toplab-restrita-main .row > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
}

.toplab-restrita-sidebar {
    flex: 0 0 248px;
    width: 248px;
    min-width: 248px;
    position: relative;
    z-index: 3;
}

.toplab-restrita-sidebar-inner {
    position: static !important;
    top: auto !important;
    background: #ffffff;
    border: 1px solid #dce8ef;
    border-radius: 16px;
    box-shadow: 0 14px 30px rgba(0, 68, 86, .07);
    overflow: hidden;
}

.toplab-restrita-sidebar-head {
    padding: 17px 18px 15px;
    border-bottom: 1px solid #e7eef2;
    background: linear-gradient(180deg, #f7fcfd 0%, #ffffff 100%);
}

.toplab-restrita-kicker,
.toplab-kicker {
    display: block;
    color: #7db529;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.toplab-restrita-sidebar-head strong {
    display: block;
    color: #00596e;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 900;
}

.toplab-restrita-sidebar-head small {
    display: block;
    color: #6f8189;
    font-size: 12px;
    margin-top: 4px;
}

.toplab-restrita-nav,
.toplab-restrita-sidebar-foot {
    display: block;
    padding: 11px;
}

.toplab-restrita-sidebar-foot {
    border-top: 1px solid #e7eef2;
    background: #fbfdfe;
}

.toplab-restrita-nav-item,
.toplab-restrita-foot-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 9px 11px;
    color: #23434d;
    border-radius: 11px;
    text-decoration: none !important;
    font-weight: 800;
    font-size: 12px;
    line-height: 1.22;
}

.toplab-restrita-nav-item i,
.toplab-restrita-foot-link i {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #eef7fa;
    color: #00596e;
    flex: 0 0 22px;
    font-size: 12px;
}

.toplab-restrita-nav-item:hover,
.toplab-restrita-foot-link:hover,
.toplab-restrita-nav-item.active,
.toplab-restrita-foot-link.active {
    background: #eef8fb;
    color: #00596e;
    box-shadow: inset 3px 0 0 #00596e;
}



.toplab-restrita-nav-item.is-disabled,
.toplab-restrita-foot-link.is-disabled,
.toplab-restrita-nav-item.is-disabled:hover,
.toplab-restrita-foot-link.is-disabled:hover {
    background: #f3f6f8;
    color: #8a9aa2;
    cursor: not-allowed;
    opacity: .72;
    box-shadow: none;
}

.toplab-restrita-nav-item.is-disabled i,
.toplab-restrita-foot-link.is-disabled i {
    background: #e3e9ed !important;
    color: #9aa8af !important;
}

.toplab-blocked-sidebar-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 10px 11px 2px;
    padding: 9px 10px;
    border: 1px solid #fde68a;
    border-radius: 11px;
    background: #fffbeb;
    color: #92400e;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
}

.toplab-blocked-sidebar-note i {
    margin-top: 1px;
    color: #b45309;
}

.toplab-blocked-access-alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border-radius: 14px;
    border-color: #facc15;
    background: #fffbeb;
    color: #78350f;
}

.toplab-blocked-access-alert > i {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #fef3c7;
    color: #b45309;
    flex: 0 0 34px;
}

.toplab-blocked-access-alert strong,
.toplab-blocked-access-alert span,
.toplab-blocked-access-alert small {
    display: block;
}

.toplab-blocked-access-alert strong {
    font-size: 16px;
    margin-bottom: 3px;
}

.toplab-blocked-access-alert span {
    font-size: 13px;
    line-height: 1.45;
}

.toplab-blocked-access-alert small {
    margin-top: 6px;
    color: #9a6a12;
    font-weight: 700;
}

.toplab-restrita-nav-item.is-red i { background: #fdecea; color: #ea5644; }
.toplab-restrita-nav-item.is-yellow i,
.toplab-restrita-nav-item.is-gold i { background: #fff6d6; color: #a67c00; }
.toplab-restrita-nav-item.is-green i { background: #e8f8f1; color: #249b6a; }
.toplab-restrita-nav-item.is-blue i { background: #eaf2ff; color: #007bff; }
.toplab-restrita-nav-item.is-gray i { background: #eef1f3; color: #6c757d; }
.toplab-restrita-foot-link.is-exit i { background: #fdecea; color: #ea5644; }

.toplab-hub-page,
#restrita.toplab-dashboard-main,
.toplab-restrita-main main {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    color: #263f49;
}

.toplab-page-header,
.toplab-dashboard-welcome {
    background: #ffffff;
    border: 1px solid #dce8ef;
    border-radius: 16px;
    padding: 18px 21px;
    box-shadow: 0 14px 30px rgba(0, 68, 86, .06);
}

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

.toplab-page-header h1,
.toplab-dashboard-welcome h2,
.toplab-restrita-main .box-title {
    margin: 0 0 5px;
    color: #00596e;
    font-family: Inter, Arial, sans-serif;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -.02em;
    text-transform: none;
}

.toplab-page-header p,
.toplab-dashboard-welcome p {
    margin: 0;
    color: #60757d;
    font-size: 13px;
    line-height: 1.45;
}

.toplab-page-header .btn,
.toplab-card .btn,
.toplab-restrita-main .btn {
    border-radius: 10px;
    font-weight: 800;
    box-shadow: none;
}

.toplab-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.toplab-dashboard-card,
.toplab-dashboard-card:hover,
.toplab-dashboard-card:focus {
    min-height: 112px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    padding: 17px 19px;
    background: #ffffff;
    border: 1px solid #dce8ef;
    border-radius: 16px;
    box-shadow: 0 14px 30px rgba(0, 68, 86, .055);
    color: #00596e;
    text-decoration: none !important;
}

.toplab-dashboard-card:hover,
.toplab-dashboard-card:focus {
    transform: translateY(-2px);
    border-color: #b9d9e3;
    box-shadow: 0 18px 34px rgba(0, 68, 86, .09);
}

.toplab-dashboard-card i {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #eaf8fb;
    color: #00596e;
    font-size: 17px;
}

.toplab-dashboard-card strong {
    color: #00596e;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 900;
}

.toplab-dashboard-card span {
    color: #60757d;
    font-size: 12px;
    line-height: 1.45;
}

.toplab-card,
.toplab-summary-card,
.toplab-filter-card,
.toplab-restrita-main .news-body,
.toplab-restrita-main .borda-cinza,
.toplab-restrita-main .form-aut {
    background: #ffffff;
    border: 1px solid #dce8ef;
    border-radius: 16px;
    box-shadow: 0 14px 30px rgba(0, 68, 86, .055);
}

.toplab-card {
    margin-bottom: 16px;
    overflow: hidden;
}

.toplab-card-header {
    min-height: 56px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid #e7eef2;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdfe 100%);
}

.toplab-card-header h2 {
    margin: 0;
    color: #00596e;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.toplab-card-header small,
.toplab-table small,
.toplab-summary-card small {
    color: #6f8189;
    font-size: 12px;
}

.toplab-card-body,
.toplab-filter-card {
    padding: 16px 18px;
}

.toplab-table {
    margin-bottom: 0;
    font-size: 13px;
}

.toplab-table > thead > tr > th {
    color: #60757d;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
    border-bottom: 1px solid #e7eef2;
    background: #fbfdfe;
}

.toplab-table > tbody > tr > td {
    vertical-align: middle;
    border-top: 1px solid #edf2f5;
}

.toplab-table strong {
    color: #213f49;
    font-weight: 900;
}

.toplab-table small {
    display: block;
    margin-top: 3px;
}

.toplab-summary-row {
    margin-bottom: 14px;
}

.toplab-summary-card {
    padding: 16px 18px;
    min-height: 86px;
}

.toplab-summary-card span {
    display: block;
    color: #60757d;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 5px;
}

.toplab-summary-card strong {
    display: block;
    color: #00596e;
    font-size: 22px;
    line-height: 1.2;
}

.toplab-hub-alert {
    border-radius: 14px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 13px;
    border-width: 1px;
}

.toplab-hub-alert strong,
.toplab-empty strong {
    display: block;
    font-size: 14px;
    font-weight: 900;
}

.toplab-hub-alert span,
.toplab-empty span {
    display: block;
    font-size: 12px;
    line-height: 1.45;
}

.toplab-hub-alert-tech {
    display: block;
    margin-top: 4px;
    color: #8a5a00;
    font-size: 11px;
    line-height: 1.35;
}

.toplab-empty {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #60757d;
    text-align: center;
}

.toplab-empty i {
    font-size: 28px;
    color: #00596e;
}

.toplab-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
    background: #eef3f6;
    color: #49626b;
}

.toplab-status.is-paid,
.toplab-status.pago,
.toplab-status.ok {
    color: #157347;
    background: #e8f8f1;
}

.toplab-status.is-open,
.toplab-status.pendente,
.toplab-status.atrasada {
    color: #a06400;
    background: #fff4d8;
}

.toplab-warning {
    color: #a06400;
    font-weight: 900;
}

.toplab-invoice-files,
.toplab-file-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.toplab-invoice-files a,
.toplab-file-actions a {
    font-size: 12px;
    font-weight: 800;
}

.toplab-month-total,
.toplab-price {
    color: #00596e;
    font-weight: 900;
}

.toplab-source,
.toplab-profile-badge {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eaf7f3;
    color: #006b59;
    border: 1px solid #bfe8dc;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.toplab-filter-card {
    margin-bottom: 14px;
}

.toplab-filter-card label,
.toplab-restrita-main label {
    color: #23434d;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 900;
}

.toplab-restrita-main .form-control {
    min-height: 38px;
    border-radius: 9px;
    border: 1px solid #cfdce4;
    box-shadow: none;
    color: #25434d;
    font-size: 13px;
}

.toplab-restrita-main .form-control:focus {
    border-color: #7dbfd0;
    box-shadow: 0 0 0 3px rgba(0, 89, 110, .08);
}

.toplab-filter-actions {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

.toplab-unified-grid {
    display: grid;
    grid-template-columns: 248px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.toplab-category-sidebar {
    background: #ffffff;
    border: 1px solid #dce8ef;
    border-radius: 16px;
    box-shadow: 0 14px 30px rgba(0, 68, 86, .055);
    padding: 12px;
    max-height: calc(100vh - 130px);
    overflow: auto;
}

.toplab-category-sidebar-title {
    padding: 4px 5px 10px;
    border-bottom: 1px solid #e7eef2;
    margin-bottom: 8px;
}

.toplab-category-sidebar-title strong {
    display: block;
    color: #00596e;
    font-size: 13px;
    font-weight: 900;
}

.toplab-category-sidebar-title span {
    display: block;
    color: #6f8189;
    font-size: 12px;
    margin-top: 2px;
}

.toplab-category-btn {
    width: 100%;
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 6px;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: #24434d;
    text-align: left;
    font-size: 12px;
    font-weight: 800;
}

.toplab-category-btn:hover,
.toplab-category-btn.active {
    background: #eef8fb;
    border-color: #d3ebf2;
    color: #00596e;
}

.toplab-category-btn em {
    min-width: 24px;
    padding: 3px 6px;
    border-radius: 999px;
    background: #ffffff;
    color: #6f8189;
    font-style: normal;
    font-size: 11px;
    text-align: center;
    border: 1px solid #dce8ef;
}

.toplab-front-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 13px;
    margin-top: 10px;
    border-top: 1px solid #e7eef2;
    color: #60757d;
    font-size: 12px;
    font-weight: 800;
}

.toplab-profile-exams {
    margin-top: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #f7fbfc;
    border: 1px solid #dcecef;
    color: #456;
    font-size: 12px;
    line-height: 1.45;
}

.toplab-restrita-main .news-body,
.toplab-restrita-main .borda-cinza {
    padding: 18px;
    margin-bottom: 16px;
}

.toplab-restrita-main main#solicitacao-exames,
.toplab-restrita-main main#materiais {
    margin-bottom: 0 !important;
}

.toplab-restrita-main .radio-inline,
.toplab-restrita-main .radio {
    margin-right: 16px;
    margin-bottom: 8px;
    color: #23434d;
    font-size: 13px;
    font-weight: 700;
}

.toplab-restrita-main input[type="checkbox"],
.toplab-restrita-main input[type="radio"] {
    appearance: auto;
    margin-right: 7px;
}

.tabs-container {
    display: flex;
    flex-direction: row;
    gap: 14px;
    align-items: flex-start;
}

.nav-tabs-vertical {
    width: 240px;
    min-width: 220px;
    margin-right: 0;
    border: 1px solid #dce8ef !important;
    border-radius: 14px;
    background: #ffffff;
    overflow: hidden;
}

.nav-tabs-vertical > li {
    float: none;
    margin: 0;
}

.nav-tabs-vertical > li > a {
    margin: 0;
    border: 0 !important;
    border-radius: 0;
    color: #00596e;
    font-size: 12px;
    font-weight: 800;
    padding: 10px 12px;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a:hover,
.nav-tabs-vertical > li > a:hover {
    color: #00596e;
    background: #eef8fb;
    border: 0 !important;
}

.tab-content-vertical {
    flex: 1;
    min-width: 0;
    padding: 0 0 0 14px;
    margin-left: 0;
    border-left: 1px solid #dce8ef;
}

#bloco_abas,
#carrinho {
    background: #ffffff;
    border: 1px solid #dce8ef;
    border-radius: 16px;
    box-shadow: 0 14px 30px rgba(0, 68, 86, .045);
    padding: 14px;
}

#carrinho {
    font-size: 12px;
}

#carrinho table,
#bloco_abas table {
    font-size: 13px;
}

#solicitacao-exames .table > tbody > tr > td,
#solicitacao-exames .table > tbody > tr > th,
#solicitacao-exames .table > tfoot > tr > td,
#solicitacao-exames .table > tfoot > tr > th,
#solicitacao-exames .table > thead > tr > td,
#solicitacao-exames .table > thead > tr > th {
    border-top: 0 !important;
}

.material-row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 18px;
    margin: 0 0 18px !important;
}

.material-item {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 1px solid #dce8ef;
    border-radius: 10px;
    background: #fbfdfe;
    color: #23434d;
    font-size: 13px;
    font-weight: 800;
}

.material-item label {
    margin: 0 !important;
    font-size: 13px;
    cursor: pointer;
}

.toplab-restrita-main textarea.form-control {
    min-height: 86px;
    resize: vertical;
}

.toplab-restrita-main .btn-blue,
.toplab-restrita-main .btn-primary {
    background: #00596e !important;
    border-color: #00596e !important;
    color: #ffffff !important;
}

.toplab-restrita-main .btn-green,
.toplab-restrita-main .btn-success {
    background: #87bd24 !important;
    border-color: #87bd24 !important;
    color: #ffffff !important;
}

.toplab-restrita-main .text-center .btn,
.toplab-restrita-main .centro .btn {
    min-width: 150px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.toplab-public-page #login {
    max-width: 560px;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
}

.toplab-public-page #login .container {
    width: 100% !important;
    padding: 0 !important;
}

.toplab-public-page #login .row {
    display: block;
    margin: 0;
}

.toplab-public-page #login [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
}

.toplab-public-page #login .form-aut,
.toplab-public-page #login .centro {
    padding: 20px;
}

.toplab-public-page #login .centro {
    margin-top: 14px;
    background: #ffffff;
    border: 1px solid #dce8ef;
    border-radius: 16px;
    box-shadow: 0 14px 30px rgba(0, 68, 86, .045);
}

.toplab-public-page #login .btn-block {
    min-height: 46px;
    border-radius: 999px;
}

.toplab-layout-scope footer {
    position: relative;
    z-index: 1;
    margin-top: -175px;
}

.toplab-layout-scope footer .default-footer {
    position: relative;
    z-index: 1;
}

.toplab-layout-scope footer .detail {
    pointer-events: none;
    z-index: 0;
    max-width: 310px;
}

@media (max-width: 1280px) {
    .toplab-site-header-inner {
        gap: 12px;
        padding: 10px 20px;
    }
    .toplab-site-nav a {
        padding-left: 8px;
        padding-right: 8px;
        font-size: 11px;
    }
    .toplab-site-contact {
        display: none !important;
    }
}

@media (max-width: 1100px) {
    .toplab-site-header-inner {
        flex-wrap: wrap;
        justify-content: center;
    }
    .toplab-site-nav {
        order: 3;
        width: 100%;
    }
}

@media (max-width: 991px) {
    .toplab-restrita-shell {
        display: block;
        padding: 18px 14px 250px;
    }
    .toplab-restrita-sidebar {
        width: 100%;
        min-width: 0;
        margin-bottom: 16px;
    }
    .toplab-restrita-nav,
    .toplab-restrita-sidebar-foot {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }
    .toplab-dashboard-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .toplab-page-header {
        display: block;
    }
    .toplab-page-header .btn {
        margin-top: 12px;
    }
    .toplab-unified-grid,
    .tabs-container {
        display: block;
    }
    .toplab-category-sidebar,
    .nav-tabs-vertical {
        width: 100%;
        min-width: 0;
        max-height: none;
        margin-bottom: 14px;
    }
    .tab-content-vertical {
        padding-left: 0;
        border-left: 0;
    }
    .material-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .toplab-site-brand-logo {
        width: 162px;
        height: 46px;
    }
    .toplab-site-brand-logo img {
        max-width: 140px !important;
    }
    .toplab-site-nav {
        display: none;
    }
    .toplab-site-actions {
        width: 100%;
        justify-content: center;
    }
    .toplab-site-pill {
        flex: 1 1 auto;
        max-width: 180px;
    }
    .toplab-public-page,
    .toplab-restrita-shell {
        padding-left: 12px;
        padding-right: 12px;
        padding-bottom: 245px;
    }
    .toplab-restrita-nav,
    .toplab-restrita-sidebar-foot,
    .toplab-dashboard-grid,
    .material-row {
        grid-template-columns: 1fr;
    }
    .toplab-page-header h1,
    .toplab-dashboard-welcome h2,
    .toplab-restrita-main .box-title {
        font-size: 20px;
    }
    .toplab-card-body,
    .toplab-filter-card,
    .toplab-restrita-main .news-body,
    .toplab-restrita-main .borda-cinza {
        padding: 14px;
    }
}



/* Ajuste final: login leve da Área Restrita Citovet sem coluna lateral e sem botões herdados. */
.wrap-all-page.toplab-layout-scope .toplab-public-page,
.toplab-layout-scope#pagina_login .toplab-public-page {
    padding: 48px 20px 118px !important;
}
.toplab-login-page-compact .toplab-login-wrap,
.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-wrap {
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
}
.toplab-login-page-compact .toplab-login-card,
.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-card {
    display: block !important;
    width: 100% !important;
    max-width: 560px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    background: rgba(255, 255, 255, .98) !important;
    border: 1px solid #dce8ef !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 44px rgba(0, 68, 86, .10) !important;
    overflow: visible !important;
}
.toplab-login-page-compact .toplab-login-intro {
    display: none !important;
}
.toplab-login-page-compact .toplab-login-form-area {
    padding: 34px 38px 32px !important;
    display: block !important;
}
.toplab-login-page-compact .toplab-login-heading-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #edf8e3;
    color: #7fba24;
    font-size: 22px;
    box-shadow: inset 0 0 0 1px rgba(135, 189, 36, .20);
}
.toplab-login-page-compact .toplab-login-form-area h1 {
    margin: 0 0 8px !important;
    color: #0b4c5f !important;
    text-align: center !important;
    font-size: 28px !important;
    line-height: 1.16 !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
}
.toplab-login-page-compact .toplab-login-subtitle {
    max-width: 410px;
    margin: 0 auto 24px !important;
    text-align: center !important;
    font-size: 14px !important;
}
.toplab-login-page-compact .toplab-login-field .form-control {
    height: 48px !important;
    min-height: 48px !important;
    background: #f8fbfd !important;
    border: 1px solid #cfdde5 !important;
    box-shadow: none !important;
}
.toplab-login-page-compact .toplab-login-field .form-control:focus {
    background: #ffffff !important;
    border-color: #86cad8 !important;
    box-shadow: 0 0 0 4px rgba(0, 89, 110, .08) !important;
}
.toplab-login-page-compact .toplab-login-submit,
.toplab-login-page-compact .toplab-login-submit:hover,
.toplab-login-page-compact .toplab-login-submit:focus,
.toplab-login-page-compact .toplab-login-submit:disabled,
.toplab-login-page-compact .toplab-login-register-btn,
.toplab-login-page-compact .toplab-login-register-btn:hover,
.toplab-login-page-compact .toplab-login-register-btn:focus {
    width: 100% !important;
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: none !important;
    box-shadow: 0 12px 24px rgba(0, 68, 86, .14) !important;
    background-image: none !important;
    background-clip: padding-box !important;
}
.toplab-login-page-compact .toplab-login-submit,
.toplab-login-page-compact .toplab-login-submit:hover,
.toplab-login-page-compact .toplab-login-submit:focus,
.toplab-login-page-compact .toplab-login-submit:disabled {
    background: #00596e !important;
}
.toplab-login-page-compact .toplab-login-register-btn,
.toplab-login-page-compact .toplab-login-register-btn:hover,
.toplab-login-page-compact .toplab-login-register-btn:focus {
    background: #87bd24 !important;
}
.toplab-login-page-compact .toplab-login-submit:before,
.toplab-login-page-compact .toplab-login-submit:after,
.toplab-login-page-compact .toplab-login-register-btn:before,
.toplab-login-page-compact .toplab-login-register-btn:after {
    display: none !important;
    content: none !important;
}
.toplab-login-page-compact .toplab-login-register-card,
.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-card {
    width: 100% !important;
    max-width: 560px !important;
    min-height: 0 !important;
    margin: 18px auto 0 !important;
    padding: 18px 22px !important;
    border-radius: 18px !important;
}
.toplab-login-page-compact .toplab-login-register-btn {
    max-width: 220px !important;
}
@media (max-width: 640px) {
    .toplab-login-page-compact .toplab-login-form-area {
        padding: 26px 22px 24px !important;
    }
    .toplab-login-page-compact .toplab-login-register-card {
        display: block !important;
    }
    .toplab-login-page-compact .toplab-login-register-btn {
        max-width: none !important;
        margin-top: 14px !important;
    }
}

/* FIX V7 - Área Restrita: login central, cadastro com mesma largura e botões sem camadas herdadas. */
.wrap-all-page.toplab-layout-scope .toplab-public-page,
.toplab-layout-scope .toplab-public-page {
    padding: 42px 18px 120px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.wrap-all-page.toplab-layout-scope .toplab-public-page > #login.toplab-login-page-compact,
.toplab-layout-scope .toplab-public-page > #login.toplab-login-page-compact,
.wrap-all-page.toplab-layout-scope #login.toplab-login-page-compact {
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-wrap,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-wrap {
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
}

.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-card,
.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-card,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-card,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-card {
    width: 100% !important;
    max-width: 560px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    box-sizing: border-box !important;
}

.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-card,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-card {
    display: block !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    border: 1px solid #dce8ef !important;
    border-radius: 22px !important;
    overflow: hidden !important;
}

.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-form-area,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-form-area {
    width: 100% !important;
    padding: 32px 36px 30px !important;
}

.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-card,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-card {
    margin-top: 18px !important;
    padding: 18px 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    border: 1px solid #dce8ef !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 32px rgba(0, 68, 86, .07) !important;
}

.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-submit,
.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-submit:hover,
.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-submit:focus,
.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn,
.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn:hover,
.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn:focus,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-submit,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-submit:hover,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-submit:focus,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn:hover,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn:focus {
    border: 0 !important;
    outline: 0 !important;
    background-image: none !important;
    text-shadow: none !important;
    box-shadow: 0 12px 24px rgba(0, 68, 86, .14) !important;
    filter: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-submit,
.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-submit:hover,
.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-submit:focus,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-submit,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-submit:hover,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-submit:focus {
    background: #00596e !important;
}

.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn,
.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn:hover,
.wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn:focus,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn:hover,
.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn:focus {
    width: auto !important;
    min-width: 190px !important;
    max-width: 210px !important;
    background: #87bd24 !important;
}

@media (max-width: 640px) {
    .wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-form-area,
    .toplab-layout-scope .toplab-login-page-compact .toplab-login-form-area {
        padding: 26px 22px 24px !important;
    }

    .wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-card,
    .toplab-layout-scope .toplab-login-page-compact .toplab-login-register-card {
        display: block !important;
    }

    .wrap-all-page.toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn,
    .toplab-layout-scope .toplab-login-page-compact .toplab-login-register-btn {
        width: 100% !important;
        max-width: none !important;
        margin-top: 14px !important;
    }
}



/* Hotfix 2026-06-25: login e cadastro com a mesma largura real. */
.wrap-all-page.toplab-layout-scope #login.toplab-login-page-compact,
.toplab-layout-scope #login.toplab-login-page-compact {
    width: 100% !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.wrap-all-page.toplab-layout-scope #login.toplab-login-page-compact .toplab-login-wrap,
.toplab-layout-scope #login.toplab-login-page-compact .toplab-login-wrap {
    width: 100% !important;
    max-width: 560px !important;
    display: block !important;
}
.wrap-all-page.toplab-layout-scope #login.toplab-login-page-compact .toplab-login-card,
.wrap-all-page.toplab-layout-scope #login.toplab-login-page-compact .toplab-login-register-card,
.toplab-layout-scope #login.toplab-login-page-compact .toplab-login-card,
.toplab-layout-scope #login.toplab-login-page-compact .toplab-login-register-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 560px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}
.wrap-all-page.toplab-layout-scope #login.toplab-login-page-compact .toplab-login-register-card,
.toplab-layout-scope #login.toplab-login-page-compact .toplab-login-register-card {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
@media (max-width: 640px) {
    .wrap-all-page.toplab-layout-scope #login.toplab-login-page-compact .toplab-login-register-card,
    .toplab-layout-scope #login.toplab-login-page-compact .toplab-login-register-card {
        display: block !important;
    }
    .wrap-all-page.toplab-layout-scope #login.toplab-login-page-compact .toplab-login-register-btn,
    .toplab-layout-scope #login.toplab-login-page-compact .toplab-login-register-btn {
        width: 100% !important;
        margin-top: 14px !important;
    }
}



.toplab-antigos-date-cell{white-space:nowrap;font-weight:800;color:#445b64;}
.toplab-antigos-result-cell{min-width:280px;}
.toplab-antigos-patient-block{display:flex;flex-direction:column;gap:4px;}
.toplab-antigos-label{display:inline-flex;align-items:center;width:max-content;border-radius:999px;background:#e9fbf2;color:#0b7a54;padding:3px 9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;}
.toplab-antigos-animal{display:block;color:#033b49;font-size:18px;line-height:1.22;font-weight:900;}
.toplab-antigos-owner{display:block;color:#1e6370;font-size:13px;font-weight:700;}
.toplab-antigos-owner i{color:#39b473;margin-right:4px;}
.toplab-antigos-description{display:block;margin-top:3px;color:#6f8189;font-size:12px;line-height:1.35;}
.toplab-antigos-file-cell{max-width:260px;}
.toplab-antigos-file-cell .toplab-file-link{font-size:12px;font-weight:700;word-break:break-word;}
.toplab-antigos-actions{white-space:nowrap;}
.toplab-antigos-actions .btn{margin:2px 0 2px 4px;}
@media(max-width:767px){.toplab-antigos-animal{font-size:16px;}.toplab-antigos-actions{white-space:normal;}.toplab-antigos-actions .btn{display:block;width:100%;margin:4px 0;}.toplab-antigos-file-cell{max-width:none;}}


/* Hotfix 2026-06-27: telas locais de requisição com cabeçalho padrão e botão único. */
.toplab-request-page .toplab-page-header {
    margin-bottom: 18px;
}
.toplab-submit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 24px;
    border: 0;
    border-radius: 12px;
    background: #063c52;
    color: #fff !important;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .025em;
    box-shadow: 0 10px 24px rgba(6,60,82,.18);
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.toplab-submit-button:hover,
.toplab-submit-button:focus {
    background: #07506e;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(6,60,82,.24);
    transform: translateY(-1px);
    text-decoration: none;
}
.toplab-submit-button[disabled] {
    opacity: .72;
    cursor: not-allowed;
    transform: none;
}
@media (max-width: 640px) {
    .toplab-submit-button { width: 100%; }
}
/* TopLab 2026-06-27: loaders internos removidos.
   Safety net para impedir exibição caso template antigo fique compilado. */
.citovet-toplab-loader,
.toplab-fullscreen-loader,
#loading {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* TopLab Citovet 2026-06-29: frontend público da solicitação de cadastro. */
.toplab-public-cadastro-page {
    padding: 72px 0 120px;
    background: linear-gradient(180deg, #f3f9fc 0%, #eef6fa 100%);
    color: #263f49;
    font-family: Inter, Arial, sans-serif;
}
.toplab-public-cadastro-page .container {
    max-width: 1120px;
}
.toplab-cadastro-shell {
    max-width: 1080px;
    margin: 0 auto;
}
.toplab-cadastro-hero {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}
.toplab-cadastro-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: #88bd24;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .16em;
}
.toplab-cadastro-hero h1 {
    margin: 0 0 10px;
    color: #00596e;
    font-size: 34px;
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.toplab-cadastro-hero p {
    max-width: 720px;
    margin: 0;
    color: #60757d;
    font-size: 14px;
    line-height: 1.65;
}
.toplab-cadastro-status-card {
    width: 250px;
    min-width: 250px;
    padding: 22px;
    border: 1px solid #d9e8ef;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(0, 68, 86, .075);
}
.toplab-cadastro-status-card i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 14px;
    border-radius: 14px;
    color: #fff;
    background: #00596e;
}
.toplab-cadastro-status-card strong {
    display: block;
    color: #00596e;
    font-size: 17px;
    font-weight: 900;
}
.toplab-cadastro-status-card span {
    display: block;
    margin-top: 5px;
    color: #60757d;
    font-size: 12px;
    line-height: 1.45;
}
.toplab-cadastro-notice {
    display: flex;
    gap: 13px;
    align-items: flex-start;
    margin-bottom: 18px;
    padding: 16px 18px;
    border: 1px solid #ffe3a3;
    border-radius: 16px;
    background: #fff8e6;
    color: #7a5400;
}
.toplab-cadastro-notice i {
    margin-top: 2px;
    color: #d39b00;
    font-size: 18px;
}
.toplab-cadastro-notice strong,
.toplab-cadastro-notice span {
    display: block;
    font-size: 13px;
    line-height: 1.45;
}
.toplab-cadastro-form {
    margin: 0;
}
.toplab-cadastro-card {
    margin-bottom: 18px;
    border: 1px solid #dce8ef;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(0, 68, 86, .06);
    overflow: hidden;
}
.toplab-cadastro-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 17px 22px;
    border-bottom: 1px solid #e7eef2;
    background: linear-gradient(180deg, #fff 0%, #fbfdfe 100%);
}
.toplab-cadastro-card-header > div {
    display: flex;
    align-items: center;
    gap: 12px;
}
.toplab-cadastro-card-header span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 11px;
    color: #fff;
    background: #88bd24;
    font-size: 12px;
    font-weight: 900;
}
.toplab-cadastro-card-header h2 {
    margin: 0;
    color: #00596e;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.toplab-cadastro-card-header small {
    color: #71858d;
    font-size: 12px;
}
.toplab-cadastro-card-body {
    padding: 20px 22px 8px;
}
.toplab-cadastro-card-body .form-group {
    margin-bottom: 16px;
}
.toplab-cadastro-card-body label,
.toplab-cadastro-type-row > label {
    display: block;
    margin-bottom: 7px;
    color: #23434d;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
}
.toplab-cadastro-card-body .form-control {
    min-height: 40px;
    height: 40px;
    border: 1px solid #cfdce4;
    border-radius: 11px;
    color: #25434d;
    background: #fff;
    font-size: 13px;
    box-shadow: none;
}
.toplab-cadastro-card-body textarea.form-control {
    min-height: 94px;
    height: auto;
    resize: vertical;
}
.toplab-cadastro-card-body .form-control:focus {
    border-color: #7dbfd0;
    box-shadow: 0 0 0 3px rgba(0, 89, 110, .08);
}
.toplab-cadastro-type-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
    padding: 12px 14px;
    border: 1px solid #e0edf2;
    border-radius: 15px;
    background: #fbfdfe;
}
.toplab-cadastro-type-row > label {
    margin-bottom: 0;
}
.toplab-cadastro-radio-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.toplab-cadastro-radio-group label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 12px;
    border: 1px solid #dce8ef;
    border-radius: 999px;
    background: #fff;
    color: #23434d;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}
.toplab-cadastro-radio-group input {
    margin: 0;
}
.toplab-cadastro-two-cols {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.toplab-cadastro-two-cols .toplab-cadastro-card {
    margin-bottom: 18px;
}
.toplab-cadastro-retorno {
    margin: 12px 0;
}
.toplab-cadastro-retorno .alert {
    border-radius: 15px;
    font-size: 13px;
}
.toplab-cadastro-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    margin: 18px 0 0;
}
.toplab-cadastro-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 230px;
    min-height: 48px;
    padding: 0 28px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: #00596e;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 14px 30px rgba(0, 89, 110, .22);
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.toplab-cadastro-submit:hover,
.toplab-cadastro-submit:focus {
    background: #064a5c;
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(0, 89, 110, .28);
}
.toplab-cadastro-submit[disabled] {
    opacity: .72;
    cursor: not-allowed;
    transform: none;
}
.toplab-cadastro-actions small {
    color: #71858d;
    font-size: 12px;
    text-align: center;
}
@media (max-width: 991px) {
    .toplab-cadastro-hero {
        display: block;
    }
    .toplab-cadastro-status-card {
        width: 100%;
        min-width: 0;
        margin-top: 18px;
    }
    .toplab-cadastro-two-cols {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 767px) {
    .toplab-public-cadastro-page {
        padding: 42px 0 80px;
    }
    .toplab-cadastro-hero h1 {
        font-size: 26px;
    }
    .toplab-cadastro-card-header,
    .toplab-cadastro-type-row {
        display: block;
    }
    .toplab-cadastro-card-header small {
        display: block;
        margin-top: 8px;
    }
    .toplab-cadastro-radio-group {
        margin-top: 10px;
    }
    .toplab-cadastro-submit {
        width: 100%;
    }
}

/* Correção 2026-06-29: faturas + padrão visual consistente nas solicitações locais. */
.toplab-status.is-awaiting {
    background: #fff7ed !important;
    color: #9a3412 !important;
    border: 1px solid #fed7aa !important;
}
.toplab-status.is-no-billing {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #dbe3ea !important;
}
.toplab-status.is-overdue {
    background: #fef2f2 !important;
    color: #b91c1c !important;
    border: 1px solid #fecaca !important;
}
.toplab-status.is-cancelled,
.toplab-status.is-refunded {
    background: #f5f3ff !important;
    color: #6d28d9 !important;
    border: 1px solid #ddd6fe !important;
}
.toplab-billing-links {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-top: 7px !important;
}
.toplab-billing-links a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 30px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    border: 1px solid #fed7aa !important;
    background: #fff7ed !important;
    color: #9a3412 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}
.toplab-billing-links a:hover,
.toplab-billing-links a:focus {
    background: #ffedd5 !important;
    color: #7c2d12 !important;
}
body .toplab-layout-scope .toplab-hub-page.toplab-request-page,
body .toplab-layout-scope .toplab-request-page {
    font-family: Inter, Arial, sans-serif !important;
    color: #263f49 !important;
    margin-bottom: 130px !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-page-header {
    margin-bottom: 18px !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-page-header h1 {
    color: #00596e !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-page-header p,
body .toplab-layout-scope .toplab-request-page .toplab-card-header small,
body .toplab-layout-scope .toplab-request-page .toplab-empty,
body .toplab-layout-scope .toplab-request-page .toplab-material-check-item small {
    color: #60757d !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-card,
body .toplab-layout-scope .toplab-request-page .toplab-cart-card,
body .toplab-layout-scope .toplab-request-page #bloco_abas,
body .toplab-layout-scope .toplab-request-page #carrinho,
body .toplab-layout-scope .toplab-request-page .tab-content-vertical,
body .toplab-layout-scope .toplab-request-page .toplab-service-options,
body .toplab-layout-scope .toplab-request-page .toplab-material-check-item {
    background: #ffffff !important;
    border-color: #dce8ef !important;
    box-shadow: 0 14px 30px rgba(0, 68, 86, .055) !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-card {
    margin-bottom: 18px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-card-header {
    min-height: 56px !important;
    padding: 14px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    border-bottom: 1px solid #e7eef2 !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdfe 100%) !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-card-header h2,
body .toplab-layout-scope .toplab-request-page .toplab-request-exams-card .box-title,
body .toplab-layout-scope .toplab-request-page .toplab-empty strong {
    margin: 0 0 5px !important;
    color: #00596e !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-card-body,
body .toplab-layout-scope .toplab-request-page .toplab-filter-card,
body .toplab-layout-scope .toplab-request-page .toplab-actions-box {
    padding: 16px 18px !important;
}
body .toplab-layout-scope .toplab-request-page label,
body .toplab-layout-scope .toplab-request-page .toplab-service-options > label:first-child {
    color: #23434d !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
}
body .toplab-layout-scope .toplab-request-page .radio-inline,
body .toplab-layout-scope .toplab-request-page .radio,
body .toplab-layout-scope .toplab-request-page .tabless label {
    color: #23434d !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}
body .toplab-layout-scope .toplab-request-page .form-control {
    min-height: 38px !important;
    height: auto !important;
    border: 1px solid #cfdce4 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    color: #25434d !important;
    background: #ffffff !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}
body .toplab-layout-scope .toplab-request-page input.form-control,
body .toplab-layout-scope .toplab-request-page select.form-control {
    height: 38px !important;
}
body .toplab-layout-scope .toplab-request-page textarea.form-control {
    min-height: 86px !important;
    resize: vertical !important;
}
body .toplab-layout-scope .toplab-request-page .form-control:focus {
    border-color: #7dbfd0 !important;
    box-shadow: 0 0 0 3px rgba(0, 89, 110, .08) !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-service-options {
    padding: 13px 14px !important;
    border: 1px solid #dce8ef !important;
    border-radius: 14px !important;
    background: #fbfdfe !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-filter-actions {
    display: flex !important;
    align-items: flex-end !important;
    gap: 8px !important;
    padding-top: 24px !important;
}
body .toplab-layout-scope .toplab-request-page .nav-tabs-vertical {
    border: 1px solid #dce8ef !important;
    border-radius: 14px !important;
    background: #ffffff !important;
}
body .toplab-layout-scope .toplab-request-page .nav-tabs-vertical > li > a {
    border-color: #dce8ef !important;
    color: #00596e !important;
    background: #ffffff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}
body .toplab-layout-scope .toplab-request-page .nav-tabs-vertical > li > a:hover,
body .toplab-layout-scope .toplab-request-page .nav-tabs-vertical > li.active > a,
body .toplab-layout-scope .toplab-request-page .nav-tabs-vertical > li.active > a:focus,
body .toplab-layout-scope .toplab-request-page .nav-tabs-vertical > li.active > a:hover {
    border-color: #00596e !important;
    background: #eef8fb !important;
    color: #00596e !important;
}
body .toplab-layout-scope .toplab-request-page .table,
body .toplab-layout-scope .toplab-request-page #carrinho,
body .toplab-layout-scope .toplab-request-page #bloco_abas table {
    color: #263f49 !important;
    font-size: 13px !important;
}
body .toplab-layout-scope .toplab-request-page .table > thead > tr > th,
body .toplab-layout-scope .toplab-request-page .table > tbody > tr > td,
body .toplab-layout-scope .toplab-request-page .table > tbody > tr > th,
body .toplab-layout-scope .toplab-request-page .table > tfoot > tr > td,
body .toplab-layout-scope .toplab-request-page .table > tfoot > tr > th {
    color: #263f49 !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
}
body .toplab-layout-scope .toplab-request-page .tabless span.nome_exame,
body .toplab-layout-scope .toplab-request-page .toplab-material-check-item strong {
    color: #213f49 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-material-check-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-material-check-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    min-height: 62px !important;
    margin: 0 !important;
    padding: 13px !important;
    border: 1px solid #dce8ef !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    cursor: pointer !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-material-check-item:hover {
    border-color: #7dbfd0 !important;
    background: #f7fbfd !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-material-check-item.is-selected {
    border-color: #69c934 !important;
    background: #fbfff7 !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-submit-button,
body .toplab-layout-scope .toplab-request-page #bt-enviar,
body .toplab-layout-scope .toplab-request-page #bt-enviar-mobile {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    padding: 9px 18px !important;
    border-radius: 10px !important;
    border: 1px solid #00596e !important;
    background: #00596e !important;
    color: #ffffff !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    box-shadow: 0 10px 22px rgba(0, 89, 110, .18) !important;
}
body .toplab-layout-scope .toplab-request-page .toplab-submit-button:hover,
body .toplab-layout-scope .toplab-request-page .toplab-submit-button:focus,
body .toplab-layout-scope .toplab-request-page #bt-enviar:hover,
body .toplab-layout-scope .toplab-request-page #bt-enviar:focus,
body .toplab-layout-scope .toplab-request-page #bt-enviar-mobile:hover,
body .toplab-layout-scope .toplab-request-page #bt-enviar-mobile:focus {
    background: #064b5d !important;
    border-color: #064b5d !important;
    color: #ffffff !important;
    text-decoration: none !important;
}
@media(max-width:991px){
    body .toplab-layout-scope .toplab-request-page .toplab-material-check-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
    body .toplab-layout-scope .toplab-request-page .toplab-filter-actions{padding-top:8px !important;}
}
@media(max-width:640px){
    body .toplab-layout-scope .toplab-request-page .toplab-material-check-grid{grid-template-columns:1fr !important;}
    body .toplab-layout-scope .toplab-request-page .toplab-card-header{display:block !important;}
    body .toplab-layout-scope .toplab-request-page .toplab-submit-button,
    body .toplab-layout-scope .toplab-request-page #bt-enviar,
    body .toplab-layout-scope .toplab-request-page #bt-enviar-mobile{width:100% !important;}
}
