/* FAGIS Prefeituras — tema institucional compartilhado por todas as telas */
:root{
  --fagis-navy:#07315f;
  --fagis-navy-dark:#05264b;
  --fagis-blue:#0b6bd3;
  --fagis-blue-2:#1384ef;
  --fagis-green:#28a866;
  --fagis-bg:#f3f8fc;
  --fagis-card:#ffffff;
  --fagis-border:#dce7f1;
  --fagis-text:#0e2a4b;
  --fagis-muted:#72869c;
  --fagis-sidebar:286px;
  --fagis-header:66px;
}
html,body{background:var(--fagis-bg)!important;color:var(--fagis-text)!important}
body,button,input,select,textarea{font-family:'Poppins',sans-serif!important}
a{color:var(--fagis-blue)}

/* Estrutura principal */
.fagis-sidebar.main-menu{
  position:fixed!important;inset:0 auto 0 0!important;width:var(--fagis-sidebar)!important;height:100vh!important;
  background:linear-gradient(180deg,#07386c 0%,#052f5f 55%,#04274f 100%)!important;
  border:0!important;box-shadow:none!important;overflow:hidden!important;z-index:1045!important;
}
.fagis-sidebar .fagis-sidebar-brand{height:178px!important;padding:26px 28px 18px!important;background:transparent!important;border:0!important;width:100%!important}
.fagis-sidebar .fagis-brand-link{display:block!important;margin:0!important;padding:0!important;width:100%!important;height:auto!important;color:#fff!important;text-decoration:none!important}
.fagis-sidebar .fagis-sidebar-logo{display:block!important;width:215px!important;height:auto!important;max-height:76px!important;object-fit:contain!important;object-position:left center!important}
.fagis-sidebar .fagis-sidebar-city{display:block;margin-top:12px;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.075em;line-height:1.35;opacity:.97}
.fagis-sidebar .main-menu-content{position:absolute!important;left:0!important;right:0!important;top:178px!important;bottom:142px!important;height:auto!important;padding:4px 14px 20px!important;overflow-y:auto!important;background:transparent!important}
.fagis-sidebar .navigation{padding:0!important;margin:0!important;background:transparent!important}
.fagis-sidebar .navigation>li{margin:3px 0!important;background:transparent!important}
.fagis-sidebar .navigation>li>a{
  min-height:48px!important;padding:12px 14px!important;border-radius:11px!important;background:transparent!important;
  color:rgba(255,255,255,.9)!important;font-size:.9rem!important;font-weight:500!important;white-space:nowrap!important;
  display:flex!important;align-items:center!important;box-shadow:none!important;
}
.fagis-sidebar .navigation>li>a>svg{width:20px!important;height:20px!important;min-width:20px!important;margin-right:14px!important;color:#fff!important}
.fagis-sidebar .navigation>li>a .menu-title{opacity:1!important;visibility:visible!important;color:inherit!important}
.fagis-sidebar .navigation>li>a:hover,.fagis-sidebar .navigation>li.open>a,.fagis-sidebar .navigation>li.sidebar-group-active>a{background:rgba(255,255,255,.09)!important;color:#fff!important}
.fagis-sidebar .navigation>li.active>a{background:linear-gradient(100deg,#0b79e4,#0965c5)!important;color:#fff!important;box-shadow:0 9px 20px rgba(1,46,92,.28)!important}
.fagis-sidebar .navigation>li ul{background:rgba(0,0,0,.10)!important;border-radius:10px!important;margin:4px 0 7px!important;padding:4px!important}
.fagis-sidebar .navigation>li ul li>a{min-height:38px!important;padding:9px 12px 9px 43px!important;color:rgba(255,255,255,.76)!important;border-radius:8px!important;font-size:.79rem!important}
.fagis-sidebar .navigation>li ul li>a:hover,.fagis-sidebar .navigation>li ul li.active>a{background:rgba(255,255,255,.08)!important;color:#fff!important}
.fagis-sidebar .navigation>li ul li>a svg{display:none!important}
.fagis-sidebar .fagis-sidebar-footer{position:absolute;left:27px;right:24px;bottom:24px;padding-top:17px;border-top:1px solid rgba(255,255,255,.24)}
.fagis-sidebar .fagis-sidebar-footer img{display:block;width:208px;max-height:82px;object-fit:contain;object-position:left center}

/* Cabeçalho superior */
.header-navbar.floating-nav{
  position:fixed!important;top:15px!important;left:calc(var(--fagis-sidebar) + 18px)!important;right:18px!important;width:auto!important;max-width:none!important;
  height:var(--fagis-header)!important;margin:0!important;border:1px solid var(--fagis-border)!important;border-radius:14px!important;background:#fff!important;
  box-shadow:0 8px 28px rgba(15,52,89,.055)!important;z-index:1030!important;
}
.header-navbar .navbar-container{height:100%!important;width:100%!important;padding:0 18px!important}
.municipal-global-search{width:min(520px,45vw);position:relative}
.municipal-global-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#58718b}
.municipal-global-search input{width:100%;height:40px;border:1px solid #dbe5ef;border-radius:9px;background:#fff;padding:0 14px 0 42px;color:#304a65;font-size:.78rem;outline:0}
.municipal-global-search input:focus{border-color:#8fc2f1;box-shadow:0 0 0 3px rgba(11,107,211,.08)}
.municipal-header-date{display:flex!important;align-items:center!important;gap:9px!important;height:38px;padding:0 13px!important;border-left:1px solid #edf2f6;color:#566d84;font-size:.76rem;white-space:nowrap}
.municipal-header-date svg{width:16px;height:16px;color:var(--fagis-blue)}
.header-navbar .dropdown-user-link{padding-left:13px!important;max-width:310px!important}
.header-navbar .user-name{color:#113054!important;font-weight:700!important;font-size:.78rem!important}
.header-navbar .user-status{color:#6f8297!important;font-size:.68rem!important}
.header-navbar .fagis-user-avatar{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;max-width:42px!important;max-height:42px!important;border:2px solid #eef4f8!important;background:#dfefff!important;color:#0b67c2!important}

/* Área de conteúdo */
body:not(.blank-page) .app-content.content{margin-left:var(--fagis-sidebar)!important;padding:101px 18px 24px!important;background:var(--fagis-bg)!important;min-height:100vh!important}
body:not(.blank-page) .content-wrapper.container-xxl{max-width:none!important;width:100%!important;min-height:calc(100vh - 126px)!important}
body:not(.blank-page) .footer{margin-left:var(--fagis-sidebar)!important;background:transparent!important;border:0!important;color:#789!important}
.header-navbar-shadow,.shadow-bottom{display:none!important}

/* Aparência compartilhada nas demais telas */
.card,.modal-content{border:1px solid var(--fagis-border)!important;border-radius:15px!important;box-shadow:0 7px 22px rgba(25,57,91,.055)!important}
.card-header{background:#fff!important;border-bottom:1px solid #edf2f7!important;border-radius:15px 15px 0 0!important}
.content-header{margin-bottom:13px!important}.content-header-title{font-size:1.72rem!important;line-height:1.1!important;font-weight:800!important;color:var(--fagis-text)!important;border:0!important}
h1,h2,h3,h4,h5,.card-title{color:var(--fagis-text)!important}.text-muted{color:var(--fagis-muted)!important}
.btn{border-radius:9px!important;font-weight:600!important}.btn-primary{background:var(--fagis-blue)!important;border-color:var(--fagis-blue)!important}.btn-primary:hover{background:#095bb4!important;border-color:#095bb4!important}
.btn-outline-primary{color:var(--fagis-blue)!important;border-color:#9bc7ef!important;background:#fff!important}.btn-outline-primary:hover{background:#eef7ff!important;color:#075aa9!important}
.form-control,.form-select,.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple{border-radius:9px!important;border-color:#d7e2ed!important;min-height:42px!important;background:#fff!important}
.form-control:focus,.form-select:focus{border-color:#84bdf1!important;box-shadow:0 0 0 .18rem rgba(11,107,211,.09)!important}
.table thead th{background:#f8fbfd!important;color:#65798f!important;font-size:.72rem!important;text-transform:none!important;letter-spacing:0!important;border-color:#edf2f7!important}.table>tbody>tr:hover>*{background:#f8fbff!important}
.badge{border-radius:999px!important}.dropdown-menu{border:1px solid var(--fagis-border)!important;border-radius:12px!important;box-shadow:0 14px 34px rgba(21,50,80,.14)!important}

/* Atendimento usa a tela inteira como aplicação, sem rodapé */
body.page-atendimento{overflow:hidden!important}
body.page-atendimento .app-content.content{height:100vh!important;padding-bottom:14px!important;overflow:hidden!important}
body.page-atendimento .footer,body.page-atendimento .scroll-top{display:none!important}
body.page-atendimento .content-wrapper.container-xxl{height:calc(100vh - 115px)!important;min-height:0!important}

@media(max-width:1199.98px){
  .fagis-sidebar.main-menu{transform:translateX(-100%)!important;width:var(--fagis-sidebar)!important;transition:transform .2s ease!important}
  body.menu-open .fagis-sidebar.main-menu,.fagis-sidebar.main-menu.expanded{transform:translateX(0)!important}
  .header-navbar.floating-nav{left:14px!important;right:14px!important}
  body:not(.blank-page) .app-content.content,body:not(.blank-page) .footer{margin-left:0!important}body:not(.blank-page) .app-content.content{padding:96px 13px 20px!important}
  .municipal-global-search{width:min(460px,48vw)}
}
@media(max-width:767.98px){
  .header-navbar.floating-nav{top:9px!important;left:9px!important;right:9px!important}.header-navbar .navbar-container{padding:0 10px!important}
  .municipal-global-search,.municipal-header-date{display:none!important}body:not(.blank-page) .app-content.content{padding:87px 9px 14px!important}.content-header-title{font-size:1.45rem!important}
}
