:root {
  --ps-midnight: #102B3F;
  --ps-ocean: #183F53;
  --ps-mint: #73E0B0;
  --ps-mint-hover: #5ed4a0;
  --ps-cloud: #F3F6F4;
  --ps-amber: #F0B96A;
  --ps-amber-hover: #e3a84e;
  --ps-ink: #21313A;
  --ps-muted: #60727A;
  --ps-border: #DCE5E1;
  --ps-danger: #C4473A;
  --ps-danger-hover: #a83b30;
  --ps-gain: #1F7A4D;
  --ps-radius-sm: 8px;
  --ps-radius-md: 16px;
  --ps-radius-lg: 24px;
  --ps-shadow-soft: 0 12px 36px rgba(16, 43, 63, .08);
  --ps-focus: 0 0 0 0.2rem rgba(16, 43, 63, .28);
  --ps-font: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

body {
  background-color: var(--ps-cloud);
  color: var(--ps-ink);
  font-family: var(--ps-font);
  font-weight: 400;
  line-height: 1.55; }

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--ps-midnight);
  font-weight: 600;
  letter-spacing: -0.03em;
  text-transform: none; }

a {
  color: var(--ps-ocean); }

a:hover {
  color: var(--ps-midnight); }

.navbar.bg-dark,
.navbar .bg-dark,
.fixed-menu.bg-dark,
footer .bg-dark {
  background-color: var(--ps-midnight) !important; }

.navbar h1 {
  display: flex;
  align-items: center;
  font-size: 1rem;
  margin-bottom: 0;
  text-align: left;
  letter-spacing: 0; }

#top-nav {
  min-height: 57px;
  border: 0; }

#top-nav .navbar-brand {
  display: flex;
  align-items: center;
  height: 40px; }

#top-nav .btn-group {
  display: flex;
  align-items: center;
  padding-top: 0 !important; }

#top-nav .btn-group > .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-left: 6px;
  padding: 0;
  border-radius: var(--ps-radius-sm) !important;
  float: none; }

footer {
  color: var(--ps-cloud) !important;
  border-top: 0; }

footer a {
  color: var(--ps-cloud); }

footer a:hover {
  color: var(--ps-mint); }

.page-header {
  background: var(--ps-midnight);
  color: var(--ps-cloud);
  border-bottom: 0;
  padding: 1.25rem 1.5rem 1rem; }

.page-header h1 {
  text-align: left;
  text-transform: none;
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--ps-cloud);
  margin-bottom: 0.75rem; }

.page-header .header-buttons {
  justify-content: flex-start; }

.page-header a:not(.ps-btn) {
  color: var(--ps-cloud); }

.page-header a:not(.ps-btn):hover {
  color: var(--ps-mint); }

.page-header p,
.page-header small {
  color: var(--ps-border); }

.page-header .ps-btn.ps-btn-info {
  background-color: var(--ps-cloud);
  color: var(--ps-midnight); }

.page-header .ps-btn.ps-btn-info:hover:not(:disabled):not(.disabled) {
  background-color: #fff;
  color: var(--ps-midnight); }

.ps-btn,
.btn {
  border-radius: var(--ps-radius-sm);
  font-weight: 600; }

.ps-btn,
a.ps-btn {
  background-color: var(--ps-mint);
  color: var(--ps-midnight);
  text-decoration: none;
  padding: 0.55rem 1rem; }

.ps-btn:hover:not(:disabled):not(.disabled),
a.ps-btn:hover {
  background-color: var(--ps-mint-hover);
  color: var(--ps-midnight);
  text-decoration: none; }

.ps-btn:focus,
.btn:focus {
  outline: 0;
  box-shadow: var(--ps-focus); }

.ps-btn.ps-btn-success,
.ps-btn.ps-btn-primary {
  background-color: var(--ps-mint);
  color: var(--ps-midnight); }

.ps-btn.ps-btn-info {
  background-color: var(--ps-ocean);
  color: var(--ps-cloud); }

.ps-btn.ps-btn-warning {
  background-color: var(--ps-amber);
  color: var(--ps-midnight); }

