
:root{
  --toc-blue:#073a70;
  --toc-blue-2:#0c4f93;
  --toc-yellow:#f2c318;
  --toc-bg:#f4f6f9;
  --toc-card:#ffffff;
  --toc-border:#e6eaf0;
  --toc-text:#17202a;
  --toc-muted:#6b7280;
  --toc-light:#eef2f6;
  --toc-light-hover:#e2e8f0;
  --toc-danger:#c93b44;
  --toc-success:#198754;
}

html,body{
  background:var(--toc-bg)!important;
  color:var(--toc-text);
  font-family:Inter,Montserrat,Arial,sans-serif;
}

body{
  min-height:100vh;
}

.container{
  max-width:1150px;
}

.toc-topbar{
  background:var(--toc-blue);
  border-bottom:4px solid var(--toc-yellow);
}

.toc-topbar-inner{
  min-height:94px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.toc-brand{
  display:flex;
  align-items:center;
  gap:16px;
}

.toc-brand img{
  width:70px;
  height:80px;
  object-fit:contain;
}

.toc-brand-title{
  color:var(--toc-yellow);
  font-size:1.85rem;
  font-weight:500;
  line-height:1.05;
  letter-spacing:.01em;
  text-transform:uppercase;
}

.toc-brand-subtitle{
  color:rgba(255,255,255,.82);
  font-size:.96rem;
  margin-top:5px;
}

.toc-main{
  padding-top:26px;
  padding-bottom:40px;
}

.card{
  border:1px solid var(--toc-border)!important;
  border-radius:16px!important;
  box-shadow:0 5px 18px rgba(20,41,65,.06)!important;
}

.card-body{
  padding:1.5rem;
}

h1,h2,h3,h4,h5{
  color:#152238;
}

.toc-section-title{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}

.toc-section-icon{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#edf3f9;
  color:var(--toc-blue);
  flex:0 0 44px;
}

.btn{
  border-radius:9px!important;
  font-weight:500;
}

.btn-primary{
  background:var(--toc-blue)!important;
  border-color:var(--toc-blue)!important;
}

.btn-primary:hover{
  background:var(--toc-blue-2)!important;
  border-color:var(--toc-blue-2)!important;
}

.btn-light{
  background:var(--toc-light)!important;
  border-color:var(--toc-light)!important;
  color:#334155!important;
}

.btn-light:hover{
  background:var(--toc-light-hover)!important;
  border-color:var(--toc-light-hover)!important;
}

.btn-warning{
  background:var(--toc-yellow)!important;
  border-color:var(--toc-yellow)!important;
  color:#17202a!important;
}

.form-control,.form-select{
  border-radius:10px!important;
  border-color:#dce3ea!important;
  min-height:44px;
}

.form-control:focus,.form-select:focus{
  border-color:#8fb0d2!important;
  box-shadow:0 0 0 .18rem rgba(7,58,112,.12)!important;
}

.table{
  --bs-table-bg:transparent;
}

.table thead th{
  color:#334155;
  font-weight:600;
  border-bottom-width:1px;
}

.badge{
  border-radius:7px!important;
  padding:.45em .65em!important;
}

.text-bg-success{
  background:#dff3e7!important;
  color:#137447!important;
}

.text-bg-danger{
  background:#fde5e7!important;
  color:#b4232d!important;
}

.text-bg-info{
  background:#dff0ff!important;
  color:#0a5794!important;
}

.text-bg-secondary{
  background:#e9edf1!important;
  color:#5b6570!important;
}

.toc-actions-alt .btn:nth-child(odd){
  background:var(--toc-blue)!important;
  border-color:var(--toc-blue)!important;
  color:#fff!important;
}

.toc-actions-alt .btn:nth-child(even){
  background:var(--toc-light)!important;
  border-color:var(--toc-light)!important;
  color:#334155!important;
}

.toc-actions-alt .btn:nth-child(even):hover{
  background:var(--toc-light-hover)!important;
}

.toc-kpi{
  background:#f8fafc;
  border:1px solid var(--toc-border);
  border-radius:12px;
  padding:14px;
}

.toc-kpi-value{
  font-size:1.55rem;
  font-weight:600;
  color:var(--toc-blue);
}

@media (max-width:768px){
  .toc-brand-title{font-size:1.4rem}
  .toc-brand img{width:56px;height:66px}
  .toc-topbar-inner{min-height:82px}
}


/* TIPOGRAFIA V2 - mais leve e institucional */
body{
  font-weight:400;
}
.toc-brand-title{
  font-weight:500!important;
}
h1,h2,h3,h4,h5,h6{
  font-weight:500!important;
}
.card-title{
  font-weight:500!important;
}
.btn{
  font-weight:500!important;
}
.table thead th{
  font-weight:500!important;
}
label,.form-label{
  font-weight:400!important;
}
strong,b{
  font-weight:600;
}
.toc-kpi-value{
  font-weight:600!important;
}
.badge{
  font-weight:500!important;
}


/* TIPOGRAFIA V3 - conteudos mais leves */
body,
p,
span,
div,
td,
li,
a,
input,
select,
textarea,
.form-control,
.form-select,
.form-check-label,
small{
  font-weight:400!important;
}

h1,h2,h3,h4,h5,h6,
.card-title,
.toc-section-title{
  font-weight:500!important;
}

.btn,
.btn-primary,
.btn-light,
.btn-warning,
.btn-danger,
.btn-secondary,
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-dark{
  font-weight:400!important;
}

.table,
.table td{
  font-weight:400!important;
}

.table thead th{
  font-weight:500!important;
}

label,
.form-label{
  font-weight:400!important;
}

strong,b{
  font-weight:500!important;
}

.badge{
  font-weight:400!important;
}

.toc-kpi-value{
  font-weight:500!important;
}

.toc-brand-title{
  font-weight:500!important;
}

/* Mantem apenas pequenos titulos/indicadores com destaque moderado */
.fw-bold,
.fw-semibold{
  font-weight:500!important;
}


/* =========================================================
   TOC V2 - ALINHAMENTO GLOBAL
   ========================================================= */
:root{ --toc-max:1100px; }

.toc-topbar .container,
.toc-topbar-inner,
body > .container,
main > .container,
.container{
  max-width:var(--toc-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.toc-topbar-inner,
.toc-main,
body > .container,
main > .container{
  padding-left:16px!important;
  padding-right:16px!important;
}

.toc-topbar{ width:100%!important; }

.toc-topbar + .container,
.toc-topbar + main,
.toc-topbar ~ .container:first-of-type{
  margin-top:24px!important;
}

.card,.table-responsive,.alert{ width:100%; }
