/* Resumo da candidatura. */
.candidate-overview { max-width:1320px; margin:0 auto; }
.candidate-hero { display:flex; align-items:center; gap:20px; margin-bottom:24px; padding:26px; background:#fff; border:1px solid #dce4ed; border-top:4px solid #175ca4; border-radius:12px!important; }
.candidate-avatar { display:flex; align-items:center; justify-content:center; flex:0 0 72px; width:72px; height:72px; border-radius:50%!important; background:#edf4fc; color:#175ca4; font-size:32px; overflow:hidden; }
.candidate-avatar img { width:100%; height:100%; object-fit:cover; }
.candidate-heading { flex:1; min-width:0; }
.candidate-eyebrow { display:block; font-size:10px; font-weight:700; letter-spacing:1.3px; color:#617388; margin-bottom:7px; }
.candidate-heading h1 { font-size:23px; font-weight:600; color:#123454; line-height:1.35; margin:0 0 6px; overflow-wrap:anywhere; }
.candidate-heading p { color:#617388; margin:0; }
.candidate-status { display:flex; gap:28px; align-items:center; padding:20px 24px; border:1px solid #dce4ed; border-left:4px solid #b68b32; border-radius:10px!important; background:#fffaf0; margin-bottom:24px; }
.candidate-status--approved { background:#f0f8f3; border-left-color:#21754c; }
.candidate-status--rejected { background:#fff5f5; border-left-color:#bb3542; }
.candidate-status h2 { font-size:18px; font-weight:600; margin:0 0 5px; color:#24364a; }
.candidate-status p { margin:0; font-size:13px; }
.candidate-status-reason { flex:1; padding-left:24px; border-left:1px solid #e6cbce; }
.candidate-status-reason strong { display:block; margin-bottom:5px; font-size:12px; color:#a32f3c; }
.candidate-columns { display:grid; grid-template-columns:1.25fr 1fr; gap:24px; }
.candidate-panel { background:#fff; border:1px solid #dce4ed; padding:24px; margin-bottom:24px; border-radius:12px!important; }
.candidate-panel h2 { margin:0 0 22px; font-size:17px; font-weight:600; color:#123454; }
.candidate-panel h2 i { margin-right:8px; color:#175ca4; }
.candidate-details { display:grid; grid-template-columns:1fr 1fr; gap:20px 24px; margin:0; }
.candidate-details dt { font-size:12px; color:#617388; font-weight:400; margin-bottom:5px; }
.candidate-details dd { color:#24364a; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.candidate-details--single { grid-template-columns:1fr; margin-bottom:20px; }
.candidate-course { padding:14px 16px; background:#f4f8fd; border-left:3px solid #175ca4; margin-top:12px; border-radius:5px!important; }
.candidate-course span { display:block; font-size:10px; letter-spacing:1px; color:#617388; margin-bottom:6px; }
.candidate-course strong { font-size:14px; color:#123454; }
.candidate-panel-description { margin-top:-12px; margin-bottom:20px; color:#617388; font-size:13px; }
.candidate-documents { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.candidate-document { display:flex; flex-direction:column; align-items:flex-start; padding:18px; border:1px solid #e4ebf2; border-radius:9px!important; }
.candidate-document>i { color:#175ca4; font-size:24px; }
.candidate-document h3 { font-size:14px; font-weight:600; line-height:1.5; margin:12px 0 6px; }
.candidate-document p { font-size:12px; margin-bottom:16px; }
.candidate-document .btn { margin-top:auto; }
@media(max-width:991px) { .candidate-columns { grid-template-columns:1fr; gap:0; } .candidate-documents { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .candidate-hero { flex-wrap:wrap; padding:18px; gap:14px; } .candidate-heading h1 { font-size:19px; } .candidate-hero>.btn { width:100%; } .candidate-panel { padding:18px; } .candidate-status { display:block; padding:18px; } .candidate-status-reason { border-left:0; padding:14px 0 0; } .candidate-details,.candidate-documents { grid-template-columns:1fr; } }

/* Opções estruturadas, independentes dos estilos de radio do SweetAlert. */
.validation-reasons-panel { text-align:left; font-family:'Segoe UI',Arial,sans-serif; }
.validation-reasons-intro { margin:6px 0 18px; color:#617388; font-size:14px; line-height:1.6; }
.validation-reasons { display:flex; flex-direction:column; gap:10px; min-width:0; margin:0; padding:3px 5px 3px 3px; border:0; max-height:52vh; overflow-y:auto; }
.validation-reasons legend { width:auto; margin:0 0 12px; padding:0; border:0; color:#334c66; font-size:12px; font-weight:600; }
.validation-reasons .validation-reason { display:flex!important; flex-shrink:0; align-items:flex-start; gap:13px; width:100%; box-sizing:border-box; margin:0!important; padding:15px 16px; border:1px solid #dce4ed; border-radius:10px!important; background:#f8fafc; cursor:pointer; text-align:left; }
.validation-reason input[type="radio"] { flex:0 0 18px; width:18px; height:18px; margin:3px 0 0!important; accent-color:#175ca4; }
.validation-reason-copy { display:block; min-width:0; }
.validation-reason-copy strong { display:block; margin-bottom:4px; color:#24364a; font-size:14px; line-height:1.4; font-weight:600; }
.validation-reason-copy>span { display:block; color:#617388; font-size:13px; line-height:1.55; font-weight:400; white-space:normal; overflow-wrap:anywhere; }
.validation-reasons .validation-reason:hover { border-color:#8ab5df; background:#f0f6fc; }
.validation-reasons .validation-reason:has(input:checked) { border-color:#175ca4; background:#eaf2fc; box-shadow:inset 3px 0 #175ca4; }
.validation-reason:focus-within { outline:2px solid #68a9ef; outline-offset:1px; }
@media(max-width:600px) { .validation-reasons .validation-reason { padding:12px; gap:10px; } }

/* Seleção dos motivos de invalidação. */
.swal2-popup.minsa-validation-dialog { padding:28px!important; border-radius:18px!important; border-top:4px solid #175ca4; font-family:'Segoe UI',Arial,sans-serif; box-shadow:0 24px 80px #12345440; }
.minsa-validation-dialog .swal2-title { color:#123454; font-size:24px; line-height:1.3; }
.minsa-validation-dialog .swal2-content { color:#617388; font-size:14px; line-height:1.6; }
.minsa-validation-dialog .swal2-radio { display:flex!important; flex-direction:column; gap:9px; margin:22px 0 8px; max-height:48vh; overflow-y:auto; padding:3px; text-align:left; }
.minsa-validation-dialog .swal2-radio label { display:flex; align-items:flex-start; gap:12px; flex-shrink:0; margin:0; padding:13px 15px; border:1px solid #dce4ed; border-radius:9px!important; background:#f8fafc; color:#334c66; font-size:14px; line-height:1.5; font-weight:400; cursor:pointer; transition:background .15s,border-color .15s; }
.minsa-validation-dialog .swal2-radio label:hover { background:#edf4fc; border-color:#8ab5df; }
.minsa-validation-dialog .swal2-radio label:has(input:checked) { background:#eaf2fc; border-color:#175ca4; box-shadow:inset 3px 0 #175ca4; color:#123454; }
.minsa-validation-dialog .swal2-radio label:focus-within { outline:2px solid #68a9ef; outline-offset:1px; }
.minsa-validation-dialog .swal2-radio input { flex-shrink:0; width:18px; height:18px; margin:2px 0 0; accent-color:#175ca4; }
.minsa-validation-dialog .swal2-radio span { white-space:normal; overflow-wrap:break-word; }
.minsa-validation-dialog .swal2-actions { gap:10px; padding-top:18px; margin-top:12px; border-top:1px solid #e4ebf2; width:100%; }
.minsa-validation-dialog .swal2-styled { margin:0; padding:12px 20px; border-radius:8px!important; font-size:14px; font-weight:600; }
.validation-card { min-width:210px; padding:14px; background:#fff; border:1px solid #dce4ed; border-radius:12px!important; }
.validation-status { display:inline-flex; align-items:center; gap:7px; padding:5px 10px; border-radius:20px!important; font-size:12px; font-weight:600; line-height:18px; }
.validation-status::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.validation-status--pending { color:#805b16; background:#fff4da; }
.validation-status--approved { color:#216743; background:#e8f5ed; }
.validation-status--rejected { color:#a32f3c; background:#fcecef; }
.validation-actions { display:flex; gap:8px; margin-top:12px; }
.validation-action { display:inline-flex; justify-content:center; align-items:center; gap:6px; flex:1; min-height:38px; padding:8px 11px; border:1px solid transparent; border-radius:7px!important; font-family:inherit; font-size:12px; font-weight:600; cursor:pointer; transition:background .15s,box-shadow .15s; }
.validation-action--approve { color:#fff; background:#175ca4; border-color:#175ca4; }
.validation-action--approve:hover:not(:disabled) { background:#104b88; }
.validation-action--reject { color:#a32f3c; background:#fff; border-color:#e3bcc1; }
.validation-action--reject:hover:not(:disabled) { background:#fcecef; border-color:#bb3542; }
.validation-action:disabled { opacity:.45; cursor:default; }
.validation-card[aria-busy="true"] { opacity:.7; }
@media(max-width:600px) {
 .swal2-popup.minsa-validation-dialog { padding:20px 16px!important; }
 .minsa-validation-dialog .swal2-title { font-size:21px; }
 .minsa-validation-dialog .swal2-radio label { padding:11px; font-size:13px; }
 .minsa-validation-dialog .swal2-actions { flex-direction:column; }
 .minsa-validation-dialog .swal2-styled { width:100%; }
}

/* MINSA Especialização — interface compatível com Bootstrap 3 e Select2. */
:root { --minsa-blue:#175ca4; --minsa-navy:#123454; --minsa-ink:#24364a; --minsa-muted:#617388; --minsa-border:#dce4ed; --minsa-bg:#f3f6fa; }
body { font-family:'Segoe UI',Arial,sans-serif; color:var(--minsa-ink); background:var(--minsa-bg); font-size:14px; line-height:1.5; }
a { color:var(--minsa-blue); }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #68a9ef!important; outline-offset:3px; }
.header.navbar { background:#fff!important; border-bottom:1px solid var(--minsa-border)!important; box-shadow:0 3px 14px #16385912; }
.header .navbar-brand { background:#fff; }
.header .hor-menu ul.nav li a { color:var(--minsa-ink)!important; font-weight:600; }
.header .hor-menu ul.nav>li.active>a,.header .hor-menu ul.nav>li>a:hover,.header .hor-menu ul.nav>li.open>a { background:#eaf2fc!important; color:#144e8b!important; }
.header .hor-menu .dropdown-menu { background:#fff!important; border:1px solid var(--minsa-border)!important; }
.header .nav .dropdown.user>a { color:var(--minsa-ink)!important; }
.header .nav .dropdown.user>a:hover { background:#eaf2fc!important; }
.header .nav .dropdown.user img { border-radius:50%!important; }
.header .navbar-toggle { background:var(--minsa-blue)!important; border-radius:6px!important; }
.dropdown-menu { border-radius:8px!important; box-shadow:0 8px 28px #17345224; padding:6px; }
.dropdown-menu>li>a { padding:9px 13px; border-radius:5px!important; }
.page-content { background:var(--minsa-bg)!important; padding:24px 28px 36px!important; min-height:calc(100vh - 100px)!important; }
.page-content .breadcrumb { background:transparent!important; border:0!important; padding:0 0 18px!important; margin-bottom:18px!important; color:var(--minsa-muted); }
.page-title { color:var(--minsa-navy); font-weight:600!important; letter-spacing:-.5px; }
.nav-tabs { border-bottom:1px solid var(--minsa-border); margin-bottom:20px; }
.nav-tabs>li>a { color:var(--minsa-muted); padding:13px 20px; font-weight:600; border-radius:8px 8px 0 0!important; }
.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus { border:1px solid var(--minsa-border)!important; border-bottom-color:#fff!important; border-top:3px solid var(--minsa-blue)!important; color:var(--minsa-blue); background:#fff; }
.tabbable-custom { background:transparent; }
.tabbable-custom>.tab-content { background:#fff; border:1px solid var(--minsa-border); border-radius:0 10px 10px 10px!important; padding:22px; }
.portlet.box { border:1px solid var(--minsa-border)!important; border-radius:10px!important; box-shadow:0 4px 18px #18345208; background:#fff!important; margin-bottom:24px; }
.portlet.box>.portlet-title { background:var(--minsa-navy)!important; border-radius:9px 9px 0 0!important; padding:12px 18px!important; min-height:50px; }
.portlet.box>.portlet-title>.caption { color:#fff; font-size:17px; font-weight:600; line-height:26px; }
.portlet.box>.portlet-title>.caption>i { color:#c4ddf8; }
.portlet.box>.portlet-body { padding:22px!important; border-radius:0 0 10px 10px!important; }
.portlet-title>.actions { padding:0!important; }
.form-body { padding:4px 0; }
.form-group { margin-bottom:20px; }
.control-label,.form-body label { font-weight:600; color:#3e5269; margin-bottom:7px; }
.form-control { min-height:40px; border:1px solid #cbd6e2; border-radius:6px!important; box-shadow:none; color:var(--minsa-ink); background:#fff; padding:9px 12px; }
.form-control:focus { border-color:#488cce; box-shadow:0 0 0 3px #2471bd18; }
.form-control[disabled],.form-control[readonly] { background:#edf1f6; color:#66768a; }
textarea.form-control { min-height:92px; }
.select2-container .select2-choice { min-height:40px; line-height:38px; background:#fff!important; border:1px solid #cbd6e2; border-radius:6px!important; color:var(--minsa-ink); }
.select2-container .select2-choice .select2-arrow { background:#f4f7fa!important; border-left-color:#dce4ed; border-radius:0 6px 6px 0!important; }
.select2-container .select2-choice .select2-arrow b { background-position:0 7px; }
.select2-drop { border-color:#488cce; box-shadow:0 7px 20px #1834521c; }
.btn { border-radius:6px!important; font-weight:600; padding:9px 15px; line-height:20px; transition:background-color .15s,box-shadow .15s; }
.btn-primary { background:#175ca4; border-color:#175ca4; }
.btn-primary:hover,.btn-primary:focus { background:#104b88; border-color:#104b88; }
.btn-info { background:#187d98; border-color:#187d98; color:#fff; }
.btn-success { background:#21754c; border-color:#21754c; }
.btn-danger { background:#bb3542; border-color:#bb3542; }
.btn-default { background:#fff; border-color:#cbd6e2; color:#334c66; }
.btn-sm,.btn-xs { padding:5px 10px; font-size:12px; }
.btn-block { white-space:normal; }
.portlet-body [id^="linkRelatorio"] .btn { margin:6px 4px 0 0; }
.table { border-color:var(--minsa-border)!important; font-size:13px; }
.table>thead>tr>th { background:#edf3fa; color:#334d69; padding:13px 12px; font-weight:600; border-bottom:2px solid #d1dfed!important; vertical-align:middle; }
.table>tbody>tr>td { padding:11px 12px; border-color:#e4ebf2!important; vertical-align:middle; }
.table-striped>tbody>tr:nth-child(odd)>td { background:#f8fafc; }
.table-hover>tbody>tr:hover>td { background:#edf5fe; }
.dataTables_wrapper .dataTables_filter input { border:1px solid #cbd6e2; border-radius:6px!important; min-height:36px; padding:6px 10px; }
.dataTables_wrapper .dataTables_length select { border:1px solid #cbd6e2; border-radius:6px!important; min-height:36px; }
.dataTables_info { color:var(--minsa-muted); font-size:13px; }
.pagination>li>a,.pagination>li>span { color:var(--minsa-blue); border-color:var(--minsa-border); padding:8px 13px; }
.pagination>.active>a,.pagination>.active>span { background:var(--minsa-blue); border-color:var(--minsa-blue); color:#fff; }
.modal-content { border-radius:12px!important; border:0; box-shadow:0 20px 70px #102c4540; }
.modal-header { background:#f2f6fb; border-bottom:1px solid var(--minsa-border); padding:18px 22px; border-radius:12px 12px 0 0!important; }
.modal-title { color:var(--minsa-navy); font-weight:600; }
.modal-body { padding:22px; }
.modal-footer,.form-actions { background:#f8fafc!important; border-top:1px solid var(--minsa-border); padding:16px 22px!important; }
.alert { border-radius:8px!important; line-height:1.6; }
.label,.badge { border-radius:5px!important; font-weight:600; }
code { background:#eaf2fc; color:#175ca4; padding:4px 7px; border-radius:4px; box-shadow:none; }
.footer { background:#e8eef5!important; padding:18px 28px; color:#52677f!important; border-top:1px solid var(--minsa-border); }
.footer .footer-inner { color:#52677f!important; }
.footer .go-top { background:#175ca4; border-radius:5px!important; }
body.login { background:#eaf0f7!important; }
.login .content { background:#fff!important; border:1px solid var(--minsa-border); border-radius:14px!important; box-shadow:0 16px 45px #1435521a; padding:32px!important; }
.login .content h3 { color:var(--minsa-navy)!important; font-weight:600; }
.login .copyright { color:#4a617b!important; }
.login .copyright strong { background:transparent!important; color:#4a617b!important; }
body.page-boxed { background:#f3f6fa!important; }
.page-boxed .page-container { border-radius:10px!important; }
@media(max-width:991px) {
 .page-content { padding:18px 14px!important; }
 .portlet.box>.portlet-body,.tabbable-custom>.tab-content { padding:15px!important; }
 .page-sidebar { background:#123454!important; }
 .page-sidebar-menu>li>a { padding:14px 18px; }
 .dataTables_wrapper { overflow-x:auto; -webkit-overflow-scrolling:touch; }
 .dataTables_wrapper table { min-width:640px; }
 .portlet-title>.actions { margin-top:5px; }
}
@media(max-width:600px) {
 .header .username { display:none; }
 .nav-tabs>li>a { padding:11px 12px; font-size:13px; }
 .portlet.box>.portlet-title { padding:10px 13px!important; }
 .portlet.box>.portlet-title>.caption { font-size:15px; }
 .login .content { width:calc(100% - 32px)!important; max-width:400px; padding:24px!important; }
 .modal-dialog { margin:12px; }
 .footer { padding:16px; }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print { .header,.footer,.btn,.dataTables_filter,.dataTables_length,.pagination { display:none!important; } .page-content { padding:0!important; background:#fff!important; } .portlet { box-shadow:none!important; } }

/* Página pública: apresentação e acessos às informações do concurso. */
.portal-home .block-transparent { height:auto; min-height:calc(100vh - 110px); background-size:cover; background-position:center; }
.portal-home .block-transparent .wrap-primary { height:auto; min-height:inherit; padding:64px 0 48px; background:linear-gradient(115deg,rgba(10,33,56,.96),rgba(15,51,75,.88),rgba(12,45,63,.72)); }
.portal-home .portal-hero-row { margin-top:0; }
.portal-home .portal-eyebrow { color:#b9dbec; font-size:12px; font-weight:700; letter-spacing:2px; text-align:center; margin:0 0 22px; }
.portal-home .block-transparent .head-title { max-width:930px; margin:0 auto 22px; font-family:inherit; font-size:clamp(28px,3.6vw,46px); line-height:1.2; font-weight:700; letter-spacing:-1px; text-shadow:none; }
.portal-home .block-transparent .head-subtitle { color:#d7ecf5; font-family:inherit; font-size:clamp(18px,2vw,23px); line-height:1.5; font-weight:400; max-width:800px; margin:0 auto 24px; text-shadow:none; }
.portal-home .block-transparent .portal-description { max-width:800px; padding:20px 24px; margin:0 auto 24px; font-size:16px; line-height:1.7; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); border-radius:12px!important; text-shadow:none; }
.portal-home .portal-description strong { font-weight:400; }
.portal-home .profile-header-btn { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:20px; }
.portal-home .profile-header-btn .btn { margin:0; padding:14px 24px; font-size:14px; animation:none!important; white-space:normal; }
.portal-home .profile-header-btn .btn-primary { background:#2475c7; border-color:#6aadef; }
.portal-home .profile-header-btn .btn-primary:hover { background:#195fa7; }
.portal-home .portal-resources { display:flex; gap:16px; max-width:800px; margin:36px auto 0; text-align:left; }
.portal-home .portal-resources a { display:flex; align-items:center; gap:16px; flex:1; padding:20px; border:1px solid rgba(255,255,255,.25); border-radius:10px!important; background:rgba(255,255,255,.07); color:#fff; text-decoration:none; }
.portal-home .portal-resources a:hover,.portal-home .portal-resources a:focus { background:rgba(255,255,255,.16); border-color:#aedaf2; }
.portal-home .portal-resources a>i { font-size:23px; color:#b9dbec; }
.portal-home .portal-resources a>i:last-child { margin-left:auto; font-size:20px; }
.portal-home .portal-resources span { font-weight:600; }
.portal-home .portal-resources small { display:block; font-size:12px; font-weight:400; color:#c3d8e7; margin-top:4px; }
.modal-dialog.portal-modal-wide { width:calc(100% - 32px); max-width:1080px; margin:30px auto; }
.portal-modal-wide .modal-body { overflow-x:auto; }
@media(max-width:600px) {
 .portal-home .block-transparent .wrap-primary { padding:36px 0 30px; }
 .portal-home .portal-eyebrow { font-size:10px; letter-spacing:1.5px; }
 .portal-home .block-transparent .portal-description { padding:16px; font-size:14px; }
 .portal-home .portal-resources { flex-direction:column; margin-top:26px; gap:10px; }
 .portal-home .portal-resources a { padding:16px; }
 .portal-home .profile-header-btn>.btn,.portal-home .profile-header-btn>.btn-group { width:100%; }
 .portal-home .profile-header-btn .btn-group>.btn { width:100%; }
 .modal-dialog.portal-modal-wide { margin:16px auto; }
}

/* Acesso à conta: estilos limitados ao novo cartão de login. */
body.login { min-height:100vh; background:radial-gradient(ellipse at 15% 15%,#e0edf9 0,transparent 50%),linear-gradient(140deg,#f3f7fb,#e9f0f6)!important; }
.login .login-shell { display:flex; justify-content:center; align-items:center; min-height:calc(100vh - 70px); padding:40px 20px 24px; }
.login .content.login-card { width:440px!important; max-width:100%; margin:0; padding:36px!important; border-radius:20px!important; border-top:4px solid #175ca4; box-shadow:0 20px 60px #12345416; }
.login-card .login-brand { text-align:center; margin-bottom:28px; }
.login-card .login-brand img { display:block; max-width:240px; width:100%; height:auto; max-height:90px; object-fit:contain; margin:0 auto; }
.login-card .login-heading { margin-bottom:28px; text-align:center; }
.login-card .login-eyebrow { display:block; font-size:10px; letter-spacing:1.8px; font-weight:700; color:#175ca4; margin-bottom:12px; }
.login .login-card h1 { margin:0 0 10px; font-size:28px; line-height:1.25; font-weight:700; letter-spacing:-.7px; color:#123454; }
.login .login-card .login-heading p { color:#617388; font-size:14px; line-height:1.6; margin:0; }
.login .login-card label { display:block; color:#334c66; font-size:13px; font-weight:600; }
.login .login-card .form-control { height:48px; padding-left:40px; font-size:15px; border-radius:8px!important; }
.login .login-card .input-icon>i { color:#7b8da1; margin:16px 0 0 14px; }
.login .login-card .form-actions { background:transparent!important; border:0; padding:4px 0 0!important; margin:0; }
.login .login-card .login-submit { padding:13px 18px; font-size:15px; }
.login-card .login-submit i { margin-left:10px; }
.login-card .login-help { text-align:center; padding:20px 0; }
.login-card .login-help>span { display:block; margin-top:8px; color:#52677f; }
.login-card .login-help>span:empty { display:none; }
.login-card .login-back { display:block; border-top:1px solid #e4ebf2; padding-top:20px; text-align:center; color:#52677f; font-size:13px; }
.login-card .login-back i { margin-right:8px; }
.login .copyright { max-width:600px; line-height:1.6; padding:12px 20px 24px; }
@media(max-width:600px) {
 .login .login-shell { padding:24px 16px 16px; }
 .login .content.login-card { width:100%!important; padding:28px 24px!important; }
 .login .login-card h1 { font-size:25px; }
 .login .login-card .form-control { font-size:16px; }
}

/* Fundo sem rodapé incorporado e rodapé institucional em HTML. */
.portal-home .block-transparent { background-image:url('../img/bg-portal-clean.png'); }
.app-footer { background:#fff; border-top:1px solid #dce4ed; color:#52677f; }
.app-footer-container { max-width:1170px; width:100%; padding:32px 24px 18px; }
.app-footer-main { display:flex; justify-content:space-between; gap:32px; align-items:flex-start; }
.app-footer-label { display:block; color:#175ca4; font-size:10px; font-weight:700; letter-spacing:1.7px; margin-bottom:8px; }
.app-footer-brand strong { display:block; font-size:19px; color:#123454; font-weight:600; }
.app-footer-brand p { margin:8px 0 0; font-size:13px; }
.app-footer-links { display:flex; flex-wrap:wrap; gap:12px 24px; padding-top:12px; }
.app-footer-links a { color:#334c66; font-size:13px; padding:4px 0; }
.app-footer-links a:hover { color:#175ca4; }
.app-footer-partners { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; margin-top:24px; border-top:1px solid #e4ebf2; }
.app-footer-partners span { font-size:12px; color:#617388; }
.app-footer-partners img { display:block; width:560px; max-width:75%; height:auto; }
.app-footer-bottom { display:flex; justify-content:space-between; gap:12px; padding-top:16px; margin-top:24px; border-top:1px solid #e4ebf2; font-size:12px; }
.app-footer-partners+.app-footer-bottom { margin-top:0; }
.app-footer-login .app-footer-container { padding-top:22px; }
@media(max-width:767px) {
 .app-footer-container { padding:28px 20px 18px; }
 .app-footer-main,.app-footer-partners { flex-direction:column; gap:20px; }
 .app-footer-links { padding-top:0; }
 .app-footer-partners img { width:100%; max-width:100%; }
 .app-footer-bottom { flex-wrap:wrap; }
}
@media print { .app-footer { display:none; } }

/* Cabeçalho autenticado com o azul institucional. */
.header.app-header-authenticated { background:var(--minsa-blue)!important; border-bottom-color:var(--minsa-navy)!important; }
.header.app-header.app-header-authenticated .navbar-brand { align-items:center; gap:4px; padding:7px 10px; max-width:210px; background:transparent; border-radius:6px!important; }
.header.app-header.app-header-authenticated .navbar-brand img { height:auto; max-height:32px; object-fit:contain; background:transparent; }
.app-header-authenticated .app-header-brand-caption { color:#fff; text-align:center; }
.header.app-header-authenticated .hor-menu>ul.nav>li>a,
.header.app-header-authenticated .header-inner>.nav>li>a,
.header.app-header-authenticated .header-inner>.nav>li>a>i { color:#fff!important; }
.header.app-header-authenticated .hor-menu>ul.nav>li.active>a,
.header.app-header-authenticated .hor-menu>ul.nav>li>a:hover,
.header.app-header-authenticated .hor-menu>ul.nav>li>a:focus,
.header.app-header-authenticated .hor-menu>ul.nav>li.open>a,
.header.app-header-authenticated .header-inner>.nav>li>a:hover,
.header.app-header-authenticated .header-inner>.nav>li>a:focus,
.header.app-header-authenticated .header-inner>.nav>li.open>a { background:var(--minsa-navy)!important; color:#fff!important; }
.header.app-header-authenticated .nav .dropdown.user>a { border-color:#ffffff66; }
.header.app-header-authenticated .navbar-toggle { background:var(--minsa-navy)!important; }

/* Cabeçalho partilhado: marca legível e navegação com mais espaço. */
.header.app-header { height:76px; min-height:76px; border-top:3px solid #175ca4; }
.app-header .header-inner { display:flex; align-items:center; gap:24px; height:100%; padding-left:24px; padding-right:24px; }
.header.app-header .navbar-brand { flex-shrink:0; display:flex; flex-direction:column; justify-content:center; gap:5px; width:auto; height:auto; padding:0; margin:0!important; text-decoration:none; }
.header.app-header .navbar-brand img { display:block; width:180px; max-width:100%; height:auto; margin:0!important; }
.app-header-brand-caption { display:block; color:#52677f; font-size:10px; line-height:1.3; letter-spacing:.35px; }
.header.app-header .hor-menu { margin-left:auto; }
.header.app-header .navbar-nav { margin:0; }
.header.app-header .hor-menu>ul.nav { display:flex; gap:4px; }
.header.app-header .hor-menu>ul.nav>li>a { padding:12px 15px; border-radius:7px!important; font-size:13px; }
.header.app-header .hor-menu>ul.nav>li>a>i { margin-right:7px; }
.header.app-header .hor-menu ul.nav li.active .selected { display:none; }
.header.app-header .hor-menu .dropdown-menu { margin-top:8px; min-width:230px; }
.header.app-header .hor-menu .dropdown-menu li>a { white-space:normal; line-height:1.5; }
.header.app-header .nav .dropdown.user>a { display:flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid #dce4ed; border-radius:8px!important; }
.header.app-header .navbar-toggle { flex-shrink:0; width:42px; height:40px; padding:10px; margin:0 0 0 auto; }
.header.app-header .navbar-toggle img { width:20px; height:auto; }
body.page-header-fixed>.page-container { margin-top:76px; }
@media(max-width:1199px) and (min-width:992px) {
 .app-header .header-inner { gap:12px; padding-left:18px; padding-right:18px; }
 .header.app-header .hor-menu>ul.nav>li>a { padding:12px 9px; font-size:12px; }
 .header.app-header .navbar-brand img { width:155px; }
}
@media(max-width:991px) {
 .header.app-header { height:72px; min-height:72px; padding:0; position:relative; }
 .app-header .header-inner { width:100%; gap:12px; padding:0 16px; }
 .header.app-header .navbar-brand img { width:165px; }
 .header.app-header .nav .dropdown.user>a { padding:6px; }
 .app-header .username { display:none; }
 body.page-header-fixed>.page-container { margin-top:0; }
 #app-mobile-menu { background:#fff!important; border-bottom:1px solid #dce4ed; }
 #app-mobile-menu .page-sidebar-menu>li>a { color:#334c66!important; border-top:1px solid #edf1f6!important; padding:15px 20px; }
 #app-mobile-menu .page-sidebar-menu>li.active>a,#app-mobile-menu .page-sidebar-menu>li>a:hover { background:#eaf2fc!important; color:#175ca4!important; }
 #app-mobile-menu .page-sidebar-menu li>a>i { color:#617388!important; }
 #app-mobile-menu .sub-menu>li>a { color:#334c66!important; padding:12px 20px 12px 40px; }
 #app-mobile-menu .sub-menu>li>a:hover { background:#eaf2fc!important; }
}
@media(max-width:380px) {
 .header.app-header .navbar-brand img { width:140px; }
 .app-header-brand-caption { font-size:9px; }
 .app-header .header-inner { gap:8px; padding:0 12px; }
}
