:root{
  --ink:#152433;
  --muted:#617284;
  --line:#dfe7ee;
  --soft:#f4f7fa;
  --brand:#0b4f7c;
  --brand-dark:#073853;
  --accent:#1d78a8;
  --green:#25845c;
  --gold:#b47a20;
  --white:#ffffff;
  --shadow:0 14px 40px rgba(18,45,65,.08);
  --radius:22px;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.5;
}

.hero{
  color:var(--white);
  background:
    radial-gradient(
      circle at 88% 20%,
      rgba(255,255,255,.14),
      transparent 28%
    ),
    linear-gradient(
      135deg,
      var(--brand-dark),
      var(--brand)
    );
}

.hero-inner{
  width:min(1180px, calc(100% - 40px));
  margin:0 auto;
  min-height:420px;
  padding:38px 0 56px;
  display:flex;
  flex-direction:column;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:.9rem;
  letter-spacing:.08em;
}

.brand-mark{
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:8px;
  font-weight:800;
}

.brand-university{
  font-weight:700;
}

.hero-copy{
  margin:auto 0;
  max-width:820px;
  padding-top:60px;
}

.eyebrow,
.section-kicker{
  display:block;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.hero-copy .eyebrow{
  color:rgba(255,255,255,.72);
}

.hero h1{
  margin:14px 0 18px;
  max-width:760px;
  font-size:clamp(2.7rem, 7vw, 5.8rem);
  line-height:.98;
  letter-spacing:-.05em;
}

.hero p{
  margin:0;
  max-width:720px;
  font-size:clamp(1.05rem, 2.2vw, 1.35rem);
  color:rgba(255,255,255,.8);
}

.updated{
  margin-top:46px;
  display:flex;
  gap:8px 18px;
  flex-wrap:wrap;
  align-items:center;
  color:rgba(255,255,255,.68);
  font-size:.83rem;
}

.updated strong{
  color:var(--white);
  font-weight:650;
}

.section{
  width:min(1180px, calc(100% - 40px));
  margin:0 auto;
  padding:88px 0;
}

.section-soft{
  width:100%;
  max-width:none;
  padding-left:max(20px, calc((100% - 1180px)/2));
  padding-right:max(20px, calc((100% - 1180px)/2));
  background:var(--soft);
}

.section-dark{
  width:100%;
  max-width:none;
  padding-left:max(20px, calc((100% - 1180px)/2));
  padding-right:max(20px, calc((100% - 1180px)/2));
  color:var(--white);
  background:var(--brand-dark);
}

.section-heading{
  max-width:760px;
  margin-bottom:36px;
}

.section-kicker{
  color:var(--accent);
  margin-bottom:8px;
}

.section-heading.light .section-kicker{
  color:#8fc8e8;
}

.section-heading h2{
  margin:0;
  font-size:clamp(2rem, 4.5vw, 3.6rem);
  line-height:1.04;
  letter-spacing:-.04em;
}

.section-heading p{
  margin:16px 0 0;
  color:var(--muted);
  font-size:1.05rem;
}

.section-heading.light p{
  color:rgba(255,255,255,.7);
}

.hero-metrics{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}

.metric{
  min-height:210px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:var(--white);
  box-shadow:var(--shadow);
}

.metric-primary{
  color:var(--white);
  border-color:transparent;
  background:var(--brand);
}

.metric strong{
  display:block;
  margin-bottom:8px;
  font-size:clamp(2.6rem, 5vw, 4.4rem);
  line-height:1;
  letter-spacing:-.05em;
}

.metric span{
  color:var(--muted);
  font-weight:650;
}

.metric-primary span{
  color:rgba(255,255,255,.78);
}

.activity-table-wrap{
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.activity-table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
  background:var(--white);
}

.activity-table th,
.activity-table td{
  padding:22px 24px;
  border-bottom:1px solid var(--line);
}

.activity-table thead th{
  color:var(--muted);
  background:var(--soft);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.activity-table th:first-child{
  text-align:left;
}

.activity-table td,
.activity-table thead th:not(:first-child){
  text-align:center;
}

.activity-table tbody th{
  font-size:1rem;
}

.activity-table tbody td{
  font-size:1.75rem;
  font-weight:800;
}

.activity-table tbody tr:last-child th,
.activity-table tbody tr:last-child td{
  border-bottom:0;
}

.activity-dot{
  display:inline-block;
  width:10px;
  height:10px;
  margin-right:10px;
  border-radius:999px;
}

.dot-blue{ background:var(--accent); }
.dot-green{ background:var(--green); }
.dot-gold{ background:var(--gold); }

.callout{
  margin-top:20px;
  padding:20px 24px;
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
  border-left:4px solid var(--accent);
  background:var(--soft);
  border-radius:0 14px 14px 0;
}

.callout span{
  color:var(--muted);
}

.cards-grid{
  display:grid;
  gap:18px;
}

.cards-grid-4{
  grid-template-columns:repeat(4, 1fr);
}

.info-card{
  min-height:240px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--white);
}

.info-label{
  color:var(--muted);
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.info-card strong{
  display:block;
  margin:30px 0 10px;
  font-size:3.2rem;
  line-height:1;
  letter-spacing:-.05em;
}

.info-card p{
  margin:0;
  color:var(--muted);
}

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}

.wifi-panel{
  overflow:hidden;
  color:var(--white);
  background:var(--brand);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.wifi-main{
  padding:38px;
  border-bottom:1px solid rgba(255,255,255,.16);
}

.wifi-main strong{
  display:block;
  font-size:clamp(4rem, 9vw, 7rem);
  line-height:.9;
  letter-spacing:-.06em;
}

.wifi-main span{
  display:block;
  margin-top:14px;
  color:rgba(255,255,255,.75);
  font-size:1.05rem;
}

.wifi-secondary{
  display:grid;
  grid-template-columns:1fr 1fr;
}

.wifi-secondary div{
  padding:26px 34px;
}

.wifi-secondary div + div{
  border-left:1px solid rgba(255,255,255,.16);
}

.wifi-secondary strong{
  display:block;
  font-size:2rem;
}

.wifi-secondary span{
  color:rgba(255,255,255,.7);
  font-size:.9rem;
}

.scale-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius);
  background:rgba(255,255,255,.14);
}

