:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#293b34;background:#f3f4ef;font-synthesis:none;--ink:#293b34;--muted:#7a857e;--border:rgba(70,88,66,.09);--shadow:0 12px 35px -24px #223a233b;font-size:14px}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button,input,select,textarea{outline:none}button:focus-visible,a:focus-visible{outline:3px solid #94b88c;outline-offset:3px}input:focus,select:focus,textarea:focus{border-color:#8aac80;box-shadow:0 0 0 3px #9cb89422}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.symbols{position:absolute;width:0;height:0;overflow:hidden}
.ambient{position:fixed;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(75px)}.ambient-one{width:650px;height:650px;top:-350px;right:-100px;background:#dbe6cf99}.ambient-two{width:600px;height:600px;bottom:-400px;left:12%;background:#e6dcca70}.glass{background:#ffffff8f;backdrop-filter:blur(24px);border:1px solid #ffffffbf}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2.2px;color:#869079}.pill{display:inline-flex;align-items:center;gap:7px;font-size:11px;padding:7px 11px;border-radius:100px;background:#e7eddf;color:#5a6e52}.pill svg{width:14px;height:14px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid transparent;padding:11px 17px;border-radius:11px;font-weight:550;font-size:13px;transition:background .18s,transform .18s}.button:active{transform:translateY(1px)}.primary{background:var(--ink);color:#f5f7ef;box-shadow:0 4px 9px #293b3411}.primary:hover{background:#405c4e}.secondary{background:#ffffff99;border-color:var(--border)}.secondary:hover{background:white}.ghost{background:transparent;padding:7px 9px}.danger{color:#ae5146}.wide{width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;padding:8px;border:0;border-radius:9px;background:transparent}.icon-button:hover{background:#2a453309}
.brand{display:flex;align-items:center;gap:11px;font-size:24px;font-weight:650;letter-spacing:2px}.brand-mark{width:41px;height:41px;border-radius:13px;background:var(--ink);color:#e9eddc;display:grid;place-items:center;box-shadow:0 6px 14px #293b3415}.brand-mark svg{width:25px;height:25px}.brand-en{display:block;font-size:8px;letter-spacing:3px;font-weight:500;margin-top:1px;color:var(--muted)}
.app{display:flex;min-height:100vh}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:32px 20px 18px;border-width:0 1px 0 0}.sidebar .brand{margin:3px 12px 50px}.nav-caption{font-size:10px;letter-spacing:1.5px;color:#9ba295;margin:0 14px 14px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{display:flex;align-items:center;gap:13px;border:0;background:transparent;padding:13px 16px;border-radius:11px;color:#7b857d;text-align:left;font-size:13px}.sidebar nav button:hover{background:#ebeee5}.sidebar nav button.active{background:#e0e9d7;color:#334b39;font-weight:600}.sidebar nav button.active:after{content:"";width:5px;height:5px;border-radius:50%;background:#617e4c;margin-left:auto}.sidebar-note{margin:auto 10px 30px;padding-top:80px;display:flex;align-items:center;gap:20px;color:#a0a795;font-size:12px;line-height:1.9}.sidebar-note svg{width:34px;height:34px;stroke-width:1}.user-block{display:flex;align-items:center;gap:9px;border-top:1px solid var(--border);padding:20px 4px 0}.avatar{display:grid;place-items:center;background:#e6e4d7;border:1px solid #ffffffbb;width:35px;height:35px;border-radius:50%;font-size:13px;color:#6c7561}.user-block strong{font-size:12px;font-weight:550;display:block;max-width:100px;overflow:hidden;text-overflow:ellipsis}.user-block small{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted);margin-top:4px}.status-dot{height:5px;width:5px;border-radius:50%;background:#85a479}.user-block .icon-button{margin-left:auto;color:#90998e}
.workspace{margin-left:224px;width:calc(100% - 224px);padding:0 40px;max-width:1750px}.topbar{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}.breadcrumb{display:flex;gap:13px;align-items:center;color:#959d92;font-size:12px}.breadcrumb strong{color:#596759;font-weight:500}.top-actions{display:flex;align-items:center;gap:13px}.month-picker input{width:151px;background:#ffffff77;border:1px solid var(--border);padding:10px 12px;border-radius:10px;color:#53634e;font-size:12px;font-weight:550;min-height:41px}.month-picker input::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}#content{padding:33px 0 20px;min-height:calc(100vh - 152px)}.app-footer{display:flex;justify-content:space-between;padding:19px 0 25px;font-size:10px;color:#a3aa9f;letter-spacing:.5px}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.page-heading h1{font-size:27px;letter-spacing:-.7px;font-weight:600;line-height:1.45}.page-heading p{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.8}.greeting h1{font-size:30px}.greeting .eyebrow{display:block;margin-bottom:8px}.mode-switch{display:flex;padding:4px;background:#e6e9e0;border-radius:11px;flex-shrink:0}.mode-switch button{background:transparent;border:0;border-radius:8px;padding:9px 15px;font-size:11px;color:#7f8879}.mode-switch button.active{background:#fffdf8;color:#3a5140;box-shadow:0 2px 5px #354a3420}
.stat-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr 1fr;gap:16px;margin-bottom:23px}.stat-card{border:1px solid #fff;border-radius:18px;background:#ffffff9c;padding:22px;box-shadow:var(--shadow);position:relative;overflow:hidden;min-width:0}.stat-card.featured{background:linear-gradient(115deg,#dce7cc,#e7eddb 85%);border-color:#ebf0e3}.stat-card.featured:after{content:"";width:125px;height:125px;border-radius:50%;border:20px solid #ffffff23;position:absolute;right:-59px;bottom:-67px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#798273;font-size:11px;margin-bottom:17px}.stat-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#eceee6;color:#78856d}.stat-icon svg{width:15px;height:15px}.featured .stat-icon{background:#eef3e47a;color:#658151}.stat-value{font-size:clamp(23px,2.3vw,35px);font-weight:550;letter-spacing:-1px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}.currency{font-size:17px;margin-right:5px;font-weight:400;color:#718168}.stat-note{font-size:10px;color:#94a087;margin-top:15px;display:flex;gap:5px;align-items:center}.stat-note strong{font-weight:500;color:#6d805e}.stat-note .dot{width:4px;height:4px;border-radius:50%;background:#90a383}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(275px,1fr);gap:22px;margin-bottom:22px}.card{border:1px solid #fff;background:#ffffffa3;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:24px}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.card-header h2{font-size:15px;font-weight:600;letter-spacing:.2px}.card-header p{font-size:10px;color:#9aa193;margin-top:7px;line-height:1.7}.card-header .button{font-size:11px}.legend{display:flex;gap:14px;color:#939b8c;font-size:10px}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:6px;height:6px;border-radius:50%;background:#a2b58c}.legend i.income{background:#385b46}
.chart{height:215px;position:relative;display:flex;padding:5px 0 25px 38px;gap:7px;align-items:flex-end;justify-content:space-around;background:repeating-linear-gradient(to top,transparent 0,transparent 46px,#465f3610 46px,#465f3610 47px);background-position:0 -25px}.chart-axis{position:absolute;left:0;top:1px;bottom:24px;display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:#a3aa9b}.chart-group{height:100%;flex:1;max-width:90px;display:flex;align-items:flex-end;justify-content:center;gap:5px;position:relative;z-index:1}.bar{width:clamp(9px,1.6vw,23px);border-radius:4px 4px 0 0;background:#a6b894;min-height:2px;transition:height .3s}.bar.income{background:linear-gradient(0deg,#41664c,#608363)}.chart-group span{position:absolute;bottom:-24px;font-size:9px;color:#8e9985;white-space:nowrap}.chart-hint{font-size:10px;color:#9aa391;margin-top:15px}.category-area{display:flex;align-items:center;gap:23px;min-height:214px}.donut{width:138px;height:138px;min-width:138px;border-radius:50%;display:grid;place-items:center;position:relative;background:#e9ede2}.donut:before{content:"";position:absolute;inset:19px;background:#fafbf6;border-radius:50%}.donut-center{z-index:1;display:grid;text-align:center;gap:5px}.donut-center strong{font-size:21px;font-weight:500}.donut-center small{font-size:9px;color:#909c85}.category-list{display:grid;gap:14px;flex:1;min-width:0}.category-row{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:8px;font-size:10px;min-width:0}.category-row i{width:6px;height:6px;border-radius:50%}.category-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#849078}.category-row strong{font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}
.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{font-size:10px;color:#9ba391;font-weight:500;border-bottom:1px solid var(--border);padding:0 16px 12px;white-space:nowrap}td{padding:15px 16px;border-bottom:1px solid #6176440a;color:#68765d;white-space:nowrap}tr:last-child td{border-bottom:0}.transaction-name{display:flex;align-items:center;gap:12px}.transaction-icon{height:35px;width:35px;border-radius:11px;background:#eef0e7;display:grid;place-items:center;color:#83906f;font-size:15px}.transaction-icon.income{background:#e7efdf;color:#64864f}.transaction-icon.transfer{background:#e9edf1;color:#7e92a1}.transaction-name strong{display:block;color:#526448;font-weight:550;font-size:12px;max-width:230px;overflow:hidden;text-overflow:ellipsis}.transaction-name small{display:block;margin-top:5px;color:#a0a58f;font-size:10px;max-width:220px;overflow:hidden;text-overflow:ellipsis}.tag{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:6px;background:#f0f2e9;color:#929d83;font-size:10px}.tag.warn{background:#f4ebd8;color:#a88e54}.tag.green{background:#e4eedb;color:#738c58}.amount{font-variant-numeric:tabular-nums;font-weight:550;color:#4d5d43;text-align:right}.amount.positive{color:#789764}.align-right{text-align:right}.link-button{color:#7c8f69;border:0;background:transparent;font-size:11px;padding:7px;border-radius:7px}.link-button:hover{background:#eaf0df}
.income-strip{display:grid;grid-template-columns:1fr 1fr 1fr 1.1fr;gap:20px;padding:22px 26px;margin-bottom:22px}.income-strip>div+div{border-left:1px solid var(--border);padding-left:25px}.income-strip span{font-size:10px;color:#95a086;display:block}.income-strip strong{display:block;font-size:19px;font-weight:500;letter-spacing:-.4px;margin-top:8px}.income-strip small{font-size:9px;color:#a0a992;display:block;margin-top:7px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:9px;flex:1;max-width:350px;background:#ffffffb0;border:1px solid var(--border);border-radius:10px;padding:0 12px}.search-box svg{width:16px;color:#a4ac98}.search-box input{width:100%;padding:11px 0;border:0;background:transparent;font-size:12px;box-shadow:none}.toolbar select{width:auto;min-width:110px}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 4px 0;font-size:11px;color:#8f9b83}.pagination{display:flex;gap:8px;align-items:center}.pagination button{border:1px solid var(--border);background:#fff9;border-radius:7px;padding:6px 10px;font-size:11px}
.empty{display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;padding:40px 20px;gap:12px;min-height:230px}.empty-icon{width:55px;height:55px;border-radius:18px;background:#edf0e5;display:grid;place-items:center;color:#95a485;margin-bottom:3px}.empty h3{font-size:14px;font-weight:500}.empty p{font-size:11px;line-height:1.9;color:#99a38f;max-width:400px}.empty-actions{display:flex;gap:10px;margin-top:8px}.loading{min-height:280px;display:grid;place-items:center;color:#95a08b;font-size:12px}.initial-loading{display:flex;gap:17px;align-items:center;justify-content:center;min-height:100vh;color:#8b977f;font-size:13px}.loading span:before{content:"";display:inline-block;width:12px;height:12px;border:2px solid #cbd5bf;border-top-color:#5e7f4e;border-radius:50%;animation:spin 1s linear infinite;margin-right:10px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}
.subscriptions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.subscription{padding:24px;display:flex;flex-direction:column;gap:18px}.subscription-top{display:flex;justify-content:space-between;align-items:center}.subscription h3{font-size:17px;font-weight:550;overflow-wrap:anywhere}.sub-category{font-size:11px;color:#95a184;margin-top:6px}.sub-cost{font-size:29px;font-weight:500;letter-spacing:-.5px}.sub-cost small{font-size:11px;color:#9aa48c;font-weight:400;letter-spacing:0;margin-left:5px}.sub-period{font-size:11px;color:#8c997d;line-height:1.9}.progress-track{height:5px;background:#e8eddf;border-radius:10px;overflow:hidden}.progress-track div{height:100%;border-radius:10px;background:#9bb785}.sub-details{display:flex;justify-content:space-between;font-size:10px;color:#9aa58d;margin-top:9px}.sub-bottom{border-top:1px solid var(--border);padding-top:13px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#9ca58e;margin-top:auto}
.import-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:24px}.dropzone{border:1.5px dashed #b8c6a7;border-radius:15px;min-height:282px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;background:#f5f7ef80;transition:background .2s}.dropzone.dragging{background:#e3ecd8}.upload-icon{width:59px;height:59px;display:grid;place-items:center;background:#e7eddf;border-radius:19px;color:#72905b;margin-bottom:20px}.upload-icon svg{width:27px;height:27px}.dropzone h3{font-size:17px;font-weight:500;margin-bottom:12px}.dropzone p{font-size:11px;color:#97a18a;line-height:1.9}.dropzone .button{margin:20px 0 12px}.import-guide{display:grid;gap:23px}.guide-step{display:flex;gap:13px}.guide-step b{width:25px;height:25px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#e9eedf;font-size:10px;color:#84966f}.guide-step h3{font-size:12px;font-weight:550;margin:4px 0 8px}.guide-step p{font-size:11px;line-height:1.9;color:#95a08a}.note-box{margin-top:20px;padding:16px 18px;background:#edf0e4;border-radius:10px;color:#879773;font-size:11px;line-height:1.9}.preview-summary{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.preview-summary .pill{background:#eef1e7}.preview-table td{font-size:11px}.preview-table input{width:15px;height:15px}.row-duplicate{opacity:.5}.preview-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}.preview-actions .muted{font-size:11px}.preview-warning{font-size:11px;color:#a18548;max-width:450px;white-space:normal;line-height:1.7}.errors-list{font-size:11px;color:#9d8350;line-height:1.9;margin-top:18px}.errors-list summary{cursor:pointer}
.settings-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:22px;align-items:start}.settings-stack{display:grid;gap:22px}.settings-grid h2{font-size:15px;font-weight:550;margin-bottom:12px}.settings-grid p{font-size:11px;line-height:1.9;color:#99a38c;margin-bottom:18px}.settings-grid form{display:grid;gap:16px}.settings-grid .button{justify-self:start}.rule-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--border)}.rule-row>div{flex:1;overflow-wrap:anywhere}.rule-row strong{font-size:12px;font-weight:500}.rule-row small{font-size:10px;color:#99a58b;display:block;margin-top:6px}.rules-list .empty{min-height:140px;padding:20px 5px}.inline-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inline-form button{grid-column:1/-1}
.login-screen{max-width:1180px;min-height:100vh;margin:auto;padding:65px 55px;display:grid;grid-template-columns:1.25fr 1fr;gap:100px;align-items:center}.login-story{position:relative;align-self:stretch;display:flex;flex-direction:column}.login-story>.brand{margin-bottom:66px}.login-intro h1{font-size:42px;font-weight:500;letter-spacing:-1.2px;line-height:1.55;margin:20px 0}.login-intro>p{font-size:13px;line-height:2.15;color:#91a084}.login-art{height:270px;position:relative;margin-top:22px;max-width:370px;display:grid;place-items:center}.art-orbit{position:absolute;width:235px;height:235px;border-radius:50%;border:1px solid #bacba280;background:radial-gradient(circle,#e5edda80,#d5e2c426);box-shadow:0 0 0 28px #b8c9a413,0 0 0 59px #b8c9a408}.art-ledger{z-index:1;display:flex;flex-direction:column;width:205px;padding:26px 22px 20px;background:#ffffffb0;border:1px solid #ffffffe0;border-radius:15px;box-shadow:0 20px 55px -30px #44603066;transform:rotate(-8deg);backdrop-filter:blur(14px)}.art-ledger svg{width:24px;height:24px;color:#6e865a;margin-bottom:15px}.art-ledger>span{font-size:13px;color:#7d8c6b;margin-bottom:17px}.art-ledger i{height:4px;border-radius:5px;background:#dce3d0;margin-bottom:12px;width:100%}.art-ledger i:nth-of-type(2){width:75%}.art-ledger i:nth-of-type(3){width:48%}.art-stamp{font-size:9px;color:#a2af90;margin-top:12px}.art-leaf{position:absolute;right:27px;top:59px;color:#9ab483;font-size:66px;z-index:1;transform:rotate(12deg)}.login-foot{font-size:10px;color:#a4b096;letter-spacing:2px;margin-top:22px}.login-panel{border-radius:25px;padding:40px 35px;box-shadow:0 30px 60px -45px #425c35}.login-panel h2{font-size:26px;font-weight:550;margin-top:31px;margin-bottom:12px;letter-spacing:-.4px}.login-panel>p{font-size:12px}.login-panel form{margin-top:32px;display:grid;gap:20px}.login-note{font-size:10px!important;color:#a5ae9a;line-height:1.8;margin-top:23px;text-align:center}
label{display:grid;gap:9px;font-size:11px;color:#7d8e6e}input,select,textarea{width:100%;border:1px solid #dce3d4;background:#fffffff0;border-radius:9px;padding:11px 12px;color:#485d3b;transition:border-color .15s;font-size:12px}input::placeholder,textarea::placeholder{color:#b1b9a5}textarea{resize:vertical}input[type=checkbox]{accent-color:#607f4b;flex-shrink:0;width:16px;height:16px;margin:0}.form-error{font-size:11px;color:#b26352;line-height:1.8}.form-error:empty{display:none}dialog{width:min(590px,calc(100% - 26px));border:1px solid #ffffffcc;border-radius:21px;background:#f8faf4f5;box-shadow:0 25px 100px #293b3430;padding:27px;color:var(--ink);max-height:calc(100dvh - 30px)}dialog::backdrop{background:#293b344a;backdrop-filter:blur(5px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.dialog-header .eyebrow{font-size:8px}.dialog-header h2{font-size:22px;font-weight:550;margin-top:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.span-two{grid-column:1/-1}.split-box{padding:15px;border-radius:11px;background:#eaf0e1;margin:18px 0}.check-label{display:flex;align-items:center;gap:10px;font-size:11px;line-height:1.6}.check-label small{display:block;font-size:10px;color:#9eac8e;margin-top:2px}#split-fields{margin-top:18px}#split-hint{margin-top:11px;font-size:10px;line-height:1.8}.rule-check{margin:15px 0}.dialog-footer{display:flex;align-items:center;gap:9px;margin-top:23px}.spacer{flex:1}.toast{position:fixed;z-index:20;bottom:28px;left:50%;transform:translateX(-50%);padding:13px 22px;border:1px solid #ffffff66;border-radius:12px;background:#2f483cee;color:#f0f5e8;box-shadow:0 10px 30px #31412c22;backdrop-filter:blur(12px);font-size:12px;max-width:calc(100% - 32px);line-height:1.7}.toast.error{background:#825847ef}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.workspace{padding:0 55px}.stat-card{padding:26px}.stat-value{font-size:37px}.card-pad{padding:29px}.chart{height:240px}.category-area{min-height:240px;gap:35px}.donut{width:157px;height:157px;min-width:157px}}
@media(max-width:1200px){.sidebar{width:190px;padding:28px 13px 18px}.workspace{margin-left:190px;width:calc(100% - 190px);padding:0 26px}.stat-grid{gap:12px}.stat-card{padding:19px 16px}.stat-value{font-size:26px}.category-area{gap:15px}.donut{width:114px;height:114px;min-width:114px}.donut:before{inset:16px}.dashboard-grid{grid-template-columns:1.3fr 1fr;gap:17px}.card-pad{padding:21px}.subscriptions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-name strong{max-width:180px}.login-screen{gap:60px}.income-strip{gap:15px;padding:22px}.income-strip>div+div{padding-left:17px}}
@media(max-width:1000px){.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:22px}.stat-value{font-size:31px}.dashboard-grid{grid-template-columns:1fr}.category-area{min-height:160px;gap:35px}.donut{width:135px;height:135px;min-width:135px}.category-list{grid-template-columns:1fr 1fr;gap:20px 30px}.income-strip{grid-template-columns:1fr 1fr;gap:22px}.income-strip>div:nth-child(3){border-left:0;padding-left:0}.settings-grid,.import-intro{grid-template-columns:1fr}.page-heading{align-items:flex-start}.greeting h1{font-size:25px}.mode-switch button{padding:9px 11px}.login-screen{padding:45px 35px;gap:35px}.login-intro h1{font-size:35px}.login-panel{padding:33px 25px}}
@media(max-width:760px){.sidebar{width:100%;height:69px;inset:auto 0 0;padding:7px 10px 9px;z-index:5;border-top:1px solid #fff;background:#f9fbf3e8}.sidebar>.brand,.nav-caption,.sidebar-note,.user-block{display:none}.sidebar nav{display:flex;justify-content:space-around;gap:2px}.sidebar nav button{flex:1;flex-direction:column;gap:6px;padding:7px 0;font-size:9px;border-radius:9px}.sidebar nav button.active:after{display:none}.sidebar nav button svg{height:18px;width:18px}.workspace{margin-left:0;width:100%;padding:0 19px 76px}.topbar{min-height:78px}.breadcrumb{font-size:0;gap:0}.breadcrumb>strong,.breadcrumb>span{display:none}.breadcrumb:before{content:"一笔";font-size:22px;color:#3d5132;font-weight:650;letter-spacing:2px}.top-actions{gap:9px}.top-actions .button{font-size:11px;padding:10px 12px}.month-picker input{width:128px;padding:10px 8px;font-size:11px}.top-actions .button svg{width:15px;height:15px}#content{padding-top:25px;min-height:calc(100vh - 240px)}.page-heading{gap:15px;margin-bottom:20px}.page-heading h1{font-size:24px}.page-heading p{font-size:11px;max-width:235px}.greeting{display:block}.greeting .mode-switch{display:inline-flex;margin-top:19px}.greeting .eyebrow{font-size:8px}.greeting h1{font-size:27px}.stat-grid{gap:11px;margin-bottom:17px}.stat-card{padding:17px;border-radius:14px}.stat-top{font-size:10px;margin-bottom:15px}.stat-value{font-size:27px}.currency{font-size:14px}.stat-note{font-size:9px;margin-top:12px}.stat-icon{height:24px;width:24px}.dashboard-grid{gap:17px;margin-bottom:17px}.card{border-radius:15px}.card-pad{padding:19px}.category-area{gap:24px}.category-list{grid-template-columns:1fr;gap:13px}.chart{height:200px}.income-strip{padding:20px;gap:21px 14px;margin-bottom:17px}.income-strip strong{font-size:18px}.income-strip>div+div{padding-left:15px}.income-strip>div:nth-child(3){padding-left:0}.desktop-col{display:none}td,th{padding-left:8px;padding-right:8px}.transaction-name{gap:9px}.transaction-name strong{max-width:150px;font-size:11px}.transaction-name small{max-width:150px;font-size:9px}.transaction-icon{width:29px;height:29px;font-size:13px;border-radius:9px}.transaction-table th:first-child,.transaction-table td:first-child{padding-left:0}.transaction-table .link-button{font-size:10px;padding:6px 2px}.tag{font-size:9px;padding:4px 6px}.amount{font-size:11px}.subscriptions-grid{grid-template-columns:1fr}.subscription{padding:24px}.toolbar{gap:10px}.search-box{max-width:none;min-width:180px}.toolbar select{min-width:90px}.toolbar .button{font-size:11px;padding:10px}.app-footer{font-size:9px;padding-bottom:16px}.login-screen{display:flex;flex-direction:column;padding:30px 25px 40px;gap:25px;min-height:100dvh;justify-content:center}.login-story{align-self:stretch}.login-story>.brand{margin:0 0 32px}.login-intro h1{font-size:28px;line-height:1.5;margin:14px 0 0}.login-intro h1 br{display:none}.login-intro>.eyebrow{font-size:8px}.login-intro>p,.login-art,.login-foot{display:none}.login-panel{width:100%;max-width:420px;padding:30px 25px;border-radius:21px}.login-panel h2{font-size:24px;margin-top:23px}.login-panel form{margin-top:27px}.login-panel>.pill{font-size:10px}dialog{padding:23px 18px;border-radius:18px}.dialog-header h2{font-size:21px}.form-grid{gap:13px}.dialog-footer .button{font-size:11px;padding:10px 13px}.dialog-footer .ghost{padding:8px 1px}.toast{bottom:84px;width:max-content}.preview-actions{flex-wrap:wrap}.preview-summary{gap:6px}.import-intro .card-pad{padding:18px}.dropzone{padding:25px 15px;min-height:275px}.preview-table{min-width:650px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.transaction-icon.refund{background:#eeece6;color:#968e7c}.amount>span{display:block}.amount>small{display:block;margin-top:5px;font-size:9px;font-weight:400;color:#9c9e8c}.amount.muted-amount{color:#9b9f90}.refund-box{padding:15px;border:1px solid #dce5d4;border-radius:11px;background:#f0f4e9;margin:18px 0;display:grid;gap:12px}.refund-box p{line-height:1.8;margin:0}.refund-box select{min-width:0;max-width:100%;text-overflow:ellipsis}.import-status{margin:13px 0;color:#869377;line-height:1.8}#expense-refund-hint{color:#71865c}
.amount.zero-amount{color:#899183}.transaction-icon.zero-icon,.transaction-icon.bike-icon{background:#edf0e9;color:#8b9880}
.category-field{display:grid;gap:9px;min-width:0}.category-picker{position:relative}.category-picker>input{padding-right:40px}.category-picker>button{position:absolute;right:4px;top:4px;width:32px;height:32px;display:grid;place-items:center;border:0;background:transparent;border-radius:7px;color:#71865c}.category-picker>button svg{width:14px;height:14px;transform:rotate(90deg)}.category-picker>button[aria-expanded=true] svg{transform:rotate(-90deg)}.category-options{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:2;max-height:190px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #dce3d4;border-radius:10px;background:#fff;box-shadow:0 9px 25px #293b3418;padding:5px}.category-options>button{display:block;width:100%;border:0;background:transparent;border-radius:6px;padding:9px 10px;text-align:left;color:#485d3b;font-size:12px;white-space:normal;overflow-wrap:anywhere}.category-options>button:hover,.category-options>button.active{background:#edf3e6}.category-options>button[aria-selected=true]{font-weight:600}.category-empty{padding:10px;color:#8d9a81;font-size:11px;line-height:1.7}
.transaction-table .bike-group-row>td{padding:8px 0}.bike-group{border:1px solid #e2e9da;border-radius:12px;background:#f1f5eb70;overflow:hidden}
.bike-group>summary{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer;list-style:none;white-space:normal}.bike-group>summary::-webkit-details-marker{display:none}.bike-group>summary:focus-visible{outline:2px solid #94b88c;outline-offset:-3px;border-radius:11px}.bike-group>summary:hover{background:#eaf0e380}
.bike-group-label{flex:1;min-width:0}.bike-group-label strong{display:block;font-size:12px;color:#586b4c;font-weight:550;line-height:1.7}.bike-group-label small{display:block;font-size:10px;color:#95a08a;margin-top:3px;line-height:1.7}.bike-group>summary>.amount{flex-shrink:0}.bike-group-toggle{color:#879776;display:grid;place-items:center}.bike-group-toggle svg{width:16px;height:16px;transition:transform .15s}.bike-group[open] .bike-group-toggle svg{transform:rotate(90deg)}
.bike-group-entries{padding:4px 12px 10px;border-top:1px solid #dce5d480;background:#ffffff60}.bike-group-entries>p{font-size:10px;white-space:normal;line-height:1.8;color:#8d9a81;padding:12px 4px 15px}.bike-group-entries th{font-size:9px}.bike-group-entries td{padding-top:12px;padding-bottom:12px}#split-zero-note{font-size:10px;line-height:1.8;margin-top:10px}
@media(max-width:760px){.bike-group>summary{padding:12px 10px;gap:8px}.bike-group-label strong{font-size:11px}.bike-group-label small{font-size:9px}.bike-group>summary>.amount{font-size:10px}.bike-group-entries{padding:2px 7px 8px}.bike-group-entries .transaction-name strong,.bike-group-entries .transaction-name small{max-width:110px}.bike-group-entries .transaction-icon{width:24px;height:24px}.bike-group-entries .transaction-name{gap:6px}.bike-group-entries td,.bike-group-entries th{padding-left:5px;padding-right:5px}}
