﻿/* Shared presentation layer for Bootstrap 3 / AdminLTE 2.
   Screen only: report/PDF layouts and printed documents keep their original styles.
   Preserve plugin classes, DOM, visibility, semantic state colors and event handlers. */
@media screen {
   .portal-modern {
      --portal-ink: #253b52;
      --portal-muted: #687c90;
      --portal-primary: #235b83;
      --portal-primary-hover: #194564;
      --portal-border: #dce5ee;
      --portal-canvas: #f4f7fb;
      --portal-surface: #fff;
      font-family: "Segoe UI", Arial, sans-serif;
      font-size: 13px;
      line-height: 1.5;
      color: var(--portal-ink);
      background: var(--portal-canvas);
   }
   .portal-modern h1, .portal-modern h2, .portal-modern h3, .portal-modern h4, .portal-modern h5, .portal-modern h6 { font-family: inherit; }
   .portal-modern h1, .portal-modern h2 { font-weight: 650; letter-spacing: -.6px; }
   .portal-modern h1 { font-size: 28px; }
   .portal-modern h2 { font-size: 25px; }
   .portal-modern h3 { font-size: 20px; font-weight: 600; }
   .portal-modern h4 { font-size: 16px; font-weight: 600; }
   .portal-modern a:focus-visible, .portal-modern button:focus-visible, .portal-modern input[type=radio]:focus-visible, .portal-modern input[type=checkbox]:focus-visible { outline: 3px solid #4694c4; outline-offset: 3px; }
   .portal-modern hr { border-color: var(--portal-border); }

   /* Public and legacy shells. Dedicated home and access styles load after this file. */
   .portal-public { margin-bottom: 0; }
   .portal-public .top-line { height: auto; min-height: 36px; padding: 8px 0 0; background: #edf2f7; color: #536b80; }
   .portal-public .top-line a { color: #3b617f; }
   .portal-public .line-silver { display: none; }
   .portal-public .my-nav-bar { background: #fff; border: 0; border-bottom: 1px solid var(--portal-border); margin-bottom: 24px; }
   .portal-public .my-nav-bar > .container-fluid { max-width: 1240px; padding: 8px 24px; }
   .portal-public .navbar-nav > li > a { color: #36516a; border-radius: 6px; font-size: 13px; }
   .portal-public .navbar-nav > li > a:hover, .portal-public .navbar-nav > li > a:focus { background: #edf3f8; color: #184c73; }
   .portal-public #conteudo { width: 100%; max-width: 1240px; padding: 0 24px 36px !important; }
   .portal-public:not(.home-redesign) #conteudo > section { background: #fff; border: 1px solid var(--portal-border); border-radius: 12px; padding: 24px; }
   .portal-public:not(.home-redesign) #conteudo > section > h2:first-child,
   .portal-public:not(.home-redesign) #conteudo > section > h4:first-child { margin-top: 0; padding-bottom: 16px; margin-bottom: 20px; border-bottom: 1px solid #e8eef4; color: #244762; }
   .portal-public #conteudo + br, .portal-public #conteudo + br + br, .portal-public #conteudo + br + br + br { display: none; }
   .portal-public .rodape { height: auto; padding: 24px max(20px, calc((100% - 1192px) / 2)); background: #122f49; font-size: 12px; line-height: 1.8; }
   .portal-public .rodape .row { margin: 0; }
   .portal-public .rodape small { color: #c3d2df; }
   .portal-public .cookieConsentAny3 { border-radius: 12px; box-shadow: 0 10px 30px #122f4929; }
   .portal-legacy .navbar-inverse { background: #163a56; border-color: #163a56; }
   .portal-legacy .body-content { padding-top: 76px; padding-bottom: 32px; }

   /* Authenticated shell: retain AdminLTE sidebar sizes and open/collapsed behavior. */
   .portal-panel .wrapper, .portal-panel .content-wrapper { background: var(--portal-canvas) !important; }
   @media (min-width: 768px) {
      .portal-panel.layout-top-nav .content-wrapper, .portal-panel.layout-top-nav .main-footer { margin-left: 230px; }
      .portal-panel.layout-top-nav.sidebar-collapse .content-wrapper, .portal-panel.layout-top-nav.sidebar-collapse .main-footer { margin-left: 50px; }
   }
   .portal-panel .content { padding: 24px; }
   .portal-panel .content > h2:first-child { margin: 0 0 22px; color: #244762; }
   .portal-panel.skin-blue .main-header .navbar { background: #153952; box-shadow: 0 2px 12px #142f4612; }
   .portal-panel .main-header .portal-brand { display: inline-flex; align-items: center; gap: 12px; min-height: 50px; max-width: 60%; vertical-align: middle; }
   .portal-panel .main-header .portal-brand .logo-fundacao { background: #fff; border-radius: 6px; max-width: 155px; max-height: 36px; padding: 4px 8px; margin: 0; object-fit: contain; }
   .portal-panel .main-header .portal-brand > span { font-size: 12px !important; color: #d8e4ed !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
   .portal-panel .main-header .sidebar-toggle { color: #dbe9f2; }
   .portal-panel.skin-blue .main-header .navbar .sidebar-toggle:hover { background: #234d6a; }
   .portal-panel .main-header .navbar .nav > li > a { color: #e6f0f7; }
   .portal-panel .main-header .navbar .nav > li > a:hover, .portal-panel .main-header .navbar .nav > .open > a { background: #224b67; }
   .portal-panel .user-menu > a .h4 { font-size: 13px; font-weight: 600; }
   .portal-panel .main-sidebar, .portal-panel .left-side { background: #142f46; }
   .portal-panel .sidebar-menu > li.header { background: #142f46; color: #8aa8bd; font-size: 10px; font-weight: 600; letter-spacing: 1.5px; padding: 17px 16px 10px; }
   .portal-panel .sidebar-menu > li > a { color: #cbdae6; font-size: 12px; padding: 12px 14px; }
   .portal-panel .sidebar-menu > li > a > .fa { color: #93b5ce; }
   .portal-panel .sidebar-menu > li:hover > a, .portal-panel .sidebar-menu > li.active > a { color: #fff; background: #20475f; border-left-color: #86c7d8; }
   .portal-panel .sidebar-menu > li > .treeview-menu { background: #10283d; }
   .portal-panel .treeview-menu > li > a { color: #b6cbdc; font-size: 12px; padding: 9px 12px; }
   .portal-panel .treeview-menu > li > a:hover, .portal-panel .treeview-menu > li.active > a { color: #fff; background: #1d4059; }
   .portal-panel .main-footer { padding: 24px 20px; background: #fff; border-top: 1px solid var(--portal-border); color: #6c7f90; }
   .portal-panel .main-footer a { color: #315f82; }
   .portal-panel .navbar-nav > .user-menu > .dropdown-menu { max-width: calc(100vw - 24px); }
   .portal-panel .navbar-nav > .user-menu > .dropdown-menu > li.user-header { height: auto; min-height: 92px; background: #204c6b; }
   .portal-panel .navbar-nav > .user-menu > .dropdown-menu > .user-body,
   .portal-panel .navbar-nav > .user-menu > .dropdown-menu > .user-footer { background: #f3f6fa !important; }

   /* Surfaces. Do not change display/overflow: collapsed panels and overlays need them. */
   .portal-modern .box { border-radius: 10px; box-shadow: 0 3px 12px #19364f06; border: 1px solid var(--portal-border); margin-bottom: 18px; }
   .portal-modern .box.box-primary { padding: 0 !important; border-top: 3px solid #477ea5; }
   .portal-modern .box.box-success { border-top: 3px solid #3b8c70; }
   .portal-modern .box.box-warning { border-top: 3px solid #cc9540; }
   .portal-modern .box.box-danger { border-top: 3px solid #c96c68; }
   .portal-modern .box.box-info { border-top: 3px solid #4695b0; }
   .portal-modern .box-header { padding: 13px 16px !important; }
   .portal-modern .box-header.with-border { border-color: #e8eef4; }
   .portal-modern .box-header .box-title { font-size: 15px; font-weight: 600; line-height: 1.4; }
   .portal-modern .box-header > .box-tools { top: 9px; right: 10px; }
   .portal-modern .box-body { padding: 16px !important; }
   .portal-modern .box-footer { padding: 12px 16px; border-color: #e6edf4; background: #f9fbfd; border-radius: 0 0 10px 10px; }
   .portal-modern .box.box-solid > .box-header { border-radius: 9px 9px 0 0; }
   .portal-modern .panel { border-radius: 10px; border-color: var(--portal-border); box-shadow: 0 3px 12px #19364f06; }
   .portal-modern .panel-heading { padding: 12px 16px; border-radius: 9px 9px 0 0; }
   .portal-modern .panel-default > .panel-heading { color: #36516b; background: #f0f5fa; border-color: var(--portal-border); }
   .portal-modern .panel-primary > .panel-heading { background: #235b83; border-color: #235b83; }
   .portal-modern .panel-body { padding: 16px; }
   .portal-modern .well { border: 1px solid var(--portal-border); border-radius: 9px; background: #f0f5fa; box-shadow: none; }
   .portal-modern .info-box, .portal-modern .small-box { border-radius: 10px; box-shadow: 0 3px 12px #19364f08; }
   .portal-modern .info-box-icon { border-radius: 10px 0 0 10px; }

   /* Compact controls. Specific login styles retain their own 44 px fields. */
   .portal-modern .form-control { height: 34px !important; padding: 6px 10px !important; font-size: 13px; color: #29445a; background-color: #fff; border: 1px solid #cad7e3; border-radius: 6px; box-shadow: none; }
   .portal-modern textarea.form-control { height: auto !important; min-height: 110px; line-height: 1.5; }
   .portal-modern select.form-control[multiple], .portal-modern select.form-control[size] { height: auto !important; min-height: 80px; }
   .portal-modern .form-control:focus { border-color: #4686b3; box-shadow: 0 0 0 3px #4686b31a; }
   .portal-modern .form-control[readonly] { background: #f3f6f9; color: #4f667b; }
   .portal-modern .form-control[disabled], .portal-modern fieldset[disabled] .form-control { background: #eaf0f5; color: #6d8092; cursor: not-allowed; }
   .portal-modern .form-control.input-validation-error, .portal-modern .has-error .form-control { border-color: #be5650; }
   .portal-modern .has-success .form-control { border-color: #46876e; }
   .portal-modern .has-warning .form-control { border-color: #b98b37; }
   .portal-modern .field-validation-error { font-size: 12px; color: #ac3935; }
   .portal-modern .control-label, .portal-modern .form-group > label { font-size: 12px; font-weight: 600; color: #425b71; }
   .portal-modern .form-horizontal .control-label { padding-top: 7px; }
   .portal-modern .help-block { color: #728496; font-size: 12px; }
   .portal-modern .input-group-addon { height: 34px !important; padding: 6px 10px !important; border-color: #cad7e3; background: #eef3f8; color: #547089; }
   .portal-modern .input-group-btn > .btn { height: 34px !important; padding: 6px 10px !important; }
   .portal-modern .input-group .form-control:not(:first-child):not(:last-child), .portal-modern .input-group-addon:not(:first-child):not(:last-child) { border-radius: 0; }
   .portal-modern .input-group .form-control:first-child, .portal-modern .input-group-addon:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0; }
   .portal-modern .input-group .form-control:last-child, .portal-modern .input-group-addon:last-child { border-top-left-radius: 0; border-bottom-left-radius: 0; }
   .portal-modern input[type=checkbox], .portal-modern input[type=radio] { accent-color: #235b83; }
   .portal-modern .select2-container--bootstrap .select2-selection { min-height: 34px; height: auto !important; border-color: #cad7e3; border-radius: 6px !important; box-shadow: none; font-family: inherit; }
   .portal-modern .select2-container--bootstrap .select2-selection--single { height: 34px !important; padding: 6px 24px 6px 10px !important; }
   .portal-modern .select2-container--bootstrap .select2-selection--multiple { padding: 0 6px !important; }
   .portal-modern .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice { border-color: #cadbe9; background: #edf4fa; color: #315b7b; border-radius: 4px !important; }
   .portal-modern .select2-dropdown { border-color: #b9cee0; border-radius: 6px !important; box-shadow: 0 6px 20px #18354e14; }
   .portal-modern .select2-container--bootstrap .select2-results__option--highlighted[aria-selected] { background: #235b83; }

   /* Semantic action colors remain distinguishable. Operation icons keep their sizes. */
   .portal-modern .btn { border-radius: 6px; font-weight: 600; font-size: 12px; padding: 7px 12px; box-shadow: none; }
   .portal-modern .btn-primary { background: #235b83; border-color: #235b83; }
   .portal-modern .btn-primary:hover, .portal-modern .btn-primary:focus, .portal-modern .btn-primary:active, .portal-modern .btn-primary.active { background: #194564; border-color: #194564; }
   .portal-modern .btn-default { background: #fff; border-color: #ccd9e5; color: #3e5b74; }
   .portal-modern .btn-default:hover, .portal-modern .btn-default:focus, .portal-modern .btn-default.active { background: #edf3f8; border-color: #b3c8d9; }
   .portal-modern .btn-success { background: #2f7b60; border-color: #2f7b60; }
   .portal-modern .btn-success:hover, .portal-modern .btn-success:focus { background: #24634d; border-color: #24634d; }
   .portal-modern .btn-danger { background: #b74f4b; border-color: #b74f4b; }
   .portal-modern .btn-danger:hover, .portal-modern .btn-danger:focus { background: #963c38; border-color: #963c38; }
   .portal-modern .btn-warning { background: #f0bd64; border-color: #e3ae53; color: #4c3613; }
   .portal-modern .btn-warning:hover, .portal-modern .btn-warning:focus { background: #e4ac4d; border-color: #d49c3e; color: #4c3613; }
   .portal-modern .btn-info { background: #2e819a; border-color: #2e819a; }
   .portal-modern .btn-info:hover, .portal-modern .btn-info:focus { background: #246a80; border-color: #246a80; }
   .portal-modern .btn-xs { padding: 3px 7px; font-size: 11px; }
   .portal-modern .btn-sm { padding: 5px 9px; font-size: 12px; }
   .portal-modern .btn-lg { padding: 10px 16px; font-size: 15px; }
   .portal-modern .btn-operacao { padding: 3px; }
   .portal-modern .btn[disabled], .portal-modern .btn.disabled { opacity: .6; box-shadow: none; }
   .portal-modern .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
   .portal-modern .btn-group > .btn:last-child:not(:first-child), .portal-modern .btn-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
   .portal-modern .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; }

   /* Tables retain column sizing, numeric alignment, sorting and responsive details. */
   .portal-modern .table { font-size: 12px; }
   .portal-modern .table > thead > tr > th { background-color: #edf3f8; color: #466078; font-size: 11px; font-weight: 650; border-bottom: 1px solid #cfdde9; vertical-align: middle; padding-top: 10px; padding-bottom: 10px; }
   .portal-modern .table > tbody > tr > td { border-top-color: #e8eef4; vertical-align: middle; }
   .portal-modern .table-bordered, .portal-modern .table-bordered > thead > tr > th, .portal-modern .table-bordered > tbody > tr > td { border-color: #e0e8f0; }
   .portal-modern .table-striped > tbody > tr:nth-of-type(odd):not(.success):not(.danger):not(.warning):not(.info):not(.active):not(.selected) { background-color: #f8fafd; }
   .portal-modern .table-hover > tbody > tr:hover:not(.success):not(.danger):not(.warning):not(.info):not(.active):not(.selected) { background-color: #edf4fa; }
   .portal-modern .table > tfoot > tr > th, .portal-modern .table > tfoot > tr > td { background: #f2f6fa; border-color: #d8e3ed; font-weight: 600; }
   .portal-modern div.dataTables_wrapper div.dataTables_info { font-size: 11px; color: #6c8092; }
   .portal-modern div.dataTables_wrapper div.dataTables_filter label, .portal-modern div.dataTables_wrapper div.dataTables_length label { color: #60768b; font-size: 12px; }
   .portal-modern .pagination > li > a, .portal-modern .pagination > li > span { border-color: #d7e2ec; color: #3f6685; background: #fff; }
   .portal-modern .pagination > .active > a, .portal-modern .pagination > .active > span { background: #235b83; border-color: #235b83; color: #fff; }
   .portal-modern .pagination > .disabled > a, .portal-modern .pagination > .disabled > span { background: #f3f6f9; color: #8493a2; }
   .portal-modern .pagination > li:first-child > a, .portal-modern .pagination > li:first-child > span { border-radius: 6px 0 0 6px; }
   .portal-modern .pagination > li:last-child > a, .portal-modern .pagination > li:last-child > span { border-radius: 0 6px 6px 0; }

   /* Tabs, overlays, notifications, and navigation plugins. */
   .portal-modern .nav-tabs { border-bottom-color: #d9e4ee; }
   .portal-modern .nav-tabs > li > a { border-radius: 6px 6px 0 0; color: #597189; font-size: 12px; padding: 10px 14px; }
   .portal-modern .nav-tabs > li > a:hover { background: #f0f5fa; border-color: transparent; }
   .portal-modern .nav-tabs > li.active > a, .portal-modern .nav-tabs > li.active > a:focus, .portal-modern .nav-tabs > li.active > a:hover { color: #235b83; border-color: #d9e4ee #d9e4ee #fff; font-weight: 650; background: #fff; }
   .portal-modern .nav-tabs-custom { border: 1px solid var(--portal-border); border-radius: 10px; box-shadow: none; }
   .portal-modern .nav-tabs-custom > .nav-tabs > li.active { border-top-color: #477ea5; }
   .portal-modern .nav-tabs-custom > .tab-content { padding: 16px; border-radius: 0 0 10px 10px; }
   .portal-modern .nav-pills > li.active > a, .portal-modern .nav-pills > li.active > a:hover { background: #235b83; border-color: #235b83; }
   .portal-modern .dropdown-menu { padding: 6px; border: 1px solid #d9e4ed; border-radius: 8px; box-shadow: 0 8px 24px #16354f1a; }
   .portal-modern .dropdown-menu > li > a { border-radius: 4px; color: #3a566e; font-size: 12px; padding: 8px 12px; }
   .portal-modern .dropdown-menu > li > a:hover, .portal-modern .dropdown-menu > li > a:focus { background: #edf4fa; color: #1d537b; }
   .portal-modern .dropdown-menu > .disabled > a { color: #8a99a6; }
   .portal-modern .modal-content { border: 1px solid #dbe5ed; border-radius: 12px; box-shadow: 0 18px 60px #112f4938; }
   .portal-modern .modal-header { padding: 16px 20px; background: #204c6b; color: #fff; border-radius: 11px 11px 0 0; border-bottom: 0; }
   .portal-modern .modal-title { font-size: 17px; font-weight: 600; }
   .portal-modern .modal-header .close { color: #fff; text-shadow: none; opacity: .85; }
   .portal-modern .modal-body { padding: 20px; }
   .portal-modern .modal-footer { padding: 14px 20px; background: #f7f9fc; border-color: #e3ebf2; border-radius: 0 0 11px 11px; }
   .portal-modern .alert { border-radius: 8px; font-size: 13px; }
   .portal-modern .alert-info { background: #edf6fc !important; border-color: #c4dfef; color: #2c6283 !important; }
   .portal-modern .alert-success { background: #edf7f1 !important; border-color: #c9e3d4; color: #2e6b4d !important; }
   .portal-modern .alert-warning { background: #fff6e7 !important; border-color: #efd9b2; color: #8a6226 !important; }
   .portal-modern .alert-danger { background: #fff0ef !important; border-color: #eecbc7; color: #a4423b !important; }
   .portal-modern .alert a { color: inherit; }
   .portal-modern .alert .close { color: inherit; opacity: .7; }
   .portal-modern #toast-container > div { border-radius: 9px; box-shadow: 0 6px 24px #1b3b5524; }
   .portal-modern .breadcrumb { background: #edf3f8; border-radius: 6px; color: #637c92; }
   .portal-modern .list-group-item { border-color: #e0e8f0; padding: 11px 15px; }
   .portal-modern .list-group-item.active { background: #235b83; border-color: #235b83; }
   .portal-modern .progress { border-radius: 6px; box-shadow: none; background: #eaf0f6; }
   .portal-modern .progress-bar { box-shadow: none; }

   @media (max-width: 991px) {
      .portal-panel .main-header .portal-brand { max-width: 48%; }
      .portal-panel .content { padding: 18px; }
   }
   @media (max-width: 767px) {
      .portal-public #conteudo { padding: 0 14px 28px !important; }
      .portal-public:not(.home-redesign) #conteudo > section { padding: 18px 14px; }
      .portal-public .my-nav-bar > .container-fluid { padding: 8px 16px; }
      .portal-public .navbar-collapse { float: none !important; clear: both; }
      .portal-public .top-line li { font-size: 10px; margin-right: 12px; }
      .portal-public .rodape .text-center, .portal-public .rodape .text-right { text-align: left; padding: 10px 15px !important; }
      .portal-public .rodape .col-md-4, .portal-public .rodape .col-md-6 { padding-left: 15px !important; }
      .portal-public .cookieConsentAny3 { width: calc(100% - 24px); bottom: 12px; right: 12px; padding: 18px; }
      .portal-panel .content { padding: 16px 12px; }
      .portal-panel .main-header .portal-brand { max-width: calc(100% - 170px); gap: 0; }
      .portal-panel .main-header .portal-brand > span { display: none; }
      .portal-panel .main-header .portal-brand .logo-fundacao { max-width: 125px; }
      .portal-modern .box-header { padding: 12px 14px !important; }
      .portal-modern .box-body { padding: 14px !important; }
      .portal-modern .modal-dialog { margin: 12px; }
      .portal-modern .modal-body { padding: 16px; }
      .portal-modern .form-control { font-size: 16px; }
      .portal-modern div.dataTables_wrapper div.dataTables_filter { text-align: left; }
      .portal-modern div.dataTables_wrapper div.dataTables_filter input { max-width: 65%; }
      .portal-modern .nav-tabs > li > a { padding: 9px 10px; }
      .portal-modern .btn-block { white-space: normal; }
   }
   @media (prefers-reduced-motion: reduce) {
      .portal-modern .btn, .portal-modern .form-control, .portal-modern .main-sidebar, .portal-modern .content-wrapper { transition: none; }
   }
}