.scale-grid article{
  min-height:190px;
  padding:30px;
  background:var(--brand-dark);
}

.scale-grid strong{
  display:block;
  margin-bottom:10px;
  font-size:3.1rem;
  line-height:1;
  letter-spacing:-.05em;
}

.scale-grid span{
  color:rgba(255,255,255,.68);
}

.closing{
  padding-top:90px;
  padding-bottom:100px;
}

.closing > div{
  max-width:820px;
}

.closing h2{
  margin:10px 0 18px;
  font-size:clamp(2.2rem, 5vw, 4.2rem);
  line-height:1.02;
  letter-spacing:-.045em;
}

.closing p{
  max-width:720px;
  color:var(--muted);
  font-size:1.05rem;
}

footer{
  min-height:130px;
  padding:30px max(20px, calc((100% - 1180px)/2));
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  color:var(--muted);
  border-top:1px solid var(--line);
  background:var(--soft);
  font-size:.86rem;
}

footer div{
  display:flex;
  flex-direction:column;
}

footer strong{
  color:var(--ink);
}

@media (max-width:960px){
  .hero-metrics,
  .cards-grid-4,
  .scale-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .split{
    grid-template-columns:1fr;
    gap:20px;
  }
}

@media (max-width:620px){
  .hero-inner,
  .section{
    width:min(100% - 28px, 1180px);
  }

  .section{
    padding-top:64px;
    padding-bottom:64px;
  }

  .section-soft,
  .section-dark{
    width:100%;
    padding-left:14px;
    padding-right:14px;
  }

  .hero{
    min-height:auto;
  }

  .hero-inner{
    min-height:520px;
    padding-top:24px;
  }

  .hero-copy{
    padding-top:55px;
  }

  .hero-metrics,
  .cards-grid-4,
  .scale-grid{
    grid-template-columns:1fr;
  }

  .metric{
    min-height:165px;
  }

  .info-card{
    min-height:auto;
  }

  .wifi-secondary{
    grid-template-columns:1fr;
  }

  .wifi-secondary div + div{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.16);
  }

  footer{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* DTIC360-PUBLICO-V21 */
body.publico-page {
    font-size: 15px;
}

.publico-page .hero {
    padding-top: 36px;
    padding-bottom: 22px;
}

.publico-page .hero-copy h1 {
    font-size: clamp(1.9rem, 3.8vw, 2.8rem);
    line-height: 1.08;
    margin-bottom: 0.4rem;
}

.publico-page .hero-copy p {
    font-size: 0.98rem;
    line-height: 1.45;
    max-width: 44rem;
}

.publico-page .updated strong {
    font-size: 0.95rem;
}

.publico-page .section {
    padding-top: 30px;
    padding-bottom: 30px;
}

.publico-page .section-heading h2 {
    font-size: clamp(1.4rem, 2.5vw, 1.9rem);
}

.publico-page .section-heading p {
    font-size: 0.95rem;
    line-height: 1.45;
}

.publico-page .hero-metrics {
    gap: 12px;
}

.publico-page .metric {
    padding: 16px;
}

.publico-page .metric strong {
    font-size: clamp(1.5rem, 2.7vw, 2rem);
}

.publico-page .metric span,
.publico-page .info-card p,
.publico-page .wifi-panel span,
.publico-page .scale-grid span,
.publico-page .callout span,
.publico-page footer span {
    font-size: 0.92rem;
    line-height: 1.4;
}

.publico-page .info-card strong,
.publico-page .wifi-main strong,
.publico-page .scale-grid strong {
    font-size: clamp(1.4rem, 2.2vw, 1.9rem);
}

.publico-page .activity-table th,
.publico-page .activity-table td {
    font-size: 0.92rem;
}

.publico-page .view-switch {
    margin-top: 8px;
}

.publico-page .view-switch a {
    display: inline-block;
    text-decoration: none;
    font-size: 0.88rem;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(255,255,255,0.16);
    color: inherit;
}

.publico-page .view-switch a:hover {
    text-decoration: underline;
}

/* Versao compacta */
.publico-compacto .hero {
    padding-top: 22px;
    padding-bottom: 14px;
}

.publico-compacto .hero-inner {
    gap: 10px;
}

.publico-compacto .hero-copy h1 {
    font-size: clamp(1.55rem, 2.6vw, 2rem);
    margin-bottom: 0.2rem;
}

.publico-compacto .hero-copy p {
    font-size: 0.9rem;
    max-width: 34rem;
}

.publico-compacto .compact-main {
    width: min(1280px, calc(100% - 28px));
    margin: 0 auto 20px;
}

.publico-compacto .compact-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.publico-compacto .compact-summary .metric {
    min-height: 0;
    padding: 14px;
}

.publico-compacto .compact-grid {
    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr;
    gap: 12px;
    align-items: start;
}

.publico-compacto .compact-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 15px;
    box-shadow: 0 8px 24px rgba(15, 32, 55, 0.08);
}

.publico-compacto .compact-card-wide {
    grid-column: 1 / span 1;
    grid-row: 1 / span 2;
}

