/* Monetare brand: shared across all routes, including login and mobile. */
:root {
  --blue:#0040E6;
  --navy:var(--blue);
  --navy-2:#0035bd;
  --off-white:#F2F3F5;
  --ink:#202735;
  --muted:#717887;
  --line:#e2e5eb;
  --bg:#fff;
  --card:#fff;
  --accent-soft:#edf2ff;
}
.sidebar { background:var(--off-white); }
.brand { color:var(--ink); }
.brand-logo{display:block;width:142px;max-height:36px;object-fit:contain;object-position:left center}.login-logo img{display:block;width:190px;max-height:52px;object-fit:contain;object-position:left center}
.brand-mark { background:var(--blue);color:#fff; }
.nav a { color:var(--muted); }
.nav a:hover { background:#e8ebf1;color:var(--ink); }
.nav a.active { background:#e5ebfc;color:var(--blue); }
.avatar { background:#e3eaff;color:var(--blue); }
.btn.primary,.segmented button.active { background:var(--blue);border-color:var(--blue);color:#fff; }
.btn.primary:hover,.segmented button.active:hover { background:var(--navy-2);border-color:var(--navy-2); }
.btn:hover,.icon-btn:hover { background:var(--off-white); }
.btn.secondary { color:var(--blue);border-color:#c2d1fb; }
.btn.secondary:hover { background:var(--accent-soft); }
.btn.ghost { color:var(--blue); }
.segmented { border-color:var(--line); }
.segmented button { color:var(--muted); }
.icon-btn { color:var(--blue); }
.nav-icon svg{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.badge.blue { background:var(--accent-soft);color:var(--blue); }
.table th,.table tr:hover td { background:#f8f9fb; }
.tabs { background:#fff; }
.tab.active { color:var(--blue);border-bottom-color:var(--blue); }
.field input:focus,.field select:focus,.field textarea:focus,.search input:focus {
  border-color:var(--blue);box-shadow:0 0 0 3px #0040e612;
}
:focus-visible { outline:2px solid var(--blue);outline-offset:3px; }
input[type="checkbox"],input[type="radio"] { accent-color:var(--blue); }
.switch input:checked { background:var(--blue); }
.kanban-col { background:var(--off-white);border-color:var(--line); }
.kanban-count { background:#e5e8ef;color:var(--muted); }
.bar { background:var(--blue); }
.timeline-dot { background:var(--accent-soft);color:var(--blue); }
.dropzone { border-color:#b7c9fa;background:#f7f9ff; }
.login-logo { color:var(--blue); }
.login-art { background:var(--off-white); }
.eyebrow,.login-story h2 { color:var(--blue); }
.login-story p,.story-card span,.story-card small { color:var(--muted); }
.story-card { border-color:#fff;box-shadow:0 20px 50px #0040e60d; }
.story-line { background:linear-gradient(90deg,var(--blue) 65%,#e1e6f2 65%); }
.bank { min-height:77px; }
.bank:has(input:checked) { border-color:#9ab5ff;background:#f7f9ff; }
.bank-choice { flex:1; }
.bank-choice input { accent-color:var(--blue); }
.bank-brand { width:100px;height:32px;display:inline-flex;align-items:center;justify-content:flex-start;flex-shrink:0;vertical-align:middle; }
.bank-brand img { width:100%;height:100%;object-fit:contain;object-position:left center;image-rendering:auto; }
.bank-brand--itau { width:32px; }
.bank-brand--text { font-size:14px;font-weight:650;color:var(--ink); }
.bank-rate { font-variant-numeric:tabular-nums; }
.bank-rate input:focus { outline:2px solid var(--blue);outline-offset:2px; }
#simulation-results-panel { scroll-margin-top:85px; }
#sim-results .sim-result { border-radius:8px; }
#sim-results .sim-result.unavailable { background:var(--off-white); }
#sim-results .sim-result b { font-size:17px;letter-spacing:-.4px;color:var(--ink); }
#sim-results .sim-result .bank-brand { margin-bottom:8px; }
.toast { background:var(--blue); }
.toast.error { background:#a92d38; }
.toast.success { background:#166340; }
.loading { border-top-color:var(--blue); }
.pdf-action { padding:9px 13px;text-align:left;min-width:188px;justify-content:flex-start; }
.pdf-action-icon { display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:#fff;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.4px; }
.pdf-action>span:last-child { display:grid;gap:2px; }
.pdf-action b { font-size:12px;font-weight:650; }
.pdf-action small { color:#dce6ff;font-size:10px;font-weight:400; }
.pdf-action .loading { border-color:#a9bfff;border-top-color:#fff; }
.simulator-workspace { max-width:1120px;margin:0 auto; }
.simulator-workspace .hero-row { margin-bottom:25px; }
.simulator-workspace .hero-row h1 { margin:4px 0 0;font-size:29px; }
.sim-eyebrow { color:var(--muted);font-size:12px;margin:0 0 5px; }
.sim-intro { border-radius:8px;background:var(--blue);color:#fff;padding:18px 22px;margin-bottom:10px; }
.sim-intro strong { font-size:14px;font-weight:600; }
.sim-intro p { margin:6px 0 0;font-size:12px;color:#e0e8ff; }
.sim-vertical { display:block; }
.sim-section { display:grid;grid-template-columns:260px minmax(0,1fr);gap:38px;padding:30px 0;border-bottom:1px solid var(--line); }
.sim-section-heading h2 { margin:0 0 8px;font-size:14px;letter-spacing:-.25px;font-weight:650; }
.sim-section-heading p { margin:0;max-width:235px;color:var(--muted);font-size:12px;line-height:1.55; }
.sim-section .form-grid { gap:12px; }
.sim-section .field { margin:0; }
.sim-section .field label { font-size:11px;color:var(--muted); }
.sim-section .field input,.sim-section .field select { min-height:39px;padding:9px 11px; }
.sim-section input[readonly] { background:var(--off-white); }
.sim-institution { max-width:310px; }
.sim-vertical .bank-list { grid-template-columns:1fr;gap:8px; }
.sim-vertical .bank { padding:10px 14px;min-height:52px;flex-wrap:nowrap; }
.sim-vertical .bank-brand { height:26px;width:100px; }
.sim-vertical .bank-brand--itau { width:26px; }
.sim-vertical .bank-rate { gap:9px; }
.sim-vertical .bank-rate input { padding:6px 8px; }
.rate-label { color:var(--muted);font-size:11px; }
.sim-disclaimer { margin:22px 0 18px;font-size:11px; }
.sim-actions { display:flex;gap:10px; }
.sim-actions .btn { padding:11px 20px; }
#clear-simulation { color:var(--blue);border-color:#c2d1fb; }
#simulation-results-panel { margin-top:30px;padding:28px; }
#simulation-results-panel>.section-head { margin-bottom:22px; }
#simulation-results-panel>.section-head h2 { font-size:23px;letter-spacing:-.5px; }
@media(max-width:1100px) { .sim-section { grid-template-columns:210px minmax(0,1fr);gap:25px; }.sim-section .form-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }.sim-section .span-6 { grid-column:span 6; }.sim-section .span-3 { grid-column:span 6; }.sim-section .span-4 { grid-column:span 4; } }
@media(max-width:720px) { .sim-section { grid-template-columns:1fr;gap:18px;padding:24px 0; }.sim-section-heading p { max-width:none; }.simulator-workspace .hero-row h1 { font-size:25px; }.sim-section .span-3,.sim-section .span-4 { grid-column:span 6; }.sim-section .span-6 { grid-column:span 12; }.sim-vertical .bank-rate { gap:5px; }.rate-label { display:none; }#simulation-results-panel { padding:18px; }#simulation-results-panel>.section-head { align-items:flex-start;gap:15px;flex-direction:column; } }
.extra-income { margin-top:18px; }
#spouse-income { max-width:310px; }
.sim-section .switch { font-size:12px;color:var(--ink); }
.sim-section .switch input { margin:0;flex-shrink:0; }
/* Display the supplied small raster logos without enlarging their pixels. */
.bank-brand,.sim-vertical .bank-brand { width:80px;height:24px; }
.bank-brand img { width:80px;height:24px;object-fit:scale-down;object-position:left center; }
.bank-brand--itau,.sim-vertical .bank-brand--itau { width:24px; }
.bank-brand--bradesco,.sim-vertical .bank-brand--bradesco{width:88px}
.bank-brand--itau img { width:24px;height:24px; }
.simulation-bank-result { border:1px solid var(--line);border-radius:8px;overflow:hidden; }
.simulation-bank-result .sim-result { border:0; }
.simulation-costs { display:flex;gap:22px;flex-wrap:wrap;padding:0 18px 15px;color:var(--muted);font-size:12px; }
.simulation-costs strong { color:var(--ink);margin-left:6px;font-weight:550; }
.installment-details { border-top:1px solid var(--line); }
.installment-details summary { cursor:pointer;padding:13px 18px;color:var(--blue);font-size:12px;font-weight:550;background:#fafbff; }
.installment-body .table-wrap { max-height:430px;overflow:auto; }
.installment-table th { position:sticky;top:0;z-index:1; }
.installment-table td { white-space:nowrap; }
.kanban { grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:280px; }
.bank-products .bank{align-items:flex-start}.rate-options{display:flex;flex:1;gap:8px;align-items:center;flex-wrap:wrap}.rate-option{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-size:11px;cursor:pointer;background:#fff}.rate-option:has(input:checked){border-color:#91acfa;background:var(--accent-soft)}.rate-option b{color:var(--blue);font-size:11px}.rate-option input{margin:0}.custom-rate{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.custom-rate input{width:82px;padding:7px;border:1px solid var(--line);border-radius:6px}.pdf-ready-link{display:inline-flex;margin-top:15px;padding:10px 13px;border-radius:7px;background:var(--accent-soft);color:var(--blue);font-weight:650;text-decoration:none}.proposal-files{display:flex;align-items:center;gap:12px;border:1px dashed #aebde8;border-radius:8px;padding:16px;cursor:pointer;background:#fafbff}.proposal-files input{position:absolute;opacity:0;pointer-events:none}.proposal-files span{background:var(--blue);color:#fff;border-radius:6px;padding:9px 12px;font-size:12px;font-weight:650}.proposal-files small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proposal-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.proposal-sections section{border-bottom:1px solid var(--line);padding-bottom:20px}.proposal-sections h3{margin:0 0 15px}.stage-readonly{display:grid;gap:12px}.stage-readonly small{color:var(--muted);line-height:1.45}
@media(max-width:720px){.simulation-costs{gap:10px;flex-direction:column}.simulation-bank-result .sim-result{gap:14px}.installment-table td,.installment-table th{padding:11px 9px}}
.additional-fields{display:grid;gap:12px}.additional-fields>div{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid var(--line)}.additional-fields>div:last-child{border-bottom:0;padding-bottom:0}.additional-fields small{color:var(--muted);font-size:11px}.additional-fields span{font-size:13px;overflow-wrap:anywhere}
@media(max-width:720px){.rate-options{width:100%}.bank-products .bank{flex-wrap:wrap}.proposal-sections{grid-template-columns:1fr}.brand-logo{width:34px}}
