/* Brandbook p. 13: RGB 0/55/83 and 225/142/0. Original artwork is unmodified.
   Regencie Alt Light / Gotham Light are not supplied; Manrope is the UI fallback. */
:root {
  --brand-blue: #003753;
  --brand-orange: #e18e00;
  --border: #e0e7ed;
  --muted: #647887;
}
@font-face {
  font-family:Manrope;
  src:url('/static/fonts/manrope-latin.woff2') format('woff2');
  font-weight:200 800;
  font-display:swap}
* {
  box-sizing:border-box}
body {
  margin:0;
  background:#f5f7fa;
  color:#193e53;
  font-family:Manrope,Arial,sans-serif;
  font-size:13px}
a {
  color:inherit;
  text-decoration:none}
button,input,select {
  font:inherit}
button,a,select {
   -webkit-tap-highlight-color:transparent}
button {
  cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible {
  outline:3px solid var(--brand-orange);
  outline-offset:3px}
.sidebar {
  position:fixed;
  inset:0 auto 0 0;
  width:238px;
  background:var(--brand-blue);
  color:#dce8ef;
  padding:38px 22px 22px;
  display:flex;
  flex-direction:column}



.workspace {
  font-size:9px;
  letter-spacing:1.9px;
  margin:24px 8px 28px;
  color:#a8bfcb}
nav {
  display:grid;
  gap:8px}
nav a {
  padding:15px 14px;
  border-radius:8px;
  display:flex;
  align-items:center;
  gap:13px;
  font-weight:600;
  font-size:12px}
nav a span {
  font-size:19px}
nav a:hover {
  background:#124963}
nav .active {
  background:#164b65;
  color:#fff;
  box-shadow:inset 3px 0 var(--brand-orange)}
.sidebar-note {
  margin:auto 10px 35px;
  border-top:1px solid #2d566c;
  padding-top:25px}
.tiny-label {
  font-size:10px;
  letter-spacing:1.4px;
  font-weight:700}
.sidebar-note .tiny-label {
  color:#b1c8d5;
  font-size:8px}
.sidebar-note p {
  font-size:20px;
  line-height:1.55;
  color:#e1eaf0;
  font-weight:500}

.profile {
  display:flex;
  gap:12px;
  border-top:1px solid #2d566c;
  padding-top:22px;
  align-items:center}
.avatar {
  width:36px;
  height:36px;
  border-radius:50%;
  background:#1b516a;
  display:grid;
  place-items:center;
  color:#ffcd7c;
  font-size:11px}
.profile small {
  display:block;
  color:#aec6d3;
  font-size:10px;
  margin-top:4px}
.shell {
  margin-left:238px}
.topbar {
  height:74px;
  border-bottom:1px solid var(--border);
  background:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 40px;
  font-size:11px}
.crumb {
  color:var(--muted);
  margin-left:14px}
.prototype {
  font-size:10px;
  color:#597582;
  display:flex;
  align-items:center;
  gap:7px}
.prototype i,.live-dot {
  width:6px;
  height:6px;
  background:#3d8a6c;
  border-radius:50%;
  display:inline-block}
.live-dot {
  margin-right:8px}
main {
  max-width:1600px;
  margin:auto;
  padding:36px 40px 20px}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-bottom:24px}
.eyebrow {
  font-size:9px;
  letter-spacing:1.7px;
  font-weight:800;
  color:#607e8e}
h1 {
  font-size:34px;
  letter-spacing:-1.2px;
  margin:8px 0}
p {
  color:var(--muted);
  line-height:1.7;
  margin:6px 0}
h2 {
  font-size:16px;
  letter-spacing:-.4px;
  margin:0 0 5px}
h3 {
  font-size:12px;
  margin:0}
.context {
  display:flex;
  gap:8px;
  align-items:end}
label {
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:10px;
  font-weight:700;
  color:#607887}
select,input {
  border:1px solid var(--border);
  border-radius:6px;
  padding:10px;
  background:#fff;
  color:#193e53;
  min-width:0;
  height:38px}
.context select {
  max-width:190px;
  font-size:11px}
.apply {
  border:0;
  border-radius:6px;
  background:var(--brand-blue);
  color:white;
  padding:11px 15px;
  height:38px;
  font-size:11px;
  font-weight:700}
.apply:hover {
  background:#17546f}
.date-strip {
  display:flex;
  gap:24px;
  border:1px solid var(--border);
  background:#edf2f6;
  border-radius:7px;
  padding:12px 16px;
  font-size:10px;
  color:#607785;
  margin-bottom:24px}
.date-strip span:first-child {
  font-weight:700;
  color:#37576b}
.overview {
  display:grid;
  grid-template-columns:1.65fr 1fr;
  gap:20px}
.hero {
  background:var(--brand-blue);
  color:#fff;
  padding:26px 30px;
  border-radius:12px;
  position:relative;
  overflow:hidden}
.hero:after {
  content:'';
  position:absolute;
  width:240px;
  height:240px;
  border:1px solid #ffffff0d;
  border-radius:50%;
  right:-90px;
  top:10px;
  box-shadow:0 0 0 35px #ffffff03,0 0 0 70px #ffffff03;
  pointer-events:none}
.hero-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px}
.hero .tiny-label {
  color:#c6dce7;
  font-size:9px}
.hero-pill {
  border:1px solid #a57b33;
  background:#e18e0020;
  border-radius:20px;
  padding:6px 10px;
  color:#ffd38a;
  font-size:9px;
  white-space:nowrap}
.hero-value {
  font-size:44px;
  letter-spacing:-1.9px;
  font-weight:700;
  margin-top:22px}
.hero-target {
  color:#b8d0dc;
  font-size:12px}
.hero-progress {
  height:6px;
  background:#ffffff20;
  border-radius:8px;
  margin-top:26px;
  overflow:hidden}
.hero-progress div {
  height:100%;
  background:var(--brand-orange);
  border-radius:8px}
.hero-bottom {
  display:flex;
  justify-content:space-between;
  margin-top:10px;
  font-size:10px}
.hero-bottom span {
  color:#c6dce7}
.next-step {
  border:1px solid #efdfc7;
  border-radius:12px;
  background:#fcf5e9;
  padding:25px 26px;
  position:relative}
.mini-icon {
  float:right;
  font-size:22px;
  border:1px solid #e8d2ac;
  border-radius:50%;
  width:34px;
  height:34px;
  display:grid;
  place-items:center}
.next-step h2 {
  font-size:22px;
  margin:15px 0 10px;
  max-width:260px}
.next-step p {
  font-size:12px;
  max-width:350px}
.next-step p strong {
  color:#405b6b}
.next-step a {
  display:flex;
  justify-content:space-between;
  border-top:1px solid #eddcc0;
  padding-top:14px;
  margin-top:18px;
  font-size:11px;
  font-weight:700}
.next-step small {
  display:block;
  color:#7f705b;
  font-size:9px;
  margin-top:8px}
.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:30px 0 16px}
.section-heading p {
  font-size:11px}
.muted {
  color:var(--muted);
  font-size:10px}
.block-title {
  display:flex;
  align-items:center;
  gap:14px;
  margin:16px 0 11px}
.block-title h3 {
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1px}
.block-title span {
  font-size:9px;
  color:var(--muted)}
.goals {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px}
.goal-card {
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  padding:20px 20px 0;
  transition:box-shadow .2s}
.goal-card:hover {
  box-shadow:0 5px 20px #00375310}
.card-top {
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  font-size:10px;
  font-weight:700;
  min-height:26px}
.status {
  display:inline-block;
  white-space:nowrap;
  font-size:8px;
  font-weight:700;
  padding:5px 7px;
  border-radius:5px;
  background:#edf2f6;
  color:#607785}
.good,.accent {
  background:#e8f2e9;
  color:#357352}
.warning {
  background:#fbf0d9;
  color:#886427}
.serious,.critical {
  background:#f7eae3;
  color:#99573e}
.goal-value {
  font-size:27px;
  font-weight:750;
  letter-spacing:-.8px;
  margin-top:17px}
.goal-value small {
  font-size:10px;
  font-weight:500;
  letter-spacing:0;
  color:var(--muted)}
.goal-meta {
  font-size:10px;
  color:var(--muted);
  margin-top:4px}
.progress {
  background:#edf2f6;
  height:5px;
  border-radius:4px;
  position:relative;
  margin:19px 0 10px}
.progress span {
  display:block;
  height:100%;
  background:var(--brand-blue);
  border-radius:4px}
.progress i {
  position:absolute;
  top:-3px;
  height:11px;
  width:2px;
  background:var(--brand-orange)}
.goal-footer {
  display:flex;
  justify-content:space-between;
  font-size:9px}
.goal-footer span {
  color:var(--muted)}
.card-link {
  display:flex;
  justify-content:space-between;
  padding:13px 0;
  margin-top:17px;
  border-top:1px solid #eaf0f4;
  font-size:9px;
  color:#446b81}
.analytics {
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:20px;
  margin-top:28px}
.panel {
  background:white;
  border:1px solid var(--border);
  border-radius:10px;
  padding:24px}
.panel .section-heading {
  margin:0 0 20px}
.panel>p {
  font-size:11px}
.legend {
  font-size:9px;
  color:var(--brand-blue);
  white-space:nowrap}
.legend span {
  color:#697e8b;
  margin-left:8px}
.chart {
  width:100%;
  display:block}
.chart-label {
  font-size:9px;
  color:var(--muted)}
.chart-note {
  font-size:9px!important}
.ramo-label {
  display:flex;
  justify-content:space-between;
  font-size:10px;
  gap:12px}
.ramos {
  display:grid;
  gap:16px;
  margin-top:25px}
.ramo-bar {
  height:4px;
  background:#edf2f6;
  border-radius:3px;
  margin-top:8px}
.ramo-bar span {
  display:block;
  height:100%;
  background:#578299;
  border-radius:3px}
footer {
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:28px 0 5px;
  border-top:1px solid var(--border);
  margin-top:32px;
  font-size:10px;
  color:var(--muted)}
footer>span:last-child {
  font-size:9px}
.record-summary {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin:25px 0}
.record-summary>div {
  border:1px solid var(--border);
  background:white;
  padding:20px;
  border-radius:9px}
.record-summary small {
  color:var(--muted);
  font-size:10px}
.record-summary strong {
  display:block;
  font-size:25px;
  margin-top:12px}
.records {
  padding:0;
  overflow:hidden}
.filters {
  display:flex;
  gap:10px;
  align-items:end;
  flex-wrap:wrap;
  padding:22px}
.filters label {
  flex:1}
.filters .search {
  flex:2;
  min-width:180px}
.filters>a {
  font-size:11px;
  padding:12px 0}
.table-scroll {
  overflow:auto}
table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  white-space:nowrap}
th {
  font-size:9px;
  letter-spacing:.4px;
  color:#607785;
  background:#f4f7fa;
  padding:14px 18px;
  border-block:1px solid #e5ebef}
td {
  padding:17px 18px;
  border-bottom:1px solid #eaf0f4;
  font-size:10px}
td strong {
  font-size:11px}
td small {
  display:block;
  color:var(--muted);
  font-size:9px;
  margin-top:6px}
.money {
  font-weight:700}
.detail-button {
  border:0;
  background:none;
  color:#225d7b;
  font-size:10px;
  padding:6px}
.pagination {
  display:flex;
  justify-content:space-between;
  padding:20px;
  color:var(--muted);
  font-size:10px}
.pagination a {
  margin-left:20px;
  color:#225d7b}
.empty {
  text-align:center;
  padding:60px}
.guide-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px}
.guide-grid p {
  font-size:13px}
.guide-number {
  display:block;
  font-size:23px;
  color:var(--brand-orange);
  margin-bottom:16px}
dialog {
  border:0;
  border-radius:14px;
  padding:28px;
  width:520px;
  max-width:calc(100% - 30px);
  color:#193e53;
  white-space:normal;
  box-shadow:0 30px 100px #00375340}
dialog::backdrop {
  background:#00375388;
  backdrop-filter:blur(3px)}
.dialog-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:15px}
.close {
  background:#edf2f6;
  border:0;
  width:30px;
  height:30px;
  border-radius:50%;
  font-size:22px}
.reason {
  background:#fcf1df;
  border-radius:8px;
  padding:15px;
  margin:20px 0}
.reason.included {
  background:#eaf3e9}
.reason p {
  font-size:12px}
dl {
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  font-size:12px}
dd {
  margin:0;
  font-weight:700}
.formula {
  padding:16px;
  background:#f0f4f7;
  border-radius:8px;
  margin-top:22px;
  font-size:13px}
.formula small {
  font-size:10px;
  line-height:1.6}
.skip {
  position:fixed;
  top:-100px}
.skip:focus {
  top:8px;
  left:250px;
  background:white;
  padding:12px;
  z-index:10}
@media(min-width:1550px) {
  .goals {
  grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1200px) {
  .sidebar {
  width:200px;
  padding:28px 15px}
.shell {
  margin-left:200px}
main {
  padding:28px 25px}
.topbar {
  padding:0 25px}
.page-heading {
  align-items:start;
  flex-direction:column}
.context {
  width:100%}
.context label {
  flex:1}
.context select {
  max-width:none}
.hero-value {
  font-size:37px}
.analytics {
  grid-template-columns:1fr}
.goals {
  grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px) {
  .sidebar {
  position:static;
  width:100%;
  padding:16px 20px}


.workspace,.sidebar-note,.profile {
  display:none}
nav {
  display:flex;
  margin-top:15px;
  gap:5px}
nav a {
  padding:10px;
  font-size:10px;
  gap:6px;
  flex:1;
  justify-content:center}
nav a span {
  font-size:15px}
.shell {
  margin-left:0}
.topbar {
  height:44px;
  padding:0 20px}
.topbar>span:first-child {
  display:none}
.prototype {
  font-size:9px}
main {
  padding:25px 18px}
.page-heading {
  gap:18px}
h1 {
  font-size:29px}
.page-heading p {
  font-size:11px}
.context {
  flex-wrap:wrap}
.context label {
  min-width:130px}
.context select {
  width:100%;
  font-size:10px}
.context .apply {
  width:100%}
.date-strip {
  flex-wrap:wrap;
  gap:8px 16px;
  font-size:9px}
.overview {
  grid-template-columns:1fr}
.hero {
  padding:24px}
.hero-value {
  font-size:38px}
.hero-top {
  align-items:start}
.hero-pill {
  font-size:8px}
.hero-bottom {
  font-size:9px}
.next-step {
  padding:22px}
.goals {
  gap:10px}
.goal-card {
  padding:15px 13px 0}
.card-top {
  flex-direction:column;
  align-items:start;
  gap:7px;
  min-height:48px}
.goal-value {
  font-size:22px}
.goal-footer {
  flex-wrap:wrap;
  gap:5px}
.card-link {
  font-size:8px}
.block-title {
  align-items:start;
  flex-direction:column;
  gap:4px}
.record-summary {
  grid-template-columns:repeat(2,1fr);
  gap:10px}
.record-summary>div {
  padding:15px}
.record-summary strong {
  font-size:21px}
.record-summary small {
  font-size:9px}
.section-heading {
  align-items:start}
.legend {
  display:none}
.panel {
  padding:19px}
.records {
  padding:0}
.filters {
  padding:17px}
.filters label {
  min-width:100px}
.filters .search {
  min-width:100%;
  }
.guide-grid {
  grid-template-columns:1fr}
footer {
  flex-direction:column}
.analytics {
  margin-top:20px}
.muted {
  font-size:9px}
}


/* Original PNGs include transparent margins. These viewports remove only the
   empty canvas in the layout, keeping the artwork's proportions and colors. */
.brand {
  display: block;
  flex-shrink: 0;
  padding: 22px 14px;
  border-radius: 8px;
  background: #fff;
}
.brand-logo {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 765 / 237;
  overflow: hidden;
}
.brand-logo img {
  position: absolute;
  width: 110.0654%;
  height: auto;
  max-width: none;
  left: -5.098%;
  top: -75.9494%;
}
.brand-symbol {
  display: inline-block;
  position: relative;
  width: 18px;
  aspect-ratio: 455 / 497;
  overflow: hidden;
  flex-shrink: 0;
}
.brand-symbol img {
  position: absolute;
  width: 185.055%;
  height: auto;
  max-width: none;
  left: -42.6374%;
  top: -10.0604%;
}
.sidebar-symbol { width: 44px; margin-top: 12px; }
.footer-brand { display: flex; align-items: center; gap: 8px; }
.accent { background: #e9f1f7; color: #225d7b; }
.hero:after { border-color: #ffffff12; }
.next-step .eyebrow { color: #90611c; }
.goal-card:hover { border-color: #a9bfcd; }
@media (max-width:760px) {
  .brand { width: 202px; padding: 17px 15px; }
  .workspace { display: block; font-size: 8px; margin: 15px 0 0; }
  .sidebar-symbol { display: none; }
  .footer-brand { flex-wrap: wrap; }
}

.hero-weights {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 20px;
}
.hero-weights > div { flex: 1; min-width: 105px; }
.hero-weights span { display: block; font-size: 11px; color: #c6dce7; }
.hero-weights small { display: block; font-size: 10px; margin-top: 3px; color: #c6dce7; }
.hero-weights strong { display: block; font-size: 17px; margin-top: 6px; }
.hero-weights + .hero-progress { margin-top: 18px; }
@media (max-width:760px) {
  .hero-weights { gap: 10px; }
  .hero-weights > div { min-width: 75px; }
}

.evolution-legend { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 0 0 18px; color: #526c7d; font-size: 10px; }
.evolution-legend > span { display: flex; align-items: center; gap: 6px; }
.legend-line { display: inline-block; width: 20px; border-top: 3px solid var(--brand-blue); }
.legend-line.previous { border-color: var(--brand-orange); border-top-style: dashed; }
.legend-line.reference { border-color: #9aabb5; border-top-style: dotted; }
.year-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 20px 0 16px; }
.year-comparison > div { border-left: 3px solid var(--brand-blue); padding-left: 12px; }
.year-comparison > div + div { border-color: var(--brand-orange); }
.year-comparison span,.year-comparison small { display: block; color: #647887; font-size: 10px; }
.year-comparison strong { display: block; font-size: 20px; margin: 6px 0; }
.history-note { background: #fcf5e9; border: 1px solid #efdfc7; border-radius: 7px; padding: 12px 14px; margin-bottom: 12px; font-size: 10px; color: #7c5b29; }
.history-note p { color: #75654e; font-size: 10px; }
.history-note summary { cursor: pointer; margin-top: 8px; }
.history-note details p { overflow-wrap: anywhere; }
@media (max-width:760px) {
  .year-comparison { gap: 12px; }
  .year-comparison strong { font-size: 16px; }
  .year-comparison span { font-size: 9px; line-height: 1.5; }
}

/* Atingimento e composição sempre visíveis no mesmo quadro. */
.overview { align-items: start; }
.score-card { min-width: 0; border: 1px solid #dce5ea; border-radius: 14px; overflow: hidden; background: #fff; }
.score-summary { padding: 28px 30px 24px; background: var(--brand-blue); color: #fff; }
.score-summary h2 { margin: 0; color: #d9e8ef; font-size: 12px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.score-summary .score-context { color: #c6dce7; font-size: 12px; margin: 10px 0 0; }
.score-value { font-size: clamp(42px, 4vw, 54px); font-weight: 700; letter-spacing: -.04em; line-height: 1.15; margin-top: 22px; font-variant-numeric: tabular-nums; }
.score-summary .score-caption { color: #d1e0e8; font-size: 14px; margin: 6px 0 0; }
.score-progress { height: 6px; background: #ffffff26; border-radius: 8px; margin-top: 26px; overflow: hidden; }
.score-progress span { display: block; height: 100%; background: var(--brand-orange); border-radius: inherit; }
.score-target { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; color: #d1e0e8; font-size: 12px; }
.score-target strong { color: #fff; font-weight: 600; }
.score-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin-top: 26px; color: #fff; }
.score-table th, .score-table td { padding: 12px 0; border: 0; background: transparent; font-size: 13px; line-height: 1.5; white-space: normal; }
.score-table thead th { color: #b8d0dc; font-size: 11px; font-weight: 500; text-transform: none; letter-spacing: 0; padding-bottom: 10px; }
.score-table th:first-child { width: auto; text-align: left; padding-right: 16px; overflow-wrap: anywhere; }
.score-table th:nth-child(2), .score-table td:nth-child(2) { width: 60px; text-align: right; color: #b8d0dc; }
.score-table th:last-child, .score-table td:last-child { width: 78px; text-align: right; font-variant-numeric: tabular-nums; }
.score-table tbody th { font-weight: 500; color: #eef6fb; }
.score-table .score-component { border-top: 1px solid #ffffff26; }
.score-table .score-child th, .score-table .score-child td { padding-top: 3px; padding-bottom: 9px; font-size: 11px; color: #b8d0dc; font-weight: 400; }
.score-table .score-child th { padding-left: 18px; }
.score-table tbody tr:hover { background: transparent; }
.score-summary .score-note { color: #b8d0dc; font-size: 10px; line-height: 1.6; margin: 12px 0 0; }
.pace-reference { margin-top: 18px; padding-top: 14px; border-top: 1px solid #e8d2ac; font-size: 11px; color: #6d604c; }
.pace-reference strong, .pace-reference span { display: block; }
.pace-reference span { margin-top: 5px; line-height: 1.6; }
.goal-section > .score-card { margin-bottom: 20px; }
@media (max-width: 760px) {
  .score-summary { padding: 24px 20px; }
  .score-table th, .score-table td { font-size: 12px; }
  .score-table th:nth-child(2), .score-table td:nth-child(2) { width: 44px; }
  .score-table th:last-child, .score-table td:last-child { width: 64px; }
  .score-table th:first-child { padding-right: 10px; }
  .score-table .score-child th { padding-left: 12px; }
}

/* Sessão (barra superior) e tela de entrada por código individual. */
.topbar-side { display: flex; align-items: center; gap: 22px; }
.sessao { display: flex; align-items: center; gap: 12px; font-size: 11px; color: var(--muted); }
.sessao strong { color: #193e53; font-weight: 700; }
.sair { border: 1px solid var(--border); border-radius: 6px; background: #fff; color: var(--brand-blue); padding: 7px 12px; font-size: 11px; font-weight: 700; }
.sair:hover { border-color: #a9bfcd; background: #f5f7fa; }
.login-page { min-height: 100vh; background: var(--brand-blue); }
.login { max-width: 420px; min-height: 100vh; margin: 0 auto; padding: 48px 16px 24px; display: flex; flex-direction: column; justify-content: center; gap: 22px; }
.login-card { background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 18px 40px #00192a40; }
.login-brand { border-radius: 0; padding: 26px 34px 6px; }
.login-body { padding: 18px 34px 32px; }
.login-body h1 { font-size: 30px; }
.login-form { display: grid; gap: 14px; margin-top: 22px; }
.login-form input { height: 46px; font-size: 18px; letter-spacing: 3px; text-align: center; font-variant-numeric: tabular-nums; }
.login-form input::placeholder { letter-spacing: 3px; color: #b3c2cc; }
.login-form .apply { height: 44px; font-size: 13px; }
.login-erro { background: #fbf1e6; border: 1px solid #ecd3b2; border-left: 3px solid #a2561b; border-radius: 6px; color: #7a4318; padding: 10px 12px; font-size: 12px; line-height: 1.55; }
.login-ajuda { font-size: 11px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
.login-footer { border-top: 0; margin: 0; padding: 0; justify-content: center; color: #aec6d3; }
.login-footer .muted { color: #aec6d3; }
@media (max-width:760px) {
  .topbar { justify-content: flex-end; }
  .topbar-side { gap: 12px; }
  .topbar-side .prototype { display: none; }
  .sessao { font-size: 10px; gap: 8px; }
  .login-brand { width: auto; padding: 22px 26px 4px; }
  .login-body { padding: 14px 24px 26px; }
}