.publico-compacto .compact-card-dark {
    background: linear-gradient(135deg, #17304d, #0d2036);
    color: #ffffff;
}

.publico-compacto .compact-heading {
    margin-bottom: 8px;
}

.publico-compacto .compact-heading h2 {
    font-size: 1.08rem;
}

.publico-compacto .activity-table-compact th,
.publico-compacto .activity-table-compact td {
    font-size: 0.84rem;
    padding-top: 8px;
    padding-bottom: 8px;
}

.publico-compacto .mini-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.publico-compacto .mini-stats div {
    border-radius: 12px;
    background: #f5f8fc;
    padding: 10px;
}

.publico-compacto .mini-stats-dark div {
    background: rgba(255,255,255,0.10);
}

.publico-compacto .mini-stats strong {
    display: block;
    font-size: 1.35rem;
    line-height: 1.05;
    margin-bottom: 3px;
}

.publico-compacto .mini-stats span {
    display: block;
    font-size: 0.84rem;
    line-height: 1.28;
}

.publico-compacto .compact-note {
    margin-top: 8px;
    font-size: 0.84rem;
    line-height: 1.35;
}

.publico-compacto .compact-footer {
    padding-top: 14px;
    padding-bottom: 14px;
}

@media (max-width: 1100px) {
    .publico-compacto .compact-grid {
        grid-template-columns: 1fr 1fr;
    }

    .publico-compacto .compact-card-wide {
        grid-column: 1 / -1;
        grid-row: auto;
    }
}

@media (max-width: 820px) {
    .publico-compacto .compact-summary,
    .publico-compacto .compact-grid,
    .publico-compacto .mini-stats {
        grid-template-columns: 1fr;
    }
}


/* DTIC360-PUBLICO-V3-REFINO */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    overflow-x: hidden;
}

.page-shell {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

/* pagina principal */
.publico-page .hero {
    padding-top: 34px;
    padding-bottom: 32px;
}

.publico-page .hero-inner {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}

.publico-page .brand {
    margin-bottom: 2px;
}

.publico-page .hero-copy {
    max-width: 900px;
}

.publico-page .hero-copy h1 {
    font-size: clamp(2.45rem, 4.2vw, 4rem);
    line-height: 1.04;
    margin: 0 0 8px 0;
    letter-spacing: -0.03em;
}

.publico-page .hero-copy p {
    font-size: 1.12rem;
    line-height: 1.5;
    max-width: 860px;
    margin: 0;
}

.publico-page .updated {
    margin-top: 10px;
}

.publico-page .updated strong {
    font-size: 1rem;
}

.publico-page .view-switch {
    margin-top: 4px;
}

.publico-page .view-switch a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 0.94rem;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.16);
    color: inherit;
    transition: background 0.2s ease;
}

.publico-page .view-switch a:hover {
    background: rgba(255,255,255,0.24);
    text-decoration: none;
}

.publico-page main {
    padding-bottom: 26px;
}

.publico-page .section {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding-top: 30px;
    padding-bottom: 30px;
}

.publico-page .section-heading h2 {
    font-size: clamp(2rem, 3vw, 2.7rem);
    line-height: 1.08;
    margin-bottom: 10px;
}

.publico-page .section-heading p {
    font-size: 1rem;
    line-height: 1.55;
    max-width: 760px;
}

.publico-page .hero-metrics {
    gap: 14px;
}

.publico-page .metric {
    padding: 18px;
    border-radius: 24px;
}

.publico-page .metric strong {
    font-size: clamp(1.8rem, 2.9vw, 2.6rem);
    line-height: 1.03;
}

.publico-page .metric span {
    font-size: 1rem;
    line-height: 1.4;
}

.publico-page .activity-table th,
.publico-page .activity-table td {
    font-size: 0.95rem;
}

.publico-page .info-card,
.publico-page .wifi-panel,
.publico-page .callout,
.publico-page .scale-grid article {
    border-radius: 22px;
}

.publico-page .info-card strong,
.publico-page .wifi-main strong,
.publico-page .scale-grid strong {
    font-size: clamp(1.55rem, 2.3vw, 2.1rem);
}

.publico-page .info-card p,
.publico-page .wifi-panel span,
.publico-page .scale-grid span,
.publico-page .callout span,
.publico-page footer span {
    font-size: 0.95rem;
    line-height: 1.45;
}

.publico-page footer {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto 28px;
    border-radius: 18px;
}

/* compacta v3 */
.publico-compacto-v3 .compact-topbar {
    padding: 20px 0 14px;
    background: linear-gradient(180deg, rgba(12,66,108,1) 0%, rgba(14,73,116,0.96) 100%);
}

.publico-compacto-v3 .compact-topbar-inner {
    display: grid;
    grid-template-columns: 1.6fr 0.9fr;
    gap: 22px;
    align-items: end;
}

.publico-compacto-v3 .compact-headline h1 {
    font-size: clamp(2rem, 3.2vw, 3rem);
    line-height: 1.04;
    margin: 6px 0 8px;
    letter-spacing: -0.03em;
}

.publico-compacto-v3 .compact-headline p {
    font-size: 1rem;
    line-height: 1.5;
    max-width: 720px;
    margin: 0;
}

.publico-compacto-v3 .compact-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.publico-compacto-v3 .compact-updated {
    margin-top: 0;
}

.publico-compacto-v3 .compact-dashboard {
    padding: 16px 0 22px;
}

.publico-compacto-v3 .compact-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.publico-compacto-v3 .compact-kpis .metric {
    min-height: 0;
}

.publico-compacto-v3 .compact-layout {
    display: grid;
    grid-template-columns: 1.45fr 1fr 1fr;
    grid-template-areas:
        "atendimento parque wifi"
        "atendimento dimensao dimensao";
    gap: 12px;
    align-items: start;
}

.publico-compacto-v3 .panel {
    border-radius: 22px;
    padding: 18px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(15, 32, 55, 0.08);
}

.publico-compacto-v3 .panel-atendimento {
    grid-area: atendimento;
}

.publico-compacto-v3 .panel-dimensao {
    grid-area: dimensao;
}

.publico-compacto-v3 .compact-layout > article:nth-child(2) {
    grid-area: parque;
}

.publico-compacto-v3 .compact-layout > article:nth-child(3) {
    grid-area: wifi;
}

