@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";.file-analysis{background:#f7fbff;border:1px solid #d8e6fb;border-radius:12px;margin:12px 0;padding:10px}.file-analysis.compact{padding:8px 10px}.analysis-upload-button{color:#0b63f6;cursor:pointer;background:#eaf3ff;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:36px;font-size:12px;font-weight:700;display:flex}.analysis-upload-button input{display:none}.analysis-status,.autofill-note{color:#52708f;align-items:flex-start;gap:5px;margin:8px 1px 0;font-size:11px;line-height:1.45;display:flex}.analysis-status.done,.autofill-note{color:#098e63}.analysis-status.error{color:#dd414d}.spin{animation:.8s linear infinite spin}.autofill-note{background:#e9f8f1;border-radius:8px;margin:0 0 12px;padding:8px 10px}@keyframes spin{to{transform:rotate(360deg)}}.import-panel{background:#fbfdff;border:1px solid #dbe7f8;border-radius:13px;margin:15px 0 4px;padding:13px}.import-panel>div:first-child{gap:3px;display:grid}.import-panel strong{color:#19375f;font-size:13px}.import-panel span{color:#72849e;font-size:10px}.source-picker{gap:7px;margin-top:11px;display:flex;overflow:auto}.source-picker button{white-space:nowrap;color:#6f819b;border:1px solid #d9e5f5;border-radius:7px;flex:1;min-width:73px;padding:7px 8px;font-size:11px}.source-picker .selected{color:#0b63f6;background:#e8f1ff;border-color:#91bdff;font-weight:700}.import-panel .file-analysis{background:0 0;border:0;margin:10px 0 0;padding:0}:root{color:#10264d;font-synthesis:none;background:#f4f8ff;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}.app-frame{place-items:center;min-height:100vh;padding:24px;display:grid}.mobile-shell{background:#fff;border:1px solid #dae6fa;width:min(100%,420px);min-height:860px;position:relative;overflow:hidden;box-shadow:0 18px 50px #133e7d29}.topbar{border-bottom:1px solid #edf2fb;justify-content:space-between;align-items:center;height:68px;padding:14px 18px;display:flex}.topbar>div{text-align:center;gap:1px;display:grid}.topbar strong{font-size:15px}.topbar span{color:#7888a3;font-size:11px}.ghost{color:#18365e;font-size:21px}.notice{color:#0b63f6;font-size:16px;position:relative}.notice:after{content:"";background:#ff4f59;border-radius:50%;width:5px;height:5px;position:absolute;top:0;right:-2px}.page-content{height:calc(100vh - 140px);min-height:720px;padding:18px 18px 92px;overflow-y:auto}.title-row,.section-head,.screen-heading,.result-title{justify-content:space-between;align-items:center;display:flex}.title-row h1,.screen-heading h1,.result-title h1{color:#10264d;margin:0;font-size:22px}.title-row p,.result-title p{color:#8190a9;margin:4px 0 0;font-size:12px}.avatar{color:#0b63f6;background:#dcecff;border-radius:50%;width:35px;height:35px;font-weight:700}.hero-balance{color:#fff;background:#0b63f6;border-radius:16px;margin:16px 0;padding:18px;box-shadow:0 10px 20px #0b63f633}.hero-balance span,.hero-balance p{opacity:.88;font-size:12px}.hero-balance strong{font-variant-numeric:tabular-nums;margin:6px 0;font-size:27px;display:block}.hero-balance p{margin:0}.hero-balance b{color:#baffd5}.metric-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.metric{background:linear-gradient(135deg,#f7faff,#fff);border:1px solid #e5edf9;border-radius:12px;padding:12px}.metric span{color:#506483;font-size:12px}.metric strong{color:#152c52;margin:6px 0;font-size:17px;display:block}.metric small{color:#7888a3;font-size:10px}.metric small.positive{color:#0aa36f}.section-card{border:1px solid #e6edf8;border-radius:14px;margin-top:18px;padding:14px}.section-head h2,.mini-heading{color:#1b3358;margin:0;font-size:15px}.section-head button,.filter{color:#61718c;border:1px solid #dce6f5;border-radius:7px;padding:6px 8px;font-size:11px}.chart{height:105px;margin-top:12px;display:flex}.chart svg{flex:1;height:85px;overflow:visible}.y-labels{color:#98a7bd;flex-direction:column;justify-content:space-between;width:26px;font-size:9px;display:flex}.chart-days{color:#98a7bd;justify-content:space-between;padding-left:26px;font-size:9px;display:flex}.quick-actions{grid-template-columns:repeat(4,1fr);gap:7px;margin:18px 0;display:grid}.quick-actions button{color:#0b63f6;background:#f5f8ff;border-radius:11px;place-items:center;gap:5px;padding:10px 2px;font-size:10px;display:grid}.quick-actions svg{width:21px}.approval{background:#fffbf3;border:1px solid #ffe3b4;border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.approval-icon{color:#f08a16;background:#fff1d7;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.approval div:nth-child(2){flex:1}.approval strong{font-size:13px}.approval p{color:#8190a9;margin:2px 0;font-size:11px}.bottom-nav{z-index:2;background:#fff;border-top:1px solid #e8eef7;grid-template-columns:repeat(5,1fr);height:72px;display:grid;position:absolute;bottom:0;left:0;right:0}.bottom-nav button{color:#71819a;place-content:center;gap:3px;font-size:10px;display:grid}.bottom-nav button.active{color:#0b63f6;font-weight:700}.bottom-nav svg{margin:auto}.desktop-note{display:none}.primary,.outline{border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:40px;font-size:13px;font-weight:600;display:inline-flex}.primary{color:#fff;background:#0b63f6}.primary.small{padding:0 11px}.outline{color:#0b63f6;background:#fff;border:1px solid #b9d2ff}.wide{width:100%}.screen-heading{padding:1px 0 20px}.screen-heading>button{color:#19345e;font-size:32px;line-height:20px}.segmented{background:#f3f6fb;border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:18px;padding:3px;display:grid}.segmented button{color:#71819a;border-radius:8px;padding:9px;font-size:13px}.segmented .selected{color:#0b63f6;background:#fff;font-weight:700;box-shadow:0 2px 6px #3053891f}.entry-form{gap:15px;display:grid}.entry-form label{color:#314868;gap:7px;font-size:13px;font-weight:600;display:grid}.entry-form input,.entry-form select,.editable input,.ask input{color:#152c52;background:#fff;border:1px solid #dce5f2;border-radius:9px;outline-color:#0b63f6;padding:12px}.form-error{color:#e4464f;align-items:center;gap:5px;margin:0;font-size:12px;display:flex}.filter-row{gap:7px;margin:15px 0;display:flex;overflow:auto}.filter-row button{white-space:nowrap;color:#71819a;border:1px solid #e1e9f4;border-radius:18px;padding:7px 11px;font-size:11px}.filter-row .selected{color:#0b63f6;background:#e8f1ff;border-color:#a9c8ff}.transaction-list{border:1px solid #e7edf8;border-radius:13px;overflow:hidden}.transaction-list article{border-bottom:1px solid #eef2f7;align-items:center;gap:10px;padding:12px;display:flex}.transaction-list article:last-child{border:0}.row-icon{border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.row-icon.expense{color:#ee901b;background:#fff1df}.row-icon.income{color:#00a26b;background:#e7f8f1}.transaction-main{flex:1;gap:3px;min-width:0;display:grid}.transaction-main strong{font-size:13px}.transaction-main span{color:#7b8aa2;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.transaction-amount{text-align:right;gap:4px;display:grid}.transaction-amount b{font-size:12px}.transaction-amount b.expense{color:#2b3c56}.transaction-amount b.income{color:#0a9a6a}.transaction-amount em{border-radius:4px;justify-self:end;padding:2px 4px;font-size:10px;font-style:normal}.approved{color:#0a9d6a;background:#e4f8ef}.pending{color:#e68110;background:#fff0d8}.upload-stage{cursor:pointer;background:#f8fbff;border:1px dashed #a4c7ff;border-radius:16px;padding:12px;display:block}.upload-stage input{display:none}.scan-frame{color:#fff;background:linear-gradient(135deg,#315c82,#876343);border-radius:11px;align-content:center;place-items:center;gap:10px;height:275px;display:grid;position:relative;overflow:hidden}.scan-frame:before,.scan-frame:after{content:"";border:3px solid #fff;width:55px;height:55px;position:absolute}.scan-frame:before{border-bottom:0;border-right:0;top:15px;left:15px}.scan-frame:after{border-top:0;border-left:0;bottom:15px;right:15px}.upload-stage p{color:#0a9b6b;align-items:center;gap:5px;margin:11px 2px 0;font-size:11px;display:flex}.upload-buttons{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;display:grid}.upload-buttons label input{display:none}.upload-buttons button:disabled{opacity:.4;cursor:not-allowed}.mini-heading{margin:21px 0 10px}.type-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.type-grid button{border:1px solid #e6edf8;border-radius:10px;align-items:center;gap:8px;padding:13px;font-size:13px;display:flex}.type-grid svg{color:#0b63f6;width:19px}.hint{color:#8190a9;margin:17px 0;font-size:11px;line-height:1.6}.result-title{margin-bottom:15px}.ai-tag{color:#099561;background:#e3f8ee;border-radius:5px;padding:4px 7px;font-size:11px}.extraction-card{border:1px solid #dce6f2;border-radius:12px;padding:0 13px}.editable{border-bottom:1px solid #e7edf5;grid-template-columns:88px 1fr;align-items:center;min-height:52px;font-size:13px;display:grid}.editable:last-child{border:0}.editable span{font-weight:600}.editable input{text-align:right;border:0;border-radius:0;padding:7px 0;font-size:12px}.confidence{color:#697b96;margin:16px 0;font-size:12px}.confidence i{background:#e7edf5;border-radius:9px;height:5px;margin-top:7px;display:block}.confidence b{background:#00a46e;border-radius:9px;height:100%;display:block}.saved{color:#079768;background:#e8f8f0;border-radius:10px;align-items:center;gap:6px;padding:13px;font-size:13px;display:flex}.payroll-actions{grid-template-columns:repeat(3,1fr);gap:10px;margin:17px 0;display:grid}.payroll-actions button{color:#0b63f6;border:1px solid #e3ebf7;border-radius:12px;place-items:center;gap:6px;padding:13px 5px;font-size:11px;display:grid}.payroll-actions svg{background:#e8f1ff;border-radius:50%;width:36px;height:36px;padding:7px}.payroll-total{background:linear-gradient(135deg,#eff5ff,#edfaff);border:1px solid #dceaff;border-radius:14px;padding:16px}.payroll-total span,.payroll-total p{color:#607596;font-size:12px}.payroll-total strong{color:#0b63f6;margin:4px 0;font-size:27px;display:block}.payroll-total p{margin:0}.calculator{border:1px solid #e4ebf6;border-radius:13px;margin-top:16px;padding:14px}.calculator>div:first-child h2{margin:0;font-size:14px}.calculator>div:first-child span{color:#7889a3;font-size:11px}.calculator label{color:#526883;justify-content:space-between;align-items:center;margin:14px 0;font-size:12px;display:flex}.calculator input{text-align:right;border:1px solid #dce5f2;border-radius:7px;width:100px;padding:7px}.calc-row,.calc-total{color:#6e819e;justify-content:space-between;padding:8px 0;font-size:12px;display:flex}.calc-total{color:#1e365a;border-top:1px dashed #dce5f2}.calc-total strong{color:#0b63f6;font-size:17px}.report-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.report-grid button{text-align:left;border-radius:13px;gap:5px;min-height:115px;padding:16px 13px;display:grid}.report-grid button svg{width:28px;height:28px}.report-grid strong{font-size:14px}.report-grid span{color:#687d9a;font-size:10px}.report-grid .blue{color:#1765df;background:#ecf4ff}.report-grid .green{color:#05a06d;background:#eafaf3}.report-grid .red{color:#f04747;background:#fff0f0}.report-grid .purple{color:#655eea;background:#f0efff}.report-grid .orange{color:#ed9016;background:#fff5e8}.assistant-box{border:1px solid #dbe8fd;border-radius:13px;align-items:center;gap:10px;margin-top:15px;padding:13px;display:flex}.bot{color:#0b63f6;background:#e6f0ff;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.assistant-box strong{font-size:13px}.assistant-box p{color:#8190a9;margin:3px 0;font-size:10px}.ask{border:1px solid #dce5f2;border-radius:10px;margin-top:10px;display:flex;overflow:hidden}.ask input{border:0;flex:1;padding:10px;font-size:12px}.ask button{color:#fff;background:#0b63f6;place-items:center;width:38px;display:grid}.more{font-weight:800}.desktop-note{color:#6d819d}@media (width>=800px){.app-frame{grid-template-columns:420px auto;gap:28px}.desktop-note{background:#fff;border:1px solid #dce6f5;border-radius:99px;align-self:end;align-items:center;gap:8px;margin-bottom:20px;padding:10px 14px;font-size:12px;display:flex}}@media (width<=460px){.app-frame{padding:0}.mobile-shell{width:100%;box-shadow:none;border:0;min-height:100vh}.page-content{height:calc(100vh - 140px);min-height:0}}.auth-frame{background:radial-gradient(circle at 80% 10%,#dcecff 0,#0000 30%),#f4f8ff;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #dbe6f6;border-radius:20px;width:min(100%,390px);padding:28px 24px;box-shadow:0 20px 50px #1e417824}.auth-brand{color:#0b63f6;align-items:center;gap:10px;display:flex}.auth-brand>svg{background:#e9f2ff;border-radius:12px;width:40px;height:40px;padding:8px}.auth-brand div{gap:2px;display:grid}.auth-brand strong{color:#14335f;font-size:15px}.auth-brand span{color:#7a8ca7;font-size:11px}.auth-card h1{color:#132f57;margin:24px 0 7px;font-size:24px}.auth-card>p{color:#6f829e;margin:0;font-size:13px;line-height:1.6}.auth-form{gap:15px;margin-top:24px;display:grid}.auth-form label{color:#355070;gap:7px;font-size:12px;font-weight:700;display:grid;position:relative}.auth-form label>svg{color:#8ca0ba;position:absolute;bottom:11px;left:11px}.auth-form input{color:#15345d;border:1px solid #d8e4f4;border-radius:10px;outline-color:#0b63f6;width:100%;padding:11px 11px 11px 36px}.auth-form button:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:#d5434e;background:#fff1f1;border-radius:8px;margin:0;padding:9px 10px;font-size:12px;line-height:1.45}.auth-switch{color:#0b63f6;width:100%;margin-top:16px;font-size:12px;font-weight:700}.auth-loading{color:#5e7494;font-size:14px}.transaction-detail{border:1px solid #e1e9f5;border-radius:13px;padding:0 13px}.transaction-detail>div{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;min-height:54px;font-size:13px;display:flex}.transaction-detail>div:last-child{border:0}.transaction-detail span{color:#71819a}.transaction-detail strong{text-align:right;font-weight:600}.transaction-detail strong.expense{color:#2b3c56}.transaction-detail strong.income{color:#0a9a6a}.transaction-detail em{border-radius:4px;padding:2px 4px;font-size:10px;font-style:normal}.rejected{color:#d84747;background:#fff0f0}.transaction-item{text-align:left;background:#fff;border:0;border-bottom:1px solid #eef2f7;border-radius:0;align-items:center;gap:10px;width:100%;padding:12px;display:flex}.transaction-item:last-child{border:0}.transaction-item:active{background:#f4f8ff}.transaction-item>svg{color:#9baac0;flex:none}
