.ms-page {
  --ms-navy: #0B0B0C;
  --ms-navy-deep: #000000;
  --ms-navy-card: #1B1B1D;
  --ms-navy-card-2: #262628;
  --ms-gold: #D23025;
  --ms-gold-soft: #E8574B;
  --ms-cream: #FFFFFF;
  --ms-mist: #B7B7BA;
  --ms-mist-dim: #808084;
  --ms-line: rgba(255,255,255,0.14);
  --ms-green: #33C481;
  --ms-font-display: 'Space Grotesk', sans-serif;
  --ms-font-body: 'Inter', sans-serif;
  --ms-font-mono: 'JetBrains Mono', monospace;

  box-sizing: border-box;
  background: var(--ms-navy);
  color: var(--ms-cream);
  font-family: var(--ms-font-body);
  line-height: 1.5;
  min-height: 100vh;
}
.ms-page *, .ms-page *::before, .ms-page *::after { box-sizing: inherit; }
.ms-page a { color: inherit; text-decoration: none; }
.ms-page button { font-family: inherit; cursor: pointer; border: none; color: inherit; }
.ms-page h1, .ms-page h2, .ms-page h3, .ms-page p { margin: 0; }
.ms-page input, .ms-page select { font-family: inherit; }

.ms-wrap { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.ms-eyebrow { font-family: var(--ms-font-mono); font-size: 12.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ms-gold); display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; }

.ms-header { position: sticky; top: 0; z-index: 40; background: rgba(11,11,12,0.9); backdrop-filter: blur(10px); border-bottom: 1px solid var(--ms-line); }
.ms-header-inner { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; max-width: 1120px; margin: 0 auto; }
.ms-logo { display: flex; align-items: center; gap: 10px; font-family: var(--ms-font-display); font-weight: 700; font-size: 17px; letter-spacing: 0.02em; }
.ms-logo a { display: flex; align-items: center; gap: 10px; }
.ms-badge-header { font-family: var(--ms-font-mono); font-size: 11px; color: var(--ms-mist); border: 1px solid var(--ms-line); padding: 6px 12px; border-radius: 999px; display: none; }
@media (min-width: 640px) { .ms-badge-header { display: inline-flex; align-items: center; gap: 6px; } }
.ms-badge-logo { height: 15px; width: auto; display: block; opacity: 0.92; }

.ms-hero { padding: 44px 0 8px; text-align: center; }
.ms-hero h1 { font-family: var(--ms-font-display); font-weight: 700; font-size: clamp(26px, 4.6vw, 40px); line-height: 1.16; max-width: 760px; margin: 0 auto 14px; }
.ms-hero h1 em { font-style: normal; color: var(--ms-gold); }
.ms-hero-sub { font-size: 15.5px; color: var(--ms-mist); max-width: 620px; margin: 0 auto; }

/* ---- LAYOUT DA CALCULADORA ---- */
.ms-apo-shell { padding: 36px 0 70px; }
.ms-apo-grid { display: grid; grid-template-columns: 1fr; gap: 20px; align-items: start; }
@media (min-width: 960px) { .ms-apo-grid { grid-template-columns: 400px 1fr; } }

.ms-apo-card { background: var(--ms-navy-card); border: 1px solid var(--ms-line); border-radius: 18px; padding: 26px; }
.ms-apo-card + .ms-apo-card { margin-top: 20px; }
.ms-apo-card h2 { font-family: var(--ms-font-display); font-weight: 700; font-size: 17px; margin-bottom: 4px; }
.ms-apo-card-sub { font-size: 12.5px; color: var(--ms-mist-dim); margin-bottom: 20px; }

/* toggle de modo */
.ms-apo-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; background: var(--ms-navy-deep); border: 1px solid var(--ms-line); border-radius: 12px; padding: 4px; margin-bottom: 22px; }
.ms-apo-toggle button { padding: 11px 8px; border-radius: 9px; font-family: var(--ms-font-display); font-weight: 600; font-size: 12.5px; color: var(--ms-mist); text-align: center; transition: all .15s ease; }
.ms-apo-toggle button.is-active { background: var(--ms-gold); color: #FFFFFF; }

.ms-field { margin-bottom: 20px; }
.ms-field:last-child { margin-bottom: 0; }
.ms-label { font-family: var(--ms-font-mono); font-size: 11px; color: var(--ms-mist-dim); text-transform: uppercase; letter-spacing: 0.05em; display: block; margin-bottom: 8px; }
.ms-label .ms-label-hint { text-transform: none; letter-spacing: 0; color: var(--ms-mist-dim); font-family: var(--ms-font-body); font-size: 11.5px; display: block; margin-top: 3px; }
.ms-field-top { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; gap: 10px; }
.ms-field-value { font-family: var(--ms-font-display); font-weight: 700; font-size: 21px; color: var(--ms-gold); white-space: nowrap; }

.ms-input {
  width: 100%; background: var(--ms-navy-deep); border: 1px solid var(--ms-line); border-radius: 10px;
  padding: 12px 14px; color: var(--ms-cream); font-size: 14.5px;
}
.ms-input:focus { outline: none; border-color: var(--ms-gold); }
.ms-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23B7B7BA' stroke-width='1.6' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 34px; }

.ms-slider { width: 100%; -webkit-appearance: none; appearance: none; height: 6px; border-radius: 999px; background: var(--ms-navy-deep); outline: none; border: 1px solid var(--ms-line); }
.ms-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--ms-gold); cursor: pointer; border: 3px solid var(--ms-cream); }
.ms-slider::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: var(--ms-gold); cursor: pointer; border: 3px solid var(--ms-cream); }
.ms-range-labels { display: flex; justify-content: space-between; font-size: 11px; color: var(--ms-mist-dim); margin-top: 8px; }

