/* Visual Navy: tokens e ajustes do design system do ImoCore, isolados do visual padrão. */
body[data-theme="navy"] {
  color-scheme: light;
  --ink: #0d0f36;
  --ink-soft: #252a51;
  --muted: #66708c;
  --soft-muted: #7b849d;
  --line: #d9deea;
  --line-strong: #bdc6d7;
  --surface: #ffffff;
  --canvas: #f6f8fc;
  --green: #31ada1;
  --green-deep: #278a80;
  --green-soft: #e7f7f4;
  --gold-soft: #fff3d8;
  --danger: #b94c5c;
  --danger-soft: #fff0f2;
  --shadow-sm: 0 8px 24px rgba(13, 15, 54, .06);
  --shadow-md: 0 20px 55px rgba(13, 15, 54, .13);
  font-family: Inter, "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

body.app-body[data-theme="navy"] { background: var(--canvas); }
body.app-body[data-theme="navy"] .sidebar {
  border-right-color: #292e5a;
  background: linear-gradient(180deg, #0d0f36 0%, #121645 100%);
  box-shadow: 8px 0 34px rgba(13, 15, 54, .13);
}
body.app-body[data-theme="navy"] .brand { border-bottom-color: #292e5a; }
body.app-body[data-theme="navy"] .brand-logo,
body.login-body[data-theme="navy"] .login-logo { filter: brightness(0) invert(1); }
body.app-body[data-theme="navy"] .brand-copy small { color: #99a2c2; }
body.app-body[data-theme="navy"] .brand-copy strong { color: #f5f7ff; }
body.app-body[data-theme="navy"] nav a,
body.app-body[data-theme="navy"] .out { color: #aeb6d1; }
body.app-body[data-theme="navy"] nav a:hover,
body.app-body[data-theme="navy"] .out:hover { background: rgba(255, 255, 255, .08); color: #ffffff; }
body.app-body[data-theme="navy"] nav a.on { background: rgba(49, 173, 161, .17); color: #73ddd2; }
body.app-body[data-theme="navy"] nav a.on::before { background: #31ada1; }
body.app-body[data-theme="navy"] .environment-label { border-color: rgba(49, 173, 161, .3); background: rgba(49, 173, 161, .1); color: #9ce4dc; }
body.app-body[data-theme="navy"] .environment-label i { background: #5fd4c8; box-shadow: 0 0 0 4px rgba(95, 212, 200, .14); }
body.app-body[data-theme="navy"] h1,
body.app-body[data-theme="navy"] h2,
body.app-body[data-theme="navy"] h3 { color: var(--ink); }
body.app-body[data-theme="navy"] .eyebrow,
body.app-body[data-theme="navy"] .settings-kicker { color: #278a80; }
body.app-body[data-theme="navy"] .page-chip,
body.app-body[data-theme="navy"] .period-badge { border-color: #bce5df; background: #effbf9; color: #278a80; }
body.app-body[data-theme="navy"] .page-chip i,
body.app-body[data-theme="navy"] .period-badge span { background: #31ada1; box-shadow: 0 0 0 4px rgba(49, 173, 161, .13); }
body.app-body[data-theme="navy"] .page-chip.neutral { border-color: #d9deea; background: #f5f7fb; color: #66708c; }
body.app-body[data-theme="navy"] .page-chip.neutral i { background: #8b96b2; box-shadow: 0 0 0 4px rgba(139, 150, 178, .13); }
body.app-body[data-theme="navy"] .card,
body.app-body[data-theme="navy"] .stat,
body.app-body[data-theme="navy"] .metric-card { border-color: var(--line); background: var(--surface); }
body.app-body[data-theme="navy"] .stat.ok { border-color: #b5e0d8; background: linear-gradient(145deg, #fff 0%, #f3fcfa 100%); }
body.app-body[data-theme="navy"] .stat.bad { border-color: #efc5cc; background: linear-gradient(145deg, #fff 0%, #fff7f8 100%); }
body.app-body[data-theme="navy"] .metric-card:hover { border-color: #b5c5da; box-shadow: 0 12px 30px rgba(13, 15, 54, .1); }
body.app-body[data-theme="navy"] .metric-card.metric-primary { border-color: #b5e0d8; background: linear-gradient(145deg, #fff 0%, #f0fbf9 100%); }
body.app-body[data-theme="navy"] .metric-icon { background: #e7f7f4; color: #278a80; }
body.app-body[data-theme="navy"] .metric-icon.mint { background: #e2f7f3; color: #278a80; }
body.app-body[data-theme="navy"] .metric-icon.gold { background: #fff3d8; color: #9a711e; }
body.app-body[data-theme="navy"] .metric-icon.blue { background: #e8f0fb; color: #476b9e; }
body.app-body[data-theme="navy"] .metric-icon.purple { background: #f0edfb; color: #705ca2; }
body.app-body[data-theme="navy"] .flash { border-color: #b5e0d8; background: #e7f7f4; color: #237c73; }
body.app-body[data-theme="navy"] label { color: var(--ink-soft); }
body.app-body[data-theme="navy"] input:not([type="checkbox"]):not([type="radio"]) { border-color: var(--line-strong); background: #fbfcff; color: var(--ink); }
body.app-body[data-theme="navy"] input:not([type="checkbox"]):not([type="radio"]):hover { border-color: #8fa3c1; }
body.app-body[data-theme="navy"] input:not([type="checkbox"]):not([type="radio"]):focus { border-color: #31ada1; background: #fff; box-shadow: 0 0 0 4px rgba(49, 173, 161, .13); }
body.app-body[data-theme="navy"] button { border-color: #31ada1; background: #31ada1; box-shadow: 0 6px 16px rgba(49, 173, 161, .2); }
body.app-body[data-theme="navy"] button:hover { border-color: #278a80; background: #278a80; box-shadow: 0 8px 20px rgba(39, 138, 128, .24); }
body.app-body[data-theme="navy"] button.ghost { border-color: #cfd6e4; background: #f1f4f9; color: var(--ink-soft); box-shadow: none; }
body.app-body[data-theme="navy"] button.ghost:hover { border-color: #b9c5d8; background: #e9eef6; }
body.app-body[data-theme="navy"] a.ghost { border-color: #cfd6e4; background: #f1f4f9; color: var(--ink-soft); }
body.app-body[data-theme="navy"] a.ghost:hover { border-color: #b9c5d8; background: #e9eef6; }
body.app-body[data-theme="navy"] button.danger-ghost,
body.app-body[data-theme="navy"] summary.danger-ghost { border-color: #efc5cc; background: #fff7f8; color: #b94c5c; }
body.app-body[data-theme="navy"] button.danger-ghost:hover,
body.app-body[data-theme="navy"] summary.danger-ghost:hover { border-color: #e1a8b2; background: #fff0f2; }
body.app-body[data-theme="navy"] .form-note { border-left-color: #31ada1; background: #f0fbf9; color: var(--muted); }
body.app-body[data-theme="navy"] .theme-option { border-color: var(--line); background: #fbfcff; }
body.app-body[data-theme="navy"] .theme-option:hover { border-color: #91b7cf; background: #fff; }
body.app-body[data-theme="navy"] .theme-option.selected { border-color: #72c8bd; background: #f5fdfc; box-shadow: 0 0 0 3px rgba(49, 173, 161, .1); }
body.app-body[data-theme="navy"] .theme-option-check { border-color: #bdc6d7; }
body.app-body[data-theme="navy"] .theme-option input:checked ~ .theme-option-check { border-color: #31ada1; background: #31ada1; }
body.app-body[data-theme="navy"] .operation-aside { border-color: var(--line); background: #f5f7fb; }
body.app-body[data-theme="navy"] .status-card.ok::after { background: #31ada1; }
body.app-body[data-theme="navy"] .pair-message { color: #278a80; }
body.app-body[data-theme="navy"] .qr { border-color: var(--line); }
body.app-body[data-theme="navy"] .dashboard-toolbar { border-color: var(--line); }
body.app-body[data-theme="navy"] .period-links { background: #edf1f7; }
body.app-body[data-theme="navy"] .period-link:hover,
body.app-body[data-theme="navy"] .period-link.selected { background: #fff; color: #278a80; box-shadow: 0 2px 7px rgba(13, 15, 54, .1); }
body.app-body[data-theme="navy"] th { background: #f3f5f9; color: #7b849d; }
body.app-body[data-theme="navy"] td { border-bottom-color: #e4e8f0; }
body.app-body[data-theme="navy"] .bar-chart { background: repeating-linear-gradient(to bottom, transparent 0, transparent 46px, rgba(102, 112, 140, .11) 47px); }
body.app-body[data-theme="navy"] .bars { border-bottom-color: #d9deea; }
body.app-body[data-theme="navy"] .people-bar { background: linear-gradient(180deg, #5ed1c3, #278a80); }
body.app-body[data-theme="navy"] .payment-bar { background: linear-gradient(180deg, #edc76f, #c89835); }

body.login-body[data-theme="navy"] {
  color: #ffffff;
  background: radial-gradient(circle at 15% 20%, rgba(49, 173, 161, .2), transparent 28%), radial-gradient(circle at 84% 78%, rgba(84, 95, 188, .24), transparent 30%), #0d0f36;
}
body.login-body[data-theme="navy"]::before,
body.login-body[data-theme="navy"]::after { border-color: rgba(153, 162, 194, .2); }
body.login-body[data-theme="navy"] .login-eyebrow,
body.login-body[data-theme="navy"] .login-kicker { color: #73ddd2; }
body.login-body[data-theme="navy"] .login-intro h1 { color: #ffffff; }
body.login-body[data-theme="navy"] .login-description { color: #c2c8dd; }
body.login-body[data-theme="navy"] .login-product { color: #9ce4dc; }
body.login-body[data-theme="navy"] .login-product::before { background: #5cc9bd; }
body.login-body[data-theme="navy"] .login { border-color: #d9deea; background: rgba(255, 255, 255, .98); box-shadow: 0 24px 65px rgba(0, 0, 0, .28); }
body.login-body[data-theme="navy"] .login-heading h2 { color: #0d0f36; }
body.login-body[data-theme="navy"] .login-heading > p:last-child,
body.login-body[data-theme="navy"] .login label { color: #66708c; }
body.login-body[data-theme="navy"] .login input { border-color: #bdc6d7; background: #fbfcff; color: #0d0f36; }
body.login-body[data-theme="navy"] .login input:focus { border-color: #31ada1; box-shadow: 0 0 0 4px rgba(49, 173, 161, .13); }
body.login-body[data-theme="navy"] .login button { border-color: #31ada1; background: #31ada1; }
body.login-body[data-theme="navy"] .login button:hover { border-color: #278a80; background: #278a80; }
body.login-body[data-theme="navy"] .login-note,
body.login-body[data-theme="navy"] .login-footer { color: #aeb6d1; }
body.login-body[data-theme="navy"] .login-flash { border-color: #b5e0d8; background: #e7f7f4; color: #237c73; }

@media (max-width: 860px) {
  body.app-body[data-theme="navy"] .sidebar { border-bottom-color: #292e5a; box-shadow: 0 8px 24px rgba(13, 15, 54, .16); }
  body.app-body[data-theme="navy"] nav { scrollbar-color: #58618b transparent; }
  body.app-body[data-theme="navy"] nav::-webkit-scrollbar-thumb { background: #58618b; }
}

/* login-pwa-install */
body.login-body[data-theme="navy"] .login-install { border-top-color: rgba(255, 255, 255, .08); }
body.login-body[data-theme="navy"] .login-install-label { color: #aeb6d1; }
body.login-body[data-theme="navy"] .login-install-badge:hover,
body.login-body[data-theme="navy"] .login-install-badge:active { border-color: #73ddd2; background: #111; }
body.login-body[data-theme="navy"] .login-install-dialog { border-color: #d9deea; color: #0d0f36; }
body.login-body[data-theme="navy"] .login-install-dialog button { border-color: #31ada1; background: #31ada1; }
