/* ==========================================================================
   Monitora — chrome compartilhado (cabeçalho e rodapé) no padrão DSGov.
   ========================================================================== */
:root{
  --paper:#FFFFFF; --surface:#FFFFFF; --tint:#F4F7F6; --line:#E1E7E4; --line-strong:#C4CFCA;
  --ink:#0E2A3B; --ink-soft:#4A6070; --ink-faint:#7D8F99;
  --green:#12A15A; --green-soft:#D7F0E2; --sun-a:#FFD23F; --sun-b:#F39200;
  --blue:#1F63D6; --blue-soft:#DCE7FA; --wordmark:#6B7378;
  --footer:#0E2A3B; --footer-ink:#DCE6EA; --footer-faint:#8FA6B2;
  --display:"Rawline", "Raleway", sans-serif;
  --body:"Rawline", "Raleway", sans-serif;
  color-scheme:light;
}

body::before{content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); z-index:10; background:var(--paper)}

/* Header — Gov.BR Design System (br-header) */
.wrap{width:min(1240px, 100% - 48px); margin-inline:auto; max-width:100%}
@media (max-width:600px){ .wrap{width:calc(100% - 32px)} }
.br-header{
  --header-bg:#FFFFFF; --header-ink:#333333; --header-link:#1351B4; --header-line:#CCCCCC;
  position:relative; z-index:1;
  background:var(--header-bg); color:var(--header-ink); font-family:var(--display);
  box-shadow:0 1px 6px rgba(0,0,0,.16);
}
.br-header .header-wrap{padding:16px 0}
.br-header .header-top{display:flex; align-items:center; justify-content:flex-end; gap:16px; min-height:48px}
.br-header .header-logo{display:flex; align-items:center; gap:16px; flex:1; min-width:0}
.br-header .header-logo a{display:inline-flex; align-items:center; text-decoration:none; color:inherit}
.br-header .govbr-logo img{display:block; height:26px; width:auto}
.br-header .header-logo .br-divider{display:block; width:0; height:32px; border:0; border-right:1px solid var(--header-line); align-self:center; flex:none}
.br-header .header-sign{display:inline-flex; align-items:center; gap:9px; color:var(--wordmark); min-width:0}
.br-header .header-sign .sign-icon{width:30px; height:30px; flex:none}
.br-header .header-sign .sign-name{font-family:var(--display); font-weight:600; font-size:22px; line-height:1; letter-spacing:-.02em; color:var(--wordmark); font-variation-settings:"opsz" 36; white-space:nowrap}
.br-header .header-sign:hover .sign-name{color:var(--ink)}
.br-header .header-actions{display:flex; align-items:center; justify-content:flex-end; flex:none}
.br-header .header-links{position:relative}

