@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{font-family:Inter,Segoe UI,sans-serif;color-scheme:light;--app-bg: #f6f8fc;--app-surface: #ffffff;--app-surface-muted: #f8fafc;--app-surface-elevated: #ffffff;--app-border: #e2e8f0;--app-border-strong: #cbd5e1;--app-text: #172033;--app-muted: #64748b;--app-title: #172033;--app-accent: #4f46e5;--app-accent-fill: #4f46e5;--app-accent-strong: #4338ca;--app-accent-soft: rgba(79, 70, 229, .09);--app-accent-soft-border: rgba(79, 70, 229, .22);--app-positive: #15803d;--app-positive-soft: rgba(21, 128, 61, .09);--app-receivable: #0f766e;--app-receivable-soft: rgba(15, 118, 110, .1);--app-payable: #7c3aed;--app-payable-soft: rgba(124, 58, 237, .1);--app-negative: #b91c1c;--app-negative-soft: rgba(185, 28, 28, .09);--app-warning: #b45309;--app-warning-soft: rgba(180, 83, 9, .1);--app-focus: #4f46e5;--app-sidebar-bg: #101827;--app-sidebar-surface: #172033;--app-sidebar-text: #cbd5e1;--app-radius-control: 11px;--app-radius-card: 16px;--app-radius-overlay: 20px;--app-shadow: 0 1px 3px rgba(15, 23, 42, .055), 0 1px 2px rgba(15, 23, 42, .035);--app-shadow-raised: 0 12px 28px rgba(15, 23, 42, .08);--app-shadow-overlay: 0 22px 60px rgba(15, 23, 42, .18)}[data-bs-theme=dark]{color-scheme:dark;--app-bg: #0b1220;--app-surface: #111b2e;--app-surface-muted: #17233a;--app-surface-elevated: #1a2943;--app-border: #29364d;--app-border-strong: #3b4a65;--app-text: #f1f5f9;--app-muted: #94a3b8;--app-title: #f8fafc;--app-accent: #a5b4fc;--app-accent-fill: #6366f1;--app-accent-strong: #4f46e5;--app-accent-soft: rgba(129, 140, 248, .14);--app-accent-soft-border: rgba(165, 180, 252, .28);--app-positive: #4ade80;--app-positive-soft: rgba(74, 222, 128, .12);--app-receivable: #2dd4bf;--app-receivable-soft: rgba(45, 212, 191, .13);--app-payable: #c4b5fd;--app-payable-soft: rgba(167, 139, 250, .14);--app-negative: #f87171;--app-negative-soft: rgba(248, 113, 113, .13);--app-warning: #fbbf24;--app-warning-soft: rgba(251, 191, 36, .13);--app-focus: #a5b4fc;--app-sidebar-bg: #080f1d;--app-sidebar-surface: #111b2e;--app-shadow: 0 1px 3px rgba(2, 6, 23, .34);--app-shadow-raised: 0 14px 32px rgba(2, 6, 23, .34);--app-shadow-overlay: 0 24px 64px rgba(2, 6, 23, .56)}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,Segoe UI,sans-serif;color:var(--app-text);background:var(--app-bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.text-muted{color:var(--app-muted)!important}.app-shell{min-height:100vh;display:flex}.app-sidebar{width:244px;padding:16px 0 16px 16px}.app-sidebar-inner{position:sticky;top:16px;height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius-overlay);box-shadow:var(--app-shadow);overflow:hidden}.app-brand{display:flex;align-items:center;gap:12px;padding:20px 18px 16px}.brand-mark{display:block;flex-shrink:0;border-radius:inherit}.app-brand-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;overflow:hidden;flex-shrink:0}.app-brand-title{font-size:1rem;font-weight:750;color:var(--app-title)}.app-brand-subtitle{margin-top:2px;font-size:.76rem;color:var(--app-muted)}.app-sidebar-scroll{min-height:0;overflow-y:auto;scrollbar-width:thin}.app-nav{--bs-list-group-bg: transparent;display:flex;min-height:100%;flex-direction:column;gap:15px}.app-nav-group{display:grid;gap:4px}.app-nav-footer{margin-top:auto}.app-nav-label{padding:0 12px 4px;color:var(--app-muted);font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.app-nav .list-group-item{background:transparent;border:0;border-radius:var(--app-radius-control);margin-bottom:2px;padding:9px 11px;color:var(--app-muted);font-size:.88rem;font-weight:550}.app-nav .list-group-item:hover{background:var(--app-surface-muted);color:var(--app-title)}.app-nav .list-group-item.active{background:var(--app-accent-soft);color:var(--app-accent);font-weight:700}.app-nav .list-group-item i{width:18px;text-align:center}.app-nav-count{min-width:22px;padding:2px 6px;border-radius:999px;background:#d143431a;color:var(--app-negative);font-size:.68rem;font-weight:750;text-align:center}.app-main{flex:1;display:flex;flex-direction:column;gap:20px;min-width:0;padding:16px 24px 32px}.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:0;background:transparent}.app-topbar-brand{display:inline-flex;align-items:center;gap:10px;font-size:1rem;font-weight:650;color:var(--app-title)}.app-content{flex:1;width:100%;max-width:1440px;margin:0 auto}.app-search-trigger{width:min(340px,32vw);min-height:40px;align-items:center;gap:10px;padding:0 11px;border:1px solid var(--app-border);border-radius:var(--app-radius-control);background:var(--app-surface);color:var(--app-muted);text-align:left;box-shadow:var(--app-shadow)}.app-search-trigger span{flex:1}.app-search-trigger kbd{font-size:.7rem}.btn{border-radius:var(--app-radius-control);font-weight:650}.btn-primary{background:var(--app-accent);border-color:var(--app-accent)}.btn-primary:hover,.btn-primary:focus-visible,.btn-primary:active{background:var(--app-accent-strong);border-color:var(--app-accent-strong)}.btn-outline-primary,.btn-outline-secondary{background:transparent;border-color:var(--app-border-strong);color:var(--app-title)}.btn-outline-primary:hover,.btn-outline-secondary:hover{background:var(--app-surface-muted);border-color:var(--app-border-strong);color:var(--app-title)}.btn-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--app-border);background:var(--app-surface-muted);color:var(--app-title)}.btn-user{display:inline-flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid var(--app-border);background:var(--app-surface-muted);color:var(--app-title)}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:var(--app-accent);color:#fff;font-size:.86rem;font-weight:700}.dropdown-menu{border:1px solid var(--app-border);border-radius:14px;background:var(--app-surface);box-shadow:var(--app-shadow)}.dropdown-item{border-radius:8px;margin:0 6px;width:auto}.dropdown-item:hover,.dropdown-item:focus{background:var(--app-surface-muted);color:var(--app-title)}.card{border-radius:var(--app-radius-card);border:1px solid var(--app-border);background:var(--app-surface);box-shadow:var(--app-shadow)}.app-page-header{margin-bottom:24px}.app-page-title{margin:0;font-size:1.75rem;font-weight:750;letter-spacing:-.025em;color:var(--app-title)}.app-page-subtitle{margin-top:8px;max-width:680px;color:var(--app-muted);line-height:1.55}.app-section-card{overflow:hidden}.app-section-header{padding:17px 20px;background:transparent;border-bottom:1px solid var(--app-border)}.app-section-title{font-size:.95rem;font-weight:700;color:var(--app-title)}.app-section-subtitle{margin-top:4px;font-size:.9rem;color:var(--app-muted)}.app-section-body{padding:20px}.stat-card{min-height:100%}.stat-card-body{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px}.stat-card-label{font-size:.78rem;font-weight:700;letter-spacing:0;color:var(--app-muted)}.stat-card-value{margin-top:8px;font-size:1.8rem;font-weight:750;letter-spacing:-.025em;font-variant-numeric:tabular-nums;line-height:1.1;color:var(--app-title)}.stat-card-hint{margin-top:8px;font-size:.88rem;color:var(--app-muted)}.stat-card-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--app-accent-soft);color:var(--app-accent);flex-shrink:0}.badge-soft{background:var(--app-accent-soft);color:var(--app-accent);border:1px solid var(--app-accent-soft-border);border-radius:999px;padding:4px 10px;font-weight:700}.empty-state{padding:32px 18px;text-align:center;border:1px dashed var(--app-border-strong);border-radius:14px;background:var(--app-surface-muted)}.empty-state-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;margin:0 auto 14px}.empty-state-title{font-size:1rem;font-weight:700;color:var(--app-title)}.empty-state-desc{margin:8px auto 0;max-width:420px;color:var(--app-muted)}.empty-state-action{margin-top:16px;display:flex;justify-content:center}.skeleton-line{height:12px;border-radius:999px;background:linear-gradient(90deg,#94a3b829,#94a3b84d,#94a3b829);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.form-label{font-weight:700}.form-control,.form-select,.input-group-text{border-radius:10px;border-color:var(--app-border-strong);background:var(--app-surface);color:var(--app-text)}.form-control,.form-select{padding:.75rem .85rem}.form-control::placeholder{color:var(--app-muted)}.form-control:focus,.form-select:focus{border-color:var(--app-accent);box-shadow:0 0 0 .16rem var(--app-accent-soft)}.table{--bs-table-bg: transparent;--bs-table-color: var(--app-text)}.table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted);border-bottom-color:var(--app-border)}.table tbody td{padding-top:.9rem;padding-bottom:.9rem;border-color:var(--app-border)}.alert{border-radius:12px}.modal-content{border-radius:16px;border:1px solid var(--app-border);background:var(--app-surface);box-shadow:var(--app-shadow)}.offcanvas{background:var(--app-surface);color:var(--app-text);border-right:1px solid var(--app-border)}[data-bs-theme=dark] .offcanvas .btn-close{filter:invert(1)}.dashboard-plain-list{display:grid;gap:12px}.dashboard-hero{display:flex;min-height:168px;flex-direction:column;justify-content:center;padding:26px;overflow:hidden;border:1px solid rgba(49,87,213,.28);border-radius:var(--app-radius-card);background:radial-gradient(circle at 92% 12%,rgba(255,255,255,.2),transparent 28%),linear-gradient(135deg,#243b8f,#3157d5 56%,#5375df);color:#fff;box-shadow:0 16px 34px #233d8f2e}.dashboard-hero-label{color:#ffffffc2;font-size:.82rem;font-weight:650}.dashboard-hero-value{margin-top:8px;font-size:clamp(2rem,3.6vw,2.75rem);font-weight:750;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.dashboard-hero-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;color:#ffffffd1;font-size:.78rem}.dashboard-hero-meta a{color:#fff;font-weight:650}.dashboard-disclosure{overflow:hidden;border:1px solid var(--app-border);border-radius:var(--app-radius-card);background:var(--app-surface);box-shadow:var(--app-shadow)}.dashboard-disclosure>summary{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;cursor:pointer;list-style:none}.dashboard-disclosure>summary::-webkit-details-marker{display:none}.dashboard-disclosure>summary small{display:block;margin-top:3px;color:var(--app-muted)}.dashboard-disclosure-body{padding:18px;border-top:1px solid var(--app-border)}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:12px}.account-grid-button{display:block!important;width:100%;height:100%;min-height:0;color:inherit}.account-grid-card{position:relative;width:100%;height:100%}.account-card{height:100%;min-height:104px;overflow:hidden;border:1px solid var(--app-border);border-radius:var(--app-radius-card);background:var(--app-surface);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.account-card:hover{transform:translateY(-1px);border-color:var(--app-border-strong);box-shadow:0 10px 26px #0f172a12}.account-card-body{display:flex;height:100%;min-height:104px;align-items:center;justify-content:space-between;gap:16px;padding:16px}.account-card-image,.account-card-icon{width:48px;height:48px;flex:0 0 48px;border:1px solid var(--app-border);border-radius:13px;background:var(--app-accent-soft)}.account-card-image{object-fit:cover}.account-card-icon{display:grid;place-items:center;color:var(--app-accent);font-size:1.1rem}.account-card-name{font-size:.92rem;font-weight:700}.account-card-badge{padding:3px 7px;border:1px solid var(--app-accent-soft-border);border-radius:999px;background:var(--app-accent-soft);color:var(--app-accent);font-size:.68rem;font-weight:650}.account-card-balance{min-width:120px;text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 767.98px){.account-grid{grid-template-columns:1fr}.dashboard-hero-meta{align-items:flex-start;flex-direction:column;gap:8px}}.person-overview-card{padding:18px;border:1px solid var(--app-border);border-radius:16px;background:var(--app-surface);box-shadow:0 5px 18px #0f172a09;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.person-overview-card:hover{transform:translateY(-2px);border-color:var(--app-border-strong);box-shadow:0 10px 26px #0f172a12}.person-overview-card.has-warning{border-left:4px solid var(--app-negative)}.person-net-position{display:grid;gap:3px}.person-net-position strong{font-size:1.08rem}.person-mini-stat{display:grid;gap:4px;padding:10px;border-radius:11px;background:var(--app-surface-muted)}.person-mini-stat span{color:var(--app-muted);font-size:.7rem}.person-mini-stat strong{font-size:.82rem;font-variant-numeric:tabular-nums}.person-tabs{display:flex;gap:8px;overflow-x:auto;padding:3px 1px 7px;scrollbar-width:thin}.person-tabs .btn{flex:0 0 auto;border-radius:999px}.person-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.person-summary-stat{display:grid;gap:5px;min-height:126px;padding:15px;border:1px solid var(--app-border);border-radius:13px;background:var(--app-surface-muted)}.person-summary-stat.primary{background:var(--app-accent-soft);border-color:var(--app-accent-soft-border)}.person-summary-stat.warning{border-color:color-mix(in srgb,var(--app-negative) 42%,var(--app-border))}.person-summary-stat>span{color:var(--app-muted);font-size:.74rem;font-weight:650}.person-summary-stat>strong{margin-top:auto;font-size:1.25rem;font-variant-numeric:tabular-nums}.person-summary-stat>small{color:var(--app-muted)}.person-contact-list{display:grid;gap:0}.person-contact-list>div{padding:9px 0;border-bottom:1px solid var(--app-border)}.person-contact-list>div:last-child{border-bottom:0}.person-contact-list dt{color:var(--app-muted);font-size:.7rem;font-weight:650}.person-contact-list dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:.84rem}.person-attention-record{display:flex;align-items:center;justify-content:space-between;gap:12px;height:100%;padding:13px;border:1px solid var(--app-border);border-radius:12px;color:var(--app-title);text-decoration:none}.person-attention-record:hover{border-color:var(--app-accent-soft-border);background:var(--app-accent-soft)}.person-attention-record div{display:grid;gap:4px}.person-attention-record span{color:var(--app-muted);font-size:.72rem}.person-document-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--app-border);border-radius:13px}.person-document-icon{display:grid;flex:0 0 auto;width:38px;height:38px;place-items:center;border-radius:10px;background:var(--app-accent-soft);color:var(--app-accent)}.person-timeline{position:relative;display:grid}.person-timeline:before{position:absolute;top:16px;bottom:16px;left:6px;width:2px;background:var(--app-border);content:""}.person-timeline-item{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr);gap:12px;padding:11px 0}.person-timeline-dot{z-index:1;width:13px;height:13px;margin-top:3px;border:3px solid var(--app-surface);border-radius:99px;background:var(--app-accent);box-shadow:0 0 0 1px var(--app-accent)}.min-w-0{min-width:0}@media (max-width: 991.98px){.person-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 575.98px){.person-summary-grid{grid-template-columns:1fr}.person-summary-stat{min-height:105px}.person-attention-record{align-items:stretch;flex-direction:column}.person-attention-record .text-end{text-align:left!important}}.dashboard-plain-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--app-border)}.dashboard-plain-row:last-child{padding-bottom:0;border-bottom:0}.dashboard-plain-label{color:var(--app-muted)}.dashboard-plain-value{font-weight:700;color:var(--app-title)}.dashboard-actions-simple{display:grid;gap:10px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--app-bg)}.auth-shell{width:min(980px,100%)}.auth-brand{margin-bottom:14px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:1.25rem;font-weight:800;color:var(--app-title)}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,460px);gap:24px;align-items:center}.auth-hero{padding-right:16px}.auth-eyebrow{font-size:.82rem;font-weight:700;text-transform:uppercase;color:var(--app-accent)}.auth-hero-title{margin:10px 0 0;font-size:2.2rem;font-weight:800;color:var(--app-title)}.auth-hero-text{margin:14px 0 0;max-width:520px;color:var(--app-muted);line-height:1.7}.auth-card{padding:24px;box-shadow:0 18px 44px #0f172a14}.password-field{position:relative}.password-field .form-control{padding-right:46px}.password-field button{position:absolute;top:50%;right:7px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--app-muted);transform:translateY(-50%)}.password-field button:hover{background:var(--app-surface-muted);color:var(--app-title)}.auth-card-header{display:flex;align-items:center;gap:14px;margin-bottom:18px}.auth-badge{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--app-accent-soft);color:var(--app-accent);flex-shrink:0}.auth-card-title{font-size:1.2rem;font-weight:800;color:var(--app-title)}.auth-card-subtitle{margin-top:4px;color:var(--app-muted)}.auth-card-footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--app-border);color:var(--app-muted)}.bill-attach-link{text-decoration:none;font-weight:700}.bill-attach-link:hover{text-decoration:underline}.dashboard-onboarding-list{display:grid;gap:12px}.dashboard-onboarding-item{border:1px solid var(--app-border);border-radius:14px;padding:14px;background:var(--app-surface-muted)}.dashboard-onboarding-dot{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#94a3b829;color:var(--app-muted);border:1px solid var(--app-border);flex-shrink:0}.dashboard-onboarding-dot.is-done{background:#22c55e1f;color:#15803d;border-color:#22c55e33}.app-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1055;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a85}.app-modal-backdrop.align-top{align-items:flex-start}.app-modal-dialog{width:min(100%,760px);max-height:calc(100vh - 40px);overflow:auto;background:var(--app-surface);border:1px solid var(--app-border);border-radius:18px;box-shadow:0 16px 40px #0f172a2e}.app-modal-dialog-sm{max-width:440px}.app-modal-dialog-md{max-width:760px}.app-modal-dialog-lg{max-width:980px}.app-modal-dialog-xl{max-width:1160px}.app-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--app-border);background:var(--app-surface-muted)}.app-modal-title{font-size:1rem;font-weight:700;color:var(--app-title)}.app-modal-subtitle{margin-top:4px;color:var(--app-muted);font-size:.9rem}.app-modal-body{padding:20px}.app-modal-footer{padding:16px 20px;border-top:1px solid var(--app-border);background:var(--app-surface-muted)}.app-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.app-preview-frame{min-height:320px;border:1px solid var(--app-border);border-radius:14px;background:var(--app-surface-muted)}.app-preview-image{display:block;max-width:100%;max-height:72vh;margin:0 auto;border-radius:10px}.app-preview-iframe{width:100%;min-height:72vh;border:0;border-radius:14px;background:#fff}.app-kv-list{display:grid;gap:12px}.app-kv-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--app-border)}.app-kv-row:last-child{padding-bottom:0;border-bottom:0}@media (max-width: 991.98px){.app-main{padding:16px}.app-content{padding:0}.auth-layout{grid-template-columns:1fr}.auth-hero{display:none}.auth-shell{width:min(480px,100%)}}@media (max-width: 767.98px){.app-topbar{align-items:center;padding:0}.app-content{padding:0}.app-page-title{font-size:1.55rem}.auth-hero-title{font-size:1.7rem}}kbd{padding:2px 6px;border-radius:6px;border:1px solid var(--app-border);background:var(--app-surface-muted);color:var(--app-title);font-size:.82rem}[data-density=compact] .app-section-body,[data-density=compact] .app-modal-body{padding:14px}[data-density=compact] .table tbody td{padding-top:.65rem;padding-bottom:.65rem}[data-density=compact] .form-control,[data-density=compact] .form-select{padding:.58rem .7rem}[data-density=compact] .btn{padding-top:.42rem;padding-bottom:.42rem}.activity-card{padding:14px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-surface-muted)}.saved-views-toolbar{display:grid;gap:12px}.settings-saved{display:inline-flex;align-items:center;gap:6px;color:var(--app-positive);font-size:.8rem;font-weight:650;opacity:0;transform:translateY(2px);transition:opacity .16s ease,transform .16s ease}.settings-saved.is-visible{opacity:1;transform:translateY(0)}.settings-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-choice-grid button{display:flex;min-height:46px;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--app-border);border-radius:var(--app-radius-control);background:var(--app-surface-muted);color:var(--app-muted);font-size:.82rem;font-weight:650}.settings-choice-grid button.is-active{border-color:var(--app-accent-soft-border);background:var(--app-accent-soft);color:var(--app-accent)}.saved-views-title{font-size:.82rem;font-weight:700;text-transform:uppercase;color:var(--app-muted)}.saved-views-controls{display:flex;gap:10px;flex-wrap:wrap}.saved-views-controls .form-control{flex:1 1 220px}.saved-views-list{display:flex;flex-wrap:wrap;gap:10px}.saved-view-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--app-border);border-radius:999px;background:var(--app-surface-muted);padding:4px}.saved-view-chip-button,.saved-view-chip-delete{border:0;background:transparent;color:var(--app-title);padding:6px 10px}.transaction-filter-bar{display:flex;align-items:center;gap:10px}.transaction-search-wrap{position:relative;flex:1 1 280px}.transaction-search-wrap>i{position:absolute;top:50%;left:13px;z-index:2;color:var(--app-muted);transform:translateY(-50%)}.transaction-search-wrap .form-control{padding-left:38px}.transaction-type-tabs{display:inline-flex;padding:3px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-surface-muted)}.transaction-type-tabs button{min-height:36px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--app-muted);font-size:.8rem;font-weight:650}.transaction-type-tabs button.is-active{background:var(--app-surface);color:var(--app-title);box-shadow:var(--app-shadow)}.transaction-filter-panel{padding:16px;border:1px solid var(--app-border);border-radius:var(--app-radius-card);background:var(--app-surface-muted)}.filter-dot{display:inline-block;width:6px;height:6px;margin-left:8px;border-radius:999px;background:var(--app-accent);vertical-align:middle}.saved-view-chip-button{border-radius:999px;font-weight:600}.saved-view-chip-button:hover,.saved-view-chip-delete:hover{background:var(--app-accent-soft);color:var(--app-accent)}.saved-view-chip-delete{width:32px;height:32px;display:grid;place-items:center;border-radius:999px}.transaction-mode-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.transaction-mode-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--app-border);border-radius:12px;padding:11px 12px;background:var(--app-surface-muted);color:var(--app-title);font-weight:700}.transaction-mode-pill.is-active{background:var(--app-accent-soft);color:var(--app-accent);border-color:var(--app-accent-soft-border)}.transaction-amount-input{min-height:54px;font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums}.transaction-recents{padding:10px 12px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-surface-muted)}.transaction-recents summary{cursor:pointer;color:var(--app-muted);font-size:.82rem;font-weight:650}.transaction-recents[open] summary{margin-bottom:10px}.upload-dropzone{border:1px dashed var(--app-border-strong);border-radius:14px;padding:20px;text-align:center;background:var(--app-surface-muted);transition:border-color .18s ease,background .18s ease}.upload-dropzone.is-active{border-color:var(--app-accent);background:var(--app-accent-soft)}.document-card-list{display:grid;gap:14px}.document-card{padding:16px;border:1px solid var(--app-border);border-radius:14px;background:var(--app-surface-muted)}.document-card.is-highlighted{border-color:#ffc10780;background:#ffc10714}.document-card-actions{display:flex;gap:8px;flex-wrap:wrap}.document-note-box{min-height:38px;padding:10px 12px;border-radius:10px;border:1px solid var(--app-border);background:var(--app-surface)}.document-attachment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--app-border);border-radius:12px;padding:10px 12px;background:var(--app-surface)}.bill-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.bill-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--app-border);border-radius:var(--app-radius-card);background:var(--app-surface);box-shadow:var(--app-shadow)}.bill-summary-strip>div{width:auto!important;padding:0}.bill-summary-strip .app-section-card{height:100%;border:0;border-right:1px solid var(--app-border);border-radius:0;box-shadow:none}.bill-summary-strip>div:last-child .app-section-card{border-right:0}.bill-view-switch,.bill-status-filter{display:inline-flex;padding:3px;border:1px solid var(--app-border);border-radius:11px;background:var(--app-surface-muted)}.bill-view-switch button,.bill-status-filter button{min-height:34px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--app-muted);font-size:.78rem;font-weight:650}.bill-view-switch button.is-active,.bill-status-filter button.is-active{background:var(--app-surface);color:var(--app-title);box-shadow:var(--app-shadow)}.bill-calendar-heading{font-size:.78rem;font-weight:700;text-transform:uppercase;color:var(--app-muted)}.bill-calendar-day{min-height:122px;padding:10px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-surface-muted)}.bill-calendar-day.is-muted{opacity:.55}.bill-calendar-date{font-weight:700;color:var(--app-title)}.bill-calendar-items{display:grid;gap:8px;margin-top:10px}.bill-calendar-chip{width:100%;display:grid;gap:4px;justify-items:start;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface);color:var(--app-title);padding:8px;text-align:left}.bill-calendar-chip.is-paid{background:#22c55e14;border-color:#22c55e2e}.app-mobile-nav{position:fixed;left:12px;right:12px;bottom:12px;z-index:1040;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:8px;border:1px solid var(--app-border);border-radius:18px;background:#ffffffeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--app-shadow-overlay)}[data-bs-theme=dark] .app-mobile-nav{background:#111827eb}.app-mobile-nav-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;min-height:56px;display:grid;justify-items:center;align-content:center;gap:4px;border-radius:12px;color:var(--app-muted);font-size:.74rem;font-weight:700}.app-mobile-nav-link.is-primary{width:52px;min-height:52px;align-self:center;justify-self:center;border-radius:16px;background:var(--app-accent);color:#fff;box-shadow:0 10px 22px #3157d547}.app-mobile-nav-link.is-primary i{font-size:1.15rem}.app-mobile-nav-link.is-active{background:var(--app-accent-soft);color:var(--app-accent)}.app-mobile-nav-link i{font-size:1rem}@media (max-width: 991.98px){.app-shell{display:block}.app-main{min-height:100vh;padding-bottom:88px}}@media (max-width: 767.98px){.saved-views-controls{flex-direction:column}.transaction-filter-bar{align-items:stretch;flex-direction:column}.transaction-search-wrap{flex-basis:auto}.transaction-type-tabs{overflow-x:auto}.transaction-type-tabs button{flex:1}.transaction-table-shell .table-responsive{max-height:none!important;overflow:visible}.transaction-table-shell table,.transaction-table-shell tbody,.transaction-table-shell tr,.transaction-table-shell td{display:block;width:100%}.transaction-table-shell thead{display:none}.transaction-table-shell tbody{display:grid;gap:10px;padding:10px}.transaction-table-shell tbody tr{padding:8px 12px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-surface)}.transaction-table-shell tbody td{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:7px 0!important;border:0;text-align:right!important}.transaction-table-shell tbody td:before{content:attr(data-label);color:var(--app-muted);font-size:.72rem;font-weight:650;text-align:left}.transaction-mode-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.transaction-mode-pill{padding-inline:8px;font-size:.8rem}.document-attachment-row{align-items:flex-start;flex-direction:column}.bill-calendar,.bill-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.bill-summary-strip .app-section-card{border-bottom:1px solid var(--app-border)}.bill-calendar-heading{display:none}.bill-calendar-day{min-height:110px}.app-modal-backdrop{padding:0}.app-modal-dialog,.app-modal-dialog-sm,.app-modal-dialog-md,.app-modal-dialog-lg,.app-modal-dialog-xl{width:100%;max-width:none;min-height:100vh;border-radius:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.loan-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.loan-summary-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start;min-height:132px;padding:14px;border:1px solid var(--app-border);border-radius:var(--app-radius-card);background:var(--app-surface);color:var(--app-text);text-align:left;box-shadow:var(--app-shadow);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.loan-summary-card:hover{transform:translateY(-2px);border-color:var(--app-border-strong);box-shadow:0 8px 24px #0f172a14}.loan-summary-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--app-accent-soft);color:var(--app-accent)}.loan-summary-label,.loan-summary-hint{display:block;color:var(--app-muted);font-size:.76rem}.loan-summary-label{font-weight:700}.loan-summary-value{display:block;margin:8px 0 6px;color:var(--app-title);font-size:1.08rem;font-variant-numeric:tabular-nums;line-height:1.2}.loan-cashflow-strip{display:flex;justify-content:flex-end;gap:20px;padding:9px 12px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-muted);color:var(--app-muted);font-size:.78rem}.loan-attention-panel{overflow:hidden;border:1px solid rgba(209,67,67,.2);border-radius:var(--app-radius-card);background:var(--app-surface)}.loan-attention-heading{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;color:#7f1d1d;background:#ef444414;border-bottom:1px solid rgba(209,67,67,.15)}[data-bs-theme=dark] .loan-attention-heading{color:#fecaca}.loan-attention-list{display:grid}.loan-attention-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--app-border)}.loan-attention-row:last-child{border-bottom:0}.loan-attention-main{flex:1;min-width:0;display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;background:transparent;color:var(--app-text);text-align:left}.loan-attention-main small{display:block;margin-top:2px;color:var(--app-muted)}.loan-attention-dot{width:9px;height:9px;border-radius:99px;background:var(--app-warning)}.loan-attention-dot.is-overdue{background:var(--app-negative)}.loan-attention-amount{font-weight:750;font-variant-numeric:tabular-nums}.loan-attention-actions{display:flex;gap:6px}.loan-attention-clear{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(22,132,91,.18);border-radius:var(--app-radius-card);background:#16845b12;color:var(--app-positive)}.loan-attention-clear i{font-size:1.3rem}.loan-attention-clear span{display:block;color:var(--app-muted);font-size:.78rem}.loan-filter-shell{padding:14px;border:1px solid var(--app-border);border-radius:var(--app-radius-card);background:var(--app-surface);box-shadow:var(--app-shadow)}.loan-filter-main{display:flex;gap:10px;align-items:center}.loan-search-wrap{position:relative;flex:1}.loan-search-wrap>i{position:absolute;top:50%;left:13px;transform:translateY(-50%);color:var(--app-muted)}.loan-search-wrap .form-control{padding-left:38px;padding-right:38px}.loan-search-wrap>button{position:absolute;right:6px;top:50%;width:30px;height:30px;border:0;border-radius:8px;transform:translateY(-50%);background:transparent;color:var(--app-muted)}.loan-type-tabs,.loan-view-switch{display:inline-flex;padding:3px;border:1px solid var(--app-border);border-radius:11px;background:var(--app-surface-muted)}.loan-type-tabs button,.loan-view-switch button{min-height:34px;padding:0 11px;border:0;border-radius:8px;background:transparent;color:var(--app-muted);font-size:.78rem;font-weight:650}.loan-type-tabs button.is-active,.loan-view-switch button.is-active{background:var(--app-surface);color:var(--app-title);box-shadow:var(--app-shadow)}.loan-status-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.loan-status-chips button{padding:5px 10px;border:1px solid var(--app-border);border-radius:999px;background:var(--app-surface-muted);color:var(--app-muted);font-size:.74rem;font-weight:650}.loan-status-chips button.is-active{border-color:var(--app-accent-soft-border);background:var(--app-accent-soft);color:var(--app-accent)}.loan-advanced-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:12px;padding:12px;border-radius:12px;background:var(--app-surface-muted)}.loan-advanced-filters label>span{display:block;margin-bottom:4px;color:var(--app-muted);font-size:.7rem;font-weight:650}.loan-check-filter{display:flex;align-items:center;gap:8px;padding-top:22px}.loan-check-filter>span{margin:0!important}.loan-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:11px;border-top:1px solid var(--app-border)}.loan-sort-select{width:auto;min-width:155px}.loan-record-card{position:relative;background:var(--app-surface);transition:border-color .16s ease,box-shadow .16s ease}.loan-record-card:hover{border-color:var(--app-border-strong)!important;box-shadow:0 7px 22px #0f172a0f}.loan-remaining-value{font-size:1.35rem;color:var(--app-title);font-variant-numeric:tabular-nums}.loan-more-menu{position:relative}.loan-more-menu>summary{list-style:none;cursor:pointer}.loan-more-menu>summary::-webkit-details-marker{display:none}.loan-more-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:30;width:210px;display:grid;padding:6px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-surface);box-shadow:var(--app-shadow-overlay)}.loan-more-popover button{display:flex;align-items:center;gap:9px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--app-title);text-align:left;font-size:.82rem}.loan-more-popover button:hover{background:var(--app-surface-muted)}.loan-more-popover button i{width:16px;color:var(--app-muted)}.loan-compact-records .loan-card-secondary{display:none}.loan-compact-records .loan-record-card{padding:12px!important}.loan-payment-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--app-border);border-radius:12px}.loan-payment-preview>div{padding:10px;border-right:1px solid var(--app-border);background:var(--app-surface-muted)}.loan-payment-preview>div:last-child{border-right:0}.loan-payment-preview span{display:block;color:var(--app-muted);font-size:.68rem}.loan-payment-preview strong{display:block;margin-top:4px;font-size:.85rem}.loan-payment-preview .is-result{background:var(--app-accent-soft);color:var(--app-accent)}.loan-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.loan-bar-list{display:grid;gap:10px}.loan-bar-row>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px;font-size:.76rem}.loan-bar-track{display:block;height:7px;overflow:hidden;border-radius:99px;background:var(--app-surface-muted)}.loan-bar-track>span{display:block;height:100%;border-radius:inherit;background:var(--app-accent)}.loan-bar-track.is-danger>span{background:var(--app-negative)}.loan-audit-timeline{display:grid}.loan-audit-event{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--app-border)}.loan-audit-event:last-child{border-bottom:0}.loan-audit-dot{width:9px;height:9px;margin-top:5px;border-radius:99px;background:var(--app-accent)}@media (max-width: 1199.98px){.loan-summary-grid,.loan-advanced-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 767.98px){.loan-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-summary-card{min-height:118px;grid-template-columns:1fr}.loan-summary-icon{width:32px;height:32px}.loan-cashflow-strip{align-items:flex-start;flex-direction:column;gap:5px}.loan-attention-row{align-items:stretch;flex-direction:column}.loan-attention-actions{justify-content:flex-end}.loan-filter-main{align-items:stretch;flex-direction:column}.loan-type-tabs button{flex:1}.loan-status-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.loan-status-chips button{flex:0 0 auto}.loan-advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-filter-footer{align-items:flex-start;flex-direction:column}.loan-filter-footer>div:last-child{width:100%}.loan-sort-select{flex:1}.loan-analytics-grid{grid-template-columns:1fr}.loan-record-card>.d-flex.justify-content-between{flex-direction:column}.loan-record-card>.d-flex.justify-content-between>.d-flex{width:100%;flex-wrap:wrap}.loan-payment-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-payment-preview>div:nth-child(2){border-right:0}.loan-payment-preview>div:nth-child(-n+2){border-bottom:1px solid var(--app-border)}.loan-record-table-shell{overflow:visible}.loan-record-table,.loan-record-table tbody,.loan-record-table tr,.loan-record-table td{display:block;width:100%}.loan-record-table thead{display:none}.loan-record-table tbody{display:grid;gap:10px}.loan-record-table tr{padding:12px;border:1px solid var(--app-border);border-radius:12px}.loan-record-table td{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;padding:6px 0!important;border:0;text-align:right!important}.loan-record-table td:before{content:attr(data-label);color:var(--app-muted);text-align:left;font-size:.7rem;font-weight:650}}html{scroll-behavior:smooth}body{min-width:320px;font-size:.9375rem;line-height:1.55;background:radial-gradient(circle at 80% -10%,rgba(79,70,229,.055),transparent 32rem),var(--app-bg);transition:background-color .18s ease,color .18s ease}[data-bs-theme=dark] body{background:radial-gradient(circle at 82% -8%,rgba(99,102,241,.1),transparent 34rem),var(--app-bg)}::selection{background:var(--app-accent-soft-border);color:var(--app-title)}.app-skip-link{position:fixed;top:10px;left:10px;z-index:2000;padding:10px 14px;border-radius:10px;background:var(--app-accent-fill);color:#fff;font-weight:750;transform:translateY(-160%);transition:transform .16s ease}.app-skip-link:focus{color:#fff;transform:translateY(0)}.app-sidebar{width:258px;padding:0;background:var(--app-sidebar-bg)}.app-sidebar-inner{top:0;height:100vh;border:0;border-radius:0;background:var(--app-sidebar-bg);box-shadow:14px 0 34px #02061714}.app-brand{padding:24px 20px 18px}.app-brand-icon{background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff1a}.app-brand-title{color:#f8fafc;font-size:1.04rem}.app-brand-subtitle{color:#94a3b8}.app-sidebar-create-wrap{padding:0 16px 18px}.app-sidebar-create{width:100%;min-height:46px;display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid rgba(165,180,252,.22);border-radius:12px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-weight:720;text-align:left;box-shadow:0 10px 24px #312e8147}.app-sidebar-create>span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#ffffff26}.app-sidebar-create kbd{margin-left:auto;border-color:#fff3;background:#ffffff1f;color:#fff}.app-sidebar-create:hover{filter:brightness(1.08);transform:translateY(-1px)}.app-sidebar-scroll{padding-top:2px}.app-nav{gap:19px}.app-nav-label{padding-inline:11px;color:#718096}.app-nav .list-group-item{min-height:42px;color:var(--app-sidebar-text)}.app-nav .list-group-item:hover{background:#fff1;color:#fff}.app-nav .list-group-item.active{position:relative;background:#818cf829;color:#c7d2fe;box-shadow:inset 0 0 0 1px #a5b4fc1a}.app-nav .list-group-item.active:before{position:absolute;top:9px;bottom:9px;left:-5px;width:3px;border-radius:99px;background:#818cf8;content:""}.app-nav .list-group-item i{font-size:1rem}.app-main{gap:8px;padding:0 30px 40px}.app-topbar{position:sticky;top:0;z-index:1020;min-height:70px;margin-inline:-10px;padding:10px;background:color-mix(in srgb,var(--app-bg) 82%,transparent);-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%)}.app-content{padding-top:22px}.app-search-trigger{min-height:42px;border-color:var(--app-border);box-shadow:none}.app-search-trigger:hover{border-color:var(--app-border-strong);background:var(--app-surface-elevated)}.app-page-header{position:relative;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--app-border)}.app-page-eyebrow{margin-bottom:4px;color:var(--app-accent);font-size:.69rem;font-weight:780;letter-spacing:.09em;text-transform:uppercase}.app-page-title{font-size:clamp(1.55rem,2.5vw,1.9rem);font-weight:780;letter-spacing:-.035em}.app-page-subtitle{margin-top:6px;font-size:.92rem}.card,.app-section-card,.loan-filter-shell,.loan-record-card,.person-overview-card,.activity-card,.dashboard-disclosure,.account-card{box-shadow:var(--app-shadow);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease}.app-section-card{border:1px solid var(--app-border)!important}.app-section-card:hover{border-color:var(--app-border-strong)!important}.app-section-header{padding:18px 20px 15px;border-bottom:0}.app-section-title{margin:0;font-size:1rem;font-weight:750;letter-spacing:-.012em}.app-section-subtitle{max-width:680px;font-size:.84rem;line-height:1.5}.app-section-body{padding:4px 20px 20px}.stat-card{position:relative;overflow:hidden}.stat-card:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--app-accent);content:""}.stat-card[data-tone=positive]:before{background:var(--app-positive)}.stat-card[data-tone=negative]:before{background:var(--app-negative)}.stat-card[data-tone=warning]:before{background:var(--app-warning)}.stat-card-body{min-height:136px;padding:20px}.stat-card-label{font-size:.76rem}.stat-card-value{font-size:clamp(1.45rem,2.2vw,1.85rem)}.stat-card-icon{background:var(--app-accent-soft);color:var(--app-accent)}.stat-card[data-tone=positive] .stat-card-icon{background:var(--app-positive-soft);color:var(--app-positive)}.stat-card[data-tone=negative] .stat-card-icon{background:var(--app-negative-soft);color:var(--app-negative)}.stat-card[data-tone=warning] .stat-card-icon{background:var(--app-warning-soft);color:var(--app-warning)}.dashboard-hero{min-height:178px;border-color:#a5b4fc47;background:radial-gradient(circle at 88% 8%,rgba(255,255,255,.22),transparent 28%),linear-gradient(135deg,#312e81,#4f46e5 54%,#6366f1);box-shadow:0 18px 38px #312e8133}.btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:2px;padding-inline:.95rem}.btn-sm{min-height:36px;padding-inline:.72rem}.btn-primary{border-color:var(--app-accent-fill);background:var(--app-accent-fill);color:#fff;box-shadow:0 5px 13px #4f46e52e}.btn-primary:hover,.btn-primary:focus-visible,.btn-primary:active{border-color:var(--app-accent-strong)!important;background:var(--app-accent-strong)!important;color:#fff!important}.btn-danger{border-color:#b91c1c;background:#b91c1c}.btn-link{min-height:auto}.btn-icon{width:42px;height:42px;padding:0;background:var(--app-surface)}.btn-icon:hover{border-color:var(--app-accent-soft-border);background:var(--app-accent-soft);color:var(--app-accent)}.btn-user{min-height:42px;background:var(--app-surface)}.form-label{margin-bottom:.42rem;color:var(--app-title);font-size:.8rem;font-weight:720}.form-control,.form-select,.input-group-text{min-height:44px;border-color:var(--app-border-strong)}.form-control:hover,.form-select:hover{border-color:color-mix(in srgb,var(--app-accent) 35%,var(--app-border-strong))}.form-control:focus,.form-select:focus{border-color:var(--app-focus);box-shadow:0 0 0 3px var(--app-accent-soft)}.form-control.is-invalid:focus{box-shadow:0 0 0 3px var(--app-negative-soft)}.form-check-input{width:1.08em;height:1.08em;border-color:var(--app-border-strong)}.form-check-input:checked{border-color:var(--app-accent-fill);background-color:var(--app-accent-fill)}.finance-amount-input .input-group-text{min-width:58px;justify-content:center;background:var(--app-surface-muted);color:var(--app-muted);font-size:.76rem;font-weight:750}.finance-amount-input .form-control{font-size:1.02rem;font-weight:680;font-variant-numeric:tabular-nums}input[type=number]{font-variant-numeric:tabular-nums}.table-responsive{scrollbar-width:thin;scrollbar-color:var(--app-border-strong) transparent}.table{margin-bottom:0;font-variant-numeric:tabular-nums}.table thead{position:sticky;top:0;z-index:2}.table thead th{padding:.75rem;background:var(--app-surface-muted);color:var(--app-muted);font-size:.7rem;font-weight:760;white-space:nowrap}.table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--app-surface-muted) 56%,transparent)}.table tbody tr{transition:background-color .14s ease}.table tbody tr:hover{background:var(--app-accent-soft)}.table tbody td{vertical-align:middle}.table .text-end{font-variant-numeric:tabular-nums}@media (min-width: 768px){.loan-record-table th:first-child,.loan-record-table td:first-child{position:sticky;left:0;z-index:1;background:var(--app-surface);box-shadow:1px 0 var(--app-border)}.loan-record-table th:first-child{z-index:3;background:var(--app-surface-muted)}.loan-record-table tr:hover td:first-child{background:color-mix(in srgb,var(--app-accent-soft) 88%,var(--app-surface))}}.badge{font-weight:720;letter-spacing:.005em}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid transparent;border-radius:999px;background:var(--app-surface-muted);color:var(--app-muted);white-space:nowrap}.status-badge.is-paid{border-color:color-mix(in srgb,var(--app-positive) 22%,transparent);background:var(--app-positive-soft);color:var(--app-positive)}.status-badge.is-overdue{border-color:color-mix(in srgb,var(--app-negative) 24%,transparent);background:var(--app-negative-soft);color:var(--app-negative)}.status-badge.is-due-soon,.status-badge.is-partial{border-color:color-mix(in srgb,var(--app-warning) 25%,transparent);background:var(--app-warning-soft);color:var(--app-warning)}.status-badge.is-open,.status-badge.is-archived{border-color:var(--app-border);background:var(--app-surface-muted);color:var(--app-muted)}.transaction-type-badge{padding:6px 9px;border:1px solid transparent;border-radius:999px}.transaction-type-badge.is-income{border-color:color-mix(in srgb,var(--app-positive) 24%,transparent);background:var(--app-positive-soft);color:var(--app-positive)}.transaction-type-badge.is-expense{border-color:color-mix(in srgb,var(--app-negative) 24%,transparent);background:var(--app-negative-soft);color:var(--app-negative)}.transaction-type-badge.is-transfer{border-color:var(--app-border);background:var(--app-surface-muted);color:var(--app-muted)}.text-success{color:var(--app-positive)!important}.text-danger{color:var(--app-negative)!important}.text-warning{color:var(--app-warning)!important}.text-primary{color:var(--app-accent)!important}.text-warning-emphasis{color:var(--app-warning)!important}.bg-primary-subtle{background:var(--app-accent-soft)!important}.bg-success-subtle{background:var(--app-positive-soft)!important}.bg-danger-subtle{background:var(--app-negative-soft)!important}.bg-warning-subtle{background:var(--app-warning-soft)!important}.border-primary-subtle{border-color:var(--app-accent-soft-border)!important}.border-success-subtle{border-color:color-mix(in srgb,var(--app-positive) 24%,transparent)!important}.border-danger-subtle{border-color:color-mix(in srgb,var(--app-negative) 24%,transparent)!important}.border-warning-subtle{border-color:color-mix(in srgb,var(--app-warning) 24%,transparent)!important}.loan-summary-card{overflow:hidden;min-height:134px;border-top:3px solid var(--app-accent)}.loan-summary-card:hover{transform:translateY(-2px);box-shadow:var(--app-shadow-raised)}.loan-summary-value{font-size:1.18rem;font-weight:780}.loan-record-card[data-loan-type=lend]{border-left:3px solid var(--app-receivable)!important}.loan-record-card[data-loan-type=loan]{border-left:3px solid var(--app-payable)!important}.loan-record-card:hover{transform:translateY(-1px);box-shadow:var(--app-shadow-raised)}.loan-type-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 9px;border:1px solid transparent;border-radius:999px}.loan-type-badge.is-lend{border-color:color-mix(in srgb,var(--app-receivable) 24%,transparent);background:var(--app-receivable-soft);color:var(--app-receivable)}.loan-type-badge.is-debt{border-color:color-mix(in srgb,var(--app-payable) 24%,transparent);background:var(--app-payable-soft);color:var(--app-payable)}.loan-important-note{border:1px solid color-mix(in srgb,var(--app-warning) 30%,var(--app-border));background:var(--app-warning-soft);color:var(--app-warning)}.loan-important-note>i{margin-top:1px;font-size:1rem}.loan-important-note .small:last-child{color:var(--app-text)}.progress{overflow:hidden;background:var(--app-surface-muted)}.progress-bar{background:linear-gradient(90deg,var(--app-accent-fill),#818cf8)}.loan-attention-panel{border-color:color-mix(in srgb,var(--app-negative) 28%,var(--app-border));box-shadow:var(--app-shadow)}.loan-attention-heading{background:var(--app-negative-soft);color:var(--app-negative)}.loan-cashflow-strip{border-radius:12px}.loan-bar-track{height:8px}.app-modal-backdrop{background:#080f1d9e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:app-fade-in .16s ease both}.app-modal-dialog{box-shadow:var(--app-shadow-overlay);animation:app-modal-in .18s ease both}.app-modal-header{position:sticky;top:0;z-index:4;background:var(--app-surface-elevated)}.app-modal-footer{position:sticky;bottom:0;z-index:4;background:var(--app-surface-elevated);box-shadow:0 -8px 22px #0f172a0b}.app-modal-title{font-size:1.06rem;font-weight:760}.dropdown-menu,.loan-more-popover{box-shadow:var(--app-shadow-overlay)}.empty-state{padding-block:38px;background:color-mix(in srgb,var(--app-surface-muted) 72%,transparent)}.empty-state-icon{background:var(--app-accent-soft);color:var(--app-accent)}.empty-state-success .empty-state-icon{border-color:color-mix(in srgb,var(--app-positive) 25%,transparent);background:var(--app-positive-soft);color:var(--app-positive)}.empty-state-danger .empty-state-icon{border-color:color-mix(in srgb,var(--app-negative) 25%,transparent);background:var(--app-negative-soft);color:var(--app-negative)}.empty-state-warning .empty-state-icon{border-color:color-mix(in srgb,var(--app-warning) 25%,transparent);background:var(--app-warning-soft);color:var(--app-warning)}.empty-state-secondary .empty-state-icon{border-color:var(--app-border);background:var(--app-surface-muted);color:var(--app-muted)}.app-chart-panel{padding:12px 10px 4px;border:1px solid var(--app-border);border-radius:var(--app-radius-card);background:var(--app-surface-muted)}.ai-stat-pill{padding:16px;border:1px solid var(--app-accent-soft-border);border-radius:var(--app-radius-card);background:linear-gradient(135deg,var(--app-accent-soft),var(--app-surface));box-shadow:var(--app-shadow)}.ai-stat-pill-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--app-accent-soft-border);border-radius:13px;background:var(--app-accent-soft);color:var(--app-accent)}.ai-stat-pill.is-danger{border-color:color-mix(in srgb,var(--app-negative) 24%,var(--app-border));background:linear-gradient(135deg,var(--app-negative-soft),var(--app-surface))}.ai-stat-pill.is-danger .ai-stat-pill-icon{border-color:color-mix(in srgb,var(--app-negative) 24%,transparent);background:var(--app-negative-soft);color:var(--app-negative)}.ai-insight-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--app-border);border-radius:999px;background:var(--app-surface-muted);color:var(--app-muted);font-size:.8rem}.ai-insight-badge.is-danger{border-color:color-mix(in srgb,var(--app-negative) 24%,transparent);background:var(--app-negative-soft);color:var(--app-negative)}.alert{border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 18%,transparent)}.danger-callout{border:1px solid color-mix(in srgb,var(--app-negative) 24%,transparent);border-radius:14px;background:var(--app-negative-soft)}.danger-callout-icon{width:36px;height:36px;display:grid;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--app-negative) 24%,transparent);border-radius:11px;background:var(--app-surface);color:var(--app-negative)}.app-mobile-nav{border-radius:20px;background:color-mix(in srgb,var(--app-surface) 92%,transparent)}[data-bs-theme=dark] .app-mobile-nav{background:color-mix(in srgb,var(--app-surface) 92%,transparent)}.app-mobile-nav-link{min-height:58px}.app-mobile-nav-link.is-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 10px 24px #4f46e55c}.auth-page{background:radial-gradient(circle at 18% 14%,var(--app-accent-soft-border),transparent 30rem),var(--app-bg)}.auth-card{border:1px solid var(--app-border);box-shadow:var(--app-shadow-overlay)}.auth-eyebrow{color:var(--app-accent)}#main-content:focus{outline:0;box-shadow:none}.universal-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.universal-add-option{width:100%;min-width:0;display:flex;align-items:center;gap:13px;padding:15px;border:1px solid var(--app-border);border-radius:15px;background:var(--app-surface);color:var(--app-text);text-align:left;transition:border-color .14s ease,background .14s ease,transform .14s ease}.universal-add-option:hover{border-color:var(--app-accent-soft-border);background:var(--app-accent-soft);transform:translateY(-1px)}.universal-add-option strong,.universal-add-option small{display:block}.universal-add-option small{margin-top:2px;color:var(--app-muted)}.universal-add-icon{width:42px;height:42px;display:grid;flex:0 0 auto;place-items:center;border-radius:13px;background:var(--app-surface-muted);font-size:1.1rem}.onboarding-illustration{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(135deg,var(--app-accent-fill),#818cf8);color:#fff;font-size:1.9rem;box-shadow:0 18px 38px #4f46e53d}.app-offline-banner{position:fixed;z-index:1095;right:18px;bottom:18px;max-width:min(430px,calc(100vw - 36px));padding:11px 15px;border:1px solid color-mix(in srgb,var(--app-warning) 35%,var(--app-border));border-radius:13px;background:var(--app-warning-soft);color:var(--app-text);box-shadow:var(--app-shadow-overlay);font-size:.82rem}.btn-icon.is-active{border-color:var(--app-accent-soft-border);background:var(--app-accent-soft);color:var(--app-accent)}.financial-calendar-weekdays,.financial-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.financial-calendar-weekdays span{padding:8px;color:var(--app-muted);font-size:.72rem;font-weight:750;text-align:center;text-transform:uppercase}.financial-calendar-grid{overflow:hidden;border:1px solid var(--app-border);border-radius:14px}.financial-calendar-day{min-height:110px;padding:8px;border-right:1px solid var(--app-border);border-bottom:1px solid var(--app-border);background:var(--app-surface)}.financial-calendar-day:nth-child(7n){border-right:0}.financial-calendar-day.is-outside{background:var(--app-surface-muted);opacity:.58}.financial-calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--app-accent)}.financial-calendar-number{font-size:.78rem;font-weight:750}.calendar-event{overflow:hidden;padding:4px 6px;border-radius:6px;background:var(--app-accent-soft);color:var(--app-accent);font-size:.68rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.calendar-event.is-danger{background:var(--app-negative-soft);color:var(--app-negative)}.backup-feature{display:flex;gap:14px;align-items:flex-start;padding:15px;border:1px solid var(--app-border);border-radius:14px;background:var(--app-surface-muted)}.backup-feature>i{color:var(--app-accent);font-size:1.5rem}.backup-dropzone{display:grid;place-items:center;gap:5px;min-height:170px;padding:22px;border:1.5px dashed var(--app-border-strong);border-radius:15px;background:var(--app-surface-muted);color:var(--app-text);text-align:center;cursor:pointer}.backup-dropzone:hover{border-color:var(--app-accent);background:var(--app-accent-soft)}.dashboard-widget-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:12px 14px;border:1px solid var(--app-border);border-radius:13px;background:var(--app-surface);cursor:pointer}.dashboard-widget-choice:has(input:checked){border-color:var(--app-accent-soft-border);background:var(--app-accent-soft)}.person-avatar{width:34px;height:34px;display:inline-grid;flex:0 0 auto;place-items:center;border-radius:11px;background:var(--app-accent-soft);color:var(--app-accent);font-size:.82rem;font-weight:800}.transaction-review{padding:18px;border:1px solid var(--app-accent-soft-border);border-radius:16px;background:var(--app-accent-soft)}.transaction-review-icon{width:44px;height:44px;display:grid;place-items:center;margin-bottom:12px;border-radius:14px;background:var(--app-surface);color:var(--app-accent);font-size:1.2rem}.bulk-action-bar{position:sticky;top:72px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border:1px solid var(--app-accent-soft-border);border-radius:13px;background:var(--app-surface-elevated);box-shadow:var(--app-shadow-raised)}[data-privacy=hidden] :where(.dashboard-hero-value,.stat-card-value,.loan-summary-value,.loan-remaining-value,.account-card-balance,[data-private-value]){color:transparent!important;text-shadow:0 0 11px var(--app-text);-webkit-user-select:none;user-select:none}[data-privacy=hidden] .table td.text-end:not(:has(.btn)){color:transparent!important;text-shadow:0 0 10px var(--app-text);-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes app-fade-in{0%{opacity:0}}@keyframes app-modal-in{0%{opacity:0;transform:translateY(9px) scale(.985)}}@media (max-width: 1199.98px){.app-main{padding-inline:22px}}@media (max-width: 991.98px){.app-main{padding:0 16px 96px}.app-topbar{min-height:64px;margin-inline:-4px}.app-content{padding-top:16px}.offcanvas{background:var(--app-sidebar-bg)}.offcanvas-header{border-color:#94a3b82e!important;color:#fff}.offcanvas .btn-close{filter:invert(1)}}@media (max-width: 767.98px){body{font-size:.9rem}.app-page-header{margin-bottom:20px;padding-bottom:16px}.app-page-header>div>div:last-child{width:100%}.app-page-header>div>div:last-child .btn{flex:1 1 auto}.app-section-header{padding:16px 16px 13px}.app-section-body{padding:3px 16px 16px}.btn,.btn-sm{min-height:44px}.btn-icon{width:44px;padding:0}.table tbody tr:nth-child(2n){background:transparent}.app-mobile-nav{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left))}.loan-summary-card{min-height:126px}.universal-add-grid{grid-template-columns:1fr}.app-offline-banner{bottom:86px}.financial-calendar-day{min-height:62px;padding:5px}.calendar-event{width:8px;height:8px;padding:0;border-radius:50%;color:transparent!important}}@media (max-width: 430px){.app-main{padding-inline:12px}.app-page-title{font-size:1.5rem}.app-mobile-nav{gap:3px;padding:6px}.app-mobile-nav-link{font-size:.66rem}}.app-content--dashboard{max-width:none}.dashboard-widget-columns{columns:3;column-gap:16px}.dashboard-widget-columns>.dashboard-widget{display:inline-block;vertical-align:top;width:100%;margin:0 0 16px;break-inside:avoid;page-break-inside:avoid}.dashboard-page>.app-section-card{min-width:0}@media (max-width: 1699.98px){.dashboard-widget-columns{columns:2}}@media (max-width: 1099.98px){.dashboard-widget-columns{columns:1}}@media (max-width: 575.98px){.dashboard-widget-columns{column-gap:0}.dashboard-widget-columns>.dashboard-widget{margin-bottom:12px}.dashboard-hero{padding:20px}.dashboard-hero-meta{flex-wrap:wrap;gap:10px}}