.ms-apo-fee-chip { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--ms-navy-deep); border: 1px dashed var(--ms-line); border-radius: 10px; padding: 12px 14px; font-size: 12.5px; color: var(--ms-mist); }
.ms-apo-fee-chip b { color: var(--ms-cream); font-family: var(--ms-font-display); }

/* resultados */
.ms-apo-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
@media (min-width: 560px) { .ms-apo-stats { grid-template-columns: repeat(4, 1fr); } }
.ms-apo-stat { background: var(--ms-navy-deep); border: 1px solid var(--ms-line); border-radius: 12px; padding: 16px 16px; }
.ms-apo-stat .ms-label { margin-bottom: 8px; }
.ms-apo-stat-value { font-family: var(--ms-font-display); font-weight: 700; font-size: 19px; line-height: 1.2; }
.ms-apo-stat.is-highlight { background: linear-gradient(155deg, rgba(210,48,37,0.18), rgba(210,48,37,0.04)); border-color: rgba(210,48,37,0.4); grid-column: span 2; }
.ms-apo-stat.is-highlight .ms-apo-stat-value { color: var(--ms-gold); font-size: 26px; }

.ms-apo-chart-wrap { background: var(--ms-navy-deep); border: 1px solid var(--ms-line); border-radius: 14px; padding: 18px 18px 8px; margin-bottom: 20px; }
.ms-apo-chart-legend { display: flex; gap: 18px; flex-wrap: wrap; font-size: 12px; color: var(--ms-mist); margin-bottom: 6px; }
.ms-apo-chart-legend span { display: inline-flex; align-items: center; gap: 6px; }
.ms-apo-chart-legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.ms-apo-chart-svg { width: 100%; height: auto; display: block; }

.ms-apo-table-wrap { overflow-x: auto; }
table.ms-apo-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
table.ms-apo-table th, table.ms-apo-table td { text-align: right; padding: 9px 10px; border-bottom: 1px solid var(--ms-line); white-space: nowrap; }
table.ms-apo-table th:first-child, table.ms-apo-table td:first-child { text-align: left; }
table.ms-apo-table th { font-family: var(--ms-font-mono); font-weight: 500; color: var(--ms-mist-dim); text-transform: uppercase; font-size: 10.5px; letter-spacing: 0.04em; }
table.ms-apo-table td { color: var(--ms-mist); }
table.ms-apo-table tr:last-child td { color: var(--ms-cream); font-weight: 600; }
table.ms-apo-table tr.is-contemplacao td { color: var(--ms-gold); }

.ms-apo-note { font-size: 12px; color: var(--ms-mist-dim); line-height: 1.6; margin-top: 18px; }
.ms-apo-note strong { color: var(--ms-mist); }

.ms-apo-cta { display: grid; gap: 14px; }
@media (min-width: 640px) { .ms-apo-cta { grid-template-columns: 1fr auto; align-items: center; } }
.ms-apo-cta h3 { font-family: var(--ms-font-display); font-weight: 700; font-size: 16px; margin-bottom: 6px; }
.ms-apo-cta p { font-size: 13px; color: var(--ms-mist); }
.ms-btn-wa {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; white-space: nowrap;
  background: #25D366; color: #FFFFFF; font-family: var(--ms-font-display); font-weight: 600; font-size: 14.5px;
  padding: 15px 22px; border-radius: 12px; transition: transform .15s ease, box-shadow .15s ease;
}
.ms-btn-wa:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(37,211,102,0.28); }

.ms-footer { padding: 40px 0; border-top: 1px solid var(--ms-line); }
.ms-footer-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.ms-footer-copy { font-size: 13px; color: var(--ms-mist-dim); }
.ms-footer-links { display: flex; gap: 20px; font-size: 13px; color: var(--ms-mist); flex-wrap: wrap; }
.ms-footer-links a:hover { color: var(--ms-gold); }
