/* Portal do cliente (sem estilos inline: CSP). */
.portal-form { max-width: 28rem; }
.portal-form-wide { max-width: 30rem; }
/* Links e abas herdam as cores do tema da empresa (contraste AA garantido pelos tokens), não o azul padrão do Bootstrap. */
.portal a:not(.btn) { color: var(--ag-primary); }
.portal .nav-link { color: var(--ag-primary); }
.portal .nav-pills .nav-link.active { color: var(--ag-on-primary); background: var(--ag-primary); }
.portal .text-muted { color: var(--ag-muted) !important; }
.portal .form-control, .portal .form-select, .portal .form-check-input { border: 1px solid var(--ag-muted); background-color: var(--ag-surface); color: var(--ag-text); }
.portal .form-check-input:checked { background-color: var(--ag-primary); border-color: var(--ag-primary); }
@media print { .portal .nav, .portal .btn, .site-header, .site-footer, .skip-link { display: none !important; } }

/* Visual moderno: cartões e abas em pílula */
.portal .card, .portal .list-group, .portal .table-responsive { border: 1px solid var(--ag-line); border-radius: var(--ag-radius-lg, 16px); box-shadow: var(--ag-shadow-sm); background: var(--ag-surface); }
.portal .card:hover { transform: none; }
.portal .nav-pills .nav-link { border-radius: 999px; font-weight: 600; }
.portal .nav-pills .nav-link:hover:not(.active) { background: var(--ag-primary-soft); }
.portal .form-control:focus, .portal .form-select:focus { border-color: var(--ag-primary); box-shadow: 0 0 0 4px var(--ag-primary-tint); }