/* Dropdown "Acesso Rápido" — DSGov (br-button circle small + br-list) */
.br-header .header-links [data-toggle="dropdown"]{display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--header-link); cursor:pointer; transition:background-color .3s}
.br-header .header-links [data-toggle="dropdown"]:hover{background-image:linear-gradient(rgba(19,81,180,.16),rgba(19,81,180,.16))}
.br-header .header-links [data-toggle="dropdown"]:focus-visible{outline:2px dashed #C2850C; outline-offset:2px}
.br-header .header-links [data-toggle="dropdown"] svg{width:18px; height:18px}
.br-header .header-links .br-list{
  display:none; position:absolute; top:100%; right:0; left:auto; z-index:1000;
  min-width:200px; margin:0; padding:0; list-style:none;
  background:#FFFFFF; border-radius:0; box-shadow:0 1px 6px rgba(0,0,0,.16); overflow:visible;
}
.br-header .header-links.show .br-list{display:block}
.br-header .header-links .br-list .header{display:flex; align-items:center; justify-content:space-between; padding:8px 16px; color:var(--header-ink); font-size:14px; font-weight:700; line-height:1.45}
.br-header .header-links .br-list .header .title{font-size:14px; font-weight:700; color:var(--header-ink)}
.br-header .header-links .br-item{
  display:block; width:100%; padding:16px; border:0; border-bottom:1px solid var(--header-line);
  background:#FFFFFF; color:var(--header-ink); font-family:var(--display); font-size:14px; font-weight:400;
  line-height:1.45; text-align:left; text-decoration:none; white-space:nowrap; cursor:pointer;
}
.br-header .header-links .br-item:last-child{border-bottom:0}
.br-header .header-links .br-item:hover{background-image:linear-gradient(rgba(19,81,180,.16),rgba(19,81,180,.16))}
.br-header .header-links .br-item:focus-visible{outline:2px dashed #C2850C; outline-offset:-4px}
.br-header .header-bottom{display:flex; justify-content:space-between; margin-top:8px}
.br-header .header-menu{display:flex; align-items:flex-start; flex:1; min-width:0}
.br-header .header-info{padding-top:4px; min-width:0}
.br-header .header-title{font-family:var(--display); font-size:14px; font-weight:500; line-height:1.2; letter-spacing:0; color:var(--header-ink)}
.br-header .header-title a{color:inherit; text-decoration:none}
.br-header .header-title a:hover{color:var(--header-link)}
.br-header .header-menu .header-subtitle{font-weight:300}
@media (min-width:576px){
  .br-header .header-info{padding-top:4px}
  .br-header .header-title{font-size:20.16px}
  .br-header .header-subtitle{display:block}
}
@media (min-width:1280px){
  .br-header .header-links [data-toggle="dropdown"]{display:none}
  .br-header .header-links .br-list{display:flex; position:static; min-width:0; margin:0; padding:0; background:transparent; border-radius:0; box-shadow:none; overflow:visible}
  .br-header .header-links .br-list .header{display:none}
  .br-header .header-links .br-item{padding:0; margin-right:24px; border:0; background:transparent; color:var(--header-link); font-size:14.4px; font-weight:500}
  .br-header .header-links .br-item:last-child{margin-right:0}
  .br-header .header-links .br-item:hover{background-image:none; text-decoration:underline; text-underline-offset:3px}
  .br-header .header-info{padding-top:0}
  .br-header .header-title{font-size:24.192px}
  .br-header .header-subtitle{font-size:14px}
}
@media (max-width:575px){
  .br-header .header-wrap{padding:8px 0}
  .br-header .header-top{min-height:40px}
  .br-header .header-logo{gap:10px}
  .br-header .header-logo .br-divider{height:26px}
  .br-header .header-sign .sign-icon{width:26px; height:26px}
  .br-header .header-sign .sign-name{font-size:19px}
}

/* Footer — DSGov br-footer com as cores do Contrata+Brasil (#071D41) */
.br-footer{
  --footer-bg:#071D41; --footer-ink:#FFFFFF; --footer-muted:rgba(255,255,255,.72); --footer-line:rgba(255,255,255,.24);
  background:var(--footer-bg); color:var(--footer-ink);
  padding:48px 0 calc(32px + env(safe-area-inset-bottom,0px));
  font-family:var(--display);
}
.br-footer .f-main{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px 32px}
.br-footer .f-logos{display:flex; align-items:center; gap:20px; min-width:0}
.br-footer .f-govbr img{display:block; height:40px; width:auto}
.br-footer .f-div{width:1px; height:40px; flex:none; background:var(--footer-line)}
.br-footer .f-sign{display:inline-flex; align-items:center; gap:10px; color:var(--footer-ink); text-decoration:none}
.br-footer .f-sign svg{width:34px; height:34px; flex:none; filter:brightness(0) invert(1)}
.br-footer .f-sign span{font-weight:600; font-size:24px; line-height:1; letter-spacing:-.02em; font-variation-settings:"opsz" 36}
.br-footer .f-sign:hover span{text-decoration:underline; text-underline-offset:4px}
.br-footer .f-links{display:flex; flex-wrap:wrap; gap:8px 24px}
.br-footer .f-links a{color:var(--footer-ink); font-size:14px; text-decoration:none}
.br-footer .f-links a:hover{text-decoration:underline; text-underline-offset:4px}
.br-footer .f-info{display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:12px 32px; margin-top:28px; padding-top:24px; border-top:1px solid var(--footer-line)}
.br-footer .f-terms{color:var(--footer-ink); font-size:14px; font-weight:700; text-decoration:none}
.br-footer .f-terms:hover{text-decoration:underline; text-underline-offset:4px}
.br-footer .f-meta{display:flex; flex-direction:column; gap:4px; font-size:13px; line-height:1.45; color:var(--footer-muted); text-align:right}
.br-footer :focus-visible{outline:2px dashed #FFD23F; outline-offset:3px}
@media (max-width:760px){
  .br-footer{padding:40px 0 calc(28px + env(safe-area-inset-bottom,0px))}
  .br-footer .f-main{align-items:flex-start; flex-direction:column}
  .br-footer .f-meta{text-align:left}
}
