:root{color:#1f2937;background:#eef2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#eef2f7}a{color:inherit}.auth-page,.mobile-shell{width:min(100%,480px);min-height:100vh;margin:0 auto;background:#f8fafc}.auth-page{display:flex;align-items:center;padding:24px}.auth-panel{width:100%}.auth-switch{display:flex;gap:8px;justify-content:center;margin-top:20px;color:#64748b}.type-radio{display:grid;grid-template-columns:1fr 1fr;gap:8px}.type-radio .ant-radio-button-wrapper{height:44px;border-radius:8px;text-align:center}.type-radio .ant-radio-button-wrapper:before{display:none}.ledger-entry-type-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.ledger-entry-type-selector .ledger-entry-type-option{display:flex;height:52px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;box-shadow:none;color:#64748b;font-size:16px;font-weight:700;line-height:1}.ledger-entry-type-selector .ledger-entry-type-option:before{display:none}.ledger-entry-type-selector .ledger-entry-type-expense{background:#fff7f6;color:#b42318}.ledger-entry-type-selector .ledger-entry-type-income{background:#f0fdfa;color:#0f766e}.ledger-entry-type-selector .ledger-entry-type-expense.ant-radio-button-wrapper-checked{border-color:#dc2626;background:#dc2626;box-shadow:none;color:#fff}.ledger-entry-type-selector .ledger-entry-type-income.ant-radio-button-wrapper-checked{border-color:#0f766e;background:#0f766e;box-shadow:none;color:#fff}.debt-direction-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.debt-direction-selector .debt-direction-option{display:flex;height:52px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #e2e8f0;border-radius:10px;box-shadow:none;font-size:16px;font-weight:700;line-height:1}.debt-direction-selector .debt-direction-option:before{display:none}.debt-direction-selector .debt-direction-receivable{background:#f0fdfa;color:#0f766e}.debt-direction-selector .debt-direction-payable{background:#fff7ed;color:#c2410c}.debt-direction-selector .debt-direction-receivable.ant-radio-button-wrapper-checked{border-color:#0f766e;background:#0f766e;box-shadow:none;color:#fff}.debt-direction-selector .debt-direction-payable.ant-radio-button-wrapper-checked{border-color:#ea580c;background:#ea580c;box-shadow:none;color:#fff}.reminder-type-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.reminder-type-selector .reminder-type-option{display:flex;height:52px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #e2e8f0;border-radius:10px;box-shadow:none;font-size:16px;font-weight:700;line-height:1}.reminder-type-selector .reminder-type-option:before{display:none}.reminder-type-selector .reminder-type-general{background:#eff6ff;color:#1d4ed8}.reminder-type-selector .reminder-type-debt{background:#fff7ed;color:#c2410c}.reminder-type-selector .reminder-type-general.ant-radio-button-wrapper-checked{border-color:#2563eb;background:#2563eb;box-shadow:none;color:#fff}.reminder-type-selector .reminder-type-debt.ant-radio-button-wrapper-checked{border-color:#ea580c;background:#ea580c;box-shadow:none;color:#fff}.ledger-amount-input.ant-input-number-affix-wrapper{min-height:56px;padding-inline:14px;border-radius:10px}.ledger-amount-input .ant-input-number-prefix{margin-inline-end:8px;color:#64748b;font-size:22px;font-weight:600}.ledger-amount-input .ant-input-number-input{height:54px;padding:0;font-size:28px;font-weight:700;line-height:54px}.ledger-category-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:2px}.ledger-category-modal-picker{display:grid;max-height:55vh;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow-y:auto;overscroll-behavior:contain;padding:2px}.ledger-category-option{width:100%;min-width:0;min-height:44px;height:auto;padding:7px 8px;border-color:#e2e8f0;border-radius:8px;background:#f8fafc;box-shadow:none;color:#64748b}.ledger-category-option:hover{border-color:#91caff;background:#f0f7ff;color:#1677ff}.ledger-category-option-selected,.ledger-category-option-selected:hover{border-color:#1677ff;background:#1677ff;color:#fff}.ledger-category-option-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-payment-method-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.ledger-payment-method-selector .ant-radio-button-wrapper{display:flex;align-items:center;justify-content:center;min-width:0;height:44px;padding-inline:8px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#64748b;line-height:1.2}.ledger-payment-method-selector .ant-radio-button-wrapper:before{display:none}.ledger-payment-method-selector .ant-radio-button-wrapper-checked,.ledger-payment-method-selector .ant-radio-button-wrapper-checked:hover{border-color:#1677ff;background:#e6f4ff;color:#1677ff;font-weight:600}.mobile-shell{position:relative;padding-bottom:72px}.mobile-content{padding:20px 16px 96px}.page-header{margin-bottom:18px}.page-header h2,.auth-panel h1{margin-bottom:4px}.muted{color:#64748b}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-alert{margin-bottom:12px}.filter-panel{display:grid;gap:10px;margin-bottom:14px}.wrap-radio-group{display:flex;flex-wrap:wrap;gap:8px}.wrap-radio-group .ant-radio-button-wrapper{border-inline-start-width:1px;border-radius:8px}.wrap-radio-group .ant-radio-button-wrapper:before{display:none}.date-filter-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.amount-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ledger-filter-select-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.filter-action-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.debt-payment-export-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px}.debt-payment-history{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.debt-payment-history-loading{display:flex;justify-content:center;padding:20px 0}.debt-payment-history-list .ant-list-item{padding-inline:0}.debt-payment-history-item{min-width:0;width:100%}.debt-payment-history-primary,.debt-payment-history-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.debt-payment-history-meta{justify-content:flex-start;margin-top:8px}.debt-payment-history-remark{margin:8px 0 0!important;overflow-wrap:anywhere}.ledger-meta{display:flex;flex-wrap:wrap;gap:6px 10px;color:#64748b;font-size:12px}.ledger-pagination,.debt-pagination,.reminder-pagination{display:flex;justify-content:center;margin:16px 0}.full-width{width:100%}.metric-card,.home-metrics-card,.summary-card,.recent-card{border-radius:8px}.home-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.home-header .ant-typography{margin-bottom:0}.home-header-date{flex:none;margin-top:6px;color:#94a3b8;font-size:12px}.home-section+.home-section{margin-top:22px}.home-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.home-section-heading h2{margin:0;color:#172033;font-size:17px;line-height:1.4}.home-section-heading span{color:#94a3b8;font-size:12px}.home-metrics-card,.home-activity-card{overflow:hidden;border:1px solid #e7edf5;border-radius:16px;box-shadow:0 8px 30px #1e40af0d}.home-metrics-card .ant-card-body{padding:5px}.home-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.home-metric-item{position:relative;min-width:0;padding:15px 13px;background:#fff}.home-metric-item:nth-child(odd):after{position:absolute;top:14px;right:0;bottom:14px;width:1px;background:#eef2f7;content:""}.home-metric-item:nth-child(n+3){border-top:1px solid #eef2f7}.home-metric-item span{display:block;color:#8491a5;font-size:12px;line-height:1.4}.home-metric-item strong{display:block;min-width:0;margin-top:6px;color:#1e293b;font-size:clamp(18px,5.5vw,23px);font-variant-numeric:tabular-nums;line-height:1.15;overflow-wrap:anywhere}.home-metric-item strong small{margin:0 2px;font-size:11px;font-weight:600}.home-metric-income strong{color:#089981}.home-metric-expense strong{color:#ef5b5b}.home-metric-warning strong{color:#e58a19}.ai-orb{position:relative;display:inline-block;flex:none;border-radius:50%;background:radial-gradient(circle at 32% 27%,rgba(255,255,255,.96) 0 7%,transparent 24%),radial-gradient(circle at 68% 70%,#8b5cf6 0 12%,transparent 44%),linear-gradient(145deg,#3fd4ff,#3974f6 42%,#6d4de8 75%,#d66ff4);box-shadow:inset -5px -7px 14px #27289152,inset 5px 5px 12px #ffffff57,0 6px 18px #485be061}.ai-orb:after{position:absolute;inset:-5px;border-radius:inherit;background:radial-gradient(circle,rgba(75,126,255,.28),transparent 68%);content:"";animation:ai-orb-glow 2.8s ease-in-out infinite}@keyframes ai-orb-glow{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}.ai-assistant-entry{position:fixed;right:max(16px,calc((100vw - 480px)/2 + 16px));bottom:calc(78px + env(safe-area-inset-bottom));z-index:12;display:flex;width:62px;height:62px;align-items:center;justify-content:center;flex-direction:column;gap:1px;padding:6px 5px 5px;border:1px solid rgba(255,255,255,.82);border-radius:50%;background:#fffffff0;box-shadow:0 12px 34px #2a449747,0 2px 8px #2d47a61f;color:#3347a9;cursor:pointer;font:inherit;font-size:11px;font-weight:700;line-height:1;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease;-webkit-tap-highlight-color:transparent}.ai-assistant-entry:hover{box-shadow:0 15px 38px #2a449757;transform:translateY(-2px)}.ai-assistant-entry:active{box-shadow:0 6px 18px #2a449738;transform:scale(.9)}.ai-assistant-entry:focus-visible{outline:3px solid rgba(22,119,255,.32);outline-offset:3px}.ai-assistant-entry-orb{position:absolute;inset:5px;width:auto;height:auto}.ai-assistant-entry-visual{position:relative;width:39px;height:39px;flex:none}.ai-assistant-entry-ring{position:absolute;inset:0;border:1px solid rgba(83,102,235,.2);border-radius:50%;animation:ai-entry-ring 2.6s ease-out infinite}.ai-assistant-entry-spark{position:absolute;top:3px;right:2px;width:6px;height:6px;border:2px solid #fff;border-radius:50%;background:#b96fff;box-shadow:0 0 8px #b162ffe6;animation:ai-entry-spark 2s ease-in-out infinite}.ai-assistant-entry-label{line-height:1.1}@keyframes ai-entry-ring{0%{opacity:.75;transform:scale(.72)}75%,to{opacity:0;transform:scale(1.28)}}@keyframes ai-entry-spark{0%,to{opacity:.55;transform:scale(.75)}50%{opacity:1;transform:scale(1.12)}}.ai-assistant-page{display:flex;min-height:calc(100dvh - 116px);flex-direction:column;padding-bottom:calc(106px + env(safe-area-inset-bottom))}.ai-assistant-page-header{display:grid;grid-template-columns:40px 42px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:22px}.ai-assistant-page-header .ant-btn{margin-left:-10px}.ai-assistant-page-header .ant-typography{margin:0;font-size:22px}.ai-assistant-header-orb{width:38px;height:38px}.ai-assistant-chat{display:flex;min-height:320px;flex:1;flex-direction:column}.ai-assistant-welcome{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:flex-start;gap:10px}.ai-assistant-message-orb{width:30px;height:30px;margin-top:3px}.ai-assistant-message-orb{position:sticky;top:12px;box-shadow:inset -4px -5px 11px #27289147,inset 4px 4px 9px #ffffff59,0 4px 14px #485be04d}.ai-assistant-welcome p{margin:0;padding:13px 14px;border:1px solid #e7edf5;border-radius:4px 16px 16px;background:#fff;box-shadow:0 7px 24px #1e40af0f;color:#354158;font-size:14px;line-height:1.7}.ai-assistant-welcome p strong,.ai-assistant-welcome p span{display:block}.ai-assistant-welcome p strong{margin-bottom:4px;color:#263650;font-size:14px}.ai-assistant-welcome p span{color:#68768c}.ai-assistant-empty-state{animation:ai-message-enter .36s cubic-bezier(.2,.8,.2,1) both}.ai-assistant-empty-examples{display:grid;gap:8px;margin:18px 0 2px 44px}.ai-assistant-empty-examples>span{color:#9aa6b7;font-size:11px;font-weight:600;letter-spacing:.04em}.ai-assistant-empty-examples button{width:fit-content;padding:8px 12px;border:1px solid #e5eaf5;border-radius:12px;background:#ffffffc2;color:#596981;cursor:pointer;font:inherit;font-size:12px;text-align:left;transition:border-color .16s ease,color .16s ease,transform .16s ease}.ai-assistant-empty-examples button:active{border-color:#aebff3;color:#435fc4;transform:scale(.98)}.ai-assistant-message-content{display:flex;min-width:0;flex-direction:column;align-items:flex-start}.ai-assistant-message-content time{margin-top:5px;color:#a2adbc;font-size:10px;line-height:1}.ai-assistant-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0 44px}.ai-assistant-quick-actions button{padding:5px 12px;border:1px solid #e4eaf3;border-radius:999px;background:#ffffffb8;color:#8995a8;cursor:pointer;font:inherit;font-size:12px}.ai-assistant-quick-actions button:active{background:#eef3fb}.ai-assistant-placeholder{margin:auto 0;color:#c1c9d5;font-size:12px;text-align:center}.ai-assistant-message-list{display:flex;flex:1;flex-direction:column;gap:14px;padding-top:20px}.ai-assistant-message{animation:ai-message-enter .32s cubic-bezier(.2,.8,.2,1) both}@keyframes ai-message-enter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-assistant-message p{margin:0}.ai-assistant-user-message{display:flex;justify-content:flex-end}.ai-assistant-user-message .ai-assistant-message-content{width:fit-content;max-width:82%;align-items:flex-end}.ai-assistant-user-message p{max-width:100%;padding:11px 14px;border-radius:16px 4px 16px 16px;background:linear-gradient(145deg,#3478f6,#615bdd);box-shadow:0 7px 20px #425bd22e;color:#fff;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.ai-assistant-result-message{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:flex-start;gap:10px}.ai-assistant-result-message>.ai-assistant-message-content{width:100%}.ai-assistant-error-bubble,.ai-assistant-loading .ai-assistant-message-content>p{min-width:0;padding:12px 14px;border:1px solid #e7edf5;border-radius:4px 16px 16px;background:#fff;box-shadow:0 7px 24px #1e40af0f}.ai-assistant-text-reply{margin:0;white-space:pre-wrap}.ai-ledger-query-card{overflow:hidden;border:1px solid #dce5f1;border-radius:16px;background:#fff;box-shadow:0 10px 28px #2c48701a}.ai-ledger-query-card>header{padding:14px 16px 10px;background:linear-gradient(135deg,#f4f8ff,#f6fffc)}.ai-ledger-query-card>header div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ai-ledger-query-card>header strong{color:#26364d;font-size:14px}.ai-ledger-query-card>header span{color:#8a97a9;font-size:11px}.ai-ledger-query-total-card>strong{display:block;padding:16px 16px 4px;font-size:28px;font-variant-numeric:tabular-nums}.ai-ledger-query-card strong.income{color:#089981}.ai-ledger-query-card strong.expense{color:#e75555}.ai-ledger-query-card strong.balance{color:#376bd6}.ai-ledger-query-total-card>p,.ai-ledger-query-summary-card>p{margin:0;padding:0 16px 15px;color:#7d899a;font-size:12px}.ai-ledger-query-finance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:12px 16px 10px;overflow:hidden;border-radius:10px;background:#e9eef5}.ai-ledger-query-finance-grid>div{display:grid;gap:5px;min-width:0;padding:12px 8px;background:#f8fafc;text-align:center}.ai-ledger-query-finance-grid span{color:#8793a5;font-size:11px}.ai-ledger-query-finance-grid strong{overflow:hidden;font-size:14px;text-overflow:ellipsis}.ai-ledger-query-entry-list{padding:2px 14px 8px}.ai-ledger-query-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 2px;border-bottom:1px solid #edf0f4}.ai-ledger-query-entry:last-child{border-bottom:0}.ai-ledger-query-entry>div{display:grid;min-width:0;gap:2px}.ai-ledger-query-entry time,.ai-ledger-query-entry span{color:#8a96a7;font-size:10px}.ai-ledger-query-entry strong{overflow:hidden;color:#344158;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.ai-ledger-query-entry>b{flex:none;font-size:13px;font-variant-numeric:tabular-nums}.ai-ledger-query-list-card>.ant-btn{width:100%;border-top:1px solid #edf0f4;border-radius:0;color:#54709c}.ai-ledger-query-empty{margin:0;padding:20px 16px;color:#8b97a8;text-align:center}.ai-assistant-result-message strong{display:block;color:#4655b8;font-size:13px}.ai-assistant-result-message pre{max-width:100%;margin:9px 0 0;overflow-x:auto;color:#526078;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.ai-result-card{min-width:0;overflow:hidden;border:1px solid #e5ebf4;border-radius:16px;background:#fff;box-shadow:0 12px 34px #1f387e1a,0 2px 8px #1f387e0a;transition:border-color .18s ease,box-shadow .18s ease}.ai-result-card-status-pending{border-color:#f0c978;box-shadow:0 12px 34px #b575121f,inset 3px 0 #f2b84b}.ai-result-card-status-success{border-color:#bce9db;box-shadow:0 12px 34px #0899811a,inset 3px 0 #25b894}.ai-result-card-status-error{border-color:#f2c2c7;box-shadow:0 12px 34px #c2414b1a,inset 3px 0 #dc6570}.ai-result-card>header{display:flex;align-items:center;gap:9px;padding:13px 14px;border-bottom:1px solid #eef2f7;color:#293750}.ai-result-card>header>span{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:#edf3ff;color:#4475e7}.ai-result-title{display:grid;min-width:0;gap:2px}.ai-result-card>header strong{font-size:14px}.ai-result-title em{color:#98a3b3;font-size:10px;font-style:normal;font-weight:400}.ai-result-card>header small{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:3px 7px;border-radius:999px;background:#fff7e8;color:#c87816;font-size:10px;font-weight:600}.ai-result-card>header small i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:ai-status-pulse 1.5s ease-in-out infinite}.ai-result-card>header small.success{background:#eaf9f4;color:#078873}@keyframes ai-status-pulse{50%{opacity:.35;transform:scale(.72)}}.ai-result-card-ledger>header>span{background:#e9fbf6;color:#089981}.ai-result-card-debt>header>span{background:#f1efff;color:#635bdf}.ai-result-card-reminder>header>span{background:#fff7e8;color:#d77c12}.ai-result-card-analysis>header>span{background:#eef4ff;color:#3572e8}.ai-result-card-multi>header>span{background:linear-gradient(145deg,#edf3ff,#f3edff);color:#5f61d9}.ai-result-multi-list{display:grid;gap:10px;padding:12px 14px 8px}.ai-result-multi-item{overflow:hidden;border:1px solid #e7ebf3;border-radius:13px;background:#fbfcff;transition:border-color .18s ease,background .18s ease}.ai-result-multi-item.success{border-color:#c8eadf;background:#f7fdfa}.ai-result-multi-item.failed{border-color:#f2cdd1;background:#fff9f9}.ai-result-multi-item>header{display:flex;align-items:center;gap:7px;padding:10px 11px 5px}.ai-result-multi-item>header strong{flex:1;color:#344158;font-size:12px}.ai-result-multi-item>header small{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700}.ai-result-multi-item>header small.success{color:#078873}.ai-result-multi-item>header small.failed{color:#c2414b}.ai-result-multi-index{display:grid;width:20px;height:20px;place-items:center;border-radius:7px;background:#edf1f8;color:#718096;font-size:10px;font-weight:700}.ai-result-multi-index.ledger{background:#e9fbf6;color:#089981}.ai-result-multi-index.debt{background:#f1efff;color:#635bdf}.ai-result-multi-index.reminder{background:#fff7e8;color:#d77c12}.ai-result-multi-icon{display:inline-flex;color:#728099;font-size:13px}.ai-result-multi-item .ai-result-fields{padding:3px 11px 8px}.ai-result-multi-item .ai-result-fields>div{grid-template-columns:58px minmax(0,1fr);padding:6px 0;font-size:11px}.ai-result-multi-error{margin:0 11px 10px!important;color:#c2414b;font-size:11px;line-height:1.45}.ai-result-fields{margin:0;padding:7px 14px}.ai-result-fields>div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid #f0f3f7;font-size:13px}.ai-result-fields>div:last-child{border-bottom:0}.ai-result-fields dt{color:#8b97a9}.ai-result-fields dd{margin:0;color:#344158;font-weight:600;overflow-wrap:anywhere;text-align:right}.ai-result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 14px 14px}.ai-result-actions .ant-btn{min-width:0;height:38px;border-radius:10px;font-weight:600}.ai-result-actions .ant-btn-primary{box-shadow:0 6px 14px #3469e133}.ai-result-actions-three{grid-template-columns:repeat(3,minmax(0,1fr))}.ai-ledger-vouchers{display:grid;gap:10px;margin:0 14px 12px;padding-top:12px;border-top:1px solid #edf0f5}.ai-ledger-vouchers-header{display:flex;align-items:center;justify-content:space-between;color:#344158;font-size:12px}.ai-ledger-vouchers-header span{color:#7b8799;font-variant-numeric:tabular-nums}.ai-ledger-voucher-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ai-ledger-voucher-item{position:relative;overflow:hidden;border:1px solid #e2e8f0;border-radius:9px;background:#fff}.ai-ledger-voucher-item .ant-image{display:block;width:100%}.ai-ledger-voucher-item img{display:block;width:100%;aspect-ratio:1;object-fit:cover;cursor:zoom-in}.ai-ledger-voucher-item .ant-btn{position:absolute;top:2px;right:2px;width:28px;height:28px;border-radius:50%;background:#ffffffeb}.ai-ledger-voucher-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-ledger-voucher-actions .ant-btn{min-width:0}.ai-ledger-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px 14px 4px}.ai-ledger-edit-form label{display:grid;min-width:0;gap:5px}.ai-ledger-edit-form label>span:first-child{color:#8b97a9;font-size:11px}.ai-ledger-edit-form .ant-input-number,.ai-ledger-edit-form .ant-select{width:100%}.ai-ledger-edit-form .ant-radio-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ai-ledger-edit-form .ant-radio-button-wrapper{padding-inline:8px;text-align:center}.ai-ledger-edit-remark{grid-column:1 / -1}@media(max-width:420px){.ai-ledger-edit-form{grid-template-columns:1fr}.ai-ledger-edit-remark{grid-column:auto}}.ai-result-confirmation-hint{display:flex;align-items:center;gap:7px;margin:2px 14px 0!important;padding:9px 10px;border-radius:10px;background:#fff9ed;color:#9b6719;font-size:11px;line-height:1.45}.ai-result-confirmation-hint:before{width:6px;height:6px;flex:none;border-radius:50%;background:#e8a72f;box-shadow:0 0 0 4px #e8a72f1f;content:""}.ai-result-decision{margin:10px 14px 14px!important;padding:10px 12px;border-radius:10px;background:#eaf9f4;color:#089981;font-size:12px;font-weight:600;text-align:center}.ai-result-decision.cancelled{background:#f3f5f8;color:#8793a5}.ai-result-decision.error{background:#fff0f1;color:#c2414b;line-height:1.5}.ai-result-ledger-list{margin:0 14px 12px;border-top:1px solid #eef2f7}.ai-result-ledger-list>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #f0f3f7}.ai-result-ledger-list span{display:grid;min-width:0;gap:2px}.ai-result-ledger-list span strong{overflow:hidden;color:#3e4a5f;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.ai-result-ledger-list span small{color:#9ba6b5;font-size:10px}.ai-result-ledger-list b{flex:none;font-size:12px;font-variant-numeric:tabular-nums}.ai-result-ledger-list b.income{color:#089981}.ai-result-ledger-list b.expense{color:#ef5b5b}.ai-result-card-query>.ant-btn{width:calc(100% - 28px);margin:0 14px 14px;border-radius:10px}.ai-result-empty{margin:0!important;padding:16px 14px;color:#98a3b3;font-size:12px;text-align:center}.ai-result-finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:12px 14px;overflow:hidden;border:1px solid #edf1f6;border-radius:12px;background:#edf1f6}.ai-result-finance-summary>div{min-width:0;padding:10px 5px;background:#f9fbfe;text-align:center}.ai-result-finance-summary span{display:block;color:#929daf;font-size:10px}.ai-result-finance-summary strong{display:block;margin-top:4px;color:#334155;font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ai-result-finance-summary strong.income{color:#089981}.ai-result-finance-summary strong.expense{color:#ef5b5b}.ai-result-card h4{margin:15px 14px 7px;color:#59667b;font-size:12px}.ai-result-ranking{margin:0;padding:0 14px 13px;list-style:none}.ai-result-ranking li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;color:#4b596f;font-size:12px}.ai-result-ranking li span{display:inline-flex;min-width:0;align-items:center;gap:8px}.ai-result-ranking li i{display:grid;width:19px;height:19px;flex:none;place-items:center;border-radius:6px;background:#edf3ff;color:#5277d5;font-size:10px;font-style:normal}.ai-result-ranking li strong{flex:none;color:#344158;font-size:12px}.ai-assistant-message-error{color:#c2414b;font-size:13px;line-height:1.6}.ai-assistant-loading .ai-assistant-message-content>p{color:#7d899d;font-size:13px}.ai-assistant-typing-dots{display:inline-flex;align-items:center;gap:3px;margin-left:5px}.ai-assistant-typing-dots i{width:4px;height:4px;border-radius:50%;background:#7685a0;animation:ai-assistant-typing 1.1s ease-in-out infinite}.ai-assistant-typing-dots i:nth-child(2){animation-delay:.14s}.ai-assistant-typing-dots i:nth-child(3){animation-delay:.28s}@keyframes ai-assistant-typing{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.ai-assistant-loading .ai-orb{animation:ai-orb-loading 1.1s ease-in-out infinite}@keyframes ai-orb-loading{0%,to{transform:scale(.9);opacity:.72}50%{transform:scale(1.06);opacity:1}}.ai-assistant-footer{display:grid;gap:10px;padding:18px 0 max(8px,env(safe-area-inset-bottom))}.ai-assistant-input-row{position:fixed;right:50%;bottom:calc(70px + max(8px,env(safe-area-inset-bottom)));z-index:12;display:grid;grid-template-columns:minmax(0,1fr) 42px 42px;width:min(calc(100% - 24px),456px);gap:8px;padding:7px;border:1px solid #e1e8f1;border-radius:16px;background:#fffffff0;box-shadow:0 10px 32px #1e347029;transform:translate(50%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.ai-assistant-input-row input{min-width:0;border:0;outline:0;padding:0 7px;background:transparent;color:#475569;font:inherit;font-size:14px;caret-color:#4f64dc}.ai-assistant-input-row:focus-within{border-color:#afbef0;box-shadow:0 12px 36px #2a449733,0 0 0 3px #4f64dc14}.ai-assistant-input-row input::placeholder{color:#aab4c3}.ai-assistant-input-row button{width:42px;height:42px;padding:0;border:0;border-radius:12px;background:#eef3fb;color:#8794aa;font-size:17px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.ai-assistant-input-row button:not(:disabled):active{transform:scale(.88)}.ai-assistant-input-row button:last-child{background:linear-gradient(145deg,#3478f6,#615bdd);color:#ffffffd1}.ai-assistant-input-row button:disabled{cursor:not-allowed;opacity:.48}.ai-assistant-input-row .ai-assistant-voice-button.listening{background:#ef5b5b;box-shadow:0 0 0 5px #ef5b5b24;color:#fff;animation:ai-assistant-recording-pulse 1.15s ease-in-out infinite}.ai-assistant-input-row .ai-assistant-voice-button:not(.listening):not(:disabled):hover{background:#e3ebfa;color:#5f72a1}@media(prefers-reduced-motion:reduce){.ai-orb:after,.ai-assistant-entry-ring,.ai-assistant-entry-spark,.ai-assistant-message,.ai-assistant-empty-state,.ai-assistant-typing-dots i,.ai-assistant-loading .ai-orb,.ai-assistant-voice-button,.ai-result-card>header small i{animation:none!important}.ai-assistant-entry,.ai-assistant-input-row button{transition:none}}@keyframes ai-assistant-recording-pulse{0%,to{transform:scale(.96)}50%{transform:scale(1.04)}}.ai-assistant-voice-status{position:fixed;right:50%;bottom:calc(134px + env(safe-area-inset-bottom));z-index:13;display:inline-flex;min-height:30px;align-items:center;justify-content:center;gap:8px;color:#66758c;padding:4px 12px;border:1px solid #e4e9f1;border-radius:999px;background:#fffffff0;box-shadow:0 6px 18px #28375f1f;font-size:13px;font-weight:600;transform:translate(50%)}.ai-assistant-voice-status span{width:8px;height:8px;border-radius:50%;background:#4d7df3;box-shadow:0 0 0 5px #4d7df31f;animation:ai-assistant-recording-pulse 1.15s ease-in-out infinite}.ai-assistant-voice-status.listening{color:#d64552}.ai-assistant-voice-status.listening span{background:#ef5b5b;box-shadow:0 0 0 5px #ef5b5b1f}.ai-assistant-voice-debug{border:1px dashed #d7deea;border-radius:12px;background:#ffffff94;color:#66758a;font-size:12px}.ai-assistant-voice-debug summary{padding:9px 11px;cursor:pointer;font-weight:600}.ai-assistant-voice-debug dl{margin:0;padding:0 11px 10px}.ai-assistant-voice-debug dl div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:8px;padding:6px 0;border-top:1px solid #e8edf4}.ai-assistant-voice-debug dt{font-weight:600}.ai-assistant-voice-debug dd{margin:0;overflow-wrap:anywhere}.ai-assistant-history-entry{display:flex;min-height:42px;align-items:center;justify-content:space-between;padding:0 12px;border:0;background:transparent;color:#65738a;cursor:pointer;font:inherit;font-size:13px}.ai-assistant-history-entry span:first-child{display:inline-flex;align-items:center;gap:7px}.ai-assistant-history-entry span:last-child{color:#a4afbf;font-size:12px}.home-ai-voice-card{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-height:0;align-items:center;gap:0;padding:9px 10px 10px;border:0;border-radius:16px;background:linear-gradient(135deg,#2767f3,#635bdf);box-shadow:0 14px 30px #3753d23d;color:#fff;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.home-ai-voice-card,.home-ai-voice-card *{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.home-ai-capabilities{display:flex;justify-content:center;flex-wrap:wrap;gap:5px}.home-ai-capabilities small{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#ffffff1f;color:#ffffffdb;font-size:11px;line-height:1.2;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.home-ai-voice-center{display:flex;min-width:0;flex-direction:column;align-items:center;gap:5px}.ai-voice-assistant,.ai-voice-assistant *{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.ai-voice-assistant{position:relative;display:grid;width:88px;height:88px;flex:none;place-items:center}.ai-voice-assistant-button{position:relative;z-index:2;display:flex;width:80px;height:80px;align-items:center;justify-content:center;flex-direction:column;gap:1px;padding:7px;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:linear-gradient(145deg,#ffffff47,#ffffff1f);box-shadow:0 12px 28px #11185847,inset 0 1px #ffffff52;color:#fff;cursor:pointer;font:inherit;animation:ai-voice-breathe 2.4s ease-in-out infinite}.ai-voice-assistant-button:focus-visible{outline:3px solid rgba(255,255,255,.72);outline-offset:4px}.ai-voice-assistant-icon{font-size:22px;line-height:1}.home-ai-voice-card-compact .ai-voice-assistant-button strong{font-size:13px}.home-ai-voice-card-compact .ai-voice-assistant-button small{color:#ffffffd1;font-size:10px}.ai-voice-assistant-ripple{position:absolute;z-index:1;width:76px;height:76px;border:2px solid rgba(255,82,82,.72);border-radius:50%;opacity:0;pointer-events:none}.ai-voice-assistant-listening .ai-voice-assistant-ripple{animation:ai-voice-ripple 1.4s ease-out infinite}.ai-voice-assistant-cancel-ready .ai-voice-assistant-ripple{border-color:#fffc;animation:ai-voice-ripple .9s ease-out infinite}.ai-voice-assistant-listening .ai-voice-assistant-ripple-delay{animation-delay:.7s}.ai-voice-assistant-listening .ai-voice-assistant-button{border-color:#ffbebee6;background:linear-gradient(145deg,#ef4444,#c81e1e);animation:none}.ai-voice-assistant-cancel-ready .ai-voice-assistant-button{border-color:#ffffffe6;background:linear-gradient(145deg,#64748b,#334155);animation:none}.ai-voice-assistant-processing .ai-voice-assistant-button{animation:ai-voice-breathe 1.2s ease-in-out infinite}.ai-voice-assistant-wave{display:flex;height:12px;align-items:center;gap:3px;margin-top:2px;opacity:0}.ai-voice-assistant-listening .ai-voice-assistant-wave,.ai-voice-assistant-cancel-ready .ai-voice-assistant-wave{opacity:1}.ai-voice-assistant-wave i{width:3px;height:5px;border-radius:999px;background:#fff;animation:ai-voice-wave-bar .7s ease-in-out infinite}.ai-voice-assistant-wave i:nth-child(2){animation-delay:.1s}.ai-voice-assistant-wave i:nth-child(3){animation-delay:.2s}.ai-voice-assistant-wave i:nth-child(4){animation-delay:.3s}@keyframes ai-voice-breathe{0%,to{transform:scale(.98)}50%{transform:scale(1.03)}}@keyframes ai-voice-ripple{0%{transform:scale(.9);opacity:.72}to{transform:scale(1.35);opacity:0}}@keyframes ai-voice-wave-bar{0%,to{height:4px}50%{height:12px}}.voice-dev-debug{margin-top:10px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#475569;font-size:12px}.voice-dev-debug summary{padding:8px 10px;cursor:pointer;font-weight:600;user-select:none;-webkit-user-select:none}.voice-dev-debug dl{display:grid;gap:0;margin:0;padding:0 10px 10px}.voice-dev-debug dl div{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);gap:8px;padding:6px 0;border-top:1px solid #e2e8f0}.voice-dev-debug dt{font-weight:600}.voice-dev-debug dd{margin:0;overflow-wrap:anywhere}.home-ai-debug{grid-column:1 / -1;width:100%}.home-ai-history-link{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;margin-top:8px;padding:8px 12px;border:1px solid #e7edf5;border-radius:12px;background:#fff;color:#52627a;cursor:pointer;font-size:13px;touch-action:manipulation}.home-ai-history-link span{display:inline-flex;align-items:center;gap:7px}.home-ai-history-link:active{background:#f5f8ff}.ai-history-page-header{display:flex;align-items:center;gap:6px}.ai-history-page-header .ant-btn{flex:none;margin:1px 0 0 -10px}.ai-history-page-header .ant-typography{margin-bottom:0}.ai-history-heading-copy{min-width:0;flex:1}.ai-history-new-button{flex:none;height:38px;border-radius:12px;box-shadow:0 7px 16px #3469e133}.ai-history-list{display:grid;gap:12px}.ai-history-item{display:grid;gap:11px;padding:15px;border:1px solid #e7edf5;border-radius:16px;background:#fff;box-shadow:0 6px 22px #1e40af0d}.ai-history-item-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-history-task{display:inline-flex;min-width:0;align-items:center;gap:7px;color:#263248;font-size:15px;font-weight:700}.ai-history-task .anticon{color:#4f63db}.ai-history-item time{color:#94a3b8;font-size:11px}.ai-history-input,.ai-history-summary{padding:11px 12px;border-radius:11px;background:#f8fafc}.ai-history-summary{background:#f3f6ff}.ai-history-input>span,.ai-history-summary>span{display:block;margin-bottom:5px;color:#8491a5;font-size:11px}.ai-history-input p,.ai-history-summary p{margin:0;color:#334155;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.ai-history-pagination{display:flex;justify-content:center;margin-top:18px}.ai-conversation-list{display:grid;gap:10px;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.ai-conversation-card{display:grid;grid-template-columns:44px minmax(0,1fr) 14px;align-items:start;gap:11px;width:100%;min-width:0;padding:15px 14px;border:1px solid #e5ebf4;border-radius:16px;background:#fff;box-shadow:0 7px 24px #1e40af0f;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.ai-conversation-card:hover{border-color:#d5dff1;box-shadow:0 10px 28px #1e40af17}.ai-conversation-card:active{transform:scale(.985);background:#f9fbff}.ai-conversation-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:linear-gradient(145deg,#e9f3ff,#eeeafe);color:#5369d8;font-size:18px}.ai-conversation-copy{display:grid;min-width:0;gap:6px}.ai-conversation-heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.ai-conversation-heading strong{min-width:0;overflow:hidden;color:#344158;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.ai-conversation-heading time{flex:none;color:#a0aaba;font-size:10px}.ai-conversation-ai-summary{display:flex;min-width:0;align-items:center;overflow:hidden;color:#8a96a8;font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.ai-conversation-status{display:inline-flex;width:fit-content;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;background:#eef8f5;color:#07856f;font-size:10px;font-weight:700}.ai-conversation-status i{width:5px;height:5px;border-radius:50%;background:currentColor}.ai-conversation-status.pending_confirm{background:#fff7e8;color:#bd7419}.ai-conversation-status.failed{background:#fff0f1;color:#c2414b}.ai-conversation-status.cancelled{background:#f1f3f6;color:#7b8798}.ai-conversation-arrow{align-self:center;color:#b5bfce;font-size:11px}.ai-history-empty{display:grid;justify-items:center;gap:4px;padding:32px 0}.ai-history-empty .ant-btn{border-radius:11px}@media(max-width:390px){.ai-history-page-header{flex-wrap:wrap}.ai-history-new-button{margin-left:36px}.ai-conversation-card{grid-template-columns:40px minmax(0,1fr) 12px;padding:13px 12px}.ai-conversation-icon{width:40px;height:40px}}.ai-status-listening{animation:ai-status-pulse 1.15s ease-in-out infinite}.ai-status-processing{animation:ai-status-glow 1.4s ease-in-out infinite}.ai-status-querying{animation:ai-status-pulse 1.35s ease-in-out infinite}.ai-status-complete{color:#07856f;animation:ai-status-arrive .28s ease-out both}.ai-assistant-status{font-weight:600}.ai-ledger-query-modal .ai-assistant-status{padding:11px 13px;border:1px solid #dbeafe;border-radius:10px;background:#f5f8ff;color:#3659b9;text-align:center}@keyframes ai-status-pulse{0%,to{opacity:.62;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes ai-status-glow{0%,to{opacity:.68}50%{opacity:1}}@keyframes ai-status-arrive{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ai-status-listening,.ai-status-processing,.ai-status-querying,.ai-status-complete{animation:none}}.home-activity-card .ant-card-body{padding:0 14px}.home-activity-list{display:flex;flex-direction:column}.home-activity-item{display:flex;width:100%;min-height:70px;align-items:center;gap:11px;padding:11px 0;border:0;border-bottom:1px solid #eef2f7;background:transparent;color:inherit;cursor:pointer;text-align:left}.home-activity-item:last-child{border-bottom:0}.home-activity-item:active{opacity:.65}.home-activity-icon{display:grid;width:38px;height:38px;flex:none;place-items:center;border-radius:12px;font-size:17px}.home-activity-icon-income{background:#e9fbf6;color:#089981}.home-activity-icon-expense{background:#fff0f0;color:#ef5b5b}.home-activity-icon-reminder{background:#eef4ff;color:#3572e8}.home-activity-icon-warning{background:#fff7e8;color:#e58a19}.home-activity-icon-debt{background:#f1efff;color:#635bdf}.home-activity-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}.home-activity-copy strong{overflow:hidden;color:#263248;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.home-activity-copy small{color:#94a3b8;font-size:11px}.home-activity-value{flex:none;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.home-activity-value-income{color:#089981}.home-activity-value-expense{color:#ef5b5b}.home-activity-value-debt{color:#635bdf}.home-activity-arrow{color:#b5bfce;font-size:11px}.home-activity-card .ant-empty{margin-block:28px}.recent-card{margin-top:14px}.home-recent-reminder-item{min-height:48px;cursor:pointer;transition:background-color .15s ease}.home-recent-reminder-item:hover,.home-recent-reminder-item:focus-visible{background:#f8fafc}.home-recent-reminder-item:active{background:#eff6ff}.summary-grid{margin-bottom:14px}.compact-metric .ant-card-body{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:8px}.compact-metric span{color:#64748b;font-size:13px}.compact-metric strong{color:#111827;font-size:18px}.plain-list{overflow:hidden;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.plain-list .ant-list-item{padding:14px 16px}.plain-list .ant-list-item.ledger-list-item-clickable{cursor:pointer;transition:background-color .12s ease}.plain-list .ant-list-item.ledger-list-item-clickable:hover{background:#f8fafc}.plain-list .ant-list-item.ledger-list-item-clickable:active{background:#f1f5f9}.ledger-list-item{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:12px}.ledger-list-item .ant-list-item-meta{min-width:0}.ledger-entry-title{display:flex;min-width:0;align-items:center;gap:8px}.ledger-entry-type-tag{flex:0 0 auto;margin-inline-end:0;border-width:1px;font-weight:700}.ledger-entry-type-tag-expense{border-color:#f97316;background:#fff1e8;color:#c2410c}.ledger-entry-type-tag-income{border-color:#22c55e;background:#ecfdf3;color:#15803d}.ledger-entry-category{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-entry-actions{display:flex;min-width:72px;align-items:flex-end;flex-direction:column;gap:8px;text-align:right}.ledger-entry-amount{max-width:100%;overflow:hidden;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.ledger-entry-buttons{display:flex;gap:6px}.spaced-list{margin-top:14px}.summary-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary-card .ant-card-body{display:flex;align-items:center;justify-content:space-between}.summary-card strong{color:#1677ff;font-size:24px}.money-in{color:#0f766e;font-weight:700}.money-out{color:#dc2626;font-weight:700}.money-neutral{color:#334155;font-weight:700}.debt-list-item{width:100%}.debt-entry-summary{min-width:0}.debt-entry-title{display:flex;min-width:0;align-items:center;gap:8px}.debt-contact-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debt-direction-tag{flex:0 0 auto;margin-inline-end:0;border-width:1px;font-weight:700}.debt-direction-tag-receivable{border-color:#14b8a6;background:#ecfdfb;color:#0f766e}.debt-direction-tag-payable{border-color:#f97316;background:#fff1e8;color:#c2410c}.debt-amount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 8px;color:#334155;font-size:13px}.debt-amount-grid span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debt-remaining-receivable{color:#0f766e;font-weight:700}.debt-remaining-payable{color:#c2410c;font-weight:700}.debt-note{margin:8px 0 0;color:#64748b;font-size:13px}.debt-entry-actions{display:flex;align-items:flex-end;flex-direction:column;gap:8px}.debt-create-contact-grid,.debt-create-date-grid{display:grid;gap:10px}.debt-create-contact-grid{grid-template-columns:minmax(0,45fr) minmax(0,55fr)}.debt-create-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.debt-create-date-due{grid-column:1 / -1}.item-actions{margin-top:12px}.debt-attachment-drawer{display:grid;gap:14px}.debt-attachment-summary{display:grid;gap:10px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.debt-attachment-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:#64748b;font-size:13px}.debt-attachment-summary-row strong{max-width:68%;color:#111827;text-align:right;overflow-wrap:anywhere}.debt-attachment-placeholder{padding:18px 12px;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;text-align:center}.ledger-attachment-drawer{display:grid;gap:14px}.ledger-attachment-summary{display:grid;gap:10px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.ledger-attachment-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:#64748b;font-size:13px}.ledger-attachment-summary-row strong{max-width:68%;color:#111827;text-align:right;overflow-wrap:anywhere}.ledger-attachment-placeholder{padding:18px 12px;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;text-align:center}.ledger-attachments-section{display:grid;gap:12px}.ledger-attachment-upload{display:flex;align-items:center;justify-content:space-between;gap:10px}.ledger-attachment-upload span{color:#64748b;font-size:12px;text-align:right}.ledger-attachment-input{display:none}.ledger-pending-attachments{display:grid;gap:10px;margin-bottom:8px}.ledger-voice-record{display:grid;gap:10px;margin-bottom:18px;padding:14px;border:1px solid #dbeafe;border-radius:12px;background:linear-gradient(135deg,#eff6ff,#f5f3ff)}.ledger-voice-record-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#1e3a8a}.ledger-voice-record-header span{color:#64748b;font-size:12px}.ledger-voice-record-button{min-height:64px;border-width:2px;border-color:#6366f1;border-radius:20px;background:#fff;color:#4338ca;font-size:16px;font-weight:700;touch-action:none;overscroll-behavior:contain;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.ledger-voice-record-button>span{display:inline-flex;align-items:center}.ledger-voice-record-button-icon{min-width:28px;justify-content:center;font-size:23px;line-height:1}.ledger-voice-record-button,.ledger-voice-record-button *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.ledger-voice-record-button-active{border-color:#dc2626;background:#dc2626;box-shadow:0 8px 20px #dc262638;color:#fff}.ledger-voice-record-button-active:hover,.ledger-voice-record-button-active:focus,.ledger-voice-record-button-active:active{border-color:#b91c1c!important;background:#b91c1c!important;color:#fff!important}.ledger-voice-record-status{display:flex;min-height:20px;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;color:#64748b;font-size:13px;text-align:center}.ledger-voice-record-status-recording{color:#dc2626;font-weight:600}.ledger-voice-wave{display:inline-flex;align-items:center;gap:2px}.ledger-voice-wave i{display:inline-block;font-style:normal;animation:ledger-voice-wave .9s ease-in-out infinite}.ledger-voice-wave i:nth-child(2){animation-delay:.15s}.ledger-voice-wave i:nth-child(3){animation-delay:.3s}@keyframes ledger-voice-wave{0%,to{transform:scaleY(.65);opacity:.45}50%{transform:scaleY(1.2);opacity:1}}.ledger-voice-record-status-uploading{color:#2563eb}.ledger-voice-record-status-success{color:#15803d}.ledger-voice-record-status-error{color:#b91c1c}.ai-voice-confirm-loading{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px;padding:16px;border:1px solid #dbeafe;border-radius:12px;color:#475569;background:#f8fafc}.ai-voice-confirm-card{display:grid;gap:16px;margin-bottom:18px;padding:16px;border:1px solid #c7d2fe;border-radius:14px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);box-shadow:0 8px 24px #4f46e514}.ai-voice-confirm-modal .ant-modal-content{max-height:min(88vh,760px);overflow:hidden;padding:0;border-radius:20px}.ai-voice-confirm-dialog{display:flex;max-height:min(88vh,760px);flex-direction:column}.ai-voice-confirm-modal .ai-voice-confirm-header{padding:20px 20px 14px;border-bottom:1px solid #eef2f7}.ai-voice-confirm-header>div{min-width:0}.ai-voice-confirm-header>div>span{display:block;margin-top:4px;color:#94a3b8;font-size:12px}.ai-voice-confirm-scroll{display:grid;gap:18px;min-height:0;overflow-y:auto;padding:16px 20px 20px;overscroll-behavior:contain}.ai-voice-confirm-modal .ai-voice-transcript,.ai-voice-confirm-modal .ai-voice-field{border:1px solid #e7edf5;background:#f8fafc}.ai-voice-voucher-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-voice-voucher-heading span{color:#94a3b8;font-size:12px}.ai-voice-voucher-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ai-voice-voucher-actions .ant-btn{min-height:48px;border-style:dashed;border-radius:10px}.ai-voice-voucher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ai-voice-voucher-preview{min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.ai-voice-voucher-preview img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:0}.ai-voice-voucher-preview button{display:flex;width:100%;min-height:34px;align-items:center;justify-content:center;gap:4px;padding:5px;border:0;border-top:1px solid #eef2f7;background:#fff;color:#dc2626;cursor:pointer;font-size:12px}.ai-voice-confirm-modal .ai-voice-confirm-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 20px max(16px,env(safe-area-inset-bottom));border-top:1px solid #eef2f7;background:#fff}.ai-voice-confirm-modal .ai-voice-confirm-actions .ant-btn{min-height:46px;padding-inline:8px;border-radius:10px}.ai-ledger-query-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ai-ledger-query-summary .ai-voice-field:last-child{grid-column:1 / -1;background:#eef4ff}.ai-ledger-query-list{overflow:hidden;border:1px solid #e7edf5;border-radius:12px;background:#fff}.ai-ledger-query-item{display:grid;gap:7px;padding:13px 14px;border-bottom:1px solid #eef2f7}.ai-ledger-query-item:last-child{border-bottom:0}.ai-ledger-query-item-main,.ai-ledger-query-item-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-ledger-query-item-main strong{min-width:0;overflow:hidden;color:#253047;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.ai-ledger-query-item-main>span{flex:none;font-weight:700;font-variant-numeric:tabular-nums}.ai-ledger-query-item-meta{justify-content:flex-start;color:#94a3b8;font-size:11px}.ai-ledger-query-item-meta span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-ledger-query-attachments{display:grid;grid-template-columns:repeat(4,54px);gap:7px;margin-top:2px}.ai-ledger-query-attachments .ant-image{display:block;width:54px;height:54px;overflow:hidden;border:1px solid #e2e8f0;border-radius:8px}.ai-ledger-query-attachment{width:54px!important;height:54px!important;object-fit:cover}.ai-ledger-query-attachments-loading{color:#94a3b8;font-size:11px}.ai-ledger-query-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;padding:14px 20px max(16px,env(safe-area-inset-bottom));border-top:1px solid #eef2f7;background:#fff}.ai-ledger-query-actions .ant-btn{min-height:46px;border-radius:10px}.ai-debt-confirm-fields .ai-voice-field:last-child{grid-column:1 / -1}.ai-debt-confirm-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 20px max(16px,env(safe-area-inset-bottom));border-top:1px solid #eef2f7;background:#fff}.ai-debt-confirm-actions .ant-btn{min-height:46px;padding-inline:6px;border-radius:10px}@media(max-width:360px){.ai-debt-confirm-actions{grid-template-columns:1fr}}.ai-multi-action-list{display:grid;gap:10px}.ai-multi-action-item{padding:13px 14px;border:1px solid #d9f2e8;border-radius:12px;background:#f0fdf8}.ai-multi-action-item.failed{border-color:#fee2e2;background:#fff7f7}.ai-multi-action-item strong{display:flex;align-items:center;gap:7px;color:#263248;font-size:14px}.ai-multi-action-item p{margin:6px 0 0 25px;color:#64748b;font-size:13px;line-height:1.5}.ai-multi-action-actions{padding:14px 20px max(16px,env(safe-area-inset-bottom));border-top:1px solid #eef2f7;background:#fff}.ai-multi-action-actions .ant-btn{width:100%;min-height:46px;border-radius:10px}.ai-finance-period-tag{padding:10px 12px;border:1px solid #dbeafe;border-radius:10px;background:#f5f8ff;color:#64748b;font-size:12px}.ai-finance-period-tag strong{color:#3659b9}.ai-finance-analysis-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ai-finance-analysis-summary .ai-voice-field:nth-child(1) strong{color:#089981}.ai-finance-analysis-summary .ai-voice-field:nth-child(2) strong{color:#ef5b5b}.ai-finance-ranking-list{overflow:hidden;border:1px solid #e7edf5;border-radius:12px;background:#fff}.ai-finance-ranking-item{display:grid;gap:8px;padding:12px 13px;border-bottom:1px solid #eef2f7}.ai-finance-ranking-item:last-child{border-bottom:0}.ai-finance-ranking-main,.ai-finance-ranking-meta{display:flex;align-items:center;gap:9px}.ai-finance-ranking-index{display:grid;width:22px;height:22px;flex:none;place-items:center;border-radius:7px;background:#eef2ff;color:#4f63db;font-size:11px;font-weight:700}.ai-finance-ranking-main strong{min-width:0;flex:1;overflow:hidden;color:#334155;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.ai-finance-ranking-amount{flex:none;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.ai-finance-ranking-amount.income{color:#089981}.ai-finance-ranking-amount.expense{color:#ef5b5b}.ai-finance-ranking-meta{padding-left:31px;color:#94a3b8;font-size:10px}.ai-finance-ranking-track{height:5px;flex:1;overflow:hidden;border-radius:999px;background:#eef2f7}.ai-finance-ranking-track i{display:block;height:100%;border-radius:inherit}.ai-finance-ranking-track.income i{background:#20b997}.ai-finance-ranking-track.expense i{background:#f27474}@media(max-width:520px){.ai-voice-confirm-modal{max-width:calc(100vw - 24px);margin:12px auto}.ai-voice-confirm-modal .ant-modal-content,.ai-voice-confirm-dialog{max-height:calc(100dvh - 24px)}}.ai-voice-confirm-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-voice-confirm-header h2{margin:0;color:#1e3a8a;font-size:18px}.ai-voice-confirm-section{display:grid;gap:8px}.ai-voice-confirm-section h3{margin:0;color:#475569;font-size:13px;font-weight:600}.ai-voice-transcript{margin:0;padding:12px;border-radius:10px;color:#1f2937;line-height:1.7;overflow-wrap:anywhere;background:#ffffffc7}.ai-voice-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ai-voice-field{display:grid;gap:4px;min-width:0;padding:10px 12px;border-radius:10px;background:#ffffffc7}.ai-voice-field span{color:#64748b;font-size:12px}.ai-voice-field strong{color:#1f2937;overflow-wrap:anywhere}.ai-voice-confirm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(max-width:360px){.ai-voice-fields,.ai-voice-confirm-card .ai-voice-confirm-actions{grid-template-columns:1fr}}.ledger-pending-attachments-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#1f2937}.ledger-pending-attachments-header span{color:#64748b;font-size:13px}.ledger-pending-attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ledger-pending-attachment-card{min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.ledger-pending-attachment-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.ledger-pending-attachment-card .ant-btn{width:100%;min-height:44px;border:0;border-top:1px solid #e2e8f0;border-radius:0;padding-inline:4px}.ledger-pending-attachment-picker{min-height:96px;height:100%;border-style:dashed;border-radius:8px;white-space:normal}.ledger-attachment-loading,.ledger-attachment-empty{min-height:96px;display:flex;align-items:center;justify-content:center;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b}.ledger-attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ledger-attachment-card{overflow:hidden;border:1px solid #e5e7eb;border-radius:8px;background:#fff;text-decoration:none}.ledger-attachment-preview{display:block;color:inherit;text-decoration:none}.ledger-attachment-preview .ant-image{display:block;width:100%}.ledger-attachment-card img{display:block;width:100%;aspect-ratio:1;background:#e5e7eb;object-fit:cover}.ledger-credential-preview .ant-image-preview-img-wrapper{box-sizing:border-box;padding:4vh 4vw 14vh}.ledger-credential-preview .ant-image-preview-img{width:auto;height:auto;max-width:92vw;max-height:78vh;object-fit:contain}.ledger-credential-preview .ledger-preview-close-button{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;z-index:2;min-width:160px;min-height:48px;transform:translate(-50%)}.ledger-attachment-info{display:grid;gap:2px;padding:8px}.ledger-attachment-info strong,.ledger-attachment-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-attachment-info strong{color:#111827;font-size:13px}.ledger-attachment-info span{color:#64748b;font-size:12px}.ledger-attachment-actions{display:flex;justify-content:flex-end;padding:0 8px 8px}.profile-card{margin-bottom:14px;border-radius:8px}.profile-card .ant-list-item{padding-right:0;padding-left:0}.category-list{margin-top:4px}.category-list-item{width:100%}.admin-login-page{width:min(100%,520px)}.admin-login-panel{padding:28px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.admin-shell{min-height:100vh;background:#eef2f7}.admin-sider{border-right:1px solid #e5e7eb;background:#fff!important}.admin-sider .ant-layout-sider-zero-width-trigger{top:16px;border-radius:0 8px 8px 0;background:#1677ff}.admin-brand{display:grid;gap:2px;padding:24px 20px 18px;border-bottom:1px solid #e5e7eb}.admin-brand h4{margin:0}.admin-brand span{color:#64748b;font-size:13px}.admin-menu{border-inline-end:0!important}.admin-main{min-width:0;background:#eef2f7}.admin-header{display:flex;height:auto;min-height:72px;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid #e5e7eb;background:#fff;line-height:1.3}.admin-header h3{margin:0}.admin-header-label{color:#64748b;font-size:12px}.admin-content{width:min(100%,960px);padding:24px}.admin-page,.admin-dashboard-sections{display:grid;gap:16px}.admin-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-card{border-radius:8px}.admin-card .ant-list-item{padding-right:0;padding-left:0}.admin-ai-command-log-card{display:grid;width:100%;gap:10px;padding:16px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.admin-ai-command-log-primary,.admin-ai-command-log-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px}.admin-ai-command-log-primary>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px}.admin-ai-command-log-primary span,.admin-ai-command-log-meta{color:#64748b;font-size:12px}.admin-ai-command-log-card p{margin:0;color:#334155;overflow-wrap:anywhere}.admin-ai-command-log-card>.ant-btn{justify-self:start}.admin-ai-command-log-error{color:#b91c1c}.admin-json-panel h3{margin:0 0 8px;font-size:14px}.admin-json-panel pre{max-height:360px;margin:0;overflow:auto;padding:14px;border-radius:8px;background:#0f172a;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.admin-alert{border-radius:8px}.admin-filter-panel{display:grid;align-items:end;grid-template-columns:minmax(160px,1.2fr) minmax(140px,1fr) minmax(120px,1fr) auto;gap:12px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.admin-filter-panel .ant-form-item{margin-bottom:0}.admin-filter-actions{justify-self:end}.admin-ledger-filter-panel{grid-template-columns:minmax(150px,1.1fr) minmax(110px,.8fr) minmax(130px,.9fr) minmax(130px,.9fr) minmax(130px,.9fr) auto}.admin-debts-filter-panel{grid-template-columns:minmax(150px,1.1fr) minmax(120px,.9fr) minmax(120px,.9fr) minmax(130px,.9fr) minmax(130px,.9fr) auto}.admin-reminders-filter-panel{grid-template-columns:minmax(150px,1.1fr) minmax(120px,.8fr) minmax(120px,.9fr) minmax(150px,1fr) minmax(130px,.9fr) minmax(130px,.9fr) auto}.admin-payments-filter-panel{margin-bottom:16px;grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(130px,.8fr) auto}.admin-payments-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-payments-table a,.admin-payments-table span{overflow-wrap:anywhere}.admin-payment-result{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e5e7eb}.admin-payment-result h5{margin:0}.admin-user-list .ant-list-item{padding:0 0 12px;border-block-end:0}.admin-user-card{width:100%;border-radius:8px}.admin-user-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-user-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:8px;color:#64748b;font-size:13px}.admin-user-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid #e5e7eb}.admin-ledger-amount-row{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid #e5e7eb;font-size:18px}.admin-debt-amount-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid #e5e7eb}.admin-debt-amount-grid span{display:grid;gap:4px;color:#64748b;font-size:12px}.admin-debt-amount-grid strong{color:#111827;font-size:18px}.admin-pagination{display:flex;justify-content:flex-end}.admin-user-detail{display:grid;gap:22px}.admin-user-detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.admin-compact-list{border:1px solid #e5e7eb;border-radius:8px;background:#fff}.admin-compact-list .ant-list-item{padding:12px 14px}.admin-detail-row{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:12px}.admin-detail-row .ant-typography{margin-bottom:0}.admin-attachment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-attachment-thumb{overflow:hidden;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:inherit;text-decoration:none}.admin-attachment-thumb .ant-image,.admin-attachment-thumb img{display:block;width:100%}.admin-attachment-thumb img{aspect-ratio:1;object-fit:cover}.admin-attachment-thumb span{display:block;overflow:hidden;padding:8px;color:#64748b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);width:min(100%,480px);margin:0 auto;border-top:1px solid #e5e7eb;background:#fff;box-shadow:0 -8px 24px #0f172a14}.bottom-nav-item{display:flex;min-height:64px;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:#64748b;font-size:12px;text-decoration:none}.bottom-nav-item.active{color:#1677ff;font-weight:700}.bottom-nav-icon{font-size:20px;line-height:1}@media(min-width:481px){.auth-page,.mobile-shell{border-right:1px solid #e5e7eb;border-left:1px solid #e5e7eb}}@media(max-width:360px){.debt-create-contact-grid,.debt-create-date-grid{grid-template-columns:minmax(0,1fr)}.debt-create-date-due{grid-column:auto}.ledger-list-item{flex-direction:column}.ledger-entry-actions{width:100%;align-items:center;justify-content:space-between;flex-direction:row;text-align:left}.debt-entry-actions{align-items:flex-start}.ledger-attachment-upload{align-items:flex-start;flex-direction:column}.ledger-attachment-upload span{text-align:left}}@media(max-width:640px){.admin-login-panel{padding:0;border:0;background:transparent}.admin-header{align-items:flex-start;flex-direction:column;padding:16px}.admin-header .ant-btn{width:100%}.admin-content{padding:16px}.admin-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filter-panel{grid-template-columns:1fr}.admin-filter-actions,.admin-filter-actions .ant-space,.admin-filter-actions .ant-btn{width:100%}.admin-filter-actions .ant-space-item{flex:1}.admin-user-card-main,.admin-detail-row{flex-direction:column}.admin-user-card-main .ant-btn{width:100%}.admin-user-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-payments-form-grid{grid-template-columns:1fr}.admin-attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-pagination{justify-content:center}}