.publico-compacto-v3 .panel-dark {
    background: linear-gradient(135deg, #15304d, #10253d);
    color: #ffffff;
}

.publico-compacto-v3 .panel-header {
    margin-bottom: 12px;
}

.publico-compacto-v3 .panel-header h2 {
    font-size: 1.35rem;
    line-height: 1.1;
    margin: 4px 0 0;
}

.publico-compacto-v3 .activity-table-compact th,
.publico-compacto-v3 .activity-table-compact td {
    font-size: 0.9rem;
    padding-top: 9px;
    padding-bottom: 9px;
}

.publico-compacto-v3 .compact-note {
    margin: 10px 0 0;
    font-size: 0.9rem;
    line-height: 1.4;
}

.publico-compacto-v3 .mini-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.publico-compacto-v3 .mini-stats-3 {
    grid-template-columns: 1fr;
}

.publico-compacto-v3 .mini-stats div {
    background: #f3f6fb;
    border-radius: 16px;
    padding: 12px;
}

.publico-compacto-v3 .mini-stats-dark div {
    background: rgba(255,255,255,0.1);
}

.publico-compacto-v3 .mini-stats strong {
    display: block;
    font-size: 1.55rem;
    line-height: 1.02;
    margin-bottom: 4px;
}

.publico-compacto-v3 .mini-stats span {
    display: block;
    font-size: 0.9rem;
    line-height: 1.35;
}

.publico-compacto-v3 .compact-footer {
    padding: 0 0 24px;
    background: transparent;
}

.publico-compacto-v3 .compact-footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    background: #f5f7fb;
    border-radius: 16px;
    padding: 16px 18px;
}

@media (max-width: 1100px) {
    .publico-compacto-v3 .compact-topbar-inner {
        grid-template-columns: 1fr;
    }

    .publico-compacto-v3 .compact-layout {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "atendimento atendimento"
            "parque wifi"
            "dimensao dimensao";
    }
}

@media (max-width: 820px) {
    .page-shell,
    .publico-page .hero-inner,
    .publico-page .section,
    .publico-page footer {
        width: min(100% - 28px, 100%);
    }

    .publico-page .hero-copy h1 {
        font-size: clamp(2rem, 8vw, 2.6rem);
    }

    .publico-page .section-heading h2 {
        font-size: clamp(1.6rem, 7vw, 2rem);
    }

    .publico-compacto-v3 .compact-kpis,
    .publico-compacto-v3 .compact-layout,
    .publico-compacto-v3 .mini-stats {
        grid-template-columns: 1fr;
        grid-template-areas: none;
    }

    .publico-compacto-v3 .panel-atendimento,
    .publico-compacto-v3 .panel-dimensao,
    .publico-compacto-v3 .compact-layout > article:nth-child(2),
    .publico-compacto-v3 .compact-layout > article:nth-child(3) {
        grid-area: auto;
    }

    .publico-compacto-v3 .compact-footer-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* DTIC360-PUBLICO-V4-START */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    overflow-x: hidden;
}

.publico-page {
    background: #f4f6f9;
    color: #0d2946;
}

.publico-shell {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

.publico-hero-v4 {
    background: linear-gradient(180deg, #114b76 0%, #0f446d 100%);
    color: #ffffff;
    padding: 30px 0 24px;
}

.publico-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.8fr);
    gap: 28px;
    align-items: end;
}

.publico-hero-copy {
    max-width: 860px;
}

.publico-eyebrow {
    display: inline-block;
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    opacity: 0.96;
    margin-bottom: 10px;
}

.publico-hero-copy h1 {
    font-size: clamp(2.7rem, 4.2vw, 4.3rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
    margin: 0 0 10px 0;
    color: #ffffff;
}

.publico-hero-copy p {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.55;
    color: rgba(255,255,255,0.96);
    max-width: 760px;
}

.publico-hero-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.publico-meta-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.publico-meta-label {
    font-size: 0.88rem;
    color: rgba(255,255,255,0.82);
}

.publico-meta-value {
    font-size: 1rem;
    line-height: 1.35;
    color: #ffffff;
}

.publico-page .view-switch {
    margin-top: 0;
}

.publico-page .view-switch a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.16);
    color: #ffffff;
    text-decoration: none;
    font-size: 0.92rem;
    line-height: 1;
    transition: background 0.2s ease;
}

.publico-page .view-switch a:hover {
    background: rgba(255,255,255,0.24);
    text-decoration: none;
}

.publico-main-v4 {
    padding: 26px 0 20px;
}

.publico-section-v4 {
    padding: 0 0 22px;
}

.publico-section-v4-kpis {
    padding-bottom: 18px;
}

.publico-section-v4-compact {
    padding-bottom: 10px;
}

.publico-section-head {
    margin-bottom: 16px;
}

.publico-kicker {
    display: inline-block;
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #1a6ba7;
    margin-bottom: 8px;
}

.publico-section-head h2 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.7rem);
    line-height: 1.08;
    color: #0d2946;
}

.publico-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.publico-kpi-card {
    min-height: 132px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid #d8e2ec;
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    box-shadow: 0 8px 22px rgba(15, 32, 55, 0.05);
}

.publico-kpi-card-primary {
    background: #1a5786;
    border-color: #1a5786;
    color: #ffffff;
}

.publico-kpi-card strong {
    display: block;
    margin: 0 0 10px 0;
    font-size: clamp(2rem, 3vw, 2.5rem);
    line-height: 1.02;
    font-weight: 800;
}

.publico-kpi-card p {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.4;
    font-weight: 600;
    color: #436380;
    max-width: 18ch;
}

.publico-kpi-card-primary p {
    color: rgba(255,255,255,0.96);
}

.publico-dashboard-grid,
.publico-dashboard-grid-compact {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.95fr);
    gap: 18px;
    align-items: start;
}