.ps-btn.ps-btn-danger {
  background-color: var(--ps-danger);
  color: #fff; }

.ps-btn.ps-btn-secondary {
  background-color: var(--ps-muted);
  color: #fff; }

.ps-btn.ps-btn-info:hover:not(:disabled):not(.disabled) {
  background-color: #102f40;
  color: var(--ps-cloud); }

.ps-btn.ps-btn-warning:hover:not(:disabled):not(.disabled) {
  background-color: var(--ps-amber-hover);
  color: var(--ps-midnight); }

.ps-btn.ps-btn-danger:hover:not(:disabled):not(.disabled) {
  background-color: var(--ps-danger-hover);
  color: #fff; }

.ps-btn.ps-btn-secondary:hover:not(:disabled):not(.disabled) {
  background-color: #4e5e66;
  color: #fff; }

.btn-primary,
.btn-success {
  background-color: var(--ps-mint);
  border-color: var(--ps-mint);
  color: var(--ps-midnight); }

.btn-primary:hover,
.btn-success:hover,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled):active {
  background-color: var(--ps-mint-hover);
  border-color: var(--ps-mint-hover);
  color: var(--ps-midnight); }

.btn-info {
  background-color: var(--ps-ocean);
  border-color: var(--ps-ocean);
  color: var(--ps-cloud); }

.btn-info:hover,
.btn-info:not(:disabled):not(.disabled):active {
  background-color: #102f40;
  border-color: #102f40;
  color: var(--ps-cloud); }

.btn-warning {
  background-color: var(--ps-amber);
  border-color: var(--ps-amber);
  color: var(--ps-midnight); }

.btn-warning:hover,
.btn-warning:not(:disabled):not(.disabled):active {
  background-color: var(--ps-amber-hover);
  border-color: var(--ps-amber-hover);
  color: var(--ps-midnight); }

.btn-danger {
  background-color: var(--ps-danger);
  border-color: var(--ps-danger);
  color: #fff; }

.btn-danger:hover,
.btn-danger:not(:disabled):not(.disabled):active {
  background-color: var(--ps-danger-hover);
  border-color: var(--ps-danger-hover);
  color: #fff; }

.btn-secondary {
  background-color: var(--ps-muted);
  border-color: var(--ps-muted);
  color: #fff; }

.btn-secondary:hover,
.btn-secondary:not(:disabled):not(.disabled):active {
  background-color: #4e5e66;
  border-color: #4e5e66;
  color: #fff; }

.btn-outline-primary {
  color: var(--ps-midnight);
  border-color: var(--ps-midnight);
  background-color: transparent; }

.btn-outline-primary:hover,
.btn-outline-primary:not(:disabled):not(.disabled):active {
  background-color: var(--ps-midnight);
  border-color: var(--ps-midnight);
  color: var(--ps-cloud); }

.btn-login {
  background-color: var(--ps-mint) !important;
  color: var(--ps-midnight) !important;
  border-radius: var(--ps-radius-sm); }

.btn-signup {
  background-color: var(--ps-cloud) !important;
  color: var(--ps-midnight) !important;
  border-radius: var(--ps-radius-sm); }

.btn-login:hover,
.btn-signup:hover {
  color: var(--ps-midnight) !important; }

.table {
  color: var(--ps-ink); }

.table thead th {
  color: var(--ps-muted);
  font-weight: 600;
  border-bottom-color: var(--ps-border); }

.table .thead-dark th {
  background-color: var(--ps-midnight);
  color: var(--ps-cloud);
  border-color: var(--ps-ocean);
  font-weight: 600; }

.table td,
.table th {
  border-top-color: var(--ps-border); }

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(243, 246, 244, 0.65); }

.card {
  background-color: #fff;
  border-color: var(--ps-border);
  border-radius: var(--ps-radius-sm); }

.modal-content {
  border-color: var(--ps-border);
  border-radius: var(--ps-radius-md); }

.bg-info {
  background-color: var(--ps-ocean) !important; }

.form-control {
  border-color: var(--ps-border);
  border-radius: var(--ps-radius-sm);
  color: var(--ps-ink);
  background-color: #fff; }

.form-control:focus {
  border-color: var(--ps-ocean);
  box-shadow: var(--ps-focus); }

.alert-success {
  background-color: #e7f8f0;
  border-color: #b7ead4;
  color: var(--ps-midnight); }

.alert-info {
  background-color: #e7eef2;
  border-color: #c5d5de;
  color: var(--ps-midnight); }

.alert-warning {
  background-color: #fdf3e3;
  border-color: var(--ps-amber);
  color: var(--ps-midnight); }

.alert-danger,
.alert-error {
  background-color: #fdecea;
  border-color: #f5c6c2;
  color: #7a241c; }

.alert-error hr {
  border-top-color: #f0b4ae; }

.alert-error .alert-link {
  color: #7a241c; }

.page-link {
  color: var(--ps-ocean);
  border-color: var(--ps-border); }

.page-link:hover {
  background-color: var(--ps-cloud);
  color: var(--ps-midnight);
  border-color: var(--ps-border); }

.page-link:focus {
  box-shadow: var(--ps-focus); }

.page-item.active .page-link {
  background-color: var(--ps-midnight);
  border-color: var(--ps-midnight);
  color: var(--ps-cloud); }

.dropdown-menu {
  border-color: var(--ps-border);
  border-radius: var(--ps-radius-sm);
  box-shadow: var(--ps-shadow-soft); }

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--ps-cloud);
  color: var(--ps-midnight); }

.popover {
  font-family: var(--ps-font);
  border-color: var(--ps-border); }

.movement-partial-detail .card {
  border-width: 2px;
  border-style: solid; }

.movement-partial-detail .movement-detail-gain {
  border-color: var(--ps-gain); }

.movement-partial-detail .movement-detail-loss {
  border-color: var(--ps-danger); }

.movement-partial-detail .movement-detail-transfer {
  border-color: var(--ps-ocean); }

.movement-partial-detail .card-header {
  background: #fff;
  border-bottom-color: var(--ps-border); }

.movement-partial-detail .movement-kind {
  display: inline-block;
  font-style: normal;
  font-weight: 600;
  margin-bottom: 0.35rem; }

.movement-partial-detail .ps-amount,
.movement-partial-detail .movement-kind {
  font-weight: 600; }

.movement-partial-detail .ps-amount-gain,
.movement-partial-detail .movement-kind.ps-amount-gain {
  color: var(--ps-gain); }

.movement-partial-detail .ps-amount-loss,
.movement-partial-detail .movement-kind.ps-amount-loss {
  color: var(--ps-danger); }

.popover.ps-popover {
  background: var(--ps-ocean);
  border-color: var(--ps-ocean);
  color: var(--ps-cloud);
  max-width: min(36rem, calc(100vw - 2rem)); }

.popover.ps-popover .popover-body,
.popover.ps-popover .card,
.popover.ps-popover .card-body,
.popover.ps-popover .card-title,
.popover.ps-popover .card-footer,
.popover.ps-popover .text-black {
  background: transparent !important;
  color: var(--ps-cloud) !important;
  border-color: transparent; }

.popover.ps-popover .card-footer {
  border-top: 1px solid rgba(243, 246, 244, 0.25); }

.popover.ps-popover .ps-amount-gain {
  color: var(--ps-mint) !important;
  font-weight: 600; }

.popover.ps-popover .ps-amount-loss {
  color: #ffb4a8 !important;
  font-weight: 600; }

.popover.ps-popover.bs-popover-top > .arrow::before,
.popover.ps-popover.bs-popover-auto[x-placement^="top"] > .arrow::before,
.popover.ps-popover.bs-popover-top > .arrow::after,
.popover.ps-popover.bs-popover-auto[x-placement^="top"] > .arrow::after {
  border-top-color: var(--ps-ocean); }

.popover.ps-popover.bs-popover-right > .arrow::before,
.popover.ps-popover.bs-popover-auto[x-placement^="right"] > .arrow::before,
.popover.ps-popover.bs-popover-right > .arrow::after,
.popover.ps-popover.bs-popover-auto[x-placement^="right"] > .arrow::after {
  border-right-color: var(--ps-ocean); }

.popover.ps-popover.bs-popover-bottom > .arrow::before,
.popover.ps-popover.bs-popover-auto[x-placement^="bottom"] > .arrow::before,
.popover.ps-popover.bs-popover-bottom > .arrow::after,
.popover.ps-popover.bs-popover-auto[x-placement^="bottom"] > .arrow::after {
  border-bottom-color: var(--ps-ocean); }

.popover.ps-popover.bs-popover-left > .arrow::before,
.popover.ps-popover.bs-popover-auto[x-placement^="left"] > .arrow::before,
.popover.ps-popover.bs-popover-left > .arrow::after,
.popover.ps-popover.bs-popover-auto[x-placement^="left"] > .arrow::after {
  border-left-color: var(--ps-ocean); }

.demo-launch-btn {
  box-shadow: none;
  border: 0;
  letter-spacing: 0; }

.home-hero {
  background: var(--ps-midnight);
  color: var(--ps-cloud);
  padding: 4.5rem 1rem 3rem; }

.home-logo {
  width: min(420px, 92%);
  height: auto; }

.home-tagline {
  color: var(--ps-cloud);
  font-weight: 600;
  font-size: 1.25rem;
  letter-spacing: -0.02em; }

.home-band,
.home-band-alt,
.home-cta {
  background: #fff;
  color: var(--ps-ink);
  max-width: 1100px;
  margin: 1.25rem auto;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  border-radius: var(--ps-radius-md);
  box-shadow: var(--ps-shadow-soft); }

.home-midnight {
  background: var(--ps-midnight);
  color: var(--ps-cloud);
  padding-top: 2.5rem;
  padding-bottom: 2.5rem; }

.home-midnight h1,
.home-midnight h2,
.home-midnight h3,
.home-midnight h4,
.home-midnight p {
  color: var(--ps-cloud); }

.home-back {
  background: var(--ps-ocean);
  color: var(--ps-cloud);
  padding: 0.45rem 0;
  font-size: 0.85rem; }

a[href="#Top"] {
  color: var(--ps-cloud);
  text-decoration: none; }

a[href="#Top"]:hover {
  color: var(--ps-mint); }

.report-output td.ps-amount-gain,
.report-output td.ps-amount-gain a {
  color: var(--ps-gain);
  font-weight: 600; }

.report-output td.ps-amount-loss,
.report-output td.ps-amount-loss a {
  color: var(--ps-danger);
  font-weight: 600; }

.report-output .report-section-label {
  color: var(--ps-midnight);
  font-weight: 700;
  letter-spacing: 0.06em;
  padding-top: 1.25rem; }

tr.report-partial-row.table-success > td,
tr.report-partial-row.table-danger > td {
  background-color: #fff !important;
  color: var(--ps-ink); }

tr.account-partial-row.table-success > td,
tr.account-partial-row.table-danger > td,
tr.account-partial-row.table-info > td,
tr.account-partial-row.table-secondary > td,
tr.movement-partial-row.table-success > td,
tr.movement-partial-row.table-danger > td,
tr.institution-partial-row.table-success > td,
tr.institution-partial-row.table-info > td,
tr.recurring_movement-partial-row.table-success > td,
tr.recurring_movement-partial-row.table-danger > td {
  background-color: #fff !important;
  color: var(--ps-ink); }

tr.movement-partial-row.table-success > td.ps-amount,
tr.recurring_movement-partial-row.table-success > td.ps-amount,
tr.account-partial-row > td.ps-amount.ps-amount-gain,
tr.instrument-partial-row > td.ps-amount.ps-amount-gain {
  color: var(--ps-gain);
  font-weight: 600; }

tr.movement-partial-row.table-danger > td.ps-amount,
tr.recurring_movement-partial-row.table-danger > td.ps-amount,
tr.account-partial-row > td.ps-amount.ps-amount-loss,
tr.instrument-partial-row > td.ps-amount.ps-amount-loss {
  color: var(--ps-danger);
  font-weight: 600; }

tr.movement-partial-row.table-success > td:last-child,
tr.recurring_movement-partial-row.table-success > td:last-child,
tr.account-partial-row:has(> td.ps-amount-gain) > td:last-child {
  box-shadow: inset -3px 0 0 var(--ps-mint); }

tr.movement-partial-row.table-danger > td:last-child,
tr.recurring_movement-partial-row.table-danger > td:last-child,
tr.account-partial-row:has(> td.ps-amount-loss) > td:last-child {
  box-shadow: inset -3px 0 0 var(--ps-danger); }

tr.instrument-partial-row > td {
  background-color: #fff !important;
  color: var(--ps-ink); }

tr.instrument-partial-row:has(> td.ps-amount-gain) > td:last-child {
  box-shadow: inset -3px 0 0 var(--ps-mint); }

tr.instrument-partial-row:has(> td.ps-amount-loss) > td:last-child {
  box-shadow: inset -3px 0 0 var(--ps-danger); }

tr.recurring_movement-partial-row.background-blinking > td {
  animation: ps-due 1.6s ease-in-out infinite alternate;
  background-color: #fdf6ea !important; }

@keyframes ps-due {
  to {
    background-color: #f3e0bf; } }

li.tags {
  color: var(--ps-midnight) !important;
  background-color: #e7f8f0 !important;
  border: 1px solid var(--ps-mint);
  border-radius: 999px;
  margin: 0.3rem;
  padding: 0.35rem 0.8rem; }

li.tags a,
li.tags .text-white {
  color: var(--ps-midnight) !important; }

input.tags,
.form-control.tags {
  color: var(--ps-midnight) !important;
  background-color: #e7f8f0 !important;
  border: 1px solid var(--ps-mint) !important;
  border-radius: 999px !important; }

input.tags::placeholder,
.form-control.tags::placeholder {
  color: var(--ps-muted) !important;
  opacity: 1 !important; }

tr.movement-partial-row.table-success > td.ps-amount a,
tr.recurring_movement-partial-row.table-success > td.ps-amount a,
td.ps-amount.ps-amount-gain a {
  color: var(--ps-gain);
  font-weight: 600; }

tr.movement-partial-row.table-danger > td.ps-amount a,
tr.recurring_movement-partial-row.table-danger > td.ps-amount a,
td.ps-amount.ps-amount-loss a {
  color: var(--ps-danger);
  font-weight: 600; }

.checkbox-label {
  background: var(--ps-muted); }

.checkbox-label:before {
  background: var(--ps-cloud);
  box-shadow: 0 3px 3px rgba(16, 43, 63, 0.2), 0 0 0 2px var(--ps-muted); }

.checkbox-label:after {
  color: var(--ps-cloud); }

.ios-toggle:checked + .checkbox-label {
  background: var(--ps-mint); }

.ios-toggle:checked + .checkbox-label:before {
  background: #fff;
  box-shadow: 0 3px 3px rgba(16, 43, 63, 0.2), 0 0 0 2px var(--ps-mint); }

.ios-toggle:checked + .checkbox-label:after {
  color: var(--ps-midnight); }

.in-field-button {
  background-color: var(--ps-midnight); }

tr .fa-star.text-warning {
  color: var(--ps-gain) !important; }

.card-header.bg-success,
.card-header.bg-danger,
.card-header.bg-info {
  background-color: var(--ps-midnight) !important;
  color: var(--ps-cloud); }

.card-header.bg-dark {
  background-color: var(--ps-midnight) !important;
  color: var(--ps-cloud); }

.card-header.bg-success h1,
.card-header.bg-success h2,
.card-header.bg-success h3,
.card-header.bg-success h4,
.card-header.bg-danger h1,
.card-header.bg-danger h2,
.card-header.bg-danger h3,
.card-header.bg-danger h4,
.card-header.bg-info h1,
.card-header.bg-info h2,
.card-header.bg-info h3,
.card-header.bg-info h4,
.card-header.bg-dark h1,
.card-header.bg-dark h2,
.card-header.bg-dark h3,
.card-header.bg-dark h4,
.card-header.bg-success a,
.card-header.bg-danger a,
.card-header.bg-info a,
.card-header.bg-dark a {
  color: var(--ps-cloud); }

.card-header .fa-star.text-warning {
  color: var(--ps-mint) !important; }

.home-dashboard {
  background: var(--ps-ocean);
  margin-left: -15px;
  margin-right: -15px;
  padding: 1rem 15px 2rem; }

.home-chapter-row {
  margin-bottom: 1.5rem; }

.home-chapter {
  background: var(--ps-cloud);
  border: 1px solid var(--ps-border);
  border-top: 4px solid var(--ps-muted);
  border-radius: var(--ps-radius-sm);
  margin-top: 0.35rem;
  margin-bottom: 0.35rem; }

a.home-chapter-assets {
  color: var(--ps-gain);
  border-top-color: var(--ps-gain); }

a.home-chapter-liabilities {
  color: var(--ps-danger);
  border-top-color: var(--ps-danger); }

a.home-chapter-net {
  color: var(--ps-midnight);
  border-top-color: var(--ps-mint); }

.home-chapter h2 {
  color: inherit; }

.home-account-group {
  background: transparent;
  color: var(--ps-cloud); }

.home-account-group h4,
.home-account-group a {
  color: var(--ps-cloud); }

a.home-account-card {
  background: var(--ps-cloud) !important;
  color: var(--ps-ink);
  border: 1px solid var(--ps-border);
  border-radius: var(--ps-radius-sm);
  margin: 0.55rem !important; }

a.home-account-card h4 {
  color: var(--ps-midnight); }

a.home-account-card-gain {
  border-color: var(--ps-gain);
  color: var(--ps-gain); }

a.home-account-card-loss {
  border-color: var(--ps-danger);
  color: var(--ps-danger); }

.toggle-btn-colors {
  background: var(--ps-cloud);
  color: var(--ps-ink);
  border: 1px solid var(--ps-border);
  border-radius: var(--ps-radius-sm); }

.toggle-btn-colors:hover {
  background: #fff;
  color: var(--ps-midnight); }

.toggle-btn-colors.report-selected,
.toggle-btn-colors.report-selected:hover {
  background: var(--ps-midnight);
  color: var(--ps-cloud);
  border-color: var(--ps-midnight); }

.toggle-btn-colors.report-selected small {
  color: var(--ps-mint) !important; }
