/* AkasyahFinance Fintech theme: navy navigation, white surfaces, green accents. */
:root {
  color-scheme: light;
  --app-bg: #f4f7fb;
  --panel: #ffffff;
  --panel-raised: #ffffff;
  --panel-hover: #f5f8fc;
  --sidebar-bg: #14233f;
  --line: #e1e7ef;
  --line-soft: #e8edf4;
  --text: #17243a;
  --text-soft: #627089;
  --text-muted: #8a96a9;
  --green: #138653;
  --green-strong: #169b5b;
  --green-dark: #e6f6ed;
  --red: #c83d4d;
  --amber: #a96d10;
  --radius: 16px;
  --sidebar-width: 264px;
}

html { background: var(--app-bg); color-scheme: light; }
body, .app-body { background: var(--app-bg); color: var(--text); }
* { scrollbar-color: #c4cfdd #edf1f6; }
a { color: #138653; }
a:hover { color: #0b6d40; }
::selection { color: #fff; background: #138653; }

/* Sidebar: deep navy, high contrast, green active state. */
.app-sidebar { background: #14233f; border-right: 1px solid #243654; box-shadow: 8px 0 28px #172b4610; }
.brand-lockup, .auth-brand { color: #fff; }
.brand-lockup:hover, .auth-brand:hover { color: #fff; }
.brand-mark { background: linear-gradient(145deg, #8ee9b3, #20a967); box-shadow: 0 5px 18px #20a96730; }
.brand-mark-inner { border-color: #103b28; }
.brand-mark-inner::after { border-color: #103b28; background: #8ee9b3; }
.brand-copy small, .auth-brand small { color: #a7b6cc; }
.sidebar-close { color: #c5d0df; }
.workspace-switcher { border-color: #2c4162; background: #1b2e4d; }
.workspace-icon { background: #244c43; color: #82e5ae; }
.workspace-copy small { color: #9eafc7; }
.workspace-copy strong { color: #f4f7fc; }
.workspace-change { color: #b8c5d8; }
.nav-section-label { color: #92a4bf; }
.side-link { color: #c0ccdc; }
.side-link:hover { color: #fff; background: #203655; }
.side-link.active { color: #b8f4d0; border-color: #285a4a; background: linear-gradient(90deg, #214b3e, #1b3d37); }
.side-link.active::before { background: #45d18b; }
.side-icon { color: #a0b1c8; }
.side-link.active .side-icon { color: #83e5ad; }
.sidebar-tip { border-color: #2c4e4a; background: linear-gradient(140deg, #1c3d3a, #1a3040); }
.tip-spark { color: #7ce3a8; }
.sidebar-tip strong { color: #e5fff0; }
.sidebar-tip small { color: #b3c8d1; }
.sidebar-user { border-top-color: #2c3d59; }
.user-avatar { border-color: #3a8166; background: #244e47; color: #baf3d0; }
.user-details strong { color: #f2f6fb; }
.user-details small { color: #a1b1c6; }
.logout-button { color: #aebdd0; }
.logout-button:hover { border-color: #71404b; background: #472c3a; color: #ffc1c9; }

/* Main header and content canvas. */
.app-main-wrap { background: var(--app-bg); }
.app-topbar { border-bottom-color: #e2e8f0; background: #ffffffed; box-shadow: 0 4px 18px #20324a08; }
.topbar-eyebrow { color: #78869c; }
.topbar-eyebrow span { color: #b5bfce; }
.topbar-heading h1 { color: #17243a; }
.topbar-actions { color: #52617a; }
.system-status { color: #65738a; }
.system-status > span { background: #19a563; box-shadow: 0 0 0 4px #19a56318; }
.topbar-switch { border-color: #dce4ee; color: #5c6b82; background: #fff; }
.topbar-switch:hover { border-color: #9ddbb9; background: #effaf3; color: #138653; }
.mobile-menu-toggle { border-color: #dbe3ed; background: #fff; }
.mobile-menu-toggle span { background: #263a57; }
.app-content { color: var(--text); }
.app-footer { border-top-color: #e0e7f0; color: #8490a3; }
.app-fab { border-color: #149858; background: #169b5b; box-shadow: 0 10px 28px #168b512b, 0 0 0 5px #169b5b12; color: #fff; }
.app-fab:hover { background: #11824b; box-shadow: 0 12px 32px #168b5135, 0 0 0 6px #169b5b1c; color: #fff; }

/* Existing MVC pages inherit the light theme without changing their Razor logic. */
.card, .modal-content, .dropdown-menu, .list-group-item { border-color: #e1e7ef !important; background-color: #fff; color: #17243a; }
.card { border: 1px solid #e1e7ef; border-radius: var(--radius); box-shadow: 0 5px 22px #243b5708; }
.card-header, .card-footer { border-color: #e5eaf1 !important; background: #f8fafc; color: #26354c; }
.card-body { color: #26354c; }
.table { --bs-table-color: #26354c; --bs-table-bg: transparent; --bs-table-border-color: #e6ebf2; --bs-table-striped-color: #26354c; --bs-table-striped-bg: #f7f9fc; --bs-table-hover-color: #17243a; --bs-table-hover-bg: #edf8f1; color: #26354c; }
.table > :not(caption) > * > * { padding: .78rem .85rem; border-bottom-color: #e6ebf2; }
.table thead th { color: #627089; background: #f7f9fc; font-size: 11px; font-weight: 800; white-space: nowrap; }
.table-responsive { border: 1px solid #e1e7ef; border-radius: 13px; background: #fff; }
.form-control, .form-select, .input-group-text { border-color: #d5deea; background-color: #fff; color: #24334b; }
.form-control::placeholder { color: #9aa6b8; }
.form-control:focus, .form-select:focus { border-color: #54b982; background-color: #fff; color: #17243a; box-shadow: 0 0 0 .2rem #169b5b1b; }
.form-select option { background: #fff; color: #24334b; }
.form-label, .form-check-label { color: #465670; }
.form-text, .text-muted { color: #7c899d !important; }
.form-check-input { border-color: #bdc9d8; background-color: #fff; }
.form-check-input:checked { border-color: #169b5b; background-color: #169b5b; }
.btn { border-radius: 9px; font-weight: 650; transition: transform .12s ease, background-color .12s ease, border-color .12s ease; }
.btn:active { transform: translateY(1px); }
.btn-primary, .btn-success { border-color: #169b5b; background: #169b5b; color: #fff; }
.btn-primary:hover, .btn-success:hover { border-color: #11824b; background: #11824b; color: #fff; }
.btn-outline-primary, .btn-outline-success { border-color: #169b5b; color: #138653; }
.btn-outline-primary:hover, .btn-outline-success:hover { border-color: #138653; background: #e8f7ee; color: #0b6d40; }
.btn-light { border-color: #dbe3ed; background: #f7f9fc; color: #34445d; }
.btn-light:hover { border-color: #c8d4e2; background: #edf2f8; color: #17243a; }
.btn-secondary { border-color: #d5deea; background: #e9eef5; color: #34445d; }
.btn-secondary:hover { border-color: #c6d2e1; background: #dce5ef; color: #17243a; }
.btn-outline-secondary { border-color: #ccd6e3; color: #5a6980; }
.btn-outline-secondary:hover { background: #eef2f7; color: #253650; }
.btn-danger { border-color: #c83d4d; background: #c83d4d; color: #fff; }
.btn-outline-danger { border-color: #d77882; color: #b42f40; }
.btn-outline-danger:hover { background: #fff0f1; color: #982434; }
.btn-link { color: #138653; }
.dropdown-menu { padding: 6px; border: 1px solid #e1e7ef; border-radius: 12px; box-shadow: 0 15px 38px #1c2d4617; }
.dropdown-item { padding: 8px 11px; border-radius: 7px; color: #34445d; }
.dropdown-item:hover, .dropdown-item:focus { background: #edf8f1; color: #138653; }
.modal-header, .modal-footer { border-color: #e1e7ef; }
.modal-backdrop { --bs-backdrop-bg: #15233b; }
.alert { border-radius: 12px; }
.alert-success { border-color: #b8e4c8; background: #edf9f1; color: #17663e; }
.alert-danger { border-color: #f0c4c9; background: #fff1f2; color: #a32939; }
.alert-warning { border-color: #f0d8a7; background: #fff8e8; color: #80540e; }
.alert-info { border-color: #c5dff2; background: #eff8ff; color: #205d88; }
.text-danger, .field-validation-error, .validation-summary-errors { color: #b92e40 !important; }
.app-alert { display: flex; align-items: center; gap: 11px; padding: 12px 14px; border: 1px solid #e1e7ef; background: #fff; color: #26354c; box-shadow: 0 4px 14px #1d304408; }
.app-alert > span { display: grid; place-items: center; width: 24px; height: 24px; flex: 0 0 24px; border-radius: 50%; font-weight: 800; }
.app-alert > div { flex: 1; }
.app-alert-success { border-color: #b8e4c8; background: #f0faf4; }
.app-alert-success > span { background: #d8f2e2; color: #138653; }
.app-alert-danger { border-color: #f0c4c9; background: #fff4f5; }
.app-alert-danger > span { background: #ffe0e4; color: #b92e40; }
.alert-dismiss { margin-left: auto; border: 0; background: transparent; color: inherit; font-size: 20px; }
.badge.text-bg-success, .bg-success-subtle { background: #dff5e7 !important; color: #17663e !important; }
.badge.text-bg-danger, .bg-danger-subtle { background: #fde7e9 !important; color: #a32939 !important; }
.badge.text-bg-warning, .bg-warning-subtle { background: #fff2d3 !important; color: #80540e !important; }
.border, .border-top, .border-bottom, .border-start, .border-end { border-color: #e1e7ef !important; }
.bg-light { background-color: #f5f8fc !important; }
.bg-white { background-color: #fff !important; }
.text-dark { color: #17243a !important; }
hr { border-color: #dfe6ef; opacity: 1; }
.breadcrumb-item, .breadcrumb-item a { color: #738198; }
.breadcrumb-item.active { color: #26354c; }
.pagination { --bs-pagination-bg: #fff; --bs-pagination-color: #52617a; --bs-pagination-border-color: #dce4ee; --bs-pagination-hover-bg: #edf8f1; --bs-pagination-hover-color: #138653; --bs-pagination-hover-border-color: #b8e4c8; --bs-pagination-active-bg: #169b5b; --bs-pagination-active-border-color: #169b5b; --bs-pagination-disabled-bg: #f5f7fa; --bs-pagination-disabled-color: #a2adbd; --bs-pagination-disabled-border-color: #e1e7ef; }
.bar-track { background: #e7edf4; border-radius: 5px; height: 10px; overflow: hidden; }
.bar-fill { height: 100%; }
.amount-in { color: #138653 !important; }
.amount-out { color: #c83d4d !important; }
.stat-value { color: #17243a; font-size: 1.35rem; font-weight: 800; }
.table td, .table th { vertical-align: middle; }
:focus-visible { outline: 2px solid #169b5b; outline-offset: 3px; }

/* Authentication and onboarding remain clean and on-brand. */
.auth-shell { background: radial-gradient(ellipse at 50% 0%, #e2f6e9 0%, #f4f7fb 52%); color: #17243a; }
.auth-shell .card { border-color: #e1e7ef !important; box-shadow: 0 18px 60px #1c355512; }
.auth-shell > .card, .auth-shell > form, .auth-shell > .container, .auth-shell > section, .auth-shell > .row { color: #26354c; }

@media (max-width: 991.98px) {
  .app-sidebar { box-shadow: 20px 0 60px #12213c35; }
  .sidebar-backdrop { background: #10203a75; }
}
@media (max-width: 575.98px) {
  .app-content { padding: 19px 14px 20px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