.publico-side-stack {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.publico-panel {
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid #dde6ef;
    box-shadow: 0 10px 28px rgba(15, 32, 55, 0.05);
    padding: 20px;
}

.publico-panel-wide {
    min-height: 100%;
}

.publico-panel-dark {
    background: linear-gradient(135deg, #17304d 0%, #10253d 100%);
    border-color: #17304d;
    color: #ffffff;
}

.publico-panel-head {
    margin-bottom: 14px;
}

.publico-panel-head h3 {
    margin: 0;
    font-size: 1.85rem;
    line-height: 1.08;
    color: #0d2946;
}

.publico-panel-dark .publico-panel-head h3,
.publico-panel-head-light .publico-kicker {
    color: #ffffff;
}

.publico-panel-dark .publico-kicker {
    color: rgba(255,255,255,0.85);
}

.publico-note {
    margin: 14px 0 0;
    font-size: 0.92rem;
    line-height: 1.45;
    color: #274764;
}

.activity-table {
    width: 100%;
    border-collapse: collapse;
}

.activity-table thead th {
    background: #eef3f7;
    color: #516b85;
    font-size: 0.92rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.activity-table th,
.activity-table td {
    padding: 12px 10px;
    border-bottom: 1px solid #d9e3ec;
    font-size: 0.95rem;
    text-align: left;
}

.activity-table tbody tr:last-child th,
.activity-table tbody tr:last-child td {
    border-bottom: none;
}

.publico-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.publico-mini-grid-vertical {
    grid-template-columns: 1fr;
}

.publico-mini-card {
    min-height: 110px;
    border-radius: 18px;
    background: #f4f7fb;
    padding: 14px 14px 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.publico-mini-card-dark {
    background: rgba(255,255,255,0.12);
}

.publico-mini-card strong {
    display: block;
    margin: 0 0 6px 0;
    font-size: 2rem;
    line-height: 1.02;
    font-weight: 800;
    color: inherit;
}

.publico-mini-card span {
    display: block;
    font-size: 0.95rem;
    line-height: 1.35;
    color: inherit;
    opacity: 0.95;
    max-width: 16ch;
}

.publico-footer-v4 {
    padding: 0 0 26px;
}

.publico-footer-inner {
    border-radius: 18px;
    background: #eef3f7;
    border: 1px solid #dde6ef;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.publico-footer-inner strong {
    display: block;
    margin-bottom: 2px;
    color: #0d2946;
}

.publico-footer-inner span {
    color: #5b738b;
    font-size: 0.94rem;
    line-height: 1.4;
}

/* compacta */
.publico-hero-v4-compact {
    padding: 22px 0 18px;
}

.publico-hero-grid-compact .publico-hero-copy h1 {
    font-size: clamp(2.1rem, 3.3vw, 2.95rem);
}

.publico-hero-grid-compact .publico-hero-copy p {
    font-size: 1rem;
}

.publico-main-compact {
    padding-top: 14px;
}

.publico-kpi-grid-compact .publico-kpi-card {
    min-height: 118px;
    padding: 18px 18px 16px;
}

.publico-kpi-grid-compact .publico-kpi-card strong {
    font-size: clamp(1.85rem, 2.6vw, 2.25rem);
    margin-bottom: 8px;
}

.publico-kpi-grid-compact .publico-kpi-card p {
    font-size: 0.92rem;
}

.activity-table-compact th,
.activity-table-compact td {
    padding-top: 10px;
    padding-bottom: 10px;
}

.publico-compacto-v4 .publico-panel {
    padding: 18px;
}

.publico-compacto-v4 .publico-panel-head h3 {
    font-size: 1.5rem;
}

.publico-compacto-v4 .publico-mini-card {
    min-height: 92px;
}

.publico-compacto-v4 .publico-mini-card strong {
    font-size: 1.75rem;
}

.publico-compacto-v4 .publico-mini-card span {
    font-size: 0.9rem;
}

@media (max-width: 1100px) {
    .publico-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .publico-dashboard-grid,
    .publico-dashboard-grid-compact,
    .publico-hero-grid {
        grid-template-columns: 1fr;
    }

    .publico-hero-meta {
        align-items: flex-start;
    }
}

@media (max-width: 760px) {
    .publico-shell {
        width: min(100% - 28px, 100%);
    }

    .publico-kpi-grid,
    .publico-mini-grid {
        grid-template-columns: 1fr;
    }

    .publico-hero-copy h1 {
        font-size: clamp(2rem, 10vw, 2.7rem);
    }

    .publico-section-head h2 {
        font-size: clamp(1.55rem, 8vw, 2rem);
    }

    .publico-footer-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* DTIC360-PUBLICO-V4-END */

/* DTIC360-PUBLICO-V5-FINAL */

.publico-full-v5 .publico-dashboard-grid-v5 {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.95fr);
    gap: 18px;
    align-items: start;
}

.publico-full-v5 .publico-left-stack-v5 {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
}

.publico-full-v5 .publico-panel-atendimento-v5 {
    min-height: 0;
    height: auto;
}

.publico-full-v5 .publico-dimensao-v5 {
    min-height: 0;
}

.publico-full-v5 .activity-table-v5 {
    table-layout: fixed;
}

.publico-full-v5 .activity-table-v5 thead th:first-child,
.publico-full-v5 .activity-table-v5 tbody th {
    width: 46%;
    text-align: left;
}

.publico-full-v5 .activity-table-v5 thead th:not(:first-child),
.publico-full-v5 .activity-table-v5 tbody td {
    width: 18%;
    text-align: center;
}

.publico-full-v5 .activity-table-v5 tbody td {
    font-variant-numeric: tabular-nums;
}

.publico-full-v5 .publico-kpi-card {
    justify-content: center;
}

.publico-full-v5 .publico-kpi-card strong,
.publico-full-v5 .publico-kpi-card p {
    width: 100%;
}

.publico-full-v5 .publico-kpi-card p {
    max-width: 19ch;
}

@media (max-width: 1100px) {
    .publico-full-v5 .publico-dashboard-grid-v5 {
        grid-template-columns: 1fr;
    }
}
/* DTIC360-PUBLICO-V5-FINAL-END */


/* DTIC360-PUBLICO-GITLAB-CSS-V1 */
.publico-dev-v1{max-width:1180px;margin:18px auto 32px;padding:24px;border-radius:18px;background:#fff;border:1px solid rgba(30,46,72,.10);box-shadow:0 8px 28px rgba(25,38,62,.06)}
.publico-dev-v1 .publico-panel-head{margin-bottom:18px}.publico-dev-v1 .publico-panel-head h2{margin:4px 0 8px}.publico-dev-v1 .publico-panel-head p{margin:0;color:#657087}
.publico-dev-summary-v1{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.publico-dev-summary-v1 article,.publico-dev-years-v1 article{padding:16px;border-radius:14px;background:#f7f9fc;border:1px solid #e5e9f1}
.publico-dev-summary-v1 strong,.publico-dev-years-v1 strong{display:block;font-size:28px;line-height:1.05;color:#17213a}
.publico-dev-summary-v1 span,.publico-dev-years-v1 small{display:block;margin-top:6px;color:#69758b}
.publico-dev-summary-v1 small{display:block;margin-top:6px;color:#9a6a14}
.publico-dev-years-v1{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.publico-dev-years-v1 article>span{display:block;font-weight:700;color:#47536a;margin-bottom:5px}
.publico-dev-note-v1{margin:12px 0 0;color:#68758c;font-size:13px}
@media(max-width:760px){.publico-dev-summary-v1,.publico-dev-years-v1{grid-template-columns:1fr}.publico-dev-v1{margin-left:12px;margin-right:12px;padding:18px}}
/* DTIC360-PUBLICO-GITLAB-CSS-V1-END */

/* DTIC360-PUBLICO-DEV-FONTS-LAYOUT-V2 */
.publico-full-v5 .publico-dashboard-grid-v6 > .publico-dev-grid-span-v2 {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    margin: 0;
}

.publico-full-v5 .publico-dev-v1,
.publico-full-v5 .publico-dev-v1 * {
    font-family: inherit;
}

.publico-full-v5 .publico-dev-summary-v1 strong,
.publico-full-v5 .publico-dev-years-v1 strong {
    display: block;
    margin: 0 0 6px 0;
    font-size: 2rem;
    line-height: 1.02;
    font-weight: 800;
    color: inherit;
    font-variant-numeric: tabular-nums;
}

.publico-full-v5 .publico-dev-summary-v1 span,
.publico-full-v5 .publico-dev-years-v1 small {
    display: block;
    font-size: 0.95rem;
    line-height: 1.35;
    font-weight: 400;
    color: inherit;
}

.publico-full-v5 .publico-dev-years-v1 article > span {
    display: block;
    font-size: 0.95rem;
    line-height: 1.35;
    font-weight: 700;
    color: inherit;
    margin-bottom: 6px;
}

@media (max-width: 1100px) {
    .publico-full-v5 .publico-dashboard-grid-v6 > .publico-dev-grid-span-v2 {
        grid-column: auto;
    }
}
/* DTIC360-PUBLICO-DEV-FONTS-LAYOUT-V2-END */

/* DTIC360-PUBLICO-MOBILE-V1 */
html,
body.publico-page {
    max-width: 100%;
    overflow-x: hidden;
}

.publico-page *,
.publico-page *::before,
.publico-page *::after {
    box-sizing: border-box;
}

.publico-page .publico-panel,
.publico-page .publico-kpi-card,
.publico-page .publico-mini-card,
.publico-page .publico-meta-card,
.publico-page .publico-dev-v1,
.publico-page .publico-dev-summary-v1 > *,
.publico-page .publico-dev-years-v1 > * {
    min-width: 0;
}

.publico-page img,
.publico-page svg {
    max-width: 100%;
    height: auto;
}

@media (max-width: 900px) {
    .publico-full-v5 .publico-dashboard-grid-v5,
    .publico-full-v5 .publico-dashboard-grid-v6,
    .publico-full-v5 .publico-hero-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .publico-full-v5 .publico-dashboard-grid-v6 > .publico-dev-grid-span-v2 {
        grid-column: 1 !important;
        width: 100%;
    }

    .publico-full-v5 .publico-hero-meta,
    .publico-full-v5 .publico-meta-card {
        width: 100%;
        max-width: none;
    }

    .publico-full-v5 .publico-dev-years-v1 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .publico-page .publico-shell {
        width: 100%;
        max-width: none;
        padding-left: 16px;
        padding-right: 16px;
    }

    .publico-full-v5 .publico-hero-v4 {
        padding: 34px 0 28px;
    }

    .publico-full-v5 .publico-hero-copy h1 {
        font-size: clamp(2rem, 10vw, 3rem);
        line-height: 1.03;
        letter-spacing: -.035em;
        overflow-wrap: anywhere;
    }

    .publico-full-v5 .publico-hero-copy p {
        max-width: none;
        font-size: 1rem;
        line-height: 1.55;
    }

    .publico-full-v5 .publico-eyebrow {
        font-size: .72rem;
        line-height: 1.35;
    }

    .publico-full-v5 .publico-meta-card {
        padding: 14px 16px;
    }

    .publico-full-v5 .publico-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px;
    }

    .publico-full-v5 .publico-kpi-card {
        min-height: 0;
        padding: 16px 12px;
    }

    .publico-full-v5 .publico-kpi-card strong {
        font-size: clamp(1.7rem, 9vw, 2.35rem);
        line-height: 1;
    }

    .publico-full-v5 .publico-kpi-card p {
        max-width: none !important;
        margin-top: 7px;
        font-size: .78rem;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .publico-full-v5 .publico-section-v4 {
        padding: 18px 0;
    }

    .publico-full-v5 .publico-dashboard-grid-v5,
    .publico-full-v5 .publico-dashboard-grid-v6,
    .publico-full-v5 .publico-left-stack-v5,
    .publico-full-v5 .publico-side-stack {
        gap: 14px;
    }

    .publico-full-v5 .publico-panel,
    .publico-full-v5 .publico-dev-v1 {
        padding: 18px 14px;
        border-radius: 16px;
    }

    .publico-full-v5 .publico-mini-grid,
    .publico-full-v5 .publico-dev-summary-v1 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px;
    }

    .publico-full-v5 .publico-mini-card {
        min-height: 0;
        padding: 14px 10px;
    }

    .publico-full-v5 .publico-mini-card strong,
    .publico-full-v5 .publico-dev-summary-v1 strong,
    .publico-full-v5 .publico-dev-years-v1 strong {
        font-size: clamp(1.55rem, 8vw, 2rem);
        line-height: 1;
        overflow-wrap: anywhere;
    }

    .publico-full-v5 .publico-mini-card span,
    .publico-full-v5 .publico-dev-summary-v1 span,
    .publico-full-v5 .publico-dev-years-v1 small,
    .publico-full-v5 .publico-dev-years-v1 article > span {
        font-size: .78rem;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .publico-full-v5 .publico-dev-years-v1 {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px;
    }

    .publico-full-v5 .activity-table-v5 {
        width: 100%;
        table-layout: fixed;
        font-size: .78rem;
    }

    .publico-full-v5 .activity-table-v5 th,
    .publico-full-v5 .activity-table-v5 td {
        padding: 9px 5px;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

    .publico-full-v5 .activity-table-v5 thead th:first-child,
    .publico-full-v5 .activity-table-v5 tbody th {
        width: 40%;
    }

    .publico-full-v5 .activity-table-v5 thead th:not(:first-child),
    .publico-full-v5 .activity-table-v5 tbody td {
        width: 20%;
    }

    .publico-full-v5 .publico-note,
    .publico-full-v5 .publico-dev-note-v1 {
        font-size: .78rem;
        line-height: 1.5;
    }
}

@media (max-width: 420px) {
    .publico-page .publico-shell {
        padding-left: 12px;
        padding-right: 12px;
    }

    .publico-full-v5 .publico-hero-v4 {
        padding: 28px 0 24px;
    }

    .publico-full-v5 .publico-hero-copy h1 {
        font-size: clamp(1.85rem, 10vw, 2.35rem);
    }

    .publico-full-v5 .publico-kpi-grid,
    .publico-full-v5 .publico-mini-grid,
    .publico-full-v5 .publico-dev-summary-v1 {
        gap: 8px;
    }

    .publico-full-v5 .publico-kpi-card {
        padding: 14px 9px;
    }

    .publico-full-v5 .publico-kpi-card strong,
    .publico-full-v5 .publico-mini-card strong,
    .publico-full-v5 .publico-dev-summary-v1 strong,
    .publico-full-v5 .publico-dev-years-v1 strong {
        font-size: 1.5rem;
    }

    .publico-full-v5 .publico-kpi-card p,
    .publico-full-v5 .publico-mini-card span,
    .publico-full-v5 .publico-dev-summary-v1 span,
    .publico-full-v5 .publico-dev-years-v1 small,
    .publico-full-v5 .publico-dev-years-v1 article > span {
        font-size: .72rem;
    }

    .publico-full-v5 .activity-table-v5 {
        font-size: .7rem;
    }

    .publico-full-v5 .activity-table-v5 th,
    .publico-full-v5 .activity-table-v5 td {
        padding: 8px 3px;
    }

    .publico-full-v5 .publico-panel,
    .publico-full-v5 .publico-dev-v1 {
        padding: 16px 11px;
    }
}
/* DTIC360-PUBLICO-MOBILE-V1-END */

/* DTIC360-PUBLIC-BRANDING-V1-BEGIN */
:root {
  --dtic360-blue: #006699;
  --dtic360-blue-dark: #004d73;
  --dtic360-blue-deep: #0b4f75;
  --dtic360-blue-mid: #0b7fa8;
  --dtic360-blue-light: #dfeff5;
  --dtic360-blue-pale: #f4fafc;
  --dtic360-blue-line: rgba(0, 102, 153, .22);
  --dtic360-green: #69a82f;
}

.dtic360-public-brandbar {
  width: 100%;
  background: rgba(255,255,255,.985);
  border-bottom: 3px solid var(--dtic360-blue);
  box-shadow: 0 6px 18px rgba(0, 77, 115, .08);
  position: relative;
  z-index: 20;
}

.dtic360-public-brandbar-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 11px 26px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.dtic360-public-brand-logos {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.dtic360-public-logo {
  display: block;
  width: auto;
  object-fit: contain;
  flex: 0 0 auto;
}

.dtic360-public-logo-dtic {
  height: 42px;
}

.dtic360-public-logo-unirio {
  height: 40px;
  max-width: 170px;
}

.dtic360-public-brand-separator {
  width: 1px;
  height: 39px;
  background: var(--dtic360-blue-line);
  flex: 0 0 1px;
}

.dtic360-public-brand-title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: var(--dtic360-blue);
  white-space: nowrap;
}

.dtic360-public-brand-title strong {
  color: var(--dtic360-blue);
  font-size: 1.03rem;
  font-weight: 800;
  letter-spacing: .01em;
}

/*
 * IMPORTANTE:
 * Nao aplicar cor global a h1/h2/h3.
 * O painel original possui areas claras e areas escuras.
 * A regra anterior deixava o titulo principal azul sobre azul.
 */
.publico-full-v5,
body.publico-full-v5 {
  --publico-primary: var(--dtic360-blue);
  --publico-primary-dark: var(--dtic360-blue-dark);
  --publico-primary-soft: var(--dtic360-blue-light);
}

.publico-full-v5 a {
  color: var(--dtic360-blue);
}

.publico-full-v5 .publico-kpi-grid > *,
.publico-full-v5 .publico-dashboard-grid-v5 > *,
.publico-full-v5 .publico-dashboard-grid-v6 > *,
.publico-full-v5 .publico-mini-grid > *,
.publico-full-v5 .publico-dev-grid-span-v2,
.publico-full-v5 .publico-dev-summary-v1,
.publico-full-v5 .publico-dev-years-v1 {
  border-color: var(--dtic360-blue-line);
}

.publico-full-v5 table thead th,
.publico-full-v5 .activity-table-v5 thead th {
  color: var(--dtic360-blue-dark);
  border-bottom-color: var(--dtic360-blue-line);
}

.publico-full-v5 .publico-hero-grid {
  border-color: var(--dtic360-blue-line);
}

/*
 * Hero escuro: textos principais precisam de alto contraste.
 * Mantem o fundo institucional e usa branco / azul muito claro.
 */
.publico-full-v5 .publico-hero-grid h1,
.publico-full-v5 .publico-hero-grid h2,
.publico-full-v5 .publico-hero-grid h3,
.publico-full-v5 .publico-hero-grid [class*="title"],
.publico-full-v5 .publico-hero-grid [class*="titulo"] {
  color: #ffffff !important;
}

.publico-full-v5 .publico-hero-grid p,
.publico-full-v5 .publico-hero-grid [class*="subtitle"],
.publico-full-v5 .publico-hero-grid [class*="subtitulo"] {
  color: #eef8fc;
}

.publico-full-v5 .publico-hero-grid::before {
  background: linear-gradient(90deg, var(--dtic360-blue), var(--dtic360-blue-mid));
}

@media (max-width: 700px) {
  .dtic360-public-brandbar-inner {
    padding: 9px 14px 8px;
    gap: 12px;
  }

  .dtic360-public-brand-logos {
    gap: 10px;
  }

  .dtic360-public-logo-dtic {
    height: 31px;
  }

  .dtic360-public-logo-unirio {
    height: 30px;
    max-width: 128px;
  }

  .dtic360-public-brand-separator {
    height: 30px;
  }

  .dtic360-public-brand-title strong {
    font-size: .86rem;
  }
}

@media (max-width: 520px) {
  .dtic360-public-brand-title {
    display: none;
  }

  .dtic360-public-brandbar-inner {
    justify-content: center;
  }
}

@media (max-width: 390px) {
  .dtic360-public-logo-dtic {
    height: 28px;
  }

  .dtic360-public-logo-unirio {
    height: 27px;
    max-width: 115px;
  }

  .dtic360-public-brand-logos {
    gap: 8px;
  }
}
/* DTIC360-PUBLIC-BRANDING-V1-END */

/* DTIC360-PUBLIC-UNIRIO-LOGO-V4-BEGIN */

/*
 * O arquivo horizontal da UNIRIO possui proporcao muito larga.
 * Forcamos uma caixa visual controlada para impedir que regras
 * globais de imagem façam a marca ocupar o cabecalho inteiro.
 */
.dtic360-public-brandbar .dtic360-public-logo-unirio {
  width: 210px !important;
  height: 52px !important;
  max-width: 210px !important;
  max-height: 52px !important;
  min-width: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  flex: 0 0 210px !important;
}

.dtic360-public-brandbar .dtic360-public-logo-dtic {
  width: auto !important;
  height: 42px !important;
  max-height: 42px !important;
  object-fit: contain !important;
}

.dtic360-public-brandbar-inner {
  min-height: 70px;
}

@media (max-width: 700px) {
  .dtic360-public-brandbar .dtic360-public-logo-unirio {
    width: 150px !important;
    height: 38px !important;
    max-width: 150px !important;
    max-height: 38px !important;
    flex-basis: 150px !important;
  }

  .dtic360-public-brandbar .dtic360-public-logo-dtic {
    height: 31px !important;
    max-height: 31px !important;
  }

  .dtic360-public-brandbar-inner {
    min-height: 54px;
  }
}

@media (max-width: 420px) {
  .dtic360-public-brandbar .dtic360-public-logo-unirio {
    width: 126px !important;
    height: 32px !important;
    max-width: 126px !important;
    max-height: 32px !important;
    flex-basis: 126px !important;
  }

  .dtic360-public-brandbar .dtic360-public-logo-dtic {
    height: 28px !important;
    max-height: 28px !important;
  }

  .dtic360-public-brand-separator {
    height: 28px !important;
  }
}

/* DTIC360-PUBLIC-UNIRIO-LOGO-V4-END */

/* DTIC360-PUBLIC-MOBILE-CENTRAL-V5-BEGIN */

/*
 * Central de Atendimento / Movimento recente
 * No mobile a tabela estava ultrapassando a borda do card.
 */
@media (max-width: 700px) {
  .publico-full-v5 .activity-table-v5 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    table-layout: fixed !important;
    box-sizing: border-box !important;
  }

  .publico-full-v5 .activity-table-v5 thead,
  .publico-full-v5 .activity-table-v5 tbody,
  .publico-full-v5 .activity-table-v5 tr {
    width: 100% !important;
    max-width: 100% !important;
  }

  .publico-full-v5 .activity-table-v5 th,
  .publico-full-v5 .activity-table-v5 td {
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .publico-full-v5 .activity-table-v5 th:first-child,
  .publico-full-v5 .activity-table-v5 td:first-child {
    width: auto !important;
  }

  .publico-full-v5 .activity-table-v5 th:last-child,
  .publico-full-v5 .activity-table-v5 td:last-child {
    width: 72px !important;
    text-align: center !important;
  }

  /*
   * Evita que algum wrapper do bloco mantenha largura minima
   * herdada do desktop.
   */
  .publico-full-v5 .activity-table-v5,
  .publico-full-v5 .activity-table-v5 * {
    min-width: 0;
  }

  .publico-full-v5 .activity-table-v5 + p,
  .publico-full-v5 .activity-table-v5 ~ p {
    max-width: 100% !important;
  }
}

@media (max-width: 420px) {
  .publico-full-v5 .activity-table-v5 th,
  .publico-full-v5 .activity-table-v5 td {
    font-size: .92rem !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .publico-full-v5 .activity-table-v5 th:last-child,
  .publico-full-v5 .activity-table-v5 td:last-child {
    width: 58px !important;
  }
}

/* DTIC360-PUBLIC-MOBILE-CENTRAL-V5-END */
