/* Halaga contrast pass — WCAG-oriented visual overrides for the authenticated app. */
#appView{--theme-fg:#17313b;--theme-muted:#4f6873;--theme-line:#c7d5dc;--theme-primary:#087a4f;--theme-primary-strong:#05643f;--theme-info:#185f9d;--theme-danger:#9f2938;--theme-warning:#725000}
#appView .muted,#appView .sub,#appView .hero p{color:#4f6873!important}
#appView .field label,#appView .label{color:#405a65!important}
#appView .sidebar{color:#e7f0f3}
#appView .brand,#appView .brand h2{color:#f3f8fa!important}
#appView .brand small{color:#b7cbd0!important}
#appView .nav button{color:#c4d2d7!important}
#appView .nav button:hover{background:#173b31;color:#f4faf7!important}
#appView .nav button.active{background:#07543f;color:#ffffff!important;border-color:#25a978}
#appView .nav button.active .icon,#appView .nav button.active .icon-svg{color:#70e5b2!important}
#appView .nav .icon,#appView .nav .icon-svg{color:#9db4bc!important}
#appView .nav-label{color:#9eb7ad!important}
#appView .nav-group.has-active>.nav-group-toggle{background:#173b31;color:#f0f7f4!important}
#appView .sidebar-search{background:#102b24;color:#edf7f3;border-color:#386052}
#appView .sidebar-search::placeholder{color:#b1c5c0}
#appView .sidebar-search-icon{color:#b9cbc8!important}
#appView .topbar{color:#25414b}
#appView .topbar .muted,#appView .topbar small{color:#526b76!important}
#appView .sync-status{color:#3d5863}
#appView .sync-status.online{color:#075d3c;background:#e2f6ed;border-color:#9bd7bd}
#appView .sync-status.offline{color:#654800;background:#fff5cf;border-color:#dfc66f}
#appView .sync-status.syncing{color:#164f83;background:#e5f0fb;border-color:#aac8e5}
#appView .sync-status.pending{color:#573a91;background:#f0e8ff;border-color:#c9b8eb}
#appView input,#appView select,#appView textarea{color:#17313b;border-color:#b8cbd3}
#appView input::placeholder,#appView textarea::placeholder{color:#5d737d;opacity:1}
#appView input:focus,#appView select:focus,#appView textarea:focus{border-color:#087a4f;box-shadow:0 0 0 3px rgba(8,122,79,.16)}
#appView .btn-primary{background:#087a4f;color:#fff}
#appView .btn-primary:hover:not(:disabled){background:#05643f}
#appView .btn-secondary{background:#e3ece9;color:#23483d;border:1px solid #bfd2cb}
#appView .btn-secondary:hover:not(:disabled){background:#d3e2dd}
#appView .link{color:#185f9d}
#appView .notice.error{color:#8f2432;background:#fff0f2;border-color:#e4b7be}
#appView .notice.ok{color:#075d3c;background:#e2f6ed;border-color:#9bd7bd}
#appView .notice.warn{color:#654800;background:#fff5cf;border-color:#dfc66f}
#appView .table th{color:#3e5964;background:#f1f5f7}
#appView .table td{color:#25414b}
#appView .pill.income,#appView .pill.active{background:#dff5ea;color:#075d3c}
#appView .pill.expense{background:#ffe8eb;color:#8f2432}
#appView .pill.locked{background:#fff1c9;color:#654800}
#appView .side-account{border-color:#2b5548}
#appView .side-account-btn{color:#dbe7ea!important}
#appView .side-account-name small{color:#b7cbd0!important}
#appView .close{background:#e3ecef;color:#29434d;border:1px solid #b9cbd2}
#appView .toast{background:#102a36;color:#f4fafb}
body.dark #appView{--theme-fg:#edf5f7;--theme-muted:#b4c7ce;--theme-line:#36505c;--theme-primary:#36d88d;--theme-primary-strong:#24bd75}
body.dark #appView .muted,body.dark #appView .sub,body.dark #appView .hero p{color:#b4c7ce!important}
body.dark #appView .field label,body.dark #appView .label{color:#c2d2d7!important}
body.dark #appView .nav button{color:#c5d4d9!important}
body.dark #appView .nav button:hover{background:#183d32;color:#f5fbf8!important}
body.dark #appView .nav button.active{background:#07543f;color:#fff!important;border-color:#36d88d}
body.dark #appView .nav .icon,body.dark #appView .nav .icon-svg{color:#a7bdc5!important}
body.dark #appView .nav-label{color:#a8c0b6!important}
body.dark #appView .sidebar-search{background:#102b24;color:#edf7f3;border-color:#46675d}
body.dark #appView .sidebar-search::placeholder{color:#b9cbc7}
body.dark #appView .topbar{color:#e5eef1}
body.dark #appView .topbar .muted,body.dark #appView .topbar small{color:#b8c9cf!important}
body.dark #appView input,body.dark #appView select,body.dark #appView textarea{background:#0d1d25;color:#edf5f7;border-color:#46616d}
body.dark #appView input::placeholder,body.dark #appView textarea::placeholder{color:#9fb4bc;opacity:1}
body.dark #appView .btn-secondary{background:#203a31;color:#e4f2ec;border-color:#416b5b}
body.dark #appView .link{color:#9dccf4}
body.dark #appView .table th{color:#c2d2d7;background:#11242d}
body.dark #appView .table td{color:#dce8eb}
body.dark #appView .close{background:#21353e;color:#e7f1f4;border-color:#46616d}
body.dark #appView .side-account{border-color:#365d51}
body.dark #appView .side-account-btn{color:#e1ecef!important}
body.dark #appView .side-account-name small{color:#b8cbd1!important}
#appView :focus-visible{outline:3px solid #0b8d5c;outline-offset:3px}
body.dark #appView :focus-visible{outline-color:#5ee8a8}
@media(forced-colors:active){#appView *{forced-color-adjust:auto}}
/* Auth / pre-login surfaces in index.html */
.auth-intro p{color:#4b6270!important}
.auth-intro h2{color:#18313f!important}
.auth-points span{background:#e1f5eb;color:#075d3c}
.field label{color:#405a65!important}
.auth-card .link,.link{color:#185f9d}
.password-toggle{color:#4f6873}
.password-toggle:hover{background:#e4ecef;color:#243d47}
.notice.error{color:#8f2432;background:#fff0f2;border-color:#e4b7be}
.notice.ok{color:#075d3c;background:#e2f6ed;border-color:#9bd7bd}
.notice.warn{color:#654800;background:#fff5cf;border-color:#dfc66f}
body.dark .auth-intro p{color:#4b6270!important}
body.dark .field label{color:#405a65!important}
body.dark .auth-card .link{color:#185f9d}
body.dark .password-toggle{color:#4f6873}
